LECTURE NOTES ON MICROPROCESSORS & MICROCOMPUTER COURSE CODE:BCS- 301 Prepared By Dr. M.R.Kabat Dr. A.K.Rath Dr. S.Panigrahi Department of Computer Science & Engineering and IT VSS University of Technology, Burla, Odisha
Syllabus BCS-301 MICROPROCESSORS & MICROCOMPUTER (3-1-0) Module – 1(8 Lectures) Microprocessors, Microcomputers and Assembly Language: Microprocessors, Microprocessor Instruction Set, Computer Languages, Microcomputers. Interfacing I/O devicesand Memory. Memory mapped I/O and I/O mapped I/o. Module – II (8 Lectures) The Processors: 8086/8088- Architectures, Pin Diagrams and Timing Diagrams:- Register Organisation of 8086, Architecture, Signal Descriptions of 8086, Physical Memory Organisation, General Bus Operation, I/O Addressing Capability, Special Processor Activities, Minimum Mode 8086 System and Timings, Maximum Mode 8086 System and Timings. Module – III (8 Lectures) 8086 Instruction Set and ALP:- Machine Language Instruction Formats, Addressing Modes of 8086, Instruction Set of 8086, Assembler Directives and Operators, ALP Module-IV (8 Lectures) Special Architectural Features and Related Programming:- Introduction to Stack, Stack structure of 8086, Interrupts and Interrupt Service Routines, Interrupt Cycle of 8086, Non Maskable Interrupt, Maskable Interrupt (INTR), Interrupt Programming, Passing Parameters, to Size More than 64K, MACROS, Timings and Delays; Module – V (8 Lectures) General-Purpose Programmable Peripheral Devices:- The 8255A Programmable Peripheral Interface, Illustration: Interfacing Keyboard and Seven-Segment Display, Illustration: Bidirectional Data Transfer between Two Microcomputers, The 8259A Programmable Interrupt Controller, Direct Memory Access (DMA) and the 8257 DMA Controller
INTRODUCTION TO MICROPROCESSOR ARCHITECTURES A Microprocessor is a multipurpose programmable logic device which reads the binary instructions from a storage device called ‘Memory’ accepts binary data as input and process data according to the instructions and gives the results as output. So, you can understand the Microprocessor as a programmable digital device, which can be used for both data processing and control applications. In view of a computer student, it is the CPU of a Computer or heart of the computer. A computer which is built around a microprocessor is called a microcomputer. A microcomputer system consists of a CPU (microprocessor), memories (primary and secondary) and I/O devices as shown in the block diagram in Fig 1. The memory and I/O devices are linked by data and address (control) buses. The CPU communicates with only one peripheral at a time by enabling the peripheral by the control signal. For example to send data to the output device, the CPU places the device address on the address bus, data on the data bus and enables the output device. The other peripherals that are not enabled remain in high impedance state called tri-state. Fig.1 Block diagram of a Microcomputer Evolution of Microprocessors The first Microprocessor (4004) was designed by Intel Corporation which was founded by Moore and Noyce in 1968. In the early years, Intel focused on developing semiconductor memories (DRAMs and EPROMs) for digital computers. In 1969, a Japanese Calculator manufacturer, Busicom approached Intel with a design for a small calculator which need 12 custom chips. Ted Hoff, an Intel Engineer thought that a general purpose logic device could replace the multiple components. This idea led to the development of the first so called microprocessor. So, Microprocessors started with a modest beginning of drivers for calculators.
With developments in integration technology Intel was able to integrate the additional chips like 8224 clock generator and the 8228 system controller along with 8080 microprocessor with in a single chip and released the 8 bit microprocessor 8085 in the year 1976. The 8085 microprocessor consisted of 6500 MOS transistors and could work at clock frequencies of 3-5 MHz. It works on a single +5 volts supply. The other improved 8 bit microprocessors include Motorola MC 6809, Zilog Z-80 and RCA COSMAC. In 1978, Intel introduced the 16 bit microprocessor 8086 and 8088 in 1979. IBM selected the Intel 8088 for their personal computer (IBM-PC).8086 microprocessor made up of 29,000 MOS transistors and could work at a clock speed of 5-10 MHz. It has a 16-bit ALU with 16-bit data bus and 20-bit address bus. It can address up to 1MB of address space. The pipelining concept was used for the first time to improve the speed of the processor. It had a pre-fetch queue of 6 instructions where in the instructions to be executed were fetched during the execution of an instruction. It means 8086 architecture supports parallel processing. The 8088 microprocessor is similar to 8086 processor in architecture ,but the basic difference is it has only 8-bit data bus even though the ALU is of 16-bit.It has a pre-fetch queue of 4-instructions only. In 1982 Intel released another 16-bit processor called 80186 designed by a team under the leadership of Dave Stamm. This is having higher reliability and faster operational speed but at a lower cost. It had a pre-fetch queue of 6-instructions and it is suitable for high volume applications such as computer workstations, word-processor and personal computers. It is made up of 134,000 MOS transistors and could work at clock rates of 4 and 6 MHz. This is also comes under first generation of Microprocessors. Intel released another 16 bit microprocessor 80286 having 1, 34,000 transistors in 1981. It was used as CPU in PC-ATs in 1982. It is the second generation microprocessor, more advanced to 80186 processor. It could run at clock speeds of 6 to 12.5 MHz .It has a 16-bit data bus and 24bit address bus, so that it can address up to 16MB of address space and 1GB of virtual memory. It had a pre-fetch queue of 6 instructions .Intel introduced the concept of protected mode and virtual mode to ensure proper operation. It also had on-chip memory management unit (MMU) .This was popularly called as Intel 286 in those days. In 1985, Intel released the first 32 bit processor 80386, with 275,000 transistors. It has 32bit data bus and 32-bit address bus so that it can address up to a total of 4GB memory also a virtual memory space of 64TB.It could process five million instructions per second and could work with all popular operating systems including Windows. It has a pre-fetch queue of length 16-bytes with extensive memory management capabilities. It is incorporated with a concept called paging in addition to segmentation technique. It uses a math co-processor called 80387. Intel introduced 80486 microprocessor with a built-in maths co-processor and with 1.2 million transistors. It could run at the clock speed of 50 MHz This is also a 32 bit processor but it is twice as fast as 80386.The additional features in 486 processor are the built-in Cache and built-in math co-processors. The address bus here is bidirectional because of presence of cache memory.