This document is a compilation of my notes for COE 758: Digital Systems Engineering at TMU. All information comes from my professor’s lectures, as well as the course textbook.
Adam Szava - 2tor.ca
F2023
The first part of this lecture is just a general overview of CPU principles, as well as the interaction between Hardware and Software.
This course will focus on the other important components of the computer system organization.
The most basic form of a CPU involves the following:
A bus is a time shared connection between internal components of a computer. A bus provides a data path and control path, and may be serial, parallel, or a combination. The following are two examples of bus architectures
Note how in both systems, the I/O is not directly connected to this bus. This is done so that I/O devices cannot influence the capacitance of the bus, delaying or corrupting the signal within it. In this simplest case, the I/O subsystem may just be a buffer.
Typically, two buses are better with RISC systems where you want to be able to pipeline and fetch a new instruction every cycle. Additionally, RISC systems always use a finite-state machine to implement the control system, while CISC systems use EEPROMs.
Programmers have the illusion of unlimited and fast memory, but this illusion only exists because of the hardware engineering underlying the memory systems.
The principle of locality underlies the way that programs operate, it states that programs access a relatively small portion of their address space at any instant of time. These are two forms of this locality: