0% found this document useful (0 votes)
28 views26 pages

Chapter 1

Hdjcnnsjhxudnndjc Jdjcjfndifnndjd Kdjdjfkfjidk

Uploaded by

bouraslmhajbi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views26 pages

Chapter 1

Hdjcnnsjhxudnndjc Jdjcjfndifnndjd Kdjdjfkfjidk

Uploaded by

bouraslmhajbi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Introduction to Computer Organization

Introduction

2024
Overview
• Introduction to Computer Organization
• Course overview
• Housekeeping details
• Computer abstraction
• Anatomy of a computer
• Conclusion
Introduction
• Rapidly changing field:
– vacuum tube -> transistor -> IC -> VLSI
– doubling every 1.5 years (Moore’s law):
• Memory capacity
• Processor speed (Due to advances in technology and organization)
• Things you’ll be learning:
– how computers work, a basic foundation
– how to analyze their performance (or how not to!)
– issues affecting modern processors (caches, pipelines)
• Why learn this stuff?
– you want to call yourself a “computer scientist”
– you want to build software people use (need performance)
– you need to make a purchasing decision or offer advice
Computing System

Application (Browser)
Operating
Compiler System
Assembler (Win, Linux)
Software
Instruction Set
Hardware Processor Memory I/O system Architecture

Datapath & Control


Digital Design
Circuit Design
transistors

• Coordination of many levels of abstraction


Computer Organization
Textbook: “P&H”
Computer Organization
and Design
Patterson and Hennessy
Fourth Edition
Morgan Kaufmann
© 2009
ISBN: 978012374493
Course Overview
• Performance issues (Ch 1 – P&H 4th Edition)
• A specific instruction set architecture (Ch 2)
• Arithmetic and how to build an ALU (Ch 3)
• Constructing a processor to execute our
instructions (Ch 4)
• Pipelining to improve performance (Ch 5)
• Caches, main, and virtual memory, I/O (Ch 6,7)
• Multiprocessor Architectures (Ch 8)
• Future Computing Technologies (instructor)
Computer Organization Big Ideas
• 5 Classic components of a Computer
• Data can be anything (integers, floating point,
characters): a program determines what it is
• Stored program concept: instructions just data
• Principle of Locality, exploited via a memory
hierarchy (cache and virtual memory)
• Greater performance by exploiting parallelism
• Principle of abstraction, used to build complex
systems as layers
• Compilation v. interpretation thru system layers
• Principles/Pitfalls of Performance Measurement
Course Administration
• Instructor:
– Pr. Cherif TOLBA ([email protected])

• Text: Computer Organization and Design: The Hardware


Software Interface, Fourth Edition, Patterson and Hennessy
Course Evaluation
• Grade breakdown
– Final Exam 60%
– Tutorial Works 15%
– Practical Works 15%
– Micro interrogation 10%
------------------------------------------------
TOTAL 100%
The end TW Score = The end PW Score
= (15*TW + 15*PW + 10*MI)/40
Levels of Representation
temp = v[k];
High Level Language v[k] = v[k+1];
Program (e.g., C)
v[k+1] = temp;
Compiler
lw $t0, 0($2)
Assembly Language lw $t1, 4($2)
Program (e.g.,MIPS)
sw$t1, 0($2)
Assembler sw$t0, 4($2)
Machine Language 0000 1001 1100 0110 1010 1111 0101 1000
Program (MIPS) 1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Machine Interpretation

Control Signal
Specification
°
°
A Six-Level Computer
A Six-Level Computer
• Digital Logic Level
The interesting objects at this level are gates;
Each gate has one or more digital inputs (signals representing
a 0 or 1) and computes as output some simple function of
these inputs, such as AND or OR;
A small number of gates can be combined to form a 1-bit
memory, whcih can store a 0 or 1; • The 1-bit memories
can be combined in groups of, for example, 16, 32 or 64 to
form registers
A Six-Level Computer
• Microarchitecture Level
• At this level we see a collection of (typically) 8-32
registers that form a local memory and a circuit called an
ALU (Arithmetic Logic Unit) that is capable of performing
simple arithmetic operations;
• The registers are connected to the ALU to form a data path
over which the data flow;
• The basic operation of the data path consists of selecting
one or two registers having the ALU operate on them;
• On some machines the operation of the data path is
controlled by a program called a microprogram, on other
machine it is controlled by hardware.
A Six-Level Computer
• Instruction Set Architecture Level

• The ISA level is defined by the machine’s instruction set

• This is a set of instructions carried out interpretively by the


microprogram or hardware execution sets;
A Six-Level Computer
• Operating System Machine Level
• At this level there is a different memory organisation, a new set of
instructions, the ability to run one or more programs concurrently, and
various other features;
• The new facilities added at level 3 are carried out by an interpreter
running at level 2, which, historically, has been called an operating
system (OS);

• Those level 3 instructions identical to level 2’s are carried out directly
by the microprogram (or hardwired control), not by the OS;

• In other words, some of the level 3 instructions are interpreted by the


OS and some of the level 3 instructions are interpreted directly by the
microprogram;
• This the OS level is a hybrid.
A Six-Level Computer
• Assembly Language Level
• This level is really a symbolic form for the one of the
underlying languages;
• This level provides a method for people to write programs
for levels 1, 2 and 3 in a form that is not as unpleasant as
the virtual machine languages themselves;
• Programs in assembly language are first translated to level
1, 2 or 3 language and then interpreted by the appropriate
virtual or actual machine;
• The program that performs the translation is called an
assembler
A Six-Level Computer
• Problem-oriented Language Level
• This level usually consists of languages designed to be
used by applications programmers;
• These languages are generally called higher level
languages • Some examples: Java, C, C++;
• Programs written in these languages are generally
translated to Level 3 or 4 by translators known as
compilers, although occasionally they are interpreted
instead;
Big Idea: Multilevel Machine
Evolution of Multilevel Machines
1. Bare hardware
2. Microprogramming
3. Operating system
4. Compilers
5. Hardware / software interface
– Simple ISA
– CISC
– RISC
Design Principles
• CISC vs. RISC
• Instructions directly executed by hardware
• Maximize instruction issue rate (Int. Level
Parallelism : ILP)
• Simple instructions (easy to decode)
• Access to memory only via load/store
• Plenty of registers
• Pipelining
Computer Organization

Von Neumann
Machine

Processor
Datapath
Memory I/O
Bus-Based Computer
Anatomy of a Modern PC
Multiprocessors

Local
Memory
Conclusion
– Principle of abstraction, used to build systems as layers
– Pliable Data: a program determines what it is
– Stored program concept: instructions are just data
– Principle of Locality, exploited via memory hierarchy
– Greater performance by exploiting parallelism (pipeline)
– Compilation v. interpretation to move downward through
layers of system
– Principles/Pitfalls of Performance Measurement

You might also like