KR100605902B1 - 통신시스템에서 제어버스 억세스 장치 및 방법 - Google Patents
통신시스템에서 제어버스 억세스 장치 및 방법 Download PDFInfo
- Publication number
- KR100605902B1 KR100605902B1 KR1019990056857A KR19990056857A KR100605902B1 KR 100605902 B1 KR100605902 B1 KR 100605902B1 KR 1019990056857 A KR1019990056857 A KR 1019990056857A KR 19990056857 A KR19990056857 A KR 19990056857A KR 100605902 B1 KR100605902 B1 KR 100605902B1
- Authority
- KR
- South Korea
- Prior art keywords
- control bus
- addresses
- address
- data
- upper processor
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명에 따른 통신시스템의 제어버스 억세스 방법이, 제어버스 제어기가, 등록되어 있는 특정 어드레스들에 대해 설정주기로 제어버스를 억세스하여 데이터를 수집저장해두는 과정과, 상위 프로세서 억세스시, 동시에 전달되는 어드레스가 상기 등록되어 있는 어드레스인지 검사하는 과정과, 상기 등록되어 있는 어드레스일시 상기 어드레스에 대응되어 상기 수집저장되어 있는 데이터를 리드하여 상기 상위 프로세서로 전달하는 과정으로 구성된 것을 특징으로 한다.
CD-BUS, ACCESS,DATA COLLECTION
Description
도 1은 종래기술에 따른 시스템에서 제어버스 억세스 장치를 도시하는 도면.
도 2는 도 1의 구성중 제어버스 제어기의 상세 구성을 도시하는 도면.
도 3은 본 발명에 따른 시스템에서 제어버스 제어기의 블록 구성을 도시하는 도면.
도 4는 본 발명에 따른 시스템에서 제어버스 제어기의 상세 구성을 도시하는 도면.
도 5a 및 도 5b는 본 발명에 따른 제어버스 제어기가 제어버스를 억세스하기 위한 제어 절차를 도시하는 도면.
본 발명은 통신시스템에 관한 것으로, 특히 제어버스(control bus) 억세스(access)장치 및 방법에 관한 것이다.
도 1은 종래기술에 따른 시스템에서 제어비스 억세스장치를 도시하고 있다.
상기 도 1를 참조하면, 기존의 CPU(101)가 CD-BUS(이하 제어버스라 칭함,103)상의 특정 어드레스를 억세스하면, 상기 제어버스 제어기(CD-Controller, 102)에 의해 상기 CPU(101)의 시그널(어드레스 및 데이터)를 상기 제어버스(103) 사양에 맞게 변환한 다음 구동부(drive)를 통해 전송하도록 하였다. 상기 제어버스 (103) 리드(read)시 상기 제어버스(103) 상에 연결된 디바이스(device)중 어드레스가 일치하는 디바이스가 응답을 한다. 여기서, 상기 제어비스 제어기(102)의 내부 구성은 도 2에 도시되어 있다. 상기 도 2에서, CPU입출력부(CPU I/F 201)은 상기 CPU와 시그널을 교환한다. 여기서 상기 시그널에는 어드레스 및 데이터 등이 있다. 변환부(CD-BUS Translation Controllerr, 202)는 상기 CPU입출력부(201)로에서 출력되는 신호를 상기 제어버스9103) 사양에 맞게 변환하여 상기 제어버스(103)으로 출력한다. 여기서 참조부호 104는 상위 프로세서로부터 제어를 받기 위해 어드레스, 데이터 및 제어신호로 구성된다. 또한, 참조부호 105는 CD-BUS I/F를 나타내는 것으로, 클럭 1 line, Data 4 line, FS(Frame Sync) 1 line으로 구성도니다.
그런데, 상기 제어버스(103)는 상기 CPU(101)의 버스보다 느리며, 응답이 오기 전까지는 상기 CPU에서 다른 일을 할수 없다. 특히, 상기 제어버스(103)에 있는 디바이스를 억세스하는 빈도가 잦은 시스템일 경우, 상기 CPU(101)의 성능 (performance)의 낭비를 초래한다. 예로서, 4MHz 제어버스를 사용하고, CPU의 속도가 100MHz일 때, 상기 제어버스에 연결된 디바이스의 8bit 레지스터(register)를 억세스할 경우, 4MHz 기준으로 8cyle이 소요되고 시간은 2uS가 소요된다. 이 시간 은 CPU입장에서 보면 200cycle을 소비하는 셈이다. 즉, 이러한 억세스가 많아지면 CPU의 상당한 성능을 제어버스를 억세스하는데 소비하게 되어 시스템의 성능을 저하시키는 문제점이 있다.
따라서 본 발명의 목적은 통신시스템에서 제어버스 억세스시, 특정 어드레스들에 대해서는 상기 제어버스 제어기가 직접 데이터 수집을 수행하는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 통신시스템의 제어버스 억세스 방법이, 제어버스 제어기가, 등록되어 있는 특정 어드레스들에 대해 설정주기로 제어버스를 억세스하여 데이터를 수집저장해두는 과정과, 상위 프로세서 억세스시, 동시에 전달되는 어드레스가 상기 등록되어 있는 어드레스인지 검사하는 과정과, 상기 등록되어 있는 어드레스일시 상기 어드레스에 대응되어 상기 수집저장되어 있는 데이터를 리드하여 상기 상위 프로세서로 전달하는 과정으로 구성된 것을 특징으로 한다.
이하 본 발명의 바람직한 실시예를 첨부된 도면의 참조와 함께 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 동일 부호를 가지도록 하였다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적 인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
본 발명은, 제어버스에 대해 특정한 어드레스들을 주기적으로 억세스하는 시스템에서, 상기 특정한 어드레스에 대해서는 상기 제어버스 제어기가 직접 수행하는 방안을 제안한다.
이를 위해, 상기 도 1과 같은 구성에서, 상기 제어버스 제어기(102)의 구성을 다르게 가져간다. 본 발명에 따른 상기 제어버스 제어기(102)의 구성이 첨부된 도면 도 3에 도시되어 있다.
상기 도 3을 참조하면, 기존에 없었던 캐쉬램(cache ram,304), 버스중재부(bus arbiter,102), 데이터수집부(data collector,305)가 추가되어 있다. 여기서 모든 구성은 FPGA 1 칩 또는 ASIC으로 구현할수 있다. CPU입출력부 (301)는 기존의 CPU입출력부의 구성에서, 자동갱신(AUTO UPDATE)과 자동갱신 주기를 설정할수 있는 레지스터를 추가한 로직(logic)으로 상위 CPU와 상기 제어버스 제어기 사이에 정합을 수행한다. 버버스중재부(102)는 데이터수집부(305), 상기 캐쉬램(304) 및 변환부(303) 사이의 우선순위를 정한다. 변환부(303)는 상기 상기 버스중재부(302)에서 출력되는 신호를 상기 제어버스9103) 사양에 맞게 변환하여 상기 제어버스(103)으로 출력한다. 상기 데이터수집부(305)는 상기 CPU에서 설정한 주기와 어드레스를 미리 수행하는 역할을 수행한다. 상기 캐쉬램(304)는 미리 수행된 어드레스의 내용을 저장한다.
상기 도 3의 구성에 근거한 동작을 살펴보면, 상기 CPU가 상기 제어버스 (103) 상의 디바이스중 주기적으로 억세스하는 어드레스들을 설정하고, 그 주기도 설정한다. 상기 상기 데이터수집부(305)는 상기 설정된 어드레스들을 억세스하여 상기 캐쉬램(304)에 저장한다. 이러한 작업을 상기 설정된 어드레스들에 대해 모두 수행하고, 아이들(idle) 상태에 있다가 상기 설정된 주기에 따라 시간이 되면 다시 같은 작업을 수행한다.
상기 버스중재부(302)는 상기 CPU, 상기 캐쉬램(304), 상기 데이터수집부 (305) 사이의 버스 중재역할을 수행한다. 상기 CPU에서 상기 제어버스(103)를 억세스하려고 할 때, 상기 버스중재부(302)는 상기 CPU에서 요구하는 어드레스가 상기 캐쉬램(304)에 있는 어드레스인지 검사한다. 만약, 상기 캐쉬램(304)에 있는 어드레스라면, 이미 상기 데이터수집부(305)가 상기 캐쉬램(304)에 가져다온 내용을 읽어 바로 상기 CPU에 전달한다. 이때, 상기 CPU와 상기 데이터수집부(305) 간에 상기 캐쉬램(304)을 동시에 억세스할수 있는데, 상기 버스중재부(302)는 상기 CPU에 우선순위를 준다. 이미 상기 데이터수집부(305)가 상기 캐쉬램(304)를 억세스중이면, 상기 수행이 끝난후 상기 CPU가 요구하는 데이터를 읽는다. 한편, 상기 CPU가 요구하는 어드레스가 상기 캐쉬램(304)에 존재하지 않으면, 상기 버스중재부(302)는 상기 CPU에서 전달된 어드레스를 상기 변환부(303)에 전달하고, 상기 변환부 (303)는 상기 전달받은 어드레스를 상기 제어버스(103) 상에 출력하고 응답을 받아 이를 상기 CPU에 전달한다.
상기 동작에 따른 상기 제어버스 제어기의 상세 구성이 도 4에 도시되어 있다. 상기 도 4를 참조하면, 상기 제어버스 제어기는, 비교기(COMPATOR,401), 제어 레지스터(CONTROLREGISTER,402), 다중화기(MUX,403), 캐쉬램 제어기(Cache RAM Controller,404), 캐쉬램(Cache RAM,405), 타이머(Timer,406), 제어상태머신 (Control State Machine,407)로 구성된다.
상기 도 4의 동작을 첨부된 도면 도 5a 및 도 5b를 참조하여 상세히 설명한다. 먼저, CPU 억세스시, 상기 제어버스 제어기(102)는 511단계에서 상기 제어레지스터(401)에 상기 억세스 정보(예를들어, 어드레스 정보)가 등록되어 있는지 검사한다. 이때, 상기 억세스 정보가 등록되어 있지 않을 시 상기 제어버스 제어기 (102)는 523단계로 진행하여 상기 억세스 정보에 해당하는 갱신작업(Read/write)을 수행한다. 한편, 상기 억세스 정보가 등록되어 있을시 상기 억세스가 라이트 억세스(write access)인지 검사한다. 이때, 상기 라이트 억세스일시 상기 제어버스 제어기(102)는 'A' 서브루틴(도 5b)을 수행하고, 상기 라이트 억세스가 아닐시 상기 제어버스 제어기(102)는 515단계로 진행하여 상기 제어레지스터(401)에 설정되어 있는 어드레스인지 검사한다. 이때, 상기 설정되어 있는 어드레스일시 517단계로 진행하고, 상기 설정되어 있는 어드레스가 아닐시 상기 제어버스 제어기(102)는 상기 'A' 서브루틴(도 5b)를 수행한다. 한편, 상기 제어버스 제어기(102)는 상기 517단계에서 현재 상기 캐쉬램(405)가 사용중인지 검사한다. 즉, 다른 디바이스에서 억세스중인지를 검사한다. 만일, 사용중이라면, 상기 캐쉬램을 억세스할수 있는 상태가 될 때까지 대기하다가, 억세스할수 있는 상태가 되었을 시 519단계로 진행한다. 그리고, 상기 제어버스 제어기(102)는 상기 어드레스에 대응되어 저장되어 있는 데이터를 리드하고, 521단계로 진행하여 상기 리드한 데이터를 상기 CPU에 전달 한다.
한편, 상기 513단계에서 상기 CPU로부터 전달된 억세스 정보가 쓰기 억세스이거나, 상기 515단계에서 상기 전달된 어드레스가 상기 제어레지스터(402)에 설정된 어드레스가 아니어서 수행되는 'A 서브루틴의 동작을 살펴보면, 우선, 상기 제어버스 제어기(102)는 525단계에서 상기 제어버스(103)이 사용중인가 검사한다. 이때, 상기 제어버스(103)이 사용중일 경우, 상기 제어버스 제어기(102)는 아이들 상태가 될 때까지 대기하다가, 상기 아이들 상태가 되었을 시 527단계로 진행한다. 그리고 상기 제어버스 제어기(102)ss 상기 527단계에서 상기 제어버스(103)으로 해당 어드레스를 전달하고, 529단계에서 상기 제어버스(103) 상의 디바이스로부터 응답을 대기한다. 이때, 해당 디바이스로부터 응답 수신시 상기 제어버스 제어기(102)는 531단계에서 라이트 억세스이면 종료하고, 상기 라이트 억세스가 아니면 상기 디바이스로부터 전달받은 데이터를 상기 CPU로 전달한다.
상술한 바와 같이 본 발명은 제어버스(CD-BUS)의 억세스가 특정한 어드레스들에 대해 주기적으로 수행되는 시스템에서, 해당되는 특정 어드레스들에 대해서는 CPU가 억세스하여 데이터를 얻지 않고, 상기 제어버스를 제어하는 제어기가 자체적으로 주기별로 상기 어드레스들을 억세스하여 데이터를 수집해두고, 상기 CPU의 억세스 요구가 있을시 상기 수집해둔 데이터를 전달한다. 따라서, CPU가 제어버스를 억세스하는데 과다하게 소요되는 시간을 줄임으로서 시스템 성능 향상을 꾀할수 있 다.
Claims (5)
- 상위 프로세서와,하위 디바이스들이 연결되어 있는 제어버스와,상기 상위 프로세서가 주기적으로 억세스하는 어드레스들을 등록해두고, 상기 어드레스들을 주기적으로 억세스하여 해당 데이터를 수집하며, 상기 상위 프로세서 요구에 의해 상기 수집해둔 데이터를 상기 상위프로세서로 전달하는 제어버스 제어기로 구성됨을 특징으로 하는 통신시스템의 제어버스 억세스 장치.
- 제1항에 있어서, 상기 제어버스 제어기는,상기 상위 프로세서와의 시그널 교환을 담당하는 CPU입출력부와,상기 어드레스 정보 및 상기 수집된 데이터 등을 저장하는 메모리와,상기 어드레스들에 대한 주기적인 데이터 수집을 수행하는 데이터수집부와,상기 제어버스 제어기에서 출력되는 신호를 제어버스 사양에 맞게 변환하는 변환부와,상기 데이터 수집부와 상기 상위 프로세서의 상기 메모리 억세스와 상기 변환부 사이에 우선순위를 부여하는 버스중재부를 포함함을 특징으로 하는 통신시스템의 제어버스 억세스 장치.
- 제1항 또는 제2항에 있어서,상기 제어버스 제어기가 특정 어드레스들에 대해 억세스하는 시간은 상기 상위 프로세서에서 설정한 시간보다 앞서는 것을 특징으로 하는 통신시스템의 제어버스 억세스 장치.
- 제어버스 제어기가, 등록되어 있는 특정 어드레스들에 대해 설정주기로 제어버스를 억세스하여 데이터를 수집저장하는 과정과,상위 프로세서 억세스시, 동시에 전달되는 어드레스가 상기 등록되어 있는 어드레스인지 검사하는 과정과,상기 등록되어 있는 어드레스일시 상기 어드레스에 대응되어 상기 수집저장되어 있는 데이터를 리드하여 상기 상위 프로세서로 전달하는 과정으로 구성된 것을 특징으로 하는 통신시스템의 제어버스 억세스 방법.
- 제4항에 있어서,상기 특정 어드레스들은 상기 상위 프로세서가 주기적으로 억세스해야만 되는 어드레스들임을 특징으로 하는 통신시스템의 제어버스 억세스 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990056857A KR100605902B1 (ko) | 1999-12-11 | 1999-12-11 | 통신시스템에서 제어버스 억세스 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990056857A KR100605902B1 (ko) | 1999-12-11 | 1999-12-11 | 통신시스템에서 제어버스 억세스 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010055611A KR20010055611A (ko) | 2001-07-04 |
KR100605902B1 true KR100605902B1 (ko) | 2006-08-01 |
Family
ID=19625146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990056857A KR100605902B1 (ko) | 1999-12-11 | 1999-12-11 | 통신시스템에서 제어버스 억세스 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100605902B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141287A (ja) * | 1993-09-20 | 1995-06-02 | Toshiba Corp | バス制御方式 |
KR0160128B1 (ko) * | 1989-09-11 | 1998-12-15 | 미다 가쓰시게 | 동적으로 버스제어를 실행하는 마이크로컴퓨터 및 그것을 이용한 데이터처리시스템 |
-
1999
- 1999-12-11 KR KR1019990056857A patent/KR100605902B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0160128B1 (ko) * | 1989-09-11 | 1998-12-15 | 미다 가쓰시게 | 동적으로 버스제어를 실행하는 마이크로컴퓨터 및 그것을 이용한 데이터처리시스템 |
JPH07141287A (ja) * | 1993-09-20 | 1995-06-02 | Toshiba Corp | バス制御方式 |
Also Published As
Publication number | Publication date |
---|---|
KR20010055611A (ko) | 2001-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2619540C1 (ru) | Преобразователь протоколов между шиной cpci и шиной isa и соответствующий ему способ преобразования | |
US7263572B2 (en) | Bus bridge and data transfer method | |
US20040107265A1 (en) | Shared memory data transfer apparatus | |
US7581054B2 (en) | Data processing system | |
EP0917063A2 (en) | Data processing system and microprocessor | |
CN1570907B (zh) | 多处理器系统 | |
CN105095254B (zh) | 一种实现数据一致性的方法及装置 | |
CN101510185A (zh) | 一种高速总线向低速总线写入、读取数据的方法和装置 | |
EP1708091A1 (en) | Dedicated DMA-memory bus for an AMBA system | |
US5067075A (en) | Method of direct memory access control | |
Ahmed et al. | Design and implementation of a direct memory access controller for embedded applications | |
US6549964B1 (en) | Delayed transaction method and device used in a PCI system | |
CN109597651B (zh) | 一种基于mpc7410处理器的串口和网口模块开发方法 | |
CN113760792B (zh) | 基于fpga的图像存取的axi4总线控制电路及其数据传输方法 | |
KR20010062770A (ko) | 데이터 전송 장치 | |
US6742142B2 (en) | Emulator, a data processing system including an emulator, and method of emulation for testing a system | |
JP4097883B2 (ja) | データ転送装置および方法 | |
US8301820B2 (en) | Direct memory access for advanced high speed bus | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
KR100605902B1 (ko) | 통신시스템에서 제어버스 억세스 장치 및 방법 | |
JP2011070372A (ja) | Dma転送制御装置 | |
KR920010977B1 (ko) | 개선된 성능의 메모리 버스 아키텍쳐(memory bus architecture) | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
CN114641764A (zh) | 总线系统及操作总线系统的方法 | |
EA039007B1 (ru) | Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |