topic2 ec304 (1)[1]

30
EC304 – MICROPROCESSOR FUNDAMENTAL CHAPTER 2 – INTRODUCTION TO MICROPROCESSOR

Upload: facebook-hacker-cup

Post on 23-Jun-2015

903 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Topic2 ec304 (1)[1]

EC304 – MICROPROCESSOR FUNDAMENTAL

CHAPTER 2 – INTRODUCTION TO MICROPROCESSOR

Page 2: Topic2 ec304 (1)[1]

Basic Internal Architecture•Arithmetic & Logic Unit (ALU)The part of the central processing unit that deals with operations such as addition, subtraction, and multiplication of integers and Boolean operations.• It receives control signals from the control unit telling it to carry out these operations.

•Control Unit (CU)This controls the movement of instructions in and out of the processor•controls the operation of the ALU.•consists of a decoder, control logic circuits, and a clock to ensure everything happens at the correct time. •responsible for performing the instruction execution cycle.

Page 3: Topic2 ec304 (1)[1]

Basic Internal Architecture•Register Arrayused for the quick storage and retrieval of data and instructions. •All processors include some common registers used for specific functions, namely the program counter, instruction register, accumulator, memory address register and stack pointer.

System BusThis is comprised of the control bus, data bus and address bus. It is used for connections between the processor, memory and peripherals, and transferral of data between the various parts.

Page 4: Topic2 ec304 (1)[1]

ALU

• ALU ‘s tasks:• Addition and subtraction

performed by constructs of logic gates, such as half adders and full adders. • While they may be termed 'adders', with the aid of they can also perform subtraction via use

of inverters and 'two's complement' arithmetic.• Multiplication and division

In most modern processors, the multiplication and division of integer values is handled by specific floating-point hardware within the CPU.

• Logical testsFurther logic gates are used within the ALU to perform a number of different logical tests, including seeing if an operation produces a result of zero.

• ComparisonComparison operations compare values in order to determine such things as whether one number is greater than, less than or equal to another.

• Bit shiftingShifting operations move bits left or right within a word, with different operations filling the gaps created in different ways

Page 5: Topic2 ec304 (1)[1]

Control Unit (CU)

• 3 main elements of the control unit (CU) :• Decoder

used to decode the instructions that make up a program when they are being processed

• to determine in what actions must be taken in order to process them. • Timer or clock

ensures that all processes and instructions are carried out and completed at the right time.

• Pulses are sent to the other areas of the CPU at regular intervals (related to the processor clock speed), and actions only occur when a pulse is detected.

• Control logic circuitsused to create the control signals themselves, which are then sent around the processor.

• These signals inform the arithmetic and logic unit and the register array what they actions and steps they should be performing, what data they should be using to perform said actions, and what should be done with the results.

Page 6: Topic2 ec304 (1)[1]

REGISTER

• Function : generally used for the quick storage of pieces of data that are required later in the program execution.

Page 7: Topic2 ec304 (1)[1]

REGISTER

• Program Counter (PC)used to hold the memory address of the next instruction that has to executed in a program.

• Instruction Register (IR)used to hold the current instruction in the processor while it is being decoded and executed,

• in order for the speed of the whole execution process to be reduced.

• Accumulator (A, or ACC)is used to hold the result of operations performed by the arithmetic and logic unit, as covered in the section on the ALU.

Page 8: Topic2 ec304 (1)[1]

REGISTER• Memory Address Register (MAR)

Used for storage of memory addresses, usually the addresses involved in the instructions held in the instruction register.

• The control unit then checks this register when needing to know which memory address to check or obtain data from.

• Memory Buffer Register (MBR)When an instruction or data is obtained from the memory or elsewhere, it is first placed in the memory buffer register.

• The next action to take is then determined and carried out, and the data is moved on to the desired location.

• Flag register / status flagsThe flag register is specially designed to contain all the appropriate 1-bit status flags, which are changed as a result of operations involving the arithmetic and logic unit.

Page 9: Topic2 ec304 (1)[1]

FETCH AND EXECUTE CYCLE

Page 10: Topic2 ec304 (1)[1]

FETCH AND EXECUTE CYCLE

Page 11: Topic2 ec304 (1)[1]

READ IN FETCH CYCLE

Page 12: Topic2 ec304 (1)[1]

WRITE IN EXECUTE CYCLE

Page 13: Topic2 ec304 (1)[1]

Single Chip Microcontroller

• A single chip that contains – the processor (the CPU), – non-volatile memory for the

program (ROM or flash), – volatile memory for input

and output (RAM), – a clock – and an I/O control unit.

• Also called a "computer on a chip,"

• billions of microcontroller units (MCUs) are embedded each year in a myriad of products from toys to appliances to automobiles.

Page 14: Topic2 ec304 (1)[1]

8 BIT

• In computer architecture, 8-bit integers, memory addresses, or other data units are those that are at most 8 bits (1 octet) wide.

• Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.

• 8-bit is also a term given to a generation of computers in which 8-bit processors were the norm.

• Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KiB. (1 kibibyte = 210 bytes = 1024 bytes.)

• There are 28 (256) possible values for 8 bits.

Page 15: Topic2 ec304 (1)[1]

8 BIT

• The first commercial 8-bit processor was the Intel 8008 (1972) which was originally intended for intelligent terminals.

• It was an 8-bit CPU with an external 14-bit address bus that could address 16KB of memory.

• Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation (CTC) to implement an instruction set of their design for their Datapoint 2200 programmable terminal.

Page 16: Topic2 ec304 (1)[1]

8 BIT

• The first widely adopted 8-bit microprocessor was the Intel 8080

• The Intel 8080 was the successor to the 8008. • It used the same basic instruction set as the

8008 (developed by Computer Terminal Corporation)

Page 17: Topic2 ec304 (1)[1]

INTEL 8080• The processor had

seven 8-bit registers, (A, B, C, D, E, H, and L)

• The 8080 supported up to 256 input/output (I/O) ports

• The 8080's large 40-pin DIP packaging permitted it to provide – a 16-bit address bus – an 8-bit data bus, – allowing easy access to

64 kilobytes of memory.

Page 18: Topic2 ec304 (1)[1]

16 BIT

• In computer architecture, 16-bit integers, memory addresses, or other data units are those that are at most 16 bits (2 octets) wide.

• A 16-bit integer can store 216 (or 65536) unique values. • In an unsigned representation, these values are the

integers between 0 and 65535; using two's complement, possible values range from −32768 to 32767.

• Hence, a processor with 16-bit memory addresses can directly access 64 KB of byte-addressable memory.

Page 19: Topic2 ec304 (1)[1]

16 BIT

• The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor.

• Prominent 16-bit processors include – the PDP-11, – Intel 8086,– Intel 80286 – WDC 65C816.

• The Intel 8088 was program-compatible with the Intel 8086

• Other notable 16-bit processors include the Texas Instruments TMS9900 and the Zilog Z8000.

PDP-11

Page 20: Topic2 ec304 (1)[1]

Intel 8086

• The 8086[1] (also called iAPX86) is a 16-bit microprocessor chip designed by Intel, which gave rise to the x86 architecture

• The 8086 had eight (more or less general) 16-bit registers including the stack pointer

• A 20-bit external address bus gave a 1 MB physical address space (220 = 1,048,576).

Page 21: Topic2 ec304 (1)[1]

16/32-bit Motorola 68000

• The Motorola 68000 is sometimes called "16-bit" because its internal and external data buses were 16 bits wide,

• The MC68000 was a microcoded processor with three internal 16-bit ALU units.

• Only 24-bits of the Program Counter were available on original DIP packages, with up to 16 megabytes of addressable RAM.

• MC68000 software is 32-bit in nature, and forwards-compatible with other 32-bit processors. [1]

Page 22: Topic2 ec304 (1)[1]

32 BIT• In computer architecture, 32-bit integers, memory addresses, or

other data units are those that are at most 32 bits (4 octets) wide. Also,

• 32-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.

• 32-bit is also a term given to a generation of computers in which 32-bit processors were the norm.

• The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295 or −2,147,483,648 through 2,147,483,647 using two's complement encoding.

• Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory.

Page 23: Topic2 ec304 (1)[1]

32 BIT

• The external address and data buses are often wider than 32 bits but both of these are stored and manipulated internally in the processor as 32-bit quantities.

• For example, the Pentium Pro processor is a 32-bit machine, but the external address bus is 36 bits wide, and the external data bus is 64 bits wide

Page 24: Topic2 ec304 (1)[1]

64 BIT

• In computer architecture, 64-bit integers, memory addresses, or other data units are those that are at most 64 bits (8 octets) wide.

• Also, 64-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.

• 64-bit CPUs have existed in supercomputers since the 1970s (Cray-1, 1975; CDC 6000 series, 1964, were 60-bit) and in RISC-based workstations and servers since the early 1990s.

• In 2003 they were introduced to the (previously 32-bit) mainstream personal computer arena, in the form of the x86-64 and 64-bit PowerPC processor architecture.

Page 25: Topic2 ec304 (1)[1]

64 BIT

• a 64-bit computer architecture generally has integer and addressing registers that are 64 bits wide, allowing direct support for 64-bit data types and addresses.

• However, a CPU might have external data buses or address buses with different sizes from the registers, even larger (the 32-bit Pentium had a 64-bit data bus, for instance).

Page 26: Topic2 ec304 (1)[1]

Families of Microprocessor (M68000)

Attribute MC68000 MC68008 MC68010 MC68020 MC68030 MC68040

Data bus size (bits) 16 8 16 8, 16, 32 8, 16, 32 32

Address bus size

(bits)24 20 24 3 32 32

Instruction cache (in byte)

- - 3* (words) 256 256 4096

Data cache

(in byte)- - - - 256 4096

Clock MHz 8 - 16 16 - 33 16 - 50 25, 33, 40

Page 27: Topic2 ec304 (1)[1]

Features of 68000 microprocessor

• Motorola 68000 (MC68000) is the first member of 680x0 line of microprocessors.

• Internally the 68000 is a 32-bit microprocessor - it has 32-bit data and address registers.

• Externally the processor has 16-bit data bus and 24-bit address bus, which limits the size of addressable memory to 16 MB.

• Motorola also made 68008 - a version of 68000 CPU with 8-bit external data bus.

Page 28: Topic2 ec304 (1)[1]

MC68000 Specifications• 32-bit Data and Address Registers• 16-bit Data Bus• 24-bit Address Bus (16MB)• 14 Addressing Modes• Memory-Mapped Input/Output• Program Counter• 56 Instructions• 5 Main Data Types• 7 interrupt levels• Clock speeds: 4MHz to 12.5MHz• Synchronous and asynchronous data• transfers

Page 29: Topic2 ec304 (1)[1]

MC68000 REGISTER SET

• 8 data registers (D0-D7)• 8 address registers (A0-A7)• There are TWO A7 registers• User Stack Pointer (USP)• Supervisor Stack Pointer (SSP)• Program Counter (PC)• Status Register / Condition CodeRegister (SR/CCR)

Page 30: Topic2 ec304 (1)[1]

• end