KR0170742B1 - Data transfer method using mbus - Google Patents

Data transfer method using mbus Download PDF

Info

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
Application number
KR1019960007373A
Other languages
Korean (ko)
Other versions
KR970066906A (en
Inventor
박명식
도기종
Original Assignee
김광호
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광호, 삼성전자주식회사 filed Critical 김광호
Priority to KR1019960007373A priority Critical patent/KR0170742B1/en
Publication of KR970066906A publication Critical patent/KR970066906A/en
Application granted granted Critical
Publication of KR0170742B1 publication Critical patent/KR0170742B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management 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

엠버스를 이용한 데이터 전송 방법Data transmission method using Embus

제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)

버스를 기반으로 하고 공유메모리 구조를 가지며, 선마이크로 시스템사(미국의 컴퓨터회사명)의 엠버스를 입출력모듈의 로컬버스로 사용하는 중형컴퓨터 시스템에서 상기 로컬버스를 사용하여 시스템버스로부터 로컬메모리로 또는 로컬메모리로부터 시스템버스로 소정의 블럭단위로 데이터를 전송하는 방법에 있어서, 상기 공유메모리로부터 시스템버스를 통해 로컬메모리로 소정 블럭단위로 데이터를 읽어 들이는 블럭읽기 사이클, 로컬메모리로부터 시스템버스를 통해 상기 공유메모리로 소정 블럭단위로 데이터를 쓰는 블럭쓰기 사이클을 구분하는 단계; 상기 엠버스에 대한 버스사용권을 요구하고, 상기 버스사용권을 중재받는 단계; 상기 버스사용권을 획득하면 버스를 사용하고 있음을 표시하고 버스를 사용하는 단계; 엠버스에서 제공하는 데이터전송을 제어하는 신호들을 체크하여 데이터전송을 할 것인지(데이터전송모드), 재전송을 할 것인지(재전송 모드), 에러로 처리할 것이지(에러모드)를 결정하는 모드결정단계; 및 상기 모드결정단계에서 데이터전송모드이면 상기 소정의 블럭단위로 데이터를 전송하고 전송사이클을 끝내며, 재전송모드이면 다시 소정의 블럭단위로 데이터를 전송하고, 에러모드이면 전송사이클을 끝내는 단계를 포함함을 특징으로 하는 엠버스를 이용한 블럭 데이터 전송방법.In the medium computer system, which is based on the bus and has a shared memory structure, and uses the Embus of Sun Microsystems (US company name) as the local bus of the I / O module, the local bus is used to transfer the system bus to the local memory. Or a method of transferring data in a predetermined block unit from a local memory to a system bus, the method comprising: a block read cycle of reading data in a predetermined block unit from the shared memory to a local memory via the system bus, and a system bus from the local memory. Dividing a block write cycle of writing data to the shared memory by a predetermined block unit; 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 ending the transmission cycle in the error mode. Block data transmission method using an embus, characterized in that. 제1항에 있어서, 상기 모드결정단계의 데이터전송을 제어하는 신호들은 데이터 전송준비완료를 나타내는 신호(MRDY_), 데이터를 재전송을 요구하는 신호(MRTY_), 데이터 전송 에러를 나타내는 신호(MERR_)임을 특징으로 하는 엠버스를 이용한 블럭데이터 전송 방법.The signal controlling the data transmission in the mode determination step is a signal (MRDY_) indicating the completion of data transmission ready, a signal (MRTY_) for requesting retransmission of data, a signal (MERR_) indicating a data transmission error. Block data transmission method using the Embus. 제1항에 있어서, 데이터전송 모드에서의 데이터 전송은 카운터를 사용하여 소정의 블럭에 상응하는 데이터량을 전송하고, 상기 카운터의 동작을 체크하여 다음 단계 천이를 결정함을 특징으로 하는 엠버스를 이용한 블럭데이터 전송 방법.The method of claim 1, wherein the data transmission in the data transmission mode uses an counter to transmit an amount of data corresponding to a predetermined block, and checks the operation of the counter to determine a next step transition. Block data transmission method using. 버스를 기반으로 하고 공유메모리 구조를 가지며, 선마이크로 시스템사(미국의 컴퓨터회사명)의 엠버스를 입출력모듈의 로컬버스로 사용하는 중형컴퓨터 시스템에서 상기 입출력모듈의 중앙처리장치(CPU)가 상기 로컬버스를 사용하여 시스템버스로부터 또는 시스템버스로 데이터를 억세스하거나(단일모드 사이클), 상기 입출력모듈의 내부 레지스터를 억세스하는(슬레이브 사이클) 방법에 있어서, 상기 중앙처리장치가 상기 단일모드 사이클을 시작할 것인지 상기 슬레이브사이클을 시작할 것인지 결정한 후, 엠버스를 사용하고 있음을 표시하는 단계; 상기 단일모드 사이클일 겨우에는 단일모드 읽기 또는 단일모드 쓰기를 진행하고, 시스템버스의 상태 및 엠버스 상태를 확인하여 사이클이 정상적이며 응답신호를 확인하 후 사이클을 종료하고, 에러가 발생하면 재전송을 시도하는 단계; 및 상기 슬레이브 사이클일 경우에는 상기 레지스터에 대해 데이터 쓰기 또는 읽기를 수행하고, 응답신호를 확인한 후 사이클을 종료하는 단계를 포함함을 특징으로 하는 엠버스를 이용한 데이터 전송방법.The central processing unit (CPU) of the input / output module (CPU) of the input / output module is a medium-based computer system that uses a bus-based, shared memory structure, and uses an Ambus of Sun Microsystems (the US computer company name) as a local bus for the input / output module. A method of accessing data from or to a system bus using a local bus (single mode cycle) or accessing an internal register of the input / output module (slave cycle), wherein the central processing unit starts the single mode cycle. After determining whether or not to start the slave cycle, indicating that an embus is being used; In case of the single mode cycle, single mode read or single mode write is performed, and the cycle is normal by checking the status of the system bus and the embus, and the cycle is terminated after confirming the response signal. Attempting; And in case of the slave cycle, writing or reading data to the register, checking a response signal, and ending the cycle.
KR1019960007373A 1996-03-19 1996-03-19 Data transfer method using mbus KR0170742B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000003700A (en) * 1998-06-29 2000-01-25 김형벽 Bus module apparatus

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