KR19980075349A - 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법 - Google Patents

마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법 Download PDF

Info

Publication number
KR19980075349A
KR19980075349A KR1019970011552A KR19970011552A KR19980075349A KR 19980075349 A KR19980075349 A KR 19980075349A KR 1019970011552 A KR1019970011552 A KR 1019970011552A KR 19970011552 A KR19970011552 A KR 19970011552A KR 19980075349 A KR19980075349 A KR 19980075349A
Authority
KR
South Korea
Prior art keywords
data
cache
write back
back buffer
memory
Prior art date
Application number
KR1019970011552A
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 구자홍
Priority to KR1019970011552A priority Critical patent/KR19980075349A/ko
Publication of KR19980075349A publication Critical patent/KR19980075349A/ko

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법에 관한 것으로 특히, 외부 메모리 싸이클이 이루어지지 않는 경우와 라이트 백 버퍼가 완전히 채워진 경우 외부 메모리에 캐시 데이터를 쓰도록 하여 씨피유의 정지 기간을 없앰으로써 씨피유의 처리 속도를 극대화하여 프로세스 전체의 속도를 향상시키도록 창안한 것이다. 이러한 본 발명은 캐시(cache) 메모리를 내장한 씨피유(CPU)에 있어서, 각 엔트리에 복수개의 캐시 데이터를 저장하는 복수개의 캐시 메모리(205-1∼205-4)와, 복수개의 캐시 메모리(205-1∼205-4)의 각 엔트리에 저장되는 복수개의 데이터(LW0∼LW3)에 대응하여 각각의 유효 여부를 나타내는 비트(U0∼U3))를 저장하는 복수개의 정보 저장 레지스터(203-1∼203-4)와, 힛이 발생된 엔트리의 캐시 데이터를 저장하도록 캐시 데이터의 용량 단위인 저장 영역을 복수개 구비한 라이트 백 버퍼(211)와, 씨피유의 상,하위 어드레스 포인터를 상기 라이트 백 버퍼(211)에 각기 인가하는 어드레스 포인터 레지스터(212)(213)로 구성하여 힛이 발생한 데이터만을 라이트 백 버퍼에 저장하도록 하는 동작을 수행함을 특징으로 한다.

Description

마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법
본 발명은 마이크로 프로세서에 관한 것으로 특히, 캐시(cache)를 내장한 씨피유(CPU)의 처리 속도 향상을 위한 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법에 관한 것이다.
일반적으로 마이크로 프로세서는 처리 속도를 향상시키기 위하여 캐시(cache) 메모리를 내장하게 된다.
도1 은 종래의 캐시 메모리 액세스 회로의 블록도로서 이에 도시된 바와 같이, 버츄얼 어드레스(VADDR)를 저장하는 어드레스 레지스터(101)와, 버츄얼 어드레스(VADDR)의 31..11 비트를 입력으로 피지컬 어드레스(PADDR)를 생성하는 메모리 관리 유닛(102)과, 버츄얼 어드레스(VADDR)의 10..4 비트를 엔트리 선택 신호(ESEL)로 하여 해당 어드레스(ADDR)와 그 어드레스에 해당하는 데이터의 유효 여부(V-bit) 및 외부 데이터와의 일치 여부(U-bit)를 출력하는 4개의 정보 저장 레지스터(103-1∼103-4))와, 상기 메모리 관리 유닛(102)에서의 어드레스(VADDR)와 상기 정보 저장 레지스터(103-1∼103-4)에서의 4개의 어드레스(ADDR)가 일치하는지 비교하는 비교부(104)와, 상기 비교부(104)의 힛신호(HIT)에 의해 선택되어 버츄얼 어드레스(VADDR)의 3..2 비트의 값에 따라 해당 데이터를 출력하는 캐시 메모리(105-1∼105-4)로 구성된다.
이와같은 종래 기술의 동작 과정을 설명하면 다음과 같다.
데이터의 읽기 또는 쓰기를 위하여 씨피유(CPU ; 도면 미도시)에서 출력된 버츄얼(virtual) 어드레스(VADDR)가 어드레스 레지스터(101)에 저장되면 메모리 관리 유닛(102)은 상기 버츄얼 어드레스(VADDR)의 31..11 비트를 물리적(Phisical) 어드레스(PADDR)로 변환하여 비교부(104)에 전송하게 된다.
이때, 정보 저장 레지스터(103-1∼103-4)는 각기 128개의 엔트리로 구성되는데, 버츄얼 어드레스(VADDR)의 10..4 비트인 엔트리 선택 신호(ESEL)에 의해 선택된 엔트리에서 어드레스(ADDR)를 비교부(104)에 전송하게 된다.
이에 따라, 4개의 비교기로 구성된 비교부(104)는 정보 저장 레지스터(103-1∼103-4)로부터 각기 출력된 어드레스(ADDR)와 메모리 관리 유닛(102)로부터 변환된 어드레스(PADDR)가 일치하는지를 비교하는데, 비교기(COMP0∼COMP3)중 어드레스가 일치하는 비교기로부터 힛 신호(HIT)가 출력하게 된다.
이때, 비교부(104)로부터 출력된 힛 신호(HIT)에 의해 캐시 메모리(105-1∼105-4)중 하나의 메모리가 선택되며 정보 저장 레지스터(103-1∼103-4)중 힛(hit)이 발생한 정보 저장 레지스터의 해당 엔트리에서 외부 메모리의 데이터와 캐시 메모리(105-1∼105-4))중 선택된 캐시 메모리의 해당 엔트리에 저장된 데이터와 일치하는지를 나타내는 U 비트 및 그 데이터와 어드레스가 사용가능한지를 나타내는 V 비트를 씨피유(CPU)에 전송하게 된다.
이에 따라, 버츄얼 어드레스(VADDR)의 3..2 비트의 값에 의해 각기 32비트인 캐시 데이터(LW0∼LW3)중 해당 데이터가 씨피유(CPU)가 원하는 최종적인 데이터로서 도2 와 같이 라이트 백 버퍼에 옮겨진 후 외부 메모리(도면 미도시)로 출력되어진다.
상기와 같은 동작을 수행함에 있어서, 읽기 또는 쓰기 액세스 여부 및 씨피유가 원하는 데이터의 존재 유무에 따라 6가지 모드로 구분되는데, 이를 설명하면 다음과 같다.
먼저, 읽기 액세스의 경우 리드 힛(read hit)과 리드 미스(read miss)로 구분된다.
씨피유(CPU)가 읽고자 하는 데이터가 캐시 메모리(105-1∼105-4)중 힛(hit)된 메모리에 있는 경우 리드 힛이 발생되는데, 상기 캐시 메모리(105-1∼105-4)중 힛된 메모리의 해당 엔트리에서 외부 메모리로 데이터가 출력되어 씨피유로 전달된다.
반대로, 씨피유에서 읽고자 하는 데이터가 캐시 메모리(105)에 없는 경우 리드 미스가 발생하는데, 외부 버스 싸이클이 시작되어 외부 메모리로부터 16바이트(4 장-워드 ; longword)가 캐시 메모리(105-1∼105-4)중 힛(hit)된 메모리의 해당 엔트리로 업데이트된다.
이때, 외부 데이터가 업데이트되는 엔트리의 U 비트가 '1'이라면 외부 데이터가 해당 엔트리로 업데이트되기 전에 그 엔트리의 어드레스 및 데이터를 외부의 라이트 백 버퍼(WRITE BACK BUFFER)로 옮긴다.
이 후, 외부 데이터와 어드레스가 캐시 메모리(105-1∼105-4)중 힛된 메모리의 해당 엔트리로 업데이트되고 해당 엔트리에서 라이트 백 버퍼로 옮겨진 16바이트의 데이터는 외부 메모리로 라이트된다.
이는 U 비트가 '1'인 엔트리에 외부의 데이터를 그대로 업데이트하면 외부 메모리로 라이트되지 않고 해당 엔트리에만 라이트된 데이터를 잃어 버리는 결과를 초래하기 때문에 해당 엔트리에 외부 데이터를 업데이트하기 전에 해당 엔트리의 데이터를 라이트 북 버퍼로 옮기고 나중에 외부 메모리로 라이트하는 것이다.
그리고, 쓰기 액세스의 경우는 라이트 힛(write hit)과 라이트 미스(write miss)로 구분되는데, 각기 라이트 백(write back)과 라이트 트루(write through)의 2가지 모드로 다시 구분되어진다.
씨피유에서 쓰고자 하는 데이터의 어드레스가 정보 저장 레지스터(103-1∼103-4)중 하나의 레지스터에 있는 경우 라이트 힛이 발생하는데, 그 어드레스에 해당하는 데이터가 외부 데이터와 일치하는지의 여부에 따라 라이트 백 모드(write back mode) 또는 라이트 트루 모드(write through mode)로 구분된다.
먼저, 캐시 메모리(105-1∼105-4)중 하나의 메모리에서 힛(hit)된 엔트리의 데이터가 외부 메모리의 데이터와 다른 경우 라이트 백 힛(write back hit)이 발생하는데, 해당 엔트리에만 외부 데이터를 라이트하고 외부 메모리에는 데이터를 라이트하지 않는다.
이 후, 캐시 메모리(105-1∼105-4)중 선택된 메모리의 엔트리에 저장된 데이터와 외부 메모리의 데이터가 다르다는 것을 나타내기 위하여 정보 저장 레지스터(103)의 해당 엔트리의 U 비트를 '1'로 세팅한다.
반대로, 외부 메모리의 데이터와 캐시 메모리(105-1∼105-4)중 선택된 메모리의 해당 엔트리의 데이터가 동일한 경우 라이트 트루 힛(write through hit)이 발생하는데, 선택된 캐시 메모리의 해당 엔트리 및 외부 메모리에 데이터를 라이트하는 동작을 수행한다.
이 후, 현재 엔트리의 데이터 내용과 외부 메모리의 데이터가 동일함을 표시하기 위하여 정보 저장 레지스터(103-1∼103-4)중 힛(hit)이 발생된 레지스터의 해당 엔트리의 U 비트를 '0'으로 저장한다.
한편, 씨피유에서 캐시 메모리에 쓰고자 하는 데이터의 어드레스가 정보 저장 레지스터(103)에 없는 경우 라이트 미스(write miss)가 발생하는데, 이 경우에도 라이트 백 모드 또는 라이트 트루 모드로 동작을 수행하게 된다.
먼저, 캐시 메모리(105-1∼105-4)중 선택된 메모리의 해당 엔트리에 쓰여질 데이터의 어드레스가 없다면 라이트 백 미스(write back miss)가 발생된다.
이에 따라, 외부 버스 싸이클이 시작되어 외부 메모리로부터 16바이트의 데이터가 캐시 메모리(105-1∼105-4)중 선택된 메모리의 해당 엔트리로 업데이트된다.
이 후, 정보 저장 레지스터(103-1∼103-4)중 힛된 레지스터의 해당 엔트리의 U 비트를 '1'로 세팅한다.
이는 쓰기 데이터가 캐시 메모리에만 쓰여졌기 때문에 외부 메모리와 데이터의 내용이 다르기 때문이다.
만일, 그 이전에 업데이트할 엔트리의 U 비트가 '1'이었다면 외부 메모리로부터 데이터를 캐시 메모리의 해당 엔트리에 업데이터하기 전에 그 엔트리의 어드레스와 16바이트(4 장-워드)의 데이터를 라이트 백 버퍼로 옮긴다.
이 후, 외부 데이터 및 어드레스가 캐시 메모리의 해당 엔트리로 업데이터하고 라이트 백 버퍼로 옮겨진 16바이트 데이터는 외부 메모리로 라이트한다.
그리고, 라이트 트루 모드가 설정된 경우 정보 관리 레지스터(103-1∼103-4)중 선택된 레지스터의 엔트리에 쓰여질 데이터의 어드레스가 없다면 라이트 트루 미스(write through miss) 동작이 이루어진다.
이는 단지 쓰여질 데이터가 외부 메모리로만 쓰여짐을 의미한다.
그러나, 이러한 종래의 기술은 외부 데이터를 캐시 메모리에 쓰려는 경우 미스가 발생하면 캐시 메모리의 내부 데이터를 외부 메모리에 쓰는 동안 씨피유의 동작이 정지함으로 처리 속도가 저하되는 문제점이 있다.
즉, 종래 기술은 4개의 장-워드(longword)중 1개의 내용이 바뀌어도 캐시 메모리에서 16바이트 데이터를 모두 라이트 백 버퍼에 옮긴 후 다시 외부 메모리로 옮기는데, 이 기간동안 씨피유의 동작이 정지됨으로써 씨피유의 처리 속도가 저하된다는 것이다.
따라서, 본 발명은 종래의 문제점을 개선하기 위하여 외부 메모리 싸이클이 이루어지지 않는 경우와 라이트 백 버퍼가 완전히 채워진 경우 외부 메모리에 캐시 데이터를 쓰도록 하여 씨피유의 정지 기간을 없앰으로써 씨피유의 처리 속도를 극대화하여 프로세스 전체의 속도를 향상시키도록 창안한 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법을 제공함에 목적이 있다.
즉, 본 발명은 라이트 백 모드시 캐시 데이터중 바뀐 데이터만을 장-워드 단위로 이루어진 라이트 백 버퍼로 옮겨 외부 메모리 싸이클이 이루어지지 않는 동안만 씨피유가 외부 메모리로 라이트하도록 하여 씨피유가 정지되어 있는 시간을 없애주고
또한, 외부 메모리로 쓰여지지 않은 라이트 백 버퍼에 저장된 캐시 데이터를 다시 액세스하는 경우 그 데이터를 씨피유가 라이트 백 버퍼에서 직접 액세스함에 의해 외부 싸이클 메모리 페치보다 훨씬 빠른 내부 싸이클을 실행하여 씨피유의 처리 속도를 높이도록 함을 목적으로 한다.
도 1은 종래의 캐시 데이터 액세스 장치의 블록도.
도 2는 도 1에서의 라이트 백 버퍼의 구조도.
도 3은 본 발명에 따른 캐시 데이터 액세스 장치의 블록도.
도 4는 도 3에서의 라이트 백 버퍼의 구성도.
도 5는 본 발명에서 캐시 데이터 액세스를 위한 신호 흐름도.
도 6은 본 발명의 다른 실시예를 보인 블록도.
* 도면의 주요부분에 대한 부호 설명 *
201 : 어드레스 레지스터 202 : 메모리 관리 유닛
203-1∼203-4 : 정보 저장 레지스터
204 : 비교부 205-1∼205-4 : 캐시 메모리
211 : 라이트 백 버퍼212,213 : 포인터 레지스터
본 발명은 상기 목적을 달성하기 위하여 캐시(cache) 메모리를 내장한 씨피유(CPU)에 있어서, 각 엔트리에 복수개의 캐시 데이터를 저장하는 복수개의 캐시 메모리와, 복수개의 캐시 메모리의 각 엔트리에 저장되는 복수개의 데이터에 대응하여 각각의 유효 여부를 나타내는 비트(U)를 저장하는 복수개의 정보 저장 레지스터와, 힛이 발생된 엔트리의 캐시 데이터를 저장하도록 캐시 데이터의 용량 단위인 저장 영역을 복수개 구비한 라이트 백 버퍼와, 씨피유의 상,하위 어드레스 포인터를 상기 라이트 백 버퍼에 인가하는 제1,제2 어드레스 포인터 레지스터로 구성하여 힛이 발생한 데이터만을 라이트 백 버퍼에 저장하도록 하는 동작을 수행함을 특징으로 한다.
또한, 본 발명은 상기 목적을 달성하기 위하여 캐시 메모리의 사용 여부를 판별하는 단계와, 상기에서 캐시 메모리의 사용인 경우 캐시 메모리에 원하는 데이터가 있는지 판단하는 단계와, 상기에서 캐시 메모리에 원하는 데이터가 없는 경우 라이트 백 버퍼에 원하는 데이터가 있는지 판단하는 단계와, 상기에서 원하는 데이터가 있으면 그 데이터를 읽어 들이는 단계와, 상기에서 캐시 메모리의 사용이 아니거나 라이트 백 버퍼에 원하는 데이터가 없으면 외부 메모리에서 원하는 데이터를 찾는 단계를 수행함을 특징으로 한다.
이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.
도3 및 도4 는 본 발명의 실시예를 보인 블록도로서 이에 도시한 바와 같이, 버츄얼 어드레스(VADDR)를 저장하는 어드레스 레지스터(201)와, 버츄얼 어드레스(VADDR)의 31..11 비트를 입력으로 피지컬 어드레스(PADDR)를 생성하는 메모리 관리 유닛(202)과, 버츄얼 어드레스(VADDR)의 10..4 비트를 엔트리 선택 신호(ESEL)로 하여 해당 어드레스(ADDR)와 그 어드레스에 해당하는 데이터의 유효 여부를 나타내는 비트(V-bit) 및 외부 데이터와의 일치 여부를 나타내는 비트(U3∼U0)를 출력하는 4개의 정보 저장 레지스터(203-1∼203-4))와, 상기 메모리 관리 유닛(202)에서의 어드레스(VADDR)와 상기 정보 저장 레지스터(203-1∼203-4)에서의 4개의 어드레스(ADDR)가 일치하는지 비교하는 비교부(204)와, 상기 비교부(204)의 힛신호(HIT)에 의해 선택되어 버츄얼 어드레스(VADDR)의 3..2 비트의 값에 따라 해당 데이터를 출력하는 캐시 메모리(205-1∼205-4)와, 라이트 백 힛이 발생한 경우 바뀐 캐시 데이터 및 어드레스만을 저장하도록 장-워드(longword) 단위의 저장 영역을 복수개 구비한 라이트 백 버퍼(211)와, 이 라이트 백 버퍼(211)에 상,하위 어드레스 포인터를 각기 출력하는 어드레스 포인터 레지스터(212)(213)로 구성한다.
이와같이 구성한 본 발명의 실시예에 대한 동작 및 작용 효과를 설명하면 다음과 같다.
본 발명의 읽기 액세스 동작은 종래 기술과 동일하게 수행되어진다.
그리고, 쓰기 액세스를 수행함에 있어서, 라이트 백 모드에서 라이트 힛(write hit)이 났을 경우 캐시 메모리(205-1∼205-4)중 힛(hit)된 메모리의 해당 엔트리에만 외부 데이터를 라이트하고 외부 메모리에는 라이트하지 않는다.
이때, 라이트 힛된 엔트리의 4개 데이터(LW3..LW0)중 바뀐 임의의 개의 데이터에 대해서만 데이터의 유효 여부를 나타내는 비트(U)를 '1'로 바꾼다.
예를 들어, 캐시 메모리(205-1∼205-4)중 선택된 메모리의 해당 엔트리에서 데이터(LW2)만이 힛(hit)이 발생하여 바뀌었다면 정보 저장 레지스터(203-1∼203-4)중 선택된 레지스터의 해당 엔트리에서 비트(U2)만을 '1'로 세팅하고 나머지 비트(U0, U1, U3)는 수정하지 않는다.
상기의 동작을 수행하다가 만일, 리드 미스(read miss) 또는 라이트 백 미스(write back miss)가 발생함에 의하여 캐시 데이터를 업데이터하는 조건에서는 실제로 외부 메모리와 동일하지 않은 데이터는 비트(U2)에 의하여 데이터(LW2)로 판별되기 때문에 데이터(LW2)와 그 데이터(LW2)의 어드레스만이 라이트 백 버퍼(211)로 옮겨지고 그 엔트리에는 외부 메모리의 데이터에 의해 업데이트된다.
이 후, 라이트 백 버퍼(211)로 옮겨진 데이터(LW2)는 씨피유(CPU)가 외부 메모리를 액세스하지 않는 기간동안만 외부 메모리로 라이트되고 만약, 씨피유(CPU)가 외부 메모리를 액세스할 때에는 라이트 백 버퍼(211)에 계속 남겨진다.
이러한 동작에 의하여 라이트 백 버퍼(211)의 내용을 외부 메모리로 라이트하기 위하여 씨피유가 정지할 필요가 없이 계속적으로 동작을 수행할 수 있게 된다.
이때, 계속적인 리드 미스(read miss)나 라이트 백 미스(write back miss)에 의하여 라이트 백 버퍼(211)에 캐시 데이터가 계속 쌓이게 되는 경우에는 상기 라이트 백 버퍼(211)를 이루는 모든 레지스터에 캐시 데이터가 채워질 때까지 씨피유(CPU)는 동작을 계속 수행하게 된다.
거의 발생할 확률은 없지만 만일, 라이트 백 버퍼(211)가 완전히 채워진 상태에서 리드 미스(read miss) 또는 라이트 백 미스(write back miss)가 발생하여 캐시 데이터를 라이트 백 버퍼에 저장하여야 하는 경우에는 씨피유(CPU)의 동작을 정지시키고 그 저장될 데이터량만큼만 라이트 백 버퍼(211)에서 외부 메모리로 옮긴 후 해당 엔트리의 캐시 데이터를 라이트 백 버퍼(211)로 옮기게 된다.
이러한 동작이 종료되면 씨피유는 동작을 재개하게 된다.
한편, 라이트 백 버퍼(211)의 내용이 외부 메모리로 쓰여지지 않은 시점에서 씨피유(CPU)가 그 데이터를 액세스하려는 경우에는 씨피유(CPU)가 상기 라이트 백 버퍼(211)에서 해당 데이터를 직접 액세스하게 된다.
상기에서 씨피유가 외부 메모리를 액세스하지 않는 경우 또는 라이트 백 버퍼(211)가 완전히 채워진 상태에서 미스가 발생하는 경우 씨피유는 4비트인 포인터 레지스터(212)(213)에 상,하위 어드레스 포인터를 출력하여 리드 미스 또는 라이트 백 미스에 의하여 라이트 백 버퍼(211)에 저장된 캐시 데이터를 외부 메모리로 전송하도록 한다.
만일, 상,하위 어드레스 포인터의 값이 같을 경우에는 라이트 백 버퍼(211)가 비워 있는 것으로 인식하게 된다.
상기에서 라이트 백 버퍼(211)를 액세스하는 동작은 도5 의 신호 흐름도와 동일한 동작으로 이루어진다.
씨피유(CPU)는 읽기 액세스 또는 쓰기 액세스 동작을 수행하면서 캐시 메모리의 사용 여부를 판별하는데, 캐시 메모리의 사용이 아닌 경우 외부 메모리를 점검하여 원하는 데이터를 찾게 된다.
만일, 캐시 메모리의 사용인 경우 씨피유는 캐시 메모리에 원하는 데이터가 있으면 그 데이터를 읽어 들이고 반대로, 원하는 데이터가 캐시 메모리에 없다면 라이트 백 버퍼를 점검하게 된다.
이에 따라, 라이트 백 버퍼에 원하는 데이터가 있으면 씨피유는 그 데이터를 직접 읽어 들이게 되고 반대로, 원하는 데이터가 라이트 백 버퍼에 없다면 외부 메모리를 점검하여 원하는 데이터를 찾게 된다.
본 발명은 다른 실시예로서 도6 의 블록도에 도시한 바와 같이, 1개의 외부 메모리(303)를 2개의 씨피유(301)(302)가 공유하도록 구성하여 멀티-프로세싱 처리를 수행할 수 있다.
이러한 본 발명의 다른 실시예는 씨피유(301)가 외부의 메모리(303)를 액세스하고 있을 때 씨피유(302)는 상기 메모리(303)를 액세스하려는 경우 상기 씨피유(301)로 버스 사용 요구(BREQ)를 전송하게 된다.
이때, 씨피유(301)는 메모리(303)로 내부의 라이트 백 버퍼의 내용을 모두 옮기고 나서 씨피유(302)에 상기 메모리(303)의 사용 허가(back ; BUS acknowledge)를 전송하게 된다.
이에 따라, 씨피유(302)가 외부 메모리(303)를 사용하게 된다.
상기에서 상세히 설명한 바와 같이 본 발명은 미스(miss)가 계속적으로 발생하는 경우 라이트 백 버퍼에 계속적으로 캐시 데이터를 저장하는 동작을 수행하며 그때 힛(hit)이 발생된 데이터만을 저장함으로써 씨피유의 정지 시간을 줄임과 아울러 불필요한 데이터의 저장 시간을 감소시켜 처리 속도를 향상시킬 수 있는 효과가 있다.

Claims (5)

  1. 캐시(cache) 메모리를 내장한 씨피유(CPU)에 있어서, 각 엔트리에 복수개의 캐시 데이터(LW0∼LW3)를 저장하는 복수개의 캐시 메모리와, 복수개의 캐시 메모리의 각 엔트리에 저장되는 복수개의 데이터(LW0∼LW3)에 대응하여 각각의 유효 여부를 나타내는 비트(U0∼U3)를 저장하는 복수개의 정보 저장 레지스터와, 힛이 발생된 엔트리의 캐시 데이터를 저장하도록 캐시 데이터의 용량 단위인 저장 영역을 복수개 구비한 라이트 백 버퍼와, 씨피유의 상,하위 어드레스 포인터를 상기 라이트 백 버퍼에 인가하는 제1,제2 어드레스 포인터 레지스터를 포함하여 힛이 발생한 데이터만을 상기 라이트 백 버퍼에 저장하는 동작을 수행하도록 구성함을 특징으로 하는 마이크로 프로세서의 캐시 데이터 액세스 장치.
  2. 제1항에 있어서, 라이트 백 버퍼는 씨피유가 동작하는 동안 계속적으로 미스가 발생하면 저장 공간이 모두 채워질 때까지 계속적으로 힛된 캐시 데이터를 저장하도록 구성한 것을 특징으로 하는 마이크로 프로세서의 캐시 데이터 액세스 장치.
  3. 제1항 또는 제2항에 있어서, 라이트 백 버퍼는 저장 공간이 모두 채워진 경우 힛된 데이터 용량만큼의 데이터를 외부 데이터로 전송하도록 구성한 것을 특징으로 하는 마이크로 프로세서의 캐시 데이터 액세스 장치.
  4. 제1항 또는 제2항에 있어서, 라이트 백 버퍼는 저장된 캐시 데이터를 씨피유가 액세스하는 경우 그 데이터를 직접 씨피유로 전송함을 특징으로 하는 마이크로 프로세서의 캐시 데이터 액세스 장치.
  5. 캐시 메모리의 사용 여부를 판별하는 제1 단계와, 상기에서 캐시 메모리의 사용인 경우 캐시 메모리에 원하는 데이터가 있는지 판단하는 제2 단계와, 상기에서 캐시 메모리에 원하는 데이터가 없는 경우 라이트 백 버퍼에 원하는 데이터가 있는지 판단하는 제3 단계와, 상기에서 원하는 데이터가 있으면 그 데이터를 읽어 들이는 제4 단계와, 상기에서 캐시 메모리의 사용이 아니거나 라이트 백 버퍼에 원하는 데이터가 없으면 외부 메모리에서 원하는 데이터를 찾는 제5 단계를 반복적으로 수행함을 특징으로 하는 마이크로 프로세서의 캐시 데이터 액세스 방법.
KR1019970011552A 1997-03-31 1997-03-31 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법 KR19980075349A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011552A KR19980075349A (ko) 1997-03-31 1997-03-31 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011552A KR19980075349A (ko) 1997-03-31 1997-03-31 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법

Publications (1)

Publication Number Publication Date
KR19980075349A true KR19980075349A (ko) 1998-11-16

Family

ID=65951126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011552A KR19980075349A (ko) 1997-03-31 1997-03-31 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법

Country Status (1)

Country Link
KR (1) KR19980075349A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100300972B1 (ko) * 1997-09-19 2001-09-03 윤종용 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
KR100379151B1 (ko) * 2001-01-04 2003-04-07 패러데이 테크놀로지 코퍼레이션 프로세서 내부의 블록 데이터 전송 명령을 실행하는 장치및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100300972B1 (ko) * 1997-09-19 2001-09-03 윤종용 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
KR100379151B1 (ko) * 2001-01-04 2003-04-07 패러데이 테크놀로지 코퍼레이션 프로세서 내부의 블록 데이터 전송 명령을 실행하는 장치및 방법

Similar Documents

Publication Publication Date Title
KR100262906B1 (ko) 데이터 선인출 방법 및 시스템
US3761881A (en) Translation storage scheme for virtual memory system
KR100228940B1 (ko) 메모리 일관성 유지 방법
US5210843A (en) Pseudo set-associative memory caching arrangement
EP0408058A2 (en) Microprocessor
US5530823A (en) Hit enhancement circuit for page-table-look-aside-buffer
US7472227B2 (en) Invalidating multiple address cache entries
JPS62145340A (ja) キヤツシユメモリ制御方式
US5590310A (en) Method and structure for data integrity in a multiple level cache system
CN108959125B (zh) 一种支持数据快速获取的存储访问方法和装置
US7577791B2 (en) Virtualized load buffers
US6976130B2 (en) Cache controller unit architecture and applied method
US5781922A (en) Page boundary caches
US4648033A (en) Look-aside buffer LRU marker controller
CA1299767C (en) Cache memory control system
KR910005160A (ko) 라이트액세스시에 무효화신호를 발생하여 3가지 상태를 갖는 멀티프로세서 캐시시스템
KR19980075349A (ko) 마이크로 프로세서의 캐시 데이터 액세스 장치 및 방법
JP3733604B2 (ja) キャッシュメモリ
EP0334479A2 (en) Pseudo set-associative memory cacheing arrangement
JPS5922315B2 (ja) バツフア記憶制御方式
JP2703255B2 (ja) キャッシュメモリ書込み装置
JP3729832B2 (ja) キャッシュメモリ装置
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법
JP2680293B2 (ja) データ処理装置及びキャッシュメモリ制御方法
JPH07152650A (ja) キャッシュ制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application