Exercise #9: Pico-CPU Preliminary Readings

Course Home

Exercise Home

General Instruction

We assume that before you enter the lab, you have passed some basic computer architecture course in your studies and you are familiar with the basic terms. we will go through some brief introduction just to recap.

Brief overview

A CPU is basically made out of 3 main parts:

Harvard V. Von Neumann architecture

Harvard and c are two main classes of computer architectures and they differ in the following aspects:

Micro-Programing

Micro-programming began to be used during 1940's. By using micro-programming, the program instructions and data could be stored in memory. These micro-operations are close to machine language but are not exactly it. there should be some micro-assemble program that compiles it and turns it into machine code that would be later programed into instruction memory of the processor.

Register Transfer Language

The Micro-operations can be described using Register Transfer Language (RTL). There a few rules for writing these micro-operations by RTL:

Instruction Format

The instructions usually contain one part of definition of operation (called OPCODE) and one or more operand. These operands will be either data or address. When we are selecting an instruction format, we have to keep the following factors in mind:

Instruction Set Architecture

We can classify computers based on their Instruction Set Architecture(ISA). There are two main ISA classes which we will discuss in the following.

RISC

In Reduced Instruction Set Computing (RISC) architecture our instructions are relatively simple and to perform a complex process, we need to execute multiple instructions. RISC system has a small set of instructions and usually we have separate instructions for load and store instructions.

CISC

Complex Instruction Set Computer(CISC) is an architecture where an instruction is more complex than a RISC processor. An instruction can fetch from memory, execution, write back to the memory all together. This means that each instruction takes longer to execute which will decrease Instruction per clock cycle that the processor will execute. In return, complex instructions, makes programming much more easier. We can summarize some of RISC and CISC architecture pros and cons in Table 1.
Table 1: RISC and CISC comparison
RISC CISC
Simple instructions Complex instructions
More complex software More complex hardware
More control on code efficiency Less control on code efficiency
Simple addressing modes More complex addressing modes
Fixed instruction size Different instruction size according to instruction type

Micro-Architecture

Micro Architecture is the implementation scheme of a given Instruction Set Architecture (ISA). For Any Given ISA, there might be many different Micro Architectures. These Micro Architectures differ based on design requirements. These requirements might be:

Measuring Performance

To measure an architecture's performance, one can think of the number of instructions executed per clock cycle (IPC) or the number of clock cycles that architecture needs for execution of one instruction (CPI). Another way of looking into measuring performance would be taking the implementation and technology also into account and measure the number of instructions that a specific processor can execute per second. This metric would be called IPS and is usually used as Million-IPS (MIPS) or Giga-IPS (GIPS).

Addressing modes

The addressing a memory cell can be done in different ways. (we have briefly described it in the instruction format)

Additional Material

Questions

Before you enter the lab, you should be able to answer the following ques- tions: