Multiprocessors are the most appropriate type of computer systems to meet the increasing need for more computing power. Among them, the distributed shared-memory multiprocessors are being considered to be the most promising architecture from a performance and programmability perspective.
One of the most critical issues in the design of the distributed shared-memory multiprocessors is the cache coherence strategy. Among the cache coherence strategies, the directory scheme delivers the best performance.
In this thesis, the multiprocessor, which is based on the memory-based fullmap directory scheme, is implemented using VHDL, and the correctness of the directory scheme is verified by executing the trace-driven simulation with real traces. The design problems encountered in implementing the multiprocessor, such as deadlock, are examined. The implementation of the multiprocessor using VHDL can have the benefit that the implementation of the multiprocessor into real hardware may be accomplished without severe efforts.
The trace-driven simulation shows that, when the cache hit rate is sufficiently high, the write operation is one of the main bottlenecks which degrade system performance. If the cache hit rate is low, the unnecessary replacements occur frequently. By these replacements, the latency of read operation can be lengthened. The cache hit rate has a great effect on the system performance. Therefore, it is very important to keep the cache hit rate high.
날로 증가하고 있는 연산능력에 대한 요구를 충족시킬수 있는 컴퓨터 시스템 중에서 다중프로세서는 가장 적합한 형태이다. 그 중에서도 분산 공유 메모리 다증프로세서는 성능면이나 확장성면에서 가장 우수한 다중프로세스의 형태의 하나이다. 분산 공유 메모리 다중프로세서의 설계에서 가장 중요한 부분은 케쉬 일관성(Cache Coherence)의 설계이다. 그 케쉬 일관성 방법 중에서 풀맵(Full-map)디렉토리 방법은 가장 좋은 성능을 보이는 방법이다. 본 논문에서는, 메모리를 기반으로한 풀맵 디렉토리 다중프로세서를VHDL로 구현하고, 그 곳에 사용된 디렉토리 방법의 정확성(Correctness)을 실제 트레이스를 이용한 트레이스 진행 시뮬레이션(Trace-driven Simulation)을 통해서 검증을 하였다. 또한 데드락에 관련된 설계 문제들에 대해서도 살펴 보았다. 그리고, 데드락을 제거하는 방법에 대해서 알아 보았다. 트레이스 진행 시뮬레이션을 통하여, 케쉬 적중률(hite rate)이 높을때, 쓰기에 관한 동작이 시스템의 성능을 저하시키는 주요한 요인 중에 하나인 것을 알았다. 또한 케쉬 적중률이 낮을 때, 교체(replacement)가 빈번하게 일어나서 읽기 동작의 시간을 지연시킨다. 케쉬의 적중률이 시스템의 성능에 지대한 영향을 미치기 때문에, 케쉬의 크기를 크게하여 케쉬 적중률을 높이는 것이 무었보다도 중요한 일이다.