Introduction To Computer Organization

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

Introduction to Computer Organization

Computer Organization: Goals


Instruction cycle (fetch, execute, store) Memory organization
Big endian / little endian Bytes, words, long

Primary components of a computer


CPU (control unit, ALU, registers), memory, I/O, datapath

Von Neumann Architecture


Stored program computer

Know about ISAs. What are they? How do they fit in?

What is a computer?
What is computation? There are many sorts of computing devices, they fall into two categories:
Analog: machines that produce an answer that measures some continuous physical property such as distance, light intensity, or voltage. Examples? Digital: machines that perform computations by manipulating a fixed finite set of elements. Examples? The difficulty with analog devices is that it is very hard to increase their accuracy.

Before modern digital computers, the most common digital machines were adding machines.
Adding machines perform exactly one sort of operation.

Computers also perform one operation but their operation is to accept a set of instructions that tell it how to do any sort of computation.

Universal computing devices


Turings Thesis: Computer scientists believe that ANYTHING that can be computed, can be computed by a computer (provided that it has enough time and enough memory). What does this imply?
All computers (from the least expensive to the most expensive) are capable of computing EXACTLY the same things IF they are given enough time and enough memory. Some computers can do things faster, but none can do more than any other computer. All computers can do exactly the same things!

Thus, any given problem is either computable or it is not computable


Problems may be computable, but still not feasible (NPC)

Overview: Digital Computation


Design Process The Problem Software level Computer Science

Algorithm & Language


Hardware level ISA & Microarchitecture Logic level Circuits & Devices Computer/Electrical Engineering Computer Engineering

Overview: The Problem Statement


The Problem Algorithm & Language We describe problems that we wish to solve with a computer in a natural language. Natural languages are fraught with a lot of things unacceptable for providing instructions to a computer. The most important of these unacceptable attributes is ambiguity. To infer the meaning of a sentence, a listener is often helped by context that the computer does not have. Example: Time flies like an arrow.
How fast time passes Track meet Gossip

ISA & Microarchitecture

Circuits & Devices

A computer is an electronic idiot and can not deal with any ambiguity, thus

Overview: Algorithm
The Problem

Algorithm & Language

The first step in the sequence of transformations is to transform the natural language description of the problem to an algorithm. An algorithm is a step-by-step procedure:
That transforms an input (possibly NULL) into some output (or output action) That is guaranteed to terminate

ISA & Microarchitecture

Circuits & Devices

Definiteness: Each step is precisely stated. Effective computability: Each step must be something the computer can perform Finiteness: The procedure must

Overview: Programming Language


The Problem

Algorithm & Language

ISA & Microarchitecture

The next step is to transform the algorithm into a computer program Programming languages are unambiguous mechanical languages There are two kinds of programming languages:
High-level languages are machine independent. They are far above the (underlying) computer Low-level languages are machine dependent. They are tied to the

Circuits & Devices

Overview: The instruction set architecture (ISA)


The Problem

Algorithm & Language

ISA & Microarchitecture

The next step is to translate the program into the instruction set of the particular computer that will be used to carry out the work of the program. The Instruction Set Architecture (ISA) is the complete specification of the interface between programs that have been written and the underlying hardware that must carry out the work of those programs.
Examples: IA-32 (Intel, AMD, and others), PowerPC (Motorola)

Circuits & Devices

Programs are translated from high languages in to the ISA of the computer on which they will be run by

Overview: Microarchitecture
The Problem

Algorithm & Language

The next step is to transform the ISA into an implementation. The detailed organization of an implementation is called its microarchitecture.
The IA-32 has been implemented by several different processors over the past twenty years 8086 (Intel, 1979), 8286, 8386, 8486, Pentium, PentiumII, Athlon, PentiumIII. Each implementation is an opportunity for computer designers to make different trade-

ISA & Microarchitecture

Circuits & Devices

Overview: Logic Circuits


The Problem

Algorithm & Language

ISA & Microarchitecture

Circuits & Devices

The next step is to implement each element of the microprocessor out of simple logic circuits. Here there are also choices, as the logic designer decides how to best make the trade-offs between cost and performance. Even in the case of addition, there are several choices of logic circuits to perform this operation and differing speeds

Overview: Digital Devices


The Problem

Algorithm & Language

ISA & Microarchitecture

Circuits & Devices

Finally, each basic logic circuit is implemented in accordance with the requirements of the particular device technology used. Vcc So, CMOS circuits are different Rc from NMOS circuits, which are Vout Rb different, in turn, from gallium Vin arsenide circuits.
GND

Logic Circuits: Types


Logic circuits divide into two major types:
Combinational Logic
Current output depends on current input only Examples: gates, decoders, multiplexors (MUXs), ALUs

Sequential Logic
m n

Current + output depends * p current input Thus has a memory (usually called the state)

Design: on past inputs avg as (w,x,y,z) well as a^2+2ab+b^2 p * (m + n)

Logic Circuits: Sequential


STATE- A collection of state variables whose values at any one time contain all the information about the past values necessary to account for future behavior. Example: A TV tuner could have a current channel stored internally, so the next channel can be predicted as a function of the inputs, i.e. the UP button increases the channel by one, the DOWN button decreases the channel by one. What is the state of this TV tuner?

Digital sequential logic

The instruction set


High-Level Language - C
A = B + C;

Memory-Transfer Equivalent
Mem[A] Mem[B] + Mem[C] Mem[EA00] Mem[EA08] + Mem[EA10]

Machine-Level Equivalent
Assembly (human readable) ex: Machine (for a simple architecture)
Load R2, B Load R3, C R2 R2 + R3 Store A, R2 E2EA08 E3EA10 0223 F2EA00

How do we specify the program?


Contemporary languages
C, C++, Perl, Java, and hundreds more.

Languages of Yore
Fortran, COBOL, and scores more.

Specialty languages
VHDL, simulation languages, and thousands more.

There are over 1,000 standardized programming languages today. The only goal of these languages is to help

Computer Organization: You should know


Instruction cycle (fetch, execute, store) Memory organization
Big endian / little endian Bytes, words, long

Primary components of a computer


CPU (control unit, ALU, registers), memory, I/O, datapath

Von Neumann Architecture


Stored program computer

Know about ISAs. What are they? How do they fit in?

You might also like