KR970006025B1 - 메모리 억세스장치 - Google Patents

메모리 억세스장치 Download PDF

Info

Publication number
KR970006025B1
KR970006025B1 KR1019920008546A KR920008546A KR970006025B1 KR 970006025 B1 KR970006025 B1 KR 970006025B1 KR 1019920008546 A KR1019920008546 A KR 1019920008546A KR 920008546 A KR920008546 A KR 920008546A KR 970006025 B1 KR970006025 B1 KR 970006025B1
Authority
KR
South Korea
Prior art keywords
address
cycle
pipeline
banks
data
Prior art date
Application number
KR1019920008546A
Other languages
English (en)
Other versions
KR920022117A (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 KR920022117A publication Critical patent/KR920022117A/ko
Application granted granted Critical
Publication of KR970006025B1 publication Critical patent/KR970006025B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • 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/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

내용없음.

Description

메모리 억세스장치
제1도는 종래 기술의 기본사이클이 2클록 기간으로 된 버스(bus) 타이밍도.
제2도는 2클록기간의 기본사이클을 갖는 종래의 마이크로프로세서와 4클록 기간에 작동하는 메모리장치간의 접속도.
제3도는 제2도에 보인 버스에 대한 타이밍도.
제4도는 종래의 파이프라인(pipeline)의 개통도.
제5도는 제4도에 보인 버스에 대한 타이밍도.
제6도는 종래의 연속 오퍼렌드 에러이(consecative operand array)의 개념도.
제7도는 등간격을 갖는 종래의 오퍼랜드 어레이의 개념도.
제8도는 종래의 간접 오퍼랜드 어레이의 개념도.
제9도는 종래의 오퍼랜드단위와 뱅크폭(bank width)이 모두 64비트이고 뱅크번지(bank number)와 스트라이드 값(stride value)이 모두 4인 억세스 상태도.
제10a 및 10b도는 종래의 오퍼랜드단위와 뱅크폭(bank width)이 모두 64비트이고 뱅크번지(bank number)와 스트라이드 값(stride value)이 모두 2인 억세스 상태도.
제11도는 본 발명의 개통도.
제12도는 본 발명의 일실시예에서의 뱅크번지가 1인 개념적 구성도.
제13도는 본 발명의 일실시예에서의 뱅크번지가 2인 개념적 구성도.
제14도는 본 발명의 일실시예에서의 뱅크번지가 4인 개념적 구성도.
제15도는 본 발명의 일실시예에서의 뱅크번지 통지표.
제16도는 오퍼랜드의 경우에 파이프라인 스테이지번지(stage number) 조합표.
제17도는 32비트 오퍼랜드의 경우에 파이프라인 스테이지번지(stage number) 조합표.
제18도는 64비트 오퍼랜드와 뱅크번지가 1인 일실시예에서의 억세스 개념도.
제19도는 64비트 오퍼랜드와 뱅크번지가 2인 일실시예에서의 억세스 개념도.
제20도는 64비트 오퍼랜드와 뱅크번지가 4인 일실시예에서의 억세스 개념도.
제21도는 32비트 오퍼랜드와 뱅크번지가 1인 일실시예에서의 억세스 개념도.
제22도는 32비트 오퍼랜드와 뱅크번지가 2인 일실시예에서의 억세스 개념도.
제23도는 32비트 오퍼랜드와 뱅크번지가 4인 일실시예에서의 억세스 개념도.
제24도는 간접치에 의한 어드레스 생성방식에 대한 64비트 오퍼랜드의 실시예에서의 억세스 개념도.
제25도는 간접치에 의한 어드레스 생성방식에 대한 32비트 오퍼랜드의 실시예에서의 억세스 개념도.
제26도는 일실시예에서의 어드레스 파이프라인 스테이지번지 세팅회로의 개통도.
제27도는 본 발명의 일실시예에서의 타이밍 순서기의 개념도.
제28도는 본 발명의 일실시예에서의 어드레스 생성의 개통도
제29도는 본 발명의 일실시예에서의 오퍼랜드번지 레지스터의 오퍼랜드 갱신의 개념도.
제30도는 본 발명의 일실시예에서의 출력을 스위칭하는 타이밍 챠트.
제31도는 본 발명의 일실시예에서의 출력 스위치 타이밍에 대한 더미(dummy)(DC#)를 생성하는 개념도.
제32도는 본 발명의 일실시예가 적용된 시스템도.
제33도는 제32도에 보인 마이크로프로세서(30)의 기능 개통도.
제34도는 제33도에 보인 벡터부(61)의 개통도.
제35도는 제33도에 보인 버스제어부(65) 개통도.
제36도는 제33도에 보인 제어부(63)내의 스코어보드(scorebard)(87)의 개통도.
제37도는 제33도에 보인 파이프라인 제어부(88)의 개통도.
제38도는 파이프라인=1일때의 타이밍도로서 대기없는 타이밍도.
제39도는 파이프라인=1일때의 타이밍도로서 대기 1이 있는 타이밍도.
제40도는 파이프라인=1일때의 타이밍도로서 대기 2가 있는 타이밍도.
제41도는 파이프라인=1일때의 타이밍도로서 대기 3이 있는 타이밍도.
제42도는 파이프라인=2일때의 타이밍도로서 대기없는 타이밍도.
제43도는 파이프라인=2일때의 타이밍도로서 대기 1이 있는 타이밍도.
제44도는 파이프라인=2일때의 타이밍도로서 대기 2가 있는 타이밍도.
제45도는 파이프라인=2일때의 타이밍도로서 대기 3이 있는 타이밍도.
제46도는 파이프라인=4일때의 타이밍도로서 대기없는 타이밍도.
제47도는 파이프라인=2일때의 타이밍도로서 대기 1이 있는 타이밍도.
제48도는 파이프라인=2일때의 타이밍도로서 대기 2가 있는 타이밍도.
제49도는 파이프라인=2일때의 타이밍도로서 대기 3이 있는 타이밍도.
제50도는 외부 터미날제어기의 구성도.
제51도는 BS# 터미날유니트의 상세 구성도.
제52도는 DS# 터미날유니트의 상세 구성도.
제53도는 AV# 터미날유니트의 상세 구성도.
제54도는 타이밍 순서기의 구성도.
본 발명은 메모리 억세스장치에 관한 것이며, 특히 어드레스공간으로부터 분할된 복수의 뱅크(bank)를 병렬 억세스하는 억세스장치에 관한 것이다.
컴퓨터시스템의 처리속도를 개선하기 위해서는 메인메모리와 컴퓨터간에 소위 캐시메모리(cache memory)라 하는 초고속 연산메모리를 삽입하는 것이 효과적이다. 컴퓨터에 대한 평균 억세스시간은 캐시메모리의 억세스시간에 따라 빨라진다.
그러나, 캐시메모리의 용량이 메인메모리보다 작기 때문에 목표로 하는 데이타가 캐시메모리에 존재하지 않는 경우들이 종종 있다. 이와같은 경우 미쓰히트(mishit)로 인해 캐시메모리의 내용을 메인메모리의 내용으로 갱신해야만 한다. 이때문에 메인메모리의 억세스 속도만큼 컴퓨터 연산속도가 저하된다.
이에 대한 조치로서 다음것들을 생각해볼 수 있다.
(1) 캐시메모리의 용량을 증대
(2) 캐싱 알고리즘(chching algorithm)을 수정하여 히트율(hit rate)을 상승
(3) 메인메모리용으로 고속/고성능소자(예 SRAM)로 된 캐시메모리를 사용
그러나 (1) 시스템 제조비가 제한되며, (2) 미쓰히트를 어느정도 감소시킬 수 있으나 완전한 제거가 불가능하며, 또한 (3) 메인메모리의 용량에 비례하여 시스템 제조비가 크게 증가한다. 그러므로, 이들은 실효성이 없는 것으로 입증되었다.
제1도는 마이크로프로세서의 버스사이클의 일예를 나타내는 타이밍도이다. 여기서 CLK는 클록신호, ADDRESS는 마이크로프로세서로부터 버스로 출력된 독출 또는 기입 어드레스 데이타, BS#는(이 신호의 논리로부터 얻은 어드레스 데이타와 CLK를 래칭(latching)시키기 위한) 버스사이클의 개시, DATA는 독출(기입)데이타, DC#는 독출데이타의 유효성(또는 기입데이타 기입완료)을 나타내는 신호를 나타낸다.
여기서 #는 부정논리를 나타낸다.
본 예에서는 1사이클(기본사이클)을 2클록(T1과 T2)기간으로 설정한다. 이에 의해 버스상에서 독출사이클에서의 데이타가 기입사이클에서의 데이타와 충돌(즉, 버스충돌)하지 않는다.
즉, 2클록기간으로 된 기본사이클에서 독출(또는 기입)어드레스를 버스로 보내고 또한 독출(또는 기입)어드레스를 BS#의 변경타이밍에서 래치하고 또한 독출(또는 기입)데이타를 독출(기입)하는 일련의 연산을 실행하게 한다.
비록 캐시메모리는 기본사이클에서 고속 독출기입할 수 있는 메모리의 일예이지만 일반적인 메인메모리는 이보다 늦게 동작한다.
제2도는 4클록기간에 독출(또는 기입)사이클을 완료하는 메인메모리의 일예를 나타낸다. 제2도는 설명의 편의상 캐시메모리를 나타내지 않는다.
제3도는 제2도에 보인 구성을 갖는 독출 및 기입동작을 나타내는 타이밍도이다.
마이크로프로세서의 기본사이클은 2클록기간(T1과 T2)으로 되지만, 메인메모리의 기본 사이클은 4클록기간을 필요로 하므로, 대기사이클(T2a와 T2b)이 2클록기간 늘어난다.
대기사이클에서 마이크로프로세서 연산이 중단되기 때문에 속도가 고속화될 수 없다.
제4도는 이 문제를 해결하기 위한 종래의 예를 개략적으로 나타낸다.
본 예에서는 메인메모리의 어드레스공간을 복수의 디비죤(division)으로 나누어 각 디비죤( 뱅크라 칭함)을 사용한다.
여기서 뱅크는 W×D 어드레스공간을 갖는다. 여기서, W는 소정의 데이타 폭을 갖는 블록(block) 길이(예, 64비트 또는 32비트)이며 D는 블록수이고, 또한 인접 뱅크와 동일한 높이에 위치된 블록의 어드레스는 순서적이다.
즉, 메인메모리의 뱅크들에 대해 최하위 비트(LSB)의 어드레스부로부터 최상위 비트(MSB)의 어드레스로 순서화 함으로써 억세스가 LSB 블록의 뱅크(BANKO)로부터 → LSB 블록의 BANK1 → 그다음 비트블록의 BANK0 → 그다음 비트블록의 BANK1 → 그다음 비트블록의 BANK0 → 그다음 비트블록의 BANK1 → … MSB 블록의 BANK0 → MSB 블록의 BANK1으로 순서적으로 행해진다.
제5도는 제4도에 보인 파이프라인들의 버스 타이밍도이다.
메인메모리를 복수의 뱅크로 나눠서 파이프라인 연산을 실행하게 하며 이는 다음에 설명하는 바와 같다.
제5도에서, 각 기본사이클(C1,C2,C3,…)마다 BANK0에서 소망하는 어드레스를 지정하는 어드레스 데이타(BANK0 어드레스)를 그리고 BANK1에서 소망하는 어드레스를 지정하는 어드레스 데이타(BANK1 어드레스)를 교대로 반복 출력함으로써, 총 뱅크수로부터 1기본 사이클을 감산하여 생성된 복수의 사이클(어드레스 색인번호) 경과후, 즉, 기본사이클(C2)후, 각 기본사이클마다 독출(또는 기입)데이타가 명백하게 얻어질 수 있다.
그러므로, 기본사이클 Ci(i=1,2,…)의 어드레스에 해당하는 독출데이타가 다음 기본사이클(Ci+1)에서 얻어질 수 있고, 또한 어드레스 데이타를 출력하는 동작과 독출데이타를 독출(또는 기입데이타를 기입)하는 동작이 병렬로 실행될 수 있다.
결과적으로, 뱅크번지와 동일한 스테이저번지의 파이프라인의 연산을 실행하는 것이 가능하므로 그에 의해 캐시메모리보다 속도가 떨어지는 메인메모리를 캐시메모리만큼 고속화하여 사용하는 것이 가능하다.
그러나, 그러한 종래의 메모리 억세스장치는 어드레스의 색인번호를 뱅크번지로부터 결정하여 동일한 스테이지번지(예, 뱅크번지 4에 대해 파이프라인의 스테이지번지 4)를 갖는 어드레스 파이프라인이 실행되게 하는 식의 구성을 갖기 때문에, (1) 어드레스가 스트라이드값에 의해 생성될때, 또는 (2) 어드레스가 간접 어드레스에 의해 생성될때, 동일 뱅크에 대해 연속하여 억세스가 됨으로 인해 어드레스 파이프라인이 실행을 못하는 문제가 있다.
일반적으로, 과학 또는 기술용 계산 프로그램은 종종 대량의 데이타 요소들에 대해 동일한 연산을 행한다.
다음의 벡터처리 루틴(routine)은 포트란(FORTRAN) 표현방식에 기술된 대표적인 예를 나타낸다.
단계 001 I=1, 100으로 라벨을 D0하라.
단계 002 C(I)=A(I)+B(I)
단계 003 F(I)=D(I)*E(I)
단계 004 라벨을 계속하다
이는 I의 범위(1∼100)에서 단계 001로부터 단계 004가지 D0 루프를 계속하기 위한 것이다.
I값이 갱신되면,다음 연산이 실행된다.
C(I)=A(I)+B(I)
F(I)=D(I)*E(I)
예를들어 1차 연산은 C(1)=A(1)+B(1)
F(I)=D(I)*E(I)이고, 또한 100차 연산은 C(100)=A(100)+B(100)
F(100)=D(100)*E(100)이다.
여기서, 본 예에서는 A(1)∼A(100), B(1)∼B(100), D(1)∼D(100), E(1)∼E(100) 등의 대량의 오퍼랜드를 취한 후, D0 루프를 종료한다. 그러므로, 이들 오퍼랜드들을 억세스하기 위해서는 유효 어드레스 생성이 필요하다.
전술한 (1) 또는 (2)와 같은 오퍼랜드 생성방식은 대량의 오퍼랜드 억세스에 좋은 기술이다.
[1] 스트라이드값에 의한 어드레스 생성방식
제6도는 종래의 연속 오퍼랜드 어레이의 개념도이다.
제7도는 종래의 등간격을 갖는 오퍼랜드의 개념도이다.
이는 앞서 출력된 어드레스와의 거리를 오퍼랜드길이 L(L은 소정의 어드레스폭, 예를들어 32비트 또는 64비트로서 오퍼랜드단위로서도 호칭함)의 정수배인 알파값(여기서 알파는 스트라이드값을 칭함)으로 나타내는 생성방식이다.
예를들어, 이 방식은 알파=1일대 제6도에 보인 연속 오퍼랜드 어드레스에 헤당한다.
즉, 베이스 어드레스의 벤치마크(banchmark)로부터 연속하는 복수의 오퍼랜드를 0∼4는 스트라이드값 1을 갖고 순차로 생성되는 어드레스들에 의해 오퍼랜드 0에서부터 오퍼랜드 1,… 순으로 억세스된다.
알파=n(여기서 n≠±1)일때, 이는 제7도에 보인 등간격 오퍼랜드 어레이에 해당한다. 즉, 베이스 어드레스의 벤치마크로부터 등간격으로 연속하는 복수의 오퍼랜드들 0~2는 스트라이크값 n을 갖고 순차로 생성되는 어드레스들에 의해 오퍼랜드 0에서부터 오퍼랜드 1,…순으로 억세스된다.
[2] 간접 어드레스에 의한 어드레스 생성방식
제8도는 종래의 간접 오퍼랜드 어레이의 개념도이다.
이 방식은 베이스 어드레스(이 방식에서 옵셋값(offset value)으로 칭함)로부터의 거리를 오퍼랜드(L)의 정수배로 나타내는 생성방식이다.
전자의 방식은 모든 오퍼랜드들에 대해 공통 스트라이드값을 갖기 때문에, 이 방식은 각 오퍼랜드에 대해 특정한 옵셋값을 갖는다.
제8도에서, VR은 옵셋 레지스터(offset register)를 나타낸다. VR은 억세스될 각 오퍼랜드에 대해 옵셋값들 0∼3을 기억한다. 오퍼랜드 0은 옵셋값 0의 내용에 따라 억세스된다.
오퍼랜드 1은 옵셋값 1의 내용에 따라 억세스된다. 이들 연산은 반복된다.
그에 의해 간접 어드레스 어레이에 대한 메모리 억세스가 수행된다. 옵셋값은 어드레스가 생성되는 동안 동적으로 변화한다.
그러나, 뱅크의 번지를 색인하는 상술한 어드레스 생성방식에 의해 어드레스가 생성될때, 그다음 조건이 만족될때 즉 예를들어 뱅크수가 스트라이드값과 동일한 한편 뱅크폭이 오퍼랜드단위와 동일할때 파이프라인장애(동일 뱅크에 대한 연속 억세스)가 생기는 경우들이 있다.
제9도는 종래의 오퍼랜드단위와 뱅크폭이 모두 64비트이고 뱅크번지와 스트라이드값이 모두 4인 경우의 억세스상태를 나타내는 도면이다.
제10a도는 오퍼랜드단위와 뱅크폭이 64비트일 뿐만 아니라 뱅크번지와 스트라이드값이 모두 2인 경우의 억세스상태를 나타낸다. 도면에서 빗금부분은 동일 뱅크(BANK0)에 속하는 억세스할 오퍼랜드들(OP1,OP2,OP3)을 나타낸다.
제10a 및 제10b도는 종래의 오퍼랜드단위와 뱅크폭이 64비트이고 또한 뱅크수와 스트라이드값이 모두 2인 경우의 억세스상태를 나타내는 도면이다.
그러므로, 어드레스 색인시에 OP1, OP2 및 OP3간에 어드레스 장애를 일으키기 때문에 제9 및 제10a도에 보인 어느 경우에서나 정상적인 파이프라인 연산이 실행될 수 없는 단점이 있다.
제10b도는 오퍼랜드단위(32비트)가 제10a도에 보인 오퍼랜드단위(64비트)와 다른 경우를 나타낸다. OP0, OP2 및 OP3는 뱅크들의 스위칭에 의해 억세스될 수 있기 때문에 상술한 장애가 없다.
따라서, 본 발명의 목적은 물리적인 뱅크번지와 무관하에 파이프라인 스테이지번지를 탄력성있게 설정함으로써 어드레스 장애를 제거하여 파이프라인 연산의 불편성이 발생하는 것을 방지하는데 있다.
메인메모리의 어드레스공간(space)들은 소정의 데이타폭으로 등간격으로 구획되어 있다. 구획된 블록들을 연결하는 어드레스들에 의해 n 뱅크들이 구성된다.
각 뱅크들은 각각 소정의 데이타폭 길이 또는 소정의 데이타폭의 절반 길이를 갖는 어드레스들을 기억한다.
어드레스의 길이의 정수배에 해당하는 거리에서 파이프라인식으로 데이타 억세스가 실행된다. 메모리 억세스장치는 오퍼랜드길이, 소정의 데이타폭, 정수배의 값 및 뱅크번지에 따라 파이프라인 스테이지번지를 설정하는 파이프라인 스테이지번지 세팅수단을 포함한다.
이하, 본 발명의 추가 특징 및 목적들을 쉽게 이해하기 위해 첨부도면을 참조하여 양호한 실시예들을 설명하면 다음과 같다.
제11도는 본 발명의 개통도이다.
제11도에 보인 바와같이 본 발명은 상술한 목적을 달성하기 위해 다음과 같은 메모리 억세스장치에 특징을 갖고 있다. 메인메모리의 어드레스공간들은 소정 데이타폭의 등간격으로 구획된다.
구획된 블록들을 연결해주는 어드레스들에 의해 n 뱅크들이 구성된다. 뱅크들은 소정의 데이타폭의 길이 또는 소정의 데이타폭의 절반길이를 각각 갖는 오퍼랜드들을 기억한다.
오퍼랜드의 길이의 정수배에 해당하는 거리에서 파이프라인식으로 데이타 억세스가 실행된다. 메모리 억세스장치는 오퍼랜드길이, 소정의 데이타폭, 정수배의 값 및 뱅크번지에 따라 파이프라인 스테이지번지를 설정하기 위한 파이프라인 스테이지번지 세팅수단을 포함한다.
본 발명은 동일한 뱅크를 연속으로 억세스하는 어드레스 생성시에라도 물리적인 뱅크번지와 무관하게 파이프라인 스테이지번지를 탄력성있게 설정해줌으로써 어드레스 장애를 제거하여 파이프라인 연산에 있어 불편성을 방지해준다.
본 발명의 일실시예를 첨부도면을 참조하여 설명하면 다음과 같다.
본 실시예의 원리는 다음과 같다.
제12, 13 및 14도는 제각기 물리적 파이프라인 스테이지번지가 1, 2 및 4인 파이프라인의 예들을 나타낸다. 소정의 조건이 만족될때를 제외하고 뱅크번지들은 제각기 물리적인 파이프라인번지에 해당한다.
즉, 제12도에 보인 구성은 1뱅크(BANK0)를 포함하는 메인메모리를 나타내며, 제13도의 구성은 2뱅크(BANK0,BANK1)를 포함하는 메인메모리를 나타내며, 제14도에 구성은 4뱅크(BANK0,BANK1,BANK2 및 BANK3)를 포함하는 메인메모리를 나타낸다.
이들 각각의 메인메모리들은 메모리 제어회로, 어드레스 버스 및 데이타 버스를 통해 마이크로콘트롤러등의 메모리 억세스장치에 접속되어 있다. 메모리 억세스장치는 메인메모리의 뱅크번지가 외부로부터 통지될 수 있도록 뱅크번지를 통지하기 위한 외부 터미날들(T0,T1)(뱅크번지 설정 레지스터일 수 있음)을 포함한다.
제15도는 외부 터미날들(T0,T1)의 뱅크번지와 설정간의 관계를 나타낸 도면이다.
T0와 T1을 고전원(VH)(논리 1에 해당) 또는 저전원(VL)(논리 0에 해당)에 선택적으로 접속함으로써 4종류의 뱅크번지(20=뱅크번지 1,21=뱅크번지 2, 22=뱅크번지 4 및 23=예비로 남겨둠)는 2비트 데이타로 표현될 수 있다. 베이스 어드레스 또는 스트라이드값에 의한 어드레스 생성방식을 메인메모리에 적용하면 전술한 불편성이 발생될 수 있다.
따라서, 본 실시예는 메모리 억세스장치에 대한 외관상의 뱅크번지(이후 논리뱅크번지라 칭함)를 메인메모리의 뱅크번지, 스트라이드값 및 오퍼랜드길이로부터 산출하며, 또한 각 어드레스 생성방식마다 이 논리뱅크번지에 해당하는 파이프라인 스테이지번지를 설정한다.
[1] 스트라이드값에 의한 어드레스 생성방식
제16 및 17도는 오퍼랜드길이가 제각기 64비트와 32비트인 설정된 파이프라인번지를 나타낸다. 여기서 뱅크번지들(1,2,4)은 메인메모리에 대한 물리적인 뱅크번지들이다. 설정된 파이프라인 스테이지번지는 논리적 뱅크번지에 해당한다.
64비트 오퍼랜드에 대해 설정된 파이프라인 스테이지번지를 제16도를 참조하여 설명한다.
(1a) 물리적 뱅크번지가 1일때, 가상 뱅크번지도 역시 1이다. 그러므로 파이프라인 스테이지번지는 모두 1로 설정된다.
(1b) 물리적 뱅크번지가 2일때, 파이프라인 스테이지번지는 1LSB의 스트라이드값에 따라 1 또는 2로 설정된다. 보다 구체적으로, LSB가 0일때, 1스테이지가 설정되고 또한, LSB가 1일때 2스테이지들이 설정된다. 즉, 1스테이지는 스트라이드값이 짝수일때 설정되고 또한 2스테이지는 스트라이드값이 홀수일때 설정된다.
(1c) 물리적인 뱅크번지가 4일때, 파이프라인 스테이지번지는 스트라이드값의 2LSB들에 따라 1, 2 또는 4스테이지들로 설정된다. 보다 구체적으로, LSB가 0일때, 1스테이지가 설정되고, LSB들이 10일때 2스테이지들이 설정되고 또한 그밖의 경우 즉, LSB들이 1 또는 11일때, 4스테이지들이 설정된다.
32비트 오퍼랜드에 대해 설정된 파이프라인 스테이지번지를 제17도를 참조하여 설명한다.
(2a) 물리적 뱅크번지가 1일때, 가상 뱅크번지 역시 1이다. 그러므로 파이프라인 스테이지번지는 모두 1로 설정된다.
(2b) 물리적인 뱅크번지가 2일때, 파이프라인 스테이지번지는 2LSB들의 스트라이드값에 따라 기본적으로 1 또는 2로 설정된다.
그러나, 여기서 연속 오퍼랜드 어레이(스트라이드값=±1)의 경우는 예외로서 처리된다. 왜냐하면 2조의 32비트 오퍼랜드들로서 64비트들을 억세스할 수 있기 때문이다. 보다 구체적으로 LSB가 1일때 또는 2LSB들이 0일때, 스트라이드값이 ±1이 아니면 1스테이지가 설정된다.
또한 2LSB들이 10일때, 스트라이드값이 ±1이면 2스테이지들이 설정된다.
(2c) 물리적인 뱅크번지가 4일때, 파이프라인 스테이지번지는 3LSB들의 스트라이드값에 따라 1, 2 또는 4로 설정된다.
그러나, 여기서 연속 오퍼랜드 어레이(스트라이드값=±1)의 경우 예외로서 처리된다.
왜냐하면 2조의 32비트 오퍼랜드들로서 64비트들을 억세스하는 것이 가능하기 때문이다. 보다 구체적으로, 3LSB들이 0 또는 1LSB가 1일때, 스트라이드값이 ±1이면 1스테이지가 설정된다. 또한 3LSB들이 100일때, 스트라이드값이 ±1이면 2스테이지들이 설정된다. 마지막으로, 2LSB들이 10일때 스트라이드값이 ±1이면 4스테이지들이 설정된다.
제18 내지 23도는 상기 조건에 의해 설정된 어드레스 파이프라인들의 모델들을 나타낸다.
제18, 19 및 20도는 64비트 오퍼랜드들의 경우(제16도 참조)에 해당한다.
제21, 22 및 23도는 32비트 오퍼랜드들의 경우(제17도 참조)에 해당한다.
제18∼23도에서, 좌측 빗금은 출력 어드레스를 좌우 빗금은 억세스될 오퍼랜드를 나타낸다.
제18도에서 물리적인 뱅크번지가 1일때 설정된 파이프라인 스테이지번지는 1로 정해진다. 제19도에서 물리적인 뱅크번지가 2일때 설정된 파이프라인 스테이지번지는 스트라이드값에 따라 1과 2중에서 선택된다.
제20도에서 물리적인 뱅크번지가 4일때 설정된 파이프라인 스테이지번지는 스트라이드값에 따라 1, 2 및 4중에서 선택된다.
이들은 모두 64비트 오퍼랜드들의 경우들이다.
제21도에서 물리적인 뱅크번지가 1일때, 설정된 파이프라인 스테이지번지는 스트라이드값이 1이고 64비트 억세스인 경우와 스트라이드값이 2이고 32비트 억세스인 경우 모두 1로 설정된다.
제22도에서 물리적인 뱅크번지가 2일때, 설정된 파이프라인 스테이지번지는 스트라이드값이 1이고 64비트 억세스인 경우와 스트라이드값이 2이고 32비트 억세스인 경우 모두 1로 설정된다.
또한 제22도에서 물리적인 뱅크번지가 2일때, 설정된 파이프라인 스테이지는 스트라이드값이 3이고 32비트 억세스인 경우에 1로 설정되고, 제23도에서 물리적인 뱅크번지가 4일때, 설정된 파이프라인 스테이지번지는 스트라이드값이 1이고 64비트 억세스인 경우와 스트라이드값이 2이고 32비트 억세스인 경우 모두 4로 설정된다. 또한 제23도에서 물리적인 뱅크번지가 4일때와 32비트 억세스의 경우에 설정된 파이프라인 스테이지번지들은 스트라이드값이 3인 경우 1로 또는 스트라이드값이 4인 경우 2로 설정된다. 이들은 모두 32비트 오퍼랜드들의 경우들이다.
[2] 간접 어드레스에 의한 어드레스 생성방식
제24 및 25도는 상기 조건들에 의해 설정된 어드레스 파이프라인들의 모델들을 나타낸다. 제24 및 25도로 부터 명백한 바와같이, 이 생성방식은 오퍼랜드 어레이(OP1,OP2,…)에서 규칙성이 없다.
그와같이, 이 생성방식은 어드레스 인덱스번호 즉, 파이프라인 스테이지번지를 1로 설정되게 하므로 뱅크제어회로가 어드레스를 래치하는 것이 가능하다.
상술한 것을 요약하면, 본 실시예에서는 적당한 어드레스 파이프라인 스테이지번지가 물리적인 뱅크번지와 무관하게 탄력적으로 설정될 수 있다. 따라서 파이프라인 스테이지번지는 (1) 어드레스 생성이 스트라이드값을 사용하여 이루어질때 또는 (2) 어드레스 생성이 간접 어드레스에 의해 이루어질때 최적화된다. 결과적으로, 속도가 캐시메모리 보다 느린 메인메모리가 모든 환경하에서 캐시메모리만큼 고속으로 사용되도록 하는 장점을 얻을 수 있다.
제26 내지 32도는 본 발명에 관한 메모리 억세스장치의 실시예를 나타낸다.
우선 구성을 설명한다.
제26도는 어드레스 레지스터(10), 비교기(11), 명령디코더(12), 외부 터미날(13) 및 어드레스 파이프라인 스테이지번지 세팅기(어드레스 파이프라인 스테이지번지 세팅수단)를 포함하는 어드레스 파이프라인 결정회로의 개통도이다.
어드레스 레지스터(10)는 n LSB들의 스트라이드값을 통지한다. 비교기(11)는 어드레스 생성 레지스터(10)로부터의 스트라이드값과 연속 오퍼랜드 어레이를 나타내는 벤치 마크 스트라이드값간의 일치/비일치를 판정한다.
명령 디코더(12)는 메모리 억세스 명령을 디코드하고 또한 오퍼랜드길이들(예, 64비트와 32비트간의 구별)간의 구별과 어드레스 생성방식들(스트라이드값에 의한 생성방식과 간접치에 의한 생성방식간의 구별)간의 구별을 통지한다. 외부 터미날(13)은 물리적인 뱅크번지(BANK0,BANK1,…BANKm-1)를 통지한다. 어드레스 파이프라인 스테이지번지 세팅기(14)는 다음과 같은 여러가지 통지된 정보들에 따라 1 내지 k중에서 선택적으로 파이프라인 스테이지번지를 설정한다.
어드레스 생성방식에 관한 정보(D1)
오퍼랜드길이에 관한 정보(D2)
연속 오퍼랜드 어드레스인지에 관한 정보(D3)
물리적인 뱅크번지에 관한 정보(D4)
n LSB들의 스트라이드값에 관한 정보(D5)
제27도는 본 실시예에서 사용하기 위한 타이밍 순서기의 개념도이다.
제27도에서, 3파이프라인들(21,22,23)은 제각기 뱅크번지들(1,2,4)에 해당한다.
각 파이프라인들(21,22,23)은 어드레스색인부(좌측 빗금부)와, 어드레스/데이타 처리부(교차빗금부)와, 파이프라인 스테이지번지의 데이타 처리부들(우측 빗금부)을 갖는다.
어드레스 색인부와 데이타 처리부는 어드레스 파이프라인 스테이지번지 세팅기(14)에 의해 설정된 파이프라인 스테이지번지들(1,2,4)중 어느 것에 해당하든 1 또는 그 이상의 단위들을 포함한다.
예를들어 설정된 파이프라인 스테이지번지가 4일때, 4어드레스들이 색인되기 때문에, 4어드레스 색인부들, 즉, 어드레스와 그 어드레스를 색인후와 그다음 메모리 억섹스 요청 수신전의 데이타를 처리하기 위한 1데이타 처리부와, 요청이 없는 후 4색인 데이타를 처리하기 위한 4데이타 처리부가 있다.
제28도는 스트라이드값에 의한 어드레스 생성방식과 간접치에 의한 어드레스 생성방식이 모두 적용된 어드레스 생성의 개통도이다.
[1] 스트라이드값에 의한 어드레스 생성방식의 경우
선택기는 스트라이드값을 선택한다.
통상적으로, 스테이지값과 오퍼랜드길이의 승산값이 베이스 어드레스에 대한 증분값이다. 증분값은 어드레스 생성동안 일정하다. 그러나, 연속 오퍼랜드 어레이의 경우에, 오퍼랜드길이가 외부 데이타버스의 절반일때, 그 데이타 버스폭에서의 억세스가 가능하게 되고 또한 데이타 버스폭을 승산하여 얻은 값은 베이스 어드레스에 대한 증분값이 된다.
베이스 어드레스의 특정 개시 어드레스 또는 오퍼랜드번지에 대해 단 하나(1)의 오퍼랜드만이 억세스될 수 있는 경우들이 있기 때문에 증분값은 동적으로 변동한다.
따라서, 출력 어드레스는 베이스 어드레스와 증분값에 의해 생성된다. 왜냐하면, 제1출력 어드레스가 없고 베이스 어드레스 그 자체이기 때문에 가산기(ADD로 약칭함)는 가산을 행하지 않는다. 그다음 ADD로부터의 출력값이 베이스 어드레스이면 스테이지값에 의해 생성된 증분값은 가산된다.
[2] 간접치에 의한 어드레스 생성방식의 경우
선택기는 간접치를 선택한다.
간접치의 어드레스 생성번지가 기억된다. 간접치들을 오퍼랜드길이와 제각기 승산하여 얻은 값은 베이스 어드레스들에 대해 증분값이 된다. 증분값들은 어드레스 생성동안 일정하게 변동한다.
출력 어드레스는 베이스 어드레스에 매 증분값을 가산함으로써 생성된다.
여기서, 이 방식은 스테이지값에 의한 어드레스 생성방식에서와 같이 ADD로부터의 출력을 귀환시키지 않는다.
제29도는 일실시예에서 오퍼랜드번지 레지스터의 오퍼랜드 갱신의 개념도이다.
또한 제29도에 보인 바와같이, 본 실시예에서는 오퍼랜드번지를 설정하기 위한 레지스터값이 메모리 억세스시마다 1씩 감소된다. 다른 방법으로, 단일 메모리 억세스시의 억세스수는 연속 오퍼랜드의 경우에 무더기로 감소된다.
제30도는 상술한 2어드레스 생성방식들에 의해 생성된 어드레스들을 출력시키기 위한 타이밍도이다.
일반적으로, 어드레스를 색인하지 않는 방식으로 출력 어드레스에 대한 데이타 처리 종결통지(DC#)의 수신에 의해 어드레스 스위치 타이밍을 한정한다. 그러나, 본 실시예에서는 메모리 억세스장치에 대한 메인메모리의 뱅크번지의 어드레스들이 어드레스 데이타 처리전이라도 출력된다.
이는 단지 어드레스 파이프라인 스테이지번지 세팅기(14)에 의해 파이프라인 스테이지번지를 미리 정해줌으로써 사전에 어드레스 즉, 어드레스 스위치 타이밍에서 더미(DC#)의 색인된 번지를 출력하기만 하면 된다.
그다음 어드레스는 실제의 DC#에 응답하여 스위치될 필요가 있다.
제31도는 본 발명의 일실시예에서 출력스위치 타이밍에 대한 더미 DC#를 생성하는 개념도이다.
보다 구체적으로, 제31도는 선택 타이밍 순서기에 대한 어드레스 색인부마다 더미 DC#가 생성될 필요가 있는 예를 나타낸다.
제32도는 본 발명이 적용된 예시적인 시스템 구성도이다.
이는 뱅크번지가 2인 경우의 예를 나타낸 것이다.
제32도에서, 30은 마이크로프로세서(메모리 억세스장치), 31은 마이크로프로세서(30)에 뱅크번지를 통지하는 입력 터미날이다.
그 뱅크번지에서 2슬래이브 래치들(slave latch)(33,34)중 어느 하나는 마이크로프로세서(30)로부터 마스터 래치(master latch)(32)를 통해 어드레스 데이타(A0∼A31)를 수신한다.
2슬래이브 래치들(33,34)은 제각기 랫치신호 생성회로(35)로부터 BANK0 래치신호(BL0)와 BANK1 래치신호(BL1)를 수신한다.
래치신호 생성회로(35)는 복합논리회로들(36,37)과 플립플롭들(38,39)을 포함한다.
복합논리회로들(36,37)로부터의 출력들중 어느 하나는 AV#와 DC#가 부정논리일때 또는 BS#가 부정논리일때 어드레스 데이타의 제4LSB(A28)의 논리에 따라 양의 논리이다.
플립플롭(38,39)은 클록신호(CLK)와 양의 논리출력을 동기시킨다. 어드레스 데이타의 제4LSB가 부정논리일때, BANK0측의 복합논리회로(36)로부터의 출력은 진(true)이 된다.
제4LSB가 양의 논리일때, BANK1측의 복합논리회로(37)로부터의 출력은 진이 된다.
즉 어드레스 데이타가 BANK0로 정해질때, AV#와 DC#가 모두 부정논리이거나 또는 BS#가 부정논리이면, 메인메모리내의 BANK0(#0)는 BANK0측의 슬래이브 래치(33)가 어드레스 데이타를 수신함으로써 억세스된다.
또한 어드레스 데이타가 BANK1로 정해질때 AV#와 DC#가 모두 부정논리이거나 또는 BS#가 부정논리이면 메인메모리내의 BANK1(#1)은 BANK1측의 슬래이브 래치(34)가 어드레스 데이타를 수신함으로써 억세스된다.
여기서 40은 DC#를 생성하기 위한 NOR 게이트이고, 45는 데이타 마스터 래치이고, 46과 47은 데이타 슬래이브 래치들이고, 또한 48과 49는 데이타 버퍼들이다.
이 구성에 의하면, 파이프라인 연산 개시 직후의 어드레스 데이타는 BS#의 어써트상태(assertive state)에서의 마스터 래치 클록 타이밍에서 즉, BANK0측(#0) 또는 BANK1측(#1)의 슬래이브 래치가 어드레스의 제4LSB의 논리레벨에 따라 그들을 순서대로 수신할때에 종료된다. 또한 연속하는 어드레스 데이타는 AV#와 DC# 양자의 어써트상태에서의 마스터 래치 클록 타이밍에서 즉, BANK0측(#0) 또는 BANK1측(#1)의 슬래이브 래치가 어드레스의 제4LSB의 논리레벨에 따라 그들을 순서대로 수신할때에 종료된다.
제33도는 제32도에 보인 마이크로프로세서(30)의 기능 개통도이다.
제33도에 보인 마이크로프로세서(30)는 벡터부(VU)(61), 명령버퍼부(CBU)(62), 제어부(CU)(63), 어드레스부(AU)(64) 및 버스제어부(BU)(65)를 포함하는 벡터프로세서부(VPU)이다.
벡터 연산을 행하는 벡터부(61)는 4뱅크들(B0,B1,B2,B3)을 갖는 벡터 레지스터(VR)(66)와, 64바이트의 마스크 레지스터(MR)(67-1), 스칼라 레지스터(SR)(67-2) 및 벡터 파이프라인(68)을 포함한다.
벡터 파이프라인들(68)은 가산기(ADD)(72), 승산기(MUL)(71), 제산기(DIV)(73), 그래픽프로세서, 마스크프로세서 및 로더(loader)/스토러(storer)(74)의 파이프라인 처리를 행한다.
트랜스레이숀 룩어헤드버퍼(translation lookahead buffer : TLB)를 포함하는 어드레스부(64)의 동작은 제18도에 보인 바와같다.
제34도는 제33도에 보인 벡터부(61)의 개통도이다.
어드레스부는 제26도에 보인 비교기(11)를 포함하며, 또한 비스제어부는 어드레스 파이프라인 스테이지번지 세팅기를 포함한다.
벡터부(61)는 간접치, 베이스 어드레스 및 스트라이드값을 기억한다. 어드레스부는 제28도에 보인 바와같이 선택기의 처리, 오퍼랜드길이의 정수배로 승산, 가산을 행한다.
구체적으로, 제34도는 그의 벡터 연산에 관련된 부분들을 나타낸다.
벡터 레지스터(66)내의 4뱅크들(B0,B1,B2,B3) 각각은 8바이트(64비트)×256워드로 된다.
독출뱅크선택기(70)는 4뱅크들(B0,B1,B2,B3)로부터의 출력들을 수신하며, 64비트마다 10입력 터미날들과 8출력 터미날들을 가지며, 또한 어느 입력 터미날로부터 입려된 메모리라도 어떤 출력 터미날로든 자유로이 출력시켜 주는 매트릭스형 회로이다.
벡터 파이프라인들(68)은 승산기(72), 가산기(71), 제산기(73)을 포함하며, 또한 제각기 독출 뱅크선택기(70)에 의해 선택된 입력 데이타를 64비트로 수신하는 2입력 포트(port)을 갖는다.
기입블록선택기(69)는 벡터 파이프라인들(68)내의 승산기(72), 가산기(71) 및 제산기(73)로부터 64비트로 파이프라인된 출력들을 제각기 수신하며, 64비트마다 4입력 터미날과 5출력 터미날을 갖고 있으며 또한 어떠한 입력 터미날로부터 입력된 데이타라도 어떠한 출력 터미날로든지 자유로이 출력되게 하는 매트릭스형 회로이다.
5출력 터미날들중 4터미날은 벡터 레지스터(66)로 그들의 출력을 공급해준다.
상기 구성은 다음과 같은 연산을 행하는 것이 가능하다.
독출뱅크선택기(70)는 4뱅크들(B0,B1,B2,B3)중에서 벡터 레지스터(66)의 목표 뱅크를 선택한다. 벡터 파이프라인들(68)은 선택된 목표 뱅크로부터의 출력을 64비트로 수신하여 벡터 파이프라인(68)에 의해 얻은 결과를 벡터 레지스터(66)의 목표뱅크에 선택적으로 입력시킨다. 그에 의해 32비트의 어떠한 데이타간에서나 연산이 수행될 수 있다.
동시 연산을 수행하기 위해서는 벡터 레지스터(66)내의 4뱅크들(B0,B1,B2,B3)과 벡터 파이프라인들(68)내의 승산기(71), 가산기(72) 및 제산기(73)간에 데이타 분산을 기획하도록 독립 데이타 경로와 엄격한 타이밍 관리기능이 필요하다.
벡터 레지스터(66)내의 4뱅크들(B0,B1,B2,B3)의 각 포트에 상응하여, 기입 뱅크선택기(69)와 독출뱅크선택기(70)는 셔플회로(shuffle circuit)로서 작용하는 2독출면(read plane)과 1기입면(write plane)을 갖는다.
또한 벡터 파이프라인(68)의 로더/스토러(44)는 기입뱅크선택기(69)의 4입력 터미날중 하나로부터 64비트를 그리고 독출뱅크선택기(70)의 8출력 터미날들중 하나로부터 64비트를 수신하고 또한 그의 출력 즉 연산결과로서 얻어진 벡터 데이타를 버스제어부(65)로 공급한다. 연산 데이타 즉, 연산을 위한 입력 데이타는 선택기(69)를 통해 벡터 레지스터(66)로 공급된다.
스칼라 레지스터(67-2)는 기입 뱅크선택기(69)의 5출력 터미날들중 하나로부터 64비트를 수신하며, 또한 그의 출력을 독출뱅크선택기(70)의 8출력 터미날들중 2터미날로 64비트로 공급한다. 독출뱅크선택기(70)의 5출력 터미날들중 하나는 어드레스 인덱스번호로서 64비트를 출력하며 또는 독출뱅크선택기(70)의 또다른 출력 터미날은 32비트를 출력한다.
마스크 레지스터(67-1)는 벡터 레지스터(66)내의 4뱅크들(B0,B1,B2,B3) 각각에 접속된다. 연산이 수행될때, 4뱅크들은 마스크 레지스터(67-1)의 내용에 따라 수신된 데이타를 마스크한다.
제35도는 제33도에 보인 버스제어부(65)의 개통도이다.
버스제어부(65)는 제16도에 보인 어드레스 파이프라인 스테이지번지 세팅기(14)에 해당한다.
벡터 연산 입력과 출력들은 외부 메모리장치와의 인터패이스를 제어하는 회로인 버스제어부(65)를 통해 전송된다.
어드레스 파이프라인 스테이지번지 결정기(81)는 스트라이드값으로부터 어드레스 색인번호와 B0 또는 B1의 뱅크번지(예, 제22도에 보인 BANK=2)를 결정하기 위한 랜덤 논리회로(random logic circuit)이며 또한 제16도에 보인 어드레스 파이프라인 스테이지번지 세팅기(14)와 등가이며 또한 스트라이드값의 최하위 비트들, 연속하는 뱅크번지들, 64비트 또는 32비트들의 지정 및 간접치의 선택을 나타내는 각 신호들을 수신하고 또한 파이프라인 디코드값을 타이밍 순서기(82)로 공급한다.
본 실시예는 뱅크번지를 2로 가정했으나, 뱅크번지를 4로 할 경우, 파이프라인 스테이지번지 조합은 제16및 17도에 보인 바와 같다.
타이밍 순서기(82)는 버스상태를 제어한다. 어드레스 파이프라인 스테이지번지 결정기(81)로부터 출력된 파이프라인 스테이지번지는 버스상태 번지를 결정한다. 외부 터미날 제어회로(84)를 통해 공급되는 외부 입력신호와 타이밍 신호를 버스상태 신호들 예 AV#, BS#, DS# 및 R/2#을 순차적으로 변동시켜 준다.
제33도에 보인 버스모드 제어기(83)는 제어부(63)내의 디코드부(86)로부터 디코드된 출력을 수신하고 또한 외부 터미날의 명령과 연산논리로부터 로드와 스토어같은 버스사이클모드를 결정하는 회로이다.
외부 터미날제어기(84)는 외부 입력, 출력, 입/출력 터미날들의 방향을 제어하는 회로이며 또한 외부 입력신호와 버스상태 신호의 출력 타이밍을 제어한다.
버스사용권 제어기(bus right controller)(85)는 외부 버스사용권의 취득을 제어한다.
이 제어기가 외부 버스사용권을 획득하면 외부 터미날제어기(84)는 획득된 사용권을 사용하여 외부 회로 예, 메모리를 제어한다. 버스제어부(65)의 외부 터미날제어기(84)는 벡터 파이프라인(68)들과 메모리간에서 벡터 데이타가 교환되도록 해준다.
제36도는 제33도에 보인 제어부(63)내의 스코어보드(87)의 개통도이다.
스코어보드(87)는 디코더 레지스터그룹(97), 스코어보드 레지스터그룹(92) 및 선택기(93)를 포함한다.
디코더 레지스터그룹(91)내의 각 레지스터는 사용예정 레지스터번지 설정용 세트신호와 사용후 레지스터번지를 재설정하기 위한 리세트신호를 생성한다. 스코어보드 레지스터그룹(92)은 복수의 SR-FFs(세트/리세트 플립플롭들)을 포함한다. 선택기(93)는 독출 레지스터번지로서 공급되는 레지스터번지에 해당하는 스코어보드 레지스터그룹(92)중 하나의 메모리상태를 출력한다.
스코어보드 레지스터그룹(92)은 병렬 파이프라인들이 실행될때 그의 레지스터들간의 상호간 명령의 상층을 체크한다.
명령 실행이전에, 명령(즉, 레지스터번지에 의해 저장된 레지스터용 세트신호)에 의해 사용된 레지스터의 지정이 공급된다.
디코더 레지스터그룹(91)내의 각 레지스터는 세트신호가 자체용인지를 디코드한다.
디코더 레지스터그룹(91)내의 각 레지스터는 레지스터번지 세트신호 및 클리어신호(clear sigal)를 디코드한다. 세트신호를 수신하면, 디코더 레지스터그룹(91)내의 레지스터는 스코어보드 레지스터그룹(92)내의 해당 레지스터로 세트신호를 출력한다.
클리어번지를 수신하면 디코더 레지스터그룹(91)내의 레지스터는 스코어보드 레지스터그룹(92)내의 해당 레지스터로 리세트신호를 출력한다.
따라서, 디코더 레지스터그룹(91)으로부터의 세트신호와 리세트신호는 스코어보드 레지스터그룹(92)내의 해당 레지스터(즉, SR/FF들중 해당하는 것)의 상태를 변동시켜 주며 그에 의해 레지스터는 기억상태가 된다. 즉, 디코더 레지스터그룹(91)내의 레지스터에 의해 세트신호가 수신되면 스코어보드 레지스터그룹(92)내의 해당 레지스터(즉, SR-FF들중 해당하는 것)가 명령에 의한 사용이 가능하도록 세트된다. 이는 현재 실행된 명령에 의해 세트된 레지스터를 사용하는 것을 뜻한다. 명령실행 완료시, 디코더 레지스터그룹(91)내의 레지스터는 입력된 클리어신호를 디코더하여 리세트신호를 출력하므로 스코어보드 레지스터그룹(92)내의 해당 레지스터(즉, SR-FF들중 해당하는 것)를 리세트시킨다. 리세트신호를 수신하면, 스코어보드 레지스터그룹(92)내의 해당 레지스터(즉, SR-FF들중 해당하는 것)가 리세트되어 더이상 사용하지 않는다.
제37도는 제33도에 보인 파이프라인 제어부(88)의 개통도이다.
파이프라인 제어부(88)는 파이프라인들 예, 승산 파이프라인들, 가산 파이프라인들 및 제산 파이프라인들을 취소하기 위한 개시신호와 처리할 벡터길이(벡터길이에 관한 번지 i)를 수신한다. 그다음, 파이프라인 제어부(88)는 각각의 파이프라인들에 대한 종료(END)신호를 생성하며 또한 레지스터 상층의 경우에는 스코어보드 클리어신호를 생성한다.
벡터변환 회로들(95-1,95-2)은 입력된 벡터길이를 나타내는 신호를 내부 제어 타이밍을 일치시키는 형으로 변환시키기 위해 랜덤 논리회로들이다. 비교기들(96-2,96-2)은 벡터변환 회로들(95-1,95-2)로부터 출력들을 제각기 수신한다.
한편, 카운터(97)는 카운터(97)의 값과 벡터길이로부터 각 파이프라인용 종단 타이밍(END 신호)과 스코어보드 클리어신호를 생성한다. 카운터(97)는 개시신호를 수신후 클럭들의 카운팅을 시작한다.
비교기들(96-1,96-2)은 다른 입력 터미날들에서 카운터(97)의 값을 수신한다. 벡터변환 회로(95-2)에 의해 변환된 벡터길이 변환값의 일치가 검출되면, 비교기(96-2)는 스코어보드 클리어신호를 출력하고 또한 카운팅 동작을 계속한다. 벡터변환 회로(95-1)로부터 벡터길이변환값의 일치를 검출시 비교기(96-1)는 END 신호를 출력하고 그의 정지입력 터미날에서 END 신호를 수신시 카운터(97)는 카운팅 동작을 정지한다.
파이프라인은 파이프라인 연산명령(P#)이 0일때와 파이프라인 이네이블신호(PEN#)가 어써트된 직후 시스템이 파이프라인모드를 1,2 또는 4(파이프라인번지)로 스위치해 주도록 세트해 주기 위해 기본 사이클에서의 연산동안 BPU에 의해 내부적으로 검출될때 연산된다.
제38, 39, 40 및 41도는 파이프라인=1일때의 타이밍을 나타낸다. 제38도는 대기가 없는 타이밍을 나타내며, 제39도는 대기가 1인 타이밍을 제40도는 대기가 2인 타이밍을, 제41도는 대기가 3인 타이밍을 나타낸다.
BCO 내지 7#은 바이트 제어신호들로서 현재 출력된 어드레스로부터 유효 비트들 번지를 나타낸다. 제37도에 보인 실시예로서 신호는 어드레스에 의해 지정된 위치로부터 유효 바이트들의 수를 나타낸다.
사이클(T2)은 파이프라인=1일때 사이클(T2P1)로서 한정된다.
기본 사이클에서 연산하는 동안 사이클(T2P1)의 종료시의 클록의 상승연부에서 PEN#이 어써트된 것으로 검출되면 모드는 파이프라인=1로 변경된다.
이 경우에, PEN#이 사이클(T2P1)에서 어써트되면 다음과 같은 파이프라인모드들로 제어가 옮겨진다.
1. DC#가 어써트된 경우 대각 없는 파이프라인모드(제38도)
2. DC#가 부정인 경우 대기가 있는 파이프라인모드(제39,40,41도)
대기없는 파이프라인모드는 P1B, P1 또는 P1E 사이클에서 연산되는 한편 대기가 있는 파이프라인모드는 사이클 P1S, P1 또는 P1E에서 연산된다.
각 사이클에 대해서 이하에 상세히 설명한다.
[사이클 P1B]
DC#와 PEN#이 사이클(T2P1)에서 어써트된 것으로 검출되면, 사이클(T2P1)은 대기없는 사이클의 시작을 나타내는 사이클(P1B)로 스위치된다.
P1B 사이클에서는 우선 파이프라인모드로의 스위치를 나타내는 AV#가 어써트되고 또한 어드레스가 출력된다.
기입사이클에서는 기입데이타가 갱신되고 BS#가 어써트된다. 파이프라인모드에서는 사이클이 대기없이 연산되더라도 사이클 P1B에서 선출력된 어드레스에 해당하는 DC#가 어써트될 수 없기 때문에 BS#가 어써트된다. 그에 의해 출력어드레스를 래치시키는 신호들은 없다. 따라서, BS#은 외부 회로에 의해 선출력 어드레스가 확인되도록 어써트된다.
사이클의 종료시에는 상술한 이유때문에 DC#가 검출되지 않으며 또한 제어가 사이클(P1)로 옮겨지므로 비로서 파이프라인 종료조건이 발생된다.
사이클(P1B)은 대기와 더불어서는 연산되지 않는다.
[사이클 P1S]
사이클(T2P1)에서 PEN#이 어써트되고 또한 DC#가 부정이면, 사이클(T2P1)은 대기있는 사이클의 시작을 나타낸다.
사이클(P1S)에서는 우선 파이프라인모드의 변동을 나타내는 AV#가 어써트되고 어드레스가 출력된다. 사이클(T2P1)의 종료시에는 DC#가 부정이기 때문에 기입사이클에서 기입데이타가 갱신되지 않는다. 그러나, 독출 사이클에서는 DC#가 어써트되고 또한 독출 데이타가 취입된다.
이 사이클에서는 DC#가 어써트되면 선출력된 어드레스가 확인될 수 있기 때문에 BS#가 어써트되지 않는다.
이 사이클의 종료시에, 클록의 상승연부에서 DC#가 어써트되어 검출되고 또한 파이프라인 종료조건이 생기면 제어는 사이클(P1)로 옮겨진다.
만일 DC#가 부정되는 경우, 사이클(P1S)의 상태를 유지하기 위한 사이클(P1SW)로 제어가 옮겨지고 또한 DC#가 어써트될때가지 대기사이클이 반복된다.
[사이클 P1]
사이클(P1)에서는 선출력된 어드레스가 갱신되고 기입사이클에서 기입데이타가 갱신되고 또한 독출 사이클에서 독출 데이타가 취입된다.
이 사이클의 종료시에, 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건이 생기면 다음 사이클(P1)로 제어가 옮겨진다. DC#가 어써트되고 또한 파이프라인 종료조건이 생기면 사이클(P1E)로 제어가 이동된다.
이 사이클에서 DC#가 부정되고 DC#가 어써트될때가지 대기사이클이 반복되면 사이클(P1)이 상태를 유지하기 위한 사이클(P1W)로 제어가 이동된다.
이 사이클에서 AV#는 어써트된 것으로 유지된다.
[사이클 P1E]
사이클(P1E)로의 이동은 파이프라인 종료조건이 생겼음을 나타낸다. 그러므로, 이 사이클에서 어드레스들은 더이상 출력되지 않으며, 또한 파이프라인내에서 어드레스출력을 어써팅하기 위한 신호를 나타내는 AV#가 부정된다.
이 사이클에서는 선출력 어드레스들과 연관된 데이타에 대한 처리만을 행한다. 기입사이클에서는 기입데이타가 생긴되고 또한 독출 사이클에서는 독출 데이타가 취입된다.
이 사이클의 종료시에, 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 파이프라인 사이클은 종료되고 또한 모든 내포된 출력신호들을 부정된다.
만일 DC#가 부정되면, 사이클 P1E의 상태를 유지하기 위한 사이클(P1EW)로 제어가 이동되고 또한 DC#가 어써트될때까지 대기사이클이 반복된다.
제42, 43, 44 및 50도는 파이프라인=2일때의 타이밍을 나타낸다.
제42도는 대기없는 타이밍을 제43도는 대기가 1인 타이밍을 제44도는 대기가 2인 타이밍을 그리고 제45도는 대기가 3인 타이밍을 나타낸다.
사이클(T2)은 파이프라인=2일때 사이클(T2P2)로서 한정된다.
기본 사이클에서 연산하는 동안 사이클(T2P2)의 종료시에 클록의 상승연부에서 PEN#이 어써트된 것으로 검출되고 또한 DC#가 부정죄면, 모드는 파이프라인=2로 스위치된다.
사이클(T2P2)에서, PEN#의 어써트입력을 무시하고, 또한 모드는 파이프라인=2가 아닌 베이직모드로 스위치된다.
파이프라인=2로 모드가 스위치되면, 사이클(T2P2)후 1클록의 사이클종료시에 클록의 상승연부에서 처음시간동안 DC#가 검출된다. 이 사이클에서, 다음과 같은 파이프라인모드들로 제어가 이동된다.
1. DC#가 어써트될 경우 대기없는 파이프라인모드(제42도)
2. DC#가 부정일 경우 대기있는 파이프라인모드(제43,44,45도)
대기없는 파이프라인모드는 사이클(P2B1,P2B2,P2,P2E2 또는 P2E1)에서 연산되는 한편 대기가 있는 파이프라인모드는 사이클(P2B1,P2S2,P2,P2E2 또는 P2E1)에서 연산된다.
각 사이클에 대해 아래에 상세히 설명한다.
[사이클 P2B1]
사이클(T2P2)에서 PEN#이 어써트되고 또한 DC#가 부정된 것으로 검출되면, 사이클(T2P2)은 사이클(P2B1)로 변경된다.
사이클(P2B1)에서는 우선 파이프라인모드로 제어가 이동됨을 나타내는 AV#가 어써트되고 또한 어드레스가 출력된다.
그 다음, BS#가 어써트되어 산출력된 어드레스를 확인한다. 또한 이 사이클에서 DC#가 어써트될때 기입 사이클에서는 기입데이타가 갱신되지 않고 또한 독출 사이클에서는 독출 데이타가 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건이 생기면, 제어는 사이클(P2B2)로 이동된다.
DC#가 부정되고 또한 파이프라인 종료조건이 생기지 않으면 제어는 사이클(P2S2)로 이동된다.
사이클(P2B1)은 대기있이는 연산되지 않는다.
[사이클 P2B2]
사이클(P2B2)에서는 우선 어드레스들이 출력되고, 기입사이클에서는 기입데이타가 갱신되나 독출 사이클에서는 독출 데이타가 취입되지 않는다.
이 사이클에서는 DC#가 검출되지 않기 때문에, BS#는 어써트를 계속 조사하여 선출력된 어드레스를 확인한다.
파이프라인 종료조건이 생기면 사이클(P2B2)은 사이클(P2)로 스위치된다.
[사이클 P2S2]
우선 사이클(P2S2)에서는 어드레스들이 출력된다. 그러나, 종전 사이클(P2B1)에서 DC#가 부정되기 때문에 DC#가 어써트될때 기입사이클에서는 기입데이타가 갱신되지 않고 또한 독출 사이클에서는 데이타타가 취입된다.
이 사이클에서 BS#는 어써트되지 않는다. 왜냐하면 DC#가 어써트된 것으로 검출되고 또한 선출력된 어드레스가 확인되기 때문이다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건이 생기면 제어하는 사이클(P2)로 이동된다. DC#가 부정되면, 제어는 사이클(P2S2)의 상태를 유지하기 위한 사이클(P2S2W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P2]
사이클(P2)에서 선출력된 어드레스는 갱신되고, 기입사이클에서는 기입데이타가 갱신되고 또한 독출 사이클에서는 독출 데이타가 취입된다.
이 사이클종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건에 생기면 제어는 다음 사이클(P2)로 이동된다. DC#가 어써트되고 또한 파이프라인 종료조건이 생기면, 제어는 사이클(P2E2)로 이동된다.
이 사이클에서 DC#가 부정되면, 제어는 사이클(P2)의 상태를 유지하기 위한 사이클(P2W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
이 사이클에서 AV#는 어써트된 것으로 유지된다.
[사이클 P2E2]
사이클(P2E2)로의 이동은 파이프라인 종료조건이 생김을 나타낸다. 그러므로, 이 사이클에서 어드레스들은 더이상 출력되지 않으며 또한 파이프라인내의 어드레스출력을 어써트하기 위한 신호를 나타내는 AV#가 부정된다.
이 사이클에서는 선출력된 어드레스들과 연관된 데이타에 대한 처리만이 수행된다.
기입사이클에서 기입데이타를 갱신하고 또한 독출 사이클에서 독출 데이타를 취입한다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면 제어는 사이클(P2E1)로 이동된다. DC#가 부정되면, 제어는 사이클(P2E2)의 상태를 유지하기 위한 사이클(P2E2W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P2E1]
사이클(P2E1)에서는 기입사이클에서 기입데이타를 갱신하고, 독출 사이클에서 독출 데이타를 취입한다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면 버스사이클은 종료되고 모든 내포된 출력신호들은 부정된다. DC#가 부정되면 제어는 사이클(P2E1)의 상태를 유지하기 위한 사이클(P2E1W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
제45, 47, 48 및 49도는 파이프라인=4일때의 타이밍을 나타낸다. 제46도는 대기가 없는 타이밍을 나타내며, 제46도는 대기 1이 있는 타이밍을, 제48도는 대기 2가 있는 타이밍을 제49도는 대기 3이 있는 타이밍을 나타낸다.
기본 사이클에서 연산되는 동안 사이클(T2P4)의 종료시에 콜록의 상승에서 DC#가 부정되고 PEN#이 어써트된 것으로 검출되면 모드는 파이프라인=4로 스위치된다.
사이클(T2P4)에서, PEN#이 어써트될지라도 DC#가 어써트되고, 또한 모드가 파이프라인=4가 아닌 베이직모드로 스위치되지 않으면 VPU는 PEN#의 어써트 입력을 무시한다.
모드가 파이프라인=4로 스위치되면, 사이클(T2P4)후 3클록에서 사이클의 종료시의 클록의 상승연부에서 처음시간동안 DC#가 검출된다. 이 사이클에서, 제어는 다음과 같은 파이프라인모드들로 이동된다.
1. DC#가 어써트될 경우 대기없는 파이프라인모드(제46도)
2. DC#가 부정될 경우, 대기있는 파이프라인모드(제47,48,49도)
대기없는 파이프라인모드는 사이클(P4B1,P4B2,P4B3,P4,P4E4,P4E3,P4E2,P4E1)에서 연산되는 한편 대기있는 파이프라인모드는 사이클(P4B1,P4B2,P4B3,P4,P4E4,P4E3,P4E2,P4E1)에서 연산된다.
각 사이클에 대해 아래에 상세히 설명된다.
[사이클 P4B1]
사이클(T2P4)에서 PEN#이 어써트되고 또한 DC#가 부정된 것으로 검출되면, 사이클(T2P4)은 사이클(P4B1)로 스위치된다.
이 사이클(P4B1)에서는 우선 제어가 파이프라인모드로 이동됨을 나타내는 AV#가 어써트되고 또한 어드레스가 출력된다. 그 다음, BS#가 어써트되어 선출력된 어드레스를 확인한다. 또한 이 사이클에서는 기입사이클에서 기입데이타가 갱신되지 않는 한편 독출 사이클에서는 독출 데이타가 취입된다.
이 파이프라인 종료제어가 생기면 이 사이클의 종료시에 DC#가 검출되지 않고 또한 제어가 사이클(P4B2)로 이동된다.
사이클(P4B1)은 대기있이는 연산되지 않는다.
[사이클 P4B2]
사이클(P4B2)에서는 우선 어드레스들이 출력되고, 또한 BS#가 어써트되어 선출력된 어드레스들을 확인한다.
기입사이클에서 기입데이타는 갱신되지 않고 또는 독출 사이클에서 독출 데이타는 취입되지 않는다.
파이프라인 종료조건이 생기면 이 사이클의 종료시에 DC#는 검출되지 않고 또한 제어는 사이클(P4B3)로 이동된다.
사이클(P4B2)은 대기있이는 연산되지 않는다.
[사이클 P4B3]
사이클(P4B3)에서는 우선 어드레스들이 출력되고 또한 BS#가 어써트되어 선출력된 어드레스들을 확인한다. DC#가 어써트될때 기입사이클에서 기입데이타는 갱신되지 않지만 독출 사이클에서 독출 데이타는 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건이 생기면 제어는 사이클(P4B4)로 이동된다. DC#가 부정되고 또한 파이프라인 종료조건이 생기지 않으며 제어는 사이클(P4S4)로 이동된다.
사이클(P4B4)는 대기있이는 연산되지 않는다.
[사이클 P4B4]
사이클(P4B4)에서는 우선 어드레스들이 출력되고 또한 BS#가 어써트되어 선출력된 어드레스들을 확인한다.
사이클(P4B3)에서 DC#가 어써트되기 때문에, 기입사이클에서는 기입데이타가 갱신되지만 독출 사이클에서는 독출 데이타가 취입되지 않는다.
파이프라인 종료조건이 생기면, 이 사이클의 종료시에 클록의 상승연부에서 DC#가 검출되지 않고 제어는 사이클(P4)로 이동된다.
사이클(P4B4)은 대기있이는 연산되지 않는다.
[사이클 P4S4]
사이클(P4S4)에서는 우선 어드레스들이 출력된다. 그러나, 종전 사이클(P4B3)에서 DC#가 부정되기 때문에 DC#가 어써트된 것으로 검출될때 기입사이클에서는 기입데이타가 갱신되지 않지만 독출 사이클에서는 독출 데이타가 취입된다.
이 사이클에서는 DC#가 어써트된 것으로 검출될 경우 선출력된 어드레스들이 확인될 수 있기 때문에 BS#가 어써트되지 않는다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되고 또한 파이프라인 종료조건이 생기면 제어는 사이클(P4)로 이동된다. 만일 DC#가 부정되면, 제어는 사이클(P4S4)의 상태를 유지하기 위한 사이클(P4S4W)로 이동되고 또한 대기 사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P4]
사이클(P4)에서는 선출력된 어드레스들이 갱신되고, 기입사이클에서는 기입데이타가 갱신되고 또한 독출사이클에서는 독출 데이타가 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트되고 또한 파이프라인 종료조건이 생기면 제어는 다음 사이클(P4)로 이동된다. DC#가 어써트되고 또한 파이프라인 종료조건이 생기면 제어는 사이클(P4E4)로 이동된다.
이 사이클에서는 DC#가 부정되면 제어는 사이클(P4)의 상태를 유지하기 위한 사이클(P4W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P4E4]
사이클(P4E4)로의 이동은 파이프라인 종료조건이 생겼음을 나타낸다. 그러므로, 이 사이클에서 어드레스들은 더이상 출력되지 않고 또한 파이프라인내에서 어드레스출력을 어써트하기 위한 신호를 나타내는 AV#가 부정된다.
이 사이클에서는 선출력된 어드레스들과 연관된 데이타에 대해서만 처리된다. 기입사이클에서는 기입데이타가 갱신되고 또한 독출 사이클에서는 독출 데이타가 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 제어는 사이클(P4E3)로 이동된다.
DC#가 부정되면 제어는 사이클 P4E4의 상태를 유지하기 위한 사이클(P4E4W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P4E3]
사이클(P4E3)에서는 DC#가 어써트될때 기입사이클에서 기입데이타가 갱신되고 또한 독출 사이클에서 독출 데이타가 취입된다.
만일 이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 제어는 사이클(P4E2)로 이동된다. DC#가 부정되면, 제어는 사이클 P4E3의 상태를 유지하기 위한 사이클(P4E3W)로 이동되고 또한 대기사이클들은 DC#가 어써트될때까지 반복된다.
[사이클 P4E2]
사이클(P4E2)에서는 DC#가 어써트될때 기입사이클에서 기입데이타가 갱신되고 또한 독출 사이클에서 독출 데이타가 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 제어는 사이클(P4E1)로 이동된다.
DC#가 부정되면, 제어는 사이클(P4E2)의 상태를 유지하기 위한 사이클(P4E2W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복한다.
[사이클 P4E1]
사이클(P4E1)에서는 DC#가 어써트될때 기입사이클에서 기입데이타가 갱신되고 또한 독출 사이클에서 독출 데이타가 취입된다.
만일 이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 제어는 사이클(P4E1)의 상태를 유지하기 위한 사이클(P4E2W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
[사이클 P4E1]
사이클(P4E1)에서, DC#가 어써트될때 기입사이클에서 기입데이타가 갱신되고 또한 독출 데이타가 취입된다.
이 사이클의 종료시에 클록의 상승연부에서 DC#가 어써트된 것으로 검출되면, 버스사이클은 종료되고 내포된 모든 출력신호들은 부정된다. 만일 DE#가 부정되면, 제어는 사이클(P4E1)의 상태를 유지하기 위한 사이클(P4E1W)로 이동되고 또한 대기사이클은 DC#가 어써트될때까지 반복된다.
상술한 사이클 각각 즉, 각 상태는 타이밍 순서기(82)에 의해 결정되어 버스상태신호로서 외부 터미날제어기(84)로 출력된다.
제50도는 외부 터미날제어기(84)의 구성을 나타낸다.
타이밍 순서기(82)에 의해 출력된 버스상태신호는 상술한 사이클들의 각각에 해당하는 신호로서 BS# 터미날 유니트(101), DC# 터미날 유니트 102 및 AV# 터미날 유니트(103)에 입력된다.
버스사용권 제어기(100)는 버스사용권 요청이 발행될때 요청신호(HREQ#)을 출력한다. 요청신호에 응답하여 확인신호(HACK#)가 입력되면 버스사용권 획득신호가 버스사용권의 확인으로서 BS# 터미날 유니트 (101),DC# 터미날 유티트(102) 및 AV# 터미날 유니트(103)로 출력된다.
마찬가지로, 버스가 사용되고 있을때 출력 터미날의 상태를 나타내는 3상태 제어신호는 BS# 터미날 유니트(101), DS# 터미날 유니트(102) 및 AV# 터미날 유니트(103)로 출력된다.
상술한 신호들이외에 DC#와 PEN#이 DCX와 PENX로서 BS# 터미날 유니트(101), DS# 터미날 유니트(102) 및 AV# 터미날 유니트(103)로 2단 인버터들(I1,I2) 즉 버퍼들을 통해 제각기 입력된다.
이들 신호들에 의해, BS# 터미날 유니트(101)는 BS#를 출력하고, DS# 터미날 유니트(102)는 DS#를 출력하고, AV# 터미날 유니트(103)는 AV#를 출력한다.
제51도는 BS# 터미날 유니트(101)의 상세한 구성을 나타낸다.
버스사용권 획득신호, 작동신호 및 타이밍 순서기로부터의 신호(Ti)가 1레벨을 나타내며, AND 게이트 (111)는 1레벨을 출력하고 또한 OR 게이트(112)를 통해 클록(CLK)과 동기하여 세트/리세트 플립플롭(113)을 세트한다. 그에 따라, AND 게이트들(114,115)은 1레벨을 출력하고 또한 내부버스 억세스요청신호(IBRX,PENX) 모두가 T2P1 사이클에서 0레벨을 나타낼때 또는 T2P2 사이클에서 IBRX와 PENX 모두가 0레벨을 나타내고 또한 DCX가 1레벨을 나타낼때 OR 게이트들(112,116)을 통해 클록(CLK)과 동기하여 세트/리세트 플립플롭(113)을 세트한다.
세트/리세트 플립플롭(113)의 출력은 3-상태버퍼(117)에 입력된다. 3상태 제어신호에 의해 3상태 버퍼(117)은 세트/리세트 플립플롭(113)의 세트상태를 BS#로서 출력한다. 세트상태는 BS#의 0레벨로 나타낸다.
사이클(TI,P1B,P2B2 또는 P4B4)에서, 세트/리세트 플립플롭(113)은 OR 게이트(118)를 통해 리세트된다. 세트/리세트 플립플롭(113)은 IBRX와 DCX의 적어도 하나가 사이클(P2B1) 또는 (P4B3)에서 1레벨을 나타낼때 또는 IBRX가 사이클(P4B1 또는 P4B2)에서 1레벨을 나타낼때 AND 게이트들(119,120,121)의 출력들에 의해 OR 게이트를 통해 리세트된다.
그러한 리세트조건들에서 BS#는 3-상태 버퍼(117)를 통해 1레벨을 나타낸다.
제51도에 보인 연산합 즉, 타이밍 순서기로부터의 신호는 AND 게이트들(111,114,115,119,120,121)과 OR게이트들(112,116,118)을 포함하는 디코딩 회로에 의해 디코드되어 세트/리세트 플립플롭(113)을 세트 또는 리세트한다. 그 결과는 3상태 버퍼(117)를 통해 출력된다.
상술한 연산은 DS# 또는 AV#와 동일하게 수행된다. 제52도는 DS# 터미날 유니트(102)의 상세한 구성을 나타내며 또한 제53도는 AV# 터미날 유니트(103)의 상세한 구성을 나타낸다.
제52도에서, 세트/리세트 플립플롭(130)은 사이클 T1에서 세트되고 또한 AND 게이트들(131,132)과 OR게이트들(133,134)로 된 디코딩 회로를 사용하여 사이클들(T2P1,T2P1W,T2P2,T2P2W,T2P4,T2P4W,P1E,P1EW,P2E1,P2E1W,P4E1,P4EW)내에 있음을 나타내는 신호들과 DCX를 디코딩하여 리세트된다.
그 결과는 3-상태 버퍼(135)를 통해 출력된다.
마찬가지로, 제53도에 보인 바와 같이 세트/리세트 플립플롭(140)은 AND 게이트들(141,142)과 OR 게이트(143)로된 디코딩 회로를 사용하여 사이클들(T2P1,T2P2,T2P4)에 있음을 나타내는 신호들과 IBRX, DCX 및 PENX를 디코딩하여 세트되며 또한 AND 게이트들(144,145,146,147)과 OR 게이트(148)로된 디코딩 회로에 의해 사이클들(P1B,P2B2,P4B1,P4B3,P4B4,P1S,P1SW,…)(제53도 좌측에 도시됨)에 있음을 나타내는 신호들과 DCX 및 IBRX를 디코더함으로써 리세트된다.
세트/리세트 플립플롭(140)의 출력은 3상 버퍼(149)를 통해 상술한 바와같이 출력된다.
BS#, DS# 및 AV#는 위에서 나열된 회로를 통해 출력된다.
위에 나열된 사이클들 각각은 타이밍 순서기에 의해 출력된다.
제54도는 타이밍 순서기의 구성을 나타낸다. BS#, DS# 및 AV#를 생성하기 위한 회로들과 사이클들 각각에 대해서는 위에서 설명했다. 회로들은 제51, 52 및 53도에 나타내며 또한 타이밍 순서기(82)에 의해 출력된 버스상태신호들에 따라 출력신호들의 타이밍을 결정한다.
제54도는 파이프라인(p)=1일때 타이밍 순서기(82)의 상세 구성을 나타낸다.
P=2 또는 P=4때에도 동일하게 구성되므로 더이상 설명은 생략한다.
타이밍 순서기(82)는 제54도에 보인 11래치들, 90R 게이트들, 및 여러 AND 게이트들을 포함한다. 이 AND 게이트들은 통상의 게이트 표식으로 도시되지 않았지만 논리는 각 래치의 출력상태를 나타내기 위한 표시(해당선 부근에 부가된 흰색원으로 어써션(assertion) 흑색원으로 부정(nagation)을 나타낸다. 예를들어 래치(P1EW)의 출력은 DC#가 부정될 경우 OR 게이트를 통해 재입력되고 또한 DC#가 어써트될 경우 OR 게이트에 입력된다.
제54도에서 점선으로 둘러싼 부분들은 일점쇄선으로 둘러싼 회로로서 도시된다.
상술한 11래치가 제38, 39, 40 및 41도에 도시된 사이클들 각각마다 설비되기 때문에 각 래치마다 해당 사이클과 동일한 심볼을 부여한다.
그들은 프로세서가 대기상태에 있을때 아이들(idle)상태에 있는 한편 래치(Ti)는 연산을 위해 세트된다. 만일 이 조건에서, 시스템이 작동되고 또한 버스획득이 어써트되면, 래치(T1)는 OR 게이트를 통해 세트된다. 사이클(T1)에서, 그 다음 스테이지에서 세트될 래치는 제26도에 도시된 어드레스 파이프라인 스테이지번지 세팅기에 의해 출력된 파이프라인들의 스테이지들의 번지에 따라 결정된다.
즉, AND 논리는 어드레스 파이프라인 스테이지번지 세팅기(14)에 의해 출력된 파이프라인 스테이지들의 번지를 디코딩하여 얻은 출력(1-K)과 래치(T1)간에서 얻어지며, 그에 의해 그다음 스테이지내의 래치를 세트할 수 있다. 제54도에서 파이프라인 스테이지들의 번지 1를 갖는 회로가 참조된다.
1 이외의 번지를 참조하면, 도면에 도시되지 않은 회로가 세트된다.
파이프라인 스테이지의 번지가 1이면, 래치(T2P1)가 세트된다. 그후, DC#와 IBR#이 어써트 되지만 PEN#이 부정되면 버스는 억세스되지 않고 래치(T1)가 다시 세트된다.
IBR#이 제33도에 도시된 어드레스부(64)에 의해 출력된 내부버스요청이다.
래치(P1B)는 래치(T2P1)가 세트된 후 DC#, PEN# 및 IBR#이 어써트될 때 세트된다. DC#가 부정되고 또한 PEN#과 IBR#이 어써트될때 래치(PIS)가 세트된다.
클록내에서 억세스될 수 없을 경우 DC#가 부정된다. 즉 DC#는 복귀되지 않는다. 만일 DC#가 래치(P1S)가 세트됨과 더불어 부정되면, DC#가 어써트될때까지 래치(P1SW)가 세트되어 유지된다.
상태(P1B)는 상태(T2P1)에서 DC#가 어써트된 상태(P1S)와 다르다.
상태(P1B)에서 BS#가 다시 출력된다.
상태(P1B)에서 IBR#이 어써트되고, 상태(P1S)에서, DC#와 IBR#이 어써트되고, 또한 상태(P1SW)에서 DC#와 IBR#이 어써트될때 래치(P1)가 세트된다.
사이클들(P1B,P1S)에서는 우선 하나의 어드레스가 출력된다. 사이클(P1)에서는 어드레스와 데이타가 처리된다.
DC#와 IBR#이 어써트될때, 즉, 래치 P1이 세트된후 DC#가 복귀되고 또한 내부버스요청 IBR#이 발행될때 래치(P1)가 다시 세트된다.
래치(P1W)는 DC#가 부정될때 즉, DC#가 복귀될때 예를들어 메모리가 저속으로 동작하거나 또는 DRAM이 갱신될때 세트된다. 래치(P1W)는 DC#가 어써트될때까지 세트를 유지한다.
래치(P1E)는 상태들(P1,P1W)에서 더이상 내부요청이 없을때 즉, IBR#이 부정될때 세트된다. 이 상태들에서 어드레스가 출력될 필요가 없으나 데이타는 처리된다. DC#가 사이클(P1E)에서 복귀되면 시스템은 아이들상태가 된다. 만일 DC#가 복귀되지 않으면, 사이클(P1EW)은 DC#가 제공될때가지 세트되어 반복된다.
상기 연산에 따라, 상태는 순차적으로 변동되며 또한 각 상태에 따라 래치가 세트된다. 즉 상태는 그에 상응하여 변동한다.
본 발명은 상술한 BS#, DS# 및 AV#를 각 래치에 의해 나타낸 상태에 따라 제어하도록 구성되어 있으므로, 외부 메모리의 처리속도를 고속화할 수 있다.

Claims (8)

  1. 오퍼랜드 길이의 정수배의 상응하는 거리에서 파이프라인형으로 억세스되고, 또한 메인메모리를 분할하여 구성되는 복수의 독립 억세스가능한 뱅크들을 갖는 메모리수단과, 상기 복수의 뱅크들의 번지내의 뱅크들을 억세스하도록 상기 독립 억세스가능 뱅크들중 현재 사용되고 있는것의 억세스 완료전에 상기 복수의 독립 억세스가능 뱅크들중 사용될 것을 억세스하기 위해 파이프라인연산에서 파이프라인 스테이지들의 번지를 설정하기 위한 파이프라인 스테이지번지 세팅수단과, 상기 파이프라인 스테이지번지 세팅수단에 의해 설정된 상기 파이프라인 스테이지들의 번지에 따라 상기 복수의 독립 억세스가능 뱅크들중 상기 사용될 것의 어드레스를 발생시키고, 또한 상기 복수의 독립 억세스가능 뱅크들중 현재 사용중인 것으로부터 상기 사용할 것으로 뱅크를 스위칭하기 위한 수단을 포함하는 것이 특징인 메모리 억세스장치.
  2. 제1항에 있어서, 상기 파이프라인 스테이지번지 세팅수단은 상기 메모리수단내의 상기 복수의 독립 억세스가능 뱅크들의 상기 번지와 스트라이드값에 따라 명령실행에 관한 상기 파이프라인 스테이지들의 상기 번지를 더미 DC#(데이타 완료신호)를 사용하여 설정하며, 상기 어드레스 생성수단은, 상기 파이프라인 스테이지번지 설정수단에 의해 설정되는 상기 파이프라인 스테이지의 상기 번지에서 상기 명령실행에 관한 오퍼랜드 어드레스를 생성하는 것이 특징인 메모리 억세스장치.
  3. 제1항에 있어서, 상기 파이프라인 스테이지번지 세팅수단은 오퍼랜드들이 어드레스 생성모드를 나타내는 단편정보인지 연속정보인지에 따라 상기 파이프라인 스테이지들의 상기 번지를 더미 DC#(데이타 완료신호)를 사용하여 설정하는 것이 특징인 메모리 억세스장치.
  4. 제1항에 있어서, 상기 뱅크 어드레스 생성수단은 스트라이드값을 오퍼랜드 길이의 정수배로 승산하여 얻은 값에 의해 상기 파이프라인연산에 관한 오퍼랜드 어드레스를 어드레스 변경시간에 더미 DC#(데이타 완료신호)를 사용하여 증분하는 것이 특징인 메모리 억세스장치.
  5. 제1항에 있어서, 상기 메모리수단은 버스폭에 있어서 어드레스들이 순차로 변동할 때 더미 DC#를 근거로 하여 지정된 뱅크들을 순차로 스위치하는 것이 특징인 메모리 억세스장치.
  6. 제5항에 있어서, 상기 메모리수단은 기입연산동안 임시데이타를 기억하기 위해 상기 메모리수단의 어드레스를 억세스하기 위해 상기 복수의 독립 억세스가능 뱅크를 각각마다 어드레스 입력터미날에 위치되는 어드레스 래치회로와 독출 연산동안 상기 임시데이타를 수신하여 출력하기 위해 데이타 터미날에서 기입방향으로 래치를 갖는 양방향 버퍼를 구비하는 것이 특징인 메모리 억세스장치.
  7. 제1항에 있어서, 상기 메모리 억세스수단은 소정의 데이타폭을 두고, 등간격으로 구획된 어드레스공간들의 블록들을 서열화하기 위한 어드레스들로 구성된 n뱅크들을 가지며, 또한 상기 복수이 독립 억세스가능 뱅크들중 하나의 상기 소정 데이타폭의 길이 또는 상기 소정 데이타폭의 절반길이를 갖는 오퍼랜드를 기억하며, 상기 파이프라인 스테이지번지 세팅수단은 상기 오퍼랜드의 길이, 상기 소정 데이타 폭, 상기 정수배값 및 상기 복수의 독립 억세스가능 뱅크들의 번지에 따라 상기 파이프라인 스테이지번지를 더미 DC#(데이타 완료신호)를 사용하여 설정하며, 또한 상기 뱅크어드레스 생성수단은 상기 오퍼랜드의 상기 길이의 정수배에 해당하는 거리의 파이프라인들내에서 데이타 억세스들을 실행하는 것이 특징인 메모리 억세스장치.
  8. 제1항에 있어서, 상기 뱅크스위칭 수단은 프로세서내의 어드레스 비트의 LSB(최하위비트)에서 상기 메모리수단내의 상기 복수의 독립 억세스가능 뱅크들중 하나를 지정하여 상기 복수의 독립 억세스가능 뱅크들중 상기 것의 지정정보를 기억하기 위해 상기 복수의 독립 억세스가능 뱅크들 각각마다 제공되는 제1래치와, 상기 복수의 독립 억세스가능 뱅크들 각각을 지정하는 나머지 어드레스의 MSB(최상위 비트)를 기억하고, 또한 그것을 상기 복수의 독립 억세스가능 뱅크들 각각의 어드레스에 공급하기 위해 상기 복수의 독립 억세스가능 뱅크들 각각마다 제공되는 제2래치와, 상기 복수의 독립 억세스가능 뱅크들 각각마다 데이타 터미날에 접속되며, 또한 기입방향에서 래치를 갖는 버퍼를 포함하는 것이 특징인 메모리 억세스장치.
KR1019920008546A 1991-05-20 1992-05-20 메모리 억세스장치 KR970006025B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP91-114960 1991-05-20
JP3114960A JP2625277B2 (ja) 1991-05-20 1991-05-20 メモリアクセス装置

Publications (2)

Publication Number Publication Date
KR920022117A KR920022117A (ko) 1992-12-19
KR970006025B1 true KR970006025B1 (ko) 1997-04-23

Family

ID=14650900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920008546A KR970006025B1 (ko) 1991-05-20 1992-05-20 메모리 억세스장치

Country Status (5)

Country Link
US (1) US5768559A (ko)
EP (1) EP0515165B1 (ko)
JP (1) JP2625277B2 (ko)
KR (1) KR970006025B1 (ko)
DE (1) DE69229763T2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5950219A (en) * 1996-05-02 1999-09-07 Cirrus Logic, Inc. Memory banks with pipelined addressing and priority acknowledging and systems and methods using the same
EP1327991A3 (en) * 1997-10-10 2005-05-11 Rambus Inc. Apparatus and method for pipelined memory operations
EP2105841A1 (en) 1997-10-10 2009-09-30 Rambus Inc. Apparatus and method for pipelined memory operations with write mask
KR100270959B1 (ko) * 1998-07-07 2000-11-01 윤종용 반도체 메모리 장치
US6272609B1 (en) * 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
US20050185465A1 (en) * 2003-03-11 2005-08-25 Fujitsu Limited Memory device
JPWO2004081946A1 (ja) * 2003-03-11 2006-06-15 富士通株式会社 メモリ装置
JP3659252B2 (ja) 2003-03-28 2005-06-15 セイコーエプソン株式会社 ベクトルデータのアドレス参照方法およびベクトルプロセッサ
US6829191B1 (en) 2003-12-03 2004-12-07 Hewlett-Packard Development Company, L.P. Magnetic memory equipped with a read control circuit and an output control circuit
US8982649B2 (en) 2011-08-12 2015-03-17 Gsi Technology, Inc. Systems and methods involving multi-bank, dual- or multi-pipe SRAMs
US9268571B2 (en) * 2012-10-18 2016-02-23 Qualcomm Incorporated Selective coupling of an address line to an element bank of a vector register file
US9037835B1 (en) * 2013-10-24 2015-05-19 Arm Limited Data processing method and apparatus for prefetching
US10854284B1 (en) 2016-12-06 2020-12-01 Gsi Technology, Inc. Computational memory cell and processing array device with ratioless write port
US10943648B1 (en) 2016-12-06 2021-03-09 Gsi Technology, Inc. Ultra low VDD memory cell with ratioless write port
US10770133B1 (en) 2016-12-06 2020-09-08 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits
US10249362B2 (en) 2016-12-06 2019-04-02 Gsi Technology, Inc. Computational memory cell and processing array device using the memory cells for XOR and XNOR computations
US10521229B2 (en) 2016-12-06 2019-12-31 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US10847213B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Write data processing circuits and methods associated with computational memory cells
US10777262B1 (en) 2016-12-06 2020-09-15 Gsi Technology, Inc. Read data processing circuits and methods associated memory cells
US10891076B1 (en) 2016-12-06 2021-01-12 Gsi Technology, Inc. Results processing circuits and methods associated with computational memory cells
US11227653B1 (en) 2016-12-06 2022-01-18 Gsi Technology, Inc. Storage array circuits and methods for computational memory cells
US10847212B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers
US10860320B1 (en) 2016-12-06 2020-12-08 Gsi Technology, Inc. Orthogonal data transposition system and method during data transfers to/from a processing array
US11221953B2 (en) 2018-10-08 2022-01-11 Samsung Electronics Co., Ltd. Memory device performing in-memory prefetching and system including the same
US10930341B1 (en) 2019-06-18 2021-02-23 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US10877731B1 (en) 2019-06-18 2020-12-29 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US10958272B2 (en) 2019-06-18 2021-03-23 Gsi Technology, Inc. Computational memory cell and processing array device using complementary exclusive or memory cells

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
JPS63225837A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 距離付きベクトルアクセス方式
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
US4918600A (en) * 1988-08-01 1990-04-17 Board Of Regents, University Of Texas System Dynamic address mapping for conflict-free vector access
US5063533A (en) * 1989-04-10 1991-11-05 Motorola, Inc. Reconfigurable deinterleaver/interleaver for block oriented data
US5060145A (en) * 1989-09-06 1991-10-22 Unisys Corporation Memory access system for pipelined data paths to and from storage

Also Published As

Publication number Publication date
JP2625277B2 (ja) 1997-07-02
DE69229763T2 (de) 1999-12-02
KR920022117A (ko) 1992-12-19
JPH04343151A (ja) 1992-11-30
EP0515165B1 (en) 1999-08-11
EP0515165A1 (en) 1992-11-25
US5768559A (en) 1998-06-16
DE69229763D1 (de) 1999-09-16

Similar Documents

Publication Publication Date Title
KR970006025B1 (ko) 메모리 억세스장치
US4293907A (en) Data processing apparatus having op-code extension register
EP0405489B1 (en) Resource conflict detection method and apparatus included in a pipelined processing unit
US4449184A (en) Extended address, single and multiple bit microprocessor
US4918600A (en) Dynamic address mapping for conflict-free vector access
US3943494A (en) Distributed execution processor
EP0424618A2 (en) Input/output system
US5381360A (en) Modulo arithmetic addressing circuit
US4847759A (en) Register selection mechanism and organization of an instruction prefetch buffer
US5404553A (en) Microprocessor and data flow microprocessor having vector operation function
US5832258A (en) Digital signal processor and associated method for conditional data operation with no condition code update
GB2073923A (en) Branching in computer control store
CN108205447B (zh) 使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎
US4240142A (en) Data processing apparatus providing autoincrementing of memory pointer registers
EP0286260A2 (en) Group-relative addressing system
US4691279A (en) Instruction buffer for a digital data processing system
JPS6014338A (ja) 計算機システムにおける分岐機構
JP3935871B2 (ja) パイプラインを有する計算回路のためのメモリ・システムおよびパイプラインの機能ユニットにデータを提供する方法
US4250545A (en) Data processing apparatus providing autoloading of memory pointer registers
EP0497986B1 (en) Memory access system and method
US5414821A (en) Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US4691282A (en) 16-bit microprocessor system
US5642523A (en) Microprocessor with variable size register windowing
Dorozhevets et al. The El'brus-3 and MARS-M: Recent advances in Russian high-performance computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20060824

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee