KR960029986A - Data processing device and cache memory control method - Google Patents

Data processing device and cache memory control method Download PDF

Info

Publication number
KR960029986A
KR960029986A KR1019960001988A KR19960001988A KR960029986A KR 960029986 A KR960029986 A KR 960029986A KR 1019960001988 A KR1019960001988 A KR 1019960001988A KR 19960001988 A KR19960001988 A KR 19960001988A KR 960029986 A KR960029986 A KR 960029986A
Authority
KR
South Korea
Prior art keywords
data
cache
write
address
buffer
Prior art date
Application number
KR1019960001988A
Other languages
Korean (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 KR960029986A publication Critical patent/KR960029986A/en

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache

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

스와프방식에 의해 제어되는 캐쉬메모리를 구비한 데이타처리장치, 더 나아가서는 그 캐쉬메모리의 제어방법에 관한 것으로서, 동일 캐쉬라인을 대상으로 하는 연속적인 저장시에도 캐쉬미스에 의한 데이타처리성능의 저하를 저지하기 위해 저장명령실행시의 캐쉬미스에 있어서 미스에 관련된 상위기억장치로부터의 블럭데이타를 새로운 캐쉬엔트리로서 추가하는 캐쉬제어방식에 있어서 동일 캐쉬라인에 놓여지는 동일 블럭으로의 저장이 연속할 때, 그것을 어드레스비교기가 검출하고, 일단 캐쉬미스가 발생한 후의 캐쉬미스에 있어서도 캐쉬제어장치가 그 저장데이타를 계속해서 라이트버퍼에 유지시키고, 이 상태는 저장요구에 대한 응답으로서 명령처리장치로 되돌려져 명령처리장치는 연속하는 상기 저장명령의 실행완료를 인식해서 다음의 명령실행으로 제어를 진행한다. 이러한 것에 의해 명령처리장치의 처리대기의 기간을 단축할 수 있다.The present invention relates to a data processing apparatus having a cache memory controlled by a swapping method, and more particularly to a method of controlling the cache memory, and it is possible to prevent degradation of data processing performance due to cache miss In a cache control method for adding block data from an upper storage device related to a miss in a cache miss at the time of execution of a storage command as a new cache entry, when storage in the same block placed on the same cache line continues, The address comparator detects the occurrence of a cache miss, and the cache controller continues to hold the storage data in the write buffer even after a cache miss occurs. This state is returned to the instruction processing device as a response to the storage request, Recognizes completion of execution of the successive storage command, Execute control by command execution. This makes it possible to shorten the waiting period of the processing of the instruction processing apparatus.

Description

데이타처리장치 및 캐쉬메모리제어방법Data processing device and cache memory control method

본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음Since this is a trivial issue, I did not include the contents of the text.

제1도는 본 발명의 제1실시예에 관한 마이크로프로세서의 블럭도, 제2도는 명령처리장치의 일부를 예시한 블럭도, 제3도(A), 제3도(B) 및 제3도(C)는 여러회의 저장명령실행에 관한 저장데이타의 저장위치를 순차바꾸어서 라이트버퍼에 저장한 상태를 도시한 설명도.1 is a block diagram of a microprocessor according to a first embodiment of the present invention; Fig. 2 is a block diagram illustrating a part of an instruction processing apparatus; Fig. 3 (A) C) is an explanatory diagram showing a state in which storage locations of storage data related to execution of a plurality of storing instructions are sequentially changed and stored in a write buffer.

Claims (5)

어드레스신호를 생성해서 메모리액세스할 수 있는 명령처리장치, 어드레스신호에 포함되는 인덱스어드레스에 의해서 캐쉬라인이 선택되고, 캐쉬라인은 상기 어드레스신호에 포함되는 태그어드레스와 비교될 캐쉬태그와 쌍을 이루는 1개의 블럭데이타영역을 갖고, 선택된 캐쉬라인에 있어서의 블럭데이타의 영역중에서 1개의 데이타영역의 소재가 데이타어 선택정보에 의해서 지정되는 캐쉬메모리, 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 있어서 미스에 관련된 인덱스어드레스 및 태그어드레스를 공통으로 하는 블럭데이타가 캐쉬메모리의 상위기억장치에서 전송되는 무브인데이타버퍼, 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 있어서, 미스에 관련된 어드레스신호의 태그어드레스 및 인덱스어드레스를 유지하는 라이트어드레스 버퍼, 상기 1개의 블럭데이타영역에 상당하는 기억영역에 데이타어 선택정보에 따라서 라이트데이타를 유지하는 라이트데이타버퍼 및 라이트데이타버퍼에 유지된 라이트데이타의 데이타어 선택정보를 유지하는 데이타어 선택정보버퍼를 구비한 라이트버퍼, 라이트액세스의 어드레스신호에 포함되는 상기 태그어드레스 및 인덱스어드레스를 라이트어드레스버퍼가 유지되는 태그어드레스 및 인덱스어드레스와 비교하는 어드레스비교기 및 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 있어서, 상기 리이트데이타버퍼에 유효한 데이타가 유지되어 있지 않을 때와 마찬가지로 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 있어서 라이트데이타버퍼에 유효한 데이타가 유지되고, 상기 어드레스비교기에 의한 일치가 검출되었을 때에 상기 라이트액세스에 관련된 라이트데이타를 그 데이타어 선택정보에 따른 라이트데이타버퍼상의 블럭데이타영역의 데이타영역에 저장시키는 캐쉬제어장치를 구비해서 이루어지는 것을 특징으로 하는 데이타처리장치.A cache line is selected by an index address included in an address signal, and a cache line is divided into a pair of cache tags to be compared with a tag address included in the address signal A cache memory having a block data area of one block data area and one block data area of a selected cache line designated by data item selection information; In which the block data having a common index address and a tag address are transferred from an upper storage unit of the cache memory, and a cache miss in the cache memory in the write access, A writeer that maintains the address A write data buffer for holding write data in accordance with the data selection information in a storage area corresponding to the one block data area and data selection information for holding data selection information of the write data held in the write data buffer An address comparator that compares the tag address and the index address included in the write buffer with the buffer and the write access address signal with the tag address and the index address in which the write address buffer is held, and a cache miss in the cache memory in the write access Valid data is held in the write data buffer in the cache miss in the cache memory in the write access as in the case where valid data is not held in the wait data buffer and when the coincidence by the address comparator is detected And a cache control device for storing write data related to the write access in a data area of a block data area on a write data buffer according to the data select information. 제1항에 있어서, 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 있어서, 상위기억장치에서 무브인데이타버퍼로 전송완료된 블럭데이타를 상기 데이타어 선택정보버퍼의 데이타어 선택정보가 나타내는 라이트데이타버퍼상의 데이타영역의 데이타로 치환해서 캐쉬메모리로 공급하는 선택회로를 구비해서 이루어지는 것을 특징으로 하는 데이타처리장치.The cache miss of a cache memory according to any one of claims 1 to 3, characterized in that the cache miss of the cache memory in the write access is determined such that block data that has been transferred from the upper storage device to the move-in data buffer is stored on the write data buffer indicated by the data- And supplying the data to the cache memory by replacing the data in the data area with the data in the data area. 제2항에 있어서, 상기 명령처리장치는 명령페치, 명령디코드, 연산, 메모리액세스 및 라이트의 각 스테이지를 포함해서 명령실행을 파이프라인제어하는 시퀀스제어회로를 구비하고, 이 시퀀스제어회로는 저장명령에 의한 메모리 라이트 액세스의 요구를 캐쉬제어장치에 부여하고, 그것에 대한 응답을 대기해서 다음 명령의 메모리엑세스로 진행하고, 또한 파이프라인록의 지시가 유효로 되는 기간에 있어서는 메모리액세스 이전의 파이프라인 스테이지의 동작을 정지시키는 것이고, 상기 캐쉬제어장치는 저장명령에 의한 메모리 라이트 액세스가 요구되었을 때, 그 요구에 따른 라이트액세스가 캐쉬히트의 상태, 그 요구에 따른 라이트액세스가 캐쉬미스이고 또한 상기 라이트데이타버퍼에 유효한 데이타가 유지되어 있지 않는 상태 및 그 요구에 따른 라이트 액세스가 캐쉬미스이고 또한 라이트데이타버퍼에 유효한 데이타가 유지되어 어드레스비교기에 의한 일치가 검출된 상태의 각각에 있어서 상기 메모리액세스요구에 대한 응답을 명령처리장치로 되돌리고, 또, 그 메모리액세스요구에 따른 라이트액세스가 캐쉬미스이고 또한 라이트데이타버퍼에 유효한 데이타가 유지되고 어드레스비교기에 의한 불일치가 검출된 상태에서는 명령처리장치에 파이프라인록을 지시하고, 그 후 캐쉬미스에 관련된 어드레스의 블럭데이타가 상위기억장치에서 상기 무브인데이타버퍼로 전송완료되는 것을 대기해서 파이프라인록의 해제와 상기 메모리액세스요구에 대한 응답을 명령처리장치에 부여하는 것을 특징으로 하는 데이타처리장치.3. The apparatus according to claim 2, wherein the instruction processing device includes a sequence control circuit for pipelining instruction execution including each stage of instruction fetch, instruction decode, operation, memory access, and write, To the cache control device, waits for a response to the request, and proceeds to the memory access of the next instruction. In a period in which the instruction of the pipeline lock is valid, the pipeline stage before the memory access When the memory access is requested by the store instruction, the write access according to the request is a cache hit state, the write access according to the request is a cache miss, and the write data If no valid data is held in the buffer and A response to the memory access request is returned to the instruction processing device in each of the states in which write access is a cache miss and valid data is held in the write data buffer and matching by the address comparator is detected, , The pipeline lock is instructed to the instruction processing device in the state where the write access according to the cache miss is held and the valid data is held in the write data buffer and the address comparator detects the inconsistency, and then the block data of the address related to the cache miss Waiting for completion of transfer from the storage device to the move-in data buffer, and releases the pipeline lock and gives a response to the memory access request to the command processing device. 제1항에 있어서, 명령처리장치는 연산회로, 내부버스에 결합된 레지스터회로, 내부버스 상의 라이트데이타를 상기 내부버스보다 비트수가 많은 캐쉬버스로 분할하기 위한 얼라이너 및 연산회로에서 출력되는 라이트어드레스와 라이트데이타의 사이즈정보를 받아 라이트어드레스의 일부를 디코드해서 얻어지는 비트위치를 기준으로 데이타사이즈에 따른 비트를 선택레벨로 해서 데이타어 선택정보를 생성함과 동시에 생성된 데이타어 선택정보로 지시되는 캐쉬버스상의 데이타위치에 내부버스를 분할하여 제어하는 디코더를 구비해서 이루어지는 것을 특징으로 하는 데이타처리장치.The instruction processing apparatus according to claim 1, wherein the instruction processing apparatus comprises: an arithmetic circuit; a register circuit coupled to the internal bus; an aligner for dividing the write data on the internal bus into a cache bus having a larger number of bits than the internal bus; And data size selection information is generated by using a bit corresponding to the data size as a selection level based on a bit position obtained by decoding a part of the write address and size information of the write data, And a decoder for dividing and controlling an internal bus at a data location on the bus. 메모리를 라이트액세스 할 수 있는 명령처리장치. 이 명령처리장치에 접속된 캐쉬메모리, 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 관련된 액세스어드레스정보와 라이트데이타를 일시적으로 유지하는 라이트 버퍼 및 상기 미스에 관련된 액세스어드레스의 데이타를 포함하는 블럭데이타가 캐쉬메모리의 상위기억장치에서 전송되는 무브인 데이타버퍼를 구비한 데이타처리장치에 있어서의 캐쉬메모리제어방법으로서, 라이트액세스에 있어서의 캐쉬메모리의 캐쉬미스에 대해서 상기 무브인데이타버퍼로 상기 블럭데이타를 전송하는 제1의 처리, 상기 무브인데이타버퍼로 데이타전송된 블럭데이타의 일부를 라이트 버퍼가 보유하는 캐쉬미스에 관련된 라이트데이타로 치환해서 캐쉬메모리의 소정의 캐쉬라인에 저장하는 제2의 처리 및 상기 제2의 처리전에 캐쉬라인을 공유하는 액세스어드레스에 대한 캐쉬미스에 관련된 라이트액세스가 계속되었을 때, 상기 후속의 캐쉬미스에 관련된 라이트데이타를 앞서 저장되어 있는 라이트데이타와 저장위치를 바꾸어서 라이트버퍼에 저장하는 제3의 처리를 포함하는 것을 특징으로 하는 캐쉬메모리제어방법.A command-processing device capable of writing access to memory. An access address information related to a cache miss of a cache memory in write access, a write buffer for temporarily holding write data, and block data including data of an access address related to the miss A cache memory control method in a data processing apparatus having a move-in data buffer that is transferred from an upper storage apparatus of a cache memory, the cache memory control method comprising: A second process of replacing part of the block data transferred to the move-in data buffer with write data related to a cache miss held by the write buffer and storing the replacement data in a predetermined cache line of the cache memory, and An accessor that shares a cache line before the second process And a third process of storing write data related to the subsequent cache miss in the write buffer by replacing the previously stored write data with the storage location when write access to the cache miss associated with the cache miss continues, The cache memory control method comprising: ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: It is disclosed by the contents of the first application.
KR1019960001988A 1995-01-31 1996-01-30 Data processing device and cache memory control method KR960029986A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7034422A JPH08212133A (en) 1995-01-31 1995-01-31 Data processor and cache memory control method
JP95-034422 1995-01-31

Publications (1)

Publication Number Publication Date
KR960029986A true KR960029986A (en) 1996-08-17

Family

ID=12413777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960001988A KR960029986A (en) 1995-01-31 1996-01-30 Data processing device and cache memory control method

Country Status (3)

Country Link
JP (1) JPH08212133A (en)
KR (1) KR960029986A (en)
TW (1) TW296442B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999049395A1 (en) * 1998-03-23 1999-09-30 Hitachi, Ltd. Buffer memory controller
KR100794312B1 (en) 2006-12-27 2008-01-11 삼성전자주식회사 Memory controller with automatic command processing unit and memory system including the same
WO2012093475A1 (en) * 2011-01-05 2012-07-12 富士通株式会社 Information transfer device and information transfer method of information transfer device
US12105629B2 (en) 2022-07-25 2024-10-01 Samsung Electronics Co., Ltd. Adaptive cache indexing for a storage device

Also Published As

Publication number Publication date
JPH08212133A (en) 1996-08-20
TW296442B (en) 1997-01-21

Similar Documents

Publication Publication Date Title
US4561051A (en) Memory access method and apparatus in multiple processor systems
KR960006484B1 (en) Cache memory device
US6321328B1 (en) Processor having data buffer for speculative loads
JP2003509733A5 (en)
JPH08328958A (en) Instruction cache as well as apparatus and method for cache memory
JPS61250738A (en) Branch activity recording table
KR890005352B1 (en) Buffer storage system
US4774687A (en) Advanced store-in system for a hierarchy memory device
US6859860B2 (en) Control circuits comparing index offset and way for cache system and method of controlling cache system
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JP4047281B2 (en) How to synchronize cache memory with main memory
JPH0410102B2 (en)
KR960029986A (en) Data processing device and cache memory control method
JPS638851A (en) Cache memory control system
US7373458B2 (en) Cache memory system with multiple ports cache memories capable of receiving tagged and untagged requests
US6745313B2 (en) Absolute address bits kept in branch history table
US5276853A (en) Cache system
US5574924A (en) Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions
EP1278121B1 (en) Microprocessor maintaining memory consistency
GB2037466A (en) Computer with cache memory
JPS6232508B2 (en)
JPH04333929A (en) Cache memory control system
JP2902847B2 (en) Self-modifying code execution method
JPH0210450A (en) Prefetch control system for cache memory
KR100201671B1 (en) Computing system with a cache memory and an additional look-aside cache memory

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination