EC304 – MICROPROCESSOR FUNDAMENTAL CHAPTER 2 – INTRODUCTION TO MICROPROCESSOR
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.
Basic Internal Architecture •Register Array used 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 Bus This 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.
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 twos 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 tests Further 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.• Comparison Comparison operations compare values in order to determine such things as whether one number is greater than, less than or equal to another.• Bit shifting Shifting operations move bits left or right within a word, with different operations filling the gaps created in different ways
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 circuits used 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.
REGISTER• Function : generally used for the quick storage of pieces of data that are required later in the program execution.
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.
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 flags The 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.
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.
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.
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.
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)
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 8080s 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.
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 twos 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.
16 BIT• The HP BPC, introduced in 1975, was the worlds first 16-bit microprocessor.• Prominent 16-bit processors include – the PDP-11, – Intel 8086, – Intel 80286 – WDC 65C816. PDP-11• The Intel 8088 was program-compatible with the Intel 8086• Other notable 16-bit processors include the Texas Instruments TMS9900 and the Zilog Z8000.
Intel 8086• The 8086 (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).
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. 
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 twos complement encoding.• Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory.
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
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.
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).
Families of Microprocessor (M68000) Attribute MC68000 MC68008 MC68010 MC68020 MC68030 MC68040 Data bus 16 8 16 8, 16, 32 8, 16, 32 32 size (bits) Address bus size 24 20 24 3 32 32 (bits) Instructio n cache - - 3* (words) 256 256 4096 (in byte) Data cache - - - - 256 4096 (in byte) Clock 8 - 16 16 - 33 16 - 50 25, 33, 40 MHz
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.
MC68000Specifications• 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
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)