KR930004426B1 - 듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법 - Google Patents

듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법 Download PDF

Info

Publication number
KR930004426B1
KR930004426B1 KR1019890018858A KR890018858A KR930004426B1 KR 930004426 B1 KR930004426 B1 KR 930004426B1 KR 1019890018858 A KR1019890018858 A KR 1019890018858A KR 890018858 A KR890018858 A KR 890018858A KR 930004426 B1 KR930004426 B1 KR 930004426B1
Authority
KR
South Korea
Prior art keywords
write
read
data
address
memory
Prior art date
Application number
KR1019890018858A
Other languages
English (en)
Other versions
KR900010561A (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 뷸 에이치엔 인포오메이션 시스템즈 인코오포레이티드
Publication of KR900010561A publication Critical patent/KR900010561A/ko
Application granted granted Critical
Publication of KR930004426B1 publication Critical patent/KR930004426B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

내용 없음.

Description

듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법
제1도는 본 발명의 원리를 구체화하는 레지스터 파일 메모리의 바람직한 실시예를 나타낸 블록도.
제2도는 제1도의 블록도를 상세히 나타내는 도면.
제3도는 본 발명의 레지스터 파일의 타이밍도.
제4도는 본 발명의 동작을 가술하는데 사용되는 플로우챠트.
* 도면의 주요부분에 대한 부호의 설명
10 : 레지스터파일 메모리 10-1 : RAM 부분
C, D : 기입포트 10-5 : 입력멀티플렉서회로
RA, RB : 판독포트 10-14 : 비교회로
10-30~10-37 : 레지스터 10-50 : 레지스터 멀티플렉서회로
Q70 : 타이밍신호 OLE : 스트로브인에이블신호
10-90, 10-92 : 래치
본 발명은 컴퓨터 메모리에 관한 것으로, 구체적으로 듀얼 포트메모리에 관한 것이다.
다수의 프로세싱 유닛은 스크래치 패드 메모리를 공유하도록 요구된다. 동시 요구의 경우에 경쟁의 문제점을 방지하기 위해서는 듀얼 포트 판독 및 기입메모리를 제공하는 것이 바람직하다. 대부분이 경우에, 이들 메모리는 액세스가 멀티플렉서 회로를 통하여 제어되는 분리된 집적회로칩으로부터 구성된다. 따라서, 이러한 방식으로 배열을 하면 입력판독 및 기입포트로부터 판독 및 기입을 독립적으로 수행할 수 있음이 밝혀졌다.
또 다른 시도는 기입을 위해 다른 어드레스로 전이하는 동안 판독되도록 선택되는 어드레스에서 기억셀의 지나친 기입 경쟁을 방지하는 판독 및 기입지연 요소를 사용함으로써 기억위치가 동시에 판독 및 기입되도록 하는 특정기억 셀 메모리를 제공하는 것이었다. 이러한 방법으로는 용장성 기억요소의 사용을 줄일수는 있으나 그것은 특정한 메모리셀을 필요로하며 결국에 가서는 전체적인 메모리 사이클타임을 증가시키게 되는 단점이 있다. 이와같은 종래의 듀얼포트판독 및 듀얼포트 기입메모리의 또 다른 단점은 이들이 LSI 또는 VLSI 기술에서 수행되는 경우 커다란 영역을 차지하는 다수의 부품을 통상 필요로 한다는 것이다. 이러한 종래의 배열형태에 관한 것은 미합중국 특허 제 4,610,004호 및 제 4,623,990호에 기재되어 있다. 추가로, 종래의 메모리는 기입이 발생하는 유한시간 주기를 필요로 한다. 따라서, 판독, 수정, 기입 사이클 동작의 경우에, 프로세싱유닛은 기입이 발생되기전 특정한 시간 주기 동안에 메모리에서 안정될 데이타를 제공하는 것이 요구된다. 기입 동작은 수정동작이 완료되기까지는 발생되지 않으므로, 결국 전체판독, 수정, 기입사이클 동작을 수행하도록 추가의 메모리 사이클이 요구될 수 있다. 즉, 판독, 수정, 기입동작은 통상적으로 동일시간 기간 사이클 3번을 필요로 한다. 따라서, 수정 동작이 특정사이클내에서 수행되어지지 않았을 경우 추가의 사이클이 요구된다.
본 발명의 목적은 표준메모리셀을 사용하여 실행되는 듀얼포트판독 및 기입능력을 가진 메모리를 제공하는 것이다.
본 발명의 다른 목적은 복수의 소오스에 의한 2개의 다른 포트로부터 판독 및 기입이 가능하며 복잡하지 않은 듀얼 판독 및 기입 메모리를 제공하는 것이다.
본 발명의 목적은 듀얼포트 판독 및 기입 레지스터 파일 메모리의 바람직한 실시예에 따라 수행될 수 있는데, 이것은 단일 CPU 사이클 동작내에서 판독, 수정, 기입 사이클 동작을 실행하기 위한 수단을 포함한다. 레지스터 파일 메모리는 듀얼판독포트와 단일기입포트로 된 RAM을 형성하도록 조직된 하나 또는 그 이상의 어드레스가능 멀티비트 기억위치로부터 구성된다. 추가로, 레지스터 파일 메모리는 두개의 기입포트에 대한 명령, 어드레스 및 데이타신호를 기억하기 위해 쌍으로 배열된 복수의 클럭된 입력 레지스터를 포함한다. 다른 레지스터 쌍들은 멀티플렉서 회로의 제1세트에 입력으로 접속되며, 이 멀티플렉서의 출력은 단일 기입포트의 기입제어신호, 어드레스 및 데이타 입력에 접속된다.
RAM 어레이에 대한 단일 기입포트는 각 사이클동안 두번기입하도록 인에이블된다. 이것으로 인해 레지스터 파일 기억위치속으로 순차적으로 기입되는 이전사이클동안 입력 레지스터속으로 데이타가 클럭된다. 이전사이클동안 레지스터 파일 메모리 대신에 입력레지스터속으로 데이타를 기입함으로써 기입에 요구되는 시간이 최소로 감소된다. 이것은 판독, 수정, 기입 사이클의 수정부분을 연장시키며, 이것으로 인해 레지스터 파일 메모리를 이용하는 유닛 또는 소오스의 실행을 개선한다. 이러한 배열을 특히 상기 언급한 특허에 기재된 시스템과 같은 파이프라인 시스템에 사용될때 성능을 개선시킨다.
복잡성을 감소하기 위해, 기입은 레스트를 용이하게 하는 소정의 절차에 따라 수행된다. 즉 클럭된 입력 레지스터의 양쌍에 접속된 소오스가 동일기입 어드레스를 특정하게 나타내는 경우에 동일 기억위치는 쉽게 검증될 수 있는 특정절차에 따라 두번 기입되게 된다.
본 발명의 바람직한 실시예에서, 기입데이타를 기억하는 한쌍의 레지스터는 멀티플렉서 회로의 제2세트에 입력으로서 접속된다. 각 멀티플렉서 회로는 제2의 입력, 레지스터 파일 기입포트의 다른 입력에 접속된다. 멀티플렉서 회로의 제2세트의 출력은 복수의 출력래치의 다른 곳에 접속된다. 레지스터 파일 메모리, 클럭된 입력레지스터, 멀티플렉서회로 및 래치는 단일 집적회로칩에 포함된다.
추가로, 단일집적회로 칩에는 기입동안 발생하는 임의의 경쟁을 검출하기 위한 칩 비교회로가 있다. 즉, 데이타가 클럭된 입력 데이타 레지스터로부터 하나의 판독포트로부터 판독되는 것과 동일한 기억위치 속으로 기입되는 경우 비교회로는 데이타를 포트출력 래치속으로 로딩하기 위해 대응출력 멀티플렉서 회로위치를 인에이블 한다. 이것은 항상 올바른 데이타가 각 판독포트로부터 독출되도록 한다.
본 발명의 구성 및 동작방법과 추가의 목적 및 장점에 대하여 본 발명의 특징으로서 간주되는 신규한 특징은 첨부한 도면과 관련한 다음의 설명으로부터 잘 이해될 것으로 믿는다. 그러나 각 도면은 단지 예시할 목적으로 주어져 있을 뿐 본 발명을 제한할 목적은 아니라는 것을 명백히 알아야 한다.
제1도는 본 발명의 기술을 구체화하는 레지스터 파일 메모리의 기본 구성을 나타낸다. 제1도로부터 알 수 있는 바와같이, 레지스터 파일 메모리(10)는 랜덤 액세스메모리(RAM)부분(10-1)과 한쌍의 소오스에 의해 레지스터 파일 메모리(10)의 기입포트(C, D)에 인가된 기입명령, 어드레스 및 데이타 신호를 기억하기 위해 블럭(10-3)으로된 입력클럭 레지스터 랭크 또는 세트를 포함한다.
추가로, 레지스터 파일 메모리(10)는 RAM 부분(10-1)의 단일기입포트의 기입인에이블, 기입데이타 및 기입어드레스 단자에 기입포트 레지스터를 접속하는 블록(10-5)으로된 입력 멀티플렉서회로 세트를 포함하고, 아울러, 블록(10-7)으로된 다수의 출력 멀티플렉서회로를 포함한다. 여기서 각 멀티플렉서회로의 입력은 RAM부분(10-1)의 2개의 판독포트(RA,RB)중 하나에 접속되며 기입포트 데이타 레지스터의 각각에 접속된다. 또한 각 멀티플렉서회로의 출력은 블록(10-9)으로된 출력래치쌍들중 하나에 접속된다. 파일메모리(10)는 기입제어회로블록(10-1)을 가지며, 이 블록은 도시된 바와같이 기입펄스라고 쓰여진 기입인에이블단자와 명령레지스터 멀티플렉서회로(10-50)의 출력에 접속된다. 이 블럭은 일련의 기입펄스에 따라 멀티플렉서(10-50)에 의해 인가된 출력기입 명령신호의 함수로써 기입펄스를 기입펄스단자에 인가하는 AND 게이트를 포함한다. 추가로, 레지스터 파일 메모리(10)는 파일 메모리 기입포트(C, D)의 기입 어드레스 및 판독포트(RA,RB)의 판독 어드레스를 비교하여 블럭(10-9)의 판독포트래치속으로 로드될 출력소오스를 선택하기 위해 제어신호를 발생하도록 접속된 블록(10-14)으로된 비교회로를 포함한다. 구체적으로, 비교의 결과가 동일하지 않은 경우 D 및 D포트의 어드레스 레지스터(10-36, 10-37)에 의해 특정되는 기억위치는 판독중인 기억위치와 동일하지 않으므로 RAM 부분(10)이 판독포트(A, B)에서의 데이타는 멀티플렉서회로(10-70, 10-72)의 제1위치, 즉 0를 인에이블 함으로써 선택된다. 그러나, 포트 C 또는 포트 D중 어느 하나로부터 기입되는 기억위치가 포트 A 또는 포트 B에 의해 판독되는 기억위치와 동일한 경우 그 포트에 의해 기입되는 데이타는 멀티플렉서회로(10-70) 및 (10-72)의 제2위치(1) 또는 제3위치(a)중 어느하나를 인에이블 GKA으로써 선택된다. 포트(A)에 대하여 비교회로(10-14)에 의해 발생된 선택신호는 신호(RDA, CAO, CA1)에 대응하고 포트(B)에 대해서는 신호(RDB, CBO,CB1)에 대응한다.
제1도의 RAM 부분(10-1)은 32개의 기억위치를 포함하여 각 기억위치는 8비트의 폭으로 구성된다. 바람직한 실시예에서, RAM부분(10-1)은 64개의 위치를 포함하며, 다수의 32×8비트 단일 기입 듀얼 판독 메모리 부분으로부터 구성된다. 이들 부분은 제2도에 도시한 바와같이 병렬로 위치하며 바람직한 위치수를 제공한다. 바람직한 32비트폭은 32×8비트 RAM부분을 3개 더 추가함으로써 얻어질 수 있다. 이러한 배열은 레지스터 파일 메모리(10)가 VLSI 형태로 실행될때 신호라인의 루팅 및 설계를 용이하게 한다. 추가로, 그 구성은 다른 기억위치에 기억된 데이타에 대한 바이트 동작의 수행을 쉽게 한다.
메모리(10)의 나머지 부분은 표준형 부품으로 수행될 수 있다. 예컨대, 블록(10-3)으로된 레지스터는 종래의 D형 플립-플롭으로 구성될 수 있으며 동시에 블록(10-9)으로된 래치는 표준형 투명 래치회로로부터 구성될 수 있다.
메모리(10)는 종래의 방식으로 발생되는 여러개의 타이밍 신호를 수신한다. 그러나, 추가의 정보에 대해서는 관련 특허로 참조된다. 제2도로부터 알 수 있는 바와같이, 블록(10-3)의 레지스터는 입력 AND 게이트에 의해 제1도에 도시된 바와같은 레지스터(10-30) 내지 (10-37) 각각의 클럭 입력단자에 인가되는 신호클럭(CLK) 및 신호(Q140)에 따라 클럭된다. 멀티플렉서(10-50) 내지 (10-54)의 각각은 기입포트를 선택(위치 0 또는 1)결정하는 기입선택신호, 기입선택(WRITE SELECT)를 수신한다. 바람직한 실시예에서, 기입포트(C, D)는 항상 바이너리 0 및 바이너리 1상태로 한정된 포트 C 및 포트 D에 있어서 포트 C 다음 포트 D가 선택되는 순서를 취한다.
상부에서 간단히 언급한 제2도는 제1도의 RAM부분(10-1)을 상세히 도시한 것이다. 레지스터 파일 메모리(10)는 64개의 기억위치의 반이 현재 어드레스중인 것을 나타내기 위해 그중의 기입제어블럭(10-11)이 추가의 입력을 가지고 있다는 것을 제외하고는 제1도에 나타낸 것과 동일하다. 또, 블럭(10-7)으로된 멀티플렉서(10-70, 10-72)내에 내장된 위치수가 1씩 증가하여 양 RAM부분(즉, RAM0 및 RAM1)으로부터 출력을 제공한다. 이러한 변화를 제외하고는 양 레지스터 파일 메모리는 동일하다.
제3도 및 제4도의 타이밍도 및 플로우챠트에 관련하여, 본 발명의 바람직한 실시예의 동작을 이하에 기술한다. 제3도에는 여러개의 기계 또는 CPU 사이클에 도시되어 있다. 이 도면에는 CPU 사이클로 명명된 하나의 사이클만이 전체에 도시되어 있다. 이미 지적한 바와같이, 각 CPU 사이클은 판독부분, 수정부분 및 기입부분은 포함한다. 종래에 이들은 동일 길이의 3개의 사이클을 갖는다.
본 발명에서, 각 CPU 사이클은 표준지속기간 50(ns)의 판독부분과, 대략 88(ns)의 연장된 수정부분과, 대략 2(ns)의 아주짧은 기입부분을 갖는다. 판독사이클 부분동안 정상적인 판독이 실행된다. 즉, 파형 G에 도시된 기간동안 판독포트 A 및 B에 어드레스가 인가되며, 그 기간에, 기입선택신호(WRITE SELECT)는 파형 E에 도시된 바와같이 바이너리 제로(0)이다. 어드레스된 기억위치의 데이타 내용이 독출된 다음 안정화 되자마자 파형(F)로 도시된 래치 스트로브신호(OLE)에 의해 블록(10-9)의 래치속으로 스트로브된다. 신호(OLE)의 선단에지는 파형(C)의 타이밍신호(Q70)와 일치하며 5(ns)의 최소 기간을 갖는다. 그후에 판독데이타는 래치의 출력에 인가되며 파형(H)로 표시된 기간동안 유효상태로 남는다.
CPU 사이클의 연장된 수정부분의 대략 88(ns)에 행해지며 기입부분은 블록(10-3)의 C 및 D 포트레지스터속으로 입력 소오스에 의해 인가된 명령, 어드레스 및 데이타를 클럭하는데 요구되는 시간에 대응하는 2(ns)의 기간을 갖는다. 이 기간은 소오스로부터 CPU 사이클의 수정부분에 할당되며 존재에 동일기간의 판독 및 수정 기입사이클의 경우에 할당되는 통상의 사이클, 즉 30(ns)와 비교할때 기입이 수(ns)에 불과하므로 아주 길게 느껴진다.
파형(D)로 표시한 바와같이, 사이클의 판독부분에서 판독이 완료되면, 2개의 연속 기입펄스가 2번의 연속기입동작이 실행되는 동안 제공된다. 파형(E)로 표시한 바와 같이, 신호(WRITE SELECT)가 바이너리제로(0)인 제1펄스동안 포트 C(위치 0)으로부터의 데이타는 특정기억위치속에 기입된다. 신호(WRITE SELECT)가 바이너리 1이 되는 제2기입 펄스동안 포트(D)로부터의 데이타는 특정기억위치속에 기입된다. CPU 사이클의 끝부분에서, 소오스로부터의 데이타는 파형(A)의 신호 CLK의 선단에지에 따라 포트(C, D)의 레지스터로 클럭된다.
지금까지 상부에 설명한 동작은 제4도의 플로우챠트와 관련하여 요약될 수 있다. CPU 사이클의 개시에 앞서기 포트 레지스터에 접속된 소오스에 의해 발생된 결과를 나타내는 데이타가 이미 요구된 명령 및 어드레스신호와 함께 블록(10-3)의 레지스터 속으로 클럭외어 있음을 주목해야 한다. 명령레지스터(10-30, 10-31) 각각은 바이너리 1로 세트될때 기입이 발생됨을 나타내는 신호비트위치를 포함한다. 이 기입어드레스 레지스터 각각은 고순위 또는 최상의 비트위치가 2바이트폭의 RAM중 어느것의 어드레중인가를 특정하는데 사용되는 6비트 위치를 포함한다. 즉, 이 비트위치의 내용은 하나의 입력으로서 블록(10-11a, 10-11b)의 AND 게이트에 인가된다. 제4도로부터 알 수 있는 바와같이, 판독된 사이클 부분동안 정상적인 듀얼판독 동작이 발생되도록 허용된다. 즉, 데이타는 RA 및 RB 판독포트의 어드레스단자에 인가된 판독어드레스에 의해 특정된 RAM 기억위치로부터 독출된다. 그후에 이 데이타는 블록(10-7)의 멀티플렉서 회로를 통해서 인가된 기억위치로부터 돌출된 다음 스트로브인에이블신호(OLE)에 의해 블록(10-9)의 래치버퍼 레지스터 속으로 스트로브된다. 이것은 블록(10-4)의 비교회로에서 경쟁이 검출되지 않고, 신호 RDA를 바이너리 1로 하여 멀티플렉서회로(10-70, 10-72)가 0위치를 선택한 것으로 가정한 것이다. 이렇게하여 사이클의 판독부분을 완료한다.
다음으로, 제4도에서 알 수 있는 바와같이, 사이클중 연장된 수정부분이 개시된다. 사이클중 연장된 수정부분의 제1부분 동안, 제1소오스포트(C)는 기입선택신호에 의해 RAM 부분(10-1)으로 데이타를 기입하도록 선택된다. 이때에, 기입선택 신호는 멀티플렉서회로(10-52)를 통하여(C) 포트 레지스터(10-34)의 데이타 내용을 RAM 부분(10-1)이 단일 기입포트(RAM0 및 RAM1)의 기입데이타 입력단자에 인가한다. 동시에 기입선택신호는 멀티플렉서회로(10-54)를 통하여 (C)포트 어드레스 레지스터(10-36)의 기입 어드레스 내용을 RAM부분(10-1)의 단일기입포트(RAM0, RAM1)의 기입어드레스 단자에 인가한다. 그후에, 이전CPU 사이클동안 포트(C)의 데이타 레지스터에 기억된 데이타는 멀티플렉서회로(10-50)를 통해 인가되는 (C)포트 레지스터(10-30)로부터의 기입명령신호에 의해 인에이브되는 블록(10-11)의 AND 게이트를 통해 인가되는 제3도의 제1기입펄스에 따라, 제1기입 어드레스에 의해 특정되는 기억위치로 기입된다.
제1기입동작 다음으로 제4도에 도시한 바와같이 제2기입 동작이 수행된다. 즉, 제2소오스 포트(D)는 기입선택신호가 바이너리 1상태로 스위치될때 선택된다. 이것으로 인하여 멀티플렉서회로(10-52)를 통하여 (D)포트 레지스터(10-35)의 데이타 내용이 RAM 부분(10-1)의 단일 기입포트(RAM0, RAM1)의 기입 데이타 입력단자로 인가된다. 또, 이때에, 기입선택신호는 멀티플렉서회로(10-54)를 통하여 (D)포트 어드레스 레지스터의 기입어드레스 내용을 RAM 포트(10-1)의 단일 기입포트(RAM0, RAM1)에 인가한다.
또한, 이때에 기입선택신호는 멀티플렉서회로(10-50)로 하여금 블록(10-11)의 AND 게이트의 입력에 (D)포트 명령 레지스터(10-31)의 내용을 출력으로서 인가하게 한다. 제3도의 제2기입펄스에 응답하여, 이전 CPU 사이클동안 (D)포토 데이타 레지스터에 기입된 데이타가 RAM 부분(10-1)의 특정한 제2기입 어드레스속에 기입된다. 제4도로부터 알 수 있듯이, 이렇게하여 수정사이클 부분이 완료된다.
다음으로 CPU 사이클의 기입부분이 수행된다. 기입 사이클 부분 동안, 타이밍신호(Q140) 및 (CLK)는 블럭(10-3)의 (C, D)포트 레지스터에 인가되는 데이타 어드레스 및 명령 신호가 대응 레지스터속으로 로드되도록 한다. 이렇게 로드된 정보는 제4도의 다음 CPU 사이클의 수정사이클동안 RAM부분(10-1)에 기입된다. 이렇게하여 CPU의 동작사이클이 완료된다. 이제부터 블럭(10-14)의 비교회로의 동작을 상세히 설명한다. CPU 사이클의 판독부분동안 블록(10-14)의 비교회로가 경쟁을 검출한 경우 이 회로는 적당한 신호를 블록(10-7)의 멀티플렉서회로에 인가하며, 이 멀티플렉서회로는 올바른 데이타가 블록(10-9)의 래치에 기입되게 한다. 즉, 예컨대 기입포트(A)에 접속된 소오스가 포트(C) 어드레스 레지스터(10-36)에 기억된 기입어드레스와 동일한 판독어드레스를 나타내는 경우 블록(10-14)의 비교회로는 신호(CAO)를 바이너리 1로 되게한다. 이것은 멀티플렉서회로(10-70)로 하여금 입력으로서 (C) 포트데이타 레지스터(10-34)의 데이타 내용을 래치(10-90)에 인가하게 하며, 래치는 동일 CPU 사이클 동안 그 기억위치로 기입될 가장 최근의 데이타를 요구소오스가 수신하게 한다. 유사한 방식으로, 블록(10-14)의 비교회로는 같은 종류의 경쟁이 검출될때 신호(CA1)를 바이너리 1로 되게 함으로서 (D) 포트 데이타 레지스터(10-35)의 데이타 내용을 선택한다. 비교회로의 동작은 판독 포트(B)를 포함하는 검출된 어드레스 경쟁과 동일하다.
전술한 바로부터, 본 발명의 레지스터 파일 메모리가 추가의 복잡성없이 듀얼포트판독 및 듀얼포트기입 메모리 능력을 제공하는 방법을 알 수 있다. 표준형 듀얼판독 및 단일기입 포트메모리 부분으로부터 레지스터 파일 메모리를 구성함으로써 공간, 복잡성 및 비용을 상당히 절감할 수 있다. 추가로, 각 사이클의 순차적인 기입동작은 설계를 간단히하며 동시에 테스트를 용이하게 하는 동일한 소정의 순서에 따라 수행된다. 본 발명의 바람직한 실시예에서는 종래의 듀얼포트판독, 듀얼포트기입 메모리에서 요구되어지는 것과 같은 양부분으로부터의 동일기억위치에 기입하는데 어떤 제약이 따르지 않는다. 이것은 레지스터 파일 메모리의 동작을 검증하는 바른 방법을 제공할 수 있다.
본 발명의 바람직한 실시예는 본 발명의 영역을 벗어남이 없이 여러가지 수정이 가해질 수 있다. 예컨대, 본 발명은 임의의 듀얼포트판독 및 단일포트기입 메모리 부분으로부터 수행될 수 있다. 또, 임의의 수로 병렬 접속된 바이트 폭을 가진 메모리부분은 바람지한 워드크기로 독립된 바이트어드레싱을 제공하는데 이용된다.
지금까지 본 발명의 실시예에 대해 기술해 왔지만, 본 발명의 영역 및 범위를 벗어나지 않는한 여러가지 수정이 가해질 수 있다.

Claims (11)

  1. 단일 기입 입력을 가진 듀얼포트 판독 및 기입 메모리에 있어서, 복수의 어드레스 가능 기억위치를 가진 랜덤 액세스 메모리(RAM)어레이를 구비하는데, 상기 RAM은 기입데이타, 어드레스 및 기입 인에이블 입력단자의 세트를 포함하는 단일 기입포트를 가지며; 한쌍의 포트와 관련된 기입에이타, 기입어드레스 및 명령정보의 세트를 기억하기 위한 클럭 입력 레지스터 수단과; 상기 정보세트를 수신하기 위해 상기 레지스터 수단에 접속되며, 정보세트를 상기 RAM의 기입데이타, 기입 어드레스 및 기입 인에이블 단자의 대응위치에 인가하도록 접속된 멀티플렉서 선택수단과; 상기 멀티플렉서 선택수단에 인가된 2가지 상태의 기입 선택신호와 상기 RAM의 기입펄스 입력단자에 인가된 제1 및 제2순차 기입펄스 신호를 포함하며 각 동작사이클 동안 메모리에 일련의 타이밍 신호를 인가하기 위한 입력수단을 구비하는데, 상기 RAM은 기입선택신호가 제1상태에 있을때 상기 선택수단에 의해 인가된 명령 정보에 응답하여 상기 하나의 포트의 데이타를 관련된 상기 어드레스에 의해 지정된 복수의 위치중 하나의 위치에 기입하도록 상기 제1기입펄스 신호에 의해 인에이블 되며, 상기 기입선택신호가 제2상태에 있을때 각 동작사이클동안 듀얼포트 기입능력을 제공하도록 상기 명령정보에 응답하여 상기 포트중 다른 포트의 데이타를 관련된 어드레스에 의해 지정된 상기 위치중 다른 위치에 기입하도록 상기 제2기입 펄스 신호에 의해 인에이블되는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  2. 제1항에 있어서, 상기 각 동작사이클은 판독부분, 연장된 수정부분 및 짧은 기입부분을 포함하며 상기 제1 및 제2순차 기입 펄스 신호는 상기 각 동작사이클중 상기 연장된 수정부분동안 발생하는 것을 특징으로 하는 단일 기입 입력의 듀얼포트 판독 및 기입메모리.
  3. 제2항에 있어서, 상기 입력수단은 적어도 한쌍의 입력단자 및 출력단자를 가진 게이팅 수단을 포함하며, 상기 입력단자쌍의 하나는 상기 레지스터 수단으로부터 상기 명령정보 세트를 수신하기 위해 상기 멀티플렉서선택수단에 접속되고, 상기 입력단자쌍중 다른 하나는 상기 제1 및 제2기입 펄스신호를 수신하도록 접속되며, 상기 출력단자는 상기 기입펄스 입력단자에 접속되고, 상기 AND 게이팅 수단은 상기 각 동작 사이클동안 상기 기입 선택신호에 응답하여 상기 멀티플렉서 선택수단에 의해 연속적으로 인가된 상기 명령정보세트의 함수로서 상기 제1 및 제2기입 펄스신호를 연속적으로 인가하는 것을 특징으로 하는 단일기입 입력의 듀얼포트 판독 및 기입메모리.
  4. 제2항에 있어서, 상기 판독포트에 인가된 판독 어드레스에 응답하여 상기 기억위치로부터 데이타를 액세싱하기 위해 상기 RAM에 접속된 적어도 한쌍의 판독포트와; 상기 RAM 위치로부터 독출된 상기 데이타를 일시적으로 기억하기 위한 투명래치수단과; 상기 투명래치수단과, 상기 판독포트에 의해 독출된 데이타를 수용하기 위한 상기 RAM과, 상기 기입데이타 정보 세트를 수용하기 위한 상기 레지스터 수단에 접속된 데이타 출력 멀티플렉서 선택수단과; 상기 기입어드레스 및 명령 정보 세트를 수신하기 위한 상기 레지스터 수단에 접속되며, 상기 판독 어드레스를 수신하기 위한 상기 판독포트쌍의 하나에 접속되는 복수의 입력세트를 가진 비교수단을 추가로 구비하는데, 상기 비교수단은 상기 출력데이타 멀티플렉서 선택수단에 접속된 출력세트를 가지며, 상기 임의의 하나의 판독어드레스와 상기 기입 어드레스 사이에스 동일한 비교가 검출되면 상기 데이타 멀티플렉서 선택수단으로 하여금 상기 RAM으로부터 독출된 데이타 대신에 상기 기입데이타를 상기 투명 래치수단으로 전달하도록 상기 출력 세트에 신호를 발생하여 가장 최근의 출력데이타가 각 판독포트의 액세스에 응답하여 상기 메모리에 제공되도록 구성한 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  5. 제4항에 있어서, 상기 비교수단은, CWA, DWA, CWA 및 DWC 각각이 상기 레지스터 수단에 기억된 상기 기입어드레스 및 명령정보에 대응하고, RA 및 RB가 상기 판독포트에 인가된 상기 판독어드레스에 대응하며, CWA=RA 및 CWC=1 또는, CWA=RA 및 DWC=1 또는 CWB=RB 및 CWC=1 또는, DWB=RB 및 DWC=1과 같이 판독어드레스와 기입 어드레스 사이에서 검출될때 각각의 동일 비교에 대해 출력신호를 발생하는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  6. 제2항에 있어서, 상기 선택수단에 의해 인가된 상기 어드레스는 상기 기입 선택신호가 상기 제1 및 제2상태에 있을때 메모리 테스팅을 용이하게 하는 각 동작사이클 동안 다른 데이타가 동일 위치에 기입되도록 동일 위치에 대한 지정제한 없이 코드화 되는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  7. 제2항에 있어서, 상기 기입선택신호는 각 동작사이클동안 상기 멀티플렉서 선택수단으로 하여금 항상 동일 순서로 기입데이타, 기입 어드레스 및 명령 정보의 세트를 선택하게끔 하는 동일한 연속상태를 반복하는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  8. 제2항에 있어서, 상기 일련의 타이밍신호는 상기 각 동작사이클중 짧은 기입부분 동안 발생하는 클럭신호를 포함하고, 상기 입력수단은 기입데이타, 어드레스 및 명령정보를 기억하여 다음 동작 사이클 동안 메모리에 기입하도록 하는 상기 레지스터 수단에 상기 클럭신호를 인가하는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  9. 제2항에 있어서, 상기 어레이는 복수의 바이트폭을 가진 메모리 모듈을 포함하고, 각 모듈은 특정한 다수의 기억위치를 가지며 소망의 비트폭을 소망의 다수의 위치에 제공하도록 병렬로 배열되는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  10. 제2항에 있어서, 상기 판독포트에 인가된 판독어드레스에 응답하여 상기 기억위치로부터 데이타를 액세스 하기 위해 상기 RAM에 접속된 한쌍의 판독 포트와; 상기 RAM 위치로부터 독출된 상기 데이타를 일시적으로 기억하기 위한 투명래치수단과; 상기 투명래치수단 및 상기 RAM에 접속된 데이타 출력수단을 추가로 포함하며, 상기 일련의 타이밍신호는 출력래치 인에이블 펄스신호를 추가로 포함하고, 상기 입력수단은 각 동작사이클의 판독부분동안 상기 판독포트에 의해 독출된 상기 데이타 출력수단으로부터 수신된 상기 데이타를 일시적으로 기억하기 위한 상기 투명래치수단에 상기 출력래치 인에이블펄스 신호를 인가하기 위한 수단을 포함하는 것을 특징으로 하는 단일 기입 입력의 듀얼포트판독 및 기입메모리.
  11. 복수의 어드레스 가능 기억위치를 가진 랜덤 액세스 메모리(RAM, 10-1)를 구비하는데, 상기 RAM은 기입데이타, 기입어드레스 및 기입인에이블 입력단자를 포함하는 기입포트를 가지며; 한쌍의 소스로부터 수시된 데이타, 어드레스 및 명령을 기억하기 위한 입력 레지스터 세트(10-3)와; 상기 데이타, 어드레스 및 명령을 수신하기 위해 상기 레지스터 세트에 접속되며, 상기 데이타, 어드레스 및 명령을 상기 RAM의 상기 기입데이타, 기입어드레스 및 기입인에이블 단자의 대응위치에 인가하도록 접속된 멀티플렉서(10-5)와; 각각의 동작사이클동안 타이밍신호를 발생하기 위해 상기 멀티플렉서와 같이 RAM에 결합된 타이밍수단을 구비하는데, 상기 타이밍신호는 상기 멀티플렉서에 인가된 2가지 상태의 기입선택신호(기입선택)와, 상기 RAM의 기입인에이블 단자에 인가되는 제1 및 제2순차 기입 펄스를 가진 기입제어신호(기입)를 포함하고, 상기 RAM은 상기 기입선택 신호가 제1의 상태에 있을때 상기 멀티플렉서에 의해 인가된 대응 명령에 따라 상기 소스중의 어느하나의 데이타를 대응어드레스에 특정된 상기 위치들중 어느 하나로 기입하도록 상기 제1의 기입펄스에 의해 인에이블되며, 상기 기입 선택신호가 제2상태에 있을때 상기 멀티플렉서에 의해 인에이블되며, 상기 기입선택신호가 제2상태에 있을때 상기 멀티플렉서에 의해 인가된 대응명령에 따라 상기 소스중 다른하나의 데이타를 대응 어드레스에 의해 특정된 상기 위치들중 어느 하나속으로 기입하도록 상기 제2의 기입 펄스에 의해 인에이블되는 것을 특징으로 하는 판독/기입 메모리 유닛(10).
KR1019890018858A 1988-12-19 1989-12-18 듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법 KR930004426B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US286552 1988-12-19
US07/286,552 US4933909A (en) 1988-12-19 1988-12-19 Dual read/write register file memory
US286,552 1988-12-19

Publications (2)

Publication Number Publication Date
KR900010561A KR900010561A (ko) 1990-07-07
KR930004426B1 true KR930004426B1 (ko) 1993-05-27

Family

ID=23099119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890018858A KR930004426B1 (ko) 1988-12-19 1989-12-18 듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법

Country Status (9)

Country Link
US (1) US4933909A (ko)
EP (1) EP0374829B1 (ko)
JP (1) JPH0746507B2 (ko)
KR (1) KR930004426B1 (ko)
AU (1) AU626363B2 (ko)
CA (1) CA2005953A1 (ko)
DE (1) DE68922975T2 (ko)
DK (1) DK648089A (ko)
YU (1) YU240389A (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0770213B2 (ja) * 1988-10-03 1995-07-31 三菱電機株式会社 半導体メモリ装置
US5107462A (en) * 1989-02-03 1992-04-21 Digital Equipment Corporation Self timed register file having bit storage cells with emitter-coupled output selectors for common bits sharing a common pull-up resistor and a common current sink
US5261064A (en) * 1989-10-03 1993-11-09 Advanced Micro Devices, Inc. Burst access memory
US5115411A (en) * 1990-06-06 1992-05-19 Ncr Corporation Dual port memory system
JP2573395B2 (ja) * 1990-06-11 1997-01-22 株式会社東芝 デュアルポートメモリ装置
WO1992008230A1 (en) * 1990-10-26 1992-05-14 Micron Technology, Inc. High-speed, five-port register file having simultaneous read and write capability and high tolerance to clock skew
JPH04184788A (ja) * 1990-11-20 1992-07-01 Fujitsu Ltd 半導体記憶装置
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
JP3169639B2 (ja) * 1991-06-27 2001-05-28 日本電気株式会社 半導体記憶装置
US5257236A (en) * 1991-08-01 1993-10-26 Silicon Engineering, Inc. Static RAM
US5321809A (en) * 1992-09-11 1994-06-14 International Business Machines Corporation Categorized pixel variable buffering and processing for a graphics system
US5315178A (en) * 1993-08-27 1994-05-24 Hewlett-Packard Company IC which can be used as a programmable logic cell array or as a register file
US5581720A (en) * 1994-04-15 1996-12-03 David Sarnoff Research Center, Inc. Apparatus and method for updating information in a microcode instruction
US5751999A (en) * 1994-06-23 1998-05-12 Matsushita Electric Industrial Co., Ltd. Processor and data memory for outputting and receiving data on different buses for storage in the same location
US5745732A (en) * 1994-11-15 1998-04-28 Cherukuri; Ravikrishna V. Computer system including system controller with a write buffer and plural read buffers for decoupled busses
US5566123A (en) 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
US5813037A (en) * 1995-03-30 1998-09-22 Intel Corporation Multi-port register file for a reservation station including a pair of interleaved storage cells with shared write data lines and a capacitance isolation mechanism
US5713039A (en) * 1995-12-05 1998-01-27 Advanced Micro Devices, Inc. Register file having multiple register storages for storing data from multiple data streams
KR100190373B1 (ko) * 1996-02-08 1999-06-01 김영환 리드 패스를 위한 고속 동기식 메모리 장치
US5802579A (en) * 1996-05-16 1998-09-01 Hughes Electronics Corporation System and method for simultaneously reading and writing data in a random access memory
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
US5923608A (en) * 1997-10-31 1999-07-13 Vlsi Technology, Inc. Scalable N-port memory structures
US6360307B1 (en) 1998-06-18 2002-03-19 Cypress Semiconductor Corporation Circuit architecture and method of writing data to a memory
US7400548B2 (en) * 2005-02-09 2008-07-15 International Business Machines Corporation Method for providing multiple reads/writes using a 2read/2write register file array
US7962698B1 (en) 2005-10-03 2011-06-14 Cypress Semiconductor Corporation Deterministic collision detection
JP4201011B2 (ja) * 2006-03-27 2008-12-24 トヨタ自動車株式会社 蓄熱装置
CN102110464B (zh) * 2009-12-26 2015-06-10 上海芯豪微电子有限公司 宽带读写存储器装置
US8862836B2 (en) * 2011-06-14 2014-10-14 Texas Instruments Incorporated Multi-port register file with an input pipelined architecture with asynchronous reads and localized feedback
US8862835B2 (en) * 2011-06-14 2014-10-14 Texas Instruments Incorporated Multi-port register file with an input pipelined architecture and asynchronous read data forwarding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4287575A (en) * 1979-12-28 1981-09-01 International Business Machines Corporation High speed high density, multi-port random access memory cell
JPS573155A (en) * 1980-06-05 1982-01-08 Ricoh Co Ltd Input and output control circuit for memory device
US4628489A (en) * 1983-10-03 1986-12-09 Honeywell Information Systems Inc. Dual address RAM
US4610004A (en) * 1984-10-10 1986-09-02 Advanced Micro Devices, Inc. Expandable four-port register file
US4623990A (en) * 1984-10-31 1986-11-18 Advanced Micro Devices, Inc. Dual-port read/write RAM with single array
US4811296A (en) * 1987-05-15 1989-03-07 Analog Devices, Inc. Multi-port register file with flow-through of data

Also Published As

Publication number Publication date
DK648089A (da) 1990-06-20
JPH0746507B2 (ja) 1995-05-17
AU626363B2 (en) 1992-07-30
DE68922975D1 (de) 1995-07-13
KR900010561A (ko) 1990-07-07
AU4692089A (en) 1990-06-21
EP0374829A3 (en) 1991-05-29
CA2005953A1 (en) 1990-06-19
DK648089D0 (da) 1989-12-19
JPH02220293A (ja) 1990-09-03
EP0374829B1 (en) 1995-06-07
DE68922975T2 (de) 1996-03-21
EP0374829A2 (en) 1990-06-27
US4933909A (en) 1990-06-12
YU240389A (sh) 1994-01-20

Similar Documents

Publication Publication Date Title
KR930004426B1 (ko) 듀얼 포트 판독/기입 레지스터 파일 메모리 및 그 구성방법
US5060145A (en) Memory access system for pipelined data paths to and from storage
KR950004854B1 (ko) 반도체 메모리 장치
US5261068A (en) Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US7302545B2 (en) Method and system for fast data access using a memory array
KR100393860B1 (ko) 랜덤액세스메모리
KR100679370B1 (ko) 메모리 소자에서의 워드 순서지정 방법
KR930014577A (ko) 반도체 기억장치
JP2001526819A (ja) プログラム読出/データ書込を同時に行なう能力を有する、結合されたプログラムおよびデータ不揮発性メモリ
US4796222A (en) Memory structure for nonsequential storage of block bytes in multi-bit chips
US20050180240A1 (en) Method and system for fast memory access
US5243701A (en) Method of and system for processing data having bit length variable with modes of operation
KR100317542B1 (ko) 반도체메모리장치
US4992979A (en) Memory structure for nonsequential storage of block bytes in multi bit chips
US6292867B1 (en) Data processing system
JPH0450625B2 (ko)
JPH05189296A (ja) 単一のビットメモリに対する同時書き込みアクセス装置
KR940001590B1 (ko) 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법
JP3520570B2 (ja) メモリアクセス制御装置
KR100480653B1 (ko) 프로그램판독/데이터기록을동시에수행하는능력을갖는결합된프로그램및데이터비휘발성메모리
JP3600830B2 (ja) プロセッサ
JP3222647B2 (ja) メモリバンク自動切替システム
KR200148658Y1 (ko) 피엘씨의 입/출력 카드 선택장치
KR950020736A (ko) 반도체 기억장치
JPS63142589A (ja) 半導体メモリ

Legal Events

Date Code Title Description
A201 Request for examination
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: 19980323

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee