KR20030007735A - 메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리제어기 동작 방법 - Google Patents

메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리제어기 동작 방법 Download PDF

Info

Publication number
KR20030007735A
KR20030007735A KR1020027016136A KR20027016136A KR20030007735A KR 20030007735 A KR20030007735 A KR 20030007735A KR 1020027016136 A KR1020027016136 A KR 1020027016136A KR 20027016136 A KR20027016136 A KR 20027016136A KR 20030007735 A KR20030007735 A KR 20030007735A
Authority
KR
South Korea
Prior art keywords
address
memory
memory controller
incrementer
processor
Prior art date
Application number
KR1020027016136A
Other languages
English (en)
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 KR20030007735A publication Critical patent/KR20030007735A/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
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means

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

메모리 제어기는 프로세서에 의해 어서트될 다음 어드레스를 예측하기 위한 증분기를 포함한다. 이 증분기, 구조적으로 말하면 카운터는 랩 바운더리에서 랩핑(wrap)하도록 그리고 메모리가 페이지 방식으로 될 경우에 예측된 어드레스가 페이지 바운더리를 교차하는 시기를 표시하도록 구성된다. 이러한 증분기는 후임 어드레스가 상이한 페이지 상에 존재하는 경우 또는 어드레스 루프의 경우 또는 심지어 후임 어드레스가 연속적이지 않는 몇몇 경우에도 정확한 예측을 제공한다. 이로써, 정확한 어드레스 예측의 수가 증가되어 전체 성능을 개선한다. 본 발명은 특히 하나 이상의 페이지 바운더리를 교차하는 인스트럭션 루프를 갖는 신호 처리 애플리케이션에 적용될 수 있다.

Description

메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리 제어기 동작 방법 {MEMORY CONTROL SYSTEM WITH INCREMENTER FOR GENERATING SPECULATIVE ADDRESSES}
대부분의 현대적 진보는 증가되는 컴퓨터의 보급과 관련이 있다. 통상적인 컴퓨터는 데이터 및 인스트럭션을 저장하는 메모리와, 인스트럭션을 실행하고 이에 따라 데이터를 처리하는 하나 이상의 프로세서(가령, "중앙 처리 장치" 또는 "CPU")를 갖는다. 컴퓨터에 의해 실행되는 인스트럭션은 비교적 간단한며, 복잡한 작업은 다수의 인스트럭션을 갖는 프로그램을 실행함으로써 성취될 수 있다. 컴퓨터의 성능은 인스트럭션이 실행될 수 있는 속도에 크게 좌우된다.
컴퓨터 기술에서의 진보는 컴퓨터 성능에 있어서 급속한 성장을 제공하였다. 이렇게 기술적 진보가 급속한 만큼, 보다 큰 컴퓨터 성능에 대한 한없은 요구가 존재한다. 하나의 속도 병목 시간은 데이터 및 인스트럭션이 프로세서 및 메모리 간에서 전달되는데 필요한 시간이다. 원칙적으로는 프로세서가 메모리와 직접적으로 통신하지만, 프로세서와 메모리에 대한 빠른 설계 주기는 프로세서 및 메모리가 시장으로 도입될 시에 최적으로 서로 인터페이스하는 것을 어렵게 한다.
가령, 몇몇 메모리들은, 오직 낮은 순위의 어드레스 비트만이 다음 어드레스를 결정하기 위해 검사될 필요가 있다고 가정될 수 있는, 페이지 방식을 제공한다. 보다 소수의 어드레스 라인이 검사될 필요가 있기 때문에, 메모리는 보다 신속하게 어드레스에 응답할 수 있다. 페이지 변경이 요구될 때, 페이지 바운더리 검출 신호가 메모리에 전송되는데, 이 경우에 메모리는 모든 어드레스 비트를 검사함으로써 응답한다. 일반적으로, 프로세서는 페이지의 존재와 같은 메모리의 구체적인 사항을 인식하지 못하며, 이로써 프로세서와 메모리를 최적으로 인터페이싱하는데 문제가 있게 된다.
메모리 제어기는 최적의 메모리 동작 모드가 사용될 수 있도록 프로세서 및 메모리 타입 간을 인터페이싱하기 위해 비교적 짧은 시간 내에 설계될 수 있다. 메모리 제어기의 존재는 잠재적 대기 시간을 메모리 액세스에 더하는데, 그 이유는 메모리로 직접적으로 전송되는 대신에, 프로세서에 의해 어서트(assert)된 어드레스는 메모리로 포워딩(forwarding)되거나 변환되며 이어서 메모리로 포워딩되어야 하기 때문이다. 한편, 메모리 제어기는 예측된 다음 어드레스를 대기하면서 메모리를 액세스함으로써 액세스 속도를 증가시킬 수 있다. 통상적으로, 메모리 어드레스들은 순차적으로 어드레스되며, 이로써 상기 예측은 다음 메모리를 순열로 선택하는 것을 간단하게 포함한다. 몇몇 프로세서는 다음 어드레스가 순차적인지의여부를 표시하며, 이로써 예측의 타당성이 다음 어드레스가 수신되기 전에 이미 알려진다.
상기 예측 방식은 예측이 정확하게 되는 정도까지 성능을 개선시킨다. 통상적으로, 어드레스들이 순차적이며 페이지 바운더리를 교차하지 않을 때 예측이 정확하다. 본 발명의 목적은 정확한 예측의 범위를 확장함으로써 보다 개선된 성능을 제공하는 것이다.
발명의 개요
본 발명은 어드레스 예측의 두 개의 중요한 경우, 즉 프로세서 측에서 버스트 전달에 있어서 랩 바운더리(wrap boundary)를 교차하는 경우에 어드레스를 랩핑하는 것과, 메모리 측에서 페이지 바운더리를 교차하는 것을 언급한다. 본 발명은 프로그래밍가능한 랩 바운더리에서 랩하는 예측성 어드레스를 제공하고/하거나 예측성 페이지 바운더리 검출 신호를 제공하는 메모리 제어기를 제공한다. 한 측면에서, 본 발명은 프로그래밍가능한 카운터의 형태로 된 증분기(incrementer)를 갖는 메모리 제어기이며, 다른 측면에서는 본 발명은 상기 메모리 제어기를 갖는 컴퓨터 시스템이다. 본 방법은 예측성 랩 또는 예측성 페이지 바운더리 검출 또는 이 둘 다를 모두 포함할 수 있다.
버스트 전달의 랩 바운더리의 경우에, 본 발명은 정확한 어드레스 예측에 의해 성취되는 성능 개선을 막지 않으면서 랩핑을 제공한다. 예측성 페이지 바운더리가 사용되는 경우, 일련의 정확한 예측은 페이지 바운더리에 걸쳐 어떠한 차단도없이 진행될 수 있다. 예측성 랩 및 페이지 바운더리 검출은 페이지 바운더리들을 걸쳐서 연장되는 루프의 경우에는 함께 사용될 수 있다. 본 발명의 이러한 측면과 장점 및 다른 측면과 장점은 다음 도면을 참조하여 이하에 설명되는 바와 같이 자명해질 것이다.
본 발명은 컴퓨터에 관한 것이며, 특히 컴퓨터를 위한 메모리 제어기에 관한 것이다. 본 발명의 주요한 목적은 메모리 제어기에 의한 보다 효과적인 추정 어드레싱(speculative addressing)을 제공하는 것이다.
도 1은 본 발명에 따른 메모리 제어기를 갖는 컴퓨터 시스템의 로직도,
도 2는 도 1의 메모리 제어기의 1 비트 카운터 요소(a one-bit-counter element)의 로직도,
도 3은 개선된 성능을 위한 캐리 선택 기술(carry-select technique)을 포함한 다른 메모리 제어기의 일부의 도면,
도 4는 도 1의 컴퓨터 시스템에서 사용된 본 발명의 방법의 흐름도.
본 발명에 따라, 컴퓨터 시스템(AP1)은 도 1에 도시된 바처럼 프로세서(CPU)(11), 시스템 버스(13), 메모리(15), 메모리 제어기(20)를 포함한다. 메모리 제어기(20)는 시스템 버스 인터페이스(21), 페이지 값 레지스터(BP), 증분기(23), 멀티플렉서(25), 메모리 인터페이스(27)를 포함한다. 인터페이스(21,27)는 개별적인 구조적 요소라기보다는 기능성 요소인데, 그 이유는 이들이 단일 집적 회로 상에서 프로세서(11) 및 버스(13)와 함께 위치하기 때문이다. 구조적으로는,증분기(23)는 N 비트 카운터 요소(CTO-CTN) 및 OR-게이트(G1)를 갖는 프로그래밍가능한 카운터이다.
프로세서(11)는 시스템 버스(13)를 통해 메모리 제어기(20)로 데이터 DATA 1, 어드레스 AD, 전달-크기 표시 TS, 랩 바운더리 값 BW를 전송한다. 도 1에서, 전달 크기가 1 바이트이면 TS=001이며, 전달 크기가 2 바이트(32 비트 시스템에서는 절반 워드 또는 16 비트 시스템에서는 한 워드)이면 TS=010이며, 전달 크기가 4 바이트(32 비트 시스템에서는 한 워드 또는 16 비트 시스템에서는 두 개의 워드)이면 TS=100이다. 슈퍼바이저 모드에서, 프로세서(11)는 페이지 바운더리 값을 레지스터(BP)에 제공할 수 있다.
데이터는 프로세서(11)의 어드레스 공간 내에 위치하는 레지스터(BP) 내에 저장될 데이터를 포함할 수 있다. 오퍼레이션이 판독인지 기록인지의 여부 및 어드레스가 순차적인지의 여부의 표시는 어드레스(AD)와 관련된다. 판독 오퍼레이션의 경우에, 데이터는 메모리(15)로부터 메모리 제어기(20)를 통해 시스템 버스(13)를 경유하여 프로세서(11)에 전달된다.
도 1에서 세부적으로 도시된 바처럼, 비트 카운터 요소(CT1)는 1 비트 가산기(AD1), NAND 게이트(G2), 두 개의 AND 게이트(G3,G4)를 포함한다. 요소(CT1)는 페이지는 최하위 비트를 페이지 레지스터(BP) 및 랩 레지스터(WP) 각각으로부터 수용하며, 전달 크기 신호(TS)의 최하위 비트 다음의 하위 비트 및 어드레스 신호(AD)의 최하위 비트 다음의 하위 비트를 수용한다. 어드레스 신호(AD) 및 전달 크기 신호(TS)는 가산기(AD1)의 각각의 가수 입력에 제공된다.캐리-인(carry-in)이 비트 카운터 요소(CT0)로부터 제공된다. 실제로, 가산기(AD1)의 출력(AQ1)은 소정 워드 폭에 대한 후임 어드레스(successor address)의 최하위 비트 다음의 하위 비트이다. 잔여 비트 카운터 요소(CT0 및 CT2-CTN)는 후임 어드레스들의 잔여 비트를 제공한다. 이로써, 증분기(23)의 기능은 후임 어드레스를 프로세서(11)에 의해 현재적으로 어서트된 어드레스에 제공하는 것이다.
명백하게 단순한 요소들을 제외하면, 비트 카운터 요소(CT0-CTN)은 유사하다. 가령, 비트 카운터 요소(CT3)가 도 2에 도시된다. 1 비트 가산기 대신에, 상기 요소(CT3)는 XOR 게이트(G5) 및 AND 게이트(G6)를 포함하는 1 비트 증분기를 갖는다. 잔여 로직 게이트, NAND 게이트(G7), AND 게이트(G8,G9)는 비트 카운터 요소(CT1)의 대응부에 대응한다. XOR 게이트(G5)는 예측 어드레스 비트(AQ3)를 생성하기 위해 그의 입력으로서 어드레스 비트(AD3) 및 캐리-인(CI3)을 가지며, AND 게이트(G6)는 게이트(G7,G8,G9)와 공동으로 페이지 바운더리 검출 비트(DT3) 및 캐리 아웃(CQ3)을 생성하기 위해 상기와 동일한 입력을 갖는다.
비트 카운터 요소(CT4)는 비트 카운터 요소(CT3)와 본질적으로 유사하다. 비트 카운터 요소(CT5-CTN)는 1 비트 증분기를 사용하지만, 보조 로직은 하나 이상의 상수 입력으로 인해 감소될 수 있다. 비트 카운터 요소(CT5-CTN)로의 페이지 바운더리 입력은 하이로 유지되는데, 그 이유는 메모리 제어(20)가 32 바이트보다 큰 페이지 크기를 제공하지 않기 때문이다. 비트 카운터 요소(CT5)로의 워드 바운더리 입력은 워드 바운더리 신호(BW)에 의해 제어되며, 비트 카운터 요소들로의 대응하는 입력은 최대 64 바이트 랩핑 버스트 전달을 수용하기 위해 하이로 유지된다. 비트 카운터 요소(CT0)는 캐리-인 없음 신호(no carry-in signal)를 갖는 1 비트 가산기일 수 있다.
시스템(AP1)의 상황에서 실행되는 본 발명의 방법(M1)의 흐름도가 도 3이다. 단계(S1)에서, 페이지 바운더리 값은 레지스터(BP) 내부로 입력된다. 통상적으로, 이는 슈퍼바이저 방식으로 발생하며 페이지 바운더리 값은 사용자 프로그램 실행 동안 변경되지 않는다. 시스템(AP1)에서, 레지스터(BP1)는 통상적인 기록가능 레지스터이다. 그러나, 페이지 바운더리 값을 변경할 필요가 없는 애플리케이션에서는, 상기 레지스터는 ROM 내에서 하드웨어링되거나 또는 인코딩될 수 있다.
단계(S2)에서, 랩 바운더리가 사용자 프로그램 실행 동안 어서트된다. 랩 바운더리는 증분기(23)가 제로로 리셋되는 값이며 이로써 카운트 모듈로(count modulo)로서 기능한다. 이 카운트 모듈로는 사용자 프로그램 실행 동안 변경될 수 있는데, 이로써 상이한 크기의 루프들이 최적으로 관리될 수 있다.
단계(S3)에서, 프로세서(11)는 어드레스 폭 값과 함께 어드레스 및 순차적/비순차적 표시(SQ)를 어서트함으로써 판독 또는 기록 오퍼레이션을 시작한다. 메모리 제어기(20)는 단계(S4)에서 오퍼레이션의 순차적인 여부를 결정하기 위해 상기 순차적/비순차적 표시를 사용한다. 순차적 어드레스가 표시될 때, 멀티플렉서(25)는 AQ를 선택하며, 비순차적 전달이 표시될 때, 멀티플렉서(25)는 어드레스(AD)를 선택한다. 다른 실시예에서는, 비교기가 카운터 출력이 프로세서에 의해 어서트된 어드레스와 동일하지 않음을 표시할 때를 제외하고 상기 카운터출력을 선택한다.
어드레스가 순차적이지 않으면, 방법(M1)은 단계(S4)로 진행한다. 어서트된 어드레스에 의해 표시된 위치에 저장된 데이터는 데이터 전달을 위해 선택된다. 판독 오퍼레이션이 요청되면, 데이터는 단계(S5)에서 메모리(15)로부터 버스(DATA3)를 경유하여 메모리 인터페이스(27)로, 이어서 버스(DATA2)를 경유하여 시스템 버스 인터페이스(21)로, 이어서 시스템 버스(13)로, 이어서 프로세서(11)로 전달된다. 기록 오퍼레이션이 요청되면, 데이터는 프로세서(11)로부터 시스템 버스(13)를 경유하여 시스템 버스 인터페이스(13)로, 이어서 버스(DATA2)를 경유하여 메모리 인터페이스(27)를 통해 메모리(15)로 전달된다. 단계(S4)에서 어드레스가 순차적인 것으로 결정되면, 단계(S5)에서 전달된 데이터는 어드레스 위치(AQ)에서 메모리(15)로부터 이미 어드레싱된 데이터이다.
단계(S5) 또는 단계(S6) 중 어느 한 단계 후에, 증분기(23)는 단계(S7)에서 예측 어드레스를 생성한다. 이는 전달 크기 신호(TS)에 의해 표시된 어드레스 폭을 현재적으로 또는 가장 최근에 어서트된 어드레스(AD)에 가산함으로써 성취된다. 이러한 가산은 모듈로(modulo) BW이며 이로써 상기 어드레스는 프로그램된 랩 바운더리에서 랩핑된다. 또한, 페이지 바운더리가 만족된다면, 검출 표시가 라인(DTQ)에 따라 생성된다. 단계(S8)에서, 메모리(15) 내의 예측된 어드레스에서의 데이터는 메모리 인터페이스(27)에서 액세스되고 버퍼링된다. 이 데이터는, 예측이 사실로 입증되면 전달되고 단계(S3)의 다음 반복 단계에서 사실로 입증되지 않으면 오버라이팅된다.
본 방법은 일반적으로 단계(S3)로 복귀함으로써 반복되며, 여기에서는 프로세서는 다음의 "어서트된" 어드레스를 어서트한다. 그러나, 도 3에서 점선으로 표시된 바처럼, 다음 반복 단계는 단계(S2)에서 새로운 랩 바운더리를 세팅하는 것을 포함할 수 있다. 일반적으로, 페이지 바운더리는 프로그램 실행 동안 변경될 가능성이 적다.
예측 어드레스가 시스템(AP1)에서 생성될 수 있는 속도는 증분기(23)의 캐리 전파 설계(carry-propagation design)에 의해 제한된다. 비트 카운터 요소(CT1)는 그의 캐리 및 어드레스 출력을 비트 카운터 요소(CT0)가 그의 캐리 출력을 결정할 때까지 결정할 수 없다. 이와 같이, 비트 카운터 요소(CT2-CTN)는 자신의 결과를 결정하기 위해 보다 낮은 차수의 비트 카운터로부터의 캐리를 필요로 한다. 이로써, 예측 어드레스가 생성되기 위해서는, 캐리는 N 단계를 통해 전파되어야 한다.
캐리 전파로 인한 대기 시간을 줄이기 위해, 도 4에 도시된 캐리 선택 카운터(40)가 증분기(23) 대신 사용될 수 있다. 개념적으로, 카운터(40)는 그의 위치(0-7)를 낮은 차수 그룹 및 높은 차수 그룹으로 분할한다. 4 개의 최하위 비트 카운터 요소는 낮은 차수 비트 가운터 그룹(41)을 구성하여, 4 비트 출력 AQ[3:0]을 제공한다. 또한, 두 개의 높은 차수 비트 가운터 그룹(42,43)이 존재하는데, 이 그룹 각각은 4 개의 최상위 비트 위치(4-7)에 대한 비트 카운터 요소를 포함한다. 그룹(42,43)은 비트 가운터 그룹(42)은 0으로 하드 와이어된(hard-wired) 그의 캐리-인을 가지며 그룹(43)은 1로 하드 와이어된 그의 캐리-인을 갖는다는 점에서 서로 다르다.
실제로, 그룹(42,43)은 낮은 차수의 그룹(41)의 캐리-아웃(Cq)에 대한 두 개의 가능한 결과들에 대해 높은 차수의 결과들을 사전 계산한다. 낮은 차수의 캐리-아웃이 결정되면, 이는 두 개의 높은 차수의 결과들 중의 하나를 선택하는데 사용된다. CQ3가 제로이면, 멀티플렉서(44)는 높은 차수 그룹(42)의 결과들을 선택하며, CQ3가 1이면, 멀티플렉서(44)는 높은 차수 그룹(43)의 결과들을 선택한다. 선택된 검출 신호 DT[4-7]는 낮은 차수 그룹(41)으로부터의 검출 신호 DT[0-3]와 OR 연산되어, 전체 페이지 바운더리 검출 신호 DT[0-7]를 결정한다. 이 경우에, 예측 어드레스를 생성하는데 필요한 대기 시간은 증분기(23)를 사용할 때에 비해 거의 절반으로 줄어들지만, 추가된 높은 차수의 비트 카운터 요소들 및 멀티플렉서(44)로 인해 집적 회로 면적이 추가된다.
본 발명은 일반적으로 컴퓨터 및 집적 회로에 적용될 수 있고, 특히 신호 처리 애플리케이션에서 적용될 수 있다. 본 발명은 상이한 호스트 시스템, 상이한 메모리 제어기 디자인, 상이한 카운터 디자인을 사용하는 것을 포함한다. 상술된 실시예에 대한 이들 및 다른 변경 및 수정이 다음의 청구 범위에 의해 규정된 범위 내에서 본 발명에 의해 제공된다.

Claims (10)

  1. 메모리 제어기(20)에 있어서,
    랩 바운더리 값의 랩 바운더리 함수 및 각각의 어서트된 어드레스들로 추정 어드레스를 생성하는 증분기(23)를 포함하며,
    상기 증분기(23)는 상기 랩 바운더리 값의 모듈러 넘버(modulo-number) 함수인 모듈로 넘버로 증분 함수를 구현하며,
    상기 증분기는 프로세서(11)로부터 상기 랩 바운더리 값 및 상기 어서트된 어드레스들을 수신하기 위해 버스 인터페이스(21)에 접속되며,
    상기 증분기는 상기 추정 어드레스를 메모리 인터페이스(27)에 제공하기 위해 상기 메모리 인터페이스(27)에 접속되는
    메모리 제어기.
  2. 제 1 항에 있어서,
    상기 증분기(23)는 복수의 상기 추정 어드레스 대한 것이지만 모든 상기 추정 어드레스에 대한 것은 아닌 페이지 바운더리 검출 신호를 생성하는
    메모리 제어기.
  3. 제 2 항에 있어서,
    상기 증분기(23)가 그에 대한 페이지 바운더리 검출 신호를 생성하는 상기 추정 어드레스는 시스템 버스(13)를 통해 상기 프로세서(11)로부터 수신된 상기 페이지 바운더리 값의 함수로 결정되는
    메모리 제어기.
  4. 제 3 항에 있어서,
    상기 페이지 바운더리 값은 메모리(15)의 페이지 크기에 대응하며,
    상기 증분기는 상기 추정 어드레스 및 상기 페이지 바운더리 검출 신호를 상기 메모리(15)에 제공하는
    메모리 제어기.
  5. 컴퓨터 시스템에 있어서,
    1 항에서 청구된 증분기(23)와,
    상기 프로세서(11)와,
    상기 시스템 버스(13)과,
    상기 메모리(15)를 포함하는
    컴퓨터 시스템.
  6. 메모리 제어기를 동작시키는 방법에 있어서,
    프로세서로부터 랩 바운더리 값을 수신하는 단계(S1)와,
    상기 프로세서로부터 어서트된 어드레스를 수신하는 단계(S2)와,
    적어도 부분적으로는 상기 랩 바운더리 값의 함수인 모듈로 넘버에 따라 상기 어서트된 어드레스를 증분함으로써 추정 어드레스를 생성하는 단계(S3)와,
    상기 추정된 어드레스를 메모리로 전달하는 단계(S4)를 포함하는
    메모리 제어기 동작 방법.
  7. 제 6 항에 있어서,
    복수의 상기 추정 어드레스 대한 것이지만 모든 상기 추정 어드레스에 대한 것은 아닌 페이지 바운더리 표시자를 생성하는 단계(S5-S8)를 포함하는
    메모리 제어기 동작 방법.
  8. 제 7 항에 있어서,
    상기 프로세서로부터 페이지 바운더리 값을 수신하는 단계를 더 포함하며,
    페이지 바운더리 표시자가 상기 페이지 바운더리 값의 함수로 결정되는 추정 어드레스를 위해 생성되는
    메모리 제어기 동작 방법.
  9. 제 8 항에 있어서,
    상기 페이지 바운더리 값은 상기 메모리의 페이지 크기에 대응하는
    메모리 제어기 동작 방법.
  10. 메모리 제어기를 동작시키는 방법에 있어서,
    프로세서로부터 페이지 바운더리 값을 수신하는 단계(S1)와,
    상기 프로세서로부터 어서트된 어드레스를 수신하는 단계(S2)와,
    상기 어서트된 어드레스를 증분함으로써 추정 어드레스를 생성하는 단계(S3-S5)와,
    상기 페이지 바운더리 값에 의해 표시되는 바와 같은 페이지 바운더리에 대응하는 추정 어드레스가 생성될 때마다, 페이지 바운더리 검출 신호를 전달하는 단계(S6-S8)를 포함하는
    메모리 제어기 동작 방법.
KR1020027016136A 2001-03-29 2002-03-15 메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리제어기 동작 방법 KR20030007735A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/823,160 US6701422B2 (en) 2001-03-29 2001-03-29 Memory control system with incrementer for generating speculative addresses
US09/823,160 2001-03-29

Publications (1)

Publication Number Publication Date
KR20030007735A true KR20030007735A (ko) 2003-01-23

Family

ID=25237966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027016136A KR20030007735A (ko) 2001-03-29 2002-03-15 메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리제어기 동작 방법

Country Status (5)

Country Link
US (1) US6701422B2 (ko)
EP (1) EP1374062A2 (ko)
JP (1) JP2004522227A (ko)
KR (1) KR20030007735A (ko)
WO (1) WO2002079994A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7061821B2 (en) * 1998-10-20 2006-06-13 International Business Machines Corporation Address wrap function for addressable memory devices
US7797467B2 (en) * 2005-11-01 2010-09-14 Lsi Corporation Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
US8554821B2 (en) 2010-08-09 2013-10-08 International Business Machines Corporation Expanded scope incrementor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4722047A (en) * 1985-08-29 1988-01-26 Ncr Corporation Prefetch circuit and associated method for operation with a virtual command emulator
EP0501621A3 (en) 1991-02-26 1994-07-06 Hewlett Packard Co Address prediction and verification for burst cycle data reads
JP2771374B2 (ja) * 1991-12-27 1998-07-02 茨城日本電気株式会社 プロセッサのページ越処理方式
US5659700A (en) * 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
DE69718846T2 (de) 1996-06-06 2003-06-18 Motorola Inc Verfahren zum Speicherzugriff
US6216208B1 (en) * 1997-12-29 2001-04-10 Intel Corporation Prefetch queue responsive to read request sequences

Also Published As

Publication number Publication date
WO2002079994A3 (en) 2003-01-09
EP1374062A2 (en) 2004-01-02
WO2002079994A2 (en) 2002-10-10
US20020144075A1 (en) 2002-10-03
US6701422B2 (en) 2004-03-02
JP2004522227A (ja) 2004-07-22

Similar Documents

Publication Publication Date Title
US6401192B1 (en) Apparatus for software initiated prefetch and method therefor
US6785772B2 (en) Data prefetching apparatus in a data processing system and method therefor
JP3955305B2 (ja) 縮小命令セット・コンピュータ・マイクロプロセッサーの構造
US5822758A (en) Method and system for high performance dynamic and user programmable cache arbitration
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
JPS6339931B2 (ko)
EP0601715A1 (en) Bus of CPU core optimized for accessing on-chip memory devices
US5752273A (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
US5619663A (en) Computer instruction prefetch system
US7721073B2 (en) Conditional branch execution in a processor having a data mover engine that associates register addresses with memory addresses
JP2773471B2 (ja) 情報処理装置
US7721074B2 (en) Conditional branch execution in a processor having a read-tie instruction and a data mover engine that associates register addresses with memory addresses
US7788450B2 (en) Method and apparatus for efficiently accessing both aligned and unaligned data from a memory
US6738837B1 (en) Digital system with split transaction memory access
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
US7721075B2 (en) Conditional branch execution in a processor having a write-tie instruction and a data mover engine that associates register addresses with memory addresses
KR20030007735A (ko) 메모리 제어기, 이를 포함하는 컴퓨터 시스템, 메모리제어기 동작 방법
JP3045959B2 (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
EP0772829A1 (en) A pipelined microprocessor that makes memory requests to a cache memory and an external memory controller during the same clock cycle
KR100960095B1 (ko) 마이크로컨트롤러 명령어 셋트
EP0706120A1 (en) Method and system for memory addressing
JP3164915B2 (ja) データ処理装置及びそのデータ処理方法
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
KR20060117953A (ko) 마이크로컨트롤러 명령어 셋트
JPS60256846A (ja) 命令先取制御方式

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid