1 / 47

CS/ECEn 124 – Computer Systems

CS/ECEn 124 – Computer Systems. Winter 2010 Section 001 , MWF 1:00 – 1:50 pm Section 002 , MWF 2:00 – 2:50 pm Help Sessions , MWF 4:00 – 4:45 pm Instructor: Paul Roper Office: TMCB 3370, 422-8149 Email: proper@cs.byu.edu Office Hours: MWF 10:00 – 11:40 am. Let’s Get Started….

lavender
Download Presentation

CS/ECEn 124 – Computer Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS/ECEn 124 – Computer Systems • Winter 2010 • Section 001, MWF 1:00 – 1:50 pm • Section 002, MWF 2:00 – 2:50 pm • Help Sessions, MWF 4:00 – 4:45 pm • Instructor:Paul RoperOffice:TMCB 3370, 422-8149 Email:proper@cs.byu.edu • Office Hours:MWF 10:00 – 11:40 am Chapter 01 - Abstraction

  2. Let’s Get Started… What’s inside this thing...

  3. Concepts to Learn… • Computers • Power of Abstraction • Hardware vs. Software • Turing Machine • Universal Computing Devices • The “Gap” • Solving Problems w/Computer • Levels of Transformation Chapter 01 - Abstraction

  4. Computers Computers… • There is no magic to computing. • Computers do not have minds of their own. You have to tell them exactly what to do. • Computers follow instructions exactly. • Computers are made of very simple parts…albeit, fast parts and a whole lot of them! • We will study the MPS430 micro-controller, which has all of the important characteristics of today’s commercial computers. Chapter 01 - Abstraction

  5. Computers A Computer • A computer • figures out what to do next – control. • does the computations on the data – data path. • A computer uses a “program” for control and the data path. • A computer is called a • a central processing unit, • or a CPU, MPU, MSP, • or simply, a processor. Chapter 01 - Abstraction

  6. Computers Digital vs. Analog • Wristwatches (numbers vs. hands) • LP’s vs. CD’s • Rotary phone vs. Cell phone • NTSC vs. HDTV • Slide rule vs. calculator • 737’s vs. 787’s Chapter 01 - Abstraction

  7. Computers All Computers Are Created Equal… • In theory, any computer can compute anything that’s possible to compute • given enough memory and • given enough time. • In practice, solving a problem is constrained by • time • weather forecast, next frame of animation, ... • cost • cell phone, automotive engine controller, ... • power • cell phone, handheld video game, ... Chapter 01 - Abstraction

  8. Computers Computing Machines • Ubiquitous (meaning everywhere!) • General purpose: servers, desktops, laptops, PDAs, … • Special purpose: cash registers, ATMs, games, telephone switches, … • Embedded: cars, hotel doors, printers, VCRs, industrial machinery, medical equipment, … • Distinguishing Characteristics • Speed • Cost • Ease of use, software support & interface • Scalability • Reliability Chapter 01 - Abstraction

  9. Computers Computing Machines • Use Abstraction • Hardware verses Software • to manage complexity. • to enhance productivity. • to hide unnecessary details when everything works. • to focus on what is important. • are just different parts of a computing system. • understanding together best solve computing problems. • mastery makes you more capable. Chapter 01 - Abstraction

  10. Abstraction The Concept of Abstraction • We abstract naturally– • focus on the essential aspects of an entity. • hide the underlying complexity. • Avoid getting bogged down in unnecessary details (when everything is working fine). • More efficient to think about something at the highest possible level of abstraction. • Without abstraction, one would be overwhelmed by the complexity of a computer. • But, when something doesn’t work, then abstraction fails and you have to look at the details. Chapter 01 - Abstraction

  11. Hardware/Software Hardware versus Software • Some people think that its OK for– • Software engineers to be clueless about hardware, or • Hardware engineers to be clueless about software. • Don’t believe it! • Hardware and software are both essential parts of a computing system. • Computer systems work best when designed by someone who understands both parts. • Hardware designers that understand programming design the best computers. • Software designers that understand the capabilities and limitations of hardware design more efficient programs. Chapter 01 - Abstraction

  12. Turning Machine Computing Devices • Alan Turing • In 1936 he proposed a way to define the term “computable” • The Turing Machine • Basic abstract symbol-manipulating devices which can be adapted to simulate the logic of any computer algorithm. • Anything that can be computed,can be computed by a TM… • The TM is not a real machine,but an abstract machine Chapter 01 - Abstraction

  13. Tmul Tadd a,b ab a,b a+b Turing machine that multiplies Turing machine that adds Turning Machine Turing Machine • Mathematical model of a device that can performany computation – Alan Turing (1936) • ability to read/write symbols on an infinite “tape” • “state” transitions, based on current state and symbol • Every computation can be performed by some Turing machine. (Turing’s thesis) Chapter 01 - Abstraction

  14. Turning Machine Turing Machine Details Chapter 01 - Abstraction

  15. Turning Machine Turing Machine Example Start State (State Register) “Action Table” StepStateTape 1 S1 11 Old Read Write New State Sym Sym Move State S1 1  0 R S2 S2 1 1 R S2 S2 0 0 R S3 S3 0 1 L S4 S3 1 1 R S3 S4 1 1 L S4 S4 0 0 L S5 S5 1 1 L S5 S5 0 1 R S1 2 S201 3 S2010 4 S30100 5 S40101 6 S50101 7 S50101 8 S11101 9 S2 1001 10 S3 1001 11 S3 10010 12 S4 10011 13 S4 10011 14 S5 10011 15 S1 11011 --HALT-- Tape Read Head Chapter 01 - Abstraction

  16. U Tadd, Tmul a,b,c c(a+b) Universal Turing Machine Universal Turning Machine Universal Turing Machine • A Universal Turing Machine is a theoretical device • that can simulate any other Turing machine. • that accepts both input data and instructions as to how to operate on the data. • that is also a Turing Machine! A computer is a universal computing device. Chapter 01 - Abstraction

  17. The “Gap” The “Gap” Implementation Wordprocessing… Games… Surfing the web… 10101101011011… Computational Problem Chapter 01 - Abstraction

  18. The “Gap” Overcoming the Gap Problems Algorithms Language (Program) Programmable Computer Specific Machine (ISA) Architecture Micro-architecture Manufacturer Specific As we move down, many choices must be made. This is how we make our living! Circuits Devices Chapter 01 - Abstraction

  19. Software Design: choose algorithms and data structures Algorithm Programming: use language to express design Program Compiling/Interpreting: convert language to machine instructions Instruction Set Architecture Solving Problems Problem Solving w/Computers Problem Chapter 01 - Abstraction

  20. Instruction Set Design: Design ISA that enables efficient problem solving Processor Design: choose structures to implement ISA Micro- Architecture Logic/Circuit Design: gates and low-level circuits toimplement components Circuits Process Engineering & Fabrication: develop and manufacturelowest-level components Devices Solving Problems Deeper and Deeper… Instruction Set Architecture Chapter 01 - Abstraction

  21. Programmable Fixed Solving Problems Levels of Transformation Which Levels are Programmable? Problems Problems Algorithms Algorithms Language (Program) Language (Program) Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  22. Solving Problems Problems • Why not use natural languages to program computers? • Incomplete Missing words and/or word structures for computer procedures. • Imprecise Words that mean the same thing are difficult to translate into computer instructions. • Ambiguous – the most unacceptable attribute! To infer the meaning of a sentence, a listener is often helped by the tone of the speaker, or at the very least, the context of the sentence. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  23. Solving Problems For example… • Consider the English sentence, “Time flies like an arrow.” • One is noticing how fast time passes, • One is at a track meet for insects, • One is writing a letter to the Dear Abby of Insectville. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  24. Solving Problems Algorithms • An algorithm is a step-by-step procedure that: • guarantees to terminate (finiteness) • each step is precisely stated (definiteness) • each step can be carried out (effective computability) • Examples • Starting a car • Computing the average of n integers For any given problem, there are usually multiple algorithms that will work. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  25. Solving Problems Programs • The next step is to transform the algorithm into a computer program using a computer language. • computer languages communicate with the computer • computer languages are defined by a grammar • computer languages are mechanical rather than natural • computer languages are not ambiguous • More than 1,000 programming languages • different languages for different purposes • financial processing/report generation • manipulating lists of symbolic data • natural language processing • often, just a personal preference Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  26. Application Program Operating System This lecture Data Program (Software) PowerPoint Application Program Windows XP Operating System Solving Problems The Program Level • Most computers run a management program called the operating system (OS). • Application programs interface to the machine architecture via the OS. An example: Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  27. Solving Problems High-Level Languages (HLL’s) • Machine independent • not dependent on a particular machine’s organization • can be compiled to run anywhere • Easier to write than low-level languages • Usually result in higher programmer productivity • Incorporate higher levels of abstraction • data structures (stacks, arrays) • control structures (loops, switch statements, …) Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  28. Solving Problems Low-Level Languages (LLL’s) • Machine-specific • internal machine organization is exposed to the programmer • they can access the nitty gritty details • numbers and types of registers • specific instructions • memory addressing modes • condition code flags, special purpose • hardware features • Assembly programming • lower productivity, but • higher performing code Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  29. Levels of Transformation Levels of Transformation Problems Algorithms Language (Program) Programmable Computer Specific Machine (ISA) Architecture Micro-architecture Manufacturer Specific Circuits Devices Chapter 01 - Abstraction

  30. Levels of Transformation Instruction Set Architecture (ISA) • Next is to translate the computer program (language) into the instruction set of a particular computer • Specific to a CPU • data types • What are the different representations of operands • operations on data • What functions can be done • addressable memory • Where are operands stored • addressing modes • How to find operands in memory Machine code, or the 1’s and 0’s that instruct the machine. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  31. faster and more complex Levels of Transformation Micro-Architecture • The micro-architecture transforms the ISA into an implementation. • 8051 • IA-32 • 386 • 486 • Pentium • Pentium-II, III, IV • Xeon • MSP430 • How the operations in the ISA are implemented • how do you add two binary numbers? • or, how do you access memory? Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  32. Levels of Transformation Circuits • The next step is to implement each element of the micro-architecture with simple logic circuits. • Gates, adders, multiplexers • Flip flops, memory cells • Adders, subtracters, multipliers Circuits are used to make the computer do useful things like multiply or store a result. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  33. Levels of Transformation Devices • Finally, each basic logic circuit is implemented by a particular device technology. • Wires and traces • Types of circuits (transistors) CMOS NMOS Gallium arsenide Devices are the building blocks for more complex circuits. Problems Algorithms Programs Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  34. More abstract, machine-independent; easier to write, read, debug, maintain More concrete, machine-dependent; error -prone, harder to write, read, debug, maintain Very high- level language objectives or tasks High-level language statements Assembly language instruction, mnemonic Machine language instructions binary (hex) Compiler Interpreter Assembler Swap v[i] and v[i+1] temp=v[i]; v[i]=v[i+1]; v[i+1]=temp; MOV.B 0x0001(SP),R14 MOV.W SP,R15 INCD.W R15 ADD.W R15,R14 MOV.B @R14,0x0000(SP) MOV.B 0x0001(SP),R14 INC.W R14 MOV.W SP,R15 INCD.W R15 ADD.W R15,R14 MOV.B 0x0001(SP),R13 MOV.W SP,R15 INCD.W R15 ADD.W R15,R13 MOV.B @R14,0x0000(R13) MOV.B 0x0001(SP),R15 INC.W R15 MOV.W SP,R14 INCD.W R14 ADD.W R15,R14 MOV.B @SP,0x0000(R14) 415E 0001 410F 532F 5F0E 4EE1 0000 415E 0001 531E 410F 532F 5F0E 415D 0001 410F 532F 5F0D 4EED 0000 415F 0001 531F 410E 532E 5F0E 41EE 0000 One task = Many instructions One statement = Several instructions Mostly one for one Levels of Transformation High vs Low Level Programming Chapter 01 - Abstraction

  35. by hand C-language program (HLL) c = a + b; compiler Assembly language program (LLL) ADD.W r4,r12 assembler Machine language programs 0010110010010001111 program execution Levels of Transformation Example: Levels of Translation Algorithm Algorithm Language ISA Chapter 01 - Abstraction

  36. Labs 11-12 Labs 9-10 Labs 6-8 Labs 4-5 Lab 3 Lab 2 Levels of Transformation Levels of Transformation Problems Algorithms Language (Program) Machine (ISA) Architecture Micro-architecture Circuits Devices Chapter 01 - Abstraction

  37. Levels of Transformation Review: Descriptions of Each Level • Problem Statement • stated using "natural language“ • ambiguous, imprecise • Algorithm • step-by-step procedure, guaranteed to finish • definiteness, effective computability, finiteness • Program • express the algorithm using a computer language • high-level language, low-level language Chapter 01 - Abstraction

  38. Levels of Transformation Review of Each Level(continued…) • Instruction Set Architecture (ISA) • set of instructions the computer can execute • data types, addressing mode • Micro-architecture • detailed organization of a processor implementation • different implementations of a single ISA • Logic Circuits • combine basic operations to realize microarchitecture • many different ways to implement a single function • Devices • properties of materials, manufacturability Chapter 01 - Abstraction

  39. Chapter 01 - Abstraction

  40. Auxilliary Slides…

  41. From Components to Applications Subfields or views in computer system engineering. Chapter 01 - Abstraction

  42. What Is Computer Architecture? Like a building architect, whose place at the engineering/arts and goals/means interfaces is seen in this diagram, a computer architect reconciles many conflicting or competing demands. Chapter 01 - Abstraction

  43. Parts of a Computer System The space of computer systems, with what we normally mean by the word “computer” highlighted. Chapter 01 - Abstraction

  44. Price/Performance Pyramid Differences in scale, not in substance Classifying computers by computational power and price range. Chapter 01 - Abstraction

  45. Automotive Embedded Computers Embedded computers are ubiquitous, yet invisible. They are found in our automobiles, appliances, and many other places. Chapter 01 - Abstraction

  46. PC’s and Workstations Notebooks, a common class of portable computers, are much smaller than desktops but offer substantially the same capabilities. What are the main reasons for the size difference? Chapter 01 - Abstraction

  47. Chapter 01 - Abstraction

More Related