KR100221077B1 - 로컬버스의 읽기 데이터 버퍼 - Google Patents

로컬버스의 읽기 데이터 버퍼 Download PDF

Info

Publication number
KR100221077B1
KR100221077B1 KR1019970008648A KR19970008648A KR100221077B1 KR 100221077 B1 KR100221077 B1 KR 100221077B1 KR 1019970008648 A KR1019970008648 A KR 1019970008648A KR 19970008648 A KR19970008648 A KR 19970008648A KR 100221077 B1 KR100221077 B1 KR 100221077B1
Authority
KR
South Korea
Prior art keywords
data
buffer
local bus
read
output
Prior art date
Application number
KR1019970008648A
Other languages
English (en)
Other versions
KR19980073408A (ko
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 KR1019970008648A priority Critical patent/KR100221077B1/ko
Publication of KR19980073408A publication Critical patent/KR19980073408A/ko
Application granted granted Critical
Publication of KR100221077B1 publication Critical patent/KR100221077B1/ko

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
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

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

Abstract

본 발명은 로컬버스의 읽기 데이터 버퍼에 관한 것으로써, 로컬버스의 데이터 읽기 동작시 시스템 버스 상에 요구하는 블록 데이터가 전송될 경우 각 데이터를 저장 위치 및 순서를 결정하여 해당 읽기 데이터 버퍼에 분리 저장하고, 제어신호에 따라 저장된 각 데이터를 출력 순서에 의해 다중 출력하여 로컬버스로 구동시키도록 함으로써, 로컬버스의 읽기 데이터 버퍼에서 블록 데이터 읽기시, 블록 데이터 전송의 순서가 HiPi+ 버스처럼 고정되어 있는 버스와 로컬버스와 같이 어드레스에 따라 순서가 바뀌는 버스 사이에서의 읽기 경로로 사용할 수 있도록 하는 것이다.
이와 같은 본 발명은 로컬버스의 데이터 읽기 동작시 시스템 버스 상에 요구하는 블록 데이터가 전송될 경우 선택신호 및 제어신호에 따라 해당 데이터의 저장 위치 및 순서를 결정하는 버퍼 제어수단과; 버퍼 제어수단에서 출력된 선택 및 제어신호에 따라 전송되는 데이터를 각각 분리 저장하고, 각 저장된 데이터를 순서에 따라 출력하는 다수개의 버퍼와; 버퍼를 통해 출력되는 데이터를 제어신호에 따라 다중 출력하여 로컬버스로 구동시키는 데이터 선택수단으로 이루어짐을 특징으로 한다.

Description

로컬버스의 읽기 데이터 버퍼
본 발명은 로컬버스의 읽기 데이터 버퍼에 관한 것으로서, 특히 중앙처리장치(CPU) 버스를 로컬버스(Local Bus)로 하고, 로컬버스와 별도의 시스템 버스를 갖는 시스템에서 로컬버스가 데이터 읽기 동작을 할 경우 시스템 버스상의 데이터를 로컬버스로 전달하도록 하는 로컬버스의 읽기 데이터 버퍼에 관한 것이다.
일반적으로 상용화되고 있는 주전산기Ⅲ 시스템에서는 인텔사(INTEL Co.)의 펜티움(Pentium)급 CPU를 사용하여 멀티프로세스(Multi-process) 기능을 구현하고 있다.
도 1은 종래 기술에 의한 멀티 프로세서(MPU : Multi-Processing Unit)의 읽기 데이터 버퍼 구성도로서, 이에 도시된 바와 같이 시스템 버스(HiPi+ Bus)와 시스템 버스 컨트롤러(120) 사이에서 시스템 버스의 데이터를 인터페이스 하는 시스템 버스 인터페이스부(BTL : Bus Transceiver Logic)(110)와; 상기 시스템 버스 인터페이스부(110)와 캐시 메모리(C8C, C8C', C88)(도면에 미도시) 사이에 위치하여 상기 시스템 버스 컨트롤러(120)로부터 출력된 신호(drcp)에 동기되어 상기 시스템 버스 인터페이스부(110)로부터 전송된 데이터(sdata[127:0])를 버퍼링하도록 제 1 내지 제 4 플립플롭(131∼134)이 직렬 구성된 읽기 데이터 버퍼(130)와; 상기 읽기 데이터 버퍼(130)의 각 플립플롭(131∼134)의 출력값을 선택신호(SEL1, SEL0)에 따라 해당 데이터(data[127:0])를 캐시 메모리로 전송하는 멀티플렉서(Multiplexor)(140)로 구성된다.
이와 같이 구성된 종래 기술의 동작을 상세히 설명하면 다음과 같다.
도 2에서 'sclk'는 시스템 버스 컨트롤러(120)의 동작 클럭이고, 'sdata[127:0]'는 시스템 데이터 버스를 시스템 버스 인터페이스부(110)에서 저장한 데이터이며, 'drcp'는 상기 sdata[127:0]의 저장 펄스(Registering Pulse)이다.
먼저, 'data[127:0]'은 상기 읽기 데이터 버퍼(130)에서 캐시로 구동하는 데이터로서, 구현하기 따라서는 'sdata[127:0]'와 'data[127:0]'을 물리적으로 같은 버스로도 구현할 수 있는데, 이때 상기 시스템 버스 인터페이스부(110)가 상기 읽기 데이터 버퍼(130)로 데이터를 구동하는 것과 읽기 데이터 버퍼(130)가 캐시 메모리(도면에 미도시)로 데이터를 구동하는 것이 동시에 일어나지 않도록 해야 한다.
한편, 자신이 요구한 데이터가 시스템 버스 상에 구동되면 시스템 버스 인터페이스부(110)에서 해당 데이터를 저장하여 'sdata[127:0]'로 구동한다. 만약 'sdata[127:0]'이 유효한 값을 가질 때 'drcp' 신호가 발생하게 되고, 따라서 도 2에 도시된 바와 같이, 읽기 데이터 버퍼는 'drcp'의 상승 에지에서 'sdata[127:0]'의 값을 제 4 플립플롭(134)인 'dregd[127:0]'에 저장한다. 만약 시스템 버스 상에서 블록 데이터 읽기 전송이 발생하면 'sdata[127:0]'은 시스템 버스 인터페이스부(110)로부터 제 1 내지 제 4 플립플롭(131∼134)에 순서대로 저장된다. 즉, 'sdata[127:0] > dregd[127:0] > dregc[127:0] > dregb[127:0] > drega[127:0]' 순서로 저장되어 결국, 최초 전송된 데이터는 제 1 플립플롭(131)인 'drega[127:0]'에 저장되고, 그 다음 전송된 데이터는 각각 'dregb[127:0]', 'dregc[127:0]', 'dregd[127:0]' 순서로 저장된다.
즉, 시스템 버스로부터 읽기 데이터 전송시 읽기 데이터 버퍼(130)내에서 데이터의 저장위치는 시스템 버스 상의 전송 순서에 따라 고정되어 있다. 시스템 버스상의 데이터가 읽기 데이터 버퍼부(130)에 모두 저장되면 읽기 데이터 버퍼부(130) 내의 데이터는 캐시 메모리로 구동된다.
이때 캐시 메모리로 구동되는 데이터는 읽기 전송이 블록이 아니면 멀티 플렉서(140)의 선택신호가 모두 하이레벨(SEL1 = SEL0 = 1)로 하여 제 1 플립플롭(131)의 'dregd[127:0]'의 값이 'data[127:0]'으로 구동하고, 만약 읽기 전송 데이터가 블록 데이터(16 Bytes 보다 클 때)라면 다음 표 1과 같이 각 선택신호(SEL1)(SEL0) 값을 각각 '00 > 01 > 10 > 11'로 하여 맨 처음에는 제 4 플립플롭(134)의 'drega[127:0]' 값이 'data[127:0]'으로 구동하고, 그 다음은 'dregb[127:0] > dregc[127:0] > dregd[127:0]' 순서로 'data[127:0]'에 구동한다.
[표 1]
Figure kpo00001
이와 같이 읽기 데이터 버퍼부(130)는 데이터의 블록 전송시 그 순서가 고정되어 있다. 즉, 어드레스가 작은 값의 데이터부터 순차적으로 전송된다.
종래의 로컬버스 읽기 데이터 버퍼는 상기한 바와 같이 블록 데이터(64 Byte 보다 클 때)를 읽을 때, 블록 데이터 전송순서가 고정되어 있는 종래의 로컬버스 읽기 데이터 버퍼는 펜티움 프로 프로세서(P6)와 같이 블록 전송의 순서가 하이파이(HiPi+) 버스와 어드레스 값에 따라 순서가 바뀌는 로컬버스 사이에서는 사용할 수 없는 문제점이 있었다.
따라서 본 발명은 상기한 종래 기술의 문제점을 개선하고자, 로컬버스의 데이터 읽기 동작시 시스템 버스상에 요구하는 블록 데이터가 전송될 경우 각 데이터의 저장 위치 및 순서를 결정하여 해당 읽기 데이터 버퍼에 분리 저장하고, 제어신호에 따라 저장된 각 데이터를 출력 순서에 의해 다중 출력하여 로컬버스로 구동시키도록 함으로써, 로컬 버스의 읽기 데이터 버퍼에서 블록 데이터 읽기시, 블록 데이터 전송의 순서가 HiPi+ 버스처럼 고정되어 있는 버스와 CPU 버스와 같이 어드레스에 따라 순서가 바뀌는 버스 사이에서의 읽기 경로로 사용할 수 있도록 하는 로컬버스의 읽기 데이터 버퍼를 제공함에 목적이 있다.
도 1은 종래 기술에 의한 로컬버스의 읽기 데이터 버퍼의 구성도.
도 2는 도 1에서 시스템 데이터 및 레지스터 클럭 파형도.
도 3은 본 발명에 따른 로컬버스의 인터페이스 회로 구성도.
도 4는 본 발명에 따른 로컬버스의 읽기 데이터 버퍼의 회로 구성도.
도 5a는 도 4에서 멀티플렉서의 다중출력을 위한 상태 천이도.
도 5b는 도 4에서 각 제어신호의 발생회로도.
도 5c는 도 5b의 입력신호의 조합로직 표시도.
도 6은 블록 데이터 전송을 위한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
201 : CPU 인터페이스부 210 : 버퍼 선택부
220,230 : 제 1, 제 2 버퍼 221,222 : 제 1, 제 2 플립플롭
231,232 : 제 3, 제 4 플립플롭 240 : 데이터 선택부
241 : 멀티플렉서 242 : 출력 버퍼
301,302 : 제 5, 제 6 플립플롭
상기한 본 발명의 목적을 달성하기 위한 로컬버스의 읽기 데이터 버퍼는 로컬버스의 데이터 읽기 동작시 시스템 버스 상에 요구하는 블록 데이터가 전송될 경우 선택신호 및 제어신호에 따라 해당 데이터의 저장 위치 및 순서를 결정하는 버퍼 제어수단과; 상기 버퍼 제어수단에서 출력된 선택 및 제어신호에 따라 전송되는 데이터를 각각 분리 저장하고, 각 저장된 데이터를 순서에 따라 출력하는 다수개의 버퍼와; 상기 버퍼를 통해 출력되는 데이터를 제어신호에 따라 다중 출력하여 로컬버스로 구동시키는 데이터 선택수단으로 이루어짐을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면에 의거하여 상세히 설명하면 다음과 같다.
먼저 도 3은 로컬버스(CPU 버스) 인터페이스부의 회로 구성도이고, 도 4는 본 발명의 실시예에 따른 로컬버스의 읽기 데이터 버퍼의 회로 구성도이고, 도 5a는 데이터의 다중 출력을 위한 상태 천이도이고, 도 5b는 'drsel0, drsel, drdyi_, droe_' 신호의 래치회로이고, 도 5c는 도 5b의 입력신호의 조합로직이다.
도 4는 본 발명의 실시예에 따른 로컬버스의 읽기 데이터 버퍼의 구성도로서, 이에 도시된 바와 같이 로컬버스의 데이터 읽기 동작시 시스템 버스상에 요구하는 데이터(D[127:64])(D[63:0])가 전송될 경우 선택신호 및 제어신호(dsel)(addr3)에 따라 해당 데이터의 저장 위치 및 순서를 결정하는 버퍼 제어부(210)와; 상기 버퍼 제어부(210)에서 출력된 선택 및 제어신호(dsel)(addr3)에 따라 전송되는 데이터를 각각 분리 저장(drai[63:0]∼drbi[63:0])하고, 상기 각 저장된 데이터를 순서에 따라 출력(drai[63:0]∼drbi[63:0])하는 제 1, 제 2 버퍼(220)(230)와; 상기 각 버퍼(220)(230)를 통해 출력되는 데이터(dra[63:0]∼drb[63:0])를 제어신호(drsel0)(drsel)에 따라 다중 출력(Di[63:0])하여 로컬버스로 구동(D[63:0])시키는 데이터 선택부(240)로 구성된다.
여기서, 버퍼 제어부(210)는 전송되는 데이터가 블록 데이터인지 여부와 제 4 어드레스값(addr4)에 따라 버퍼를 결정하고, 제 3 어드레스값(addr3)에 따라 해당 버퍼의 상위 64비트 또는 하위 64비트를 선택 구동시킨다.
또한, 상기 제 1, 제 2 버퍼(220)(230)는 상기 버퍼 제어부(210)를 통해 출력되는 제어신호(addr3)에 따라 각 데이터를 상위 및 하위 64 비트 데이터로 나누어 각각 저장하고, 버퍼 인에이블 신호(ENA)에 따라 저장된 데이터를 구동 출력하는 제 1, 제 2 플립플롭(221, 222)과 제 3, 제 4 플립플롭(231, 232)으로 구성된다.
또한, 상기 데이터 선택부(240)는 상기 각 버퍼(220)(230)에 저장된 데이터를 선택신호(drsel0)(drsel1)에 따라 해당 데이터를 순서대로 출력하는 멀티플렉서(241)와; 상기 멀티플렉서(241)에서 출력된 데이터를 출력 인에이블신호(droe_)에 따라 로컬버스로 데이터(D[63:0])를 구동시키는 출력 버퍼(242)로 구성된다.
이와 같이 구성된 본 발명의 작용을 첨부된 도면 도 3 내지 도 6을 참조하여 상세히 설명하면 다음과 같다.
먼저, 본 발명은 도 3에 도시된 바와 같이, CPU 인터페이스부(GTL+ Interface)(201)를 통해 로컬 버스의 읽기 데이터 버퍼를 제어 및 데이터를 인터페이스한다.
도 4는 본 발명의 실시예에 따른 로컬버스의 읽기 데이터 버퍼의 구성도로서, 이에 도시된 바와 같이 데이터 읽기시 CPU 인터페이스부(201)를 통해 시스템 버스상에 요구하는 데이터가 전송될 경우, 입력된 데이터를 제어신호에 따라 해당 버퍼(220)(230)에 저장한다.
즉, 입력된 데이터(D[127:64], D[63:0])는 버퍼 제어부(210)에서 'addr3'과 'dsel'에 의해 데이터의 저장위치가 결정된다. 여기서, 'dsel' 신호는 도 6에 도시된 바와 같이 읽기 데이터 전송이 블록일때와 블록이 아닐 때 그리고 'addr4'의 값에 의해 결정된다.
보다 상세하게는, 만약 읽기 데이터 전송이 블록일 경우에는 시스템 버스 인터페이스에서 구동하는 데이터(D[127:0])의 첫 번째 전송시에는 'dsel' 신호는 'addr4'와 같은 값이고, 두 번째 전송시에는 'addr4'와 반대의 값이다. 그러나 읽기 전송 데이터가 블록이 아닐 경우에는 'dsel'의 값이 '0(low)'가 된다.
즉, 읽기 데이터 버퍼는 데이터를 저장할 때 'addr[4:3]'과 데이터의 블록 전송여부에 따라 데이터 저장 위치를 다르게 한다. 일단 시스템 버스 인터페이부에서 구동된 읽기 데이터는 읽기 데이터 버퍼에 모두 저장하면 'rdrdy' 신호가 활성화(Active) 상태로 구동된다.
다음 표 2을 참조하여 보다 상세히 설명하면 다음과 같다.
[표 2]
Figure kpo00002
먼저, 버퍼 제어부(210)에서 선택된 해당 버퍼(220)(230)에 읽기 데이터(drai[63:0], drbi[63:0], drci[63:0], drdi[63:0])가 저장되는데, 만약 'dsel' 값이 '0'일 경우에는 제 1 버퍼(220)의 각 플립플롭(221)(222)이 인에이블(ENA)되어 상위 64비트와 하위 64비트 데이터(drai[63:0], drbi[63:0])가 각각 저장된다. 또한 'dsel' 값이 '1'일 경우에는 상기 제 1 버퍼(220)은 디세이블(disable)되고, 제 2 버퍼(230)의 각 플립플롭(231)(232)이 인에이블되어 해당 데이터(drci[63:0], drdi[63:0])를 각각 저장하게 된다.
이와 같이 시스템 버스 인터페이스부에서 구동된 읽기 데이터가 각 버퍼에 모두 저장되면, 'rdrdy' 신호가 활성화 상태로 구동되어, 도 5b에 도시된 바와 같이 'drsel0, drsel1, droe_, drdyi' 신호가 발생되고, 저장된 각 데이터(drai[63:0]∼drdi[63:0])는 데이터 선택부(240)에서 제어신호(drsel0)(drsel1)(droe_)에 따라 선택 출력(D[63:0])되어 로컬 버스로 구동된다.
즉, 각 버퍼(220)(230)의 플립플롭(221∼232)에 저장된 읽기 데이터(drai[63:0]∼drdi[63:0])는 멀티플렉서(241)에서 데이터 선택신호(dsel0. dsel1)에 따라 해당 데이터를 선택 출력하는데, 도 5a 내지 도 5c를 참조하여 보다 상세히 설명하면 다음과 같다.
도 5a는 멀티플렉서(241)의 데이터 선택신호(drsel0)(drsel1)를 발생하는 상태 천이도로서, 먼저 메모리 보드에서 읽기 버퍼로 저장 완료여부를 나타내기 쉬한 신호 'rdrdy'가 하이로 활성화되면 상태 천이를 시작한다. 즉, 'rdrdy' 신호가 하이로 활성화 될 경우에는 메모리 보드가 읽기 버퍼를 사용하기 위하여 다음 상태 'ACK0A'로 천이하게 된다. 반대로, 'rdrdy'신호가 로우인 경우에는 'IDLEA' 상태로 천이하여 대기하게 된다.
또한, 'ACK0A'에서 'ACK3A' 까지의 상태는 각 버퍼의 사용 순서를 결정하는 상태이고, 이는 'drdyi_' 신호에 의해 제어된다. 즉, 'drdyi_'신호가 하이로 비활성화된 경우에는 해당 읽기 버퍼에 저장이 완료되지 않았으므로 계속 그 버퍼에 저장하고, 'drdyi_' 신호가 로우로 활성화 된 경우에는 다음 버퍼를 결정하기 위하여 다음 상태로 천이한다.
이와 같은 순서로 모든 읽기 버퍼를 결정한 후 상태가 'ACK3A'에 천이된 후에는 'drdyi_'신호가 비활성화(Inactive) 된 경우에는 계속 버퍼에 저장하고, 'drdyi_'신호가 활성화된 경우에는 초기 상태인 'IDLEA' 상태로 천이한다.
이상의 상태로 'drsel0' 및 'drsel1' 신호를 결정한다. 즉, 'ACK0A' 또는 'ACK2A' 상태인 경우에는 'drsel0'가 하이가 되고, 'ACK1A' 또는 'ACK3A' 상태인 경우에는 'drsel1'가 하이가 되어 4개의 버퍼에서 읽기 순서를 결정하게 된다.
도 5b는 'drsel0, drsel1, drdyi_, droe_' 신호를 발생하는 조합 로직회로이고, 도 5c는 도 5b에 의해 구현되는 조합로직으로서, 이에 도시된 바와 같이 제 5 플립플롭(301)은 입력된 'drsel0i, drsel1i, drdyii_'를 래치하여 'drsel0, drsel1, drdyi_'를 출력하고, 'droes'와 'droer'는 S와 R단자에 각각 입력되어 래치한 후 'droe_'신호를 출력하게 된다. 제 5, 제 6 플립플롭(301)(302)은 동일 클럭을 사용하며, 각 프리세트(PRN) 및 클리어(CLRN)입력은 동일 리세트(rst_)신호를 사용한다. 여기서, 'droes'는 상태가 'ACK0A', 'ACK3A' 인 경우에는 'droe_'를 하이로 세트하고, 'droer'는 'IDLEA' 상태인 경우 'droe_'를 로우로 출력하여 초기 상태인지, 현재 읽기 버퍼에 저장하고 있는지의 여부를 나타낸다. 즉, 'droe_'는 로컬 버스로 데이터가 전송되게 하는 출력 인에이블 신호로써, '0'일 때에는 로컬 버스로 데이터가 구동된다.
이때, 읽기 전송이 블록이 아닌 경우에는 'drsel0 = dsel1 = 0'이 되고, 블록 데이터인 경우에는 'drsel1, drsel0'이 '(0,0) > (0,1) > (1,0) > (1,1)' 순서로 되어 'dra[63:0] > drb[63:0] > drc[63:0] > drd[63:0]' 순서로 로컬 버스로 데이터가 전송된다.
즉, 다음 표 3에 도시된 바와 같이 'dsel0'과 'drsel1' 값에 의해 각 플립플롭(221∼232)에 저장된 데이터를 전송하게 된다.
[표 3]
Figure kpo00003
결국, 블록 데이터 읽기 전송시 로컬 버스로 전송되는 데이터는 'addr[4:3]' 값에 따라 전송순서가 결정된다. 즉, 'addr[4:3]'이 '00'인 경우에는 해당 데이터가 로컬 버스로 처음으로 전송되고, 그 다음은 'addr[4:3]'이 '01 > 10 > 11'에 해당하는 데이터가 순서대로 전송된다. 또한 'addr[4:3] = 01' 인 경우에는 'addr[4:3]'이 '01 > 00 > 1 > 10'에 해당하는 데이터가 순서대로 전송된다.
또 한편, 'addr[4:3] = 10'인 경우에는 'addr[4:3]'이 '10 > 11 > 00 > 01'에 해당되는 데이터가 순서대로 전송되며 끝으로, 'addr[4:3] = 11'인 경우에는 '11 > 10 > 01 > 00'에 해당되는 데이터가 순서대로 전송된다.
결국, 로컬 버스의 규격대로 블록 읽기 데이터가 순서대로 구동된다.
도 5c에서 미설명 부호 '&'는 논리곱(and)이고, '#'는 논리합(or)이고, '!'는 반전(Invert)값을 나타낸다.
도 6은 블록 데이터 전송을 위한 타이밍도로서, 이에 도시된 바와 같이, 데이터가 블록 전송일 경우에는 (D), (E)의 경우와 같이 'block = 1(high)'이고, 블록 전송이 아닐 때(8byte 이하)에는 (F)과 같이 'block = 0(low)'이다. (A)는 시스템 클럭(sclk)이고, (B)는 블록 전송 데이터이고, (C)는 제 1 내지 제 4 플립플롭(221∼232)에 공급되는 클럭(drcp)이다. 또한, (D)(E)(F)에서 'dsel'과 'addr4'의 값이 동일할 경우에는 첫 번째 블록 데이터(1'st Transfer)를 전송하고, 'dsel'과 'addr4'의 값이 다를 경우에는 두 번째 블록 데이터(2'nd Transfer)를 전송한다.
본 발명은 이상에서 설명한 바와 같이 로컬 버스의 읽기 데이터 버퍼에서 블록 데이터 읽기시, 블록 데이터 전송의 순서가 HiPi+ 버스처럼 고정되어 있는 버스와 로컬 버스와 같이 어드레스에 따라 순서가 바뀌는 버스 사이에서의 읽기 경로로 사용할 수 있는 효과가 있다.

Claims (4)

  1. 로컬버스의 데이터 읽기 동작시 시스템 버스상에 요구하는 블록 데이터가 전송될 경우 선택신호 및 제어신호에 따라 해당 데이터의 저장 위치 및 순서를 결정하는 버퍼 제어수단과; 상기 버퍼 제어수단에서 출력된 선택 및 제어신호에 따라 전송되는 데이터를 각각 분리 저장하고, 각 저장된 데이터를 순서에 따라 출력하는 다수개의 버퍼와; 상기 버퍼를 통해 출력되는 데이터를 제어신호에 따라 다중 출력하여 로컬버스로 구동시키는 데이터 선택수단을 포함하여 구성된 것을 특징으로 하는 로컬버스의 읽기 데이터 버퍼.
  2. 제 1 항에 있어서, 상기 버퍼 제어수단은 전송되는 데이터가 블록 데이터인지 여부와 제 4 어드레스 값에 따라 버퍼를 결정하고, 제 3 어드레스 값에 따라 해당 버퍼의 상위 비트 또는 하위 비트를 선택 구동시킴을 특징으로 하는 로컬버스의 읽기 데이터 버퍼.
  3. 제 1 항에 있어서, 상기 각 버퍼는 상기 버퍼 제어수단을 통해 출력되는 제어신호에 따라 각 데이터를 상위 및 하위 비트 데이터로 나누어 각각 저장하고, 버퍼 인에이블 신호에 따라 저장된 데이터를 구동 출력하는 제 1, 제 2 플립플롭으로 이루어짐을 특징으로 하는 로컬버스의 읽기 데이터 버퍼.
  4. 제 1 항에 있어서, 상기 데이터 선택수단은 상기 각 버퍼에 저장된 데이터를 선택신호에 따라 해당 데이터를 순서대로 출력하는 멀티플렉서와; 상기 멀티플렉서에서 출력된 데이터를 출력 인에이블신호에 따라 로컬버스로 데이터를 구동시키는 출력 버퍼로 이루어짐을 특징으로 하는 로컬버스의 읽기 데이터 버퍼.
KR1019970008648A 1997-03-14 1997-03-14 로컬버스의 읽기 데이터 버퍼 KR100221077B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970008648A KR100221077B1 (ko) 1997-03-14 1997-03-14 로컬버스의 읽기 데이터 버퍼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970008648A KR100221077B1 (ko) 1997-03-14 1997-03-14 로컬버스의 읽기 데이터 버퍼

Publications (2)

Publication Number Publication Date
KR19980073408A KR19980073408A (ko) 1998-11-05
KR100221077B1 true KR100221077B1 (ko) 1999-09-15

Family

ID=19499726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970008648A KR100221077B1 (ko) 1997-03-14 1997-03-14 로컬버스의 읽기 데이터 버퍼

Country Status (1)

Country Link
KR (1) KR100221077B1 (ko)

Also Published As

Publication number Publication date
KR19980073408A (ko) 1998-11-05

Similar Documents

Publication Publication Date Title
KR100578112B1 (ko) 메모리 클럭 신호를 제어하는 컴퓨터 시스템 및그 방법
US6763416B1 (en) Capturing read data
US5970236A (en) Circuit for selectively performing data format conversion
US20070067580A1 (en) Memory Access Interface for a Micro-Controller System with Address/Data Multiplexing Bus
GB2377066A (en) Memory with strobe edge counter
US5644773A (en) Sense amplifier timing method and apparatus for peak power reduction
US20050180240A1 (en) Method and system for fast memory access
KR920003270B1 (ko) 캐쉬 메모리를 사용한 블록 액세스 장치
KR100476895B1 (ko) 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
US5557782A (en) Flexible deterministic state machine
KR0147703B1 (ko) 피씨아이 버스에서 플러그/플레이를 위한 배치회로
KR100221077B1 (ko) 로컬버스의 읽기 데이터 버퍼
US5799161A (en) Method and apparatus for concurrent data routing
US6034545A (en) Macrocell for data processing circuit
EP0988603B1 (en) Method and arrangement for connecting processor to asic
US5423021A (en) Auxiliary control signal decode using high performance address lines
US5671372A (en) Data processing system with microprocessor/cache chip set directly coupled to memory bus of narrower data width
KR910010137B1 (ko) 다이렉트 메모리 액세스 제어장치
JPH086896A (ja) データ処理装置
KR100252508B1 (ko) 통신처리시스템의 프로세서 보드에서 롬 인터페이스장치
US6421280B1 (en) Method and circuit for loading data and reading data
KR0181485B1 (ko) 데이터 통신용 데이터 버퍼링 장치
KR100290561B1 (ko) 디지털 신호처리기의 외부 에스램 제어방법
KR100213699B1 (ko) 엠시68040을 사용하는 중앙처리장치의 주변장치 액세스 회로
KR100247424B1 (ko) 라이트 버퍼를 이용한 외부 캐시 장치

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