KR100252508B1 - Apparatus for interfacing rom to processor bus - Google Patents

Apparatus for interfacing rom to processor bus Download PDF

Info

Publication number
KR100252508B1
KR100252508B1 KR1019970064389A KR19970064389A KR100252508B1 KR 100252508 B1 KR100252508 B1 KR 100252508B1 KR 1019970064389 A KR1019970064389 A KR 1019970064389A KR 19970064389 A KR19970064389 A KR 19970064389A KR 100252508 B1 KR100252508 B1 KR 100252508B1
Authority
KR
South Korea
Prior art keywords
processor
byte
bus
data bus
rom
Prior art date
Application number
KR1019970064389A
Other languages
Korean (ko)
Other versions
KR19990043388A (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 KR1019970064389A priority Critical patent/KR100252508B1/en
Publication of KR19990043388A publication Critical patent/KR19990043388A/en
Application granted granted Critical
Publication of KR100252508B1 publication Critical patent/KR100252508B1/en

Links

Images

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE: A device for interfacing a ROM in a processor board of a communication processing system is provided to connect a 16-bit width ROM to a processor bus when a processor board is embodied using a processor no having a dynamic bus sizing function. CONSTITUTION: When a processor writes to a 16-bit width ROM, the first byte(MP_D(31..24)) of a processor data bus is selected by the first multiplexer and connected to the first byte(MP_LD(31..24)) of a local data bus through a local data buffer. The second byte(MP_D(23..16)) of a processor data bus is selected by the second multiplexer and connected to the second byte(MP_LD(23..16)) of the local data bus through the local data buffer. Because the 16-bit width ROM is connected to the first word(MP_LD(31..16)) of a local data bus, the first word(MP_D(31..16)) of the processor data bus is connected to the first word(MP_LD(31..16)) of a local data bus, and the second word(MP_D(15..0)) of the processor must be swapped for the first word(MP_LD(31..16)) of the processor data. Thus, the third byte(MP_D(15..8)) of a processor data bus is selected by the first multiplexer and connected to the first byte(MP_LD(31..24)) of a local data bus through a local data buffer. The fourth byte(MP_D(7..0)) of a processor data bus is selected by the second multiplexer and connected to the second byte(MP_LD(23..16)) of a local data bus through a local data buffer.

Description

통신처리시스템의 프로세서 보드에서 롬 인터페이스장치(An apparatus for interfacing ROM to processor bus)An apparatus for interfacing ROM to processor bus

본 발명은 통신처리시스템에 있어서 다이나믹 버스 사이징이 제공되지 않은 프로세서를 이용하여 프로세서 보드를 구현할 경우 프로세서 버스에 롬(ROM)을 연결하기 위한 롬 인터페이스장치에 관한 것이다.The present invention relates to a ROM interface device for connecting a ROM to a processor bus when implementing a processor board using a processor that does not provide dynamic bus sizing in a communication processing system.

일반적으로 '다이나믹 버스 사이징(dynamic bus sizing)'이란 프로세서 기술의 급속한 진보에 의해 프로세서의 버스 사이즈는 넓어졌으나 주변장치들은 아직 좁은 포트 사이즈를 가지고 있을 경우, 버스 사이즈가 다른 주변장치를 프로세서 버스에 연결하기 위한 기술이다. 즉, 다이나믹 버스 사이징은 프로세서가 버스 사이즈가 다른 주변장치를 억세스할 경우에, 주변장치의 버스 사이즈에 맞게 프로세서 버스의 사이즈를 조절해 주는 기능이다.In general, 'dynamic bus sizing' is a rapid advancement in processor technology that allows a processor to expand its bus size, but if peripherals still have a narrow port size, connect peripherals of different bus sizes to the processor bus. It is a technique for doing. In other words, dynamic bus sizing is a function that adjusts the size of the processor bus according to the peripheral bus size when the processor accesses peripheral devices having different bus sizes.

예컨대, 모토롤라사에서 제조되는 MC68030은 32비트의 데이터 버스와 32비트의 어드레스 버스를 제공하는데, 주변장치의 포트 사이즈에 따라 적절한 버스 사이클을 수행한다. MC68030 프로세서 내부에서 32비트 데이터 버스를 구동하는 레지스터는 바이트단위로 구분되어 있고, 멀티플랙서는 레지스터의 출력을 포트 사이즈에 따라 적절히 조절하여 외부 데이터 버스를 활성화시킨다. 즉, 프로세서가 32비트 포트의 주변장치를 억세스할 경우에는 32비트 데이터 버스를 전부 사용하여 주변장치에 라이트 혹은 리드 사이클을 수행하고, 16비트 포트의 주변장치를 억세스할 경우에는 D31-D16까지의 버스만을 사용하여 첫 번째 어드레스 영역에 바이트0과 바이트1을 라이트/리드하고, 두 번째 어드레스에 바이트2와 바이트3을 라이트/리드한다. 그리고 프로세서가 8비트 포트의 주변장치를 억세스할 경우에는 D31-D24까지의 버스만을 사용하여 첫 번째 어드레스 영역에 바이트0, 두 번째 어드레스에 바이트1, 세 번째 어드레스에 바이트2, 네 번째 어드레스에 바이트3을 라이트/리드한다. 이와 같이 MC68030은 주변장치의 포트 사이즈에 따라 버스 사이클을 달리 수행하여 32비트 데이터 버스에 8비트, 16비트, 32비트의 주변장치를 용이하게 연결할 수 있도록 다이나믹 버스 사이징 기능을 제공한다.For example, the MC68030, manufactured by Motorola, provides a 32-bit data bus and a 32-bit address bus, which perform appropriate bus cycles depending on the port size of the peripheral. The registers that drive the 32-bit data bus inside the MC68030 processor are divided into bytes, and the multiplexer adjusts the register's output according to the port size to activate the external data bus. In other words, if the processor accesses a peripheral device on a 32-bit port, the processor performs a write or read cycle to the peripheral device using all 32-bit data buses, and the D31-D16 port accesses a peripheral device on a 16-bit port. By using only the bus, byte 0 and byte 1 are written / read in the first address area and byte 2 and byte 3 are written / read in the second address. When the processor accesses an 8-bit port peripheral device, only the buses from D31 to D24 use byte 0 in the first address area, byte 1 in the second address, byte 2 in the third address, and byte in the fourth address. Write / Read 3 As such, the MC68030 offers dynamic bus sizing to easily connect 8-bit, 16-bit, and 32-bit peripherals to 32-bit data buses, depending on the port size of the peripheral.

한편, 컴퓨터 성능을 향상시키기 위한 기술이 점차적으로 프로세서의 동작 속도를 높이는 방향(즉, 클럭 주파수를 높이는 방향)으로 발전되어 왔다. 높은 주파수에서의 동작은 여러 딜레이 요소들에 의해 방해를 많이 받게 되어 기존의 비동기식 방식보다는 동기방식으로 프로세서 설계기술이 발전되었고, 이에 따라 일부 기능이 프로세서 밖으로 나온 경우가 생기게 되었다. 모토롤라사의 마이크로 프로세서에 있어서도 MC68040 이후부터는 프로세서가 더 이상 다이나믹 버스 사이징 기능을 제공하지 않게 되어 MC68040이나 MC68060으로 설계하는 보드에서는 주변 디바이스와 32비트로 인터페이스되거나 별도의 데이터 버스 조절 로직이 필요하게 되었다.On the other hand, techniques for improving computer performance have been gradually developed to increase the operating speed of the processor (ie, increase the clock frequency). Operation at high frequencies is often hampered by various delay factors, leading to advances in processor design technology that are more synchronous than conventional asynchronous methods, resulting in some of the functionality coming out of the processor. In Motorola's microprocessors, the MC68040 and later processors no longer provide dynamic bus sizing, so boards designed with the MC68040 or MC68060 require 32-bit interface with peripheral devices or separate data bus conditioning logic.

도 1은 다이나믹 버스 사이징이 지원되지 않은 프로세서(예컨대, MC68060)를 이용하여 32비트 롬(ROM)을 연결한 경우의 구조이다. 도 1을 참조하면, 32비트의 어드레스 버스(Add)는 어드레스 버퍼(112)를 통해 롬(116)에 연결되어 라이트 혹은 리드할 어드레스를 제공하고, 데이터 버스(MP_D[31..0])는 데이터 버퍼(114)를 통해 롬(ROM:116)에 연결되어 라이트 혹은 리드할 데이터를 전달한다.FIG. 1 illustrates a structure in which 32-bit ROMs are connected by using a processor (eg, MC68060) that does not support dynamic bus sizing. Referring to FIG. 1, a 32-bit address bus Add is connected to the ROM 116 through an address buffer 112 to provide an address to be written or read, and the data bus MP_D [31..0] The data buffer 114 is connected to a ROM 116 to transfer data to be written or read.

그런데 롬(116)으로서 플래시 메모리(Flash ROM)를 사용할 경우, 플래시 롬은 16비트 폭의 디바이스가 없으므로 8비트 폭의 디바이스를 4개 사용하여 32비트 폭의 데이터 버스와 연결되었다. 이와 같이 32비트 포트 정합을 위하여 4개의 롬을 사용할 경우에 롬(ROM)의 수가 많게 되어 제조비용이 증가하게 되고, 롬(ROM) 실장시 보드의 공간이 점유되며 디버깅시 4개의 롬(ROM)을 가지고 다녀야 하므로 불편함 문제점이 있었다.However, when the flash ROM is used as the ROM 116, since the flash ROM does not have a 16-bit wide device, four 8-bit wide devices are used to connect to a 32-bit wide data bus. As such, when four ROMs are used for 32-bit port matching, the number of ROMs increases, thereby increasing the manufacturing cost, occupying board space when the ROM is mounted, and four ROMs when debugging. There was a problem with discomfort because you have to carry.

이에 본 발명은 상기와 같은 문제점을 해소하기 위하여 제안된 것으로, 다이나믹 버스 사이징 기능이 구비되지 않은 프로세서를 이용하여 프로세서 보드를 구현할 경우에 16비트 폭의 롬(ROM)을 프로세서 버스에 연결하기 위한 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention has been proposed to solve the above problems, the apparatus for connecting a 16-bit wide ROM (ROM) to the processor bus when implementing a processor board using a processor that does not have a dynamic bus sizing function The purpose is to provide.

상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, 어드레스 버스와 데이터 버스 및 각종 제어신호선을 제공하되 다이나믹 버스 사이징이 지원되지 않은 프로세서를 이용하여 동일 셀프에 실장되는 다른 보드들을 제어하기 위한 프로세서 보드에서 상기 데이터 버스에 워드 포트의 롬을 연결하기 위한 장치에 있어서, 라이트 동작시 선택신호에 따라 프로세서 데이터 버스의 첫 번째 바이트와 세 번째 바이트 바이트 중 하나를 선택하기 위한 제1 멀티플랙서; 라이트 동작시 선택신호에 따라 프로세서 데이터 버스의 두 번째 바이트 혹은 네 번째 바이트중 하나를 선택하기 위한 제2 멀티플랙서; 라이트 동작시 상기 제1 멀티플랙서 및 제2 멀티플랙서의 출력과 프로세서 데이터 버스의 세 번째 및 네 번째 바이트를 버퍼인에이블신호에 따라 로컬 데이터 버스로 전달하기 위한 로컬 데이터 버퍼; 리드동작시 래치신호에 따라 로컬 데이터 버스의 첫 번째 바이트의 데이터를 래치하기 위한 제1 래치; 리드동작시 래치신호에 따라 로컬 데이터 버스의 두 번째 바이트를 선택하기 위한 제2 래치; 리드동작시 선택신호에 따라 로컬 데이터 버스의 첫 번째 바이트 혹은 세 번째 바이트를 선택하기 위한 제3 멀티플랙서; 리드동작시 선택신호에 따라 로컬 데이터 버스의 두번째 바이트 혹은 네번째 바이트 중 하나를 선택하기 위한 제4 멀티플랙서; 리드동작시 버퍼인에이블신호에 따라 상기 제1 래치, 제2 래치, 제3 멀티플랙서, 및 제4 멀티플랙서의 출력을 프로세서 데이터 버스에 전달하기 위한 프로세서 데이터 버퍼; 및 상기 프로세서가 상기 롬에 라이트할 경우 한 번의 프로세서 버스 사이클로 프로세서 데이터 버스로 출력하는 32비트 데이터를 2번의 로컬 버스 사이클로 읽어 가고 롬을 리드할 경우 두 번의 로컬 버스 사이클로 각각 출력되는 로컬 데이터 버스상의 데이터를 한 번의 프로세서 버스 사이클로 읽어 가도록 선택신호, 래치신호, 및 버퍼인에이블신호를 출력하는 제어신호 발생부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the apparatus of the present invention provides a processor board for controlling other boards mounted on the same shelf using a processor that provides an address bus, a data bus, and various control signal lines but does not support dynamic bus sizing. 11. An apparatus for connecting a ROM of a word port to the data bus at WT, comprising: a first multiplexer for selecting one of a first byte and a third byte of a processor data bus according to a selection signal during a write operation; A second multiplexer for selecting one of the second byte and the fourth byte of the processor data bus according to the selection signal during a write operation; A local data buffer for transferring outputs of the first multiplexer and the second multiplexer and third and fourth bytes of a processor data bus to a local data bus according to a buffer enable signal during a write operation; A first latch for latching data of a first byte of a local data bus according to a latch signal during a read operation; A second latch for selecting a second byte of the local data bus according to a latch signal during a read operation; A third multiplexer for selecting the first byte or the third byte of the local data bus according to the selection signal during the read operation; A fourth multiplexer for selecting one of the second byte and the fourth byte of the local data bus according to the selection signal during the read operation; A processor data buffer configured to transfer an output of the first latch, the second latch, the third multiplexer, and the fourth multiplexer to a processor data bus in response to a buffer enable signal; And reading the 32-bit data output to the processor data bus in one processor bus cycle when the processor writes to the ROM in two local bus cycles, and the data on the local data bus output in two local bus cycles when reading the ROM. And a control signal generator for outputting a selection signal, a latch signal, and a buffer enable signal to read the data in one processor bus cycle.

도 1은 종래의 프로세서 보드를 도시한 블록도,1 is a block diagram showing a conventional processor board,

도 2는 본 발명이 적용되는 프로세서 보드를 도시한 블록도,2 is a block diagram illustrating a processor board to which the present invention is applied;

도 3은 라이트시 본 발명의 롬 인터페이스 장치를 도시한 블록도,3 is a block diagram showing a ROM interface device of the present invention when written;

도 4는 리드시 본 발명의 롬 인터페이스 장치를 도시한 블록도,4 is a block diagram showing a ROM interface device of the present invention at read time;

도 5는 본 발명의 롬 인터페이스 장치에서 라이트시 동작 타이밍도,5 is a timing diagram of writing operation in the ROM interface device of the present invention;

도 6은 본 발명의 롬 인터페이스 장치에서 리드시 동작 타이밍도이다.,6 is a timing diagram of a read operation during the ROM interface device of the present invention.

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

210: 메인 프로세서 212: 롬 인터페이스장치210: main processor 212: ROM interface device

216: 롬 302:로컬 데이터 버퍼216: ROM 302: Local data buffer

304,306,406,408: 멀티플랙서 308: 제어신호 발생부304, 306, 406, 408: multiplexer 308: control signal generator

402,404: 래치 410: 프로세서 데이터 버퍼402,404: Latch 410: Processor Data Buffer

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명이 적용되는 프로세서 보드를 도시한 블록도이고, 도 3은 라이트시 본 발명의 롬 인터페이스 장치를 도시한 블록도이며, 도 4는 리드시 본 발명의 롬 인터페이스 장치를 도시한 블록도이다.FIG. 2 is a block diagram illustrating a processor board to which the present invention is applied, FIG. 3 is a block diagram showing a ROM interface device of the present invention at write time, and FIG. 4 is a block diagram showing a ROM interface device of the present invention at read time. It is also.

다이나믹 버스 사이징 기능이 제공되지 않은 MC68040 프로세서를 이용하여 롬(ROM)을 인터페이스 하기 위해서 종래는 4개의 롬(ROM)을 이용하여 32비트로 정합하였으나 본 발명에서는 도 2에 도시된 바와 같이, 롬 인터페이스장치(212)를 이용하여 메인 프로세서(210)와 16비트 폭의 롬(216)을 연결한다. 따라서 본 발명에서 롬(216)은 8비트 폭의 롬 2개로 충분히 구현될 수 있다.In order to interface a ROM using an MC68040 processor which does not provide a dynamic bus sizing function, a ROM has been conventionally matched to 32 bits using four ROMs. The main processor 210 is connected to the ROM 216 having a 16-bit width by using the 212. Accordingly, in the present invention, the ROM 216 may be sufficiently implemented as two ROMs having 8 bits in width.

도 2를 참조하면, 본 발명의 실시예에서 메인 프로세서(210)는 MC68040으로서 32비트의 데이터 버스(MP_D[31..0]: 206)와 32비트의 어드레스 버스(Add:202) 및 각종 제어신호선(Cont:204)을 제공하고 동기식으로 동작된다. 그리고 롬 인터페이스장치(212)와 롬(216)은 로컬 어드레스 버스(MP_LA[31..16])와 로컬 데이터버스(MP_LD[31..16]), 인에이블신호선(/rom_en), 및 어드레스신호선(rom_a1)으로 연결된다.Referring to FIG. 2, in the embodiment of the present invention, the main processor 210 is the MC68040 as a 32-bit data bus (MP_D [31..0]: 206), a 32-bit address bus (Add: 202), and various controls. The signal line Cont 204 is provided and operated synchronously. The ROM interface device 212 and the ROM 216 are connected to a local address bus MP_LA [31..16], a local data bus MP_LD [31..16], an enable signal line (/ rom_en), and an address signal line. connected to (rom_a1).

본 발명의 롬 인터페이스장치(212)는 라이트 동작시의 인터페이스장치(212a)와 리드동작시의 인터페이스장치(212b)로 구분되는데, 라이트 동작시 인터페이스장치는 도 3에 도시된 바와 같이, 로컬 데이터 버퍼(302), 멀티플랙서(304,306), 제어신호 발생부(308)로 구성되고, 리드동작시 인터페이스장치(212b)는 도 4에 도시된 바와 같이 래치(402,404), 멀티플랙서(406,408), 프로세서 데이터 버퍼(410)로 구성되어 16비트 포트 롬(216)을 데이터 버스(MP_D[31..0])에 연결한다.The ROM interface device 212 of the present invention is divided into an interface device 212a during a write operation and an interface device 212b during a read operation. The interface device during a write operation is shown in FIG. 302, the multiplexers 304 and 306, and the control signal generator 308, and the interface device 212b during the read operation includes latches 402 and 404, multiplexers 406 and 408, as shown in FIG. It is composed of a processor data buffer 410 connects the 16-bit port ROM 216 to the data bus MP_D [31..0].

이어서, 상기와 같이 구성되는 롬 인터페이스장치의 동작을 라이트시와 리드시로 구분하여 타이밍도를 참조하여 설명하면 다음과 같다.Subsequently, the operation of the ROM interface device configured as described above is divided into a write time and a read time and described with reference to the timing chart.

1. 롬 라이트 동작1. Rom light operation

먼저, 프로세서가 16비트폭의 주변장치를 억세스할 경우에 한 번의 프로세서 버스 사이클에 주변장치는 2번의 로컬 버스 사이클을 처리해야 한다. 즉, 라이트시 프로세서가 출력하는 32비트 데이터는 16비트 주변장치가 2번에 걸쳐 이를 가져가야 되고, 리드시에는 주변장치가 2번에 걸쳐 내놓은 데이터를 프로세서가 한 번에 읽어 간다. 그리고 16비트 주변장치는 로컬 데이터 버스의 첫 번째 워드(MP_LD[31..16])에 연결되어 있다.First, when a processor accesses a 16-bit wide peripheral, the peripheral must process two local bus cycles in one processor bus cycle. In other words, the 32-bit data output by the write processor must be taken twice by the 16-bit peripheral device, and when read, the processor reads the data output twice by the peripheral device at once. The 16-bit peripheral is connected to the first word (MP_LD [31..16]) on the local data bus.

도 3을 참조하면, 프로세서(210)가 16비트 폭의 롬(216)에 라이트할 경우, 프로세서 데이터 버스의 첫 번째 바이트(MP_D[31..24])는 제1 멀티플랙서(304)에 의해 선택되어 로컬 데이터 버퍼(302)를 통해 로컬 데이터 버스의 첫 번째 바이트(MP_LD[31..24])에 연결되고, 두 번째 바이트(MP_D[23..16])는 제2 멀티플랙서(306)에 의해 선택되어 로컬 데이터 버퍼(302)를 통해 로컬 데이터 버스의 두 번째 바이트(MP_LD[23..16])에 연결된다.Referring to FIG. 3, when the processor 210 writes to the 16-bit wide ROM 216, the first byte (MP_D [31..24]) of the processor data bus is written to the first multiplexer 304. Selected by the local data buffer 302 and connected to the first byte (MP_LD [31..24]) of the local data bus and the second byte (MP_D [23..16]) is connected to the second multiplexer ( 306 is selected and connected via the local data buffer 302 to the second byte (MP_LD [23..16]) of the local data bus.

이때, 16비트 폭 롬(216)은 32비트 로컬 데이터 버스의 첫 번째 워드(MP_LD[31..16])에 연결되어 있으므로, 프로세서 데이터 버스의 첫 번째 워드(MP_D[31..16])는 로컬 데이터 버스의 첫 번째 워드(MP_LD[31..16])로 그대로 연결되나 프로세서의 두 번째 워드(MP_D[15..0])는 로컬 데이터 버스의 첫 번째 워드(MP_LD[31..16])로 스와핑해야 한다.At this time, since the 16-bit wide ROM 216 is connected to the first word (MP_LD [31..16]) of the 32-bit local data bus, the first word (MP_D [31..16]) of the processor data bus is The first word of the local data bus (MP_LD [31..16]) is connected as is, but the second word of the processor (MP_D [15..0]) is the first word of the local data bus (MP_LD [31..16]). Must be swapped with).

따라서 프로세서 데이터 버스의 세 번째 바이트(MP_D[15..8])는 제1 멀티플랙서(304)에 의해 선택되어 로컬 데이터 버퍼(302)를 통해 로컬 데이터 버스의 첫 번째 바이트(MP_LD[31..24])로 연결되고, 프로세서 데이터 버스의 네 번째 바이트(MP_D[7..0])는 제2 멀티플랙서(306)에 의해 선택되어 로컬 데이터 버퍼(302)를 통해 로컬 데이터 버스의 두 번째 바이트(MP_LD[23..16])로 연결된다.Thus, the third byte (MP_D [15..8]) of the processor data bus is selected by the first multiplexer 304 to pass the first byte of the local data bus (MP_LD [31. .24]), the fourth byte (MP_D [7..0]) of the processor data bus is selected by the second multiplexer 306 to pass the two data of the local data bus through the local data buffer 302. Concatenation to the first byte (MP_LD [23..16]).

도 5는 본 발명의 롬 인터페이스 장치에서 라이트시 동작 타이밍도이다. 도 5에서 PCLK는 프로세서의 동작 클럭을 나타내고, /rom_en은 로우 액티브의 롬 인에이블신호를 나타내며, second는 워드 동작에서 두 번째 워드를 억세스하는 것을 나타낸다. rom_a1은 로컬 프로세서 사이클에서 두 번째 워드 억세스시 어드레스를 1증가시키는 것을 나타내고, MP_D[31..16]은 프로세서 버스에서 첫 번째 워드 데이터를 나타내고, MP_D[15..0]은 프로세서 버스에서 두 번째 워드 데이터를 나타낸다. MP_LD[31..16]은 로컬 데이터 버스상에 두 번의 로컬 버스 사이클을 통해 워드데이터를 가져오는 것을 나타내고, /rom_wr은 롬 라이트신호이며, ta는 종료신호이다.5 is a timing diagram of an operation during write in the ROM interface device of the present invention. In FIG. 5, PCLK represents an operating clock of a processor, / rom_en represents a low active ROM enable signal, and second represents an access to a second word in a word operation. rom_a1 indicates that the address is incremented by one on the second word access in the local processor cycle, MP_D [31..16] represents the first word data on the processor bus, and MP_D [15..0] represents the second on the processor bus Indicates word data. MP_LD [31..16] indicates bringing word data through two local bus cycles on the local data bus, where / rom_wr is the ROM write signal and ta is the end signal.

도 5를 참조하면, 프로세서가 플래시 롬에 라이트시에 32비트 프로세서 버스에 실린 2 워드 데이터가 두 번의 롬 라이트 신호(/rom_wr)에 의해 로컬 데이터 버스에 연결된 플래시 롬(216)의 2개 어드레스에 각각 저장되는 것을 알 수 있다. 이때 second신호와 rom_a1신호는 첫 번째 워드와 두 번째 워드의 데이터를 구분하여 처리하기 위한 것이다.Referring to FIG. 5, when the processor writes to a flash ROM, two word data loaded on a 32-bit processor bus are transferred to two addresses of a flash ROM 216 connected to a local data bus by two ROM write signals (/ rom_wr). You can see that each is stored. At this time, the second signal and the rom_a1 signal are used to distinguish and process data of the first word and the second word.

2. 롬 리드동작2. ROM lead operation

프로세서(210)가 16비트 폭의 롬(216)을 리드할 경우, 롬이 출력하는 첫 번째 워드 데이터는 프로세서 버스의 첫 번째 워드로 출력하고, 롬이 출력하는 두 번째 워드 데이터는 프로세서 버스의 두 번째 워드로 출력한다.When the processor 210 reads a 16-bit wide ROM 216, the first word data output by the ROM is output as the first word on the processor bus, and the second word data output by the ROM is output on both sides of the processor bus. Output as the first word.

16비트 롬(216)이 출력하는 첫 번째 로컬 버스 사이클의 첫 번째 바이트(MP_LD[31..24])는 래치(402)에 의해 래치되어 프로세서 데이터 버퍼(410)에서 대기하고 있고, 두 번째 바이트(MP_LD[23..16])는 래치(404)에 의해 래치되어 프로세서 데이터 버퍼에서 대기하고 있다. 이어 두 번째 로컬 버스 사이클에서 롬(216)이 출력하는 첫 번째 바이트(MP_LD[31..24])는 멀티플랙서(406)에 의해 선택되어 프로세서 데이터 버퍼에서 대기하고, 두 번째 바이트(MP_LD[23..16])는 멀티플랙서(408)에 의해 선택되어 프로세서 데이터 버퍼에서 대기한다. 이어 제어신호 발생기(308)에 의해 프로세서 데이터 버퍼(410)가 인에이블되면 프로세서 데이터 버퍼에서 대기중이던 32비트 데이터들이 프로세서 데이터 버스(MP_D[31..0])에 그대로 실리게 된다.The first byte (MP_LD [31..24]) of the first local bus cycle output by the 16-bit ROM 216 is latched by the latch 402, waiting in the processor data buffer 410, and the second byte. (MP_LD [23..16]) is latched by the latch 404 and waiting in the processor data buffer. The first byte (MP_LD [31..24]) output by ROM 216 in the second local bus cycle is then selected by the multiplexer 406 to wait in the processor data buffer, and the second byte (MP_LD [ 23..16) is selected by the multiplexer 408 to wait in the processor data buffer. Subsequently, when the processor data buffer 410 is enabled by the control signal generator 308, 32-bit data waiting in the processor data buffer is loaded on the processor data bus MP_D [31..0].

도 6은 본 발명의 롬 인터페이스 장치에서 리드시 동작 타이밍도이다. 도 6에서 PCLK는 프로세서의 동작 클럭을 나타내고, /rom_en은 로우 액티브의 롬 인에이블신호를 나타내며, /rom_oe은 롬 출력인에이블신호를 나타내며, second는 워드 동작에서 두 번째 워드를 억세스하는 것을 나타낸다. lat_en은 래치를 인에이블시키는 래치신호를 나타내고, rom_a1은 로컬 프로세서 사이클에서 두 번째 워드 억세스시 어드레스를 1증가시키는 것을 나타낸다. MP_LD[31..16]은 롬이 연결되는 로컬 데이터 버스에서 데이터의 타이밍을 나타내고, MP_D[31..16]은 프로세서 데이터 버스에서 첫 번째 워드가 전달된 것을 나타내며, MP_D[15..0]은 프로세서 버스에서 두 번째 워드 데이터를 나타낸다. ta는 종료신호이다.6 is a timing diagram of a read operation during the ROM interface device of the present invention. In FIG. 6, PCLK represents an operating clock of a processor, / rom_en represents a low active ROM enable signal, / rom_oe represents a ROM output enable signal, and second represents an access to a second word in word operation. lat_en indicates a latch signal for enabling the latch, and rom_a1 indicates that the address is increased by one during the second word access in the local processor cycle. MP_LD [31..16] indicates the timing of data on the local data bus to which the ROM is connected, MP_D [31..16] indicates the first word has been transferred on the processor data bus, and MP_D [15..0] Denotes the second word data on the processor bus. ta is an end signal.

도 6을 참조하면, 프로세서(210)가 롬(216)을 리드할 경우에 로컬 데이터 버스상에서 2번에 걸쳐 출력되는 롬 데이터가 프로세서 데이터 버스상에 각각 실려 한 번에 프로세서로 읽혀지는 것을 보여준다. 이때 첫 번째 워드 데이터는 래치신호에 의해 래치된 후, 두 번째 워드가 제공될 때 한 번의 프로세서 리드로 읽혀 지고, second신호와 rom_a1신호는 첫 번째 워드와 두 번째 워드의 데이터를 구분하여 처리할 수 있게 한다.Referring to FIG. 6, when the processor 210 reads the ROM 216, the ROM data output twice on the local data bus is loaded on the processor data bus and read by the processor at once. At this time, the first word data is latched by the latch signal, and when the second word is provided, it is read by one processor read. The second signal and the rom_a1 signal can be processed by dividing the data of the first word and the second word. To be.

이상에서 살펴 본 바와 같이, 본 발명에 따른 롬 인터페이스장치는 다이나믹 버스 사이징이 지원되지 않은 MC68040 이상의 프로세서에서 16비트폭의 롬 인터페이스를 제공하여 주므로써 종래의 프로세서보드가 4개의 8비트 폭 롬으로 구현되었으나 본 발명에서는 2개의 롬으로 구현 가능하다. 따라서 프로세서 보드에서 로컬버스를 구현함에 있어 높은 집적도를 가질 수 있어 PCB 설계를 용이하게 하고, 제조비용을 절감할 수 있으며, 롬 실장시 보다 적은 공간이 점유된다.As described above, the ROM interface device according to the present invention provides a 16-bit wide ROM interface in a MC68040 or higher processor that does not support dynamic bus sizing, thereby enabling a conventional processor board to have four 8-bit wide ROMs. However, the present invention can be implemented in two ROMs. Therefore, the local bus on the processor board can have a high degree of integration to facilitate PCB design, reduce manufacturing costs, and occupy less space when ROM is mounted.

Claims (1)

어드레스버스와 데이터버스 및 각종 제어신호선을 제공하되 다이나믹 버스 사이징이 지원되지 않은 프로세서를 이용하여 동일 셀프에 실장되는 다른 보드들을 제어하기 위한 프로세서 보드에서 상기 데이터 버스에 워드 포트의 롬을 연결하기 위한 장치에 있어서,Apparatus for connecting the word port ROM to the data bus in a processor board for controlling other boards mounted on the same shelf using a processor that provides an address bus, a data bus, and various control signal lines but does not support dynamic bus sizing To 라이트 동작시 선택신호에 따라 프로세서 데이터 버스의 첫 번째 바이트와 세 번째 바이트 바이트 중 하나를 선택하기 위한 제1 멀티플랙서(304);A first multiplexer 304 for selecting one of the first byte and the third byte of the processor data bus according to the selection signal during the write operation; 라이트 동작시 선택신호에 따라 프로세서 데이터 버스의 두 번째 바이트 혹은 네 번째 바이트중 하나를 선택하기 위한 제2 멀티플랙서(306);A second multiplexer 306 for selecting one of the second byte and the fourth byte of the processor data bus according to the selection signal during the write operation; 라이트 동작시 상기 제1 멀티플랙서 및 제2 멀티플랙서의 출력과 프로세서 데이터 버스의 세 번째 및 네 번째 바이트를 버퍼인에이블신호에 따라 로컬 데이터 버스로 전달하기 위한 로컬 데이터 버퍼(302);A local data buffer 302 for transferring outputs of the first multiplexer and the second multiplexer and third and fourth bytes of a processor data bus to a local data bus in response to a buffer enable signal during a write operation; 리드동작시 래치신호에 따라 로컬 데이터 버스의 첫 번째 바이트의 데이터를 래치하기 위한 제1 래치(402);A first latch 402 for latching data of a first byte of a local data bus according to a latch signal during a read operation; 리드동작시 래치신호에 따라 로컬 데이터 버스의 두 번째 바이트를 선택하기 위한 제2 래치(404);A second latch 404 for selecting a second byte of the local data bus according to the latch signal during a read operation; 리드동작시 선택신호에 따라 로컬 데이터 버스의 첫 번째 바이트 혹은 세 번째 바이트를 선택하기 위한 제3 멀티플랙서(406);A third multiplexer 406 for selecting the first byte or the third byte of the local data bus according to the selection signal during the read operation; 리드동작시 선택신호에 따라 로컬 데이터 버스의 두번째 바이트 혹은 네번째 바이트 중 하나를 선택하기 위한 제4 멀티플랙서(408);A fourth multiplexer 408 for selecting one of the second byte and the fourth byte of the local data bus according to the selection signal during the read operation; 리드동작시 버퍼인에이블신호에 따라 상기 제1 래치, 제2 래치, 제3 멀티플랙서, 및 제4 멀티플랙서의 출력을 프로세서 데이터 버스에 전달하기 위한 프로세서 데이터 버퍼(410); 및A processor data buffer 410 for transferring outputs of the first latch, the second latch, the third multiplexer, and the fourth multiplexer to a processor data bus in response to a buffer enable signal; And 상기 프로세서가 상기 롬에 라이트할 경우 한 번의 프로세서 버스 사이클로 프로세서 데이터 버스로 출력하는 32비트 데이터를 2번의 로컬 버스 사이클로 읽어 가고, 롬을 리드할 경우 두 번의 로컬 버스 사이클로 각각 출력되는 로컬 데이터 버스상의 데이터를 한 번의 프로세서 버스 사이클로 읽어 가도록 선택신호, 래치신호, 및 버퍼인에이블신호를 출력하는 제어신호 발생부(308)를 포함하는 것을 특징으로 하는 통신처리시스템의 프로세서 보드에서 롬 인터페이스장치.When the processor writes to the ROM, the 32-bit data output to the processor data bus is read in two local bus cycles in one processor bus cycle, and the data on the local data bus output in two local bus cycles when the ROM is read. And a control signal generator (308) for outputting a selection signal, a latch signal, and a buffer enable signal to read the data in one processor bus cycle.
KR1019970064389A 1997-11-29 1997-11-29 Apparatus for interfacing rom to processor bus KR100252508B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970064389A KR100252508B1 (en) 1997-11-29 1997-11-29 Apparatus for interfacing rom to processor bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970064389A KR100252508B1 (en) 1997-11-29 1997-11-29 Apparatus for interfacing rom to processor bus

Publications (2)

Publication Number Publication Date
KR19990043388A KR19990043388A (en) 1999-06-15
KR100252508B1 true KR100252508B1 (en) 2000-04-15

Family

ID=19525981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970064389A KR100252508B1 (en) 1997-11-29 1997-11-29 Apparatus for interfacing rom to processor bus

Country Status (1)

Country Link
KR (1) KR100252508B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439217B1 (en) * 2001-09-27 2004-07-05 엘지전자 주식회사 Apparatus and method for ROM writer in communication system

Also Published As

Publication number Publication date
KR19990043388A (en) 1999-06-15

Similar Documents

Publication Publication Date Title
US5568619A (en) Method and apparatus for configuring a bus-to-bus bridge
US5448703A (en) Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US5819096A (en) PCI to ISA interrupt protocol converter and selection mechanism
US5970236A (en) Circuit for selectively performing data format conversion
US5826048A (en) PCI bus with reduced number of signals
KR940012146A (en) Semiconductor integrated circuit with CPU and multiplier
KR960025719A (en) First-in, first-out buffer with adjustable depth and width
JPH05204820A (en) Microcessor, processing system and bus interface
EP0658852A3 (en) Computer system with derived local bus
KR20040030049A (en) Memory device having different burst order addressing for read and write operations
US6366973B1 (en) Slave interface circuit for providing communication between a peripheral component interconnect (PCI) domain and an advanced system bus (ASB)
US6266723B1 (en) Method and system for optimizing of peripheral component interconnect PCI bus transfers
US5497466A (en) Universal address generator
KR100476895B1 (en) Interface device having variable data transfer mode and operating method thereof
US20030145149A1 (en) External bus controller
KR100252508B1 (en) Apparatus for interfacing rom to processor bus
KR960001023B1 (en) Bus sharing method and the apparatus between different bus
KR970059914A (en) Flash memory system
JPH11259417A (en) Bus access system and bus access controller
KR100261154B1 (en) Dma controller
US7228367B2 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
US6483753B1 (en) Endianess independent memory interface
KR100258691B1 (en) An apparatus for adjusting data bus size according to the port size of peripheral devices in icps
US5944808A (en) Partial parity correction logic
KR100452332B1 (en) Method for improving data read and write speed

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