COMP 303 Computer Architecture Prof. Emin Gün Sirer Fall 2007 Koç University.

Slides:



Advertisements
Similar presentations
Slide 1Michael Flynn EE382 Winter/99 EE382 Processor Design Stanford University Winter Quarter Instructor: Michael Flynn Teaching Assistant:
Advertisements

Syllabus Instructor: Dr. Wesam Ashour
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
CS 4410 / CS4411 Operating Systems Prof. Sirer & Prof. George Fall 2014 Cornell University.
Introduction CSCI 444/544 Operating Systems Fall 2008.
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
1 CS 3410 Computer System Organization and Programming K. Walsh TAs: Deniz Altinbuken Hussam Abu-Libdeh Consultants: Adam Sorrin Arseney Romanenko.
Introduction to Computers and Programming - Class 1 1 Introduction to Computers and Programming Professor Avi Rosenfeld.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
CS 316: Introduction to Computer Organization and Systems Programming.
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
1 Chapter Seven Large and Fast: Exploiting Memory Hierarchy.
CS 4410 Operating Systems Prof. Sirer Fall 2010 Cornell University.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
1  2004 Morgan Kaufmann Publishers Chapter Seven.
1 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value is stored as a charge.
EET 4250: Microcomputer Architecture Fall 2009 William Acosta URL:
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
1 CSE SUNY New Paltz Chapter Seven Exploiting Memory Hierarchy.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
COM181 Computer Hardware Ian McCrumRoom 5B18,
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
EEL-4746 Microprocessor-based System Design Fall 2004 Semester Dr. Michael P. Frank.
CS 1 •This is Computer Science 1. •Who is Professor Adams?
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Welcome to: CSC225 Introduction to Computer Organization.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
COSC 3330/6308 Computer Architecture Jehan-François Pâris
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
CSE 171 Introduction to Digital Logic and Microprocessors Prof. Richard E. Haskell 115 Dodge Hall.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
12/13/ _01 1 Computer Organization EEC-213 Computer Organization Electrical and Computer Engineering.
1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Office: HEC 439 B.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM515 Advanced Computer Architecture.
Introduction ELEC 330 Digital Systems Engineering Dr. Ron Hayne.
Fall CSE330/CIS550: Introduction to Database Management Systems Prof. Susan Davidson Office: 278 Moore Office hours: TTh
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Programming for Engineers CMPSC 201C Fall 2000.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
1 CS/ECE 354 Fall 2013 “New, and improved!”. 2 Karen Miller Phone: CS.
1 Chapter Seven. 2 SRAM: –value is stored on a pair of inverting gates –very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: –value.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM515 Advanced Computer Architecture.
CS Computer Architecture Fall 2010 Dr. Angela Guercio ( Course Web Page
Course Book Course Objective - The student will be able to describe various operating system concepts as they are applied to memory, process, file system.
Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Computer Architecture Syllabus
Hyperthreading Technology
Computer Systems Summary
COP 5611: Operating Systems
Chapter 5: Computer Systems Organization
Overview Prof. Eric Rotenberg
Dept. of Computer & Information Sciences (Course Introduction)
Introduction to Computer Systems Engineering
Presentation transcript:

COMP 303 Computer Architecture Prof. Emin Gün Sirer Fall 2007 Koç University

2 Course Objective Bridge the gap between hardware and software How a processor works How a computer is organized How to program at the hardware level Establish a foundation for building higher- level programs How to optimize programs How to debug large systems How to deal with complexity

Why Learn Computer Architecture? Provides an understanding from the bottom up Even if few people design processors, understanding how processors work is crucial for building working systems This course will go far beyond processor design to cover all aspects of computer organization, including memory hierarchies, input/output, disk subsystems, peripherals, interrupts and so forth Engineering pride alone requires full understanding

Fact There has never been as exciting a time to work on systems hardware and software as now!!! The world is increasingly dependent on computer systems Connected, networked, interlinked People just do not know how to build robust systems

BSOD

Therac-25 A safety-critical system with software interlocks Beam controlled entirely through a custom OS

Therac-25 Old system used a hardware interlock A lever that could either be in the “zap” or “x-ray” position New system was computer controlled A synchronization failure was triggered when competent nurses used the back arrow to change the data on the screen “too quickly”

Therac-25 Outcome Beam killed one person directly, burned others, and may have given inadequate treatment to cancer patients Problem was very difficult to diagnose; initial fix involved removal of the back arrow key from the keyboard People died because a programmer could not write correct code for a concurrent system

Denver airport The most modern, most expensive airport in recent history Cost overrun in excess of $2B Highly automated luggage handling system was supposed to deliver your luggage to you at arrival Lack of persistence caused luggage carts to “forget” their contents, sprinkling the luggage on the runway

USS Yorktown Modern guided missile cruiser off of Norfolk, VA in 1998 Crew member entered 0 for a data value Cascade of failures led to a failure of the propulsion system Yorktown was dead in the water for a couple of hours

Other Systems FAA air traffic control system IRS data management system IBM “Microkernel” “Sistem kilitlendi” Many others, too numerous to list

Summary We do not have the necessary technologies and know-how to build robust computer systems There is huge demand for people who deeply understand and can build robust systems

Logistics Lectures MW 9:30-10:50, Engineering B15 Instructor Prof. Sirer, egs at systems.cs.cornell.edu Office Hours  MW 11am – noon  Or by prior appointment TAs To be announced

Communication Course Web Page Office hours, assignments, lectures, and other supplemental materials will be on the web site This document will be linked in comp303 at systems.cs.cornell.edu The alias goes to me and the TAs, not to the whole class

Administrative Course has three components Lectures and Readings Homeworks and Exams Projects You are expected to keep up with all three

Grading Breakdown 40% Projects (approx. 8 assignments) 40% Prelims and Final (2 prelims, 1 final) 15% Homeworks (approx. 6-10) 5% Flexgrade (participation, attitude, improvement and effort) Grading will not be done on a curve It is my goal to be able to give everyone an A+ Help me achieve this

Projects Projects will be done in two-person teams You may indicate a desired partner If they also indicate you, we will pair you up If you don’t have a preferred partner, we’ll pair you up with someone suitable Working in groups Start early, time management is key Manage the team effort Part of what you are supposed to learn is how to manage to get work done in a small team

Academic Integrity and Honor Code All submitted work must be your own All homeworks must be your own independent work OK to study together Cannot share solutions, ever Project groups submit joint work All group assignments must represent solely the work of the two people in that group Cannot be in possession of someone else’s solution Violations will be prosecuted to the fullest extent Closed-book exams, no calculators

Draft Syllabus Introduction and Digital Design Review From Switches, Through Transistors to Gates and Circuits Karnaugh Map Minimization State Bearing Elements Flip-flops, Latches and State Finite State Machines Binary Arithmetic Basic Processor Organization and the Fetch-Decode Cycle Instruction Set Architectures, Intro to MIPS ISA Arithmetic Logic Units MIPS ISA Assembly Language Programming Procedures and Calling Conventions Pipelining Principles, Hazards, Hazard Detection and Data Forwarding Memory: Physical and Virtual, Page Tables, TLBs Multilevel Caches, Cache-Conscious Programming Of Privilege, Traps, Interrupts and Exceptions Input/Output, Direct Memory Access Disks. RAID Multiple Cores, Concurrency and Critical Sections Spin Locks, Semaphores, Monitors and Condition Variables Advanced Processor Design – Out-of-order, Superpipelining, Superscalar, Simultaneous Multithreading

Draft Project Plan Basic ALU Implementation Basic Execution Engine MIPS Processor Pipelined MIPS Processor MIPS Disassembler MIPS Simulator Cache Simulation and Measurement Multicore Simulator and Corewars!

Questions? And demographics…