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.