MICROPROCESSOR TECHNOLOGY

Similar documents
MP Assignment IV. 1. A. Describe the 80386DX memory system and explain the purpose and operation of the bank selection signals.

MICROPROCESSOR TECHNOLOGY

MICROPROCESSOR TECHNOLOGY

MICROPROCESSOR ALL IN ONE. Prof. P. C. Patil UOP S.E.COMP (SEM-II)

MICROPROCESSOR TECHNOLOGY

MICROPROCESSOR MICROPROCESSOR ARCHITECTURE. Prof. P. C. Patil UOP S.E.COMP (SEM-II)

Darshan Institute of Engineering & Technology

MICROPROCESSOR MICROPROCESSOR ARCHITECTURE. Prof. P. C. Patil UOP S.E.COMP (SEM-II)

2.5 Address Space. The IBM 6x86 CPU can directly address 64 KBytes of I/O space and 4 GBytes of physical memory (Figure 2-24).

Microprocessors and Microcontrollers/High end processors

Architecture of 8086 Microprocessor

MICROPROCESSOR TECHNOLOGY

Overview of Intel 80x86 µp

Chapter 12: INTERRUPTS

MICROPROCESSOR TECHNOLOGY

Microprocessors and Microcontrollers (EE-231)

BASIC INTERRUPT PROCESSING

The Pentium Processor

Hardware and Software Architecture. Chapter 2

The Purpose of Interrupt

MICROPROCESSOR TECHNOLOGY

1. state the priority of interrupts of Draw and explain MSW format of List salient features of

FIGURE Three EPROMs interfaced to the 8088 microprocessor.

IA32 Intel 32-bit Architecture

7/19/2013. Introduction. Chapter Objectives Upon completion of this chapter, you will be able to: Chapter Objectives 12 1 BASIC INTERRUPT PROCESSING

Chapter 12: Interrupts

PROTECTION CHAPTER 4 PROTECTION


80386 Segmentation unit allows segments of size at maximum. If input pin of if activated, allows address pipelining during bus cycles.

6/17/2011. Introduction. Chapter Objectives Upon completion of this chapter, you will be able to:

Intel386 TM DX MICROPROCESSOR 32-BIT CHMOS MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT (PQFP SUPPLEMENT)

Chapter 2: The Microprocessor and its Architecture

Vidyalankar T.Y. Diploma : Sem. VI [CO/CD/CM] Advanced Microprocessor

32- bit Microprocessor-Intel 80386

eaymanelshenawy.wordpress.com

Unit 08 Advanced Microprocessor

UMBC D 7 -D. Even bytes 0. 8 bits FFFFFC FFFFFE. location in addition to any 8-bit location. 1 (Mar. 6, 2002) SX 16-bit Memory Interface

2 3 INTRO TO PROTECTED MODE MEMORY ADDRESSING

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

8086 Hardware Specification

Intel386 SXSA EMBEDDED MICROPROCESSOR

8086 Interrupts and Interrupt Responses:

UMBC. 80C86/80C88: CMOS version draws 10mA with temp spec -40 to 225degF. 450mV while input max can be no higher than 800mV). 0 0.

ECE 485/585 Microprocessor System Design

Moodle WILLINGDON COLLEGE SANGLI (B. SC.-II) Digital Electronics

An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal)

Control Unit: The control unit provides the necessary timing and control Microprocessor resembles a CPU exactly.

Instructions Involve a Segment Register (SR-field)

1. Internal Architecture of 8085 Microprocessor

Chapter 13 Direct Memory Access and DMA-Controlled I/O

EC 6504 Microprocessor and Microcontroller. Unit II System Bus Structure

SRI VIDYA COLLEGE OF ENGINEERING AND TECHNOLOGY,VIRUDHUNAGAR

Pin diagram Common SignalS Architecture: Sub: 8086 HARDWARE

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Structure of Computer Systems

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

PIN DIAGRAM. Richa Upadhyay Prabhu. NMIMS s MPSTME January 19, 2016

An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal)

9/25/ Software & Hardware Architecture

Chapter 2 COMPUTER SYSTEM HARDWARE

Pin Description, Status & Control Signals of 8085 Microprocessor

UNIT 2 PROCESSORS ORGANIZATION CONT.

Chapter 8 Summary: The 8086 Microprocessor and its Memory and Input/Output Interface

Enhanced Am486 DX Microprocessor Family

EC-333 Microprocessor and Interfacing Techniques

Introduction to Microprocessor

Chapter 12. CPU Structure and Function. Yonsei University

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

Microprocessor s. Address Bus. External Buses. Interfacing CPU with external word. We classify the CPU interfacing signals in three functional buses:

143A: Principles of Operating Systems. Lecture 6: Address translation. Anton Burtsev January, 2017

Microprocessor Architecture

These three counters can be programmed for either binary or BCD count.

8086 PIN Diagram Signals with common functions in both Modes: The following signal description is common for both the minimum and maximum modes.

EMBEDDED IntelDX2 PROCESSOR

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 153) Pass Marks: 24

INPUT/OUTPUT ORGANIZATION

Chapter 1: Basics of Microprocessor [08 M]

UNIT II OVERVIEW MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Introduction to 8086 microprocessors. Architecture of 8086 processors

6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU

3.6. PAGING (VIRTUAL MEMORY) OVERVIEW

6x86 PROCESSOR Superscalar, Superpipelined, Sixth-generation, x86 Compatible CPU

AMD-K5. Software Development Guide PROCESSOR

Part I. X86 architecture overview. Secure Operating System Design and Implementation x86 architecture. x86 processor modes. X86 architecture overview

x86 segmentation, page tables, and interrupts 3/17/08 Frans Kaashoek MIT

Basic I/O Interface

EEM336 Microprocessors I. The Microprocessor and Its Architecture

8051 Microcontroller

EC 6504 MICROPROCESSOR AND MICROCONTROLLER Electronicsand Communication Engineering Fifth Semester UNIT-1I Part A 1. Definemachinecycle.

Computer Organization (II) IA-32 Processor Architecture. Pu-Jen Cheng

Architecture of 8085 microprocessor

Virtual Memory. Patterson & Hennessey Chapter 5 ELEC 5200/6200 1

Interrupts. Chapter 20 S. Dandamudi. Outline. Exceptions

Lecture 21: Virtual Memory. Spring 2018 Jason Tang

MA Unit 4. Question Option A Option B Option C Option D

3. The MC6802 MICROPROCESSOR

Microcomputer System Design

UNIT-1. It is a 16-bit Microprocessor (μp).it s ALU, internal registers works with 16bit binary word.

EC6504 MICROPROCESSOR AND MICROCONTROLLER

Transcription:

MICROPROCESSOR TECHNOLOGY Assis. Prof. Hossam El-Din Moustafa Lecture 15 Ch.7 The 80386 and 80486 Microprocessors 21-Apr-15 1

Chapter Objectives Contrast the 80386 and 80486 microprocessors with earlier Intel microprocessors. Describe the operation of the 80386 and 80486 memory management unit and paging unit. Define additional 80386/80486 instructions and addressing modes. Detail the interrupt structure and direct memory access structure of 80386/80486 µp. Contrast the 80486 with the 80386 µp. 21-Apr-15 2

M / IO The 80386 Microprocessor The 80386DX µp is packaged in a 132-pin PGA. It addresses 4GB of memory through 32-bit data bus and 32-bit address. The 80386SX is a popular and a less costly version of the 80386 µp with 24 bit address bus and 16 bit data bus. It is used in PCs that use the same basic motherboard design like 80286 and require less than 16 MB of memory. 21-Apr-15 3

The 80386 Microprocessor The 80386 requires a single +5V power supply. The power supply current averages 550 ma for the 25 MHz version, 500 ma for the 20 MHz version, and 450 ma for the 16 MHz version. The 33 MHz version requires 600 ma. Each 80386 output pin is capable of providing 4 ma (address and data connections) or 5 ma (other connections). 21-Apr-15 4

80386DX Pin Functions A2 A31: Address bus connections address any of the 1G memory locations found in the 80386 µp system. (A0 and A1 are encoded) D0 D31: Data bus connections BE0 BE3: Bank Enable signals select the access of a byte, word, or double word of data. These signals are generated internally from address bits A0 and A1. M/IO: select memory device when a logic 1. During I/O operation, the address bus contains a 16 bit I/O address 21-Apr-15 5

80386DX Pin Functions W/R: Write/Read indicate that the current bus cycle is write when a logic 1. ADS: Address Data Strobe becomes active when the 80386 has issued a valid I/O or memory address. (Combined with W/R to generate the read/write signals present in earlier µp). RESET: initializes the 80386, causing it to begin executing software at memory location FFFFFFF0 CLK2: Clock times 2 is driven by a clock signal that is twice the operating frequency of the 80386. 21-Apr-15 6

80386DX Pin Functions READY: Controls the number of wait states. LOCK: Lock=0 when an instruction is prefixed with the LOCK: prefix. D/C: Data/Control, if D/C=1, the data bus contains data for or from memory or I/O. If D/C=0, the µp is halted or executes an interrupt. BS16: Bus Size 16 selects either a 32 bit data bus (BS16=1) or 16-bit data bus (BS16=0). NA: Next Address causes the 80386 to output the address of the next instruction or data in next cycle 21-Apr-15 7

80386DX Pin Functions HOLD: Hold requests a DMA action HLDA: HOLD Acknowledge indicates that the 80386 is currently in a hold condition. PEREQ: The coprocessor request, and is a direct connection to the 80387 coprocessor. BUSY: Busy is an input used by the WAIT or FWAIT instruction that waits for the coprocessor to become not busy. (It is also a direct connection to the 80387). 21-Apr-15 8

80386DX Pin Functions ERROR: Error indicates to the µp that an error is detected by the coprocessor. INTR: Interrupt Request is used by external circuitry to request an interrupt. NMI: Non-Maskable Interrupt 21-Apr-15 9

The Memory System The memory is organized as four banks, each containing 1GB. (See Fig. 7-3 Page 169) Memory is accessed as 8, 16, or 32-bits. The 32-bit wide memory allows bytes, words, or double-words of memory data to be accessed directly. The 80386DX transfers up to 32-bit wide number in a single memory cycle. The 80386 uses a 32-bit wide memory address with bytes from 00000000H FFFFFFFFH 21-Apr-15 10

The Buffered System The 80386 is buffered to increase the fan-out from its address, data, and control connections. In Fig. (7-4) P. 171, the µp is operated at 25 MHz using a 50 MHz clock input signal that is generated by an integrated oscillator module. The HLDA is used to enable all buffers in a system that uses DMA. In a non DMA system, buffer enable pins are grounded. 21-Apr-15 11

Pipelines and Caches Pipeline is a special way of handling memory accesses so the memory has additional time to access data. Pipelining allows memory an extra clocking period to access data. The extra clock extends the access time from 50 ns to 81 ns on the 80386 operating at 16 MHz. The pipe is set up by the microprocessor. Higher speed systems can not use pipelining. Cache is used to increase memory system speeds. 21-Apr-15 12

Interleaved Memory Systems An interleaved memory system is used to improve the speed. Memory access times can be lengthened without the need of wait states because the address is generated to select the memory before the microprocessor accesses it. It needs two or more complete sets of address buses and a controller that provides addresses for each bus. Systems that employ two complete buses are called 2-way interleave. 21-Apr-15 13

The Input/Output System All 80386 systems use isolated I/O because of the I/O protection scheme provided by the 80386 in protected mode operation. The 80386 uses a full 32-bit wide I/O system divided into four banks (Fig. 7-8 Page 176). Most I/O transfers are 8-bit wide because we often use ASCII code for transferring alphanumeric data between µp and printers and keyboards. 21-Apr-15 14

The Input/Output System The I/O locations are numbered from 0000H to FFFFH. A portion of the I/O map is designated for the 80387 coprocessor. The coprocessor uses I/O location 800000F8H 800000FFH. New feature: An I/O location can be blocked in the protected mode. If the blocked location is addressed, an interrupt (Type 13) is generated. 21-Apr-15 15

Timing in The 80386 The timing is referenced to the CLK2 input signal. A bus cycle consists of four clocking periods. Each bus cycle contains two clocking states (T1 and T2) with each state containing two clocking periods. (Fig. 7-10 page 177 Non-pipelined). Compare with (Fig. 7-11 Pipelined) Compare also with inserted wait states (Fig. 7-12) Report (Compare between the three cases) 21-Apr-15 16

Special 80386 Registers Control Registers: In addition to the EFLAGS and EIP, there are other control registers found in the 80386; CR0, CR1, CR2, and CR3 CR1 is not used in the 80386. CR2 holds the linear page address of the last page accessed before a page fault interrupt. CR3 holds the base address of the page directory. 21-Apr-15 17

Control Registers The rightmost 12 bits of the 32 bit page table address contain zeros and combine with the remainder of the register to locate the start of the page table. CR0 is 32-bit wide: PG: Selects page table translation of linear address into physical address when PG=1. ET: Selects 80287 coprocessor when ET=0, 80387 coprocessor when ET=1. 21-Apr-15 18

Control Registers TS: indicates that the 80386 has switched tasks. If TS=1, a numeric coprocessor instruction causes type 7 interrupt (Coprocessor not available). EM: Is set to cause a type 7 interrupt for each ESC instruction. MP: Is set to indicate that the coprocessor is present in the system. PE: Is set to select the protected mode of operation. It may be cleared to re-enter the real mode. 21-Apr-15 19

Debug Registers Four debug registers (DR0, DR1,DR2, and DR3) contain 32-bit linear breakpoint addresses. The linear address is generated by the µp instruction that may or may not be the same as the physical address. The breakpoint addresses are compared with the addresses generated by the program. If a match occurs, the µp cause type 1 interrupt The breakpoint addresses are useful in debugging faulty software 21-Apr-15 20

Debug Registers DR4 and DR5 are not used DR6 and DR7 have control bits: BT: If Set, the debug interrupt was caused by a task switch. BS: If set, the debug interrupt was caused by the TF bit in the flag register. BD: If set, the debug interrupt was caused by an attempt to read the debug register. B0 B3: indicates which of the 4 debug breakpoint addresses caused the debug interrupt. 21-Apr-15 21

Debug Registers LEN: These bits define the size of access at the breakpoint address. RW: These bits select the cause of action that enabled a breakpoint address. GD: If set, it prevents any read or write of a debug registry by generating the debug interrupt. GE: If set, selects a global breakpoint address LE: If set, selects a local breakpoint address 21-Apr-15 22

Test Registers Test registers TR6 and TR7 are used to test the Translation Look-aside Buffer (TLB) The TLB in the 80386 holds the most common 32 entries from the page table. TR6 holds the tag field of the TLB. TR7 holds the physical address of the TLB. To write a TLB entry: 1. Write TR7 for the desired physical address 2. Write TR6 with the linear address (C=0) 21-Apr-15 23

Test Registers To read a TLB entry: 1. Write TR6 with the linear address (C=1) 2. Read both TR6 and TR7. If the PL bit indicates a hit, the desired values of TR6 and TR7 indicate the contents of the TLB. Bits in TR6 and TR7: V: Shows that the entry in the TLB is valid C: Selects a write (0) or immediately lookup (1) PL: Indicates a hit if PL=1 21-Apr-15 24

80386 Memory Management The MMU is similar to that of the 80286 except that the 80386 contains a paging unit not found in the 80286. The MMU converts linear address into physical addresses using the paging mechanism. Any linear location can be mapped into any physical location (Large flexibility). The area between ROMs is called upper memory The area above FFFFFH is extended memory 21-Apr-15 25

M / IO Descriptors and Selectors A descriptor is a series of 8 bytes that describe and locate a memory segment. A selector (segment register) is used to index a descriptor from a table of descriptors. The 80386 has 2 extra selectors more than the 80286 (FS and GS). The 80386 uses 32-bit base address and 20-bit limit (segment length 1M if G=0 and 4G if G=1) The granularity bit is found in the 80386 descriptor. 21-Apr-15 26

Descriptors and Selectors If G=0, the number stored in the limit is interpreted directly as a limit, allowing it to contain any limit between 00000H and FFFFFH giving a segment size up to 2 20 or 1MB. If G=1, the number stored in the limit is interpreted as 00000XXXH-FFFFFXXXH where XXX range from 000H FFFH This allows the limit of the segment to range between 0 4GB in steps of 4 KB. 21-Apr-15 27

Descriptors and Selectors In the 80386, the selector uses the leftmost 13 bits to select a descriptor from the descriptor table Thus, there are 2 13 =8192 descriptors in each table Because each segment can be 4GB in length, we can access 8192*2=16384 segments at a time with 2 descriptor tables. Thus, the 80386 can access a virtual memory size of 16384*4GB=64TB There is a third descriptor table for interrupt (IDT) 21-Apr-15 28

Fields in The Descriptors Base (B0 B31): define the starting 32-bit address of the segment within the 4GB physical address. Limit (L0 L19): Define the limit of the segment in units of bytes (G=0) or units of 4KB (G=1) Access Rights: Determine the privilege level of the segment. G: Granularity bit selects a multiplier of 1 or 4KB D: Selects the default register size. If D=0, the registers are 16-bit and if D=1, they are 32-bit. 21-Apr-15 29

Fields in The Descriptors AVL: Available bit for the OS. It often indicates that the segment described by a descriptor is available. 21-Apr-15 30

Segment Descriptors The segment descriptor defines data, stack, and code segment. (Fig. 7-18 Page 185) The access right bits are described as follows: P: Present is a logic 1 to indicate that the segment is present DPL: Descriptor privilege level (00 has the highest privilege & 11 has the lowest privilege) S: Segment indicates a data or code segment descriptor (s=1) or a system segment (S=0). 21-Apr-15 31

Segment Descriptors E: Executable selects a data segment (E=0) or a code segment (E=1) X: If E=0, X indicates the direction of expansion for the data segment. If E=1, X indicates whether the privilege level of the code segment is ignored (X=0) or observed (X=1). RW: If E=0, the RW indicates that the data segment may be written (RW=1) or not (RW=0). If E=1, the RW indicates that the code segment may be read (RW=1) or not (RW=0). 21-Apr-15 32

Thank You With all best wishes!! 21-Apr-15 33