Textbook Chapter 1Abstraction and Computing SystemsCMPE12 – Fall 2009 04-2Computing machines are 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.CMPE12 – Fall 2009 04-3Computing machines: distinguishing features Speed Cost Price/performance Ease of use, software support & interface Scalability Power SizeCMPE12 – Fall 2009 04-4Computing SystemWhat is it?CMPE12 – Fall 2009 04-51stVery Important Idea 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 deviceCMPE12 – Fall 2009 04-6Alan Turing’s original model(1912-1954)CMPE12 – Fall 2009 04-7A Turing MachineAlso known as a Universal Computational Device: a theoretical device that accepts both input data and instructions on how to operate on the dataCMPE12 – Fall 2009 04-8 Problem Transformation The ultimate objective is to transform a problem expressed in natural language into electrons running around a circuit This is computer science and computer engineering A continuum that embraces software and hardware2ndVery Important IdeaCMPE12 – Fall 2009 04-9Computer ArchitectureProblemsAlgorithmsLanguageInstruction Set ArchitectureMicroarchitectureCircuitsDevicesCMPE12 – Fall 2009 04-10Computer ScienceDefinition: The study of algorithms and data structures to solve problems.Abstraction: Use of level of abstraction in software design allows the programmer to focus on a critical set of problems without having to deal with irrelevant details.CMPE12 – Fall 2009 04-11Procedure or Functionint average (a, b)beginint avg;avg = (a+b)/2;return (avg);endmain ()…x = 4;y = 2;k = average (x,y);print ("%d", k);…CMPE12 – Fall 2009 04-12HighLevelLanguageAssemblyLanguageMachineLanguageCompiler AssemblerCompiler: A computer program that translates code written in a high level language into an intermediate level abstract language.Assembler: A computer program that translates code written in assembly language to the binary form that the CPU can execute.Programming FlowCMPE12 – Fall 2009 04-13Computer EngineeringDefinition: The creative application of engineering principles and methods to the design and development of hardware and software systems.Abstraction: Use of level of abstraction in hardware design allows the designer to focus on a critical set of problems without having to deal with irrelevant details.CMPE12 – Fall 2009 04-14Instruction Set Architecture (ISA)Definition: Interface between a computer’s hardware and its software. Defines exactly what the computer’s instructions do, and how they are specified.CMPE12 – Fall 2009 04-15Central Processing UnitThe heart of computing systemsca 1980It took 10 of these boards to make a Central Processing Unit (CPU)ca 2000No wonder they called this CPU a microprocessor!CMPE12 – Fall 2009 04-16Motherboard: SystemCMPE12 – Fall 2009 04-17CPU: PackageCMPE12 – Fall 2009 04-18CPU: MicroarchitectureIntel Core2DuoCMPE12 – Fall 2009 04-19CPU: DieIntel Core2DuoCMPE12 – Fall 2009 04-20Two recurring themes1) AbstractionThe notion that we can concentrate on one “level” of the big picture at a time, with confidence that we can then connect effectively with the levels above and below. Framing the levels of abstraction appropriately is one of the most important skills in anyundertaking.CMPE12 – Fall 2009 04-212) Hardware vs. Software On the other hand, abstraction does not mean being clueless about the neighboring levels. In particular, hardware and software are inseparably connected, especially at the level we will be studying.Two recurring themesCMPE12 – Fall 2009 04-22What is Computer Organization?ElectronicDevicesDesiredBehaviorThere is a fundamentally wide gap between the intended behavior desired and the workings of the electronic devices that do the work.Before the digital computers of today special purpose analog devices (mechanical, electrical, or electronic) where built for each desired behavior.CMPE12 – Fall 2009 04-23Role of General Purpose ComputersA general purpose computer is the bridge that links the desired behavior (application) and the basic building blocks (electronic devices).ElectronicDevicesDesiredBehaviorGeneralPurposeComputercomputerorganizationsoftwareCMPE12 – Fall 2009 04-24CPU MemoryWrite dataRead dataControl infoCPU Interacts with the memory in 3 ways:• fetches instructions• loads the value of a variable• stores the new value of a variable Memory is capable of only 2 operations:• reads – a load or a fetch• writes – operation of storing the value of a variableOur computer model for
View Full Document