Abstract
A hardware queue is one way to facilitate inter-processor communication. Such a queue is used in a simulated dual-core system in this project. Simulation data is gathered and analysis is done to compare the performance of a dual-core system that uses a queue with the dual-core system that does not use a queue. The systems are simulated using Wind River Simics, a full-system simulator capable of functionally simulating a number of platforms based on different architectures. In this study, a software-controlled queue is modeled using Python scripting language and is used in the Simics simulation environment. A producer thread (written in C) is used to communicate its computed data either through memory or via a queue to a consumer thread, also written in C. The threads are executed in Simics simulation environment. The performance data and its analysis are reported using different values of computational delays and different queue sizes. The results indicate that a hardware queue on an average will increase performance as long as computational delays are small. Queue becomes more efficient as the number of data items communicated via the queue increases.