Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Introduction to Computing Systems
from bits & gates to C & beyond
Chapter 1
Welcome Aboard!
This course is about:
• What computers consist of
• How to fix computers
• How computers work
• How to build myself one
• How they are organized real cheap
internally
• Which one to buy
• What are the design tradeoffs
• Knowing all about the
• How design affects Pentium IV or PowerPC
programming and applications
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-3 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Computing Machines
Ubiquitous ( = everywhere)
General purpose: servers, desktops, laptops, PDAs, etc.
Special purpose: cash registers, ATMs, games, telephone
switches, etc.
Embedded: cars, hotel doors, printers, VCRs, industrial
machinery, medical equipment, etc.
Distinguishing Characteristics
Speed
Cost
Ease of use, software support & interface
Scalability
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-4 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Two recurring themes
Abstraction
The notion that we can concentrate on one “level” of the big
picture at a time, with confidence that we can then connect
effectively with the levels above and below.
Framing the levels of abstraction appropriately is one of the most
important skills in any undertaking.
Hardware vs. Software
On the other hand, abstraction does not mean being clueless
about the neighboring levels.
In particular, hardware and software are inseparably connected,
especially at the level we will be studying.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-5 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
What is Computer Organization?
Electronic Desired
Devices Behavior
… a very wide semantic gap between the intended behavior and the
workings of the underlying electronic devices that will actually do
all the work.
The forerunners to modern computers attempted to assemble the raw
devices (mechanical, electrical, or electronic) into a separate
purpose-built machine for each desired behavior.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-6 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Role of General Purpose Computers
computer
software
organization
General
Electronic Desired
Purpose
Devices Behavior
Computer
A general purpose computer is like an island that helps span the gap
between the desired behavior (application) and the basic building
blocks (electronic devices).
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-7 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
CPUs: the heart of computing systems
ca 2000
ca 1980 You can see why they called
It took 10 of these boards to this CPU a microprocessor!
make a Central Processing Unit
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-8 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Two pillars of Computing
Universal Computational Devices
Given enough time and memory, all computers are capable of
computing exactly the same things (irrespective of speed, size or
cost).
Turing’s Thesis: every computation can be performed by some
“Turing Machine” - a theoretical universal computational device
Problem Transformation
The ultimate objective is to transform a problem expressed in
natural language into electrons running around a circuit!
That’s what Computer Science and Computer Engineering are all
about: a continuum that embraces software & hardware.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1-9 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
A Turing Machine
Also known as a Universal Computational Device: a theoretical
device that accepts both input data and instructions as to how to
operate on the data
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 10 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Problem Transformation
- levels of abstraction
The desired behavior: Natural Language
the application
Algorithm
Program
Machine Architecture
Micro-architecture
Logic Circuits
The building blocks:
Devices
electronic devices
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 11 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Levels of Abstraction
These levels do not necessarily correspond Natural Language
to discrete components, but to well defined
standard interfaces. Algorithm
Standard interfaces provide Program
portability
Machine Architecture
third party software/hardware
wider usage Micro-architecture
These levels are to some extent arbitrary - Logic Circuits
there are other ways to draw the lines.
Devices
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 12 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
The Program Level
Most computers run a management
program called the operating system Application Program
(OS).
Operating System
Application programs interface to the
machine architecture via the OS.
Program (Software)
An example:
This lecture Data
PowerPoint Application Program
Windows XP Operating System
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 13 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
The Machine Level - 1
Machine Architecture
This is the formal specification of all the functions a particular
machine can carry out, known as the Instruction Set Architecture
(ISA).
Microarchitecture
The implementation of the ISA in a specific CPU - i.e. the way in
which the specifications of the ISA are actually carried out.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 14 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
The Machine Level - 2
Logic Circuits
Each functional component of the microarchitecture is built up of
circuits that make “decisions” based on simple rules
Devices
Finally, each logic circuit is actually built of electronic devices
such as CMOS or NMOS or GaAs (etc.) transistors.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 15 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside
Course Outline - What is Next?
How to represent information
The building blocks of computers: logic gates
The basic algorithm: the von Neumann model
An example: the LC-3 structure and language
Programming the machine: assembly language
A higher-level language: C
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 - 16 Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside