Computer Organization: Patterson, Hannessy: Computer Organization and
Design. Hamacher et.al.: Computer Organization. Tanenbaum: Structured
Computer ...
Basics
CS220: Introduction to Computer Organization 2011-12 Ist Semester
Welcome
Required Background Programming (Native Compilation techniques) Pick up C/C++ if not known already.
Amey Karkare
[email protected]
Knowledge of digital gates, flip-flops, latches, counters etc. Binary number system and operations
What will be covered? Department of CSE, IIT Kanpur
karkare, CSE, IITK
CS220,
Programming using Assembly Language Circuit descriptions in Bluespec Verilog (BSV) Computer Organization
1/12
karkare, CSE, IITK
Course Structure
2/12
Course Policies
One midsem exam 25% One endsem exam 40% Labs 25% Assignments 10% Tentative. May change as the course progresses.
Lectures: Monday, Tuesday, Thursday; 10:00 - 11:00 AM, CS101
Labs: Monday to Friday; 3:00 - 5:00 PM Groups of 3 / 4 students New language for design descriptions: BlueSpec Verilog (BSV) HW programming using FPGAs
karkare, CSE, IITK
CS220,
CS220,
Course will be heavy
3/12
karkare, CSE, IITK
CS220,
4/12
Text
Review of Digital Circuits
No text books Follow the lecture notes very closely Reference Books
Basic Gates AND, OR, NAND, NOR, XOR, XNOR, NOT, BUF
BlueSpec Verilog:
Memory Elements
Rishiyur S. Nikhil and Kathy Czeck: BSV by Example [www.bluespec.com/forum/download.php?id=140]
Latch, Flip Flops Registers
Assembly Language: Online notes, http://linuxassembly.org/ Computer Organization:
Level Sensitive, Edge Triggered Input output behaviour (Parallel or Serial): SISO (Delay Line), SIPO, PISO, PIPO
Basic Circuits
Patterson, Hannessy: Computer Organization and Design Hamacher et.al.: Computer Organization Tanenbaum: Structured Computer Organization Parhami: Computer Architecture Stallings: Computer Organization and Architecture
karkare, CSE, IITK
CS220,
Multiplexers, Counters, ALU, Adders, Multipliers
5/12
karkare, CSE, IITK
Combinatorial Gates
6/12
Memory Elements
Latches always @( LE or D ) if (LE == 1) Q = D;
always @(a or b) y = a & b; OR
Flip Flops always ( posedge CLK ) Q = D;
assign y = a & b;
karkare, CSE, IITK
CS220,
Latches are level sensitive while flip flops are edge triggered.
CS220,
7/12
karkare, CSE, IITK
CS220,
8/12
A Computer
The machine is electronic
CPU
Computer is a “machine” As long as power is supplied, processor keeps executing instructions Stored program model Sequential order of execution
Memory: Program and data storage Disk: File storage (passive data storage) I/O
karkare, CSE, IITK
CS220,
9/12
karkare, CSE, IITK
CS220,
Fetch-Execute-Store Model
Fetch-Execute-Store Model
Processor reads an instruction from memory Instruction:
Processor takes program only as a sequence of bits We understand programs in various forms
Processor interprets these bits and operates on data
Assembly language: One to one correspondence with the machine language High level languages:
Stored in internal registers or in memory
Result of the execution is stored in memory/registers.
Translators are needed to convert to machine language (compilers)
Processor continues fetching the next instruction. Program:
Programs for Virtual machine: Languages such as Java, compile code to a virtual machine which is then interpreted by a tool.
Collection of instructions that are fetched and executed one after another
CS220,
10/12
Machine Language
A sequence of bits, understood and operated upon by processor
karkare, CSE, IITK
MEMORY
11/12
karkare, CSE, IITK
CS220,
12/12