Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Introduction to computing systems from bits & gates to C & beyond yale n. patt & sanjay j. patel ©2001 Introduction to Computing Systems from bits & gates to C & beyond Chapter 1 Welcome Aboard! Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Understanding Computer Systems Three basic questions associated with understanding computing systems: What are computing systems used for? How are computing systems implemented? What are computing systems able to do and how well can they do it? 1-3 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Computing Machines Ubiquitous ( = everywhere) General purpose: servers, desktops, laptops, PDAs, etc. Special purpose: cash registers, ATMs, games, telephone switches, etc. Embedded: cars, hotel doors, printers, VCRs, industrial machinery, medical equipment, etc. Distinguishing Characteristics Speed Cost Ease of use, software support & interface Scalability 1-4 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside This course is about: • What computers consist of • How computers work • How they are organized internally • What are the design tradeoffs • How design affects programming and applications 1-5 • How to fix computers • How to build myself one real cheap • Which one to buy • Knowing more about how a PentiumIII or PowerPC works internally Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside What is Computer Organization? Electronic Devices Desired Behavior … a very wide gap between the intended behavior and the raw (unorganized) electronic devices. The forerunners to modern computers attempted to assemble the raw devices (mechanical, electrical, or electronic) into a separate purpose-built machine for each desired behavior. 1-6 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Role of General Purpose Computers computer organization Electronic Devices software General Purpose Computer Desired Behavior We will break the gap into multiple levels and build an island in the middle. A general purpose computer is an island that bridges the gap between the desired behavior (application) and the raw material (electronic devices). 1-7 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Two Important Ideas Universal Computational Devices Given enough time and memory, all computers are capable of computing exactly the same things (irrespective of speed, size or cost). Turing’s Thesis: every computation can be performed by some “Turing Machine” - a theoretical universal computational device (not mathematically proven, but taken to be true). Problem Transformation The ultimate objective is to transform a problem expressed in natural language into electrons running around a circuit! That’s what Computer Science and Computer Engineering are all about! 1-8 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Problem Transformation - finer breakdown Desired Behavior: application Natural Language Algorithm Program Machine Architecture Micro-architecture Raw Material: electronic devices Logic Circuits Devices 1-9 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Levels of Description These levels do not necessarily correspond to discrete components, but to predetermined (fixed) standard interfaces. Natural Language Algorithm Standard interfaces provide portability third party software/hardware wider usage These levels are to some extent arbitrary there are other ways to draw the lines. Program Machine Architecture Micro-architecture Logic Circuits Devices 1 - 10 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside The Program Level Most computers run a special management program called the operating system (OS). Application Program Operating System Application programs interface to the machine architecture via the OS. Program (Software) An example: 1 - 11 This lecture Data PowerPoint Application Program Windows NT Operating System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside The Machine Level Machine Architecture This is the formal specification of all the functions a particular machine can carry out, known as the Instruction Set Architecture (ISA) Microarchitecture The implementation of the ISA in a microprocessor - i.e. the way in which the specifications of the ISA are actually carried out. Logic Circuit Each element of the microarchitecture is composed of simple logic circuits Devices Finally, each logic circuit is actually built of electronic devices such as CMOS or NMOS or GaAs (etc.) transistors 1 - 12 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University of California, Riverside Course Outline - What is Next? How to represent numbers The building blocks of computers: logic gates The basic algorithm: the von Neumann model An example: the LC-2 structure and language Programming the machine: assembly language A higher-level language: C 1 - 13