KR20030049448A - 메모리 버스 확장 장치 및 방법 - Google Patents

메모리 버스 확장 장치 및 방법 Download PDF

Info

Publication number
KR20030049448A
KR20030049448A KR1020010079653A KR20010079653A KR20030049448A KR 20030049448 A KR20030049448 A KR 20030049448A KR 1020010079653 A KR1020010079653 A KR 1020010079653A KR 20010079653 A KR20010079653 A KR 20010079653A KR 20030049448 A KR20030049448 A KR 20030049448A
Authority
KR
South Korea
Prior art keywords
data
address
signal
memory
central processing
Prior art date
Application number
KR1020010079653A
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 KR1020010079653A priority Critical patent/KR20030049448A/ko
Publication of KR20030049448A publication Critical patent/KR20030049448A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • 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/0056Use of address and non-data lines as data lines for specific data transfers to temporarily enlarge the data bus and increase information transfer rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

본 발명은 중앙 처리 시스템에 필요로 하는 2조의 메모리를 한 조로 줄여 줄 수 있도록 한 메모리 버스 확장 장치 및 방법에 관한 것으로, 본 발명에 의하면, N비트의 데이터를 액세스하기 위해 어드레스 및 칩 선택 신호를 출력하는 중앙 처리부와; 칩 선택 신호에 의해 동작하고 제 1어드레스 신호와 상위 또는 하위의 제 2 어드레스 신호에 의해 8비트 데이터를 소정 시간 간격으로 출력하는 한 개의 메모리와; 상기 중앙 처리부와 한 개의 메모리를 제어하되, 중앙 처리부의 칩 선택 신호 및 어드레스 신호에 의해 상위 데이터 또는 하위 데이터 액세스를 위한 칩 선택 및 확장 어드레스 신호를 발생하고, 메모리로부터 8비트 단위로 데이터를 래치한 후 N비트로 중앙 처리부에 전달하는 제어부를 포함하는 것을 특징으로 한다.
이 같은 본 발명에 의하면, 교환기 등의 통신 장비에서 널리 사용되는 N 비트 시스템에서 N/2 비트 메모리 한 개만으로 N비트로 동작할 수 있도록 메모리 버스를 N비트로 확장시켜 줌으로써, 기존에 2조의 메모리(PROM 2개, SRAM 2개)를 필요로 하는 N비트 시스템에서 메모리를 1조(PROM 1개, SRAM 1개)로 줄일 수 있어, 메모리 소자를 절약할 수 있다.

Description

메모리 버스 확장 장치 및 방법{Extension apparatus and method for memory bus}
본 발명은 메모리 버스에 있어서, 특히 교환기 등의 통신 장비에서 널리 사용되는 특정 비트 시스템에 필요로 하는 복수개의 메모리를 단일 메모리 구조로 하여 시스템 제조 원가를 절감할 수 있도록 한 메모리 버스 확장 장치 및 방법에 관한 것이다.
도 1은 종래 메모리 액세스 장치를 나타낸 구성도이다.
도 1을 참조하면, 시스템을 제어하는 중앙 처리부(110)와, 프로그램을 동작하기 위한 복수개의 메모리(SRAM 또는 PROM)(120,121)와, 중앙 처리부(110)와 메모리(120,121)를 제어하기 위한 제어부(FPGA 또는 CPLD)(130)를 포함하는 구성이다.
여기서, 상기 제어부(130)에는 중앙 처리부(110)로부터 출력되는 어드레스 신호(ADDR[1-23])와 어드레스 스트로브신호(/AS), 상위 데이터 스트로브(/UDS) 및 하위 데이터 스트로브(/LDS) 신호를 입력받아, 상위 및 하위 메모리(120 또는 121)를 동작시키기 위한 칩 선택 신호(/CSRAM_U, /CSRAM_L)를 출력하는 어드레스 디코더(ADDRESS DECODER)(131)와, 메모리 응답속도를 보장하기 위해 데이터 인식 신호(DTACK; DATA ACKNOWLEDGE)를 중앙 처리부(110)에 출력하는 데이터 인식신호 발생부(DTACK GENERATOR)(132)로 구성된다.
상기와 같은 메모리 액세스 장치에 대하여 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 1을 참조하면 중앙 처리부(110)는 시스템을 제어하고 16비트 데이터를 액세스하기 위한 신호(ADDR, /AS, /UDS/, /LDS)를 출력하며, 두 개의 메모리(120,121)는 프로그램을 동작시키기 위한 정보가 저장되며 8비트용으로 상위 8비트 정보와 하위 8비트로 구분되며, 제어부(130)는 중앙 처리부(110)와 메모리(120,121)의 데이터 액세스 동작을 제어하게 된다. 여기서, 상기 메모리(120,121)는 2 개를 두어 16비트로 동작하게 되며, SRAM 또는 PROM을 적용한다.
이를 위해 제어부(130)는 어드레스 디코더(131), 데이터 인식신호 발생부(DTACK GENERATOR)(132)로 구성되며, 상기 어드레스 디코더(ADDRESS DECODER)(131)는 상기 중앙 처리부(110)로부터 어드레스 신호(ADDR[1-23]), 이와 시간간격을 두고 어드레스 스트로브(/AS), 상위 데이터 스트로브(/UDS: Upper Data Strobe), 하위 데이터 스트로브(/LDS: Lower Data Strobe) 신호를 입력받아 이를 판독하고, 두 개의 메모리(120,121) 중 어느 하나의 메모리에 액세스를 위한 칩 선택 신호(/CSRAM_U:Chip Select RAM for Upper data, /CSRAM_L: Chip Select RAM for Lower data)를 칩 선택 단자(/CS)에 출력하여 동작시킨다.
여기서, 어드레스 스트로브(/AS)는 중앙 처리부(110)가 어드레스를 출력한 후 외부 회로에 어드레스가 출력되었음을 알려주는 신호이고, 상위 데이터 스트로브(/UDS)와 하위 데이터 스트로브(/LDS)는 중앙 처리부(120)가 리드/라이트 동작을 하고자 할 때 16 비트 데이터 중에서 상위 8비트 혹은 하위 8비트 혹은 16비트 중에서 어떤 데이터를 액세스하려고 하는지를 외부 회로에 알려주기 위한 신호이다.
그리고 데이터 인식신호 발생부(132)는 상기 중앙 처리부(110)로부터 상기 신호들(ADDR, /AS, /UDS, /LDS)에 의해 데이터 인식 신호(/DTACK)를 상기 중앙 처리부(110)로 출력해 준다. 여기서, 데이터 인식신호(/DTACK)는 중앙 처리부(110)에서 리드/라이트 동작을 할 때 어드레스를 출력한 후 데이터를 바로 리드/라이트하지 않고, 그 어드레스에 해당하는 디바이스의 동작 속도(응답속도)에 따라 어느 정도의 시간을 대기한 후에 액세스할 수 있도록 알려주는 신호이다.
이러한 칩 선택신호(/CS)와 데이터 인식신호(/DTACK)는 디바이스의 종류에 따라 다른 타이밍으로 발생시켜야 하므로, 어드레스 맵(ADDRESS MAP)을 참조하도록 구성하게 된다. 즉, 16비트 액세스시에는 /CS_U=0, /CS_L=0, 상위 8비트 액세스시에는 /CS_U=0, /CS_L=1, 하위 8비트 액세스시에는 /CS_U=1, /CS_L=0으로 구분하여 출력하게 된다. 여기서, 0은 짝수(EVEN) 메모리의 데이터 값이고, 1은 홀수(ODD) 메모리의 데이터 값이다.
그러면, 각 메모리(120,121)는 중앙 처리부(110)로부터 입력되는 어드레스 신호(ADDR[1-23])와 칩 선택신호(/CSRAM_U, /CSRAM_L)에 의해 8비트 버스(DATA[0-7], DATA[8-15])에 데이터를 각각 실어 보낸다. 즉, 상위 데이터를 액세스하기 위한 칩 선택 신호(/CSRAM_U)에 의해 짝수(EVEN) 메모리(120)에서 8비트 데이터[0-7]를 출력하며, 하위 데이터를 액세스하기 위한 칩 선택신호(/CSRAM_L)에 의해 홀수(ODD) 메모리(121)에서 8비트 데이터[8-15]를 출력하게 된다.
그러면, 중앙 처리부(110)는 데이터 인식 신호(/DTACK)를 확인한 후 로우(low)이면 데이터가 준비되었다고 인식하여, 데이터 버스에 실린 데이터를 읽어가게 된다.
이후, 중앙 처리부(110)에서 어드레스 스트로브(/AS), 상위 데이터 스트로브(/UDS), 하위 데이터 스트로브(/LDS)를 종료하면, 제어부(130)는 데이터 인식 신호(/DTACK)를 종료하게 되고, 메모리(120)는 데이터 출력을 종료한다.
또한 중앙 처리부(110)에서 어드레스 신호(ADDR[1-23])를 종료하게 되면 데이터 리드 과정이 모두 종료된다.
한편, 16비트의 중앙 처리 시스템 동작에 대하여 설명하면 다음과 같다. 여기서 중앙 처리부는 그 실시 예를 위해 MC68000으로 구성하며, 메모리(120,121)는 100nsec의 응답 시간을 갖는 소자이고, 중앙 처리부(110)의 클럭이 10Mhz일 경우 16비트 데이터를 리드하는 경우를 예로 설명하고자 한다.
도 2는 클럭(CLK)에 따른 중앙 처리부(110)의 상태(S0,S1,S2,...,S7)를 나타낸 것이다.
제 1상태(S0)에 중앙 처리부는 무 동작 상태이다. 제 2상태(S1)의 클럭 상승엣지에 중앙 처리부(110)는 도 2의 (c)와 같이 어드레스 신호(ADDR[1~23])를 출력하고, 제 3상태(S2)의 클럭 상승엣지에 중앙 처리부(110)는 도 2의 (d)(e)(f)와 같이 어드레스 스트로브(/AS), 상위 데이터 스트로브(/UDS), 하위 데이터 스트로브(/LDS)를 출력한다.
이때, 제어부(130)는 상기 신호(/ADDR, /AS, /UDS, /LDS)를 받아 상위 메모리 칩 선택신호(/CSRAM_U), 하위 메모리 칩 선택신호(/CSRAM_L), 데이터 인식 신호(/DTACK)를 출력한다. 그러면 각 메모리(120,121)에는 해당 칩 선택 신호(/CSRAM_U, /CSRAM_L)에 의해 동작을 시작하고, 그 응답 시간이 100nsec인 경우라면, 이때부터 100nsec 후의 제 5상태(S4)의 클럭 상승엣지부터 안정된 데이터(DATA[0-15])를 출력하게 된다.
제 4상태(S3)에 중앙 처리부의 무 동작 상태이다. 제 5상태(S4)의 클럭 하강엣지에 중앙 처리부는 데이터 인식신호(/DTACK)를 확인한다. 이때 데이터 인식신호가 로우이면 데이터가 준비되었다고 인식하고 제 7상태(S6)의 클럭 하강엣지에 데이터 버스에 실린 16비트 데이터(DATA[0-15])를 읽어가게 된다.
제 6상태(S5)에 중앙 처리부는 무 동작 상태이다. 제 7상태(S6)의 클럭 하강엣지에 중앙 처리부(110)는 데이터 버스에 실린 데이터를 읽어가고, 어드레스 스트로브 신호(/AS), 상위 데이터 스트로브신호(/UDS), 하위 데이터 스트로브신호(/LDS) 출력을 종료한다. 이들 신호에 의해 제어부(130)는 상위 메모리 칩 선택 신호(/CSRAM_U), 하위 메모리 칩 선택 신호(/CSRAM_L), 데이터 인식신호(/DTACK)의 출력을 종료한다.
그리고, 제어부(130)의 상위 메모리 칩 선택 신호(/CSRAM_U)와 하위 메모리 칩 선택 신호(/CSRAM_L)의 종료에 의해 해당 메모리(120)는 데이터 출력을 종료하며, 데이터 버스는 무 출력 상태(Tri state)가 된다.
제 8상태(S7)의 클럭 하강엣지에 중앙 처리부는 어드레스 신호(ADDR) 출력을 종료하고, 데이터 리드 과정이 모두 종료된다.
이와 같이, 종래에는 모든 16비트 데이터의 리드 과정이 종료되는데 350nsec가 소요되며, 16비트 중앙 처리 시스템에서는 상술한 바와 같이 16비트 데이터 리드가 이루어지는 것이 일반적이다.
다시 말하면, 종래에는 중앙 처리부가 메모리(SRAM 또는 PRAM)로부터 16 비트 데이터를 읽는 과정은 다음과 같다. 여기서 중앙 처리부는 라이트신호(/WR)로 리드/라이트를 구분하지만 편의상 생략한다.
중앙 처리부(110)가 상위 어드레스(EVEN ADDRESS DATA=0)를 출력하고, 칩 선택신호(/AS)를 출력한다. 이때 0번지가 메모리 영역이라고 가정한다.
그리고, 어드레스 디코더(131)가 상위 어드레스(0)와 칩 선택신호(/AS)를 받으면 상위 메모리 칩 선택신호(/CSRAM_U), 하위 메모리 칩 선택신호(/CSRAM_L)를 상위 어드레스(0)로 출력하면, 2 개의 메모리(120,121)는 중앙 처리부(110)가 출력한 어드레스와 칩 선택신호를 받고 8비트의 데이터를 출력한다.
이때, 데이터 인식신호 발생부(132)는 중앙 처리부(110)에 데이터 인식신호를 출력해 주면, 중앙 처리부(110)는 데이터 버스(D15-D0)에 실린 데이터를 중앙 처리부 내부 레지스터로 가져간다.
이렇게 하면 중앙 처리부(110)는 0번지와 1 번지에 있는 16비트의 데이터를 읽어온다. 이때 중앙 처리부(110)에서의 0번지는 상위 바이트용 메모리(120)의 0번지와 일치하며, 1번지는 하위 바이트용 메모리(121)의 0번지와 일치하게 된다.
한편, 종래에는 8비트 메모리 1개만을 사용하는 것도 가능하지만, 일단 펌웨어의 변경이 필요하며, 메모리 한 개를 사용할 경우 16비트 데이터 리드를 위해서는 2회의 과정 반복이 필요하여, 700nsec가 소요되게 된다. 이럴 경우 중앙 처리부의 데이터 액세스 속도가 문제가 되므로, 보통은 도 1과 같이 8비트 메모리 2조를 사용하여 16비트로 동작시키게 된다.
그러나, 일반적으로 메모리 소자(PROM, SRAM)는 8비트 버스로 되어 있으며, 이를 16비트 중앙 처리 시스템에 적용하기 위해서는 2조를 사용하여야 한다. 예를 들어, 사설교환 시스템의 경우 27C020 프롬(PROM, 예컨대, 27C020) 2개(512KB)와 에스램(SRAM, 예컨대 681000) 2개(256KB)를 사용한다.
그러나 실제로 시스템에서 사용되는 메모리는 보통의 경우 프롬 128KB, 에스램 128KB 정도면 충분하다. 즉 용량 때문이 아니라 메모리 버스 사이즈 때문에 부득이하게 2조의 메모리를 사용하고 있는 것이다. 이는 제조 원가 상승 요인이 되며 기판에서의 공간도 많이 차지하게 된다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 한 개의 메모리로부터 N/2 바이트용 데이터를 교반하여 래치시켜 중앙 처리부의 데이터 버스에 해당하는 N 비트 데이터를 한 번의 액세스 타임으로 액세스할 수 있도록 한 메모리 버스 확장 장치 및 방법을 제공함에 그 목적이 있다.
한 번의 액세스 타임에 두 번의 메모리 응답 속도에 N/2 바이트씩 순차적으로 읽어 N 바이트를 래치시켜 데이터 버스에 실어줄 수 있도록 한 메모리 버스 확장장치 및 방법을 제공함에 그 목적이 있다.
도 1은 종래 메모리 버스 액세스 장치를 나타낸 구성도.
도 2는 도 1의 각 부 파형도.
도 3은 본 발명 실시 예에 따른 메모리 버스 확장 장치를 나타낸 구성도.
도 4는 도 3의 각 부 파형도.
<도면의 주요 부분에 대한 부호의 설명>
110,210...중앙 처리부120,220...메모리
130,230...제어부131,232...어드레스 디코더
132,233...데이터 인식신호 발생부231...확장 어드레스 발생부
234...확장 데이터 인터페이스부
상기한 목적 달성을 위한, 본 발명에 따른 메모리 버스 확장 장치는,
데이터를 액세스하기 위한 어드레스 및 칩 선택 신호를 출력하는 중앙 처리부와;
칩 선택 신호에 의해 동작하고 상기 어드레스 신호와 상위 또는 하위의 확장 어드레스 신호에 의해 8비트 데이터를 소정 시간 간격으로 출력하는 한 개의 메모리와;
상기 중앙 처리부와 한 개의 메모리를 제어하되, 중앙 처리부의 칩 선택 신호 및 어드레스 신호에 의해 상위 데이터 또는 하위 데이터 액세스를 위한 칩 선택및 확장 어드레스 신호를 발생하고, 메모리로부터 8비트 단위로 데이터를 래치한 후 N비트로 중앙 처리부에 전달하는 제어부를 포함하는 것을 특징으로 한다.
바람직하게, 상기 제어부는 중앙 처리부로부터 어드레스 신호와 칩 선택 신호, 상위 데이터 스트로브 및 하위 데이터 스트로브 신호를 입력받고, 확장 어드레스 신호를 발생하는 확장 어드레스 발생부와, 어드레스 신호를 판독하여 칩 선택 신호를 발생하는 어드레스 디코더와, 데이터 액세스를 허가하기 위한 신호를 발생하는 데이터 인식신호 발생부와, N/2비트 단위로 데이터를 래치시켜 N비트 값을 취하여 중앙 처리부로 전달하는 확장 데이터 인터페이스부를 포함하는 것을 특징으로 한다.
그리고, 본 발명 실시 예에 따른 메모리 버스 확장방법은,
중앙 처리부로부터 어드레스 신호 및 칩 선택신호를 입력받는 단계;
상기 어드레스 신호 및 칩 선택신호에 의해 상위 및 하위 확장 어드레스 신호를 교반하여 출력하고 메모리 칩 선택신호를 한 개의 메모리를 동작시키는 단계;
상기 중앙 처리부의 어드레스 신호 및 상위 확장 어드레스 신호, 메모리 칩 선택신호에 의해 동작하는 한 개의 메모리로부터 상위 및 하위 어드레스에 해당하는 N/2 비트 데이터를 2회 래치시켜 N 비트 데이터로 결합하는 단계;
상기 N비트 데이터를 데이터 버스에 실어 출력하는 단계;
상기 중앙 처리부에 데이터 인식신호를 출력하여 중앙 처리부에서 데이터 버스를 통해 N비트 데이터를 읽어가는 단계를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 3은 본 발명 실시 예에 따른 메모리 버스 확장 장치를 나타낸 구성도이고, 도 4는 도 3의 각 부 파형도이다.
도 3을 참조하면, 어드레스 신호 및 어드레스 스트로브, 상위 데이터 스트로브, 하위 데이터 스트로브를 출력하고 데이터 인식신호에 의해 16비트의 데이터를 읽어오는 중앙 처리부(210)와, 어드레스 신호(ADDR[1~23])와 상/하위 데이터를 읽기 위한 확장 어드레스 신호(XADDR), 칩 선택신호(/CSRAM)에 의해 8비트 데이터를 출력하는 한 개의 메모리(220)와, 메모리의 상/하위 데이터를 8비트 단위로 2회 읽은 다음 16비트로 중앙 처리부(210)에 전달하는 제어부(230)로 구성된다.
여기서, 상기 제어부(230)는 중앙 처리부(210)로부터 어드레스 신호, 어드레스 스트로브, 상위 데이터 스트로브 및 하위 데이터 스트로브 신호를 입력받아 상위 데이터 및 하위 데이터를 지정하기 위한 확장 어드레스 신호를 발생하는 확장 어드레스 발생부(XADDR GENERATOR)(231)와, 어드레스 신호를 판독하여 칩 선택신호(/CSRAM)를 출력하는 어드레스 디코더(ADDRESS DECODER)(232)와, 메모리의 응답 속도를 보장해 주기 위해 중앙 처리부(210)에 데이터 인식신호(/DTACK)를 출력하는 데이터 인식신호 발생부(233)와, 메모리(220)로부터 8비트씩 2회에 걸쳐 읽어온 데이터(XDATA[0-7])를 내부 레지스터에 래치(Latch)시켜 16비트 값을 데이터 버스에 출력하는 확장 데이터 인터페이스부(XDATA INTERFACE)(234)로 구성된다.
상기와 같은 본 발명에 따른 메모리 버스 확장장치 및 방법에 대하여 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 3을 참조하면 중앙 처리부(210)는 데이터를 액세스하기 위해 어드레스 신호(ADDR[1-23])와, 어드레스의 출력 여부를 알려주기 위한 어드레스 스트로브 신호(/AS), 어떤 데이터를 액세스하는지를 알려주기 위한 상위 데이터 스트로브 신호(/UDS) 및 하위 데이터 스트로브 신호(/LDS)를 출력하게 된다.
그러면, 제어부(230)는 FPGA 또는 CPLD로 구성되며, 상기 신호들을 입력받아 확장 어드레스 신호(XADDR[0]) 및, 칩 선택신호(/CSRAM)를 메모리(230)로 출력하여 제어하고, 중앙 처리부(210)에 데이터 액세스 허가를 위한 데이터 인식신호(/DTACK)를 출력해 준다.
이를 위해서, 제어부(230)는 확장 어드레스 발생부(231), 어드레스 디코더(232), 데이터 인식신호 발생부(233), 확장 데이터 인터페이스부(234)로 구성되며, 확장 어드레스 발생부(231)는 확장 어드레스 신호(XADDR[0])를 메모리(SRAM)(220)로 출력하여, 확장 어드레스 신호는 짝수 어드레스(0)인지 또는 홀수 어드레스(1)인지에 따라 짝수 어드레스(0)에 있는 8비트의 데이터를 출력하거나, 홀수 어드레스(1)에 있는 8비트 데이터를 출력하도록 한다.
그리고, 어드레스 디코더(232)는 칩 선택신호를 메모리(220)로 출력하여 동작시켜 주며, 상기 확장 데이터 인터페이스부(234)는 8비트의 데이터를 래치시킨 후 16비트 데이터로 취합하여 중앙 처리부(210)에 넘겨준다.
이때, 메모리(220)는 중앙 처리부(210)에서 출력한 어드레스 신호(ADDR[0-23])와 확장 어드레스 발생부(221)의 확장 어드레스 신호를 어드레스로 받고, 칩 선택 신호를 받아서 짝수 어드레스(0)에 있는 8비트 데이터 또는 홀수 어드레스(1)에 있는 8비트 데이터(XDATA[7-0])를 교반하여 출력하게 된다.
확장 데이터 인터페이스부(233)는 상기의 메모리(220)의 8비트 데이터를 내부 레지스터에 가져온 후, 16비트로 취합하여, 짝수 어드레스(0)와 홀수 어드레스(1)에 있는 16비트의 데이터(DATA[0-15])를 읽어갈 수 있게 해 준다.
이때, 제어부(230)의 데이터 인식신호 발생부(233)는 중앙 처리부(210)에 리드/라이트 허가 여부를 알려주기 위한 신호를 출력해 준다. 그러면 중앙 처리부(210)의 입장에서는 짝수 어드레스(0)는 메모리(220)의 짝수 어드레스(0: EVEN ADDRESS), 홀수 어드레스(1: ODD ADDRESS)는 메모리(220)의 홀수 어드레스(1)와 일치하게 된다.
도 4의 신호 파형도를 참조하여 도 3을 구체적으로 설명하면 다음과 같다. 여기서 중앙 처리부의 상태(S0~S7)별로 구분하여 액세스 동작을 설명하면 다음과 같다.
제 1상태(S0)에서 중앙 처리부(210)는 아무런 동작을 하지 않는다.
제 2상태(S1)에 중앙 처리부(210)는 도 4의 (c)와 같은 어드레스 신호(ADDR[1-23])를 출력하며, 제 3상태(S3)에 중앙 처리부(210)는 도 4의 (d)(e)(f)와 같이 어드레스 스트로브(/AS), 상위 데이터 스트로브(/UDS), 하위 데이터 스트로브(/LDS) 신호를 출력하며, 이때 제어부(230)는 이들 신호를 받아 메모리(220)에 도 4의 (g)와 같은 칩 선택신호(/CSRAM)를 출력한다.
또한, 확장 어드레스 발생부(231)는 확장 어드레스 신호를 0(즉, 짝수 어드레스;even address)으로 출력한다. 이때부터 메모리(220)는 동작을 시작하여 도 4의 (k)와 같이 100nsec이 경과한 시작 시점(S4)부터 안정된 데이터를 출력한다.
제 4상태(S3)에 중앙 처리부(210)는 무 동작 상태가 된다.
이후, 중앙 처리부(210)는 대기 상태(WAIT)로서, 제 5상태에 데이터 인식 신호를 체크하게 되는데, 데이터 인식신호 발생부(233)로부터 출력되지 않아 대기 상태(Wait)에 있으며, 제 6상태의 하강엣지에 두 번째 데이터 인식신호(/DTACK check)를 체크한다.
제 5상태(S4)의 중간 지점의 제어부(230)의 클럭(XCLK; 200MHz) 상승엣지에서, 확장 데이터 인터페이스부(234)는 메모리(220)가 출력하고 있는 데이터(XD[0-7])를 래치한다. 이 데이터는 16비트의 상위 8비트 즉, 짝수 어드레스의 데이터 값이다.
제 5상태(S4)의 하강엣지에, 중앙 처리부(210)는 데이터 인식신호를 확인하지만, 제어부(230)의 데이터 인식신호 발생부(233)에서 데이터 인식신호를 출력하지 않으므로, 중앙 처리부(210)는 대기 상태(Wait)로 된다. 이때, 확장 어드레스 발생부(231)는 확장 어드레스 신호를 1(odd address)로 출력한다. 이때부터 메모리(230)는 홀수 어드레스의 데이터를 출력하기 시작하여 100nsec가 경과한 제 6상태 상승엣지부터 안정된 데이터를 출력한다.
제 6상태(S5)의 중간 지점의 제 2클럭(XCLK)의 상승엣지에서 확장 데이터 인터페이스부(234)는 메모리(220)에서 출력하고 있는 데이터(XD[0-7])를 래치한다. 이 데이터는 16비트의 하위 8비트 즉, 홀수 어드레스의 데이터 값이다. 여기서 제 1클럭(CLK)은 중앙 처리부(210)에 제공되는 클럭(10MHz)이고, 제 2클럭(XCLK)는 제어부 자체의 클럭(20MHz)이다.
이때부터 확장 데이터 인터페이스부(234)는 2회에 걸쳐서 래치되어진 16비트의 데이터를 데이터 버스로 출력하게 된다.
제 7상태(S6)의 하강엣지에 중앙 처리부는 데이터 버스에 실린 데이터를 읽어가고, 어드레스 스트로브, 상위 데이터 스트로브, 하위 데이터 스트로브 신호를 종료한다.
이들 신호에 의해 제어부(220)는 칩 선택신호와 데이터 인식신호 출력을 종료한다. 칩 선택 신호의 종료에 의해 메모리는 데이터 출력을 종료하면, 데이터 버스는 무 출력상태(tri state)가 된다.제 8상태(S7)의 하강엣지에 중앙 처리부(210)는 어드레스 신호 출력을 종료하고, 데이터 리드 과정이 모두 종료된다.
이와 같이 중앙 처리부(210)에서 모든 리드 과정이 종료되는데 450nsec 가 소요되며, 이것은 기존의 2조의 메모리를 쓰는 경우보다는 100nsec 느리지만, 1조의 메모리를 읽고 2회 읽는 경우의 700nsec 보다는 250nsec 빠르게 된다. 이러한 속도 비교는 메모리(220)의 응답 속도에 따라 다르지만, 응답 속도는 보통 피롬(PROM)은 100nsec, 에스램은 20nsec 정도이다.
이를 고려하여 16비트를 리드하는 시간은 표 1과 같다.
리드시간 PROM SRAM
8비트 메모리 2개 사용시 350nsec 350nsec
8비트 메모리 1개 사용하고 2회 동작시 700nsec 700nsec
8비트메모리 1개 사용시(본 발명) 450nsec 350nsec
표 1에 도시된 바와 같이, 기존에 비해 8비트 메모리 한 개 사용시에도 큰속도 저하 없이 메모리 소자의 수를 줄일 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 메모리 버스 확장장치 및 방법에 의하면, N 비트 시스템에서 N/2 비트 메모리 한 개만으로 N비트로 동작할 수 있도록 메모리 버스를 N비트로 확장시켜 줌으로써, 기존에 2조의 메모리(PROM 2개, SRMA 2개)를 필요로 하는 N비트 시스템에서 메모리를 1조(PROM 1개, SRAM 1개)로 줄일 수 있어, 메모리 소자를 절약할 수 있다.
또한 버스 확장을 위해 단순하게 제어로직만 추가하면 되므로, 기타의 하드웨어 또는 펌웨어의 변경은 불필요하다.
이로 인해, 교환기 등의 통신 시스템에서 널리 사용되고 있는 N 비트 중앙 처리 시스템에 적용할 경우 상당한 제조 원가가 절감되는 효과가 있다.

Claims (4)

  1. N비트의 데이터를 액세스하기 위해 어드레스 및 칩 선택 신호를 출력하는 중앙 처리부와;
    칩 선택 신호에 의해 동작하고 제 1어드레스 신호와 상위 또는 하위의 제 2 어드레스 신호에 의해 8비트 데이터를 소정 시간 간격으로 출력하는 메모리와;
    상기 중앙 처리부와 메모리를 제어하되, 중앙 처리부의 칩 선택 신호 및 어드레스 신호에 의해 상위 데이터 또는 하위 데이터 액세스를 위한 칩 선택 및 확장 어드레스 신호를 제어하고, 메모리로부터 8비트 단위로 데이터를 래치한 후 N비트로 중앙 처리부에 전달하는 제어부를 포함하는 것을 특징으로 하는 메모리 버스 확장장치.
  2. 제 1항에 있어서,
    상기 제어부는 중앙 처리부로부터 어드레스 신호와 칩 선택 신호, 상위 데이터 스트로브 및 하위 데이터 스트로브 신호를 입력받고, 확장 어드레스 신호를 발생하는 확장 어드레스 발생부와, 어드레스 신호를 판독하여 칩 선택 신호를 발생하는 어드레스 디코더와, 데이터 액세스를 허가하기 위한 신호를 발생하는 데이터 인식신호 발생부와, N/2비트 단위로 데이터를 래치시켜 N비트 값을 취하여 중앙 처리부로 전달하는 확장 데이터 인터페이스부를 포함하는 것을 특징으로 하는 메모리 버스 확장장치.
  3. N 비트의 데이터 버스를 갖는 중앙 처리부와 한 개의 N/2 비트용 메모리를 적용하여 N 비트 데이터로 액세스하는 장치에 있어서,
    메모리의 상위 및 하위 어드레스 신호를 제어해 주는 확장 어드레스 발생부;
    메모리 응답 속도를 보장해 주기 위한 데이터 인식신호 발생부;
    상기 N/2 비트 데이터를 2회 래치하여 N비트 데이터 버스로 출력해 주는 확장 데이터 인터페이스부를 포함하는 것을 특징으로 하는 메모리 버스 확장 장치.
  4. 중앙 처리부로부터 어드레스 신호 및 칩 선택신호를 입력받는 단계;
    상기 어드레스 신호 및 칩 선택신호에 의해 한 개의 메모리에 상위 및 하위 확장 어드레스 신호를 교반하여 출력하고 메모리 칩 선택신호를 출력하여 동작시키는 단계;
    상기 중앙 처리부의 어드레스 신호 및 상위 확장 어드레스 신호, 메모리 칩 선택신호에 의해 동작하는 한 개의 메모리로부터 상위 및 하위 어드레스에 해당하는 N/2 비트 데이터를 2회 래치시켜 N 비트 데이터로 결합하는 단계;
    상기 N비트 데이터를 데이터 버스에 실어 출력하는 단계;
    상기 중앙 처리부에 데이터 인식신호를 출력하여 중앙 처리부에서 데이터 버스를 통해 N비트 데이터를 읽어가는 단계를 포함하는 것을 특징으로 하는 메모리 버스 확장방법.
KR1020010079653A 2001-12-15 2001-12-15 메모리 버스 확장 장치 및 방법 KR20030049448A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010079653A KR20030049448A (ko) 2001-12-15 2001-12-15 메모리 버스 확장 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010079653A KR20030049448A (ko) 2001-12-15 2001-12-15 메모리 버스 확장 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20030049448A true KR20030049448A (ko) 2003-06-25

Family

ID=29575257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010079653A KR20030049448A (ko) 2001-12-15 2001-12-15 메모리 버스 확장 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20030049448A (ko)

Similar Documents

Publication Publication Date Title
JP4550439B2 (ja) Ecc制御装置
KR101507628B1 (ko) 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법
CN1333353C (zh) 支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram
US20090276548A1 (en) Dynamically setting burst type of a double data rate memory device
KR100468634B1 (ko) 데이터 전송 제어장치, 반도체 메모리 장치 및 전자정보장치
US6779074B2 (en) Memory device having different burst order addressing for read and write operations
JP2010501915A (ja) メモリ用モジュールコマンド構造およびメモリシステム
CA2008669C (en) Multiple mode memory module
US20020145920A1 (en) Semiconductor memory device
JPS63175287A (ja) 記憶装置
US9015272B2 (en) Microcomputer
US7003638B2 (en) Memory bus interface for use in a peripheral device
US7117307B2 (en) Memory controlling apparatus performing the writing of data using address line
KR20030049448A (ko) 메모리 버스 확장 장치 및 방법
JP3998911B2 (ja) インタフェース回路、およびシリアルインタフェースとプロセッサとの間でデータを伝送する方法
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
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
US7395399B2 (en) Control circuit to enable high data rate access to a DRAM with a plurality of areas
TWI764311B (zh) 記憶體存取方法及智慧處理裝置
US5752267A (en) Data processing system for accessing an external device during a burst mode of operation and method therefor
KR100452332B1 (ko) 데이터 읽기 및 쓰기 속도 개선 방법
KR100690597B1 (ko) 이중모드 직접메모리접근을 지원하는 중앙처리장치를이용한 단일모드 직접메모리접근 구현 방법
JPH05324539A (ja) 半導体装置
JPS61150056A (ja) ダイレクト・メモリ・アクセス・コントロ−ラ
JPS6014435B2 (ja) 記憶装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination