Computer architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals (Wikipedia).
With the invasion of digital devices during the last decade (cellphones, wireless routers, digital TV…), it has become more than ever ubiquitous.
However, it is still a poorly known subject for most people. Even among the self-proclaimed hardware hacking community, most fanatics of the Arduino
development board open source physical computing platform do not know that all the functionality of their much-hyped toy comes from an AVR microcontroller chip that has been being manufactured for years by Atmel. And among those who know, yet fewer people are knowledgeable about the inner working of the AVR microchip; in which computer architecture plays an important role.
The reason behind this might be that during decades, computer architecture was reserved to academic lectures and companies who had enough cash to build integrated circuits costing several hundreds of thousands of dollars. This left little room for the individuals, except those who had the guts to wire together hundreds of logic ICs together. But these amateur systems lag well behind commercial solutions in terms of performance, size, and power consumption.
But today’s falling costs of powerful FPGAs make it possible for individuals to build complete high-performance computer systems (System-on-Chips) from scratch.
This workshop will explore this possibility. After introducing basic computer architecture concepts and practices, we will load a simplified version of the Milkymist System-on-Chip design in the development boards and execute basic programs on it. Then, using Verilog HDL, we will design a simple peripheral for the system-on-chip, integrate it, and test it on the board.
This workshop is for people who want to discover practical computer architecture, and at the same time for those who already know about architecture and want to get an introduction about how to add a peripheral to the open source Milkymist System-on-Chip.