KR100386638B1 - 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서 - Google Patents

외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서 Download PDF

Info

Publication number
KR100386638B1
KR100386638B1 KR1019970700561A KR19970700561A KR100386638B1 KR 100386638 B1 KR100386638 B1 KR 100386638B1 KR 1019970700561 A KR1019970700561 A KR 1019970700561A KR 19970700561 A KR19970700561 A KR 19970700561A KR 100386638 B1 KR100386638 B1 KR 100386638B1
Authority
KR
South Korea
Prior art keywords
memory
information
address
cycle
stage
Prior art date
Application number
KR1019970700561A
Other languages
English (en)
Other versions
KR970705080A (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 KR970705080A publication Critical patent/KR970705080A/ko
Application granted granted Critical
Publication of KR100386638B1 publication Critical patent/KR100386638B1/ko

Links

Images

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/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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

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

Abstract

메모리 요청은 관련된 명령이 실행되는 사이클과 동일한 클럭 사이클 동안 메모리 어드레스를 형성하고, 정보가 외부 메모리로부터 출력되는 클럭 사이클로 진행하는 출력 사이클 동안 준비 신호를 발생하고, 외부 메모리로부터 수신된 정보를 정보가 수신되는 사이클과 동일한 사이클 동안 레지스터 파일로 전달함으로써, 외부 메모리로 파이프라인되어 진다. 또한, 명령이 이전의 명령에 의해 요청된 정보를 필요로 하면, 이 정보는 정보가 수신되는 사이클과 동일한 사이클 동안 산술 논리 장치(ALU)로 전달된다. 그 결과, DRAM에 기억된 정보를 인출하는데 필요한 사이클 시간을 상당히 감소시킬 수 있다.

Description

외부 메모리로의 액세스 요청을 파이프라이닝하는 마이크로프로세서
발명의 배경
발명의 분야
본 발명은 파이프라인 마이크로프로세서(pipelined microprocessor)에 관한 것으로, 외부 메모리(external memory)로의 메모리 요청을 파이프라인하는 파이프라인 마이크로프로세서에 관한 것이다.
관련 기술
파이프라인 마이크로프로세서는 파이프라인의 각 스테이지에서, 한 명령에 대해 서로 다른 기능을 수행하도록 스테이지내의 명령에 대해 동작하는 마이크로프로세서이다. 즉, 복수의 명령들이 동시에 파이프를 통해 이동되어 지며, 어셈블되어진 것과 같은 많은 결과(products)들이 멀티 스테이지 어셈블리 라인(multistage assembly line)을 통해 이동하게 된다.
도 1은 종래의 파이프라인 프로세서를 통한 명령의 흐름을 예시하는 블럭도이다. 도 1에서 도시된 바와 같이, 파이프의 제1 스테이지는 프리페치(prefecth) 스테이지이다. 이 스테이지에서, 실행될 명령은 명령 캐쉬(cache) 또는 외부 메모리로부터 인출된 후, 프리페치 버퍼에 순차로 로드된다. 프리페치 스테이지의 목적은 프리페치 버퍼를 하나의 명령이 각 클럭 사이클마다 파이프의 다음 스테이지인 디코드 스테이지로 진행하도록 채우는 것이다.
이 디코드 스테이지에서, 파이프를 통해 이동하는 각각의 명령은 어떠한 동작을 수행해야 할지를 결정하도록 디코드된다. 디코드 스테이지 다음에, 오퍼랜드(operand) 스테이지에서는 데이타가 동작(operation)을 수행할 필요가 있는지, 또한 필요할 경우, 메모리로부터 데이타를 인출할 필요가 있는지를 결정한다. 이것에 후속하여, 명령에 의해 지정된 동작이 실행 스테이지에서 수행되어, 그 동작부 결과가 기록(write-back) 스테이지에 기억된다.
이상적인 경우, 각각의 명령은 연속하는 각각의 클럭 사이클마다 한 스테이지에서 다음 스테이지로 진행된다. 따라서, 명령이 파이프라인을 통해 전달되기 위해서 5개의 클럭 사이클을 필요로 하므로, 프로세서는 단지 하나의 클럭 사이클에서 각각의 명령의 실행을 완료하는 것처럼 보인다.
파이프라인을 스탤(stall)할 수 있거나, 또는 각 클럭 사이클마다 한 스테이지에서 다음 스테이지로 명령이 진행되는 것을 방지시킬 수 있는 상황에서는, 프로세서는 단일 클럭 사이클 내에서 오퍼랜드 스테이지에서 필요로 하는 데이타를 얻을 수 없게 된다. 그 때문에, 종래의 파이프라인 프로세서에서는 전형적으로 온-칩 데이타 캐쉬를 사용하여 가장 자주 요청되어지는 값들(values)을 기억한다. 데이타 캐쉬가 온-칩이므로, 캐쉬는 전형적으로 단일 클럭 사이클 내에서 액세스될 수 있다.
데이타 캐쉬가 비록 단일 클럭 사이클 내에서 메모리를 액세스하는 기술을 제공하더라도, 캐쉬 메모리는 구현을 위한 상당량의 실리콘 실영역을 필요로 하며, 캐쉬를 액세스할 때마다 상당량의 전력이 소모된다.
또한, 캐쉬 메모리는 외부 메모리에 기억되어 있는 데이타가 갱신될 때마다 캐쉬에 기억되어 있는 데이타도 갱신시키기 위한 제어 논리도 필요로 된다.
이러한 문제들을 해결하기 위한 한 가지 방법은 데이타 캐쉬를 제거시키고 단지 외부 메모리만을 사용하는 것이다. 그러나, 이러한 해결 방법의 중요한 단점은 데이타를 캐쉬로부터 인출하는 것보다 외부 메모리로부터 인출하는데 2 내지 3개 더 많은 클럭 사이클을 필요로 한다는 것이다. 따라서, 단일 클럭 사이클 내에서 외부 메모리를 액세스 할 수 있어, 캐쉬의 필요성을 제거시키는 기술이 필요로 된다.
발명의 요약
본 발명에서는, 메모리 요청들이, 관련된 명령을 실행하는 동일한 클럭 사이클 동안 메모리 어드레스를 형성하고, 초기(early) 준비 신호를 발생하여, 정보를 인출하는 사이클과 동일한 클럭 사이클 동안 외부 메모리로부터 인출한 정보를 레지스터 파일(register file)로 전달시킴으로써 외부 메모리로 파이프라인되어 진다. 또한, 명령이 이전 명령에 의해 요청된 정보를 필요로 할 경우, 외부 메모리로부터 인출된 정보는 정보를 수신하는 사이클과 동일한 클럭 사이클 동안 산술 논리 장치(ALU)로 전달된다. 그 결과, 외부 메모리에 기억되어진 정보를 인출하는데 필요한 사이클 시간을 상당량 단축시킬 수 있다.
본 발명에 따른 1-사이클 메모리 액세스는 파이프라인 진행 신호의 논리 상태에 응답하여 파이프를 통해 명령들을 순차로 진행키는 파이프라인 프로세서를 포함한다. 파이프라인 프로세서는 파이프를 통해 진행된 디코드된 명령들을 랫치하여 차례로 실행하는 실행 스테이지를 포함한다.
실행된 명령이 정보를 외부 메모리로 전달하거나 또는 외부 메모리로부터 전달 받을 때, 실행 스테이지는 정보를 실행하는 사이클과 동일한 사이클 동안 정보가 전달되어 지는 또는 정보가 전달되어져 오는 메모리의 위치를 식별하는 내부 어드레스를 형성한다.
파이프라인이 진행되는 다음 번에, 프로세서의 제1 기록 스테이지는 실행 스테이지로부터 출력된 내부 어드레스를 메모리 어드레스로서 랫치한다. 메모리 어드레스가 제1 기록 스테이지에서 출력되는 사이클과 동일한 사이클 동안 다이나믹 랜덤 액세스 메모리(DRAM) 제어기는 메모리 어드레스가 DRAM 제어기에 의해 제어되는 어드레스 공간 내에 있을 경우, 메모리 어드레스를 DRAM 어드레스로서 출력한다.
메모리로부터 정보를 판독해야 할 경우, DRAM 제어기는 정보를 출력해야 할 클럭 사이클 이전의 클럭 사이클 동안 준비 신호를 출력한다.
데이타 버스 상으로 출력된 정보는 이후에 프로세서의 제2 기록 스테이지에서 랫치된다. 제2 기록 스테이지는 실행 스테이지에서 이 정보를 수신하는 동일한 클럭 사이클 동안 정보를 레지스터 파일로 전달하며, 이 정보가 다음 명령에서 필요로 될 때는, 이 정보를 ALU로도 전달할 수 있다.
파이프를 통한 명령의 진행은 복수의 파이프라인 제어 신호들이 사전 정해진 논리 상태로 설정될 때 준비 신호의 논리 상태에 응답하여 파이프라인 진행 신호의 논리 상태를 변화시키는 전역(global) 제어기에 의해 제어된다.
본 발명의 특징 및 효과들은 본 발명의 원리를 활용한 예시적인 실시예에서 설명한 이하의 상세한 설명 및 도면으로부터 보다 확실하게 이해할 수 있을 것이다.
[도면의 간단한 설명]
도 1은 종래 파이프라인 프로세서를 통한 명령의 흐름을 예시하는 블럭도.
도 2는 본 발명에 따른 1-사이클 메모리 액세스 회로(100)를 예시하는 블럭도.
도 3은 일련의 판독 동작 동안 회로(100)의 동작을 예시하는 타이밍도.
도 4는 일련의 기록 동작 동안 제어기(100)의 동작을 예시하는 타이밍도.
도 5는 판독 및 기록 동작의 결합 동안 제어기(100)의 동작을 예시하는 타이밍도.
상세한 설명
도 2에서는 본 발명에 따른 1-사이클 메모리 액세스 회로(100)의 블럭이 도시되어 있다. 도 2에서 도시된 바와 같이, 메모리 액세스 회로(100)는 명령의 이동을 동기화시키는 파이프라인 진행 신호 PADV가 사전 정해진 논리 상태로 설정될 때 클럭 신호의 상승 엣기에서 파이프를 통해 명령을 진행시키는 파이프라인 마이크로프로세서(110)를 포함한다.
파이프라인 마이크로프로세서(110)는 차례로 실행 스테이지(120)를 포함하며, 이 스테이지는 스테이지로 진행된 명령을 랫치하여 실행한다.
본 발명에 따르면, 명령 INST가 실행 스테이지로 정보를 전달하거나 또는 실행 스테이지로부터 정보를 전달 받을 경우, 실행 스테이지(120)는 또한 내부 어드레스 IADD를 계산하는데, 이 어드레스는 다음 명령이 이 스테이지로 진행되기 전에 명령에 대응하는 메모리 위치를 식별한다.
동시에, 실행 스테이지(120)는 또한 내부 어드레스 IADD에 관련된 메모리 요청을 정의하는 일련의 내부 제어 신호 ICT의 논리 상태를 설정한다. 예를들어, 도 2의 실시예에서, 제어 신호 ICT는 요청이 메모리로 또는 I/O 장치로인지를 나타내는 메모리/IO 신호 M/IO#과, 요청이 데이타 또는 코드인지를 나타내는 데이타/코드 신호 DC#과, 두 바이트의 정보중 어느 것을 액세스해야 하는 지를 나타내는 바이트 하이 인에이블(byte high enable) 신호 BIIE#과, 파이프라인 메모리 액세스를 나타내는 파이프 모드 신호 pipeMD와, 요청이 판독인지 또는 기록인지를 나타내는 기록/판독 신호 W/R#을 포함한다.
도 2에서 도시된 바와 같이, 파이프라인 마이크로프로세서(110)는 또한 내부 어드레스 IADD를 랫치하여 메모리 어드레스 MA로서 출력하는 제1 기록 스테이지(130)를 포함하는데, 내부 어드레스 IADD가 이 스테이지로 진행되면 내부 제어 신호 ICT를 메모리 제어 신호 MC로서 출력한다. 또한, 제1 기록스테이지(130)는 유효 내부 메모리 어드레스가 랫치된 지연 시간 후에 메모리 어드레스 MA가 유효한지를 나타내는 메모리 어드레스 스트로브 ADS의 논리 상태를 로우로 한다.
메모리 어드레스 MA, 메모리 제어 신호 MC 및 어드레스 스트로브 ADS는 제1 기록 스테이지(130)에 의해 정보를 일련의 DRAM으로 또는 이것으로부터의 정보 전송을 제어하는 DRAM(140) 제어기와, 다른 외부 장치로 또는 이로부터의 정보 전송을 제어하는 버스 인터페이스 유닛(150)으로 출력된다.
메모리 어드레스 MA, 메모리 제어 신호 MC 및 어드레스 스트로브 ADS에 응답하여, DRAM 제어기(140)는 메모리 어드레스 어드레스 MA가 제어기(140)에 의해 제어된 메모리 어드레스 공간 내에 있는지를 판정하여, 그렇지 않으면, 부정 DRAM 신호 NDM을 소정의 논리 상태로 설정한다.
한편, 메모리 어드레스 MA가 DRAM 메모리 어드레스 공간 내에 있으며, 어드레스 스트로브 ADS의 논리 상태가 메모리 어드레스 MA가 유효한 것을 나타내면, DRAM 제어기(140)는 메모리 어드레스 MA에 의해 식별된 DRAM으로 또는 이것으로부터정보를 기록 또는 판독한다. 본 발명에 따르면, 후술될 바와 같이, 메모리 어드레스된 DRAM으로부터 정보를 출력할 때, 제어기(140)는 정보의 출력을 클럭 사이클 동안 준비 신호 RDY를 출력한다.
도 2에서 도시된 바와 같이, 마이크로프로세서(110)는 또한 어드레스 된 DRAM으로부터 출력된 정보를 랫치하여, 이 정보를 레지스터 파일로 전달한다. 본 발명에 따르면, 다음 명령이 어드레스된 DRAM으로부터 출력된 정보를 필요로 하면, 제2 기록 스테이지(160)는 또한 어드레스된 DRAM으로부터 정보를 수신하는 동일한 클럭 사이클 동안 실행 스테이지에서 연산 논리 장치(ALU)로 정보를 전달한다.
예를들어, DRAM에 기억된 정보를 제1 레지스터로 전달하는 이동 (move) 명령에 후속하여, 제1 레지스터에 기억된 정보와 제2 레지스터에 기억된 정보를 결합하는 가산(add) 명령이 이어지면, 제2 기록 스테이지(160)는 정보가 제2 레지스터의 내용과 결합될 수 있는 사이클과 동일한 클럭 사이클 동안 정보를 DRAM에서 ALU로 전달함으로써, 1-클럭 사이클이 절약된다.
마이크로프로세서(110)는 또한 파이프라인의 시퀀싱(sequencing)을 제어하는 전역 제어기(170)를 포함한다. 동작중, 전역 제어기(170)는 준비 신호 RDY를 포함하여 복수의 파이프라인 제어 신호가 사전 정해진 논리 상태로 설정될 때마다 파이프라인 진행 신호 PADV의 논리 상태를 변화시킨다.
도 3에서는 일련의 판독 동작 동안 제어기(100)의 동작을 예시하는 타이밍이 도시되어 있다. 도 3에서 도시되어 있는 바와 같이, 제1 DRAM 판독 명령은 파이프라인 진행 신호 PADV가 선언되면 실행 스테이지(120)에서 제1 프로세서 클럭 펄스 PCLK1의 상승 엣지에서 랫치된다.
제1 명령에 관련된 메모리 어드레스 ADD1이 일단 랫치되면, 이것은 제1 클럭 주기 동안 실행 스테이지(120)에서 계산되어 진다.
이것에 후속하여, 제2 DRAM 판독 명령은 파이프라인 진행 신호 PADV가 선언되면 실행 스테이지(120)에서 제2 프로세서 클럭 펄스 PCLK2의 상승 엣지에서 랫치되며, 어드레스 ADD1은 제1 기록 스테이지 (130)에서 메모리 어드레스 MA1로서 랫치된다. 또한, 제2 명령이 랫치되면, 제2 명령에 관련된 어드레스 ADD1가 제2 클럭 주기 동안 실행 스테이지(120)에서 계산되어 진다.
메모리 어드레스 MA1이 DRAM 어드레스 공간 내에 있으나, 메모리의 다른 페이지(page)에 있으면, DRAM 제어기(140)는 행(row) 어드레스 스트로브 RAS를 논리 하이로 구동시켜, 행 어드레스가 유효한지를 나타낸다. (제어기(140)는 또한 리프레쉬 사이클 및 여분의 RAS 로우 표시에 응답하여 행 어드레스 스트로브를 하이로 구동시킨다)
도 3에서 도시된 바와 같이, 행 어드레스 스트로브 RAS가 하이로 구동되어진 후에는, 약 1과 1/2 프로세서 클럭 사이클 동안 하이로 유지된다. (행 어드레스 스트로브 RAS가 하이로 유지되어야 하는 시간량은 DRAM 사양으로 정해진다.)
행 어드레스 스트로브 RAS가 일단 로우로 되면, 제어기(140)는 열(column) 어드레스 스트로브 CAS를 논리 로우로 구동시키는데 이것은 열 어드레스가 약 1 프로세서 클럭 사이클 후에 유효한 것을 표시한다. (행 어드레스 스트로브 RAS가 로우로 되어진 후에 열 어드레스 스트로브 CAS가 하이로 유지되어야 하는 시간량은 DRAM 사양으로 정해진다). 일단 열 어드레스 스트로브 CAS가 로우로 되면, DRAM으로부터 출력된 정보는 지연 시간후에 유효로 된다.
준비 신호 RDY는 차례로 메모리 어드레스 MA1에 관련된 정보가 다음 클럭 주기 동안 유효하게 되는 것을 제2 기록 스테이지(160) 및 전역 제어기(170)에게 표시한다.
또한, 전역 제어기(170)는 파이프라인 진행 신호 PADV의 논리 상태를 준비 신호 RDY에 응답하여 소정의 논리 상태로 설정함으로써, 파이프의 명령이 파이프의 다음 스테이지로 진행할 수 있는 것을 표시한다. 그 결과, 실행 스테이지(120)는 제4 클럭 펄스 PCLK4의 상승 엣지에서 제3 명령을 랫치하고, 한편, 제1 기록 스테이지(130)는 제2 내부 어드레스 IADD2를 메모리 어드레스 MA2로서 랫치한다. 또한, 제2 기록 스테이지(160)는 제어기(140)로부터 출력된 제1 메모리 어드레스 MA1에 관련된 정보를 DRAM 정보 IN1로서 랫치하여, 이 정보를 레지스터 파일중 하나로 전달한다. 상술된 바와 같이, 정보 IN1이 다음 명령에서 필요로 되면 제2 기록 스테이지(160)는 정보 IN1를 ALU로 전달한다.
따라서, 본 발명에 따르면, 초기 준비 신호 RDY를 공급함으로써, 즉, 준비 신호 RDY를 로우로 구동시킴으로써, 전역 제어기(170)는 메모리 어드레스된 DRAM으로부터 출력된 정보가 다음 클럭 사이클에서 이용가능하므로 파이프 1 사이클을 조기에 진행시킬 수 있다. 그러므로, 메모리 요청을 완료하기 위해 종래에서 필요로 되었던 많은 클럭 사이클에 상관없이, 본 발명은 요청을 1-클럭 사이클로 조기에 완료할 수 있다.
도 3을 참조해 보면, 제2 메모리 어드레스 MA2가 제2 메모리 어드레스 MA1와 동일한 메모리 페이지 내에 있으면, 열 어드레스 스트로브 CAS는 제4 프로세서 클럭 주기 PCLK4의 하강 엣지에 바로 앞서 다시 로우로 된다. 제2 메모리 어드레스 MA2에 관련된 정보는 제5 클럭 주기 동안 제2 기록 스테이지(160)에서 랫치되어진다.
따라서, 본 발명에 따르면, 각각의 메모리 어드레스가 최종 메모리 어드레스와 동일한 메모리 페이지에 관련되며, 행 어드레스가 유효인 상태이면, 어드레스가 출력된 1-클럭 사이클 후에 정보가 메모리로부터 판독된다.
외부 메모리로 정보를 기록하는 것에 대하여, 본 발명은 어드레스가 메모리의 동일한 페이지에 관련되며 행 어드레스가 유효한 상태이면, 관련된 메모리 어드레스가 제1 기록 스테이지(130)에서 출력되는 사이클과 동일한 클럭 사이클 동안 정보를 기록할 수 있다.
도 4에서는 일련의 기록 동작 동안 제어기(1000의 동작을 예시하는 타이밍을 도시하고 있다. 도 4에서 도시된 바와 같이, 열 어드레스 스트로브 CAS가 로우일 때 정보를 DRAM에 의해 랫치하는 것을 제외하고는 정보를 DRAM으로부터 판독하는 방식으로 정보를 DRMA에 기록한다.
도 5에서는 판독 및 기록 동작의 결합 동안 제어기(100)의 동작을 예시하는 타이밍을 도시하고 있다. 도 5에서 도시된 바와 같이, 판독 및 기록 요청은 사이클당 1 요청의 레이트(rate)로 발생할 수 있다.
또한, 데이타 버스 상에서의 충돌을 피하기 위해서는 판독과 기록 사이에 1-사이클 갭이 필요로 된다.
본 발명에 따르면, 실행 스테이지(120)로부터 출력된 메모리 요청을 파이프라이닝하는 것 이외에도, 회로(100)는 프리페치 스테이지로부터의 메모리 요청도 파이프라이닝할 수 있다. 메모리 요청이 프리페치 스테이지로부터 파이프라이닝되면, 제1 기록 스테이지(130)는 실행 스테이지로부터 출력된 어드레스 및 제어 신호, 또는 프리페치 스테이지로부터 출력된 어드레스 및 제어 신호를 통과시키는 멀티플렉서를 포함한다.
상술된 바와 같이, 준비 신호 RDY이외에 복수의 파이프라인 제어 신호를 전역 제어기(170)에서 사용하여 파이프의명령이 진행되어야 하는가를 판정한다. 파이프라인 제어 신호는 차례로 이중의 워드 및 오정렬된 신호를 포함한다.
도 2의 실시예에서는, 각 메모리 어드레스에는 2 바이트의 명령이 관련된다. 따라서, 이중 워드 신호는 2개 연속하는 메모리 위치에 관련된 정보가 요청되는지를 표시한다. 반면에, 오정렬된 바이트 신호는 정보 워드가 한 어드레스로부터 1 바이트를 다른 어드레스로부터 1 바이트를 포함할 때를 표시한다.
실행 스테이지 또는 프리페치 스테이지에서 이중 워드 또는 오정렬된 바이트 신호를 출력하면, 전역 제어기(170)는 제1 준비 신호를 무시하고, 제1 준비 신호에 응답하여 파이프를 진행시킨다.
여기에서 설립된 본 발명의 실시예는 여기에서 참조 문헌으로 사용된 명세서: "DISPLAY CONTROLLER CAPABLE OF ACCESSING AN EXTERNAL MEMORY FOR GRAY SCALE MODULATION DATA"(대리인 도킷 번호 NSCI-62700)란 제목의 미합중국 특허 출원 제 08/ : "SERIAL INTERFACE CAPABLE OF OPERATING IN TWO DIFFERENT SERIAL DATA TRANSFER MODES"(대리인 도킷 번호 NSCI-62800)란 제목의 미합중국 특허 출원 제 O8/ : "HICH PERFORMANCE MULTIFUNCTION DIRECT MEMORY ACCESS(DMA) CONTROLLER"(대리인 도킷 번호 NSCI-62900)란 제목의 미합중국 특허 출원 제 08/ :: "OPEN DRAIN MULTI-SOURCE CLOCK GENERATOR HAVING MINIMUM PULSE WIDTH"(대리인 도킷 번호 NSCI-63000)란 제목의 미합중국 특허 출원 제 08/ : "INTEGRATED CIRCUIT WITH MULTIPLE FUNCTIONS SHARING MULTIPLE INTERNAL SIGNAL BUSES ACCORDING TO DISTRIBUTED BUS ACCESS AND CONTROL ARBITRATON (대리인 도킷 번호 NSCI-63100)란 제목의 미합중국 특허 출원 제 08/ : "EXECUTION UNIT ARCHITECTURE TO SUPPORT x86 INSTRUCTION SET AND x86 SEGMENTED ADDRESSING"(대리인 도킷 번호 NSCI-63300)란 제목의 미합중국 특허 출원 제 08/ : "BARREL SHIFTER"(대리인 도킷 번호 NSCI-63400)란 제목의 미합중국 특허 출원 제 08/ : "BIT SEARCHING THROUGH 8, 16 OR 32-BIT OPERANDS USING A 32-BIT DATA PATH"(대리인 도킷 번호 NSCI-63500)란 제목의 미합중국 특허 출원 제 08/ : "DOUBLE PRECISION(64-BIT) SHIFT OPERATIONS USING A 32-BIT DATA PATH"(대리인 도킷 번호 NSCI-63600)란 제목의 미합중국 특허 출원 제 08/ : "METHOD FOR PERFORMING SIGNED DIVISION"(대리인 도킷 번호 NSCI-63700)란 제목의 미합중국 특허 출원 제 08/ : "METHOD FOR PERFORMING ROTATE THROUGH CARRY USING A 32-BIT BARREL SHIFTER AND COUNTER"(대리인 도킷 번호 NSCI-63800)란 제목의 미합중국 특허 출원 제 08/ : "AREA AND TIME EFFICIENT FIELD EXTRACTION CIRCUIT"(대리인 도킷 번호 NSCI-63900)란 제목의 미합중국 특허 출원 제 08/ : "NON-ARITHMETICAL CIRCULAR BUFFER CELL AVAILABILITY STATUS INDICATOR CIRCUIT"(대리인 도킷 번호 NSCI-64000)란 제목의 미합중국 특허 출원 제 08/ : "TAGGED PREFETCH AND INSTRUCTION DECODER FOR VARIABLE LENGTH INSTRUCTION SET AND METHOD OF OPERATION"(대리인 도킷 번호 NSCI-64100)란 제목의 미합중국 특허 출원 제 08/ : "PARTITIONED DECODER CIRCUIT FOR LOW POWER OPERATION"(대리인 도킷 번호 NSCI-64200)란 제목의 미합중국 특허 출원 제 08/ : "CIRCUIT FOR DESIGNATING INSTRUCTION POINTERS FOR USE BY A PROCESSOR DECODER"(대리인 도킷 번호 NSCI-64300)란 제목의 미합중국 특허 출원 제 08/ : "CIRCUIT FOR GENERATING A DEMAND-BASED GATED CLOCK"(대리인 도킷 번호 NSCI-64500)란 제목의 미합중국 특허 출원 제 08/ : "INCREMENTOR/DECREMENTOR"(대리인 도킷 번호 NSCI-64700)란 제목의 미합중국 특허 출원 제 08/ : "A PIPELINED MICROPROCESSOR THAT PIPELINES MEMORY REQUESTS TO AN EXTERNAL MEMORY"(대리인 도킷 번호 NSCI-64800)란 제목의 미합중국 특허 출원 제 08/ : "CODE BREAKPOINT DECODER"(대리인 도킷 번호 NSCI-64900)란 제목의 미합중국 특허 출원 제 08/ : "TWO TIER PREFETCH BUFFER STRUCTURE AND METHOD WITH BYPASS"(대리인 도킷 번호 NSCI-65000)란 제목의 미합중국 특허 출원 제 08/ : "INSTRUCTION LIMIT CHECK FOR MICROPROCESSOR"(대리인 도킷 번호 NSCI-65100)란 제목의 미합중국 특허 출원 제 08/ : "A PIPELINED MICROPROCESSOR THAT MAKES MEMORY REQUESTS TO A CACHE MEMORY AND AN EXTERNAL MEMORY CONTROLLER DURING THE SAME CLOCK CYCLE"(대리인 도킷 번호 NSCI-65200)란 제목의 미합중국 특허 출원 제 08/ : "APPARATUS AND METHOD FOR EFFICIENT COMPUTATION OF A 486TMMICROPROCESSOR COMPATIBLE POP INSTRUCTION"(대리인 도킷 번호 NSCI-65700)란 제목의 미합중국 특허 출원 제 08/ : "APPARATUS AND METHOD FOR EFFICIENTLY DETERMINIMG ADDRESSES FOR MISALINGED DATA STORED IN MEMORY"(대리인 도킷 번호 NSCI-65800)란 제목의 미합중국 특허 출원 제 08/: "METHOD OF IMPLEMENTING FAST 486TMMICROPROCESSOR COMPATIBLE STRING OPERATION"(대리인 도킷 번호 NSCI-65900)란 제목의 미합중국 특허 출원 제 08/ : "A PIPELINED MICROPROCESSOR THAT PREVENTS THE CACHE FROM BEING READ WHEN THE CONTENTS OF THE CACHE ARE INVALID"(대리인 도킷 번호 NSCI-66000)란 제목의 미합중국 특허 출원 제 08/ : "DRAM CONTROLLER THAT REDUCES THE TIME REQUIRED TO PROCESS MEMORY REQUESTS"(대리인 도킷 번호 NSCI-66300)란 제목의 미합중국 특허 출원 제 08/ : "INTEGRATED PRIMARY BUS AND SECONDARY BUS CONTROLLER WITH REQUCED PIN COUNT"(대리인 도킷 번호 NSCI-66400)란 제목의 미합중국 특허 출원 제 08/ : "SUPPLY AND INTERFACE CONFIGURABLE INPUT/OUTPUT BUFFER"(대리인 도킷 번호 NSCI-66500)란 제목의 미합중국 특허 출원 제 08/ : "CLOCK GENERATION CIRCUIT FOR A DISPLAY CONTROLLER HAVING A FINE TUNEABLE FRAME RATE"(대리인 도킷 번호 NSCI-66600)란 제목의 미합중국 특허 출원 제 08/ : "CONFIGURABLE POWER MANAGEMENT SCHEME"(대리인 도킷 번호 NSCI-67000)란 제목의 미합중국 특허 출원 제08/ : "BIDIRECTIONAL PARALLEL SIGNAL INTERFACE"(대리인 도킷 번호 NSCI-66700)란 제목의 미합중국 특허 출원 제 08/ : "LIQUID CRYSTAL DISPLAY(LCD) PROTECTION CIRCUIT"(대리인 도킷 번호 NSCI-67100)란 제목의 미합중국 특허 출원 제 08/ : "IN-CIRCUIT EMULATOR STATUS INDICATOR CIRCUIT"(대리인 도킷 번호 NSCI-67400)란 제목의 미합중국 특허 출원 제 08/ : "DISPLAY CONTROLLER CAPABLE OF ACCESSING GRAPHICS DATA FROM A SHARED SYSTEM MEMORY"(대리인 도킷 번호 NSCI-67500)란 제목의 미합중국 특허 출원 제 08/ : "INTEGRATD CIRCUIT WITH TEST SIGNAL BUSES AND TEST CONTROL CIRCUITS"(대리인 도킷 번호 NSCI-67600)란 제목의 미합중국 특허 출원 제 08/ : DECODE BLOCK TEST METHOD AND APPARATUS""(대리인 도킷 번호 NSCI-68000)란 제목의 미합중국 특허 출원 제 08/ :인 계류중인 일반 양도된 특허 출원에 설명된 다수의 추가 기능 및 특징을 포함하는 집적 회로에서 구현되어 왔다.
본 발명은 상기 실시예에만 한정되는 것이 아니므로, 여러 변형 실시예가 가능하다는 것을 본 기술 분야의 숙련자들은 인식할 수 있을 것이다. 따라서, 본 발명은 본 발명의 사상 및 범주 내에서는 여러 실시예를 실현할 수 있으며, 다음의 청구 범위에 기초하여 해석되어져야 한다.

Claims (1)

  1. 외부 메모리로의 메모리 요청을 파이프라이닝하기 위한 1-사이클 메모리 액세스 회로에 있어서,
    파이프라인 프로세서를 포함하되, 상기 파이프라인 프로세서는
    제1 클럭 주기 동안의 어느 한 시점에서 파이프라인 진행 신호가 사전 정해진 논리 상태로 설정되고 복수의 제1 제어 신호가 사전 정해진 논리 상태로 설정되면 정보를 외부 메모리로 전송하거나, 또는 외부 메모리로부터 정보를 수신하는 명령에 응답하여 내부 어드레스를 형성하고 출력시키는 실행 스테이지와,
    상기 파이프라인 진행 신호가 제2 클럭 주기 동안의 어느 한 시점에서 상기 사전 정해진 논리 상태로 설정되면 상기 실행 스테이지로부터 출력된 상기 내부 어드레스를 랫치하여 출력시키는 제1 기록 스테이지와,
    준비 신호가 상기 제2 클럭 주기 동안 사전 정해진 논리 상태로 설정되면 제3 클럭 사이클 동안 데이타 버스로부터 정보를 랫치하여 입력시키는 제2 기록 스테이지와,
    복수의 제2 제어 신호가 사전 정해진 논리 상태로 설정되면 상기 준비 신호의 논리 상태에 응답하여 상기 파이프라인 진행 신호의 논리 상태를 변화시키는 전역 제어기와,
    다이나믹 랜덤 액세스 메모리(DRAM) 제어기를 포함하며, 상기 다이나믹 랜덤 액세스 메모리(DRAM) 제어기는 상기 메모리 어드레스가 상기 DRMA 제어기에 의해 제어된 어드레스 공간 내에 있으며, 상기 메모리 어드레스는 최종 메모리 어드레스와 동일한 메모리의 페이지 내에 있으며, 행 어드레스 스트로브가 상기 최종 메모리 어드레스의 행 어드레스가 유효한 상태인 것을 나타내면, 상기 제2 클럭 주기 동안 DRAM으로부터 나온 상기 메모리 어드레스에 관련된 정보를 요청하며, 상기 제2 클럭 주기 동안 상기 DRAM으로부터 출력된 상기 메모리 어드레스에 관련된 정보를 포착하여, 상기 제3 클럭 주기 동안 상기 데이타 버스 상으로 상기 정보를 출력하는 것을 특징으로 하는 1-사이클 메모리 액세스 회로.
KR1019970700561A 1995-05-26 1996-05-23 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서 KR100386638B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/451,150 US5752269A (en) 1995-05-26 1995-05-26 Pipelined microprocessor that pipelines memory requests to an external memory
US08/451,150 1995-05-26

Publications (2)

Publication Number Publication Date
KR970705080A KR970705080A (ko) 1997-09-06
KR100386638B1 true KR100386638B1 (ko) 2003-08-19

Family

ID=23791017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970700561A KR100386638B1 (ko) 1995-05-26 1996-05-23 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서

Country Status (5)

Country Link
US (1) US5752269A (ko)
EP (1) EP0772822B1 (ko)
KR (1) KR100386638B1 (ko)
DE (1) DE69618430T2 (ko)
WO (1) WO1996037830A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882414B1 (ko) * 2006-04-13 2009-02-05 산요덴키가부시키가이샤 메모리 액세스 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804760B2 (en) * 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5610864A (en) 1994-12-23 1997-03-11 Micron Technology, Inc. Burst EDO memory device with maximized write cycle timing
US5526320A (en) 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US6525971B2 (en) * 1995-06-30 2003-02-25 Micron Technology, Inc. Distributed write data drivers for burst access memories
JPH09161471A (ja) * 1995-12-06 1997-06-20 Internatl Business Mach Corp <Ibm> Dramシステム、dramシステムの動作方法
US7681005B1 (en) * 1996-01-11 2010-03-16 Micron Technology, Inc. Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
US6981126B1 (en) * 1996-07-03 2005-12-27 Micron Technology, Inc. Continuous interleave burst access
US6401186B1 (en) 1996-07-03 2002-06-04 Micron Technology, Inc. Continuous burst memory which anticipates a next requested start address
US7103742B1 (en) * 1997-12-03 2006-09-05 Micron Technology, Inc. Burst/pipelined edo memory device
US6112294A (en) * 1998-07-09 2000-08-29 Advanced Micro Devices, Inc. Concurrent execution of multiple instructions in cyclic counter based logic component operation stages
SE512773C2 (sv) 1998-10-28 2000-05-08 Imsys Ab Metod och anordning för kontroll/access av DRAM-minnen
US6427191B1 (en) * 1998-12-31 2002-07-30 Intel Corporation High performance fully dual-ported, pipelined cache design
US6542159B1 (en) * 1999-05-19 2003-04-01 Ati International S.R.L. Apparatus to control memory accesses in a video system and method thereof
US6469703B1 (en) 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US7233598B2 (en) * 2002-03-05 2007-06-19 Hewlett-Packard Development Company, L.P. System and method for speculatively issuing memory requests while maintaining a specified packet order
US7073026B2 (en) * 2002-11-26 2006-07-04 Advanced Micro Devices, Inc. Microprocessor including cache memory supporting multiple accesses per cycle
WO2004099995A2 (en) * 2003-05-09 2004-11-18 Koninklijke Philips Electronics N.V. Hierarchical memory access via pipelining
US7111153B2 (en) * 2003-09-30 2006-09-19 Intel Corporation Early data return indication mechanism

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950701099A (ko) * 1992-03-25 1995-02-20 파이프라인 프로세서를 이용한 고속 명령어 디코딩(fast instruction decoding in a pipeline processor)
US5408626A (en) * 1989-08-04 1995-04-18 Intel Corporation One clock address pipelining in segmentation unit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335336A (en) * 1988-03-28 1994-08-02 Hitachi, Ltd. Memory device having refresh mode returning previous page address for resumed page mode
JPH077356B2 (ja) * 1989-05-19 1995-01-30 株式会社東芝 パイプライン方式のマイクロプロセッサ
US5259006A (en) * 1990-04-18 1993-11-02 Quickturn Systems, Incorporated Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like
US5239639A (en) * 1990-11-09 1993-08-24 Intel Corporation Efficient memory controller with an independent clock
US5189319A (en) * 1991-10-10 1993-02-23 Intel Corporation Power reducing buffer/latch circuit
US5254888A (en) * 1992-03-27 1993-10-19 Picopower Technology Inc. Switchable clock circuit for microprocessors to thereby save power
US5469544A (en) * 1992-11-09 1995-11-21 Intel Corporation Central processing unit address pipelining
US5553270A (en) * 1993-09-01 1996-09-03 Digital Equipment Corporation Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay
US5404473A (en) * 1994-03-01 1995-04-04 Intel Corporation Apparatus and method for handling string operations in a pipelined processor
US5502835A (en) * 1994-08-31 1996-03-26 Motorola, Inc. Method for synchronously accessing memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408626A (en) * 1989-08-04 1995-04-18 Intel Corporation One clock address pipelining in segmentation unit
KR950701099A (ko) * 1992-03-25 1995-02-20 파이프라인 프로세서를 이용한 고속 명령어 디코딩(fast instruction decoding in a pipeline processor)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882414B1 (ko) * 2006-04-13 2009-02-05 산요덴키가부시키가이샤 메모리 액세스 장치

Also Published As

Publication number Publication date
KR970705080A (ko) 1997-09-06
DE69618430T2 (de) 2002-09-26
EP0772822B1 (en) 2002-01-09
DE69618430D1 (de) 2002-02-14
EP0772822A1 (en) 1997-05-14
US5752269A (en) 1998-05-12
WO1996037830A1 (en) 1996-11-28

Similar Documents

Publication Publication Date Title
KR100386638B1 (ko) 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서
US5857094A (en) In-circuit emulator for emulating native clustruction execution of a microprocessor
US5953512A (en) Microprocessor circuits, systems, and methods implementing a loop and/or stride predicting load target buffer
US5375216A (en) Apparatus and method for optimizing performance of a cache memory in a data processing system
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US4926323A (en) Streamlined instruction processor
US5027270A (en) Processor controlled interface with instruction streaming
US4802085A (en) Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
US5469544A (en) Central processing unit address pipelining
US5263153A (en) Monitoring control flow in a microprocessor
US5752273A (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
KR100351527B1 (ko) 코드브레이크포인트디코더
JPH08221272A (ja) 命令キャッシュに命令をロードする方法
JPS63193246A (ja) 集積キャッシュ・メモリと外部メモリの間の一貫性を保つ方法と装置
JPS63193239A (ja) 命令順序監視装置と方法
US5911151A (en) Optimizing block-sized operand movement utilizing standard instructions
WO1996037844A1 (en) A pipelined microprocessor that makes memory requests to a cache memory and an external memory controller during the same clock cycle
EP0775347A2 (en) Integrated primary bus and secondary bus controller with reduced pin count
US5363490A (en) Apparatus for and method of conditionally aborting an instruction within a pipelined architecture
US5659712A (en) Pipelined microprocessor that prevents the cache from being read when the contents of the cache are invalid
EP0488566A2 (en) Method and apparatus for fast page mode selection
JPH08263371A (ja) キャッシュにおいてコピーバック・アドレスを生成する装置および方法
US5649147A (en) Circuit for designating instruction pointers for use by a processor decoder
JP3299663B2 (ja) 演算装置

Legal Events

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

Payment date: 20080522

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee