0% found this document useful (0 votes)
44 views24 pages

Week 1

Uploaded by

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

Week 1

Uploaded by

emiirelcuk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

CMPE 331

Computer Architecture and


Organization

Dr. Gökhan ŞENGÜL


Dr. Gökhan ŞENGÜL
 E-mail: [Link]@[Link]
 Phone: 586 83 48
Aim of the Course
 This course is designed to teach
fundamental units of computer systems
including memory, CPU and I/O units.
 To understand how hardware and
software components work and how
they affect the correctness and
performance of programs
Content
 Computer components. Instruction execution.
Interrupts. Bus structure and interconnection of
components. Memory: internal memory, cache and
virtual memory, external memories. CPU: ALU,
floating point arithmetic, instruction sets, addressing
modes and formats. Control unit: hardwired and
micro-programmed control units. Input/Output: I/O
modules, programmed I/O
Course Textbook
 Randal E. Bryant and David R. O'Hallaron, Computer
Systems: A Programmer's Perspective, International
Edition, Pearson Higher Education, second Edition,
2011
Other Sources
 William Stallings, “Computer Organization and Architecture:
Designing for Performance”, 7/E, Prentice Hall, 2010, ISBN-10:
0135064171, ISBN-13: 9780135064177.
 Tanenbaum, Structured Computer Organization, 5/E, Prentice
Hall, 2006, ISBN-10: 0131485210, ISBN-13: 9780131485211
 Douglas E. Comer, Essentials of Computer Architecture:
International Edition, Pearson Higher Education, 2005, ISBN-10:
0131964267, ISBN-13:9780131964266
 Nick Carter, Schaum's Outline of Computer Architecture 1st
Edition (2002), ISBN: 9780071362078.
Course Evaluation
 Mid-term (x1) : % 40
 Final : % 60
Are you ready to start?
Some definitions
 A computer system consists of hardware and systems
software that work together to run application
programs...
 All computer systems have similar hardware and
software components that perform similar functions
Definitions
 All information in a system – including disk files,
programs stored in memory, user data stored in
memory, and data transfered accross a network – is
represented as a bunch of bits...
Sample Program
Sample Program
In order to run hello.c on the system,
the individual C statements must be
translated by the other programs into
a sequence of low-level machine
instructions...

How?
The Compilation System
The Compilation System
 Preprocessing Phase: The preprocessor modifies the
original C program according to directives that begin
with # character
 Compilation Phase: The compiler translates the text
file hello.i into the text file hello.s, which contains an
assembly language program.
 Assembly language is useful because it provides a common
output language for different compilers for different high
level languages
The Compilation System
 Assembly Phase: The assembler translates hello.s
into machine language instructions, packages them
in a form known as a reallocateable object programs,
and stores the result in the object file hello.o.
 This file is a binary file whose bytes encode machine
language instructions rather than characters
 Linking Phase: The linker merges «printf» function
with the hello.o program
 The printf function resides in a separate precompiled object
file called printf.o.
Hardware Organization of a Typical
System
Hardware Organization of a Typical
System
 Buses carry bytes of information back and forth between the
components...
 Buses are typically designed to transfer fixed sized chunks of
bytes known as words...
 The number of bytes in a word (the word size) is a fundamental
system parameter that varies accross systems.
 Most machines today have a word size of either 4 bytes (32
bits) or 8 bytes (64 bits)
Hardware Organization of a Typical
System
 I/O devices are system’s connection to the external world.
 Each I/O device is connected to the I/O bus by either a
controller or an adapter.
 The main memory is a temporary storage device that holds both
a program and the data it manipulates while the processor is
executing the program.
 The CPU is the engine that interprets instructions stored in main
memory....
 The register file is a small storage device that cosists of a
collection of word-sized registers, each with its own unique
name...
Memory Hierarchy
Cache Memories
 Cache: serve as temporary staging areas for information that
the processor is likely to need in the near future...
 L1 Cache
 Holds tens f thousands of bytes and can be accesses nearly as fast as the
register file
 L2 Cache
 Holds hundreds of thousands to million of bytes
 L3 Cache
 Million of bytes
Cache Memories
 The idea behind caching is that a system can get the effect of
both a very large memory and a very fast one by exploiting
locality, the tendency for programs to access data and code in
localized regions.
 By setting up caches to hold data that is likely to be accessed
often, we can perform most memory operations using the fast
caches.
Operating System

 The operating system has two primary purposes:


 (1) to protect the hardware from misuse by runaway
applications, and
 (2) to provide applications with simple and uniform
mechanisms for manipulating complicated and often
wildly different low-level hardware devices.
Computer Architecture vs
Computer Organization
Questions?

You might also like