Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction.

Similar presentations


Presentation on theme: "CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction."— Presentation transcript:

1 CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction

2 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

3 3  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!! Why study this course?

4 4  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 Why study this course? - 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 - 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

5 5 This 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!!!

6 6 Digital Design Circuit Design Instruction Set Architecture Compiler Operating System Application Firmware Datapath & Control Layout I/O systemInstruction setMemory organization PART 1 Electrical Engineering PART 2 Programming Languages, Compilers,Operating Systems, Software Engineering The global picture

7 7 Program to Execution: The Flow Program in High-level language (C, Pascal, etc) Compile program into assembly language Assemble program to machine language Link multiple machine-language programs to one program Load program into computer’s memory Execute program

8 8 Organization Processor Control Datapath Memory Devices Input Output Cache Bus Program + Data Registers

9 9 Representing instructions in computer: Assembly Language: Add R0, R1, R2 means R2  R0 + R1 0 17 18 8 0 32 000000 10001 10010 01000 00000 100000 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op rs rt rd shamt funct Basic operation Source Operand (register) Destination register Shift amount Function code variants of the op field Machine Language:

10 10 Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction  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!


Download ppt "CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction."

Similar presentations


Ads by Google