현재 사용되고 있는 개인용 컴퓨터의 중앙처리장치로서 주종을 이루고 있는 마이크로프로세서는 256KB, 혹은 512KB의 L2(Second Level) 캐쉬를 Direct Mapping, 32B 라인사이즈, 그리고 Write Allocation을 채택하지 않는 형태로 사용하고 있는데, 이러한 L2 캐쉬에서 Mapping 방식을 8-way Set Associative Mapping Procedure로 바꾸고, 라인사이즈를 늘려서 128B 이상으로 변경하고, 그리고 Write Allocation을 채택하였을 경우 그 적중률(Hit Ratio)이 약간의 하드웨어적 추가 비용만으로 2.5% 정도 개선됨을 확인하였다.
현재 사용되고 있는 개인용 컴퓨터의 중앙처리장치로서 주종을 이루고 있는 마이크로프로세서는 256KB, 혹은 512KB의 L2(Second Level) 캐쉬를 Direct Mapping, 32B 라인사이즈, 그리고 Write Allocation을 채택하지 않는 형태로 사용하고 있는데, 이러한 L2 캐쉬에서 Mapping 방식을 8-way Set Associative Mapping Procedure로 바꾸고, 라인사이즈를 늘려서 128B 이상으로 변경하고, 그리고 Write Allocation을 채택하였을 경우 그 적중률(Hit Ratio)이 약간의 하드웨어적 추가 비용만으로 2.5% 정도 개선됨을 확인하였다.
A microprocessor, which is used as a CPU for state-of-the-art personal computers, adopts 256KB or 512KB L2(Level 2) cache memory. This cache hires Direct Mapping Procedure, 32B Line Size, and no Write Allocation. In this cache architecture, we can expert about 2.5% hit ratio improvement by using 8-w...
A microprocessor, which is used as a CPU for state-of-the-art personal computers, adopts 256KB or 512KB L2(Level 2) cache memory. This cache hires Direct Mapping Procedure, 32B Line Size, and no Write Allocation. In this cache architecture, we can expert about 2.5% hit ratio improvement by using 8-way Set Associative Mapping instead of Direct Mapping, 128B Line Size instead of 32B, and Write Allocation.
A microprocessor, which is used as a CPU for state-of-the-art personal computers, adopts 256KB or 512KB L2(Level 2) cache memory. This cache hires Direct Mapping Procedure, 32B Line Size, and no Write Allocation. In this cache architecture, we can expert about 2.5% hit ratio improvement by using 8-way Set Associative Mapping instead of Direct Mapping, 128B Line Size instead of 32B, and Write Allocation.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 이러한 방식으로 운영되고 있는 펜티엄 프로세서의 L2 캐쉬의 성능을 개선시킬 수 있는 방안을 제시한다. 즉, L2 캐쉬의 사상방식을 8-way Set Associative Mapping 방식으로 바꾸고, 그 라인사이즈를 128B이상으로 대체하며, 쓰기 동작 실패(Write Miss) 시에도 해당 라인을 캐쉬로 읽어 오는 Write Allocation을 채택한다.
제안 방법
트레이스를 사용하였다.(표2와 3에서는 트레이스 목록 생략) 기록방식은 펜티엄에서 사용하는 Write-Back 방식을 채택하였으며, 버스의 폭(Wi dth of Memory Bus) 은 PCI(Peripheral Component Interconnect)의 그것인 64bit(8Bytes)를 사용하였으며'”, 캐쉬용량 8KB부터 1MB까지 각각의 라인사이즈 4B부터 512B까지 실험하였다. 또한 Direct M apping의 경우에는 필요하지 않으나 Set Associative Mapping에서는 반드시 필요한 교환방식(Replace ment Algorithm) 으로는 LRU(Least Recently Used) 방식을 채택하였으며, 펜티엄에서는 Write Allocation을 사용하지 않으므로 표1과 2의 경우 기록동작 시 실패(Miss)가 발생하면 기록할 데이터를 주기억장치에 직접 기록하도록 하였다.
(표2와 3에서는 트레이스 목록 생략) 기록방식은 펜티엄에서 사용하는 Write-Back 방식을 채택하였으며, 버스의 폭(Wi dth of Memory Bus) 은 PCI(Peripheral Component Interconnect)의 그것인 64bit(8Bytes)를 사용하였으며'”, 캐쉬용량 8KB부터 1MB까지 각각의 라인사이즈 4B부터 512B까지 실험하였다. 또한 Direct M apping의 경우에는 필요하지 않으나 Set Associative Mapping에서는 반드시 필요한 교환방식(Replace ment Algorithm) 으로는 LRU(Least Recently Used) 방식을 채택하였으며, 펜티엄에서는 Write Allocation을 사용하지 않으므로 표1과 2의 경우 기록동작 시 실패(Miss)가 발생하면 기록할 데이터를 주기억장치에 직접 기록하도록 하였다. 그리고 현재의 펜티엄에서 Tag RAM의 용량을 반으로 감소시키기 위해 사용한 Sector의 개념은 본 논문에서 도입하지 아니하였다.
필요하다. 본 논문에서는 8개 라인 중 가장 오래 전에 접근된 경험을 갖는 라인을 골라 포기하는 LRU(Least Recently Used) 방식을 사용하였으며, 이를 구현하기 위해서는 각 캐쉬 라인 번호의 각 라인(8개)마다 홍}나씩의 카운터(Counter)가 필요하다.
상기한 성능분석을 위해서 본 저자가 개발한 시뮬레이터를 사용하였으며, 시뮬레이션 수행 시 좀더 높은 객관성을 부여하기 위하여 기존의 시뮬레이션에서 사용하던 4개의 독립된 실제 응용프로그램 트레이스(Traces: lisp.000.din, pasc.000.din, forf.003.d in, macr.000.din) - 미국에 소재하는 MORGAN K AUFMANN PUBLISHERS, INC.에 의해 제작되어 이러한 실험을 필요로 하는 일반에게 자기 테이프로 제공됨.
이러한 각 캐쉬구조의 적중률 비교를 위하여 그림1에 Direct Mapping 256KB, 512KB, 8-way 256 KB, 512KB, 그리고 Write Allocation을 채택한 8-way 256KB, 512KB 캐쉬구조의 라인사이즈의 변화에 따른 적중률 변화를 나타내었다. 위에서 설명한 바와 같은 캐쉬 사용으로 인한 전송 지연 때문에 그림1의 그래프에서 Direct Mapping의 라인 사이즈 512B 부분은 나타내지 아니하였다.
방안을 제시한다. 즉, L2 캐쉬의 사상방식을 8-way Set Associative Mapping 방식으로 바꾸고, 그 라인사이즈를 128B이상으로 대체하며, 쓰기 동작 실패(Write Miss) 시에도 해당 라인을 캐쉬로 읽어 오는 Write Allocation을 채택한다. 이렇게 함으로써 약간의 하드웨어적 추가부담이 발생하지만, VLSI 기술 발달로 인한 지속적인 하드웨어 가격 인하에 기인하여 그 부담은 매우 미미해 지며, Direct Mapping과 32B 라인사이즈를 쓰는 경우에 비해 적중률이 2.
표1 과 표2는 각각 Write Allocation을 채택하지 않은 Direct Mapping과 8-way Set Associative Ma pping의, 그리고 표3은 Write Allocation을 채택한 8-way Set Associative Mapping의 시뮬레이션 수행결과를 보여주고 있는데, 표1에서 보는 바와 마찬가지로 객관성 제고를 위하여 충분한 개수의(13개) 응용프로그램 트레이스를 사용하였다.(표2와 3에서는 트레이스 목록 생략) 기록방식은 펜티엄에서 사용하는 Write-Back 방식을 채택하였으며, 버스의 폭(Wi dth of Memory Bus) 은 PCI(Peripheral Component Interconnect)의 그것인 64bit(8Bytes)를 사용하였으며'”, 캐쉬용량 8KB부터 1MB까지 각각의 라인사이즈 4B부터 512B까지 실험하였다.
대상 데이터
에 의해 제작되어 이러한 실험을 필요로 하는 일반에게 자기 테이프로 제공됨.에 추가로 9개의 트레이스를 미국 stan ford 대학으로부터 Download 받아 시뮬레이션 사용하였다.
성능/효과
55% 이득이 있다. 그러나 라인사이즈와 캐쉬 사이즈를 각각 32B 에서 128B5, 256KB 에서 512KB로 각각 바꿀 경우 1.59%의 적중률 개선이 있음을 알 수 있다
그러나 라인사이즈 128B의 경우에는 16회(128Byte/6化it)의 접근이 필요하므로 많은 전송지연이 발생하게 된다. 따라서 본 논문에서 제시된 2.5%의 적중률 향상을 위해서는 버스 폭을 현재의 64비트에서 256비트로 4배 확장하여야만 한다. 그런데 적중률이 2.
셋째, 현재 펜티엄의 경우 라인사이즈 32B를 인출하기 위해서는 주기억장치를 4회(32Byte/64bit) 접근하여야 한다. 그러나 라인사이즈 128B의 경우에는 16회(128Byte/6化it)의 접근이 필요하므로 많은 전송지연이 발생하게 된다.
즉, L2 캐쉬의 사상방식을 8-way Set Associative Mapping 방식으로 바꾸고, 그 라인사이즈를 128B이상으로 대체하며, 쓰기 동작 실패(Write Miss) 시에도 해당 라인을 캐쉬로 읽어 오는 Write Allocation을 채택한다. 이렇게 함으로써 약간의 하드웨어적 추가부담이 발생하지만, VLSI 기술 발달로 인한 지속적인 하드웨어 가격 인하에 기인하여 그 부담은 매우 미미해 지며, Direct Mapping과 32B 라인사이즈를 쓰는 경우에 비해 적중률이 2.5% 정도 향상되었다
이상에서 설명한 바와 같이 약간의 하드웨어 비용의 추가부담으로 Direct Mapping 을 8-way Set A ssociative Mapping으로 그리고 라인사이즈를 32B 에서 128B로 변경하고 Write Allocation올 채택해줌으로써 L2 캐쉬의 적중«97%)을 99.47%로 향상시킬 수 있다. 상기한 바와 같이 오늘날 VLSI 기술의 눈부신 발전으로 인하여 간단한 병렬 비교기나 카운터의 추가적인 제작, 또는 캐쉬와 주기억장치 간 버스 폭의 확장 둥에는 그 비용이 별로 많이 들지 아니한다.
여기서 세 가지 문제점이 발생된다. 첫째, Direct Mapping의 경우는 각 주기억장치 라인이 캐쉬에 기억될 때 그 기억될 라인이 이미 정해져 있고 태그(Tag)가 하나밖에 없으므로 적중여부의 판단이 간단하여 결정속도가 빠르나, 8-way의 경우는 8개의 태그를 순차적으로 비교해야 하므로 속도가 느려지게 된다. 이를 해결하기 위해서는 8개의 태그를 동시에 병렬 비교하는 약간의 논리회로(병렬 비교기)나 소용량의 연관기억장치 (Associative Memory)가 필요하다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.