Difference between Microprocessor and Microcontroller

Slides:



Advertisements
Similar presentations
Register In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than.
Advertisements

MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Chapter 2: The Microprocessor and its Architecture.
Introduction to 8086 Microprocessor
Introduction to Microprocessor
The Microprocessor and its Architecture
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
80x86 Processor Architecture
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
Gursharan Singh Tatla Block Diagram of Intel 8086 Gursharan Singh Tatla 19-Apr-17.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
The 8086 Microprocessor The 8086, announced in 1978, was the first 16-bit microprocessor introduced by Intel Corporation 8086 is 16-bit MPU. Externally.
An Introduction to 8086 Microprocessor.
Faculty of Engineering, Electrical Department,
1 Fundamental of Computer Suthida Chaichomchuen : SCC
Types of Registers (8086 Microprocessor Based)
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
Computers organization & Assembly Language Chapter 1 THE 80x86 MICROPROCESSOR.
1 Microprocessors CSE – 341 EEE – 365 \\server2\tsr\Spring\CSE\CSE341
INTRODUCTION TO INTEL X-86 FAMILY
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
Internal Programming Architecture or Model
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
Intel 8086 MICROPROCESSOR ARCHITECTURE
BITS Pilani Pilani Campus Pawan Sharma Lecture / ES C263 INSTR/CS/EEE F241 Microprocessor Programming and Interfacing.
The Microprocessor & Its Architecture A Course in Microprocessor Electrical Engineering Department Universitas 17 Agustus 1945 Jakarta.
8086 Microprocessor J Srinivasa Rao.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
Chapter Overview General Concepts IA-32 Processor Architecture
Part of the Assembler Language Programmers Toolbox
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
8086 Microprocessor.
Computer Organization & Assembly Language Chapter 3
Chapter 2 The Microprocessor and its Architecture
Introduction of microprocessor
Intel 8086 MICROPROCESSOR Architecture.
Basic Microprocessor Architecture
Microprocessor The microprocessors functions as the CPU in the stored program model of the digital computer. Its job is to generate all system timing signals.
Intel 8088 (8086) Microprocessor Structure
Homework Reading Continue work on mp1
..
Basic of Computer Organization
Microprocessor-Unit I
Microcomputer & Interfacing Lecture 1
Symbolic Instruction and Addressing
Chapter 2: The Microprocessor and its Architecture
Introduction to Assembly Language
Microprocessor & Assembly Language
Intel 8088 (8086) Microprocessor Structure
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Symbolic Instruction and Addressing
CS 301 Fall 2002 Computer Organization
The Microprocessor & Its Architecture
Symbolic Instruction and Addressing
Computer Architecture CST 250
Chapter 2: The Microprocessor and its Architecture
Unit-I 80386DX Architecture
Chapter 6 –Symbolic Instruction and Addressing
Intel 8086.
8086 microprocessior PIN OUT DIAGRAM OF  Power supply and frequency signals  It uses 5V DC supply at V CC pin 40, and uses ground at V SS pin.
Presentation transcript:

Difference between Microprocessor and Microcontroller The term Microprocessor And Microcontroller have always been confused with each other. Both of them have been designed for real time application. They share many common features and at the same time they have significant differences. Both the IC’s i.e., the microprocessor and microcontroller cannot be distinguished by looking at them.  They are available in different version starting from 6 pin to as high as 80 to 100 pins or even higher depending on the features.

Difference between Microprocessor and Microcontroller  Microprocessor is an IC which has only the CPU inside them i.e. only the processing powers such as Intel’s Pentium 1,2,3,4, core 2 duo, i3, i5 etc. These microprocessors don’t have RAM, ROM, and other peripheral on the chip. A system designer has to add them externally to make them functional. Application of microprocessor includes Desktop PC’s, Laptops, notepads etc.  But this is not the case with Microcontrollers. Microcontroller has a CPU, in addition with a fixed amount of RAM, ROM and other peripherals all embedded on a single chip. At times it is also termed as a mini computer or a computer on a single chip. Today different manufacturers produce microcontrollers with a wide range of features available in different versions. Some manufacturers are ATMEL, Microchip, TI, Freescale, Philips, Motorola etc.

8086 Microprocessor Contents: Register Organization of 8086 General Purpose Registers Segment Registers Pointers and Index Registers Flag Register Architecture of 8086 6.1. Bus Interface Unit 6.2. Execution Unit

Register Organization of 8086 The 8086 has a powerful set of registers. It includes general purpose registers, segment registers, pointers & index registers and flag registers. The register organization of 8086 is also called as programmer’s model of 8086. The registers shown in the programmer’s model is accessible only to programmer .

AH AL BH BL CH CL DH DL CS DS ES SS SP BP SI DI IP General Purpose Registers b) Segment Registers F c) Flag Registers d) Pointer and Index Registers

General Purpose Registers The 8086 has four 16 – bit general purpose registers labeled AX, BX, CX and DX. Each 16 – bit general purpose register can be split into two 8 – bit registers. The Letters L and H specify the lower and higher bytes of a particular register. The General Purpose Registers are either used for holding data, variables, and intermediate results temporarily. They can also be used as a counters or used for storing offset address for some particular addressing modes. The register AX is used as 16 – bit accumulator where as register AL is used as 8 – bit accumulator. The register BX is also used as offset storage for generating physical addresses in case of certain addressing modes. On the other hand, the register CX is also used as a default counter in case of string and loop instructions.

Segment Registers These are used to hold the upper 16 – bits of the starting addresses of the four memory segments, on which 8086 works at a particular time.

Functions of Segment Registers The CS Register holds the upper 16 – bits of the starting address of the segment from which the BIU is currently fetching the instruction code byte. The SS Register is used for the upper 16 – bit of the starting address for the program stack. ES Register and DS register are used to hold the upper 16 – bits of the starting address of the two memory segments which are used for data.

Pointers and Index Registers All segment registers are 16 – bit wide. But it is necessary to generate 20 – bit address on the address bus. To get 20 – bit physical address one or more pointer or index registers are associated with each segment Register. The pointer registers IP, BP and SP are associated with Code, Data and Stack Segments, respectively. They hold the offset within the code, data and stack segments, respectively. The index registers DI and SI are used as a general purpose registers as well as for offset storage in case of indexed, based indexed and relative indexed addressing modes. The detailed description of pointers and index register.

Flag Register The contents of flag (F) register of 8086 indicate some conditions produced by the execution of an arithmetic or logical instruction. It also contains some flag bits to control the certain operations of the execution unit.

8086 Microprocessor Architecture

Explanations of 8086 Architecture The 8086 internally divided into two separate functional units. These are the Bus Interface Unit(BIU) and the Execution Unit (EU). These two functional units can work simultaneously to increase system speed and hence the throughput. Throughput is a measure of number of instructions executed per unit time.

Bus Interface Unit (BIU) The bus interface unit is the 8086’s interface to the outside world. It provides a full 16 – bit bi – directional data bus and 20 – bit address bus. It is responsible for performing all external bus operations. Functions: It sends address of the memory or I/O. It fetches instruction from memory. It reads data from port / memory. It writes data into port / memory. It supports instruction queuing. It provides the address relation facility. To implement the above mentioned functions the BIU has the instruction queue, segment registers instruction pointer, address summer and bus control logic.

Instruction Queue To speed up program execution, the BIU fetches six instruction bytes ahead of time from the memory. These prefetched instruction bytes are held for the execution unit in a group of six registers called Queue. With the help of queue it is possible to fetch next instruction when current instruction is in execution. The queue operates on the principle First In First Out (FIFO). So that the execution unit gets the instructions for execution in the order they are fetched. In case of JUMP and CALL instructions, instruction already fetched in queue are of no use. Hence, in these cases queue is dumped and newly formed by loading instructions from new address specified by JUMP or CALL instruction. Feature of fetching the next instruction while the current is executing is called pipelining.

Execution Unit The Execution Unit of 8086 tells the BIU from where to fetch instructions or data, decodes instructions and executes instructions. It Contains Control Circuitry  Directs the internal operations Instruction Decoder  It translates the instructions fetched from memory ALU  All Arithmetic and Logical Operations, INC, DEC Flag Register  Which indicates some condition produced by the Execution of instruction or controls certain operations of EU (Execution Unit) General Purpose Registers Pointers and Index Registers

Flag Registers Carry Flag : In case of addition this flag is set if there is a carry out of the MSB. The carry flag also serves as a borrow flag for subtraction. In case of subtraction it is set when borrow is needed. Parity Flag: It is set to 1 if result of byte operation or lower byte of the word operation contain an even number of ones; otherwise it is zero. Auxiliary Carry : This flag is set if there is an overflow out of bit 3. Zero Flag: It sets if the result of operation in ALU is zero and flag resets if the result is nonzero. The zero flag also set if a certain register content becomes zero following an increment or decrement operation of that register. Sign Flag: After the execution of arithmetic or logical operations, if the MSB of the result is 1, the sign bit is set. Sign bit 1 indicates the result is negative; otherwise it is positive.

Flag Registers 6. Overflow Flag: This flag is set if result is out of range. For addition this flag is set when there is a carry into the MSB and no carry out of the MSB or Vice – Versa. For subtraction, it is set when the MSB, or Vice- Versa.

INTERNAL MICROPROCESSOR ARCHITECTURE Before a program is written or instruction investigated, internal configuration of the microprocessor must be known. In a multiple core microprocessor each core contains the same programming model. Each core runs a separate task or thread simultaneously.

A thread consists of a program counter, a register set, and a stack space. A task shares with peer threads its code section, data section, and operating system resources

The Programming Model 8086 through Core2 considered program visible. registers are used during programming and are specified by the instructions Other registers considered to be program invisible. not addressable directly during applications programming

80286 and above contain program-invisible registers to control and operate protected memory. and other features of the microprocessor 80386 through Core2 microprocessors contain full 32-bit internal architectures. 8086 through the 80286 are fully upward-compatible to the 80386 through Core2. Figure 2–1 illustrates the programming model 8086 through Core2 microprocessor. including the 64-bit extensions

Figure 2–1  The programming model of the 8086 through the Core2 microprocessor including the 64-bit extensions.

Multipurpose Registers RAX - a 64-bit register (RAX), a 32-bit register (accumulator) (EAX), a 16-bit register (AX), or as either of two 8-bit registers (AH and AL). The accumulator is used for instructions such as multiplication, division, and some of the adjustment instructions. Intel plans to expand the address bus to 52 bits to address 4P (252~1015 =peta) bytes of memory.

Address Space (Main Memory: RAM) Address bus:16 bit Address Space:64 KBytes Address bus:20 bit Address Space:1 MBytes Address bus:32 bit Address Space:4 GBytes Address bus:34 bit Address Space:16GBytes Address bus:36 bit Address Space:64GBytes Address bus:38 bit Address Space:256GBytes Address bus:52 bit Address Space:1015 Bytes

RBX, addressable as RBX, EBX, BX, BH, BL. BX register (base index) sometimes holds offset address of a location in the memory system in all versions of the microprocessor RCX, as RCX, ECX, CX, CH, or CL. a (count) general-purpose register that also holds the count for various instructions RDX, as RDX, EDX, DX, DH, or DL. a (data) general-purpose register holds a part of the result from a multiplication or part of dividend before a division

RDI addressable as RDI, EDI, or DI. RBP, as RBP, EBP, or BP. points to a memory (base pointer) location for memory data transfers RDI addressable as RDI, EDI, or DI. often addresses (destination index) string destination data for the string instructions RSI used as RSI, ESI, or SI. the (source index) register addresses source string data for the string instructions like RDI, RSI also functions as a general- purpose register

R8 - R15 found in the Pentium 4 and Core2 if 64-bit extensions are enabled. data are addressed as 64-, 32-, 16-, or 8-bit sizes and are of general purpose Most applications will not use these registers until 64-bit processors are common. the 8-bit portion is the rightmost 8-bit only bits 8 to 15 are not directly addressable as a byte

Special-Purpose Registers Include RIP, RSP, and RFLAGS segment registers include CS, DS, ES, SS, FS, and GS RIP addresses the next instruction in a section of memory. defined as (instruction pointer) a code segment RSP addresses an area of memory called the stack. the (stack pointer) stores data through this pointer

Flags are upward-compatible from the 8086/8088 through Core2 . RFLAGS indicate the condition of the microprocessor and control its operation. Figure 2–2 shows the flag registers of all versions of the microprocessor. Flags are upward-compatible from the 8086/8088 through Core2 . The rightmost five and the overflow flag are changed by most arithmetic and logic operations. although data transfers do not affect them

Flags never change for any data transfer or program control operation. Figure 2–2  The EFLAG and FLAG register counts for the entire 8086 and Pentium microprocessor family. Flags never change for any data transfer or program control operation. Some of the flags are also used to control features found in the microprocessor.

Flag bits, with a brief description of function. C (carry) holds the carry after addition or borrow after subtraction. also indicates error conditions P (parity) is the count of ones in a number expressed as even or odd. Logic 0 for odd parity; logic 1 for even parity. if a number contains three binary one bits, it has odd parity if a number contains no one bits, it has even parity

List of Each Flag bit, with a brief description of function. C (carry) holds the carry after addition or borrow after subtraction. also indicates error conditions P (parity) is the count of ones in a number expressed as even or odd. Logic 0 for odd parity; logic 1 for even parity. if a number contains three binary one bits, it has odd parity; If a number contains no one bits, it has even parity

A (auxiliary carry) holds the carry (half-carry) after addition or the borrow after subtraction between bit positions 3 and 4 of the result. Z (zero) shows that the result of an arithmetic or logic operation is zero. S (sign) flag holds the arithmetic sign of the result after an arithmetic or logic instruction executes. T (trap) The trap flag enables trapping through an on- chip debugging feature.

O (overflow) occurs when signed numbers are added or subtracted. I (interrupt) controls operation of the INTR (interrupt request) input pin. D (direction) selects increment or decrement mode for the DI and/or SI registers. O (overflow) occurs when signed numbers are added or subtracted. an overflow indicates the result has exceeded the capacity of the machine

IOPL used in protected mode operation to select the privilege level for I/O devices. NT (nested task) flag indicates the current task is nested within another task in protected mode operation. RF (resume) used with debugging to control resumption of execution after the next instruction. VM (virtual mode) flag bit selects virtual mode operation in a protected mode system.

AC, (alignment check) flag bit activates if a word or doubleword is addressed on a non-word or non- doubleword boundary. VIF is a copy of the interrupt flag bit available to the Pentium 4–(virtual interrupt) VIP (virtual) provides information about a virtual mode interrupt for (interrupt pending) Pentium. used in multitasking environments to provide virtual interrupt flags

ID (identification) flag indicates that the Pentium microprocessors support the CPUID instruction. CPUID instruction provides the system with information about the Pentium microprocessor

Segment Registers Generate memory addresses when combined with other registers in the microprocessor. Four or six segment registers in various versions of the microprocessor. A segment register functions differently in real mode than in protected mode. Following is a list of each segment register, along with its function in the system.

DS (data) contains most data used by a program. CS (code) segment holds code (programs and procedures) used by the microprocessor. DS (data) contains most data used by a program. Data are accessed by an offset address or contents of other registers that hold the offset address ES (extra) an additional data segment used by some instructions to hold destination data.

SS (stack) defines the area of memory used for the stack. stack entry point is determined by the stack segment and stack pointer registers the BP register also addresses data within the stack segment

FS and GS segments are supplemental segment registers available in 80386–Core2 microprocessors. allow two additional memory segments for access by programs Windows uses these segments for internal operations, but no definition of their usage is available.