DIGI252 Introduction to Microprocessors Last Mod: March 2015 Paul R. Godin prgodin @ gmail 1.

58
DIGI252 DIGI252 Introduction to Introduction to Microprocessors Microprocessors Last Mod: March 2015 Paul R. Godin prgodin @ gmail 1

Transcript of DIGI252 Introduction to Microprocessors Last Mod: March 2015 Paul R. Godin prgodin @ gmail 1.

Page 1: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

DIGI252DIGI252Introduction to Introduction to MicroprocessorsMicroprocessors

Last Mod: March 2015

Paul R. Godin

prgodin @ gmail

1

Page 2: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

A Little History...A Little History...The following pages on PC

Evolution are presented solely for your enjoyment…

Paul

2

Page 3: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1904: First diode developed as a vacuum tube 1943: Colossus (Mark 1) first computer. Developed in

secret to break German code, it logically compared intercepted transmissions against Lorenz code machine rotor settings.

1947: Transistor developed 1956: First transistorized computer built 1959: Texas Instruments announced discovery of

Integrated Circuit 1960: IBM mass-produces transistor 1963: Patent awarded for mouse 1964: First programming language, BASIC, created.

“Moore’s Law” first coined, stating that technology will double in complexity every 1.5 years (has held true to this day).

1966: First disk storage device invented by IBM

3

Vacuum Tubewiki

First MouseEncyclopædia Britannica Online

Page 4: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1968: First word processor demonstrated and

Intel is founded. 1969: Xerox demonstrates laser printer 1970: First miniaturized memory chips introduced 1971: Intel introduces first monolithic

microprocessor, the 4004. 4-bit, operates at 60ips and can address 640 bites of information. IBM introduces first floppy disk.

1972: Intel introduces 8008 microprocessor, 60ips with 16kb of RAM.

1973: Intel applies for patent on multi-chip digital computer

1974: Intel releases 8bit, 2Mhz processor (8080) 1975: Bill Gates markets the first DOS for

personal computing.

4

Intel 4004 microprocessorwiki

Paul Allen & Bill Gates, 1981wiki

Page 5: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1976: Apple computer introduced. TI develops first 16 bit

processor. Wang introduces a software-based word processor. Microsoft name registered.

1977: Radio Shack ships 10,000 of the TRS-80 (anticipated 3000) 1978: Intel releases 8086, 16bit at 4.77 MHz. Also released is the

8088, an 8bit, 4.77MHz processor. First game, Space Invaders, released by Taito. Commodore ships series of printers. WordStar released.

1979: VisiCalc introduced. First Comdex show. 1980: First modem introduced, 300baud. Microsoft and IBM meet.

Microsoft purchases license rights for a more advanced DOS from SCP for $100,000. CD storage system developed by Philips and Sony.

1981: First DOS (ver 1.1) runs on IBM computers, first IBM PC’s roll off production line, with 64k RAM.

5

Page 6: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1982: Intel offers its 80286, 16 bit, 6MHz processor 1983: Apple IIe introduced. Commodore sells over 1

million VIC-20 computers. IBM markets PC-XT, sells for $9000.00. Windows announced.

1984: First Macintosh. 2400 baud modems announced. 1985: Excel, Lotus 1-2-3 introduced. 1986: Dos 3.25 released. Bill Gates becomes billionaire.

Intel releases 386 processor. 1987: OS/2 announced. 500,000th mouse sold. 1988: PS/2 released. First worm released on “internet”

(university and military network). 1989: 386 SX, 20MHz released. 1990: 10BASET approved by IEEE.

6

Page 7: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1991: 486 released. Cabling standards committee (EIA/TIA)

establishes the first network cabling standards 1992: Soundblaster 16 released. 1993: MS-DOS 6, Novell Netware 4.0 released. Pentium

introduced. Internet access granted to general population (130 web sites available).

1994: 28.8k modems start shipping. Netscape Navigator version 1 produced. Internet web domains climb to 2738 in June.

1995: 300MHz Alpha chips ship. P133 ships. Win-NT, Win95 ships. Internet web sites reach 23,500 in June.

1996: MS Internet explorer ships. Internet sites reach 100,000 by June. 13 million Americans are connected.

1997: Seagate ships 100,000,000th disk drive.

7

Page 8: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 1998: WIN-98 ships. Internet Domains as of August: 2,154,634*,

with a weekly growth of over 80,000. 58 million Americans (over 30% of the U.S. population) are connected to the internet. Google founded and on-line in September (from a rented garage).

1999: Pentium III introduced. Motorola PowerPC G4 at 700MHz. 2000: AMD announces 1.1GHz processor. IBM ships 10 millionth Thinkpad. Domain names registered worldwide as of July: 7,052,350*

2001: Windows XP released. Domains names worldwide July:  30,089,731*. Dot-Com crash.

2002: 544 Million people on the internet worldwide. Domains as of July:  28,801,916*.

2003: Intel ships 1 billionth microprocessor; Intel’s 35th anniversary. South Korea per capita broadband connections top 70%1. 166 Million Americans connected to the internet2. Domains as of July: 32,259,223*.

8

*-generic Top Level Domains only. See http://www.zooknic.com1- Wired Magazine, November 20032-CIA World Factbook

Page 9: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

PC EvolutionPC Evolution 2004: Intel releases 3.4 GHz Microprocessor and

announces new breakthroughs in nanotechnology. Domains as of July: 39,363,493*.

2005: youtube site goes online in February 2006: Intel ships dual core processors. Google buys

youtube in November for $1.65 Billion. 2007: Domains as of October: nearly 97,000,000* 2008: 1 Billion computers in use worldwide3

2009: Domains December: 111,889,734 * 2012: Facebook reaches 1 Billion monthly active users 2013: Apple apps store reaches 40 billion downloads

9

*-generic Top Level Domains only. See http://www.zooknic.com3-Gartner.com

Page 10: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

THE COMPUTERTHE COMPUTER

10

Page 11: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ComputersComputers

Computers are devices that gather, process, output and store data.

Computers execute instructions.

A group of instructions is called a program.

11

Radio Shack/Tandy TRS-80wiki

Page 12: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

The System UnitThe System UnitThe system unit is the chassis that contains the

electronic components of a computer:◦CPU/RAM/motherboard◦Expansion cards◦Power supply◦Storage devices

12

System Unit

Page 13: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MotherboardMotherboard

The Motherboard (MB) is the primary system board.

It contains:◦the processor and other supportive devices◦slots for memory modules◦expansion slots for other circuit cards such

as sound, networking, video◦connections for external ports and devices◦connection points for the power supply

13

Page 14: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Hard Disk DrivesHard Disk Drives Internal Hard Drive

◦ Non-volatile storage◦ Typically large capacities◦ Used as main storage◦ Magnetic or electronic

External Hard Drive◦ Portable◦ Typically connect via USB◦ Variable capacities

Data is stored in Digital (2 different states)

14

Wiki CC

Page 15: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

CDs and DVDsCDs and DVDs

Optical media:◦ CD-ROM, CD-R, CD-RW◦ DVD-ROM, DVD-R, DVD-RW◦ Blu-ray disk

Digital system uses a laser:◦ Pits scatter laser light ◦ Lands reflects laser

An Acrylic surface protects the media

15

Image: Prentice-Hall, Inc.

Page 16: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Input/OutputInput/Output

Input/output devices (I/O) are devices that supply data, or receive processed data from the computer system.

Input devices include: keyboards, mouse, sensors, switches, scanners, or any other information we may need to provide to the computer.

Output devices include: printers, monitors, displays, lights, motors, speakers. or anything else that the computer is controlling.

Page 17: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ComputersComputers

Computer primary components:◦Microprocessor/CPU that performs the

arithmetic functions, logic functions and control the flow of data.

◦Memory that retains information for later use.

◦Input/Output devices that interface with external components and devices.

◦Storage for long term retention of information

17

Page 18: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MicroprocessorMicroprocessorA microprocessor (P or MPU) is a

single or multiple LSI devices that includes the Central Processing Unit (CPU).

Microprocessors are a complex device carry out a set of instructions.

18

Page 19: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MicroprocessorsMicroprocessorsDedicated PC-Based: AMD/Intel, RISC-BasedEmbedded: ARM, FPGASpecial Purpose: DSP, Microcontrollers,

peripherals (video, sound)

19

The iPhone uses a ARM-based Samsung microprocessor designed by Apple

Page 20: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MicrocomputerMicrocomputerThe microcomputer contains the

microprocessor and other devices & circuit elements that includes input/output devices and memory.

20

microprocessorI/O memory

Circuit elements

microcomputer

Page 21: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

The MicroprocessorThe Microprocessor Microprocessors are available from

several manufacturers and range from 4-bit units for simple device operations to powerful 64- bit multicore microprocessors found in modern desktop computers.

Microprocessors are rated by their processing capabilities. Processing speeds vary significantly between different microprocessors. Rated by the number of instructions per second (ips) they can process but measurement of performance is becoming increasingly complex.

21

Intel® Pentium® 4 Die From:

http://www.intel.com/pressroom/archive/photos/p4_photos.htm

Page 22: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Elements of the Basic Elements of the Basic MicroprocessorMicroprocessor

22

Input/Output Memory

MPUArithmeticLogicUnit

Control

Registers

Clock

Page 23: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MemoryMemory

23

Input/Output Memory

ArithmeticLogicUnit

Control

Registers

Clock

MPU

Page 24: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MemoryMemoryMemory is used to hold

instructions and data for the system to process.

There are two basic kinds of memory in computer systems: RAM and ROM

24

ROM

MEMORY

RAM

Page 25: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

RAMRAMRandom Access Memory (RAM) holds data

or instructions on a temporary basis.

Binary 1’s and 0’s are held electrically as highs and lows. This type of memory is volatile, meaning that the contents will disappear when the system is turned off.

Sometimes referred to in digital electronics as “read/write memory”, it contains the information that needs to be accessed quickly or repeatedly.

25

Page 26: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ROMROMRead Only Memory (ROM) holds

information on a permanent basis.

The contents of the ROM isn’t normally altered by the computer system, nor will it disappear when the system is shut down.

ROM contains basic operational code and primary instructions for that particular computer.

ROM is considered Non-Volatile.

26

Page 27: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ROM (other types)ROM (other types)Other types of ROM devices are considered semi-

permanent. These include flash ROM, EPROM's and EEPROM’s. These are permanent memory devices which, through special processes, can be erased and re-written.

These devices typically contain custom system

information such as user preferences or specific hardware configurations.

In some cases these devices are referred to as firmware devices, which describes software programs (instructions and data) written into the IC’s.

27

Page 28: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

RAM packagesRAM packagesDIMM:

◦ Dual In-line Memory Module◦ 64 bit data◦ Come in a variety of types,

including: 184-pin for DDR 240-pin for DDR2, DDR3

Keyed (Notch)

Used in today’s computers

28

Source: Wikipedia CC

Note: RAM is static sensitive

Page 29: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Selecting RAMSelecting RAM

When selecting DRAM it is important to know the following:◦Capacity◦Module type◦Type of RAM (DDR, DDR2, DDR3)◦Speed (PC Number)

These factors are dependent on the motherboard and the processor.

29

Page 30: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Memory TermsMemory TermsECC (error correcting code), Parity:

◦Check for errors with memory data◦Used for critical systems such as servers

CL rating:◦Latency, the lower the number the better

Buffer, Registered:◦Contains a circuit between the memory

and the bus, to add protection to the memory and data.

◦Used for critical systems such as servers.

30

Page 31: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

BUSESBUSES

31

Input/Output Memory

MPUArithmeticLogicUnit

Control

Registers

Clock

Page 32: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

BUSESBUSESA bus is a group of conductors used

to exchange information between logic devices.

In computers, addresses and data are moved between various devices and logic units in parallel.

32

Page 33: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

BUSESBUSES

There are three main bus types on any computer system:◦Address bus: Carries source or

destination information.◦Data bus: Carries program instructions or

data.◦Control bus: Responsible for the overall

control and synchronization of the computer system.

33

Page 34: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Bus StructuresBus StructuresBuses are an important way of

transferring data between devices.

Bus devices need to be managed to ensure there aren’t any bus contention problems.

34

Page 35: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Bus OperationBus Operation

35

PIPO1

PIPO2

OE1

OE2

Page 36: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Microprocessor Systems Microprocessor Systems BusesBuses

◦ Address bus source location destination location

◦ Control bus Enable/disable Synchronization Direction

◦ Data bus instructions (optcode) data (operand)

36

MemoryControl

Instructions/Data

Address Microprocessor

Page 37: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

BusesBusesAddress and Data buses carry binary

values in parallel.

Bus widths refer to the number of parallel communication conductors that the bus contains.

For most systems, the data bus width is divisible by 4 or 8. Stated in bits.

Common bus widths for microcomputer systems today are 32 or 64 bits.

37

Page 38: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Bus Operation with Tristate RegistersBus Operation with Tristate Registers

38

PIPO1

PIPO2

OE1

OE2

Dat

a B

us

Taking care of Bus Contention

Output Select

Page 39: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Bus Operation with Tristate RegistersBus Operation with Tristate Registers

39

PIPO1

PIPO2

OE1

OE2

Dat

a B

usReading or Writing with a bus

R/W’

R/W’

Output Select

Read/Write 2

Read/Write 1

Page 40: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Simplified Bus DiagramSimplified Bus DiagramThick lines are used to represent

buses. ◦In some cases the bus is labelled with the

number of lines preceded with a “/”.

40

PIPO1

Dat

a B

us

PIPO2

8

Page 41: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Bus SymbolsBus Symbols

41

16 16

Page 42: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

BusesBuses

42

Central Processing

Unit

Northbridge•RAM•PCIe (graphics)

Southbridge•I/O•BIOS

External Cache

Back-

Side B

us

Fron

t-Sid

e Bus

Page 43: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Input/OutputInput/Output

43

Input/Output Memory

MPU ArithmeticLogicUnit

Control

Registers

Clock

Page 44: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

Input/OutputInput/Output Typically, the computer is selected based on the degree of

input or output information it must handle.

The I/O block is the interface between the computer’s internal circuitry and the external devices.

These I/O interfaces are responsible for holding the data until the device or computer is ready to retrieve the information. Therefore, many contain a register.

Some ports contain a more complex register called a UART (Universal Asynchronous Receiver/Transmitter). This device handles the interface, has error detection and can convert between serial and parallel communications.

44

Page 45: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ClockClock

45

Input/Output Memory

MPU ArithmeticLogicUnit

Control

Registers

Clock

Page 46: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ClockClockThe clock is the device that provides the

necessary edges and levels for all the device blocks in the computer to operate.

Part of the clock circuitry is generally located in the P, with an external connection for an oscillator crystal or other frequency generator. Today’s CPUs contain a clock multiplier to increase the frequency.

The P provides clocking to the rest of the devices in the computer.

46

Page 47: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

MPU/CPUMPU/CPU

47

Input/Output Memory

MPUArithmeticLogicUnit

Control

Registers

Clock

Page 48: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

The CPUThe CPU

The CPU is the main logic unit of the P. It: ◦Executes program instructions◦Manipulates data in internal registers and

caches◦Performs basic mathematical operations (add,

subtract, compliment)◦Puts addresses on the address bus◦Reads instructions from the data bus◦Coordinates the operation of all support IC’s

and devices◦Sets the timing for the entire system

48

Page 49: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

The CPU ModuleThe CPU ModuleThe CPU module contains 3 basic

elements:◦ALU◦Control◦Registers

The following slides detail their roles...

49

Page 50: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ALUALU

50

Input/Output

MPU

Memory

ArithmeticLogicUnit

Control

Registers

Clock

Page 51: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

The ALUThe ALU

The ALU (Arithmetic/Logic Unit) is the area of the CPU that performs all arithmetic and logic operations.

The ALU operations are determined by the signals from the Logic Control section.

The data for the ALU is held in the registers.

51

Page 52: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

RegistersRegisters

52

Input/Output Memory

MPU ArithmeticLogicUnit

Control

Registers

Clock

Page 53: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

RegistersRegisters

Registers are very fast temporary storage locations for data.

Registers are responsible for holding and handling the data between the ALU, Memory & Input/Output devices.

The CPU contains many registers, each with is specific purpose.

53

Page 54: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

RegistersRegistersThe arithmetic logic unit utilizes a register,

and registers are used keep track of important addresses, such as the location of the next instruction to be executed. The registers retain the location of an area of memory known as a stack.

Registers are typically given names such as A, B, C to identify them.

There will be more specific information on the registers later...

54

Page 55: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ControlControl

55

Input/Output Memory

MPU ArithmeticLogicUnit

Control

Registers

Clock

Page 56: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

ControlControlThis area directs and controls the flow of

information between all the devices. The Control unit fetches data by

providing enable/disable signals, address locations and read commands.

It decodes and executes operations by providing the appropriate control and address signals to other devices.

56

Fetch Execute

Page 57: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

InstructionsInstructionsMicroprocessors are digital devices that create

a specific set of outputs based on their inputs.

The input to these devices is in the form of:◦ a program, which consists of a set of

instructions to provide the operation desired, referred to as the OPTCODE, and the data that needs to be manipulated, referred to as the OPERAND.

Programs are, on the microprocessor level, a set of digital values.

57

Page 58: DIGI252 Introduction to Microprocessors Last Mod: March 2015  Paul R. Godin prgodin @ gmail 1.

End of Part 1End of Part 1

58