Summary
Highlights
This lecture introduces microprocessors and microcontrollers for EE184. The discussion will cover the block diagrams of computer systems, the evolution of microprocessors, basic data size terminology (nibble, byte, word, long word), the internal structure and operation of microprocessors, different types of buses (data, address, control), and microprocessor clock systems.
A computer is a programmable machine that receives input, stores and manipulates data, and provides output. Key components include a monitor, speakers, microphone, mouse, keyboard, and the system unit. It's important to note that the system unit is not just the CPU; the CPU is a component within it. Computers are programmable, meaning their operations can be updated, and they process data to produce visible or audible output based on the given program.
The core component of a computer system is the Central Processing Unit (CPU). Additional essential components include Read Only Memory (ROM), a non-volatile memory storing permanent programs like BIOS, and Random Access Memory (RAM), a volatile memory used for faster, temporary data storage for running applications. The Input/Output (IO) interface connects the processing side to external input and output devices like keyboards, mice, network cards, and display devices. These components are interconnected by buses which are collections of signal lines for data, addresses, and control signals.
Buses are collections of signal lines. An address bus, for example, is unidirectional and points to the location of data or a device. A data bus is bidirectional, carrying data to and from the processor and other components. A control bus is also bidirectional, sending control signals to manage operations like reading from or writing to memory or I/O devices. The number of lines in a bus determines the amount of data it can handle simultaneously, e.g., a 4-bit device uses a 4-bit bus.
A microcomputer refers to a small, programmable device. Its main part is the CPU, which executes programs and instructions. Examples of microprocessors include Intel Core i9/i7, Apple M3, Nvidia, Qualcomm Snapdragon, and AMD Ryzen. Memories (RAM and ROM) store data and programs. RAM is faster but volatile, used for active programs, while ROM is non-volatile for system startup (BIOS). The IO unit facilitates communication between the computer and external devices.
Understanding data sizes is crucial. A nibble is 4 bits, a byte is 8 bits. The term 'word' is variable, depending on the computer architecture (e.g., a 16-bit CPU has a 16-bit word size, a 32-bit CPU has a 32-bit word size). A 'long word' or 'double word' is twice the size of a word. These terms are vital for understanding how processors handle data.
A microprocessor comprises three vital components: the Arithmetic Logic Unit (ALU), registers, and the Control and Timing Section (Control Unit, CU). The ALU performs arithmetic (addition, subtraction, multiplication, division) and logical operations (AND, OR, XOR, shifts). The Control Unit manages the flow of information, coordinates activities, and generates control signals and timing sequences for various operations, while registers act as fast, temporary memory inside the processor.
Registers are a set of very fast memory units inside the processor, designated for specific or general purposes. They temporarily hold data or addresses for quick access during processing, preventing slow access to RAM or storage. Registers vary in size (e.g., 8-bit, 32-bit) and can be General Purpose Registers (GPRs) or Special Function Registers (SFRs), such as accumulators, flags (CCR), program counters (pointing to the next instruction), and stack pointers.
The microprocessor's clock system dictates its operating speed, measured in Hertz (Hz). A 4 GHz processor, for example, performs 4 billion cycles per second. A higher clock rate generally translates to faster operation, allowing millions of instructions to be completed in a fraction of a second. However, overall system performance also depends on other factors like RAM size and software optimization.
Early microprocessors include the Intel 8086 (popular x86 architecture), Intel 4004 (the first 4-bit microprocessor), Motorola 6800 (8-bit, used in industrial applications), and Zilog Z80 (popular in 1980s game consoles). While there are many manufacturers and architectures, the fundamental design principles remain similar. The next discussion will differentiate microprocessors from microcontrollers and their applications, emphasizing the course's goal of designing systems based on these technologies.