Prog&Data Struct EECS 280
Popular in Course
Popular in Engineering Computer Science
This 7 page Class Notes was uploaded by Ophelia Ritchie on Thursday October 29, 2015. The Class Notes belongs to EECS 280 at University of Michigan taught by Staff in Fall. Since its upload, it has received 17 views. For similar materials see /class/231545/eecs-280-university-of-michigan in Engineering Computer Science at University of Michigan.
Reviews for Prog&Data Struct
Report this Material
What is Karma?
Karma is the currency of StudySoup.
Date Created: 10/29/15
Where does this course t in EECS 280 Programming in HLLs EECS 373 EECS 370 Microprocessors as Digital Systems EECS 373 Building Digital Systems using Microprocessors Design of Microprocessorbased Systems Fall 1998 Course Notes Prof Steven K Reinhardt EECS 270 Building Digital Systems out of Gates EECS 373 F98 Notes 11 1998 Steven K Reinhardt Overview Whatis this course about L i What are some examples ofmicroprocessorbased systems Why are more and more systems using microprocessors microprocessors are yeiy cheap lt 31 at the low end an ommeshe1fmiei0pioeess0i so ware canreplace alotof applicationspeci c logic software enables exible sophisticated features that would be di icult or impossible otherwise 39 39 sier quot h more and more information is being stored and transmitted m digital form EECS 7 F98 Nutes Embedded vs generalepurpose systems A microprocessorbased systemthat is dedicatedto a speci c task 0i tasks as part ofalarger product is referred to as an embedded System 39 39 they vastly outnumber generalpurpose systems m the market A1403 E 120J E Macintosh g 100 Workstations E u E 2 s gt Source Mcvopvocessov Report This chart shows the number of32bitmicroprocessors shipped in 1997 On the led are processors shippedin embedded systems on the right are processors shippedin generalpurpose systems Note thatthis chart does not melude hundreds ofmillions ofSbit and 16bit embedded processors 1998 Steven K Reinhardt Generic microprocessorbased system CPU The central processing unit CPU is the core of the processor where instructions get executed Registers are storage locations within the CPU PowerPC CPU processors have 32 generalpurpose registers called r0 r1 r31 plus a hand ll of specialpurpose registers Function units are pieces of mostly combinational logic that manipulate data values The most common lnction unit is the arithmetic logic unit ALU which typically adds sub tracts and does boolean operations on integer values Memory Control logic repeatedly fetches the next instruction from memory decodes it and executes it Typical instruction Bus read two values from registers send them to a lnction unit to produce a new value write the new value to a register The CPU executes instructions encoded in machine language 10 Device which maps every instruction to a binary value We will prima rily use assembly language in this class which is a humanread able encoding of the same set of instructions highlevel languagea b c assembly language add r1 r2 r3 machine language 01111100001000100001101000010100 IO Device Some instructions read or write get values from or send values to memory locations or IO devices For PowerPC processors these are the load and store instructions respectively These transfers occur over the system bus EECS 373 F98 Notes 13 1998 Steven K Reinhardt Busses A bus is a group of signals wires that communicates among several devices A typical system bus is composed ofthree smaller busses l address 2 data 3 control Address amp data busses each carry a single value ie an nwire bus carries values in the range 0 2quot l Control bus is more a collection of independent signals readwrite address validnot valid data validnot valid etc Bus width eg 32bit bus 64bit bus refers to the number of data wires not necessarily the same as CPU widt size of internal CPU registers To read a memory location or U0 device CPU puts an address on the address bus the appropriate memory module or device sends data back via the data bus To write a memory location or 10 device CPU puts an address on the address bus and data on the data bus the appropriate memory module or device takes the data the data bus EECS 373 F98 Notes Memory Stores instructions programs amp data Several types readonly nonvolatile etc Organized as a linear array of locations addresses each stor ing one byte 8 bits Typically accessed one two four or sometimes eight bytes at atime 8 16 32 or 64 bits These are generally called byte halfword word and doubleword accesses Fundamental properties 1 Read returns value of last write 2 Accesses have no side effects 1998 Steven K Reinhardt EECS 373 Design 0fMicr0pr0cessor based Systems Fall 1999 Course Notes Prof Steven K Reinhardt EECS 373 F99 Notes Where does this course t in EECS 280 Programming in HLLs EECS 370 Microprocessors as Digital Systems EECS 373 Building Digital Systems using Microprocessors EECS 270 Building Digital Systems out of Gates 1998 1999 Steven K Reinhardt Overview What is this course about L i What are some examples ofmieroproeessorbased systems Why are more and more systems using microprocessors microprocessors ate yeiyelieap lt 31 at the low end an offmeshelfmieroproeessor sottwate can replace a lot ofapplieationspeei e logic so ware enables exible sophisticated features that would be dif cult or impossible otherwise sottwate is typically easier to debug amp x than liaidwate more and more informati on is being stored and transmitted in digital form EECS 7 F99 Nutes Embedded vs generalepurpose systems A microprocessorbased system that is dedieated to a speci c task at tasks as part ofa largerproduetis refenedto as an i t t publicity they vastly outnumber generalpurpose systems in the market shows the number of32bit microprocessors shipped 39 97 On the le aie processors shippedin embedded systems on the iig tare proce 39 systems Note that this eliait doe millions ofSbit and 16bit embedded processors 1998 1999 Steven K Reinhardt Generic microprocessorbased system CPU Memory IO Device EECS 373 F99 Notes IO Device Microprocessorbased System Features r in a r d system doesn t indicate its function The system s function is primarily determined by the software instructions executed by the processor Unlike the digital systems you built in EECS 270 the physical 39 quot of bag Instead all the primary system components are connected to a common bus A bus is simply a group of signals wires that communicates among several devices Two devices communicate when one device typically the processor sends data to or requests data from another device over the bus A typical microprocessor system bus is composed of three smaller busses 1 address bus indicates the device and location within the device that is being accessed 2 data bus carries the data value that is being communicated 3 control bus control signals that indicate what s going on on the address and data busses The central processing unit CPU is the core of the processor where instructions get executed Instructions are encoded in machine language which maps every instruction to a binary value We will primarily use assembly language in this class which is a humanreadable encoding of the same set of instructions highlevel languagea b c assembly language add r1 r2 r3 machine language 01111100001000100001101000010100 1998 1999 Steven K Reinhardt