초록
버스 분할 기법은 통신이 많은 모듈들을 가까이 배치하고 필요한 버스 단편만 사용함으로 버스 에너지 소비를 줄인다. 그러나 MPSoC와 같은 다중 프로세서 플랫폼에서는 캐시 일관성을 유지하기 위하여 모든 프로세서에서 버스 트랜잭션을 알아야 하므로, 기존의 버스 분할 기법을 적용할 수 없다. 본 논문에서는 공유 메모리 기반의 MPSoC 플랫폼에서 버스 에너지를 절감시키기 위한 버스 분할 기법을 제안한다. 제안된 버스 분할 기법은 비 공유 메모리와 공유 메모리의 버스를 분할함으로써, 캐시 일관성을 유지하며 비 공유 메모리를 참조할 때 소비하는 버스 에너지를 최소화시킨다. 또한, 태스크별 버스 트랜잭션 횟수를 기반하여 태스크를 할당함으로써, 공유 메모리를 참조할 때 소비하는 버스 에너지를 절감시키는 캐시 일관성을 고려한 태스크 할당 기법을 제안한다. 시뮬레이션을 통한 실험에서 제안된 버스 분할 기법은 비 공유 메모리 참조시의 버스 에너지를 최대 83%까지 절감시키며, 태스크 할당 알고리즘은 공유 메모리 참조시의 버스 에너지를 최대 36%까지 절감시키는 효과가 있음을 보여준다. 그럼으로 다중 프로세서 시스템에서도 버스 분할 기법을 적용하여 버스 에너지 절감 효과를 볼 수 있으며, 캐시 일관성을 고려한 태스크 할당 기법을 통해 추가적으로 버스 에너지를 절감할 수 있음을 보여준다.
Bus splitting technique reduces bus energy by placing modules with frequent communications closely and using necessary bus segments in communications. But, previous bus splitting techniques can not be used in MPSoC platform, because it uses cache coherency protocol and all processors should be able to see the bus transactions. In this paper, we propose a bus splitting technique for MPSoC platform to reduce bus energy. The proposed technique divides a bus into several bus segments, some for private memory and others for shared memory. So, it minimizes the bus energy consumed in private memory accesses without producing cache coherency problem. We also propose a task allocation technique considering cache coherency protocol. It allocates tasks into processors according to the numbers of bus transactions and cache coherence protocol, and reduces the bus energy consumption during shared memory references. The experimental results from simulations say the bus splitting technique reduces maximal 83% of the bus energy consumption by private memory accesses. Also they show the task allocation technique reduces maximal 30% of bus energy consumed in shared memory references. We can expect the bus splitting technique and the task allocation technique can be used in multiprocessor platforms to reduce bus energy without interference with cache coherency protocol.