KR100389220B1 - 다른길이의데이터를수용하는복수의멀티포트레지스터파일 - Google Patents

다른길이의데이터를수용하는복수의멀티포트레지스터파일 Download PDF

Info

Publication number
KR100389220B1
KR100389220B1 KR1019960704892A KR19960704892A KR100389220B1 KR 100389220 B1 KR100389220 B1 KR 100389220B1 KR 1019960704892 A KR1019960704892 A KR 1019960704892A KR 19960704892 A KR19960704892 A KR 19960704892A KR 100389220 B1 KR100389220 B1 KR 100389220B1
Authority
KR
South Korea
Prior art keywords
ports
read
write
register
address
Prior art date
Application number
KR1019960704892A
Other languages
English (en)
Other versions
KR970701880A (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 KR970701880A publication Critical patent/KR970701880A/ko
Application granted granted Critical
Publication of KR100389220B1 publication Critical patent/KR100389220B1/ko

Links

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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

Abstract

멀티포트 레지스터 파일은 제 1 폭의 레지스터를 갖는 제 1 파일 유닛과 제 2 폭의 레지스터를 갖는 제 2 파일 유닛을 포함한다. 제 2 폭은 제 1 폭 보다는 작다. 데이터는 하나의 기록 동작으로 제 1 및 제 2 파일 유닛 모두에 기록되고, 독립적으로 제 1 및 제 2 파일 유닛으로부터 개별적 판독이 가능하나, 제 1 파일 유닛은 VLIW 프로세서의 기능 유닛에 대한 피연산자가 되는 데이터. 또는 이들 기능 유닛으로부터의 결과 데이터를 수용한다. 제 2 파일 유닛은 이들 기능 유닛을 조건적으로 동작시키는 가드 비트를 수용한다.

Description

다른 길이의 데이터를 수용하는 복수의 멀리포트 레지스터 파일
멀티포트 레지스터는 복수 레지스터를 동시에 액세스하는데 필요한 디지탈 데이터 프로세서에 이용된다. 특히, 그러한 레지스터 파일들은 VLIW(매우 긴 명령 워드)프로세서들에 유용하다. 그러한 프로세서들은 또한 복수의 동작 코드을 수용하는 명령 레지스터와, 복수의 동작 코드를 실행하는 다수의 기능 유닛을 포함하여, 단일의 머신 사이클에서 동시에 시작한다.
멀티포트 레지스터 파일은 물론 다른 형태의 프로세서들에도 이유될 수 있다.
종래 기술의 멀티포트 레지스터 파일은 도 1에 도시된다. 이 멀티포트레지스터 파일은 128 32 비트 레지스터들을 포함한다.
상기 멀티포트 레지스터 파일의 왼쪽에 기록 어드레스 포트 WA1, WA2 및 WA3가 도시되어 있으며, 이들 각각은 8 비트 폭으로 되어 있다. 또한 기록 포트 WD1, WD2 및 WD3가 역시 왼쪽상에 도시되고 있으며, 이들 각각은 32 비트 폭으로 되어 있다. 3개의 기능 유닛으로부터의 결과는 기록 어드레스 포트들 상에 지정된 어드레스들에서 기록 포트들 상에 동시에 기록될 수 있다.
상기 멀티포트 레지스터 파일의 오른쪽에는 판독 어드레스 포트 RA1, RA2, RA3, RA4. RA5, RA6, RA7, RA8 및 RA9가 도시되며, 이들 각각은 8 비트 폭으로 된다. 또한, 오른쪽에는 기록 포트 RD1, RD2, RD3, RD4, RD5, RD6, RD7, RD8 및 RD9가 도시되며, 이들 각각은 32 비트 폭이 된다. 기록 어드레스 포트들 상에 지정된 어드레스들에서의 기록 포트들에 있어서, 기능 유닛용으로 정해진 피연산자(operand)는 9개까지 상기 멀티포트 레지스터 파일로부터 동시에 판독될 수 있다.
VLIW 프로세서에 있어서, 상기 기능 유닛으로부터의 결과를 상기 멀티포트 레지스터 파일에 조건적으로 기록하기 위해 가드 비트가 사용된다. EP 479 390(PHA 1209)에서 설명된 바와 같이, 브랜칭 지연(branching delays)으로 인하여 VLIW 르로세서들에서는 가드 비트가 필요하게 된다. 상기 기능 유닛들은, 동작의 결과가실질적으로 이용될 것인지를 프로세서가 결정하기 전에 브랜치 지연동안 동작을 실행한다. 동작이 완료된 후, 각각의 기능 유닛은, 관련 가드 비트가 적합한 값을 갖는 경우에만 레지스터 파일에 결과를 기록한다.
이러한 특정의 파일 유닛에는 아홉 개의 판독 포트가 있는데, 이는 당해의 VLIW 프로세서가 3 동작을 수용하는 명령 위드를 갖기 때문이다. 각각의 동작은 일반적으로 두 개의 데이터 피연산자와 하나의 가드 비트를 필요로 한다. 동시에 실행되는 3개의 기능 유닛 각각으로부터의 결과를 수용하기 위해 세 개의 기록 포트가 있다. 각각의 판독 또는 기록 포트는 관련 어드레스 포트를 갖는다.
원래, 가드 비트는 멀티포트 레지스터 파일로부터 공급된다. 가드 비트 또는 멀티 가드 값은 일반적으로 종래의 레지스터 파일에서 이용가능한 32 비트 판독 및 기록 포트와 32 비트 레지스터보다 상당히 작다. 각각의 기능 유닛으로부터의 기록이 가드 비트 또는 값에 의해 좌우되는 곳에서, 상당한 불필요한 회로가 필요하게 되고 특히, 여분의 32 비트 판독 및 기록 포트와 여분의 8 비트 기록 및 판독 어드레스 포트가 필요하게 된다.
본 발명은, 다수의 기능 유닛과; 제 1의 수의 비트(a first number of bit)를 각각 가지는 제 1의 수의 어드레스 가능한 제 1 레지스터(a first number of addressable first registers)와, 상기 제 1의 수의 비트보다는 적은 제 2의 수의 비트를 각각 가지는 제 2의 수의 어드레스 가능한 제 2 레지스터와, 관련 기록 어드레스 포트를 각각 가지는 다수의 기록 포트로서, 상기 기능 유닛들이 각각의 기록 포트 및 관련 기록 어드레스 포트에 연결되는, 상기 다수의 기록 포트, 및 관련 판독 어드레스 포트를 각각 가지는 다수의 판독 포트로서, 상기 기능 유닛들이 각각의 판독 포트 및 관련 판독 어드레스 포트에 연결되는, 상기 다수의 판독 포트를 포함하는 레지스터 파일; 을 구비하는 프로세서에 관한 것이다. 본 발명은 또한, 그러한 프로세서에 이용되는 레지스터 파일에 관한 것이다.
도 1 은 종래의 멀티 포트 레지스터 파일을 나타내는 도면.
도 2는 본 발명에 따른 멀티 포트 레지스터 파일을 나타내는 도면.
도 3은 레지스터 파일의 플로 평면을 나타내는 도면.
도 4는 종래의 플로 평면에 이용하는데 적합되는 레지스터 셀을 나타내는 도면.
도 5는 본 발명에 따른 레지스터 파일의 플로 평면을 나타내는 도면.
도 6은 도 5의 레지스터 파일의 데이터 부분에 이용하는데 적합된 레지스터 파일 셀을 나타내는 도면.
도 7은 도 5의 레지스터 파일의 가드 부분에 이용하는데 적합된 레지스터 파일 셀을 나타내는 도면.
도 8은 판독 및 기록 어드레스 신호를 판독 및 기록 인에이블 신호로 변환하는 디코더를 나타내는 도면.
본 발명의 목적은 프로세서의 동작에 필요한 회로를 줄이는 것이다.
이러한 목적은, 프로세서에 있어서, 제 1 레지스터들이 기록 포트들, 기록 어드레스 포트들, 판독 포트들 및 판독 어드레스 포트들 중 관련 포트와 함께 제 1 파일 유닛에 배치되고, 제 2 레지스터들이 기록 포트들, 기록 어드레스 포트들, 판독 포트들 및 판독 어드레스 포트들 중 관련 포트와 함께 제2 파일 유닛에 배치되는 것을 특징으로 함에 의해서 달성된다. 가드 비트는 VLIW 프로세서용 제 2 레지스터에 기억된다. 다른 형태의 프로세서들에 있어서는, 다른 형태의 짧은 데이터가 제 2 파일 유닛에 기억될 수 있다. 그러한 짧은 데이터는 실례로 플레그를 포함할 수 있다.
본 발명은 이제 첨부된 도면을 참조하여 비제한적인 방법으로 설명될것이다.
도 2는 본 발명에 따른 멀티 포트 레지스터 파일을 도시한다. 이 파일은 두부분 즉, 128 레지스터, 32 비트 폭의 파일의 데이터 파일 유닛(20)과, 128 레지스터, 1 비트 폭의 파일의 가드 파일 유닛(22)으로 분할된다.
기록 어드레스 입력 WA1, WA2, WA3 및 기록 데이터 입력 WD1, WD2, WD3은 종래 기술에 표시된 것이다. 하지만, 데이터 입력의 단지 한 비트만이 가드 파일(22)로 루팅되는데 필요하다. 루팅 회로는 필요치 않으며, 이는 가드 비트가 양쪽 파일에 기록되고, 단지 한 파일로부터 판독되기 때문이다. 판독 어드레스 입력 RA1, RA2, RA3, RA4, RA5 및 RA6과 판독 데이터 출력 RD1, RD2, RD3, RD4, RD5 및 RD6은 데이터 파일(20)에 전용된다. 판독 어드레스 입력 RA7, RA8 및 RA9와 판독 데이터 출력 RD7, RD8 및 RD9는 가드 파일(22)에 전용된다. 가드 파일에 전용된 판독 데이터 출력은 단지 한 비트 폭이 되므로 3개의 여분의 32 비트 폭 데이터 버스가 데이터 파일(20)의 출력에 필요하게 되는 종래 기술의 실행에 비해 실질적으로 회로가 감소된다. 판독 포트및 기록 포트는 종래의 멀티포트 레지스터 파일에서처럼 유럽 특허 출원 번호 605 927(PHA 21.777)의 구조와 같다.
도 3은 도 1에 따른 레지스터 파일의 플로 평면을 도시한다. 이 파일은 행 및 열로 배열된 레지스터 셀의 매트릭스로 구성된다. 간략함을 위하여, 단지 상부 및 하부 행과 좌측 및 우측 열 만을 도시한다. 여기에서는, 레지스터의 각각의 비트에 대해 하나씩인 32 비트 열이 있으며, 레지스터의 각각에 대해 하나씩인 128 행이 있다.
도 4은 도 3의 플로 평면에 이용하는데 적합한 레지스터 셀을 도시한다. 좌측에는 기록 데이터 신호 WD1, WD2 및 WD3의 각 비트가 입력되고, 이들 비트는MOSFET(401, 402 및 403)에 연결된다. MOSFET(401, 402 및 403)의 게이트는 인에이블 신호(WE1, WE2 및 WE3)의 각 비트에 연결된다. 접합부(425)는 인버터(423)로 입력하는 연결 OR로 작용한다. 피드백 인버터(424)는 인버터(423)의 입력과 출력사이에 연결된다. 인버터(423)의 출력(404)은 MOSFET(405-413)의 게이트에 연결된다. MOSFET(405-413)는 RD1-RD9의 각각의 비트에 연결된다. MOSFET(405-413)는 또한 MOSFET(414-422)에 각각 연결된다. MOSFET(414-422)의 게이트는 판독 인에이블 신호(RE1-RE9)의 각각의 비트에 연결된다.
도 3의 레지스터 파일에 있어서, 다음의 사항을 예상할 수 있다.
도 5는 본 발명에 따른 멀티포트 레지스터 파일의 플로 평면을 도시한다. 새로운 멀티포트 레지스터 파일은, 종래 기술과 동일한 플로 평면을 갖는 데이터 레지스터 파일 유닛(a)과, 128 레지스터 셀의 한 열을 갖는 가드 레지스터 파일 유닛(b)을 포함한다. 테이터 레지스터 파일 유닛(a)이 플로 평면이 종래의 레지스터 파일에 대한 것과 동일하기는 하지만, 새로운 데이터 레지스터 파일에 필요한 레지스터 셀은 상당히 간략히 된다. 가드 레지스터 파일 유닛에 필요되는 셀도 보다 간소하다.
도 6은 본 발명에 따른 데이터 레지스터 파일 유닛(a)에서 기능을 하는 레지스터 셀을 도시한다. 레지스터 셀의 좌측 부분은 도 4의 것과 동일하며, 그 성분은 동일한 참조 번호를 갖는다. 하지만, 셀의 우측 부분은 트랜지스터(605-610)가 트랜지스터(405-413)에 대해 대체되고, 트랜지스터(614-619)가 트랜지스터(414-422)에 대해 대체되어 간략하게 되어 있다. 다시 말해서, 도6의 셀은 도 4의 셀보다 6 트랜지스터가 적고 상응하여 판독 라인이 적게 된다.
도 7은 도 5의 가드 레지스터 유닛(b)에서 작용하는 레지스터 셀을 도시한다. 상기 셀의 좌측 부분을 도 4의 셀의 좌측 부분과 동일하다. 하지만, 우측 부분은 도 6의 셀보다도 더 간략화 되어 있다. MOSFET(705-707)은 MOSFET(405-413)에 대해 대체되고, MOSFET(714-716)은 MOSFET(414-412)에 대해 대체 된다. MOSFET(705-707)은 판독 데이터 라인 RD7-RD9 각각의 비트에 연결 된다. MOSFET(714-716)은 판독 인에이블 라인 RE7-RE9 각각의 비트와 연결 된다. 다시 말해서, 도 7의 셀은 도 4의 셀보다 12개 적은 트랜지스터를 가지며. 도 6의 셀보다6개 적은 트랜지스터를 갖게 되어, 상응하는 만큼의 적은 판독 라인을 갖게 된다. 판독 인에이블 라인 RE7-9이 데이터 레지스트 파일 유닛(a)에 필요없게 되고, 판독 인에이블 라인 RE1-6이 가드 레지스터 파일 유닛(b)에 필요없게 되므로써, 라인 RE7-9는 라인 RE1-6중 세 라인에 할당된 바와 동일한 수평 공간을 차지할 수 있게 된다. 따라서, RE7-9에 대해 부가적인 수평의 선의 공간이 필요없게 된다.
도 5의 레지스터 파일에 있어서, 다음과 같은 사항을 알 수 있게 된다.
이와 같이, 도 2 및 5-7의 실시예는 도 1 및 3-4의 실시예에 비하여 22.912개의 보다 적은 트랜지스터와 384개의 보다 적은 수평의 선 공간과 90개의 보다 적은 수직의 선을 갖는다.
도 4, 6 및 7의 판독 인에이블 입력 및 기록 인에이블 입력은 도 8에 도시된 바와 같은 디코더 회로를 사용하여 판독 어드레스 입력 및 기록 어드레스 입력으로부터 얻어진다. 표준 어드레스 디코딩 블록이 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812에 도시된다. 이들 블록들은 8비트 어드레스 WA1, WA2,WA3, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9를 128 비트 인에이블 신호 WA1, WA2, WA3, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 각각으로 변환한다.
기록 인에이블 신호 각각의 비트는 레지스터 파일의 각각의 행에 관련하며, 데이터 레지스터 파일 유닛(a)과 가드 레지스터 파일 유닛(b) 모두의 각각의 행의 각 셀로 진행한다. 판독 인애이블 신호 RE1, RE2, RE3, RE4, RE5및 RE6은 데이터 레지스더 파일 유닛(a)의 각각의 행과 관련되며, 데이터 레지스터 파일 유닛(a)의 각각의 행의 각 셀로 진행한다. 판독 인에이블 신호 RE7, RE8 및 RE9는 가드 레지스터 파일 유닛(b)의 각각의 행과 관련되며, 가드 레지스터 파일 유닛(b)의 각각의 행의 각 셀로 진행한다. 이와 같이 실례로 WE1의 비트 1은 양쪽 레지스터 파일 유닛의 행 1의 각각의 셀로 진행하고; RE1의 비트 1은 데이타 레지스터 파일 유닛(a)의 행 1의 각각의 셀로 진행하며; RE7의 비트 1은 가드 파일 레지스터 유닛(b)의 행 1의 각각의 셀로 진행한다.
당 기술 분야에 숙련된 사람들을 본 발명에 따른 멀티포트 레지스터 파일이 다양한 다른 실시예를 가질 수 있다는 것을 알 수 있을 것이다. 이러한 실시예들은 다음의 사항들을 포함한다. 데이터 레지스터는 특정 프로세서의 피연산자 또는 결과 데이터에 이용되는 16 비트와 같은 어떤 폭도 될 수 있다. 가드 레지스트는 멀티비트 가드 또는 플레그 값이 이용되는 경우 보다 적은 폭이 될 수 있다. 프로세서가 다른 폭의 다른 데이터를 이동할 필요가 있다면, 보다 많은 파일이 이용될 수 있다.

Claims (10)

  1. 다수의 기능 유닛과,
    제 1의 수의 비트(a first number of bit)를 각각 가지는 제 1의 수의 어드레스 가능한 제 1 레지스터(a first number of addressable first registers), 상기 제 1의 수의 비트보다는 적은 제 2의 수의 비트를 각각 가지는 제 2의 수의 어드레스 가능한 제 2 레지스터, 관련 기록 어드레스 포트를 각각 가지는 다수의 기록 포트로서, 상기 기능 유닛들이 각각의 기록 포트및 관련 기록 어드레스 포트에 연결되는, 상기 다수의 기록 포트, 및 관련 판독 어드레스 포트를 각각 가지는 다수의 판독 포트로서, 상기 기능 유닛들이 각가의 판독 포트 및 관련 판독 어드레스 포트에 연결되는, 상기 다수의 판독 포트를 포함하는 레지스터 파일을 구비하는 프로세서에 있어서,
    상기 프로세서는 특정의 제 1 레지스터와 특정의 제 2 레지스터 모두에 어드레스하는 기록 어드레스를 상기 기록 포트들 중 적어도 한 포트와 관련하는 상기 기록 어드레스 포트에 공급가능하고,
    상기 레지스터 파일은, 상기 관련하는 기록 어드레스 포트상에서 상기 기록 어드레스를 수신할 때 상기 특정의 제 1 레지스터와 상기 특정의 제 2레지스터 모두에 상기 기록 포트들 중 적어도 한 포트상의 데이터를 기록하도록 배열되며,
    상기 특정의 제 1 레지스터와 상기 특정의 제 2 레지스터는 상기 판독 어드레스 포트를 통하여 독립적으로 어드레스 가능한 것을 특징으로 하는 프로세서.
  2. 제 1 항에 있어서,
    상기 제 1 레지스터들은 상기 기록 포트들, 상기 기록 어드레스 포트들, 상기 판독 포트들 및 상기 판독 어드레스 포트들 중 관련 포트와 함께 제 1파일 유닛에 배치되고,
    상기 제 2 레지스터들은 상기 기록 포트들, 상기 기록 어드레스 포트들, 상기 판독 포트들 및 상기 판독 어드레스 포트들 중 관련 포트와 함께 제 2파일 유닛에 배치되는 것을 특징으로 하는 프로세서.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 레지스터 파일은 멀티포트 레지스터 파일이며, 상기 제 1 및/또는 제 2 레지스터 중 적어도 한 레지스터는 하나 이상의 판독 포트로부터 액세스 될 수 있는 것을 특징으로 하는 프로세서.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 기능 유닛들 중 적어도 한 유닛은, 특정의 제 2 레지스터로부터 판독된 가드 비트에 따라 조건적으로 동작의 결과를 기록하기 위해 배치되는 것는 특징으로 하는 프로세서.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2의 수의 비트는 1 비트인 것을 특징으로 하는 프로세서.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 프로세서는, 상기 기능 유닛들에 의해 병렬로 실행하기 위한 복수 동작 코드를 수용하여, 단일의 머신 사이클에서 동시에 개시하는 명령 레지스터를 포함하는 VLIW 프로세서인 것을 특징으로 하는 프로세서.
  7. 다수의 기능 유닛과,
    제 1의 수의 비느(a first number of bit)를 각각 가지는 제 1의 수의 어드레스 가능한 제 1 레지스터(a first number of addressable first registers), 상기 제 1의 수의 비트보다는 적은 제 2의 수의 비트를 각각 가지는 제 2의 수의 어드레스 가능한 제 2 레지스터, 관련 기록 어드레스 포트를 가지는 각각 다수의 기록 포트로서, 상기 기능 유닛들이 각각의 기록 포트및 관련 기록 어드레스 포트에 연결되는, 상기 다수의 기록 포트, 및 관련 판독 어드레스 포트를 각각 가지는 다수의 판독 포트로서, 상기 기능 유닛들이 각각의 판독 포트 및 관련 판독 어드레스 포트에 연결되는, 상기 다수의 판독 포트를 포함하는 레지스터 파일을 구비하는 프로세서에 있어서,
    상기 레지스터 파일은 멀티포트 레지스터 파일이며, 상기 제 1 및/또는 제 2 레지스터 중 적어도 한 레지스터는 하나 이상의 판독 포트로부터 액세스 가능한 것을 특징으로 하는 프로세서.
  8. 제 7 항에 있어서,
    상기 제 1 레지스터들은 상기 기록 포트들, 상기 기록 어드레스 포트들, 상기 판독 포트들 및 상기 판독 어드레스 포트들 중 관련 포트와 함께 제 1파일 유닛에 배치되고,
    상기 제 2 레지스터들은 상기 기록 포트들, 상기 기록 어드레스 포트들, 상기 판독 포트들 및 상기 판독 어드레스 포트들 중 관련 포트와 함께 제 2파일 유닛에 배치되는 것을 특징으로 하는 프로세서.
  9. 제 1, 2, 7 또는 8 항 중 어느 한 항에 따른 프로세서에 사용되기 적합한 멀티포트 레지스터 파일.
  10. 프로세서를 동작하는 방법에 있어서,
    제 1 기능 유닛으로부터의 데이터 및 기록 어드레스를 레지스터 파일의 기록 포트 및 상응하는 기록 어드레스 포트에 각각 공급하는 단계와,
    상기 기록 어드레스에 의해 어드레스된 제 1 레지스터에 상기 테이터를 기억시키고, 상기 기록 어드레스에 의해 어드레스된 제 2 레지스터에는 상기 데이터의 단지 일부만을 기억시키는 단계와,
    제 1 및 제 2 액세스 동작중 한 동작 또는 두 동작 모두에서 상기 데이터 및/또는 상기 데이터의 일부를 사용하는 단계를 구비하며,
    상기 제 1 액세스 동작은, 상기 제 2 레지스터의 판독 어드레스를 상기 레지스터 파일의 판독 어드레스 포트에 공급하는 단계와, 상기 제 2 레지스터로부터의 상기 데이터의 일부를 제 2 기능 유닛으로 판독하는 단계와 상기 일부의 값에 따라 상기 제 2 기능 유닛으로부터의 결과를 조건적으로 기록하는 단계를 구비하며,
    상기 제 2 액세스 동작은, 상기 제 1 레지스터의 판독 어드레스를 상기 레지스터 파일의 판독 어드레스 포트에 공급하는 단계와, 상기 제 1 레지스터 로부터의 상기 데이터를 제 3 기능 유닛으로 판독하는 단계와, 상기 제 3 기능 유닛으로 상기 데이터 상에서 동작하는 단계를 구비하는 것을 특징으로 하는 프로세서 동작 방법.
KR1019960704892A 1994-12-30 1995-11-16 다른길이의데이터를수용하는복수의멀티포트레지스터파일 KR100389220B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US366,958 1994-12-30
US08/366,958 US6370623B1 (en) 1988-12-28 1994-12-30 Multiport register file to accommodate data of differing lengths

Publications (2)

Publication Number Publication Date
KR970701880A KR970701880A (ko) 1997-04-12
KR100389220B1 true KR100389220B1 (ko) 2003-10-11

Family

ID=23445347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960704892A KR100389220B1 (ko) 1994-12-30 1995-11-16 다른길이의데이터를수용하는복수의멀티포트레지스터파일

Country Status (7)

Country Link
US (1) US6370623B1 (ko)
EP (1) EP0748477B1 (ko)
JP (1) JP3591842B2 (ko)
KR (1) KR100389220B1 (ko)
DE (1) DE69525527T2 (ko)
TW (1) TW296452B (ko)
WO (1) WO1996021186A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931939A (en) * 1996-09-25 1999-08-03 Philips Electronics North America Corporation Read crossbar elimination in a VLIW processor
US5974537A (en) * 1997-12-29 1999-10-26 Philips Electronics North America Corporation Guard bits in a VLIW instruction control routing of operations to functional units allowing two issue slots to specify the same functional unit
WO2000079395A1 (en) * 1999-06-21 2000-12-28 Bops Incorporated Methods and apparatus for establishing port priority functions in a vliw processor
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
US6851044B1 (en) 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US6862677B1 (en) 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
WO2002042897A2 (en) * 2000-11-27 2002-05-30 Koninklijke Philips Electronics N.V. Data processing apparatus
US6834024B2 (en) * 2001-10-23 2004-12-21 Ip-First, Llc Reduced size multi-port register cell
US20040128475A1 (en) * 2002-12-31 2004-07-01 Gad Sheaffer Widely accessible processor register file and method for use
US20050078693A1 (en) * 2003-10-10 2005-04-14 Landers Robert J. Time division multiplexed switch core using multiple write ports
EP1794672B1 (en) * 2004-09-22 2010-01-27 Koninklijke Philips Electronics N.V. Data processing circuit wherein functional units share read ports
TW200625097A (en) * 2004-11-17 2006-07-16 Sandbridge Technologies Inc Data file storing multiple date types with controlled data access
US7962731B2 (en) 2005-10-20 2011-06-14 Qualcomm Incorporated Backing store buffer for the register save engine of a stacked register file
US7844804B2 (en) * 2005-11-10 2010-11-30 Qualcomm Incorporated Expansion of a stacked register file using shadow registers
US7366032B1 (en) * 2005-11-21 2008-04-29 Advanced Micro Devices, Inc. Multi-ported register cell with randomly accessible history

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491937A (en) * 1982-02-25 1985-01-01 Trw Inc. Multiport register file
US4737933A (en) * 1983-02-22 1988-04-12 Storage Technology Partners CMOS multiport general purpose register
US4811296A (en) * 1987-05-15 1989-03-07 Analog Devices, Inc. Multi-port register file with flow-through of data
US5146577A (en) * 1989-04-10 1992-09-08 Motorola, Inc. Serial data circuit with randomly-accessed registers of different bit length
EP0605927A1 (en) * 1992-12-29 1994-07-13 Koninklijke Philips Electronics N.V. Improved very long instruction word processor architecture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021945A (en) 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
US5168573A (en) 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US5455926A (en) * 1988-04-05 1995-10-03 Data/Ware Development, Inc. Virtual addressing of optical storage media as magnetic tape equivalents
US5438674A (en) * 1988-04-05 1995-08-01 Data/Ware Development, Inc. Optical disk system emulating magnetic tape units
US5313551A (en) * 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
US5175863A (en) 1989-10-23 1992-12-29 International Business Machines Corporation Signal data processing system having independently, simultaneously operable alu and macu
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
DE69129569T2 (de) * 1990-09-05 1999-02-04 Philips Electronics Nv Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen
EP0479390B1 (en) 1990-10-05 1999-01-07 Koninklijke Philips Electronics N.V. Processing device including a memory circuit and a group of functional units
JP2959104B2 (ja) 1990-10-31 1999-10-06 日本電気株式会社 信号処理プロセッサ
US5301340A (en) 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5649029A (en) * 1991-03-15 1997-07-15 Galbi; David E. MPEG audio/video decoder
US5500650A (en) * 1992-12-15 1996-03-19 Micron Technology, Inc. Data communication method using identification protocol
WO1993023816A1 (en) * 1992-05-18 1993-11-25 Silicon Engines Inc. System and method for cross correlation with application to video motion vector estimation
EP0594240B1 (en) * 1992-10-19 2000-01-05 Koninklijke Philips Electronics N.V. Data processor with operation units sharing groups of register files
EP0651321B1 (en) * 1993-10-29 2001-11-14 Advanced Micro Devices, Inc. Superscalar microprocessors
US5631859A (en) * 1994-10-27 1997-05-20 Hewlett-Packard Company Floating point arithmetic unit having logic for quad precision arithmetic

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491937A (en) * 1982-02-25 1985-01-01 Trw Inc. Multiport register file
US4737933A (en) * 1983-02-22 1988-04-12 Storage Technology Partners CMOS multiport general purpose register
US4811296A (en) * 1987-05-15 1989-03-07 Analog Devices, Inc. Multi-port register file with flow-through of data
US5146577A (en) * 1989-04-10 1992-09-08 Motorola, Inc. Serial data circuit with randomly-accessed registers of different bit length
EP0605927A1 (en) * 1992-12-29 1994-07-13 Koninklijke Philips Electronics N.V. Improved very long instruction word processor architecture

Also Published As

Publication number Publication date
DE69525527D1 (de) 2002-03-28
DE69525527T2 (de) 2002-08-22
TW296452B (ko) 1997-01-21
US6370623B1 (en) 2002-04-09
EP0748477A1 (en) 1996-12-18
EP0748477B1 (en) 2002-02-20
KR970701880A (ko) 1997-04-12
WO1996021186A3 (en) 1996-09-12
WO1996021186A2 (en) 1996-07-11
JP3591842B2 (ja) 2004-11-24
JPH09510038A (ja) 1997-10-07

Similar Documents

Publication Publication Date Title
KR100389220B1 (ko) 다른길이의데이터를수용하는복수의멀티포트레지스터파일
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
KR100973629B1 (ko) 복수의 어드레스, 데이터 및 명령 버스를 갖는 메모리 장치, 방법 및 시스템
US7526612B2 (en) Multiport cache memory which reduces probability of bank contention and access control system thereof
US5781200A (en) Tile memory mapping for increased throughput in a dual bank access DRAM
US5721868A (en) Rapid register file access by limiting access to a selectable register subset
US5355335A (en) Semiconductor memory device having a plurality of writing and reading ports for decreasing hardware amount
KR100273612B1 (ko) 입/출력을 재구성할 수 있는 동적 랜덤 액세스 메모리
KR20080080587A (ko) Sram 회로 및 이것을 이용한 버퍼 회로
US20090132786A1 (en) Method and system for local memory addressing in single instruction, multiple data computer system
US5877780A (en) Semiconductor chip having multiple independent memory sections, at least one of which includes simultaneously accessible arrays
US20050265115A1 (en) Compact decode and multiplexing circuitry for a multi-port memory having a common memory interface
US6772273B1 (en) Block-level read while write method and apparatus
US6115294A (en) Method and apparatus for multi-bit register cell
US6144609A (en) Multiport memory cell having a reduced number of write wordlines
US6597623B2 (en) Low power architecture for register files
CN100395700C (zh) 限制指令宽度处理器中增加寄存器寻址空间的系统与方法
US4520464A (en) Transparent instruction word bus memory system
KR0172434B1 (ko) 바이트단위로 레지스터를 제어하는 반도체 메모리 장치
EP0817202B1 (en) Testing of a semi-conductor integrated circuit device
JP2590704B2 (ja) 並列プロセッサlsi
KR100197571B1 (ko) 프로그램 가능한 입출력핀을 구비한 반도체 메모리장치
JPH0810443B2 (ja) メモリ制御回路
JPH06349275A (ja) 半導体記憶装置
JPH03219493A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090609

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee