Compsci 001 9.1 Today’s topics l Operating Systems  Brookshear, Chapter 3  Slides from Kevin Wayne’s COS 126 course l Performance & Computer Architecture.

Slides:



Advertisements
Similar presentations
Future of Microprocessors
Advertisements

Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
I NPUT D EVICES Input Devices: devices that input information into the computer such as a keyboard, mouse, scanner, and digital camera.
Computer Architecture & Organization
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
EEM 486 EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Memory: Virtual MemoryCSCE430/830 Memory Hierarchy: Virtual Memory CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Computer Systems CS208. Major Components of a Computer System Processor (CPU) Runs program instructions Main Memory Storage for running programs and current.
MIS 175 Spring Learning Objectives When you finish this chapter, you will: –Recognize major components of an electronic computer. –Understand how.
Computer Organization and Assembly language
Systems I Locality and Caching
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Computer performance.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Compsci Today’s topics l Performance & Computer Architecture  Notes from David A. Patterson and John L. Hennessy, Computer Organization and Design:
Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI CSCI.
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
Computer Organization
Compsci Today’s topics l Binary Numbers  Brookshear l Computer Architecture  Notes from David A. Patterson and John L. Hennessy, Computer.
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
The Computer Systems By : Prabir Nandi Computer Instructor KV Lumding.
2007 Sept 06SYSC 2001* - Fall SYSC2001-Ch1.ppt1 Computer Architecture & Organization  Instruction set, number of bits used for data representation,
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
International Technology University CEN 951 Computer Architecture Lecture 2 Five Components of a Computer.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
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.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Architecture CPSC 350
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
Computer Architecture 2 nd year (computer and Information Sc.)
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Lecture on Central Process Unit (CPU)
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
1  1998 Morgan Kaufmann Publishers Chapter Seven.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Great Ideas, Chapter 10  Slides from Kevin Wayne’s COS 126 course l Performance.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB CS152 Computer Architecture and Engineering Lecture 1 August 27, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson)
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
Lecture # 10 Processors Microcomputer Processors.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Great Ideas, Chapter 10  Slides from Kevin Wayne’s COS 126 course l Performance.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Computer Architecture Furkan Rabee
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.
Introduction to Computers - Hardware
William Stallings Computer Organization and Architecture 6th Edition
Computer Organization and Architecture Lecture 1 : Introduction
Memory COMPUTER ARCHITECTURE
Architecture & Organization 1
Computer Architecture CSCE 350
CS775: Computer Architecture
COMS 361 Computer Organization
CS4100: 計算機結構 Course Outline
Presentation transcript:

Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Slides from Kevin Wayne’s COS 126 course l Performance & Computer Architecture  Notes from David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufmann,  l Slides from Prof. Marti Hearst of UC Berkeley SIMS l Slides from Prof. David Patterson of UC Berkeley CS l Upcoming  Complexity

Compsci What is an Operating System? l Examples? l What does it do?

Compsci What is an Operating System? l United States v. Microsoft l Dave Farber [DOJ witness]:  "An Operating System is software that controls the execution of programs on computer systems and may provide low-level services such as resource allocation, scheduling and input-output control in a form which is sufficiently simple and general so that these services are broadly useful to software developers.” l Ed Felten [DOJ Witness]:  "An operating system is software that provides services relating to booting the machine and starting programs, interfacing with the hardware, managing and scheduling use of hardware resources, and basic security services."

Compsci What is an Operating System? l Jim Allchin [Microosft Witness]  "A computer operating system, like any other type of software, is a set of instructions that causes a computer to carry out specified functions. Although no clear line of demarcation exists between the functions performed by operating system software and other types of software, operating systems generally serve, at a bare minimum, as the computer’s 'central nervous system,' scheduling the execution of tasks by the central processing unit and controlling the flow of information within the computer and between the computer and any peripheral devices that may be attached to it. It is important to bear in mind that all software is a series of instructions to a computer, and terms that have evolved to categorize such software are merely descriptive of general categories of functionality. There is no widely accepted definition of an operating system; it is a concept that has evolved over time based on what is technically possible and what customer[s] have said they want."

Compsci What is an Operating System? l Judge Thomas Penfield Jackson’s Ruling (2000)  "An ’operating system’ is a software program that controls the allocation and use of computer resources (such as central processing unit time, main memory space, disk space, and input/output channels). The operating system supports the functions of software programs, called ’applications,’ that perform specific user-oriented tasks.” l So what did this definition mean for this case? l What eventually happened?

Compsci What is an Operating System? l Modern operating systems support:  Software tools for creating programs libraries, compilers  Running multiple programs. multiprogramming  Saving/accessing data. files, virtual memory  User interaction. window system  Interaction with other systems. networking  Core applications programs. client-server  Execution Control. OS keeps track of state of CPU, devices.  External Devices. Display, keyboard, mouse, disks, CD, network.  Virtual machines OS presents machine for each person/program OS implements abstract devices

Compsci Multiprogramming Operating system "kernel" keeps track of several programs.  CPU does 1 thing at a time.  Goal: illusion of multiple machines. INTERRUPT:  Part of hardware of real machines stop save Program Counter (PC) somewhere "special" change PC  Necessary to manage input-output devices. mouse click, keyboard OS allows several programs/processes to "share" CPU by keeping table of "current" PC’s for programs setting clock to interrupt periodically.  Context switching  round-robin or user priorities What about multiprocessing?

Compsci Virtual Memory Problem 1: several programs need to share same memory.  Direct solution: apportion up the memory. Problem 2: program needs more memory than machine has.  Direct solution: "overlays."  program shuffles its own data in and out of memory to disk "Better" solution: VIRTUAL MEMORY (1960’s).  All programs assume access to all memory.  Each program actually uses a small portion. l How many bits is enough to represent address in virtual memory? Memory hierarchy  local: fast, small, expensive  remote: slow, huge, cheap Tradeoff speed for cost. Cache recently accessed information.

Compsci Key OS developments l Window manager  PARC (Alto), Macintosh, Windows, Web browser?  Problems with a virtual view into the system? l Client/server  Client: request service.  Server: do the work.  Examples? l Networking & Distributed systems  Multiple systems working together over the Internet l File system  Goal: provide simple abstraction (sequence of bytes) for user programs.

Compsci Performance l Performance= 1/Time  The goal for all software and hardware developers is to increase performance l Metrics for measuring performance (pros/cons?)  Elapsed time  CPU time Instruction count (RISC vx. CISC) Clock cycles per instruction Clock cycle time  MIPS vs. MFLOPS  Throughput (tasks/time)  Other more subjective metrics? l What kind of workload to be used?  Applications, kernels and benchmarks (toy or synthetic)

Compsci The Big Picture Control Datapath Memory Processor Input Output l Since 1946 all computers have had 5 components  The Von Neumann Machine l What is computer architecture? Computer Architecture = Machine Organization + Instruction Set Architecture +...

Compsci Fetch, Decode, Execute Cycle l Computer instructions are stored (as bits) in memory l A program’s execution is a loop  Fetch instruction from memory  Decode instruction  Execute instruction l Cycle time  Measured in hertz (cycles per second)  2 GHz processor can execute this cycle up to 2 billion times a second  Not all cycles are the same though…

Compsci Organization Logic Designer's View ISA Level FUs & Interconnect l Capabilities & Performance Characteristics of Principal Functional Units (Fus)  (e.g., Registers, ALU, Shifters, Logic Units,...) l Ways in which these components are interconnected l Information flows between components l Logic and means by which such information flow is controlled. l Choreography of FUs to realize the ISA

Compsci Memory bottleneck l CPU can execute dozens of instruction in the time it takes to retrieve one item from memory l Solution: Memory Hierarchy  Use fast memory  Registers  Cache memory  Rule: small memory is fast, large memory is small

Compsci What is Realtime? l Response time  Panic How to tell “I am still computing” Progress bar l Flicker  Fusion frequency l Update rate vs. refresh rate  Movie film standards (24 fps projected at 48 fps) l Interactive media  Interactive vs. non-interactive graphics computer games vs. movies animation tools vs. animation  Interactivity  real-time systems system must respond to user inputs without any perceptible delay (A Primary Challenge in VR)

Compsci A great idea in computer science l Temporal locality  Programs tend to access data that has been accessed recently (i.e. close in time ) l Spatial locality  Programs tend to access data at an address near recently referenced data (i.e. close in space ) l Useful in graphics and virtual reality as well  Realistic images require significant computational power  Don’t need to represent distant objects as well l Efficient distributed systems rely on locality  Memory access time increases over a network  Want to acess data on local machine

Compsci Instruction Set Architecture... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls the logic design, and the physical implementation. – Amdahl, Blaaw, and Brooks, 1964SOFTWARE -- Organization of Programmable Storage -- Data Types & Data Structures: Encodings & Representations -- Instruction Set -- Instruction Formats -- Modes of Addressing and Accessing Data Items and Instructions -- Exceptional Conditions

Compsci The Instruction Set: a Critical Interface instruction set software hardware l What is an example of an Instruction Set architecture?

Compsci Forces on Computer Architecture Computer Architecture Technology Programming Languages Operating Systems History Applications Cleverness

Compsci Technology l In ~1985 the single-chip processor (32-bit) and the single-board computer emerged  => workstations, personal computers, multiprocessors have been riding this wave since l Now, we have multicore processors DRAM YearSize Kb Kb Mb Mb Mb Mb Mb Gb Gb Microprocessor Logic DensityDRAM chip capacity

Compsci Technology => dramatic change l Processor  logic capacity: about 30% per year  clock rate: about 20% per year l Memory  DRAM capacity: about 60% per year (4x every 3 years)  Memory speed: about 10% per year  Cost per bit: improves about 25% per year l Disk  capacity: about 60% per year  Total use of data: 100% per 9 months! l Network Bandwidth  Bandwidth increasing more than 100% per year!

Compsci Performance Trends Microprocessors Minicomputers Mainframes Supercomputers 1995 Year Log of Performance

Compsci Microprocessor Generations l First generation:  Behind the power curve (16-bit, <50k transistors) l Second Generation:  Becoming “real” computers (32-bit, >50k transistors) l Third Generation:  Challenging the “establishment” (Reduced Instruction Set Computer/RISC, >100k transistors) l Fourth Generation:  Architectural and performance leadership (64-bit, > 1M transistors, Intel/AMD translate into RISC internally)

Compsci In the beginning (8-bit) Intel 4004 l First general-purpose, single- chip microprocessor l Shipped in 1971 l 8-bit architecture, 4-bit implementation l 2,300 transistors l Performance < 0.1 MIPS (Million Instructions Per Sec) l 8008: 8-bit implementation in 1972  3,500 transistors  First microprocessor-based computer (Micral) Targeted at laboratory instrumentation Mostly sold in Europe All chip photos in this talk courtesy of Michael W. Davidson and The Florida State University

Compsci st Generation (16-bit) Intel 8086 l Introduced in 1978  Performance < 0.5 MIPS l New 16-bit architecture  “Assembly language” compatible with 8080  29,000 transistors  Includes memory protection, support for Floating Point coprocessor l In 1981, IBM introduces PC  Based on bit bus version of 8086

Compsci nd Generation (32-bit) Motorola l Major architectural step in microprocessors:  First 32-bit architecture initial 16-bit implementation  First flat 32-bit address Support for paging  General-purpose register architecture Loosely based on PDP-11 minicomputer l First implementation in 1979  68,000 transistors  < 1 MIPS (Million Instructions Per Second) l Used in  Apple Mac  Sun, Silicon Graphics, & Apollo workstations

Compsci rd Generation: MIPS R2000 l Several firsts:  First (commercial) RISC microprocessor  First microprocessor to provide integrated support for instruction & data cache  First pipelined microprocessor (sustains 1 instruction/clock) l Implemented in 1985  125,000 transistors  5-8 MIPS (Million Instructions per Second)

Compsci th Generation (64 bit) MIPS R4000 l First 64-bit architecture l Integrated caches  On-chip  Support for off-chip, secondary cache l Integrated floating point l Implemented in 1991:  Deep pipeline  1.4M transistors  Initially 100MHz  > 50 MIPS l Intel translates 80x86/ Pentium X instructions into RISC internally

Compsci Key Architectural Trends l Increase performance at 1.6x per year (2X/1.5yr)  True from 1985-present l Combination of technology and architectural enhancements  Technology provides faster transistors (  1/lithographic feature size) and more of them  Faster transistors leads to high clock rates  More transistors (“Moore’s Law”): Architectural ideas turn transistors into performance –Responsible for about half the yearly performance growth l Two key architectural directions  Sophisticated memory hierarchies  Exploiting instruction level parallelism

Compsci Where have all the transistors gone? l Superscalar (multiple instructions per clock cycle) Execution Icache D cache branch TLB Intel Pentium III (10M transistors) 2 Bus Intf Out-Of-Order SS Branch prediction (predict outcome of decisions) 3 levels of cache Out-of-order execution (executing instructions in different order than programmer wrote them)

Compsci Laws? l Define each of the following. What has its effect been on the advancement of computing technology?  Moore’s Law  Amdahl’s Law  Metcalfe’s Law