CS 351 Computer Architecture Instructor: Bala Ravikumar (Ravi) 116 I Darwin Hall Office hours: TBA.

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Advertisements

Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear.
EEM 486 EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
CS3350B Computer Architecture Winter 2015 Introduction Marc Moreno Maza
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.
Introduction to Computers. Are Computers Important? OF COURSE!
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
Chapter 1 CSF 2009 Computer Abstractions and Technology.
Introduction Course Overview and Basic understanding of Computer Architecture.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
CS 1 •This is Computer Science 1. •Who is Professor Adams?
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
Introduction Chapter 1. 1 History of Computers Development of computers began with many early inventions: The abacus helped early societies perform computations.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Chapter 1 The Big Picture.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Chapter 1 - The Computer Revolution Chapter 1 — Computer Abstractions and Technology — 1  Progress in computer technology  Underpinned by Moore’s Law.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
CPS120: Introduction to Computer Science Introduction to Computers.
Introduction to Computers and Programming 1. History of computers (4 slides) 2. What is a computer system? 3. What is a software? 4. What is programming?
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Computer Organization and Design Computer Abstractions and Technology
Chapter 1 Introduction.
Chapter 1 — Computer Abstractions and Technology — 1 The Computer Revolution Progress in computer technology – Underpinned by Moore’s Law Makes novel applications.
Computer Architecture And Organization UNIT-II General System Architecture.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
EEL 4713/EEL 5764 Computer Architecture Spring Semester 2004 Instructor: Dr. Shonda Walker Required Textbook: Computer Organization & Design, by Patterson.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
12/13/ _01 1 Computer Organization EEC-213 Computer Organization Electrical and Computer Engineering.
Computer Organization Instructors Course By: Lecturer: Shimaa Ibrahim Hassan TA: Eng: Moufeda Hussien Lecture: 9:45 Address:
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Chapter 1 — Computer Abstractions and Technology — 1 Below Your Program Application software – Written in high-level language System software – Compiler:
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
CS 101 INTRODUCTION TO COMPUTING * image from The Central Eglinton Community Centre website.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Computer Architecture & Operations I
Computer Architecture & Operations I
Computer Architecture and Organization
Morgan Kaufmann Publishers
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 The Big Picture
Morgan Kaufmann Publishers Computer Abstractions and Technology
Computer Organization and Architecture
Computer Architecture & Operations I
IT253: Computer Organization
About the Presentations
Morgan Kaufmann Publishers Computer Abstractions and Technology
COSC 3406: Computer Organization
Morgan Kaufmann Publishers
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
Presentation transcript:

CS 351 Computer Architecture Instructor: Bala Ravikumar (Ravi) 116 I Darwin Hall Office hours: TBA

Catalog Description: Lecture, 4 hours. Instruction set design; stages of instruction execution, data and control path design; CISC, RISC, stack architectures; pipelining; program optimization techniques, memory hierarchy: cache models and design issues, virtual memory and secondary storage; I/O interfacing; advanced topics to include some of the following: parallel architectures, DSP or other special purpose architecture, FPGA, reconfigurable architecture, asynchronous circuit design. Prerequisite: CS 215 and CS 252, or consent of instructor.

Course Goals: Computer architecture deals with the functionality of all the major components of a computer: instruction set architecture ALU control and data paths cache and main memory I/O network and bus interconnection The main focus will be on the following topics: performance measures of computer systems MIPS assembly language computer arithmetic and ALU circuit design CPU design pipelining cache memory multicore CPU and parallel programming (as time permits).

Text: Computer Organization and Design: The hardware/software interface, 4 th edition, Morgan-Kaufman Publishers ISBN: Text: Other References: Parhami, Behrooz, Computer Architecture: From Microprocessors to Supercomputers, Oxford University Press, xx pp., February 2005 (ISBN X). M. Murdocca and V. Heuring, Computer Architecture, Prentice-Hall. W. Stallings, Computer Organization and Architecture: Designing for Performance, Prentice-Hall.

Assigned Work and Evaluation: Quiz ( %) – There will be a quiz every class. Duration: 10 to 15 minutes. Two Mid-Term tests ( %) – Both tests will be in class and will be about 100 minutes long. Each test will have a closed-book and an open-book section. Home Work assignments ( %) – This will include some implementation (in MIPS assembly language, hardware description language etc.) as well as other design and problem solving exercises. Final Examination ( %) – The final examination will be comprehensive and will have a closed- and an open-book section.

Useful online sources s382m-f03/homework/papers.html

History of computer architecture Abacus is probably more than 3000 years old. Still in use in many countries – in Asia, Africa and Middle-east. (Some can use it to calculate faster than by a calculator.) Used by visually impaired people.

Pascal’s work on calculating machines Pascal began work on his calculator in 1642, when he was only 19 years old. He had been assisting his father, who worked as a tax commissioner, and sought to produce a device which could reduce some of his workload. By 1652 Pascal had produced fifty prototypes and sold just over a dozen machines, but the cost and complexity of the Pascaline – combined with the fact that it could only add and subtract, and the latter with difficulty – was a barrier to further sales, and production ceased in that year

Babbage built difference engine. had all features seen in modern computers- means for: reading input data, storing data, performing calculations, producing output and automatically controlling the operations of the machine. Babbage’s analytical engine is a model of a general-purpose computer, but it was too complex to be built in his life time. Babbage’s calculators

Turing’s work on computers The process of encryption used by Enigma (a German code) was known for a longtime. But decoding was a much harder task. Alan Turing, a British Mathematician, and others in England, built an electromechanical machine to decode the message sent by ENIGMA. The Colossus was a successful code breaking machine that came out of Turing's research. Colossus had all the features of an electronic computer. Vacuum tubes to store the contents of a paper tape that is fed into the machine. Computations took place among the vacuum tubes and programming was performed with plug boards.

Shannon’s work on digital computers Shannon showed in his Master’s thesis (at MIT) how to use Boolean algebra to design circuits that define any Boolean function. Shannon also developed information theory that formed the basis for error-correcting codes. This concept became a central idea in networking and storage devices. Watch this youtube video clip on Shannon: x8&feature=PlayList&p=688DB457F0B24F42&playnext=1&playnext_from=PL&index=12

ENIAC Built at U of Pennsylvania around ENIAC consisted of vacuum tubes, which made up the computing section of the machines programming and data entry were performed by setting switches. There was no concept of stored program. But these were not serious limitations since ENIAC was intended to do special-purpose calculations. ENIAC was not ready until the war was over, but it was successfully used for nine years after the war ( ).

Chapter 1 Computer Abstractions and Technology

The Computer Revolution Progress in computer technology Underpinned by Moore’s Law “Every two years, the number of transistors in IC doubles.” Makes novel applications feasible Computers in automobiles – pollution control, ABS, airbags etc. Cell phones Human genome project World Wide Web – ~1 billion web sites, ~10 billion web pages. Search Engines Computers are pervasive §1.1 Introduction

Moore’s law

Classes of Computers Desktop computers General purpose, variety of software Subject to cost/performance tradeoff Server computers Network based High capacity, performance, reliability Range from small servers to building sized Embedded computers Hidden as components of systems Stringent power/performance/cost constraints

The Processor Market

What You Will Learn How programs are translated into the machine language And how the hardware executes them The hardware/software interface What determines program performance And how it can be improved How hardware designers improve performance What is parallel processing

Understanding Performance Algorithm Determines number of operations executed Programming language, compiler, architecture Determine number of machine instructions executed per operation Processor and memory system Determine how fast instructions are executed I/O system Determines how fast I/O operations are executed

Below Your Program Application software Written in high-level language System software Compiler: translates HLL code to machine code Operating System: service code Handling input/output Managing memory and storage Scheduling tasks & sharing resources Hardware Processor, memory, I/O controllers §1.2 Below Your Program

Levels of Program Code High-level language Level of abstraction closer to problem domain Provides for productivity and portability Assembly language Textual representation of instructions Hardware representation Binary digits (bits) Encoded instructions and data

Components of a Computer Same components for all kinds of computer Desktop, server, embedded Input/output includes User-interface devices Display, keyboard, mouse Storage devices Hard disk, CD/DVD, flash Network adapters For communicating with other computers §1.3 Under the Covers The BIG Picture