CS220: Introduction to Computer Organization 2011-12 Ist Semester ...

33 downloads 28346 Views 194KB Size Report
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