ECSE 426 Microprocessor Systems - McGill University

2y ago
41 Views
2 Downloads
701.27 KB
20 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Axel Lin
Transcription

ECSE 426Microprocessor SystemsZeljko ZilicRoom 536McConnell / zeljkoMicroprocessors Enabling technology for general purposecomputers and embedded systems Really, lots&lots of things nowadaysFoundation for software-intensive systemsData processor - arithmetic, logical, symbolicor application-specific operations Architectural view: ALUs, registers, etc.Circuit view: registers, interfaces, busesProgrammer’s view: assembler instructions3-Jan-06ECSE 426Microprocessor Systems1

Computer System Types3-Jan-06ECSE 426Microprocessor SystemsComputers and Applications Deciding factors: CostSizePowerQuantity3-Jan-06ECSE 426Microprocessor Systems2

Embedded System Importance Ubiquitous processor-based control systemsDevelopment easier than with alternative technologiesMakes products competitive: features AND priceEnabling technology for many new productsLikely source of jobs for ECE graduates3-Jan-06ECSE 426Microprocessor SystemsEmbedded Systems They are justabout everywhere ProcessorFrom toothbrushto space shuttleIncarnations ofgeneric computersystems EMBEDDED PROCESSOR MBusInputinterfaceInput keysOutputinterfaceDoor openMagnetronFanDisplaysLightSpeakerWhat is this diagram showing?Microwave OvenECSE 426Microprocessor Systems3

Another Example - Camera Computer system with: LensImage controlHardware (lenses,motors)InterfacesAdded sophistication toconsumer electronics ability lerLCDscreenFlashunitComputerinterfaceCable to PC3-Jan-06ECSE 426Microprocessor SystemsSupercomputers: Earth Simulator35.86 Tflop/s (#4), Footprint — 34,000 ft2 (4 tennis courts x 3 floors)10.0 MW!ProcessorsSwitchesDisksCable FloorAC FloorDiameterCrossbar Interconnection Network83000 Copper Cables1800 Miles of l3-Jan-06High InterprocessorLatency(11 in 1ns)ECSE 426Microprocessor Systems4

Views of Computer Systems Levelsof abstractionLogic Level - Circuits Logicfunctions implemented by gatesArchitectural Level - Microarchitecture Operationsperformed by resourcesInstruction Set Level - Instructions ProgramexecutionOperating System Level - Completesystem System3-Jan-06operationECSE 426Microprocessor SystemsLayered Computer Architecture Conceptnecessary forcomplexsystems e.g.,networking,largesoftwaresystems etc.3-Jan-06ECSE 426Microprocessor Systems5

Layered Computer Systems Includeshardware andsoftware User programsOperatingsystemInstruction SetArchitectureHardware3-Jan-06ECSE 426Microprocessor SystemsComputer History WWII effort UK(USA)Post-WWIICommercialdevelopment IBMDECCraySun3-Jan-06ECSE 426Microprocessor Systems6

Von Neumann Machine Princeton IAS 40-bit memoryword20-bit instructionword Loads “left” and“right” instructionat once3-Jan-06ECSE 426Microprocessor SystemsComputer Organization Processor MicroprocessorMemoryPeripheralsCommon Bus3-Jan-06ECSE 426Microprocessor Systems7

Example: PC Platform Driving modern technologies – economy ofscaleHardware ProcessorsBusesMemoryPeripheralsSoftware OS’sApplications3-Jan-06ECSE 426Microprocessor SystemsBasic Parts Processor, memory & sor3-Jan-06I/OECSE 426Microprocessor Systems8

Common ProcessorsStill VonNeumannarchitecture Arithmeticlogic unitRegistersAuxiliaryregisters3-Jan-06ECSE 426Microprocessor SystemsProcessor Execution - Java codepublic class Interp {static int PC;// program counter holds address of next instrstatic int AC;// the accumulator, a register for doing arithmeticstatic int instr;// a holding register for the current instructionstatic int instr type;// the instruction type (opcode)static int data loc;// the address of the data, or -1 if nonestatic int data;// holds the current operandstatic boolean run bit true; // a bit that can be turned off to halt the mapublic static void interpret(int memory[ ], int starting address) {PC starting address;while (runbit) {instr memory[PC];// fetch next instruction into instrPC PC 1; // increment program counterinstr type get instr type(instr);// determine instruction typedata loc find data(instr, instr type);// locate data (-1 if none)if (data loc 0)// if data loc is -1, there is no operanddata memory[data loc];// fetch the dataexecute(instr type, data);//execute instruction}}private static int get instr type(int addr) { . }private static int find data(int instr, int type) { . }private static void execute(int type, int data){ . }}3-Jan-06ECSE 426Microprocessor Systems9

Basic Concepts - Pipelining Makes processorrun at high clockrate But might takemore clockcyclesTrick: overlapexecution Some overhead– first fewinstructions3-Jan-06ECSE 426Microprocessor SystemsOther Speedups – Multiple Units Bottlenecks – execution in singlepipeline units ALU, especially floating pointResolution – provide multiple units3-Jan-06ECSE 426Microprocessor Systems10

Superscalar Processors Common solution for modern processors Multiple execution units3-Jan-06ECSE 426Microprocessor SystemsMemory Hierarchy of memoryunitsSpeed vs. sizeSolutions 3-Jan-06CachingVirtual memoryECSE 426Microprocessor Systems11

The Memory Latency .0GHz2000 — 1.0 GHz2001—— 1.61.6GHzGHz20012002—2.6GHz2002 — 2.6 GHz2003—4.1GHz2003 — 4.1 HzGHz2005Actual20052005——3 3 GHzGHzActual3-Jan-06ECSE 426Microprocessor SystemsChallenges: Performance at ScaleAdvanced simulationand modeling appsConquering Terascaleproblems of todayMemory WallBeware being eatenalive by the petascaleproblems of asThomasZachariaZacharia(ORNL)(ORNL)3-Jan-06ECSE 426Microprocessor Systems12

Performance at ScaleAdvanced simulationand modeling appsConquering Terascaleproblems of todayMemory Wall Thebottleneck)—Bewarebeing bottleneck)—Petascalealive by the llengesproblemstomorrow. Processorclock rates and memorycycleoftimes Processor clock rates and memory cycle hariaZacharia(ORNL)(ORNL)3-Jan-06ECSE 426Microprocessor SystemsMemory Organization ComputerWord Basic unitof acces Thesamememory canbe accessedin differentways3-Jan-06ECSE 426Microprocessor Systems13

Little Endian vs. Big Endian Matter ofpreference Significantimplications forcompatibilitySomeprocessors canhave both3-Jan-06ECSE 426Microprocessor SystemsStandardization –ASCII set Standardizedway to use bitsfor encoding CharactersDisplayCommunicationFile3-Jan-06ECSE 426Microprocessor Systems14

Software Build and LoadTypical flow for desktop computer Object FilesExecutableImage lerAssemblerRead-WriteRead-WriteMemoryMemory (RAM)(RAM)Run-Time Library:BootBootProcessProcessOperating System Image:3-Jan-06ECSE 426Microprocessor SystemsExample Program Creation & RunRegister fileCPUPCALUSystem busMemory busMainmemoryI/ObridgeBus interfaceI/O busUSBcontrollerMouse ayDiskExpansion slots forother devices suchas network adaptershello executablestored on diskECSE 426Microprocessor Systems15

Reading “Hello” CommandRegister fileCPUPCALUSystem busMemory busMainmemoryI/ObridgeBus interfaceI/O busUSBcontrollerDiskcontrollerGraphicsadapterMouse KeyboardDisplayUser types3-Jan-06ECSE 426Microprocessor Systems"hello"DiskExpansion slots forother devices suchas network adaptershello executablestored on diskLoading “Hello” ProgramRegister fileCPUPCALUSystem busMemory busMainmemoryI/ObridgeBus interfaceI/O busUSBcontrollerMouse ayDisk"hello,world\n"hello codeExpansion slots forother devices suchas network adaptershello executablestored on diskECSE 426Microprocessor Systems16

Finally -Program RunningRegister fileCPUPCALUMemory busSystem busMain "hello,world\n"memoryhello codeI/ObridgeBus interfaceI/O busUSBcontrollerDiskcontrollerGraphicsadapterMouse Keyboard3-Jan-06"hello,world\n"DisplayExpansion slots forother devices suchas network adaptershello executablestored on diskDiskECSE 426Microprocessor SystemsEmbedded Systems - Languages Recent .0%40.0%30.0%20.0%10.0%0.0%Assembly3-Jan-06CC JavaOtherECSE 426Microprocessor Systems17

Course Overview Background Microprocessors Computer Arch. BasicsCommercial: Pentium, Sparc; Potential: JavaEmbedded Processors TI MSP430, ARM, PowerPC Embedded System Design Real Time Systems 3-Jan-06HW and SW techniquesTechniques and ToolsECSE 426Microprocessor SystemsCourse Objectives Understand microprocessor-based systemsGet familiar with basic toolsSkills in machine interfacing, assembler andembedded C programmingDesign a sizeable embedded system Previous projects: Music player, file swappingsystem, PDAs (with handwriting recognition),wireless data collection systemsBuild teamwork skills3-Jan-06ECSE 426Microprocessor Systems18

Reference Books Reference A. Tanenbaum, Structured Computer Organization,4th edition, Prentice-Hall, 1999.C. Nagy, Embedded Systems Design Using the TIMSP430 Series, Elsevier Science, 2003B. Shriver and B. Smith, The Anatomy of a HighPerformance Microprocessor - A Systems Perspective,IEEE Computer Society Press, 1998.C. Hamacher, Z. Vranesic and S. Zaky, ComputerOrganization, 5th edition, McGraw-Hill, 2002.3-Jan-06ECSE 426Microprocessor SystemsAcademic IntegrityMcGill University values academic integrity.Therefore all students must understand the meaning andconsequences of cheating, plagiarism and other academicoffences under the Code of Student Conduct andDisciplinary Procedures (see http://www.mcgill.ca/integrityfor more information).3-Jan-06ECSE 426Microprocessor Systems19

Finally: Grading Scheme 12% participation - 4 quizzes Schedule will be announced38% laboratories40% project3-Jan-06ECSE 426Microprocessor SystemsAssessmentEvaluations Contribution to Final GradeExperiment 118Demo10Experiment 215ReportDemoLab Notes8105Experiment 315Project40DemoLab NotesDemo 110513Final DemoReport151212Quizzes3-Jan-0612ECSE 426Microprocessor Systems20

C. Nagy, Embedded Systems Design Using the TI MSP430 Series, Elsevier Science, 2003 B. Shriver and B. Smith, The Anatomy of a High-Performance Microprocessor - A Systems Perspective, IEEE Computer Society Press, 1998. C. Hamacher, Z. Vranesic and S. Zaky, Computer Organi

Related Documents:

Any 3- or 4-credit-hour course in engineering, mathematics, or science at the 4000 level or higher. LAB ELECTIVES . ECSE 4090 Mechatronics . ECSE-4130 Electric Power Eng. Lab . ECSE-4220 VLSI Design . ECSE-4760 Real-Time Cntrl & Comm. ECSE-4770 Cptr H’ware Design . ECSE-4790 Microprocessor Systems . ENGR-4710 Adv. Manufacturing Lab I .

Rensselaer Polytechnic Institute Semester Course Title Enrl. I-raw C-raw Fall 2018 ENGR-2350 Embedded Control (2 sections & coord) 130 (270) Spring 51 (240)2018 Embedded Control (& coord)ENGR-2350 ECSE-4760 ECSE-4940 MANE-6980 Real-Time Appl Cntrl & Comm Indep. Study Mast. P

Bearing, invented by McGill over 60 years ago CAMROL is the trademark for the line of roller bearing cam followers manufactured by McGill and de-signed for use as cam followers and track rollers. The CAMROL Cam Follower Bearing was originally in-vented by McGill over 60 years ago. Since then, McGill has maintained its leading position through the

Microprocessor-Based System with Buses: Address, Data, and Control Microprocessor-based Systems Microprocessor ! The microprocessor (MPU) is a computing and logic device that executes binary instructions in a sequence stored in memory. ! Characteristics: " General purpo

A microprocessor which has n data lines is called an n-bit microprocessor i.e., the width of the data bus determines the size of the microprocessor. Hence, an 8-bit microprocessor like 8085 can handle 8-bits of data at

The McGill Pain Questionnaire Overview: The McGill Pain Questionnaire can be used to evaluate a person experiencing significant pain. It can be used to monitor the pain over time and to determine the effectiveness of any intervention. It was developed at by Dr. Melzack at McGill University in File Size: 248KBPage Count: 6

In 1937, McGILL engineers invented the first needle bearing cam follower. Since that time, McGILL has maintained its leading position through the continuous development of new features and improvements to the product line. This brochure captures some of the ways that McGILL bearings are differenti-ated to provide more value to our customers:

ASP .NET (Active Server Pages .NET) ASP .NET is a component of .NET that allows developing interactive web pages, which are typically GUI programs that run from within a web page. Those GUI programs can be written in any of the .NET languages, typically C# or VB. An ASP.NET application consists of two major parts: