CS 3410: Computer System Organization and Programming

Slides:



Advertisements
Similar presentations
TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
Advertisements

CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.
1 CS 3410 Computer System Organization and Programming K. Walsh TAs: Deniz Altinbuken Hussam Abu-Libdeh Consultants: Adam Sorrin Arseney Romanenko.
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.
OK, we are now ready to begin Chapter 2 of our text
Computer Organization and Design David. Paterson and John L. Hennessy
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
COMP311-07B Computer Systems Architecture Matthew Luckie / Tony McGregor Office: G1.28 / G1.23
Department of Computer Engineering
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
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?
CCSE251 Introduction to Computer Organization
CPE232 Introduction1 CPE 335 Computer Organization Introduction Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
Technology in Focus: Under the Hood
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Introduction CSE 410, Spring 2008 Computer Systems
Introduction Computer Organization and Architecture: Lesson 1.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 1: Introduction
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
Computer Organization and Design Computer Abstractions and Technology
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
Computer Architecture Lec 06: Computer Architecture Introduction.
LBSC 690 Module 2 Architecture. Computer Explosion Last week examined explosive growth of computers. What has led to this growth? Reduction in cost. Reduction.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
Succeeding with Technology Chapter 2 Hardware Designed to Meet the Need The Digital Revolution Integrated Circuits and Processing Storage Input, Output,
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
CHAPTER 2 Instruction Set Architecture 3/21/
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
1 Week 1: The History of Computing (PART II) READING: Chapter 1.
Introduction CSE 410, Spring 2005 Computer Systems
SPRING 2012 Assembly Language. Definition 2 A microprocessor is a silicon chip which forms the core of a microcomputer the concept of what goes into a.
William Stallings Computer Organization and Architecture 6th Edition
William Stallings Computer Organization and Architecture 6th Edition
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Chapter 1 Computer Abstractions and Technology
Computer Organization and Machine Language Programming CPTG 245
ECE 3055: Computer Architecture and Operating Systems
Overview Instruction set architecture (MIPS)
CPE 232 Computer Organization Introduction
Instruction Set Architecture
Computer History.
INTRODUCTION TO MICROPROCESSORS
Prof. Sirer CS 316 Cornell University
INTRODUCTION TO MICROPROCESSORS
INTRODUCTION TO MICROPROCESSORS
CPEG 323 – Fall 2006 Topics in Computer System Engineering – Computer Organization and Design 9/22/2018 cpeg323\Topic0.ppt.
CS 3410: Computer System Organization and Programming
Архитектура на компјутери
Gates and Logic: From Transistors to Logic Gates and Logic Circuits
BIC 10503: COMPUTER ARCHITECTURE
A primer on Computers and Programs
Computer History.
Prof. Sirer CS 316 Cornell University
COMS 361 Computer Organization
CSC3050 – Computer Architecture
Chapter 0 Introduction Introduction Chapter 0.
Presentation transcript:

CS 3410: Computer System Organization and Programming Hakim Weatherspoon Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer.

The Analytical Engine Designed by Charles Babbage from 1834 – 1871 Considered to be the first digital computer Built from mechanical gears, where each gear represented a discrete value (0-9) Babbage died before it was finished http://history-computer.com http://wikimedia.com

= abstract model for CPU that can simulate any algorithm How does The Imitation Game, Engima/Bombe, Turing relate to you and this course?! Alan Turing thesis in 1936 came up with an abstract model for a CPU that can simulate any algorithm, a Turing Machine. You will build a CPU and understand it and its organization http://en.wikipedia.org/wiki/Turing_machine A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules. Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm, and is particularly useful in explaining the functions of a CPU inside a computer. Note that every part of the machine (i.e. its state, symbol-collections, and used tape at any given time) and its actions (such as printing, erasing and tape motion) is finite, discrete and distinguishable; it is the unlimited amount of tape and runtime that gives it an unbounded amount of storage space. Turing Machine 1936 Alan Turing = abstract model for CPU that can simulate any algorithm

The Bombe Enigma machine used by the Allies to break the German Enigma machine during World War II http://en.wikipedia.org/wiki/Bombe How many possible combinations to break an Enigma cipher text (msg encrypted by the Enigma machine)? Rotors x Rotor posititions x plugboard combinations with 10 pairs = 159 quintillion = 1.59 x 10^20 158,962,555,217,826,360,000 Rotors (3 of 5 rotors): 5 x 4 x 3 = 60 Rotor positions: 26 x 26 x 26 = 17,526 plugboard: 26! / (6!10!2^10) Numberphile on Enigma/Bombe For those who want to learn more about the mechanism of the Bombe and how it exploited the flaw in the Enigma, Numberphile has recently done an excellent episode on it. Enjoy! Flaw in the Enigma: http://www.youtube.com/watch?v=V4V2bpZlqx8 Previous episode on Enigma: http://www.youtube.com/watch?v=G2_Q9FoD-oQ Enigma machine Used by the Germans during World War II to encrypt and exchange secret messages

ENIAC Electronic Numerical Integrator And Computer 1946 John Mauchly J. Presper Eckert

IBM 7090 Human Computers programming the IBM 7090 Mary Jackson Hidden Figures

Who are you? “Sometimes it is the people that no one imagines anything of who do the things that no one can imagine.” – Alan Turing Turing Award Winners? Eckert Mauchly Award Winners?

Course Objective Understand the HW / SW interface software How a processor works How a computer is organized Establish a foundation for building applications How to write a good program Good = correct, fast, and secure How to understand where the world is going Understand technology (past, present, future)

What is this? How does it work? I’m glad you asked… #include <stdio.h> int main() { printf("Hello world!\n"); return 0; } How does it work? I’m glad you asked… 15 weeks later and you’ll know! “I know Kung Fu.”

Compilers & Assemblers int x = 10; x = 2 * x + 15; C compiler addi r5, r0, 10 muli r5, r5, 2 addi r5, r5, 15 MIPS assembly language r0 = 0 r5 = r0 + 10 r5 = r5 * 2 r5 = r5 + 15 00100000000001010000000000001010 00000000000001010010100001000000 00100000101001010000000000001111 MIPS machine language assembler 32 bits, 4 bytes What time is it? op = addi r0 r5 10 op = addi r5 r5 15 Everything is a number!

How to Design a Simple Processor inst alu 10 memory register file 32 r5 r0 2 10 32 00 5 5 5 pc new pc calculation control 00: addi r5, r0, 10 04: muli r5, r5, 2 08: addi r5, r5, 15

Instruction Set Architecture (ISA) abstract interface between hardware and the lowest level software user portion of the instruction set plus the operating system interfaces used by application programmers

Basic Computer System A processor executes instructions Processor has some internal state in storage elements (registers) A memory holds instructions and data von Neumann architecture: combined inst and data A bus connects the two 01010000 10010100 … bus regs addr, data, r/w processor memory

Overview Application Operating System Compiler Firmware Instruction Set Architecture Memory system Instr. Set Proc. I/O system For class handout Datapath & Control Digital Design Circuit Design

Covered in this course Application Operating System Compiler Firmware Instruction Set Architecture Memory system I/O system CPU For class handout Datapath & Control Digital Design Circuit Design

Where did it begin? Electrical Switch Transistor On/Off Binary John Bardeen Walter Brattain William Shockley The first transistor on a workbench at AT&T Bell Labs in 1947 Transistors

Moore’s Law 1965 Amazingly visionary # of transistors integrated on a die doubles every 18-24 months (i.e., grows exponentially with time) Amazingly visionary 2300 transistors, 1 MHz clock (Intel 4004) - 1971 16 Million transistors (Ultra Sparc III) 42 Million transistors, 2 GHz clock (Intel Xeon) – 2001 55 Million transistors, 3 GHz, 130nm technology, 250mm2 die (Intel Pentium 4) – 2004 290+ Million transistors, 3 GHz (Intel Core 2 Duo) – 2007 721 Million transistors, 2 GHz (Nehalem) - 2009 1.4 Billion transistors, 3.4 GHz Intel Haswell (Quad core) – 2013 7.2 Billion transistors, 3-3.9 GHz Intel Broadwell (22-core) – 2016 Tbyte = 2^40 bytes (or 10^12 bytes) Note that Moore’s law is not about speed predictions but about chip complexity

Processor Performance Increase Intel Pentium 4/3000 Intel Xeon/2000 DEC Alpha 21264A/667 DEC Alpha 21264/600 DEC Alpha 5/500 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100 DEC AXP/500 HP 9000/750 IBM RS6000 Another powerpoint “comic” – note that the y axis is log ! x/y where x is the model number and y is the speed in MHz Rate of performance improvement has been between 1.5 and 1.6 times per year – how much longer will Moore’s Law hold? MIPS M2000 SUN-4/260 MIPS M/120

Then and Now The first transistor Intel Haswell http://techguru3d.com/4th-gen-intel-haswell-processors-architecture-and-lineup/ The first transistor One workbench at AT&T Bell Labs 1947 Bardeen, Brattain, and Shockley John Bardeen Walter Brattain William Shockley Intel Haswell 1.4 billion transistors, 22nm 177 square millimeters Four processing cores What are we doing with all these transistors? https://en.wikipedia.org/wiki/Transistor_count

Then and Now The first transistor Intel Broadwell https://www.computershopper.com/computex-2015/performance-preview-desktop-broadwell-at-computex-2015 The first transistor One workbench at AT&T Bell Labs 1947 Bardeen, Brattain, and Shockley John Bardeen Walter Brattain William Shockley Intel Broadwell 7.2 billion transistors, 14nm 456 square millimeters Up to 22 processing cores What are we doing with all these transistors? https://en.wikipedia.org/wiki/Transistor_count

Then and Now The first transistor Galaxy Note 8 One workbench at AT&T Bell Labs 1947 Bardeen, Brattain, and Shockley John Bardeen Walter Brattain William Shockley Galaxy Note 8 8 processing cores Exynos 9 Octa 8895 processor What are we doing with all these transistors? https://en.wikipedia.org/wiki/Exynos

What are we doing with all these transistors? Everything these days! Phones, cars, televisions, games, computers,…

Computer System Organization Morgan Kaufmann Publishers September 19, 2018 Computer System Organization Chapter 1 — Computer Abstractions and Technology

Reflect Why take this course? Basic knowledge needed for all other areas of CS: operating systems, compilers, ... Levels are not independent hardware design ↔ software design ↔ performance Crossing boundaries is hard but important device drivers Good design techniques abstraction, layering, pipelining, parallel vs. serial, ... Understand where the world is going The Mysteries of Computing will be revealed!