KR950009574B1 - Memory access controller - Google Patents

Memory access controller Download PDF

Info

Publication number
KR950009574B1
KR950009574B1 KR1019920014464A KR920014464A KR950009574B1 KR 950009574 B1 KR950009574 B1 KR 950009574B1 KR 1019920014464 A KR1019920014464 A KR 1019920014464A KR 920014464 A KR920014464 A KR 920014464A KR 950009574 B1 KR950009574 B1 KR 950009574B1
Authority
KR
South Korea
Prior art keywords
bus
unit
data
shared memory
mbe
Prior art date
Application number
KR1019920014464A
Other languages
Korean (ko)
Other versions
KR940004444A (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 KR1019920014464A priority Critical patent/KR950009574B1/en
Publication of KR940004444A publication Critical patent/KR940004444A/en
Application granted granted Critical
Publication of KR950009574B1 publication Critical patent/KR950009574B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Abstract

The memory access control device enhances the system speed by implementing the bus arbitrator and the shared memory access control circuit on programmable logic array(PLA). The device comprises a bus arbitrator(100) for endowing the system bus controllability to several masters(80,90) according to the data access request signal for a shared memory(50); a multi-bus exchange(MBE) unit(120) for setting the data routing path to several masters(80,90) to transmit the data from the shared memory(50) to the masters(80,90); an MBE control unit(110) for controlling the MBE(120) unit to determine the data routing path.

Description

메모리 액세스 제어장치Memory access control

제1도는 종래의 메모리 액세스 제어장치.1 is a conventional memory access control apparatus.

제2도는 본 발명에 따른 메모리 액세스 제어장치의 일실시예.2 is an embodiment of a memory access control apparatus according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

10 : 중앙처리장치 20 : 마스터부10: central processing unit 20: master unit

30 : 제1하드웨어글루논리부 40 : 제2하드웨어글루논리부30: first hardware glue logic unit 40: second hardware glue logic unit

50 : 공유메모리부 60 : 데이타버퍼50: shared memory 60: data buffer

70 : 메모리 제어기 80 : 제1마스터부70: memory controller 80: first master portion

90 : 제2마스터부 100 : 버스조정부90: second master unit 100: bus adjustment unit

110 : MBE(Multi Bus Exchage)제어부110: MBE (Multi Bus Exchage) control unit

120 : 멀티버스 익스체인지부120: Multiverse Exchange Department

본 발명은 멀티마스터 시스템에 있어서 메모리 액세스 제어장치에 관한 것으로, 특히 공유 메모리에 대한 메모리 액세스 제어장치에 관한 것이다.The present invention relates to a memory access control device in a multimaster system, and more particularly, to a memory access control device for a shared memory.

일반적으로 멀티마스트 시스템을 입출력장치등 주변장치가 많을때 이를 마스터로 처리하기 위한 시스템이다. 즉, 마스터에 프로세서를 두어 시스템의 명령과 데이타를 입출력장치로 제어하고 처리한다.In general, when there are a lot of peripheral devices such as I / O devices, the multi-mast system is a system for processing them. In other words, the processor is placed on the master to control and process the system's commands and data with the input / output device.

제1도는 종래의 멀티마스터 시스템에서 메모리 액세스 제어장치이다.1 is a memory access control device in a conventional multimaster system.

제1도에 있어서, 구성관계를 보면 시스템의 모든 장치를 제어하고 명령을 실행하는 중앙처리장치(10)와, 중앙처리장치(10)로 부터 시스템버스의 제어권을 넘겨 받아 공유메모리(50)에 대한 액세스를 수행하는 마스터부(20)와, 마스터부(20)의 요청신호(REQUEST)와 중앙처리장치(10)의 버스 허용신호(BUS_GRT)를 입력으로 받아들인 후 버스인지신호(BUS_ACK)를 발생시키는 TTL(Transistor Transistor Logic)논리소자로 이루어진 제1하드웨어 글루논리부(Hardware Glue Logic, 30)와, 중앙처리장치(10) 또는 마스터부(20)로부터 어드레스와 제어신호를 입력으로 받아들인 후 버퍼제어신호를 발생시켜주는 메모리제어기(70)와, 데이타버퍼(60)의 인에이블여부와 방향등을 결정하는 제2하드웨어 글루논리부(40)로 구성되어 있다.In FIG. 1, the configuration relationship shows that the central processing unit 10 controls all devices of the system and executes commands, and transfers control of the system bus from the central processing unit 10 to the shared memory 50. After receiving the master unit 20 performing the access, the request signal REQUEST of the master unit 20 and the bus permission signal BUS_GRT of the CPU 10 as inputs, the bus acknowledgment signal BUS_ACK is received. After receiving the address and the control signal from the first hardware glue logic (30) consisting of a TTL (Transistor Transistor Logic) logic element to generate, and the central processing unit 10 or the master unit 20 as an input The memory controller 70 generates a buffer control signal, and the second hardware glue logic unit 40 determines whether to enable or disable the data buffer 60 and the like.

제1도의 동작설명을 하면 다음과 같다.Referring to the operation of Figure 1 as follows.

마스터부(20)가 시스템의 공유메모리(50)를 액세스하고자 할 경우, 마스터부(20)는 요청신호(REQUEST)를 제1하드웨어글루논리부(30)에 인가시킨다. 제1하드웨어 글루논리부(30)는 마스터부(20)의 REQUEST신호 즉, 공유메모리(50)로부터 데이터 액세스를 요청하는 신호를 입력으로 들어오면 중앙처리장치(10)에 시스템버스 요청실호(BUS_REQ)를 인가시킨다. 중앙처리장치(10)는 BUS_REQ를 입력으로 들어오면 현재 실행중인 프로세스(process)를 종료하고 유휴상태(idle)가 된다. 다음 중앙처리장치(10)는 시스템 버스 허용신호(BUS_GRT)를 인가시킨다. 제1하드웨어글루논리부(30)는 마스터부(20)가 시스템버스의 제어권을 획득했음을 알려주는 버스인식신호(BUS_ACK)를 인가시켜준다. BUS_ACK가 인가되면 마스터부(20)는 어드레스와 제어신호를 출력하여 공유메모리에 대한 액세스를 실행한다.When the master unit 20 wants to access the shared memory 50 of the system, the master unit 20 applies a request signal REQUEST to the first hardware glue logic unit 30. When the first hardware glue logic unit 30 receives a REQUEST signal of the master unit 20, that is, a signal for requesting data access from the shared memory 50 as an input, the system bus request signal (BUS_REQ) is transmitted to the CPU 10. ) Is applied. When the CPU 10 receives BUS_REQ as an input, the CPU 10 terminates the currently running process and enters an idle state. The CPU 10 then applies a system bus permission signal BUS_GRT. The first hardware glue logic unit 30 applies a bus recognition signal BUS_ACK indicating that the master unit 20 has obtained the control right of the system bus. When BUS_ACK is applied, the master unit 20 outputs an address and a control signal to execute access to the shared memory.

제2하드웨어글루논리부(40)는 메모리제어기(70)에서 출력한 버퍼제어신호를 이용하여 데이타버퍼(60)를 인에이블시킨다. 데이타버퍼(60)는 마스터부(6)에서 출력한 어드레스에 의해 공유메모리(50)로부터 액세스된 데이타를 일시 저장했다고 인에이블신호에 따라 데이타를 마수터부(20)로 출력한다.The second hardware glue logic unit 40 enables the data buffer 60 by using the buffer control signal output from the memory controller 70. The data buffer 60 outputs the data to the master unit 20 in accordance with the enable signal that the data accessed from the shared memory 50 is temporarily stored by the address output from the master unit 6.

공유메모리(50)에 대한 모든 액세스를 마친 마스터부(50)는 REQUEST신호를 취소시킴으로서 시스템버스에 대한 제어권을 중앙처리장치(10)에 넘기게 된다. 시스템 버스에 대한 제어권을 획득한 중앙처리장치(10)는 정상적인 데이타 전달 작동을 실행한다.After all accesses to the shared memory 50, the master unit 50 passes the control right to the central processing unit 10 by canceling the REQUEST signal. The central processing unit 10 having obtained the control right for the system bus performs a normal data transfer operation.

그런데 종래의 메모리 액세스 제어장치는 마스터의 수가 증가하게 되면 제1하드웨어글루논리부와 각각의 분리 데이타버퍼들을 인에이블 시켜주는 제2하드웨어글루논리부(40)를 하드웨어적으로 재설계해야하는 어려움이 있고, 설계시 복잡도가 증가함에 따라 사용하는 게이트(gate)가 증가한다. 게이트수가 증가하게되면 그에 따른 게이트 지연이 증가하여 시스템의 속도에 영향이 미치게되고, 외부의 노이즈에 더 많이 노출된다는 문제점이 있었다.However, in the conventional memory access control apparatus, when the number of masters increases, there is a difficulty in hardware redesigning the second hardware glue logic unit 40 that enables the first hardware glue logic unit and each of the separate data buffers. As the complexity increases, the gate used increases. As the number of gates increases, the gate delay increases, which affects the speed of the system and exposes more to external noise.

따라서 본 발명의 목적은 상술한 문제점을 해결하기 위해서 다수의 마스터로부더 버스조정 및 공유메모리 액세스의 제어를 프로그래머블 어레이 로직(Programmable Array Logic)으로 구성하여 시스템의 속도를 향상시킬 수 있는 메모리 액세스 제어장치를 제공함에 있다.Accordingly, an object of the present invention is to solve the above problems, the memory access control apparatus that can improve the speed of the system by configuring the control of the bus control and the shared memory access to a plurality of masters to the programmable array logic (Programmable Array Logic) In providing.

상술한 목적을 달성하기 위하여 멀티마스터 시스템에 있어서 메모리 액세스 제어장치는, 다수의 마스터로부터 공유메모리의 데이타 액세스 요청신호를 입력으로 받아들여 프로그램적으로 시스템버스에 대한 제어권을 부여하는 버스조정부(Bus Arbitration)와; 상기 공유메모리로부터 액세스된 데이타를 상기 다수의 마스터로 출력하기 위해 상기 각각의 마스터에 데이타 경로(Data Routing Path)를 설정하기 위한 멀티버스 익스체인지부(Multiple Bus Exchange, 이하 MBE라함)와; 상기 MBE를 제어하여 데이타 경로를 결정하기 위한 MBE제어부를 포함함을 특징으로 한다.In order to achieve the above object, a memory access control apparatus in a multimaster system receives a data access request signal of a shared memory as input from a plurality of masters, and programmatically controls a bus arbitration unit (Bus Arbitration). )Wow; A multiple bus exchange unit (hereinafter referred to as MBE) for establishing a data routing path to each master for outputting data accessed from the shared memory to the plurality of masters; It characterized in that it comprises an MBE control unit for determining the data path by controlling the MBE.

이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

제2도는 본 발명에 따른 메모리 액세스 제어장치로서 두개의 마스터에 대한 일 실시예이다.2 is an embodiment of two masters as a memory access control apparatus according to the present invention.

제2도에 있어서, 구성관계를 보면 시스템의 모든 장치를 제어하고 명령을 실생하기 위한 중앙처리장치(10)와, 외부의 입출력 장치를 제어하고 명령을 실행하기위한 제1마스터부(80) 및 제2마스터부(90)와, 중앙처리장치(10)나 제1마스터부(80) 및 제2마스터부(90)로부터 어드레스와 제어신호를 입력으로 받아들인후 버퍼제어신호를 발생시켜주는 메모리제어기(70), 중앙처리장치(10)와 제1마스터부(80) 및 제2마스터부(90)가 데이타나 명령어를 공통적으로 사용하는 공유메모리(50)와, 제1마스터부(80) 및 제2마스터부(90)의 요청신호(REQUEST)와 중앙처리장치(10)의 버스 허용신호(BUS_GRT)를 입력으로 받아들인 후 버스이지(BUS_ACK)를 발생시키는 버스조정부(100)와, 메모리 제어기(70)로부터 버퍼제어신호를 입력으로 받아들여 데이타버퍼를 인에이블시키고 MBE를 제어하기 위한 MBE제어부(110)와, 공유메모리(50)로부터 액세스된 데이타를 제1마스터부(80) 및 마스터부(90)로 출력하기 의해 데이타 경로를 설정하기 위한 멀티버스 익스체인지부(120)로 구성한다.In FIG. 2, the configuration relationship shows a central processing unit 10 for controlling all devices of the system and executing commands, a first master unit 80 for controlling external input / output devices and executing commands; A memory that receives an address and a control signal from the second master unit 90, the central processing unit 10, the first master unit 80, and the second master unit 90 as an input, and generates a buffer control signal. The shared memory 50 in which the controller 70, the central processing unit 10, the first master unit 80, and the second master unit 90 share data or instructions in common, and the first master unit 80. And a bus adjusting unit 100 which receives the request signal REQUEST of the second master unit 90 and the bus permission signal BUS_GRT of the CPU 10 as an input and generates a bus easy BUS_ACK. Enabling the data buffer and controlling the MBE by receiving the buffer control signal as input from the controller 70 An MBE control unit 110 and a multiverse exchange unit 120 for setting a data path by outputting data accessed from the shared memory 50 to the first master unit 80 and the master unit 90. do.

다음 제2도의 동작에 대해서 설명하기로 한다.Next, operation of FIG. 2 will be described.

제1마스터부(80) 및 제2마스터부(90)가 시스템의 공유메모리(50)에 들어있는 데이타나 명령어를 액세스하고자 할 경우 각각의 요청신호(REQ_1, REQ_2)를 버스조정부(100)에 인가시킨다. 버스조정부(100)는 요청신호가 인가되면 중앙처리장치(10)에 버스요청신호(BUS_REQ)를 인가시킨다.When the first master unit 80 and the second master unit 90 want to access data or instructions contained in the shared memory 50 of the system, each request signal REQ_1 or REQ_2 is transmitted to the bus controller 100. Allow it. When the request signal is applied, the bus adjusting unit 100 applies the bus request signal BUS_REQ to the CPU 10.

중앙처리장치(10)는 버스요청신호(BUS_REQ)가 액티브(Active)할 경우 현재 실행중인 프로세서(process)를 끝마치고 유휴상태가 된다. 다음 중앙처리장치(10)는 시스템버스를 사용하겠다는 의미로 버스허용신호(BUS_GRT)를 버스조정부(100)에 인가시킨다.When the bus request signal BUS_REQ is active, the CPU 10 ends the currently running processor and becomes idle. Next, the central processing unit 10 applies a bus permission signal BUS_GRT to the bus controller 100 to use a system bus.

버스허용신호(BUS_GRT)가 액티브하면 버스조정부(100)는 프로그래밍되어 있는 방식에 따라 버스제어권의 선택(Arbitration)을 행한 후에 버스인식신호(ACK_1, ACK_2)를 출력시킨다.When the bus permission signal BUS_GRT is active, the bus adjustment unit 100 outputs the bus recognition signals ACK_1 and ACK_2 after performing arbitration of the bus control right according to the programmed method.

다수의 마스터가 동시에 공유메모리에 대한 액세스 요청신호를 인가시켰를 경우 시스템버스의 제어권을 결정하는 방식에는 주로 우선순위방식(Priority)와 라운드 로반방식(Round-Robin)이 사용된다. 시스템버스의 제어권이 결정되면 시스템버스의 제어권을 갖은 마스터부가 어드레스와 공유메모리(50)를 액세스하는데 필요한 제어신호를 액티브시킨다.Priority and round-robin methods are mainly used to determine the control right of the system bus when a plurality of masters simultaneously grant access request signals to the shared memory. When the control right of the system bus is determined, the master unit having the control right of the system bus activates a control signal necessary for accessing the address and the shared memory 50.

만약 제2마스터부(90)에게 시스템버스의 제어권이 결정되면 버스조정부(100)는 버스인식신호 ACK_2를 출력한다. 제2마스터부(90)는 어드레스와 제어신호를 메모리 제어기(70)로 인가시킨다. 공유메모리(50)에서는 제2마스터부(90)의 어드레스에 따른 데이타가 액세스된다. MBE제어부(110)는 메모리 제어기(70)에서 출력된 버퍼제어신호를 사용하여 멀티버스 익스체인지부(120)에 액세스된 데이타의 출력경로를 결정한다. 멀티버스 익스체인지부(120)는 데이타 출력경로를 설정하여 공유메모리(50)에서 액세스된 데이타를 제2마스터부(90)에 출력시킨다.If the control right of the system bus is determined to the second master unit 90, the bus adjusting unit 100 outputs a bus recognition signal ACK_2. The second master unit 90 applies an address and a control signal to the memory controller 70. In the shared memory 50, data corresponding to the address of the second master unit 90 is accessed. The MBE controller 110 determines an output path of data accessed to the multiverse exchange unit 120 using the buffer control signal output from the memory controller 70. The multiverse exchange unit 120 sets a data output path and outputs the data accessed from the shared memory 50 to the second master unit 90.

멀티버스 익스체인지부(120)는 다수의 포트로 구성되어 있으며 외부의 제어신호에 의해 출력경로를 결정하여 입력 데이타를 다양한 방식으로 출력가능케하는 일종의 링크(Link)역할을 한다.The multi-bus exchange unit 120 is composed of a plurality of ports, and serves as a kind of link for determining the output path by external control signals and outputting the input data in various ways.

공유메모리(50)에 대한 액세스를 끝마친 마스터부(80, 90)는 요청신호를 취소시키고 버스조정부(100)는 시스템버스의 제어권을 중앙처리장치(10)에 부여한다. 중앙처리장치(10)는 다시 버스요청신호(BUS_REQ)가 인가될때까지 정상 작동을 실행한다.After completing the access to the shared memory 50, the master unit 80, 90 cancels the request signal and the bus adjusting unit 100 grants the central processing unit 10 the control right of the system bus. The CPU 10 performs normal operation until the bus request signal BUS_REQ is applied again.

상술한 바와 같이 본 발명은 버스조정부를 PAL을 사용하여 구현함으로서 마스터수가 증가하더라도 하드웨어 로직의 변경없이 PAL-의 논리만을 변경하여 시스템버스의 제어권 선택방법과 우선 순위를 변경 결정할 수 있다. 또한 버스조정부와 멀티버스 익스체인지부를 하나의 PAL로 구성하였으므로 게이트지연을 최소화하여 시스템의 속도를 향상시킬 수 있는 효과가 있다.As described above, according to the present invention, even if the number of masters is increased by implementing the bus controller using the PAL, the control right selection method and priority of the system bus can be changed by changing only the logic of the PAL- without changing the hardware logic. In addition, since the bus control unit and the multi-bus exchange unit are configured in one PAL, the system can increase the speed of the system by minimizing the gate delay.

Claims (3)

멀티마스터 시스템에 있어서, 다수의 마스터(80, 90)로부터 공유메모리(50)의 데이타 액세스요청신호를 입력으로 받아들여 프로그램적으로 시스템버스에 대한 제어권을 부여하는 버스조정부(Bus Arbitration, 100)와; 상기 공유메모리(50)로부터 액세스된 데이타를 상기 다수의 마스터(80, 90)로 출력하기 위해 상기 각각의 마스터(80, 90)에 데이타 경로(Data Routing Path)를 설정하기 위한 멀티버스 익스체인지부(Multiple Bus Exchange, 이하 MBE라함, 120)와, 상기 MBE(120)를 제어하여 데이타 경로를 결정하기 위한 MBE제어부(110)를 포함함을 특징으로 하는 메모리액세스 제어장치.In the multi-master system, a bus arbitration 100 for receiving data access request signals of the shared memory 50 from a plurality of masters 80 and 90 as an input and programmatically granting control to the system bus. ; Multi-bus exchange unit for setting a data routing path to each master (80, 90) to output the data accessed from the shared memory 50 to the plurality of master (80, 90) And a multiple bus exchange (hereinafter referred to as MBE), and an MBE controller (110) for controlling the MBE (120) to determine a data path. 제1항에 있어서, 상기 버스조정부(100)에서 시스템버스의 제어권우선순위 결정방식은 라운드 로빈(Round Robin)방식에 의함을 특징으로 하는 메모리 액세스 제어장치.The memory access control apparatus of claim 1, wherein the bus priority unit determines a control priority of a system bus based on a round robin method. 제1항에 있어서, 상기 버스조정부(100)와 멀티버스 익스체인지부(120)는 프로그래머블 어레이 로직(Programmable Array Logic)으로 구성하여 마스터수 증가에 따른 로직의 변경을 용이하게 함을 특징으로 하는 메모리 액세스 제어장치.The memory access method of claim 1, wherein the bus adjusting unit 100 and the multi-bus exchange unit 120 are configured as programmable array logic to facilitate a change of logic according to an increase in the number of masters. Control unit.
KR1019920014464A 1992-08-12 1992-08-12 Memory access controller KR950009574B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920014464A KR950009574B1 (en) 1992-08-12 1992-08-12 Memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920014464A KR950009574B1 (en) 1992-08-12 1992-08-12 Memory access controller

Publications (2)

Publication Number Publication Date
KR940004444A KR940004444A (en) 1994-03-15
KR950009574B1 true KR950009574B1 (en) 1995-08-24

Family

ID=19337854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920014464A KR950009574B1 (en) 1992-08-12 1992-08-12 Memory access controller

Country Status (1)

Country Link
KR (1) KR950009574B1 (en)

Also Published As

Publication number Publication date
KR940004444A (en) 1994-03-15

Similar Documents

Publication Publication Date Title
US6014729A (en) Shared memory arbitration apparatus and method
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
JPH061458B2 (en) Distribution arbitration apparatus and method for shared bus
JPH0773137A (en) Method, adaptor and system for arbitration of multilevel bus
JP2708289B2 (en) Access request arbitration device
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
JPS62280948A (en) Bus arbitration system
US5255373A (en) Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US7343457B1 (en) Dual active bank memory controller
KR950009574B1 (en) Memory access controller
JPH0210459A (en) Bus use right determining system
JPH0343804A (en) Sequence controller
KR100451789B1 (en) Arbitration apparatus and method of processor for resources share
JPH02143363A (en) Common memory control system in multiprocessor
JPS59218532A (en) Bus connecting system
US5799160A (en) Circuit and method for controlling bus arbitration
JP2848082B2 (en) DMA bus arbitration
US6499087B1 (en) Synchronous memory sharing based on cycle stealing
KR960001267B1 (en) Input/output processing arbitrator for ticom system
JP3098550B2 (en) Bus control method
KR100243868B1 (en) Arbiter logic in main computer system
JPS6160162A (en) Bus arbitration system
JPS58217071A (en) Information processing system
KR940004926B1 (en) Bus request method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080704

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee