Hardware organization and design. The logic gate level: combinational and sequential circuits and devices. The microprogramming level: microarchitecture, microprograms. The machine level: CPU designs, instruction formats, addressing modes, floating point formats.
The goal of this course is for you to learn the hardware organization of typical von Neumann machines. As in all aspects of computer science, the field of computer organization consists of a body of principles and a myriad of implementations in the commercial and research worlds. Rather than emphasize actual machines, this course will emphasize first principles and only occasionally point out how they are manifest in various machines. We emphasize first principles as a strategy to minimize obsolete knowledge. Hardware technology is probably the fastest changing aspect of computer science. To focus primarily on one or two specific machines is to invite irrelevance as that machine progresses beyond recognition and eventually becomes obsolete. The architectures that we will examine briefly are the Intel x-86 series as an example of a CISC organization, and the MIPS computer as an example of a RISC organization.
This course continues the theme of levels of abstraction begun in CoSc 330. That course presents the Pep/9 computer at the machine level, and its associated assembly language at the assembly level. This course takes us down to the lowest level of digital logic gates. We will have occasional laboratory exercises to get hands-on experience in wiring digital circuits. We will see how the gate level is related to the machine level, and learn how the microprogramming level, which lies between the gate level and the machine level, connects these two levels.