KR960001945B1 - 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치 - Google Patents

우선변환참조버퍼에서 적중수를 증가시키기 위한 장치 Download PDF

Info

Publication number
KR960001945B1
KR960001945B1 KR1019910023785A KR910023785A KR960001945B1 KR 960001945 B1 KR960001945 B1 KR 960001945B1 KR 1019910023785 A KR1019910023785 A KR 1019910023785A KR 910023785 A KR910023785 A KR 910023785A KR 960001945 B1 KR960001945 B1 KR 960001945B1
Authority
KR
South Korea
Prior art keywords
address
virtual
storing
sources
main cache
Prior art date
Application number
KR1019910023785A
Other languages
English (en)
Other versions
KR920013135A (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 KR920013135A publication Critical patent/KR920013135A/ko
Application granted granted Critical
Publication of KR960001945B1 publication Critical patent/KR960001945B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

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

Abstract

내용 없음.

Description

우선변환참조버퍼에서 적중수를 증가시키기 위한 장치
제1도는 본 발명에 따라 설계된 우선변환참조버퍼의 블록도.
[발명의 배경]
[1. 발명의 분야]
본 발명은 컴퓨터 메모리 운용장치, 특히 메모리운용장치의 우선변환참조버퍼부에서의 적중수 발생을 증가시키기 위한 장치에 관한 것이다.
[2. 선행기술의 연혁]
가상 메모리시스템은 주 메모리가 사실상 다소 적은 메모리공간으로 구성된다 하더라도 마치 모든 메모리가 컴퓨터 시스템의 주 메모리인 것처럼, 매우 큰 메모리를 번지 지정하도록 하는 시스템이다.
예를들면, 64메가바이트의 메모리가 가상 메모리번지 지정시스템을 사용하여 번지 지정할 수 있을 때, 주 메모리는 1메가바이트의 임의 액세스 메모리로 구성된다.
가상 메모리 시스템은 가상 메모리번지를 실제 메모리번지로 변환하는 메모리운용장치를 제공함으로써 이러한 업적을 달성한다.
특정 실제번지는 주 메모리 또는 장기(long-term) 기억장소에 존재 가능한다.
만약 구해진 정보의 실제 주소가 주 메모리에 존재한다면 그 정보는 컴퓨터에 의해서 액세스 및 이용된다.
한편 그 실제 주소가 장기 기억장소에 존재한다면 상기 정보는 주 메모리로 전송되어 이용될 수 있다.
기본 메모리 운용장치는 주 메모리에 기억된 조사 테이블을 이용한다. 메모리 운용장치에 제공된 여하간의 가상번지도 액세스를 목적으로 실제번지를 결정하기 위해 이러한 테이블들에 기억된 값들과 비교된다. 때때로, 테이블들에 몇몇 수준이 있어서, 비교에 상당한 시스템 클록시간이 걸린다.
가상 메모리시스템은 가끔 이 지연을 극복하기 위해 최근에 사용된 데이터 및 지시의 기억을 목적으로 매우 빠른 소자를 사용한 캐쉬 메모리를 보유한다. 이러한 캐쉬 메모리는 통상 가상 메모리시스템이 프로세서에 신속히 액세스할 수 있게 할 목적으로 연결된다.
이러한 캐쉬는 정보를 얻기 위해 주 메모리로 가기이전 프로세서에 의해서 검토된다. 이러한 캐쉬 이론은 가장 최근에 사용된 정보는 다른 정보가 소용되는 때가되기 이전에 다시 소용될 것이라는 이론이다.
이 이론은 유효해서 캐쉬 메모리를 사용하는 많은 시스템은 90% 이상의 적중률을 갖는다.
이들 캐쉬 메모리는 또한 그들이 보유하고 있는 정보를 얻기 위해 번지 지정되어야 한다. 이러한 캐쉬가 실제번지를 사용하여 번지 지정된다면, 캐쉬가 액세스되기전에 번지가 우선 변화되어야 한다.
페이지 조사테이블을 거치지 않고 이를 달성하기 위해 전형의 메모리 운용장치는 우선변환참조버퍼(TLB)를 관련된 실제 페이지번지와 함께 최근 액세스되었던 캐쉬 가상 페이지번지에 사용한다.
캐쉬가 데이터 및 지시를 갖고서 동작하는 것과 동일한 원리로 작동하는 번지 캐쉬처럼 가장 최근에 사용된 번지들은 그렇지 않은 번지들보다 더 사용될 것이다.
가상번지가 제공될 때, 가상번지는 정보에 대해 실제번지를 제공하는 우선변환참조버퍼를 보유한다.
만약 실제번지가 관련 캐쉬에 있다면 주 메모리의 페이지 조사 테이블을 참고하는 시간이 소비되는 프로세스를 통할 필요가 없이 프로세서에 대해 즉시 이용할 수 있다.
만일 프로세서가 가상번지를 우선변환참조버퍼로 송신할 때, 상기 번지가 우선변환참조버퍼에 포함되지 않는다면 메모리 운용장치는 주 메모리의 조사 테이블을 사용하여 실제번지를 복구해야 한다.
실제번지가 복구되었을 때 우선변환참조버퍼의 가상번지와 함께 기억되어서 다음번에는 즉시 이용될 수 있어야 한다.
상기 정보가 복구되었을 때, 그것은 실제번지로 캐쉬에 기억된다.
이는 1 또는 2클록 싸이클만을 요구하는 캐쉬 및 우선변환참조버퍼를 사용하여 정보를 액세스하는 동안 페이지 테이블의 전형적 조사가 각 수준의 탐색으로 10으로부터 15클록 싸이클까지 취할 수 있기 때문에 그 다음의 정보사용때 많은 시간을 절약한다.
본 발명의 양수인에게 양도되고, 현재 계류중인「우선변환참조버퍼」라는 제목의 미국 특허출원은 데이터 및 지시에 대해 개별 캐쉬를 제공하는 매우 빠른 RISC 컴퓨터 시스템에 대해서 우선변환참조버퍼를 기술한다.
전형적인 종래 기술 컴퓨터 시스템에서 이렇게 상이한 가상 주소들은 개별하드웨어 자원에 의해 변환될 것이다.
기술되는 우선변환참조버퍼는 데이터, 지시 및 입/출력 동작에 대한 가상 및 실제번지를 기억한다.
그러한 우선변환참조버퍼는 극소량의 하드웨어를 장착한 시스템에 의해서 사용될 수 있는 모든 가상번지가 매우 신속히 변환되도록 한다.
그러한 시스템은 대부분의 하드웨어가 단입 칩으로 내재하는 시스템에서 사용되기에 아주 적합하다.
단일 우선변환참조버퍼를 통하여 데이터, 지시 및 입/출력번지를 처리하고 지시 및 데이터 캐쉬에 대해 실제번지 지정을 사용하는 시스템에서 한가지 문제가 발생한 이유는 데이터, 지시 및 입/출력동작에 대한 번지들이 모두 동시에 우선변환참조버퍼에 대해서 경쟁 가능하다는 사실 때문이다.
이 문제가 발생할 때, 시스템은 변환을 위해 어떻게든 모든 번지를 제공해야 한다.
만약 변환이 연속적으로 발생된다면 현저한 지연이 발생한다.
오버플로우를 조절하기 위해 개별 우선변환참조버퍼를 준비함으로써 전기(前記)의 발명에서 배제를 위해 설계된 많은 하드웨어를 가산한다.
우선변환참조버퍼의 동작을 고속으로 하거나 지시를 우선 추출하는 것과 같은 다른 가능성들은 기타 바람직하지 못한 수준의 복잡화를 야기한다.
[발명의 요약]
따라서 본 발명의 제1목적은 동시에 정보를 제공할 수 있는 두 개의 개개 소오스로부터 정보를 조절하기 위해 사용된 변환회로의 동작을 고속으로 하기 위한 장치를 제공하는 것이다.
본 발명의 제2목적은 개개 데이터 및 지시캐쉬를 갖는 프로세서에 대해 단일번지 캐쉬처럼 사용된 우선 변환참조버퍼의 작동속도를 증가시키는 것이다.
본 발명의 제3목적은 개개 데이터 및 지시캐쉬를 갖고 또한 하드웨어를 현저하게 증가시키지 않고, 입/출력번지를 기억하는 프로세서에 대해 단일번지 캐쉬로 사용된 우선변환참조버퍼의 동작속도를 증가시키는 것이다.
본 발명의 상기 등의 목적은 다수의 소오스 전부로부터 다수의 개개 가상번지 및 관련 실제번지를 기억하기 위한 주캐쉬; 주캐쉬에서 참조된 다수의 소오스중 하나로부터 가상번지 및 관련 실제번지를 매시간 아주 빈번히 발생시키는 다수의 소오스중 하나로부터 단일 가상번지 및 관련 실제번지를 기억하기 위한 수단; 및 단일 가상번지 및 관련 실제번지를 기억하기 위한 수단에 보유된 가상번지가, 시도(attempt)가 다수의 소오스중 하나로부터의 가상번지 및 다수의 소오스중 그외의 것에 대해서 주캐쉬를 동시에 액세스하도록 만들어질 때 구해진 가상번지인가의 여부를 확인하기 위한 수단으로 구성되어, 실제번지가 신속히 액세스될 수 있어야 하고, 가상번지가 실제번지로 변환되기를 요구하는 두 소오스로부터 동시에 나타날 수 있는 관련 실제번지와 함께 다수의 소오스로부터 가상번지를 캐슁하기 위한 우선변환참조버퍼에서 구현된다.
본 발명의 상기 등의 목적 및 특징은 동일 요소가 도면을 통해 동일 명칭으로서 언급되며, 이하 도면과 함께 첨부된 상세한 설명을 참조함으로써 더욱 잘 이해될 것이다.
[주석 및 명명법]
상세한 설명의 일부는 컴퓨터 내부의 데이터비트의 동작에 관해서 알고리즘 및 부호표현식으로 이하에 나타나 있다.
이러한 알고리즘식 설명 및 표현은 그들의 작업내용을 당업자에게 가장 효과적으로 전달하도록 데이터처리기술분야의 전문가에 의해 사용된 수단이다. 여기에서 알고리즘은 일반적으로 자기 모순없는 순서로서 바라는 결과로 인도하는 단계라고 생각된다.
그 단계는 실제의 량으로 실질적으로 조작을 하도록 요구하는 것이다.
통상의 꼭 그렇지는 않지만, 이런 량은 저장, 전송, 조합, 비교 및 그외 조작가능한 전기 및 자기적 신호의 형태를 취한다.
비트, 값, 요소, 부호, 문자, 용어, 수 등처럼 이런 신호를 언급하는 것은 주로 일반용법 때문에 때때로 편리함이 증명된다.
그러나, 이러한 및 유사한 용어들 모두는 적절한 실제량과 관련되어 있고, 이러한 량들에 적용된 단지 편리한 레이블일 뿐이라는 사실을 명심해야 한다.
더욱이, 수행된 조작은 가산 또는 비교와 같은 용어로 가끔 언급되며, 통상 인간 조작자에 의해 수행된 암산과 관련되어 있다.
인간 조작자의 그러한 능력은 본 발명의 일부분을 형성하는 여기 기술된 여하간의 동작에 있어서도 대부분의 경우에 불필요하던가 바람직하지 못하다; 즉 여기서 동작은 기계동작이다.
모든 경우, 컴퓨터의 운영에 있어서, 동작방법 및 계산방법간의 차이를 명심해야 한다. 본 발명은 기타 바라는 실제 신호를 발생시키기 위해 전기적 또는 기타(예를들면 기계적, 화학적) 실제 신호를 처리함에 있어서 컴퓨터의 운영 장치에 관한 것이다.
이제 제1도에 따르면, 상기 기술된 특허출원에 따라 설계된 우선변환참조버퍼(10)가 설명되어 있다.
우선변환참조버퍼(10)는 가상번지 및 관련번지의 비교적 큰 단일 캐쉬이다.
우선변환참조버퍼(10)는 데이터 캐쉬 및 지시 캐쉬 모두를 보유하고 동시에 양쪽 모두를 인용한 축소 지시 셀 컴퓨터(RISC) 시스템에 이용된다.
우선변환참조버퍼(10)는 단지 상기 시스템의 그러한 버퍼일 뿐이어서, 데이터 및 지시 모두에 대한 번지를 기억한다.
더욱이 시스템의 하드웨어 복잡화를 감소하고, 동작속도를 증가시키기 위해 이 동일 우선변환참조버퍼는 입/출력동작을 위해 사용된 번지를 기억한다. 단일 우선변환참조버퍼가 이런 번지 모두를 변환하기 때문에 번지변환의 전체적 속도는 실제로 증가되며; 변환을 위해 이용된 영역은 실제로 감소된다. 그러나 이 특정장치는 그 밖에는 변환동작을 느리게 할지도 모르는 문제를 발생시킨다.
RICS 장치에서 전형적으로 지시는 매싸이클마다 액세스되어서, 사실상 지시의 흐름이 존재하게 된다.
이러한 지시를 제공하기 위해서 지시번지의 흐름이 필요하다.
동시에 약 25%의 지시(일반적으로 지시를 적재 및 기억함)는 메모리로부터 데이터를 요구하거나, 메모리로 데이터를 기억한다.
물론, 이들은 데이터번지를 통해서 액세스된다.
또한 우선변환참조버퍼가 설계되기 위한 시스템에 있어서, 10번의 지시번지변환 모두에 대해 요구된 대략 1번의 입/출력번지변환이 존재한다.
이 특정 장치에 있어서, 지시번지변환은 최저의 우선순위를 갖고, 데이터번지변환은 그 다음 우선 순위를 갖으며, 입/출력번지변환은 최고 우선 순위를 갖는다. 우선변환참조버퍼가 데이터 또는 입/출력번지변환을 조절하면서 구속될 때, 지시번지변환은 지연되고, 다음 이용가능 싸이클 때 우선변환참조버퍼로 변경되어야 한다. RISC 컴퓨터에 있어서, 지시번지가 각 클럭싸이클 동안 변환되도록 기대되기 때문에, 이는 상대적인 실제량에 의해 시스템의 동작을 느리게 하여 전체적으로 다른 주소의 변환으로부터의 간섭이 시간의 약 1/3 동안 발생한다.
이 문제를 없애기 위해, 본 발명은 우선변환참조버퍼의 단일행을 기억하는 단일 레지스터(지시 변환버퍼 레지스터로 명명)를 제공한다.
각 지시번지변환에 대한 관련실제번지 및 가상번지에 위치한 레지스터는 우선변환참조버퍼에 의해 달성된다.
우선변환참조버퍼가 데이터번지의 변환에 의해 구속되고, 지시번지변환조절에 사용될 수 없다면, 지시번지는 레지스터 및 관련로직에 의한 변환용 레지스터로 표현된다.
지시변환버퍼레지스터는 변환된 최종 지시의 실제 페이지번호를 포함한다. 프로그램(동페이지로부터 오기쉽다)에서 지시의 집약성 때문에 구해진 가상번지의 고위비트가 레지스터의 내 고위가상비트와 일치함으로써, 새로운 가상번지는 최종지시와 매우 일치한 것이다.
실제로, 지시변환레지스터는 90% 이상의 시간이 요구된 실제번지를 보유하기 위해 획득되어져 있다.
결과적으로 지시번지 및 데이터번지는 병렬로 변환될 수 있어, 장치의 동작속도가 유지된다.
제1도에 기술된 우선변환참조버퍼(10)에서 시스템에 의해 구해진 가상번지는 입력라인 14, 15 또는 16의 3셀중의 하나에서 표현된다.
라인(14)상에 표현된 번지는 컴퓨터 시스템의 입/출력회로에 의해 제공된다. 라인(15)상에 표현된 번지는 컴퓨터 시스템의 정수 프로세서에 의해 제공된 지시번지이다. 라인(16)상에 표현된 번지는 컴퓨터 시스템의 정수 프로세서에 의해 제공된 데이터번지이다.
각 경우에서 구해진 가상번지의 최고위 20비트는 내부에 기억된 번지와 비교하기 위해 부(12)에 제공된다.
특정 가상번지는 구해진 특정 유형의 정보를 나타내는 제어신호에 응하여 멀티플랙서(18)에 의해 가상태그영역으로 제공된다
예를들면, 정수프로세서의 지시는 입/출력회로가 구해진 정보의 목적이 입/출력일 때, 데이터 또는 지시로서 구해진 정보를 나타낸다.
동시에 멀티플렉서(18), 멀티플렉서(20)으로 표현된 가상번지의 상위 비트처럼 6문맥 태그비트위치의 값과 비교된 문맥태그를 제공한다.
문맥태그는 문맥레지스터(19)로부터 제공되고 메모리운동 소프트웨어에 의해 기록된 값이다. 데이터번지 및 지시번지 모두에 대해 가상번지 태그 및 문맥태그 모두는 우선변환참조버퍼(10)에서 적중되기 위해 구해진 비트를 매치시켜야 한다. 상기 문맥태그는 시스템이 상이한 소프트웨어 프로그램으로 다수의 상이한 페이지 테이블 그룹 사이에서 선택되도록 한다.
시스템상에서 실행하는 어떠한 특정 프로그램에 대해서도 문맥태그는 그 프로그램을 통해 변하지 않는다. 본 발명의 목적을 달성하기 위해서 문맥태그는 추가번지비트로 생각될 수 있다.
가상번지비트 및 문맥비트가 부(12)의 가상태그 및 문맥필드에 기억된 비트를 매치시킬 때(그리고 임의의 다른 비트를 매치시킨 바람직한 실시예로 가정하면), 실제번지의 상위 비트가 출력으로 제공된다.
각 실제번지의 이러한 상위 비트는 전에는 그들이 변환됨으로 인해 가상번지로서 동일 행으로 우선변환참조버퍼(10)의 부(22)에 기억되어져 왔다.
이러한 상위 비트는 실제 페이지번지를 제공하여, 실제번지가 얻어질 수 있다. 가상번지 및 실제번지의 하위 비트는 동일하며, 특정 페이지내부의 바이트번지를 나타낸다.
따라서, 가상번지의 하위 비트는 완전한 실제번지를 제공하기 위해 실제 페이지번지와 결합된다.
제1도에서 알 수 있듯이, 우선변환참조버퍼(10)의 멀티플렉서(18 및 20)와 부(12 및 22)가 하나의 가상번지를 실제번지로 변환하기 위해 사용될 때, 그들은 제1변환이 달성되었을 때까지 기타 가상번지를 변환하기 위해 사용될 수 없다. 만약 변환이 우선변환참조버퍼(10)에서 발생한다면, 단일 클럭 싸이클의 시간손실이 발생할 수 있다.
반면에 페이지 조사테이블을 통한 변환이 요구된다면, 시간 손실은 더 커질 수 있다. 입/출력 및 데이터 번지변환이 우선변환참조버퍼(10)에서 우선 순위를 갖기 때문에 데이터 및 입/출력번지변환과 동시에 발생한 각 지시번지변환은 본 발명이 없을 경우 지연될 수 밖에 없을 것이다.
주소변환의 동시 발생으로 인해 야기된 지연을 없애기 위해, 지시변환버퍼의 레지스터(30)가 제공된다.
레지스터(30)는 우선변환참조버퍼(10)의 행으로부터 적절한 정보를 기억하기에 충분한 비트 위치수를 포함한다.
우선변환참조버퍼(10)를 통한 모든 지시번지변환에 있어서, 레지스터(30)는 가상지시번지와 가상지시번지가 발생하는 변환처럼 우선변환참조버퍼(10)의 부(12 및 22)로부터 가상지시번지의 관련 실제 페이지번지를 수신한다. 번지에 있어서 가상태그부의 비트는 번지에 있어서, 실제 페이지번지부의 비트가 일련의 콘덕터(34)를 통해서 부(22)에 의해 제공될 때 일련의 콘덕터(32)를 통해서 부(12)에 의해 제공된다.
이때, 이 정보는 그 다음의 가상지시번지가 변환을 위해 나타날 경우 레지스터(30)에 존재한다.
그 다음의 가상지시번지가 변환을 위해 나타날 때, 상기 가상지시번지는 그 위치가 자유로운한 우선변환참조버퍼(10)의 주 캐쉬부(12 및 22)에서 변환된다. 이렇게 흔히 발생되는 상황에 있어서, 새 가상지시번지 및 관련 실제 페이지번지는 레지스터(30)에 위치한다.
그러나, 가상지시가 다른 번지변환이 우선순위를 갖고 있음으로 인해 우선변환참조버퍼(10)의 주 캐쉬에서 변환될 수 없을 때, 변환하기 위해 경쟁하는 라인(15)상의 가상지시번지는 비교기(36)으로 전송된다.
비교기(36)는 구해진 정보의 가상주소를 레지스터(30)에 기억된 최종 가상지시번지와 비교한다.
가상번지의 상위 비트(페이지 테이블의 특정 페이지로 변환함)만이 비교를 위해 요구되고, 지시가 메모리에서 서로에 매우 가깝게 나타나기 쉬우므로, 본 발명은 최종지시의 경우처럼 동일한 페이지번지를 갖게 될 것 같다.
만약 그러하다면 적중은 비교기(36)에 의해서 신호된다.
적중이 발생할 때 세 개의 멀티플렉서(38, 39 및 40)중 하나 이상의 사용을 위해 실제 페이지번지의 프로세서의 전송을 일으킨다.
번지를 전송하기 위해 선택된 멀티플렉서(38, 39 및 40)의 특정한 조합은 변환된 페이지의 크기에 의존하고, 본 발명이 관련되는 한 중요하지 않다.
이런 방법으로 지시번지와 데이터 또는 입/출력번지는 동시에 모두 변환되어서 프로세서의 파이프라인에서 지연이 발생하지 않는다.
지시가상번지가 레지스터(32)의 가상번지를 매치시키지 않는 흔치않는 경우에 있어서, 매치의 실패는 비교기(36)의 출력에서 상태(state)장치(도시안됨)로 신호된다. 상기 상태장치는 이 신호에 응하여 가상지시번지가 변환이 진행된 후 그 다음 이용가능시간으로 우선변환참조버퍼(10)에서 재시도되도록 한다.
부재(miss)가 10%의 시간 이하로 발생하고, 지시가상번지의 변환을 동반한 간섭이 약 1/3의 시간으로만 발생하기 때문에 이 지연은 30개의 지시에서 평균 한번 이하로 발생할 것이다.
당업자에 의해 이해되는 바와같이 이는 실제로 상기 시스템의 동작속도를 증가시킨다. 더욱이 이는 하드웨어의 량을 증가시키지 않고 유효량에 의해 수행된다. 결과적으로 시스템은 최소 가능 실리콘 영역에 위치할 수 있다.
본 발명이 비록 바람직한 실시예의 견지에서 기술되어 있지만, 다양한 변형 및 변경이 본 발명의 정신 및 범위로부터 멀어지지 않고 당업자에 의해 발생될 수 있다는 사실이 이해될 것이다.
예를 들면 병렬 입력이 간섭하는 캐싱용 레지스터를 사용한 장치는 상기 제시된 것들 보다 다른 환경에서 사용될 수 있다.
3차원 그래픽용 그래픽 제어기는 Z 액세스 좌표에 대해 캐쉬를 사용할 수 있지만, 때에 따라서는 X 및 Y 액세스 좌표를 취급하도록 요구된다.
동일한 속도로 진행을 유지하기 위해, 단일 캐쉬-엔트리레지스터는 동시에 발생하는 좌표들 사이의 간섭을 감소하기 위해 사용될 수 있다.
고등급의 집약성을 갖는 소규모 병렬 캐슁장치는 유사하게 본 발명으로부터 이득을 얻을 수 있다.
따라서 본 발명은 이하의 특허청구범위에 의하여 평가될 것이다.

Claims (7)

  1. 실제번지가 신속히 액세스될 수 있어야 하고, 가상번지가 실제번지로 변환되기를 요구하는 두 소오스로부터 동시에 나타날 수 있는 관련 실제번지와 함께 다수의 소오스로부터 가상번지를 캐슁하기 위하여 다수의 소오스전부로부터 다수의 개개 가상번지 및 관련 실제번지를 기억하기 위한 주 캐쉬; 주 캐쉬에서 참조된 다수의 소오스중 하나로부터 가상번지 및 관련 실제번지를 매시간 아주 빈번히 발생시키는 다수의 소오스중 하나로부터 단일 가상번지 및 관련 실제번지를 기억하기 위한 수단; 및 단일 가상번지 및 관련 실제번지를 기억하기 위한 수단에 보유된 가상번지가, 다수의 소오스중 하나로부터의 가상번지 및 다수의 소오스중 그외의 것에 대해서 주 캐쉬를 동시에 액세스하도록 시도가 이루어질 때 구해진 가상번지인가의 여부를 확인하기 위한 수단으로 구성되는 것을 특징으로 하는 우선변환참조버퍼.
  2. 제1항에 있어서, 주 캐쉬에서 참조된 다수의 소오스중 하나로부터 가상번지 및 관련 실제번지를 매시간 아주 빈번하게 발생시키는 다수의 소오스중 하나로부터 단일가상번지 및 관련 실제번지를 기억하기 위한 수단이, 단일행의 주 캐쉬를 기억하기 위한 레지스터 및 레지스터를 가상번지참조가 발생하는 매 시간 구해진 가상번지를 포함하는 주 캐쉬의 1행의 정보로 채우기 위한 수단으로 구성된 것을 특징으로 하는 우선변환참조버퍼.
  3. 실제번지가 신속히 액세스될 수 있어야 하고, 지시 및 데이터에 대한 가상번지가 동시에 나타나서 실제번지로 변환되기를 요구하는 가상번지와 관련된 실제번지와 함께 데이터 및 지시에 대한 가상번지를 캐슁하며, 다수의 개개 가상번지 및 관련 실제번지를 기억하기 위한 주 캐쉬; 가상지시번지 및 관련 실제번지가 주 캐쉬에서 참조될 때 단일 가상지시번지 및 관련 실제번지를 기억하기 위한 수단; 및 단일 가상지시번지와 관련 실제번지를 기억하기 위한 수단에 보유된 가상번지가, 시도가 가상번지에 대한 주 캐쉬를 2가상번지와 더불어 동시에 액세스하도록 만들어질 때 구해진 가상번지인가의 여부를 확인하기 위한 수단으로 구성되는 것을 특징으로 하는 우선변환참조버퍼.
  4. 제3항에 있어서, 가상지시번지 및 관련 실제번지가 주 캐쉬에서 참조될 때마다 단일 가상지시번지 및 관련 실제번지를 기억하기 위한 수단이, 주 캐쉬의 단일행을 기억하기 위한 레지스터 및 레지스터를 가상번지 지시참조가 발생할 때마다 구해진 가상지시번지를 포함하는 주 캐쉬의 1행의 정보로 채우기 위한 수단으로 구성된 것을 특징으로 하는 우선변환참조버퍼.
  5. 제3항에 있어서, 단일 가상지시번지 및 관련 실제번지를 기억하기 위한 수단에 보유된 가상번지가, 구해진 가상번지인가의 여부를 확인하기 위한 수단이 비교기 및 구해진 가상지시번지와 레지스터에 기억된 가상지시번지를 기억하기 위한 수단으로 구성되는 것을 특징으로 하는 우선변환참조버퍼.
  6. 제3항에서, 캐쉬가 유용하게 될 때 레지스터의 가상지시번지가 주 캐쉬에서 구해진 가상지시번지의 재시도를 위해 구해진 번지가 아님의 확인에 응하기 쉬운 수단으로 더 구성되는 것을 특징으로 하는 우선변환참조버퍼.
  7. 정보가 신속히 액세스되어야 하고, 정보가 2소오스로부터 동시에 나타나는 다수의 정보로부터 정보를 캐슁하며; 다수의 소오스 전부로부터 다수의 개개 엔트리를 기억하기 위한 주 캐쉬, 엔트리가 주 캐쉬가 기억되었을 때 아주 빈번히 발생하는 다수의 소오스중 하나로부터 단일 엔트리를 기억하기 위한 수단, 단일 엔트리를 기억하기 위한 수단에 보유된 정보가 시도가 다수의 소오스중 하나로부터의 정보 및 다수의 소오스중 기타의 것에 대해서 동시에 주 캐쉬를 액세스하기 위해 만들어질 때 바라는 정보인가의 여부를 확용하기 위한 수단으로 구성되는 것을 특징으로 하는 버퍼.
KR1019910023785A 1990-12-21 1991-12-21 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치 KR960001945B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/633,460 US5305444A (en) 1990-12-21 1990-12-21 Apparatus for increasing the number of hits in a translation lookaside buffer including instruction address lookaside register
US633,460 1990-12-21

Publications (2)

Publication Number Publication Date
KR920013135A KR920013135A (ko) 1992-07-28
KR960001945B1 true KR960001945B1 (ko) 1996-02-08

Family

ID=24539712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910023785A KR960001945B1 (ko) 1990-12-21 1991-12-21 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치

Country Status (6)

Country Link
US (1) US5305444A (ko)
EP (1) EP0492838B1 (ko)
JP (1) JP3449487B2 (ko)
KR (1) KR960001945B1 (ko)
CA (1) CA2058259C (ko)
DE (1) DE69130942T2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3190700B2 (ja) * 1991-05-31 2001-07-23 日本電気株式会社 アドレス変換装置
JPH087717B2 (ja) * 1991-09-03 1996-01-29 富士通株式会社 動的アドレス変換処理装置
US5392410A (en) * 1992-04-30 1995-02-21 International Business Machines Corporation History table for prediction of virtual address translation for cache access
US5463750A (en) * 1993-11-02 1995-10-31 Intergraph Corporation Method and apparatus for translating virtual addresses in a data processing system having multiple instruction pipelines and separate TLB's
DE69527383T2 (de) * 1994-02-22 2003-03-27 Advanced Micro Devices Inc Virtuelle Speicheranordnung
JP3456768B2 (ja) * 1994-09-28 2003-10-14 株式会社東芝 アドレス変換装置
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
WO1996027832A1 (en) * 1995-03-03 1996-09-12 Hal Computer Systems, Inc. Parallel access micro-tlb to speed up address translation
US5924125A (en) * 1995-08-01 1999-07-13 Arya; Siamak Method and apparatus for parallel access to consecutive TLB entries
EP0814406A1 (en) * 1996-06-19 1997-12-29 Motorola, Inc. Method and apparatus for transforming a virtual address
US6185203B1 (en) * 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6079005A (en) * 1997-11-20 2000-06-20 Advanced Micro Devices, Inc. Microprocessor including virtual address branch prediction and current page register to provide page portion of virtual and physical fetch address
US6079003A (en) * 1997-11-20 2000-06-20 Advanced Micro Devices, Inc. Reverse TLB for providing branch target address in a microprocessor having a physically-tagged cache
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US9153211B1 (en) * 2007-12-03 2015-10-06 Nvidia Corporation Method and system for tracking accesses to virtual addresses in graphics contexts

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453230A (en) * 1977-12-29 1984-06-05 Tokyo Shibaura Electric Co., Ltd. Address conversion system
US4400774A (en) * 1981-02-02 1983-08-23 Bell Telephone Laboratories, Incorporated Cache addressing arrangement in a computer system
US4577293A (en) * 1984-06-01 1986-03-18 International Business Machines Corporation Distributed, on-chip cache
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US5060137A (en) * 1985-06-28 1991-10-22 Hewlett-Packard Company Explicit instructions for control of translation lookaside buffers
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
US4933837A (en) * 1986-12-01 1990-06-12 Advanced Micro Devices, Inc. Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories
IT1216086B (it) * 1988-03-15 1990-02-22 Honeywell Bull Spa Memoria tampone ad indirizzamento pseudo virtuale.
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system

Also Published As

Publication number Publication date
CA2058259A1 (en) 1992-06-22
CA2058259C (en) 2002-12-17
DE69130942T2 (de) 1999-09-30
KR920013135A (ko) 1992-07-28
JP3449487B2 (ja) 2003-09-22
DE69130942D1 (de) 1999-04-08
EP0492838A2 (en) 1992-07-01
JPH06180672A (ja) 1994-06-28
US5305444A (en) 1994-04-19
EP0492838B1 (en) 1999-03-03
EP0492838A3 (en) 1993-01-13

Similar Documents

Publication Publication Date Title
KR960001945B1 (ko) 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치
KR960001946B1 (ko) 우선 변환 참조버퍼
EP1096385B1 (en) A method and apparatus for forming an entry address
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US6470437B1 (en) Updating and invalidating store data and removing stale cache lines in a prevalidated tag cache design
EP0097790B1 (en) Apparatus for controlling storage access in a multilevel storage system
US4774653A (en) Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers
EP0911737A1 (en) Cache memory with reduced access time
US5442571A (en) Method and apparatus for cache miss reduction by simulating cache associativity
US9996474B2 (en) Multiple stage memory management
US8166249B2 (en) Performing a least recently used (LRU) algorithm for a co-processor
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
CN114238167B (zh) 信息预取方法、处理器、电子设备
US6851038B1 (en) Background fetching of translation lookaside buffer (TLB) entries
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
CN115098410A (zh) 处理器、用于处理器的数据处理方法及电子设备
CN114218132B (zh) 信息预取方法、处理器、电子设备
CA1315004C (en) Instruction cache flush-on-rei control
JPS6324337A (ja) キャッシュ・メモリ管理方式
JPH03252745A (ja) マイクロプロセッサ

Legal Events

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

Payment date: 20030124

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee