Chapter 2 - IA-32 Processor Architecture

The Microprocessor

The microprocessor (CPU) consists of three major components:
1) control unit (CU) - interprets the instructions of the machine and transmits the various signals required for carrying out the various instructions.
2) arithmetic logic unit (ALU) - performs arithmetic and logical operations.
3) registers - used for storing data, instructions, memory addresses, and status indicators. Registers common to most microprocessors include: (a) Instruction Register, Program Counter, Accumulator, Index Registers, Processor Status Register. We will talk about these in great detail throughout the course.

The microprocessor operates as follows:

top:  fetch an instruction
      update the program counter
      decode and execute the instruction
      go to top

Memory

Memory is used to hold the contents of both instructions and data. We know that memory is just a linear array of storage cells where each cell can store a fixed (e.g. a byte) amount of information. Each cell has a unique address and addresses range from 0 to n-1 where n is the number of storage cells.

Problem #1: Sketch what memory would look like for a machine containing 1MB of memory where each storage cell can store 1 byte of information.

In general, the CPU can perform two operations with respect to memory:
1) Load the contents from a memory cell
2) Store the contents to a memory cell

Problem #2: Using the above picture, what would be the process of loading the contents from a memory cell? Also, where is this loaded value stored?

I/O Subsystem

The I/O subsystem is responsible for providing communications between the I/O devices and the microprocessor/memory. We will talk about this in detail later in the course.

IBM PC Architecture The IBM PC Architecture is designed around the Intel 8088 microprocessor. What do you suppose presents the biggest challenge for today's PCs containing Pentium microprocessors?

The Intel 8088 is a 16-bit microprocessor internally and an 8-bit microprocessor externally. What does this mean?

The Intel 8086 is a 16-bit microprocessor both internally and externally. Which machine is faster? Why?

For the purpose of discussion we will assume that the IBM PC can address 1 MB of memory. Further, each address can store exactly one byte of information. Answer each of the following questions:

1) How many K bytes of memory is 1 MB?
2) What is the address range starting from 0 that 1 MB spans in decimal? in hex?

Two consecutive bytes in memory can be treated as a word (16-bits) and it must be noted that a word stored in memory is stored with bytes reversed. This means that if the word FA08 was stored beginnig at address 00000, then memory would look like the following:

00000: 08
00001: FA

The basic memory layout for a 1MB IBM PC is as follows:

We can see from the above picture that given this 1 MB memory map the following is the case:

1) The amount of RAM is from 256K to 640K
2) There is 128K for video display buffers. The location and size varies based on the video adapter being used.
3) There is 128K of installable ROM space for things like disk controllers.
4) Finally there is 128K of permanent ROM for the BIOS and ROM BASIC interpreter.

So this kind of gives you a feel for the layout of memory. Obviously, today we are talking about PCs with 128MB, 256MB, and on up of memory and although the uses for memory are more complicated, the principles are still the same.


©Douglas J. Ryan/ryandj@pacificu.edu