KR20010019127A - 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법 - Google Patents

엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법 Download PDF

Info

Publication number
KR20010019127A
KR20010019127A KR1019990035394A KR19990035394A KR20010019127A KR 20010019127 A KR20010019127 A KR 20010019127A KR 1019990035394 A KR1019990035394 A KR 1019990035394A KR 19990035394 A KR19990035394 A KR 19990035394A KR 20010019127 A KR20010019127 A KR 20010019127A
Authority
KR
South Korea
Prior art keywords
bus
sdram
signal
pci
burst
Prior art date
Application number
KR1019990035394A
Other languages
English (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 KR1019990035394A priority Critical patent/KR20010019127A/ko
Publication of KR20010019127A publication Critical patent/KR20010019127A/ko

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

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

Abstract

다양한 응용 프로그램의 수용과 프로세서의 고속화 추세에 맞추어 메모리 성능을 향상 시키고자 하는 목적으로 현재 MPC860과 SDRAM은 광범위하게 적용되고 있다. 아울러 외부 버스의 표준으로 자리잡은 PCI는 ATM(Asynchronous Transfer Mode)을 비롯한 패스트 이더넷과 같은 고속 전송 프로토콜 서비스 전반에 걸쳐 폭 넓게 사용되고 있다. 본 발명은 MPC860 프로세서와 SDRAM(Synchronous Dynamic Random Access Memory)을 이용해서 MPC860이 지원 가능한 최대 16 바이트의 가변 길이 버스트(Burst) 전송을 지원하는 외부(External) 버스 제어기에 관한 것이다. 본 발명에 적용될 수 있는 외부 버스로는 PCI(Peripheral Component Interconnect), PCMCIA(Personal Computer Memory Card International Association) 등이 적용될 수 있다. 본 발명은 MPC860과 SDRAM을 사용하는 다양한 프로세서 보드에서 프로세서 및 SDRAM, 그리고 PCI 외부 버스의 최대 성능을 제공하는 외부 버스 제어기의 구조 및 MPC860의 UPM(User Programmable Machine)을 제안한다.

Description

엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법{External bus controller support burst trasfer with the MPC860 processor and SDRAM and method for thereof}
본 발명은 최대 16 옥텟의 고정 길이 버스트 전송을 제공하는 MPC860 프로세서와 최대 1페이지의 가변 버스트 전송길이를 제공하는 SDRAM(Synchronous Dynamic Random Access Memory)의 버스트 전송 특성을 이용하여 외부 버스에게 가변 버스트 전송을 제공하는 외부 버스 제어기에 관한 것이다.
다양한 응용 프로그램의 수용과 프로세서의 고속화 추세에 맞추어 메모리 성능을 향상 시키고자 하는 목적으로 현재 MPC860과 SDRAM은 광범위하게 적용되고 있다. 아울러 외부 버스의 표준으로 자리잡은 PCI(Peripheral Component Interconnect)는 ATM(Asynchronous Transfer Mode)을 비롯한 패스트 이더넷과 같은 고속 전송 프로토콜 서비스 전반에 걸쳐 폭 넓게 사용되고 있다.
지금까지는 외부 버스, 예를 들어 PCI 버스를 MPC860에 접속 시켜주는 제어기들은 버스트 전송을 지원하지 못했다. 특히 SDRAM의 경우에는 외부 버스 제어기에서 직접 제어할 수 없었다.
본 발명은 MPC860 프로세서와 SDRAM을 이용해서 MPC860이 지원 가능한 최대 16 바이트의 가변 길이 버스트(Burst) 전송을 지원하는 외부(External) 버스 제어기에 관한 것이다.
본 발명에 적용될 수 있는 외부 버스로는 PCI, PCMCIA(Personal Computer Memory Card International Association) 등이 적용될 수 있다.
본 발명은 MPC860과 SDRAM을 사용하는 다양한 프로세서 보드에서 프로세서 및 SDRAM, 그리고 PCI 외부 버스의 최대 성능을 제공하는 외부 버스 제어기의 구조 및 MPC860의 UPM(User Programmable Machine)을 제안한다.
본 발명은 범용 프로세서로 사용되는 MPC860과 고속 전송을 위해 광범위하게 사용되고 있는 SDRAM을 이용해 PCI, PCMCIA와 같은 외부 버스에서 버스트로 SDRAM을 제어함으로써 외부 버스에게 최대한의 전송 대역폭을 제공할 수 있다. 특히 프로세서와 SDRAM이 고정된 길이의 버스트 특성을 갖는 반면에 PCI와 같은 외부 버스들은 가변 길이의 버스트 특성을 갖기 때문에 이들간의 버스트 종단 기능도 본 발명의 범위에 속한다.
도 1은 본 발명에 적용되는 MPC860 프로세서를 장착한 프로세서 보드 구성의 일례를 도시한 블록도.
도 2는 본 발명의 전체 블록도.
도 3은 버스 사용권 획득을 판단하기 위한 상태 천이도.
도 4는 정상적인 버스트 전송을 나타내는 타이밍도.
도 5는 본 발명에서 적용되는 비정상적인 버스트 종료에 대한 처리 타이밍도.
도 6은 TEA 생성부의 VHDL 소스 코드.
<도면의 주요부분에 대한 부호의 설명>
10 : MPC860 프로세서 20 : 클럭부
30 : 플레쉬롬 40 : 에스디램
50 : 전원부 60 : 외부 버스 브리지
100 : 외부 버스 제어기 110 : 버스 중재부
120 : PCI 제어기 접속부 130 : PCI버스 중재부
140 : UPM 코드부 150 : TEA 생성부
160 : MPC860 버스 제어부
상기 목적을 달성하기 위하여 본 발명은 100MHz 동작 속도를 제공하는 SDRAM과 50MHz의 동작 속도를 갖는 MPC860 프로세서를 사용하는 것을 특징으로 한다. 아울러 PCI와 같은 외부 버스의 최대 동작 속도는 MPC860 프로세서의 최대 동작 속도와 같음을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.
도 1은 본 발명에 적용되는 프로세서 구성의 일반적인 예를 도시한 블록도이다. 이더넷(Ethernet)과 직렬(Serial)포트와 연결되고 HDLC버스에 연결되는 MPC860 프로세서(10)와, 동작 클럭을 제공하는 클럭부(20)와, 플레쉬 롬(30)과, 에스디램(40), 전원부(50), 외부버스(PCI BUS)에 연결된 외부버스(PCI) 브리지(60)로 구성된 프로세서에 있어서, 어드레스/데이타 라인 및 제어신호라인을 공유하는 본 발명의 외부버스제어기(100)가 더 포함되어 구성된다.
본 발명에서는 도 1에서와 같이 PCI 버스를 외부 버스로 사용한다. 도 1에서와 같이 프로세서(10) SDRAM(40), 외부 버스 브리지(60), 그리고 외부 버스 제어기(100)는 같은 어드레스/데이터 라인을 공유하고 있으며, 아울러 제어 신호는 프로세서(10), SDRAM(40), 그리고 외부 버스 제어기(100)에 의해 공유되고 있다.
도 2는 본 발명의 외부버스 제어기의 구성을 보인 블록도를 도시하고 있다. 도 2에서 나타내고 있는 바와 같이, 본 발명은, 외부 버스 브리지(60)가 로컬 버스 사용을 요구함을 나타내는 HOLD 신호를 받아서 BR(Bus Request) 신호 및 BB(Bus Busy) 신호를 생성하여 MPC860 프로세서(10)로 보내고, 그 MPC860 프로세서(10)로부터 버스 사용 허가를 나타내는 BG(Bus Grant) 신호를 수신하여 PCI 제어기 접속부(120)가 HOLDA(HOLD Acknowledge) 신호를 생성하도록 전달하는 버스 중재부(110)와, PCI 접속신호(HOLD, HOLDA, ADS, PCI_R/W, BLAST, READY, PCI_CLK)를 제어하는 PCI 제어기 접속부(120)와, PCI 버스상의 버스 요구(PCI_REQ1 ∼ PCI_REQ5)를 받아서 우선 순위에 따라 버스 사용권(PCI_GNT1 ∼ PCI_GNT5)을 할당해주는 기능을 수행하는 PCI버스 중재부(130)와, PCI 제어기 접속부(120)로부터 외부 버스가 데이터를 송수신하고자 하는 신호를 수신하면 요구하는 사이클의 종류에 따라 SDRAM(40)을 제어하는 신호인 S_WE(SDRAM_Write Enable), RAS(Row Address Strobe), CAS(Column Address Strobe), 그리고 어드레스 다중화를 제어하기 위한 MUX신호를 생성하기 위해 필요한 마이크로 코드를 MPC860 버스 제어부(160)로 전달해주는 기능을 수행하는 UPM 코드부(140)와, 프로세서(10)가 지원하는 16 옥텟 고정 길이 버스트와 외부 버스가 요구하는 버스트 길이가 불일치 할 경우 UPM 코드부(140)로 하여금 예외 상황으로 에스디램의 프리챠지 명령어를 수행하게 하고 MPC860 버스 제어부(160)로 하여금 해당 사이클의 종료를 나타내는 TEA (Transfer Error Acknowledge)를 생성하는 TEA생성부(150)와, 버스 중재부(110), TEA 생성부(150), PCI 제어기 접속부(120), 그리고 UPM 코드부(140)에서 생성된 모든 신호를 바탕으로 에스디램(40)을 제어하기 위한 에스램 접속신호(S_WE, RAS, CAS, MUX)와, MPC860 프로세서(10) 접속신호(TS, R/W, TSIZE[1:0], ADDR[31:30], BURST, TA, CLK)를 생성하여, MPC860프로세서(10) 및 에스디램(40)과의 버스 접속을 제어하는 MPC860 버스 제어부(160)로 구성된다.
이와같이 구성된 본 발명에 의한 외부 버스 제어기의 기능을 설명하면 당므과 같다.
버스 중재부(110)는 외부 버스 브리지(60)가 로컬 버스 사용을 요구함을 나타내는 HOLD 신호를 PCI 제어기 접속부(120)로부터 받아서 MPC860 프로세서(10)로 BR(Bus Request) 신호 및 BB(Bus Busy) 신호를 생성하는 기능을 수행한다.
그리고 MPC860 프로세서(10)로부터 버스 사용 허가를 나타내는 BG(Bus Grant) 신호를 수신하면, 이를 PCI 제어기 접속부(120)로 전달하여 PCI 제어기 접속부(120)로 하여금 HOLDA(HOLD Acknowledge) 신호를 생성하도록 한다. BG, BB 신호의 생성은 도 3 의 상태 천이 머신에 의거하여 수행된다.
상기 버스 중재부(110)와 비슷한 기능을 수행하는 PCI 버스 중재부(130)는 도 2에서 도시하고 있는 바와 같이, PCI 버스상의 버스 요구(PCI_REQ1∼PCI_REQ5)를 받아서 우선 순위에 따라 버스 사용권(PCI_GNT1 ∼ PCI_GNT5)을 할당해주는 기능을 수행한다. 본 발명에서는 5개의 PCI 버스 사용 요구를 받아서 이들간에 버스 중재를 수행하며 PCI 버스 중재부가 사용하는 우선 순위는 순차적으로 버스 사용권을 할당하는 방식을 사용한다.
UPM 코드부(140)는 PCI 제어기 접속부(120)로부터 외부 버스가 데이터를 송수신하고자 하는 신호를 수신하면, 요구하는 사이클의 종류에 따라 SDRAM(40)을 제어하는 신호인 WE(Write Enable), RAS(Row Address Strobe), CAS(Column Address Strobe), 그리고 어드레스 다중화를 제어하기 위한 MUX(Multiplex) 신호를 생성하기 위해 필요한 마이크로 코드를 MPC860 버스 제어부(160)로 전달해주는 기능을 수행한다.
따라서 이러한 신호들은 UPM 코드부(140)에서 직접 생성하지 않고 MPC860 버스 제어부(160)가 생성하며, UPM 코드부(140)는 단지 해당 사이클에 대한 마이크로 코드를 전달해줄 뿐이다. UPM 코드부(140)는 이러한 마이크로 코드를 기억하기 위한 메모리이며 총 64개의 엔트리를 갖는다.
TEA 생성부(150)는 프로세서가 지원하는 16 옥텟 고정 길이 버스트와 외부 버스가 요구하는 버스트 길이가 불일치 할 경우 UPM 코드부(140)로 하여금 예외 상황으로 에스디램의 프리챠지 명령어를 수행하게 하고 MPC860 버스 제어부(160)로 하여금 해당 사이클의 종료를 나타내는 TEA를 생성하게 한다. UPM 코드부(140)에서 수행하는 예외 처리는 SDRAM의 프리차지(PRECHARGE) 명령어를 수행함으로써, SDRAM의 뱅크를 안전하게 닫아서 다음 메모리 동작을 수행할 수 있도록 하는 기능을 수행한다.
마지막으로 MPC860 버스 제어부(160)는 버스 중재부(110), TEA 생성부(150), PCI 제어기 접속부(120), 그리고 UPM 코드부(140)에서 생성된 모든 신호를 바탕으로 TEA 신호를 포함한 MPC860 프로세서(10)와 SDRAM(40)의 제어에 필요한 모든 신호를 생성하는 기능을 수행한다.
도 3은 본 발명에 의한 버스 중재부의 버스 상태 천이 설명도이다. 이는 BG(Bus Grant) 신호, BR(Bus Request) 신호 및 BB(Bus Busy) 신호의 상태를 보인 것으로, 외부 마스터의 버스상태(S1)에서 외부 디바이스보다 MPC860프로세서(10) 내부 마스터의 버스 요구 우선 순위가 높은 경우 MPC860 프로세서의 버스대기상태(S2)로 천이된다. 그리고, 버스 대기상태(S2)에서 BB신호가 천이되면 MPC860 프로세서의 버스 상태(S3)로 천이되며, 그 MPC860 버스 상태(S3)에서 MPC860의 버스 필요성이 없으면 아이들 상태(S4)로, 그 아이들 상태(S4)에서 MPC860의 버스 필요가 있는 경우 다시 MPC860버스 상태(S3)를 유지한다.
그리고, 상기 아이들 상태(S4)에서는, 외부 마스터의 버스 요구가 있으면 외부 마스터의 버스 상태(S1)로 천이하며, 그 외부 마스터의 버스 상태(S1)에서 외부 마스터가 버스 해지를 하면 아이들 상태(S4)로 다시 천이된다.
한편, 상기 MPC860 프로세서의 버스 상태(S3)에서 외부 디바이스가 현재 내부 버스 마스터보다 버스 요구 우선순위가 높은 경우 그 MPC860 버스 상태(S3)에서 상기 외부 마스터 버스 상태(S1)로 천이된다.
이러한 상태 천이는, BG신호, BR신호 및 BB신호의 상태를 이용하여 각 상태 천이를 하게 된다.
본 발명에서 제안한 외부 버스 제어기를 포함한 프로세서, SDRAM, 그리고 외부 PCI 브리지간의 신호를 살펴보면 다음과 같다. 설명의 간편성을 위해 단일 Write/Read 사이클은 설명하지 않는다.
이와같은 본 발명에 의한 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법은, 고정길이 버스트 특성을 가지는 프로세서(10)와 에스디램(40)에 대해 상기 외부 버스 브리지(60)를 통해서 가변길이의 버스트 특성을 가지는 외부 버스에서 버스트로 에스디램을 제어할 수 있도록 하는 외부 버스 제어기(100)를 구비하고, 그 외부 버스 제어기(100)가 PCI 브리지를 통해 외부의 데이터 전송 사이클 시작신호(ADS)를 수신하면, 프로세서로 버스 사이클의 시작신호(TS)를 생성하여 보내고 외부버스의 버스트 신호를 프로세서에 전달하는 제 1과정과; 상기 사이클 시작신호(TS) 전송후 에스디램의 주소를 다중화 시키면서 에스디램을 활성화시켜 주소를 제공하는 제 2 과정과; 에스디램의 쓰기 명령어 생성함과 아울러 쓰기 하고자 하는 처음 데이터를 에스디램에 전달하며 쓰기 데이터를 수신했음을 알리는 신호(TA)를 생성하여 프로세서에 알리는 제 3 과정과; 해당 워드가 마지막 전송 워드 임을 나타내는 버스트 라스트신호(BLAST; Burst LAST) 신호를 받으면 에스디램의 쓰기 관련 명령어를 비활성화시키고, 버스트 전송 종료신호(TEA)를 보내는 제 4 과정과; 사이클이 종료된 후, SDRAM(40) 내부의 메모리 뱅크를 처음 상태로 되돌리기 위한 프리차지(PRECHARGE) 명령어를 수행하는 제 5과정으로 이루어진다.
도 4는 정상적인 버스트 동작을 수행하는 경우의 외부 버스 제어기에서 생성하는 신호 및 MPC 860 제어 신호, 그리고 SDRAM 제어 신호를 도시하고 있다. MPC860프로세서(10)의 버스트 전송은, 16 옥텟(4 워드)의 고정 길이 버스트 전송만을 지원하기 때문에 외부 버스에서 4워드의 버스 전송을 요구하는 경우에만 버스트 전송은 도 4에서와 같이 정상적으로 종료된다.
도 4의 T1에서 PCI 브리지(60)로부터 데이터 전송 사이클의 시작을 나타내는 ADS(Address Strobe)를 수신하면, MPC860 버스 제어부(160)에서는 프로세서(10)로 T2 동안에 외부 버스 사이클의 시작을 나타내는 TS(Transfer Start) 신호를 생성하여 보낸다. 또한 MPC860 버스 제어부(160)는 T2부터 해당 사이클이 종료되는 T9까지 TSIZ(Transfer Size), ADDRESS 신호를 함께 출력한다.
외부 버스는 T2 동안에 도 2에서와 같이 해당 사이클이 버스트 전송을 요구하는지 아닌지에 관한 정보인 버스트(BURST) 신호를 프로세서(10)로 전달한다. BURST 신호는 해당 사이클의 종류에 대해서만 나타낼 뿐 버스트 전송 길이에 대해서는 아무런 정보를 제공하지 않기 때문에 프로세서는 4워드의 전송이 발생하는 것으로 간주하게 된다.
T3 동안에는 SDRAM(40) 주소 다중화(Multiplexing)를 위해 MUX 신호를 생성하여 외부에서 SDRAM(40)을 위한 주소 다중화 기능을 수행한다. T4, T5는 SDRAM(40) 내부의 Row를 활성화 시키기 위해 활성화(ACTIVATION) 명령어를 수행하는 것을 도시하고 있다. 모든 SDRAM(40)은 해당 Row가 활성화 된 후에야 비로서 버스트 읽기/쓰기(READ/WRITE) 사이클을 수행할 수 있으며 T4 동안에 SDRAM(40) 으로 제공되는 주소 신호(ADD)는 해당 뱅크의 Row 주소이다.
도 4의 T6은 쓰기(Write) 사이클의 시작을 도시하고 있다. SDRAM(40)으로 쓰기(WRITE) 명령어를 전달하기 위해 MPC860 버스 제어부(160)는 UPM 코드부(140)에 정의된 쓰기(WRITE) 명령어 코드를 실행한다. 실행의 결과는 T6에서와 같이 CS, BS, CAS, 그리고 WE 신호를 '0'으로 만든다. 쓰기 사이클의 특성상 쓰기하고자 하는 처음 데이터도 T6 동안에 SDRAM(40)으로 전달된다. 아울러 T6 동안에 SDRAM(40)이 데이터를 수신했음을 나타내는 TA 신호도 MPC860 버스 제어부(160)에 의해 생성된다. T7, T8 동안에는 각각 두 번째, 세 번째 데이터가 전송된다. T7, T8 동안에는 이미 T6에서 쓰기(WRITE) 명령어를 SDRAM(40)으로 전달하였기 때문에 다른 명령어는 전달하지 않고 데이터만을 전달하게 된다. 버스트 사이클 동안 주소는 SDRAM(40)에 의해 자동으로 증가하게 된다. 도 4에서 나타내고 있는 주소 신호(ADD)는 SDRAM(40)의 내부에서 증가하고 있는 주소를 나타낸다.
T9는 버스트 전송의 마지막 워드를 전송하는 타이밍을 나타내고 있다. T9 동안 PCI 버스 브리지(60)는 해당 워드가 마지막 전송 워드 임을 나타내는 BLAST(Burst LAST) 신호를 '0'으로 보낸다. SDRAM(40)의 쓰기(Write)에 관련된 모든 신호는 T9의 종료 시점에 비활성화 되고, 4워드의 버스트 전송이 이상 없이 끝났기 때문에 TEA 신호는 '1'을 계속해서 유지하게 된다.
T10은 모든 SDRAM(40) 사이클이 종료된 후, SDRAM(40) 내부의 메모리 뱅크를 처음 상태로 되돌리기 위한 프리차지(PRECHARGE) 명령어가 수행되고 있는 타이밍을 도시하고 있다.
도 5는 비정상적으로 버스트 사이클이 종료되는, 즉 4워드의 전송이 아닌 다른 길이의 버스 전송이 발생한 상황에 대한 타이밍 도를 도시하고 있다. 설명의 편의를 위해 도 5에서는 외부 PCI 브리지(60)가 12 옥텟, 즉 3 워드의 전송만을 요구하는 경우에 대한 외부 버스 제어기(100)의 전체 동작을 도시하고 있다.
도 5의 T1에서 T7까지의 모든 동작은 도 4와 동일하다. 도 4의 T2와 마찬가지로 도 5의 T2에서도 버스트 전송임을 나타내는 버스트(BURST) 신호만 활성화 될 뿐, 버스트의 길이에 대해서는 프로세서로 알려주지 않는다. 3워드의 버스트 전송만을 수행하기 때문에 도 5의 T8에서 PCI 브리지(60)로부터 버스트 전송의 마지막 데이터를 알리는 브라스트(BLAST) 신호가 '0'으로 활성화 된다. TEA 생성부(150)에서는 4워드의 버스트 전송이 종료되기 전에 T8에서 브라스트(BLAST) 신호가 '0'으로 활성화 됨을 감지하고 UPM 코드부(140)로 하여금 T8까지의 UPM 코드만을 실행하고 다음 T9 동안에는 PRECHARGE 명령어를 수행하도록 요구한다. 아울러 TEA 생성부는 도 5의 T8에서와 같이 TEA 신호를 '0'으로 활성화 시키고 이를 MPC860 버스 접속부로 알린다.
MPC860 버스 접속부는 T8 까지는 현재 수행하고 있는 버스트 WRITE 사이클을 UPM 코드부(140)에 정의되어 있는 바와 같이 수행하고, T9에서는 프리차지(PRECHARGE) 명령을 수행한다. 따라서 MPC860 프로세서(10)와 SDRAM(40)의 버스트 전송 길이가 4워드로 정의 되어 있다고 하더라도 버스트 사이클은 정상적으로 종료되고, T10에서 새로운 버스 사이클이 시작될 수 있도록 한다. 이러한 방법은 외부 버스 사이클의 최대 버스트 전송 길이가 4워드가 아닌, 예를 들어 2 워드, 3워드, 또는 5 워드인 경우에도 프로세서(10)와 SDRAM(40)의 성능 저하 없이 외부 버스를 고속으로 활용할 수 있게 해준다.
도 6은 상기한 비정상적인 버스트 종료시 TEA 신호를 발생하기 위한 TEA 생성부의 실제 VHDL(VLSI Hardware Definition Language) 코드를 도시하고 있다.
상기한 바와 같이 본 발명은 MPC860을 프로세서로 사용하고 SDRAM을 메모리로 사용하는 모든 프로세서 보드에 적용될 수 있으며 아울러 MPC860과 SDRAM의 성능을 최대한으로 이용할 수 있는 여건을 제공한다. 특히 ISA, PCI, PCMCIA와 같이 가변 길이의 버스트 전송 특성을 갖는 외부 버스가 프로세서로 접속되는 경우에는 이들간의 버스 공유와 데이터 전송에 있어 최고의 성능을 제공한다.

Claims (6)

  1. MPC860 프로세서(10), 에스디램(40), 플레쉬 메모리(30) 및 외부 버스 브리지(60)를 포함하여 이루어져 외부 버스와 접속하여 버스트 전송을 지원하는 프로세서 시스템에 있어서,
    외부 버스 브리지(60)가 로컬 버스 사용을 요구함을 나타내는 HOLD 신호를 받아서 BR(Bus Request) 신호 및 BB(Bus Busy) 신호를 생성하여 MPC860 프로세서(10)로 보내고, 그 MPC860 프로세서(10)로부터 버스 사용 허가를 나타내는 BG(Bus Grant) 신호를 수신하여 PCI 제어기 접속부(120)가 HOLDA(HOLD Acknowledge) 신호를 생성하도록 전달하는 버스 중재부(110)와,
    외부 버스 접속신호(HOLD, HOLDA, ADS, PCI_R/W, BLAST, READY, PCI_CLK)에 대해 수신 및 응답신호의 출력을 제어하는 PCI 제어기 접속부(120)와,
    PCI 버스상의 버스 요구(PCI_REQ1 ∼ PCI_REQ5)를 받아서 우선 순위에 따라 버스 사용권(PCI_GNT1 ∼ PCI_GNT5)을 할당해주는 기능을 수행하는 PCI버스 중재부(130)와,
    PCI 제어기 접속부(120)로부터 외부 버스가 데이터를 송수신하고자 하는 신호(ADS)를 수신하면 요구하는 사이클의 종류에 따라 SDRAM(40)을 제어하는 신호인 S_WE(SDRAM_Write Enable), RAS(Row Address Strobe), CAS(Column Address Strobe), 그리고 어드레스 다중화를 제어하기 위한 MUX신호를 생성하기 위해 필요한 마이크로 코드를 MPC860 버스 제어부(160)로 전달해주는 기능을 수행하는 UPM 코드부(140)와,
    프로세서(10)가 지원하는 16 옥텟 고정 길이 버스트와 외부 버스가 요구하는 버스트 길이가 불일치 할 경우 UPM 코드부(140)로 하여금 예외 상황으로 에스디램의 프리챠지 명령어를 수행하게 하고 MPC860 버스 제어부(160)로 하여금 해당 사이클의 종료를 나타내는 TEA(Transfer Error Acknowledge)를 생성하는 TEA생성부(150)와,
    버스 중재부(110), TEA 생성부(150), PCI 제어기 접속부(120), 그리고 UPM 코드부(140)에서 생성된 모든 신호를 바탕으로 에스디램(40)을 제어하기 위한 에스램 접속신호(S_WE, RAS, CAS, MUX)와, MPC860 프로세서(10) 접속신호(TS, R/W, TSIZE[1:0], ADDR[31:30], BURST, TA, CLK)를 생성하여, MPC860프로세서(10) 및 에스디램(40)과의 버스 접속을 제어하는 MPC860 버스 제어부(160)로 구성된 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어기.
  2. MPC860 프로세서(10), 에스디램(40), 플레쉬 메모리(30) 및 외부 버스 브리지(60)를 포함하여 이루어져 외부 버스와 접속하여 버스트 전송을 지원하는 프로세서 시스템에 있어서,
    고정길이 버스트 특성을 가지는 프로세서와 에스디램에 대해 상기 외부 버스 브리지를 통해서 가변길이의 버스트 특성을 가지는 외부 버스에서 버스트로 에스디램을 제어할 수 있도록 하는 외부 버스 제어기를 구비하고,
    그 외부 버스 제어기가
    PCI 브리지를 통해 외부의 데이터 전송 사이클 시작신호(ADS)를 수신하면, 프로세서로 버스 사이클의 시작신호(TS)를 생성하여 보내고 외부버스의 버스트 신호를 프로세서에 전달하는 제 1과정과;
    상기 사이클 시작신호(TS) 전송후 에스디램의 주소를 다중화 시키면서 에스디램을 활성화시켜 주소를 제공하는 제 2 과정과;
    에스디램의 쓰기 명령어 생성함과 아울러 쓰기 하고자 하는 처음 데이터를 에스디램에 전달하며 쓰기 데이터를 수신했음을 알리는 신호(TA)를 생성하여 프로세서에 알리는 제 3 과정과;
    해당 워드가 마지막 전송 워드 임을 나타내는 버스트 라스트신호(BLAST; Burst LAST) 신호를 받으면 에스디램의 쓰기 관련 명령어를 비활성화시키고, 버스트 전송 종료신호(TEA)를 보내는 제 4 과정과;
    사이클이 종료된 후, SDRAM(40) 내부의 메모리 뱅크를 처음 상태로 되돌리기 위한 프리차지(PRECHARGE) 명령어를 수행하는 제 5과정으로 이루어진 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법.
  3. 제 2 항에 있어서, 상기 제 1 과정은,
    PCI 브리지(60)로부터 데이터 전송 사이클의 시작을 나타내는 ADS(Address Strobe)를 수신하는 제 1단계와,
    상기 ADS를 수신하면, 프로세서(10)로 외부 버스 사이클의 시작을 나타내는 TS(Transfer Start) 신호를 생성하여 보내는 제 2단계와,
    해당 사이클이 종료되는 단계까지 TSIZ(Transfer Size), ADDRESS 신호를 프로세서로 출력하는 제 3단계와,
    외부 버스에서 해당 사이클이 버스트 전송을 요구하는지 아닌지에 관한 정보인 버스트(BURST) 신호를 해당 싸이클 종료시까지 프로세서(10)로 전달하는 제 3 단계로 이루어진 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법.
  4. 제 2 항에 있어서, 상기 제 2 과정은,
    사이클 시작신호(TS) 전송후, SDRAM(40) 주소 다중화를 위해 MUX 신호를 생성하여 SDRAM(40)의 주소 다중화 기능을 수행하는 제 1 단계와,
    SDRAM 주소를 다중화 시키면서 SDRAM(40) 내부의 Row를 활성화 시키기 위해 활성화(ACTIVATION) 명령어를 수행하며 SDRAM(40)으로 해당 뱅크의 Row 주소 신호(ADD)를 제공하는 제 2 단계를 수행하는 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법.
  5. 제 2 항에 있어서, 상기 제 3 과정은,
    SDRAM(40)으로 쓰기(WRITE) 명령어를 전달하기 위해 MPC860 버스 제어부(160)는 UPM 코드부(140)에 정의된 쓰기(WRITE) 명령어 코드를 실행하여 CS, BS, CAS, 그리고 WE 신호를 '0'으로 만들어 에스디램을 쓰기 상태로 만드는 제 1단계와;
    에스디램을 쓰기 상태로 만들고 쓰기하고자 하는 데이터를 차례로 에스디램으로 전달하여 데이터 쓰기를 제어하는 제 2단계와;
    에스디램이 데이터를 수신했음을 나타내는 TA 신호를 생성하여 프로세서로 전달하는 제 3단계를 수행하는 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법.
  6. 제 2 항에 있어서 상기 제 4 과정은,
    PCI 버스 브리지(60)로부터 해당 워드가 마지막 전송 워드 임을 나타내는 BLAST(Burst LAST) 신호가 활성화되는지를 체크하는 제 1단계와;
    상기 PCI 버스 브릿지에서 보내온 BLAST신호가 활성화되면, 에스디램의 쓰기(Write)에 관련된 모든 신호를 마지막 워드 전송후 종료 시점에서 비활성화 시키는 제 2단계와;
    워드의 버스트 전송이 이상 없이 끝났음을 나타내는 TEA 신호는 프로세서에 전송하는 제 3단계를 수행하는 것을 특징으로 하는 MPC860과 에스디램을 이용한 버스트 전송지원 외부 버스 제어방법.
KR1019990035394A 1999-08-25 1999-08-25 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법 KR20010019127A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990035394A KR20010019127A (ko) 1999-08-25 1999-08-25 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990035394A KR20010019127A (ko) 1999-08-25 1999-08-25 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법

Publications (1)

Publication Number Publication Date
KR20010019127A true KR20010019127A (ko) 2001-03-15

Family

ID=19608604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990035394A KR20010019127A (ko) 1999-08-25 1999-08-25 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법

Country Status (1)

Country Link
KR (1) KR20010019127A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378125B2 (en) 2011-12-27 2016-06-28 Foundation Of Soongsil University-Industry Cooperation Semiconductor chip and method of controlling memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0692764A1 (en) * 1994-06-17 1996-01-17 Advanced Micro Devices, Inc. Memory throttle for PCI master
US5835741A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Bus-to-bus bridge in computer system, with fast burst memory range
KR19980703853A (ko) * 1995-05-22 1998-12-05 제프리엘.포맨 Pci 버스 컴퓨터용 프로그래머블 구성 레지스터를 구비한증설 보드
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0692764A1 (en) * 1994-06-17 1996-01-17 Advanced Micro Devices, Inc. Memory throttle for PCI master
KR19980703853A (ko) * 1995-05-22 1998-12-05 제프리엘.포맨 Pci 버스 컴퓨터용 프로그래머블 구성 레지스터를 구비한증설 보드
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port
US5835741A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Bus-to-bus bridge in computer system, with fast burst memory range

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378125B2 (en) 2011-12-27 2016-06-28 Foundation Of Soongsil University-Industry Cooperation Semiconductor chip and method of controlling memory

Similar Documents

Publication Publication Date Title
US5721860A (en) Memory controller for independently supporting synchronous and asynchronous DRAM memories
KR950014183B1 (ko) 컴퓨터 시스템 및 시스템 메모리 액세스 제어 방법
KR960012356B1 (ko) 컴퓨터 시스템 및 데이타 전송 방법
JP2004502225A (ja) フラッシュ・メモリを有する集積回路
US5884052A (en) Smart retry mechanism to program the retry latency of a PCI initiator agent
KR20020009823A (ko) 버스 시스템 및 그 버스 중재방법
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US6519670B1 (en) Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter
US6633927B1 (en) Device and method to minimize data latency and maximize data throughput using multiple data valid signals
EP1376373B1 (en) Arrangement having a first device and a second device connected via a cross bar switch
US6247089B1 (en) Efficient data loading scheme to minimize PCI bus arbitrations delays and wait states
US7904624B2 (en) High bandwidth split bus
KR20010019127A (ko) 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법
US6775718B2 (en) DMA control system enabling flyby transfer to synchronous memory
US11789884B2 (en) Bus system and method for operating a bus system
KR100436098B1 (ko) 데이터프로세서,데이터처리시스템,및데이터프로세서를이용한외부장치로의액세스방법
EP0184320B1 (en) Improved performance memory bus architecture
US5341501A (en) Processor bus access
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
US20050198427A1 (en) Portable electronic system and accessing method thereof
JPH11328102A (ja) バス制御システムおよびバス制御方法
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JPH11316736A (ja) プロセッサ及びこれを用いたデータ処理装置
JPH08180027A (ja) 調停回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application