Visualizing CPU Microarchitecture

Tomasz Wojtowicz

Abstrakt

Deep understanding of microprocessor architecture, its internal structure and mechanics of its work is essential for engineers in the fields like computer science, integrated circuit design or embedded systems (including microcontrollers). Usually the CPU architecture is presented at the level of ISA, functional decomposition of the chip and data flows. In this paper we propose more tangible, interactive and effective approach to present the CPU microarchitecture. Based on the recent advancements in simulation of MOS6502, one of the most successful microprocessor of all times, that started the personal computing revolution, we present the CPU visualisation framework. The framework supports showing CPU internals at various levels (from single transistor, through logic gates, ending with registers, operation decoders and ALU). It allows for execution of real code and detailed analysis of fetch–decode–execute cycle, measurement of cycles per operation or measurement of the CPU activity factor. The analysis means provided by this framework will also enable us to propose the transistor level simulation speed improvements to the model in the future.

Słowa kluczowe: CPU, microarchitecture, simulation, registers, pipeline, activity, 6502
References
[1] Matthews B., Shaon A., Bicarregui J., Jones C., A framework for software preservation. The International Journal of Digital Curation, 2010, 5(1), pp. 91–105.
[2] Owens T., Preserving.exe: Towards a National Strategy for Software Preservation. NDIIPP. http://www.digitalpreservation.gov/multimedia/documents /PreservingEXE report final101813.pdf, 2013 [Accessed 7-July-2014].
[3] Adam, DICE – Digital Integrated Circuit Emulator. http://adamulation.blog spot.com/, 2012 [Accessed 5-July-2014].
[4] Byuu, Accuracy takes power: one mans 3GHz quest to build a perfect SNES emulator. http://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans3ghz-quest-to-build-a-perfect-snes-emulator/, 2011 [Accessed 5-July-2014].
[5] Aspray W., The intel 4004 microprocessor: What constituted invention? IEEE Annals of the History of Computing, 1997, 19(3), pp. 4–15.
[6] Faggin F., Intel 4004 - 35th Anniversary Project. http://www.4004.com/, 2005 [Online; accessed 5-July-2014].
[7] James G., Silverman B., Silverman B., Visualizing a classic cpu in action: the 6502. In: SIGGRAPH Talks, ACM, 2010.
[8] Zhou Y., Xu T., David B., Chalon R., Innovative wearable interfaces: an exploratory analysis of paper-based interfaces with camera-glasses device unit. Personal and Ubiquitous Computing, 2014, 18(4), pp. 835–849.
[9] Bagnall B., Commodore: A Company on the Edge, 2010.
[10] Maher J., The Future Was Here: The Commodore Amiga (Platform Studies). The MIT Press, Cambridge, 2012.
[11] Vendel C., Goldberg M., Atari Inc.: Business is Fun. Syzygy Press, New York 2012.
[12] Hanson D.F., A vhdl conversion tool for logic equations with embedded d latches. In: Proceedings of the 1995 Workshop on Computer Architecture Education. WCAE-1 ’95, New York, ACM, 1995.
[13] Tanenbaum A.S., Structured Computer Organization (5th Edition). PrenticeHall, Inc., Upper Saddle River, NJ, USA, 2005.
[14] Drepper U., What every programmer should know about memory. http://lwn.net/Articles/250967/, 2007 [Accessed 5-July-2014].
[15] Inc. O., Missing cache visualization. http://www.overbyte.com.au/misc/Lesson3 /CacheFun.html, 2010 [Accessed 5-July-2014].
[16] Stokes J., Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture. ArsTechnica Library, San Francisco, 2006.
[17] James G., Silverman B., Silverman B., Visual 6502 CPU simulator. http://www.visual6502.com/, 2011 [Accessed 5-July-2014].

Czasopismo ukazuje się w sposób ciągły on-line.
Pierwotną formą czasopisma jest wersja elektroniczna.

Wersja papierowa czasopisma dostępna na www.wuj.pl