Title: CS1104
1CS1104 Computer Organization
- PART 2 Computer Architecture
- Lecture 1
- Introduction
2- Textbook Computer Organization by Hamacher,
Vranesic and Zaky. McGrawHill. I shall mention
which parts of this book should be read. - I shall provide slides and some notes. Please go
through these too. - Instructor Samarjit Chakraborty, Office S14
06-04. Phone 6874 7997. Office hours
Thursdays 12 to 2 pm. Please come and see me if
you have questions/doubts - There will be tutorials and assignments as
before. Only 2 labs for this part on October 20
27. Mid-term test on Oct 29, Wednesday
3Why study this course?
- The prospective software engineer, writing a
program - Why should I declare variable x to be an
integer rather than floating point? - Should I use array or linked-list as my data
structure? - Should I use multiplication, or implement it as
repeated additions? - The embedded systems programmer developing code
for a Palm Zire 71 or Sony Clie or a programmable
dishwasher - How is the memory of this device organized? What
instructions are supported? - I need to program it in assembly
language!!
4Why study this course?
- The prospective computer/hardware engineer (say
working at Intel and developing the future
Pentium Star100 processor) - Needs to have a strong background in Computer
Architecture
- Basic understanding of how a computer works and
what is its internal organization - Foundation for more advanced courses
- Necessary for hardware engineers as well as for
all kinds of software developers
5This course is about
- Desktop computing Programs with integer and
floating point data types, no regard for code
size and power consumption - Servers Database, file server, web and
time-sharing applications for many users. Integer
and string operations more important than
floating-point operations - Embedded computing Values cost, power and code
size. Floating point operations might be
restricted to reduce costs -
Cost/Performance/Power/Size Tradeoffs!!!
6The global picture
Programming Languages, Compilers,Operating
Systems, Software Engineering
Instruction Set Architecture
PART 2
Datapath Control
Digital Design
PART 1
Circuit Design
Electrical Engineering
Layout
7Program to Execution The Flow
Link multiple machine-language programs to one
program
Program in High-level language (C, Pascal, etc)
Load program into computers memory
Compile program into assembly language
Assemble program to machine language
Execute program
8Organization
Bus
Processor
Memory
Devices
Control
Input
Cache
Datapath
Program Data
Output
Registers
9Representing instructions in computer Assembly
Language Add R0, R1, R2 means R2 ? R0
R1
Machine Language
000000 10001 10010 01000
00000 100000
6 bits 5 bits 5 bits
5 bits 5 bits 6 bits
op rs rt
rd shamt funct
Source Operand (register)
Basic operation
Destination register
Shift amount
Function code variants of the op field
10- The Clock
- Everything in one clock cycle OR each step in
one cycle? - Pipeline instruction execution?
- The Memory
- How much time does it take to access memory?
- How is it organized? Cache?
- The Bus
- How many buses? Avoid bus conflicts
11?
?
?
?
?
Questions!