KR0170742B1 - Data transfer method using mbus - Google Patents
Data transfer method using mbus Download PDFInfo
- Publication number
- KR0170742B1 KR0170742B1 KR1019960007373A KR19960007373A KR0170742B1 KR 0170742 B1 KR0170742 B1 KR 0170742B1 KR 1019960007373 A KR1019960007373 A KR 1019960007373A KR 19960007373 A KR19960007373 A KR 19960007373A KR 0170742 B1 KR0170742 B1 KR 0170742B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- cycle
- data
- mode
- data transmission
- Prior art date
Links
Classifications
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Abstract
본 발명은 중형컴퓨터 시스템의 시스템 버스와 상기 중형컴퓨터의 로칼버스로 사용되는 엠버스를 인터페이스하는 엠버스를 이용한 데이터 전송 방법에 관한 것으로서, 공유메모리로부터 로컬메모리로 블럭단위로 데이터를 읽는 블럭읽기 사이클, 로컬메모리로부터 공유메모리로 블럭 단위로 데이터를 쓰는 블럭쓰기 사이클을 구분하는 단계; 엠버스에 대한 버스사용권을 요구하고, 버스사용권을 중재받는 단계; 버스사용권 획득후 버스 사용중임을 표시하고 버스를 사용하는 단계; 데이터전소을 할 것인지(데이터전송모드), 재전송을 할 것인지(재전송 모드), 에러로 처리할 것인지(에러모드)를 결정하는 모드결정단계; 및 데이터전송모드이면 블럭단위로 데이터를 전송하고 전송사이클을 끝내며, 재전송모드이면 블럭단위로 데이터를 다시 전송하고, 에러모드이면 전송사이클을 끝내는 단계를 포함한다.The present invention relates to a data transfer method using an embus interface between a system bus of a medium computer system and an ambus used as a local bus of the medium computer. The present invention relates to a block read cycle of reading data in units of blocks from a shared memory to a local memory. Dividing a block write cycle of writing data in units of blocks from local memory to shared memory; Requesting a bus license for the embus and arbitrating the bus license; Indicating that the bus is busy after using the bus license and using the bus; A mode determination step of determining whether to perform data burning (data transmission mode), retransmission (retransmission mode), or process as an error (error mode); And transmitting data in block units in the data transmission mode and ending the transmission cycle, retransmitting data in block units in the retransmission mode, and ending the transmission cycle in the error mode.
본 발명에 의하면 마스터와 슬레이브 기능을 위해 읽기 및 쓰기 상태머신을 하나로 통합함으로써 주변로직이 제거되어 로직이 간단하고 ASIC으로 RGUS시 전력소모가 작고 비용을 줄일 수 있다.According to the present invention, the logic of the peripheral is eliminated by integrating read and write state machines into one for the master and slave functions, so that the logic is simple and the ASIC can reduce power consumption and reduce cost.
Description
제1도는 마스터 기능시 종래의 블럭모드 MBUS 읽기의 상태머신을 도시한 것이다.1 shows a state machine of a conventional block mode MBUS read in master function.
제2도는 마스터 기능시 종래의 블럭모드 MBUS 쓰기의 상태머신을 도시한 것이다.2 shows a state machine of a conventional block mode MBUS write in the master function.
제3도는 슬레이브 기능시 종래의 단일모드 MBUS 읽기의 상태머신을 도시한 것이다.3 shows a state machine of conventional single mode MBUS read in slave function.
제4도는 슬레이브 기능시 종래의 단일모드 MBUS 쓰기의 상태머신을 도시한 것이다.4 shows a state machine of a conventional single mode MBUS write in slave function.
제5도는 종래의 슬레이브 읽기 및 쓰기의 상태머신을 도시한 것이다.5 shows a state machine of a conventional slave read and write.
제6도는 버스를 기반으로 하고 공유메모리 구조를 갖는 중형컴퓨터 시스템의 입출력모듈에서 로컬버스로 사용되는 MBUS와 시스템 버스와의 인터페이스 장치의 구성도를 도시한 것이다.6 is a block diagram of an interface device between an MBUS and a system bus that is used as a local bus in an input / output module of a medium computer system having a bus and having a shared memory structure.
제7도는 블럭모드 읽기/쓰기 동작을 위한 마스터 MBUS 상태머신도를 도시한 것이다.7 shows a master MBUS state diagram for block mode read / write operations.
제8도는 단일모드 읽기/스기 및 슬레이브 읽기/쓰기 동작을 위한 슬레이브 MBUS 상태머신도를 도시한 것이다.8 illustrates a slave MBUS state machine diagram for single mode read / write and slave read / write operations.
본 발명은 버스 인터페이스에 관한 것으로서, 특히 중형컴퓨터 시스템의 시스템 버스와 상기 중형컴퓨터의 로칼버스로 사용되는 엠버스를 인터페이스하는 엠버스를 이용한 데이터 전송 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bus interface, and more particularly, to a data transmission method using an embus for interfacing a system bus of a medium computer system and an ambus used as a local bus of the medium computer.
엠버스(이하 MBUS라 함)는 선(SUN) 마이크로시스템사(미국 컴퓨터 회사명)에서 개발하여 사용하고 있는 버스로서, 동기(synchronous) 버스이며 어드레스 및 데이터가 멀티플렉싱(multiplexing)되어 있고, 36비트의 어드레스를 사용함으로써 64기가바이트(64GB)를 어드레싱할 수 있다. 그리고 64비트의 데이터 버스를 가지고 단일전송은 물론 128바이트까지 블럭(block) 전송을 지원하며 320MB/sec의 대역폭(bandwidth)를 가진다.Embus (hereinafter referred to as MBUS) is a bus developed and used by SUN Microsystems (the name of a US computer company). It is a synchronous bus with multiple addresses and data multiplexed and 36 bits. By using an address of 64 gigabytes (64 GB) can be addressed. It has a 64-bit data bus and supports up to 128 bytes of block transfer as well as a single transfer and has a bandwidth of 320MB / sec.
일반적으로 MBUS 인터페이스 장치는 마스터/슬레이브(master/slave) 기능을 가지며, 상기 마스터 기능으로는 블럭모드(block mode) 읽기, 블럭모드 쓰기가 읽고, 상기 슬레이브 기능으로는 단일모드(single mode) 읽기, 단일모드 쓰기, 슬레이브 읽기, 슬레이브 쓰기 기능이 있다.In general, the MBUS interface device has a master / slave function, and the master function reads block mode and block mode write, and the slave function reads single mode, Single mode write, slave read and slave write functions are available.
종래의 마스터/슬레이브 기능을 가진 MBUS 인터페이스 방법 및 장치에 있어서는 마스터 MBUS 기능의 블럭모드를 읽기 및 쓰기 상태머신(state machine)으로 분리하여 사용하였다. 제1도는 마스터 기능시 종래의 블럭모드 MBUS 읽기의 상태머신을 도시한 것이고, 제2도는 마스터 기능시 종래의 블럭모드 MBUS 쓰기의 상태머신을 도시한 것이다.In the conventional MBUS interface method and apparatus having a master / slave function, the block mode of the master MBUS function is divided into read and write state machines. FIG. 1 shows a state machine of conventional block mode MBUS read in master function, and FIG. 2 shows a state machine of conventional block mode MBUS write in master function.
제1도에서 상태 Idle(100)은 상태머신이 초기화 되고 난 후의 상태로서 읽기(read) 상태머신의 동작 대기상태이다. 그리고 상태 Addr(110)는 블럭읽기 사이클을 시작할 때 어드레스를 래치하는 상태이며, 32바이트 읽기이면 상태 R3(120)로 가고, 16바이트이면 상태 R1(140)으로 가고, 8바이트이면 상태 R0(150)로 천이한다. 그리고 상태 Rr(160)은 상기 상태 R3(120), R2(130), R1(140), R0(150)에서 재전송 요구시 재전송을 수행하는 상태이다. 그리고 상태 Err(170)은 상기 상태 R3(120), R2(130), R1(140), R0(150)에서 에러 발생시 에러를 처리하는 상태이다.In FIG. 1, the state Idle 100 is a state after the state machine is initialized, and is a standby state of the read state machine. State Addr 110 then latches the address at the beginning of the block read cycle, goes to state R3 120 for 32 byte reads, goes to state R1 140 for 16 bytes, and states R0 150 for 8 bytes. Transition to). The state Rr 160 is a state in which the retransmission is requested when the retransmission request is performed in the states R3 120, R2 130, R1 140, and R0 150. The state Err 170 is a state in which an error is processed when an error occurs in the states R3 120, R2 130, R1 140, and R0 150.
마찬가지로 제2도에서 상태 Idle(200)은 상태머신이 초기화되고 난 후의 상태로서 쓰기(write) 상태머신의 동작 대기상태이다. 그리고 상태 Addr(210)는 블럭쓰기 사이클을 시작할 때 어드레스를 래치하는 상태이며, 32바이트 쓰기이면 상태 W3(220)로 가고, 16바이트이면 상태 W1(240)으로 가고, 8바이트이면 상태 W0(250)로 천이한다. 그리고 상태 Rr(260)은 상기 상태 W3(120), W2(130), W1(140), W0(150)에서 재전송 요구시 재전송을 수행하는 상태이다. 그리고 상태 Err(170)은 상기 상태 W3(120), W2(130), W1(140), W0(150)에서 에러 발생시 에러를 처리하는 상태이다.Similarly, in FIG. 2, the state Idle 200 is a state after the state machine is initialized and is a standby state for the operation of the write state machine. The state Addr 210 latches the address at the beginning of the block write cycle, goes to state W3 220 for 32 byte writes, goes to state W1 240 for 16 bytes, and states W0 250 for 8 bytes. Transition to). The state Rr 260 is a state in which the retransmission is performed when the retransmission request is performed in the states W3 120, W2 130, W1 140, and W0 150. The state Err 170 is a state in which an error is processed when an error occurs in the states W3 120, W2 130, W1 140, and W0 150.
상기 읽기 및 스기 상태머신에서 전송이 제대로 이루어지면 R0(150)단계 또는 W0(250)단계로 가서 상기 Idle(100,200)단계로 감으로 데이터 읽기 및 쓰기의 한 사이클이 끝난다. 그리고 상기 MBUS는 동기 버스이므로 동기버스에서 사용하는 버스 클럭에 동기되어 각 상태 천이가 일어난다.If the transmission is properly performed in the read and sweep state machine, the process goes to the R0 (150) step or the W0 (250) step and goes to the Idle (100, 200) step, where one cycle of data reading and writing is completed. Since the MBUS is a synchronous bus, each state transition occurs in synchronization with a bus clock used in the synchronous bus.
한편 종래의 슬레이브 기능을 가진 MBUS 인터페이스 장치는 슬레이브 MBUS 기능을 위해 단일모드 읽기 및 쓰기 상태머신으로 분리하여 사용하였다. 제3도는 슬레이브 기능시 종래의 단일모드 MBUS 읽기의 상태머신을 도시한 것이고, 제4도는 슬레이브 기능시 종래의 단일모드 MBUS 쓰기의 상태머신을 도시한 것이다. 그리고 제5도는 종래의 슬레이브 읽기 및 쓰기의 상태머신을 도시한 것이다.Meanwhile, the conventional MBUS interface device having a slave function is used separately as a single mode read and write state machine for the slave MBUS function. 3 shows a state machine of conventional single mode MBUS read in slave function, and FIG. 4 shows a state machine of conventional single mode MBUS write in slave function. 5 shows a state machine of a conventional slave read and write.
제3도, 제4도 및 제5도에서 상태 Idle(300,400,500)은 상태머신이 초기화 되고 난 후의 상태로서 상태머신의 동작 대기상태이다. 그리고 MBUS 타임아웃(timeout)은 전송중 발생한 에러신호(MERR_)와 재시도 신호(MRTY_)가 계속해서 인에이블(enable)되어 있고, 전송 준비신호(MRDY_)가 디스에이블(disable)되어 있을 때 발생되며, RR은 데이터의 재전송을 요구하는 신호이다. 그리고 상태 R은 읽기를 수행하는 상태이며, 상태 W는 쓰기를 수행하는 상태이다. 또한 상태 R/R은 재시도를 수행하는 상태이며, 상태는 Addr는 읽기 또는 쓰기를 수행하기 위해 어드레스를 래치하는 상태이다.In FIGS. 3, 4, and 5, the states Idle 300, 400, and 500 are states after the state machine is initialized and are in standby state for operation of the state machine. The MBUS timeout occurs when the error signal MERR_ and the retry signal MRTY_ that are generated during transmission are continuously enabled and the transmission ready signal MRDY_ is disabled. RR is a signal for requesting retransmission of data. State R is a state for performing a read, and state W is a state for performing a write. In addition, the state R / R is a state of retrying, and the state is a state in which Addr latches an address to perform a read or write.
상기와 같이 마스터 기능을 위해 블럭읽기 및 블럭쓰기 상태머신을 분리하여 구현하고, 또한 슬레이브 기능을 위해 단일모드 읽기/쓰기 및 슬레이브 읽기/쓰기 기능을 위해 각각 상태머신을 분리하여 구현함으로 인해, 주변로직이 복잡해지고, 특히 주문형 반도체 장치(ASIC)로 구현시 칩 크기가 커지고, 전력소모가 많으며 비용이 많이 드는 문제점이 있다.As above, the block read and block write state machines are separately implemented for the master function, and the single state read / write and slave read / write functions are separately implemented for the slave function. This complexity, especially when implemented as an application specific semiconductor device (ASIC) has a problem that the chip size, the power consumption is expensive and expensive.
따라서 본 발명은 상술한 문제점을 해결하기 위해 창출된 것으로서, 주변로직을 간단히 하고 주문형 반도체 장치로 구현할 때 전력소모를 작게 요구하며 데이터 처리속도를 향상시키기 위해, 마스터와 슬레이브 기능을 위해 읽기 및 쓰기 상태머신을 하나로 통합하는, 중형컴퓨터 시스템의 시스템 버스와 상기 중형컴퓨터의 로칼버스로 사용되는 엠버스를 인터페이스하는 엠버스를 이용한 데이터 전송 방법을 제공함에 그 목적이 있다.Therefore, the present invention was created to solve the above-described problems, and the read and write states for the master and slave functions to simplify the peripheral logic, to require a small power consumption when implementing the custom semiconductor device and to improve the data processing speed It is an object of the present invention to provide a data transmission method using an embus interface between a system bus of a medium computer system and an ambus used as a local bus of the medium computer.
상기의 목적을 달성하기 위한 본 발명에 따른, 버스를 기반으로 하고 공유메모리 구조를 가지며, 선마이크로 시스템사(미국의 컴퓨터회사명)의 엠버스를 입출력모듈의 로컬버스로 사용하는 중형컴퓨터 시스템에서 상기 로컬버스를 사용하여 시스템버스로부터 로컬메모리로 또는 로컬메모리로부터 시스템버스로 소정의 블럭단위로 데이터를 전송하는 방법은 상기 공유메모리로부터 시스템버스를 통해 로컬메모리로 소정 블럭단위로 데이터를 읽어 들이는 블럭읽기 사이클, 로컬메모리로부터 시스템버스를 통해 상기 공유메모리로 소정 블럭단위로 데이터를 쓰는 블럭쓰기 사이클을 구분하는 단계; 상기 엠버스에 대한 버스사용권을 요구하고, 상기 버스사용권을 중재받는 단계; 상기 버스사용권을 획득하면 버스를 사용하고 있음을 표시하고 버스를 사용하는 단계; 엠버스에서 제공하는 데이터전송을 제어하는 신호들을 체크하여 데이터전송을 할 것인지(데이터전송모드), 재전송을 할 것인지(재전송 모드), 에러로 처리할 것이지(에러모드)를 결정하는 모드결정단계; 및 상기 모드결정단계에서 데이터전송모드이면 상기 소정의 블럭단위로 데이터를 전송하고 전송사이클을 끝내며, 재전송모드이면 다시 소정의 블럭단위로 데이터를 전송하고, 에러모드이면 바로 전송사이클을 끝내는 단계를 포함하여 이루어진다.In the medium computer system according to the present invention for achieving the above object, has a bus-based, shared memory structure, using the M bus of Sun Microsystems (US company name) as a local bus of the input / output module In the method of transferring data in a predetermined block unit from a system bus to a local memory or a local memory to a system bus using the local bus, the data is read in a predetermined block unit from the shared memory to the local memory through the system bus. Dividing a block read cycle and a block write cycle of writing data in a predetermined block unit from the local memory to the shared memory through a system bus; Requesting a bus license for the embus and arbitrating the bus license; Indicating that the bus is in use and using the bus when the bus license is obtained; A mode determination step of determining whether to transmit data (data transmission mode), retransmission (retransmission mode), or process as an error (error mode) by checking signals for controlling data transmission provided by Embus; And transmitting data in the predetermined block unit in the data transmission mode and ending the transmission cycle in the mode determination step, transmitting data in a predetermined block unit again in the retransmission mode, and immediately ending the transmission cycle in the error mode. It is done by
상기의 목적을 달성하기 위한 본 발명에 따른, 버스를 기반으로 하고 공유메모리 구조를 가지며, 선마이크로 시스템사(미국의 컴퓨터회사명)의 엠버스를 이출력모듈의 로컬버스로 사용하는 중형컴퓨터 시스템에서 상기 입출력모듈의 중앙처리장치(CPU)가 상기 로컬버스를 사용하여 시스템버스로부터 또는 시스템버스로 데이터를 억세스하거나(단일모드 사이클), 상기 입출력모듈의 내부 레지스터를 억세스하는(슬레이브 사이클) 방법은 상기 중앙처리장치가 상기 단일모드 사이클을 시작할 것인지 상기 슬레이브 사이클을 시작할 것인지 결정한 후, 엠버스를 사용하고 있음을 표시하는 단계; 상기 단일모드 사이클일 경우에는 단일모드 읽기 또는 단일모드 쓰기를 진행하고, 시스템버스의 상태 및 엠버스 상태를 확인하여 사이클이 정상적이면 응답신호를 확인한 후 사이클을 종료하고, 에러가 발생하면 재전송을 시도하는 단계; 및 상기 슬레이브 사이클일 경우에는 상기 레지스터에 대해 데이터 쓰기 또는 읽기를 수행하고, 응답신호를 확인한 후 사이클을 종료하는 단계를 포함하여 이루어진다.According to the present invention for achieving the above object, a medium-based computer system based on a bus and having a shared memory structure, and using an Embus of Sun Microsystems (US company name) as a local bus of this output module. The central processing unit (CPU) of the I / O module using the local bus to access data from the system bus or to the system bus (single mode cycle), or to access the internal register of the I / O module (slave cycle) After the CPU determines whether to start the single mode cycle or the slave cycle, indicating that an ambus is in use; In the case of the single mode cycle, single mode read or single mode write is performed, and if the cycle is normal by checking the state of the system bus and the embus, if the cycle is normal, the cycle is terminated and an error occurs and retransmission is attempted. Doing; And in the case of the slave cycle, writing or reading data to the register, checking a response signal, and ending the cycle.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명한다. 제6도는 버스를 기반으로 하고 공유메모리 구조를 갖는 중형컴퓨터 시스템의 입출력모듈에서 로컬버스로 사용되는 MBUS와 시스템 버스와의 인터페이스 장치의 구성도를 도시한 것으로서, MBUS와 시스템버스의 인터페이스 장치인 MSI(600)는 MBUS 인터페이스장치(610)와 두개의 시스템버스 데이터버퍼인 SDX(650,660)로 구성된다. 그리고 상기 MBUS 인터페이스장치(610)는 마스터/슬레이브 MBUS 상태머신(620), DMA 상태머신(640), 복수의 레지스터로 구성된 MBIX(630)로 구성되어 있다. 상기 마스터/슬레이브 MBUS 상태머신(620)은 시스템버스와 MBUS의 인터페이스를 담당하며, 마스터 MBUS 상태머신(670)과 슬레이브 MBUS 상태머신(680)으로 구성된다. 상기 DMA 상태머신(640)은 DMA 동작을 담당하며, MBIX(630)는 DMA 전송을 위해 입출력모듈의 중앙처리장치 또는 DMA 제어기가 DMA에 관한 정보를 기록하는 하나 이상의 레지스터가 들어 있다. 그리고 상기 SDX(650,660)는 데이터 버퍼인 선입선출(FIFO) 메모리가 들어 있어 64비트으 데이터를 처리할 수 있으며, SDX 2개를 사용하여 시스템 버스에 맞는 128비트의 데이터 전송을 할 수 있다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. FIG. 6 is a block diagram of an interface device between an MBUS and a system bus that is used as a local bus in an I / O module of a medium computer system having a bus-based and shared memory structure. 600 is composed of an MBUS interface device 610 and two system bus data buffers SDX (650, 660). The MBUS interface device 610 is composed of a master / slave MBUS state machine 620, a DMA state machine 640, and a MBIX 630 composed of a plurality of registers. The master / slave MBUS state machine 620 is responsible for the interface between the system bus and the MBUS, and is composed of a master MBUS state machine 670 and a slave MBUS state machine 680. The DMA state machine 640 is responsible for DMA operation, and the MBIX 630 includes one or more registers in which the central processing unit of the input / output module or the DMA controller records information about the DMA for DMA transfer. The SDX 650 and 660 contain a first-in, first-out (FIFO) memory, which is a data buffer, to process data in 64-bits, and to transfer data of 128 bits to a system bus using two SDXs.
본 발명의 핵심은 상기 마스터 MBUS 상태머신(670)과 슬레이브 MBUS 상태머신(680)에 관한 것이다. 상기 마스터 MBUS 상태머신(670)은 MBUS 인터페이스 장치(610)가 마스터 역할을 할 때 동작하는 것으로서, 입출력모듈의 로컬메모리(도시되지 않음)와 시스템버스에 연결된 공유메모리(도시되지 않음)간에 데이터를 전송할 때(이를 블럭모드 읽기/쓰기라 함), 마스터가 되어 각 전송 단계를 제어하는 역할을 한다. 통상적으로 상기 데이터 전송은 직접메모리접근(DMA) 전송이 되며 블럭전송으로 전송이 이루어진다.The core of the present invention relates to the master MBUS state machine 670 and the slave MBUS state machine 680. The master MBUS state machine 670 operates when the MBUS interface device 610 acts as a master and transfers data between a local memory (not shown) of an input / output module and a shared memory (not shown) connected to a system bus. When transferring (this is called block mode read / write), it becomes a master and controls each transfer step. Typically, the data transfer is a direct memory access (DMA) transfer and a block transfer.
그리고 상기 슬레이브 MBUS 상태머신(680)은 입출력모듈의 중앙처리장치(도시되지 않음)가 입출력모듈의 로컬 메모리(도시되지 않음)의 데이터를 공유메모리로 전송하거나 그 반대로 데이터를 전송할 때(이를 단일모드 읽기/Tm기라 함), 슬레이브가 되어 각 전송 단계를 제어한다. 또한 입출력모듈의 중앙처리장치가 집적메모리접근 전송등을 위해 상기 MBIX(630)내의 레지스터를 접근(access)할때(이를 슬레이브 읽기/쓰기라 함), 슬레이브가 되어 이에 대한 제어를 담당한다.In addition, the slave MBUS state machine 680 transmits the data of the local memory (not shown) of the input / output module to the shared memory or vice versa when the central processing unit (not shown) of the input / output module transmits the data. Read / Tm) and become slaves to control each transfer step. In addition, when the central processing unit of the input / output module accesses the registers in the MBIX 630 for the integrated memory access transmission and the like (hereinafter referred to as slave read / write), it becomes a slave and controls the control.
제7도 및 제8도를 참조하여 상기 마스터 MBUS 상태머신(670)과 슬레이브 MBUS 상태머신(680)의 동작을 설명하기로 한다. 제7도는 블럭모드 읽기/쓰기 동작을 위한 마스터 MBUS 상태머신도를 도시한 것으로서, 상기 상태머신은 IDL(700), MBREQ(710), MBADR(720), BLKDO(730), BLKD(740), BLKRDY(750), ERROR(760), END(770) 상태로 구성된다. 먼저 블럭사이클은 MBUS 상태머신을 이용하여 블럭단위(64바이트)로 MBUS 상에서 시스템 버스로 데이터를 주고 받는 것을 말한다. 블럭 읽기, 쓰기 구분은 DMA 상태머신(640)의 dir 신호를 두어 dir=1이면 쓰기, dir=0이면 읽기로 구분한다.An operation of the master MBUS state machine 670 and the slave MBUS state machine 680 will be described with reference to FIGS. 7 and 8. 7 shows a master MBUS state diagram for a block mode read / write operation. The state machine includes IDL 700, MBREQ 710, MBADR 720, BLKDO 730, BLKD 740, It consists of BLKRDY 750, ERROR 760, and END 770 states. First of all, the block cycle refers to the transfer of data to and from the system bus on the MBUS in block units (64 bytes) using the MBUS state machine. Block reading and writing are classified into a dir signal of the DMA state machine 640 so that dir = 1 is a write and dir = 0 is a read.
상기 IDL(700) 상태는 블럭 사이클을 시작하기 위하여 MBUS를 요구하는 신호(MBR_)를 인에이블시키고 MBREQ(710) 상태로 천이한다. 상기 MBR_ 신호가 인에이블되지 않으면 계속 IDL(700) 상태에 있게 된다.The IDL 700 state enables the signal MBR_, which requires MBUS to start a block cycle, and transitions to the MBREQ 710 state. If the MBR_ signal is not enabled, it remains in IDL 700 state.
MBREQ(710)상태는 MBUS의 사용을 허락하는 신호(MBG_)를 인에이블시켜 마스터가 MBUS를 사용권을 획득한 것을 알려주고 MBADR(720)상태로 천이한다.The MBREQ 710 state enables the signal MBG_ to allow the use of the MBUS, indicating that the master has obtained the right to use the MBUS and transitioning to the MBADR 720 state.
MBADR(720)상태는 MBUS가 유효함을 나타내는 신호(MAS_)와 MBUS가 사용중 임을 나타내는 신호(MBB_)를 인에이블하여 버스 사이클 시작을 알리고, 상기 MBR_ 신호를 디스에이블한다. 그리고 표 1에 도시된 바와 같이 데이터 전송준비완료를 나타내는 신호(MRDY_), 데이터를 재전송을 요구하는 신호(MRTY_), 데이터 전송 에러를 나타내는 신호(MERR_)의 상태를 체크하여, ERROR(760)상태로 갈 것인지, BLKD(740) 상태로 갈것인지 아니면 BLKDO(730)상태에 있을 것인지 결정한다.The MBADR 720 state signals the start of a bus cycle by enabling a signal MAS_ indicating that MBUS is valid and a signal MBB_ indicating that MBUS is in use, and disabling the MBR_ signal. As shown in Table 1, the state of the signal MRDY_ indicating completion of data transmission preparation, the signal MRTY_ requesting retransmission of data, and the signal MERR_ indicating data transmission error are checked, and the ERROR 760 state is checked. Determine whether to go to, go to BLKD 740 state or to be in BLKDO 730 state.
BLKD(740)상태는 3비트의 카운터를 사용하여 데이터를 16바이트씩 네번 전송하고 카운터가 제대로 동작하면 BLKRDY(750)상태로 천이하고, 카운터가 제대로 동작되지 않으면 BLKD(740) 상태에 계속 있게 된다.The BLKD 740 transfers data four times by 16 bytes using a 3-bit counter. If the counter works properly, the BLKD 740 transitions to the BLKRDY 750 state. If the counter does not work properly, the BLKD 740 stays in the BLKD 740 state. .
ERROR(760)상태에서는 버스사이클을 수행하다가 BLKDO(730)상태에서 에러를 발생하였을때 END(770)상태로 돌아간다.In the ERROR (760) state, the bus cycle is executed, and when an error occurs in the BLKDO (730) state, the signal returns to the END (770) state.
END(770)상태에서는 MBUS 사이클을 끝내고 모든 신호를 니게이트하고 난 후, IDL(700) 상태로 돌아간다.In the END 770 state, the MBUS cycle ends and all signals are negated before returning to the IDL 700 state.
제8도는 단일모드 읽기/쓰기 및 슬레이브 읽기/쓰기 동작을 위한 슬레이브 MBUS 상태머신도를 도시한 것으로서, 상기 상태머신은 IDLE(800), SLV(810), NORM(820), NORMRDY(830) 상태로 구성된다.8 shows a slave MBUS state diagram for single mode read / write and slave read / write operations, wherein the state machine is in the state of IDLE 800, SLV 810, NORM 820, NORMRDY 830. It consists of.
단일모드 사이클은 입출력모듈의 중앙처리장치가 직접 시스템 버스상에서 8바이트의 데이터를 억세스하고자 할 때 사용된다. 그리고 슬레이브 사이클은 상기 MBIX(640)의 내부 레지스터를 접근할 수 있으며 데이터 크기를 32비트로 억세스한다.Single-mode cycles are used when the I / O module's CPU wants to access 8 bytes of data directly on the system bus. The slave cycle can access the internal registers of the MBIX 640 and access the data size in 32 bits.
상기 IDLE(800)상태는 MBUS 인터페이스 장치(610)가 슬레이브 기능을 하기 위하여 슬레이브 사이클을 시작하는 slvCyl_신호과 단일모드 사이클을 시작하는 normalGo_신호를 두고 상기 신호의 상태를 보독 단일모드 사이클을 수행할 것인가 슬레이브 사이클을 수행할 것인가를 결정한다. 만일 normalGo_신호가 어써트되어 단일모드 사이클을 수행하면 NORM(820)상태로 천이하면서 MBUS가 유효함을 나타내는 신호(mas_)를 인에이블시킨다. 그리고 만일 slvCyl_신호가 인에이블되어 슬레이브 사이클이 시작되면 SLV(810)상태로 천이하면서, MBUS가 유효함을 나타내는 신호(mas_)를 인에이블시킨다.The IDLE 800 states that the MBUS interface device 610 performs a single mode cycle by reading the state of the signal with the slvCyl_ signal starting the slave cycle and the normalGo_ signal starting the single mode cycle in order to function as a slave. Decide whether to perform slave cycle. If the normalGo_ signal is asserted to perform a single mode cycle, it transitions to the NORM 820 state and enables a signal mas_ indicating that MBUS is valid. If the slvCyl_ signal is enabled and the slave cycle starts, the signal transitions to the SLV 810 state and enables the signal mas_ indicating that the MBUS is valid.
SLV(81)상태는 슬레이브 사이클을 수행하며, 읽기와 쓰기를 구별하는 정보를 가지고 있는 신호(mden)을 보고, 즉 mden=1이면 쓰기 동작을 수행하고 mden=0이면 읽기 동작을 수행하고, MBUS 사용에 대한 응답신호(M MRDY_)를 확인한 후 상기 IDLE(800)상태로 간다.The SLV (81) state performs a slave cycle, sees a signal (mden) that has information distinguishing between read and write, that is, write operation is performed if mden = 1, read operation is performed if mden = 0, and MBUS After checking the response signal (M MRDY_) for use, it goes to the IDLE (800) state.
한편 NORM(820)상태는 단일모드 사이클을 수행하며, 단일모드 읽기/쓰기 정보를 나타내는 신호(dir_)을 체크하여, dir=0이면 읽기, dir=1이면 쓰기 동작을 진행하고 시스템버스의 상태 및 MBUS 상태를 확인하여 사이클이 정상적이면 NORMRDY(830)상태로 천이하고 에러가 발생하면 IDLE(800)상태로 천이하여 재전송을 한다.On the other hand, the NORM (820) state performs a single mode cycle, checks a signal (dir_) indicating single mode read / write information, proceeds with a read operation if dir = 0, a write operation if dir = 1, and a status of the system bus. If the cycle is normal by checking the MBUS state, the state transitions to the NORMRDY 830 state, and if an error occurs, the state transitions to the IDLE 800 state and retransmits.
그리고 NORMRDY(830)상태는 버스응답신호(MRDY_)를 확인하고 난 후 사이클을 종료시키고, IDLE(800)상태로 천이한다.The NORMRDY 830 state ends the cycle after confirming the bus response signal MRDY_ and transitions to the IDLE 800 state.
상술한 바와 같이 본 발명에 의하면, 마스터와 슬레이브 기능을 위해 읽기 및 쓰기 상태머신을 하나로 통합함으로써 주변로직이 제거되어 로직이 간단하고 주문형 반도체 장치로 구현시 작은 디바이스를 사용할 수 있으며 전력소모가 작고 비용을 줄일 수 있다. 그리고 데이터를 빠른 속도로 처리할 수 있어 성능을 향상시킬 수 있다.As described above, according to the present invention, the peripheral logic is eliminated by integrating the read and write state machines into one for the master and slave functions, so that the logic is simple, the small device can be used when implemented as a custom semiconductor device, and the power consumption is small and the cost is low. Can be reduced. It can also process data at high speeds, improving performance.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960007373A KR0170742B1 (en) | 1996-03-19 | 1996-03-19 | Data transfer method using mbus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960007373A KR0170742B1 (en) | 1996-03-19 | 1996-03-19 | Data transfer method using mbus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970066906A KR970066906A (en) | 1997-10-13 |
KR0170742B1 true KR0170742B1 (en) | 1999-03-30 |
Family
ID=19453413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960007373A KR0170742B1 (en) | 1996-03-19 | 1996-03-19 | Data transfer method using mbus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0170742B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000003700A (en) * | 1998-06-29 | 2000-01-25 | 김형벽 | Bus module apparatus |
-
1996
- 1996-03-19 KR KR1019960007373A patent/KR0170742B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970066906A (en) | 1997-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2586833B2 (en) | Data processor | |
JPH02227765A (en) | Data transfer apparatus for digital computer | |
JPH02227766A (en) | Data transfer apparatus for digital computer | |
JPH03129548A (en) | Dual-port-memory and communication method thereof | |
CA2060820C (en) | Direct memory access for data transfer within an i/o device | |
JP2004171209A (en) | Shared memory data transfer device | |
US6401142B1 (en) | Apparatus and method for selective bus transfer using master and slave modes | |
US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
JPH09160866A (en) | Bus interface logic system and synchronization method | |
KR100476895B1 (en) | Interface device having variable data transfer mode and operating method thereof | |
US7062588B2 (en) | Data processing device accessing a memory in response to a request made by an external bus master | |
JPH08167921A (en) | Communication adaptor,data transfer system and method | |
US6279044B1 (en) | Network interface for changing byte alignment transferring on a host bus according to master and slave mode memory and I/O mapping requests | |
JP3703532B2 (en) | Computer system with multiplexed address bus | |
KR0170742B1 (en) | Data transfer method using mbus | |
JP4011258B2 (en) | Arbitration method of bus having interrupt function between control chip sets | |
CN114641764A (en) | Bus system and method for operating a bus system | |
CN111177048A (en) | AHB bus equipment and data stream transmission method thereof | |
JP2762506B2 (en) | Line controller | |
JP2546901B2 (en) | Communication control device | |
JPH02211571A (en) | Information processor | |
JPH0222748A (en) | Non-volatile memory control circuit | |
JPH11328102A (en) | Bus control system and bus control method | |
JP2671743B2 (en) | Microcomputer | |
JPH04225458A (en) | Computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050929 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |