System Address Registers/Memory Management Registers Four memory management registers are used to specify the locations of data structures which control.

Slides:



Advertisements
Similar presentations
Memory Management Unit
Advertisements

O PERATING I N P ROTECTED M ODE Prof.P.C.Patil Department of Computer Engg Matoshri College of Engg.Nasik M ICROPROCESSOR A RCHITECTURE.
Chapter 12: Interrupts. Copyright ©2009 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights reserved. The Intel Microprocessors:
Introduction to 8086 Microprocessor
FEATURES OF 80386: Two versions of are commonly available: 1) 80386DX
Unit 4 Chapter-1 Multitasking. The Task State Segment.
16.317: Microprocessor System Design I
Intel MP.
Microprocessors system architectures – IA32 real and virtual-8086 mode Jakub Yaghob.
Microprocessor system architectures– IA32 debugging and performance monitoring Jakub Yaghob.
IA-32 Processor Architecture
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Vacuum tubes Transistor 1948 ICs 1960s Microprocessors 1970s.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Memory Management (II)
Facilities for x86 debugging Introduction to Pentium features that can assist programmers in their debugging of software.
ARM programmer’s model and assembler Embedded Systems Programming.
ARM 7 Datapath. Has “BIGEND” input bit, which defines whether the memory is big or little endian Modes: ARM7 supports six modes of operation: (1) User.
Introduction to Interrupts
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Fall 2012 Lecture 15: Protected mode intro.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
UNIT 2 Memory Management Unit and Segment Description and Paging
Intel
Micro-Computer Applications: Procedures & Interrupts Dr. Eng. Amr T. Abdel-Hamid ELECT 707 Fall 2011.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
80386DX.
Address Translation Mechanism of 80386
The Pentium Processor.
The Pentium Processor Chapter 3 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
The Pentium Processor Chapter 3 S. Dandamudi.
Multitasking Mr. Mahendra B. Salunke Asst. Prof. Dept. of Computer Engg., STES SITS, Narhe, Pune-41 STES Sinhgad Institute of Tech. & Science Dept. of.
80386DX.
CSNB374: Microprocessor Systems Chapter 5: Procedures and Interrupts.
UNIT-I 80386DX functional Block Diagram PIN Description Register set
1 i386 Memory Management Professor Ching-Chi Hsu 1998 年 4 月.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
Virtual 8086 Mode  The supports execution of one or more 8086, 8088, 80186, or programs in an protected-mode environment.  An 8086.
The Microprocessor and Its Architecture A Course in Microprocessor Electrical Engineering Department University of Indonesia.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
80386DX. Programming Model The basic programming model consists of the following aspects: – Registers – Instruction Set – Addressing Modes – Data Types.
Segment Descriptor Segments are areas of memory defined by a programmer and can be a code, data or stack segment. In segments need not be all the.
1 Microprocessors CSE Protected Mode Memory Addressing Remember using real mode addressing we were previously able to address 1M Byte of memory.
Introduction to Microprocessors Chapter 3. Programming Model (8086)  Shows the various internal registers that are accessible to the programmer.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Information Security - 2. Other Registers EFLAGS – 32 Bit Register CFPFAFZFSFTFIFDFOFIO PL IO PL NTRFVM Bits 1,3,5,15,22-31 are RESERVED. 18: AC, 19:VIF,
Microprocessor and Assembly Language Addressing Models
Information Security - 2. Descriptor Tables Descriptors are stored in three tables: – Global descriptor table (GDT) Maintains a list of most segments.
Internal Programming Architecture or Model
Information Security - 2. CISC Vs RISC X86 is CISC while ARM is RISC CISC is Compiler’s heaven while RISC is Architecture’s heaven Orthogonal ISA in RISC.
Microprocessor Architecture
Protection in Virtual Mode
An Interrupt is either a Hardware generated CALL (externally derived from a hardware signal) OR A Software-generated CALL (internally derived from.
Descriptor Table & Register
16.317: Microprocessor System Design I
MICROPROCESSOR BASED SYSTEM DESIGN
Microprocessor and Assembly Language
Microprocessor Systems Design I
Microprocessor Systems Design I
Introduction to 8086 Microprocessor
Address Translation Mechanism of 80386
contains 8086 processor and several additional functional chips: clock generator 2 independent DMA channels PIC 3 programmable 16-bit timers.
Subject Name: Microprocesor Subject Code: 10CS45
Operating Modes UQ: State and explain the operating modes of X86 family of processors. Show the mode transition diagram highlighting important features.(10.
Microprocessor and Assembly Language Addressing Models
Architectural Support for OS
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
REGISTER ORGANIZATION OF 80386
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Architectural Support for OS
First Generation 32–Bit microprocessor
Presentation transcript:

System Address Registers/Memory Management Registers Four memory management registers are used to specify the locations of data structures which control segmented memory management. These registers are: – GDTR (Global Descriptor Table Register) – IDTR (Interrupt Descriptor Table Register) – LDTR (Local Descriptor Table Register) – TR (Task Register) 1

GDTR and IDTR GDTR and IDTR can be loaded with instructions which get a 6 byte data item from memory 2

LDTR and TR LDTR and TR can be loaded with instructions which takes a 16-bit segment selector as an operand. 3

LDTR and TR The remaining bytes of these registers are then loaded automatically by the processor from segment descriptor referenced by the operand. Descriptor Registers are not visible to programmer 4

Debug Registers Debugging of allows data access breakpoints as well as code execution breakpoints contains 6 debug registers to specify – 4 breakpoints – Breakpoint Control options – Breakpoint Status

Debug Registers 6

Linear Breakpoint Address Registers The breakpoint addresses specified are 32-bit linear addresses While debugging, Intel 386 h/w continuously compares the linear breakpoint addresses in DR0-DR3 with the linear addresses generated by executing software. 7

Debug Control Register LEN i (i=0 - 3): Breakpoint Length Specification Bits: 2 bit field for each breakpoint Specifies length of breakpoint fields The choices of data breakpoints are 1byte, 2bytes & 4bytes For instruction execution breakpoint, the length is 1(beginning byte address) 8

LEN i Encoding

Debug Control Register RW i (i=0 - 3): Memory Access Qualifier Bit 2 bit field for each breakpoint Specifies the type of usage which must occur inorder to activate the associated breakpoint 10

Debug Registers 11

Debug Control Register GD: Global Debug Register Access Detect Debug registers can only be accessed in real mode or at privilege level 0 in protected mode GD bit, when set, provides extra protection against any Debug Register access even in Real Mode or at privilege level 0 in Protected Mode. 12

Debug Control Register GD: Global Debug Register Access Detect This additional protection feature is provided to guarantee that a software debugger can have full control over the Debug Register resources when required. The GD bit, when set, causes an exception 1 fault if an instruction attempts to read or write any Debug Register. The GD bit is then automatically cleared when the exception 1 handler is invoked, allowing the exception 1 handler free access to the debug registers. 13

Debug Control Register GE and LE bit: Exact data breakpoint match, global and local If either GE or LE is set, any data breakpoint trap will be reported exactly after completion of the instruction that caused the operand transfer. LE bit is cleared during task switch and is used for task-local breakpoints. GE bit is unaffected during a task switch and remain enabled during all tasks executing in the system. 14

Debug Control Register G i and L i (i=0 - 3): Breakpoint Enable, global and local If either G i and L i is set then the associated breakpoint is enabled. 15

Debug Status Register A Debug Status Register allows the exception 1 handler to easily determine why it was invoked. It can be invoked as a result of one of several events: 1) DR0 Breakpoint fault/trap. 2) DR1 Breakpoint fault/trap. 3) DR2 Breakpoint fault/trap. 4) DR3 Breakpoint fault/trap. 5) Single-step (TF) trap. 6) Task switch trap. 7) Fault due to attempted debug register access when GD = 1.

Debug Status Register B i : Debug fault/trap due to breakpoint 0 -3 Four breakpoint indicator flags, B0-B3, correspond one-to-one with the breakpoint registers in DR0-DR3. A flag B i is set when the condition described by DR i, LEN i, and RW i occurs. 17

Debug Status Register BD : Debug fault due to attempted register access when GD bit is set This bit is set if the exception 1 handler was invoked due to an instruction attempting to read or write to the debug registers when GD bit was set. 18

Debug Status Register BS : Debug trap due to single step This bit is set if the exception 1 handler was invoked due to the TF bit in the flag register being set 19

Debug Status Register BT : Debug trap due to task switch This bit is set if the exception 1 handler was invoked due to a task switch occurring to a task having an Intel386 DX TSS with the T bit set. 20

Test Registers They are used to control the testing of Translation Look-aside Buffer of Intel386 DX. TR6 is the command test register TR7 is the data register which contains the data of Translation Look-aside buffer test. 21

Programming Model The basic programming model consists of the following aspects: – Registers – Instruction Set – Addressing Modes – Data Types – Memory Organization – Interrupts and Exceptions 22

Instruction Set The instruction set is divided into 9 categories of operations: Data Transfer Arithmetic Shift/Rotate String Manipulation Bit Manipulation Control Transfer High Level Language Support Operating System Support Processor Control 23

Instruction Set – Data Transfer 24

Instruction Set-Arithmetic 25

Instruction Set - Shift/Rotate 26

Instruction Set – String Manipulation 27

Instruction Set – Bit Manipulation 28

Instruction Set – Control Transfer 29

Instruction Set 30

Instruction Set – Operating System Support 31

Instruction Set – Processor Control 32

Instruction Set These instructions operate on either 0,1,2 or 4 operands where an operand resides in – Register – Instruction itself – Memory Most zero operand instructions take only one byte 33

Instruction Set One operand instructions are generally two bytes long The average instruction is 3.2 bytes long Since has a 16-byte queue, an average of 5 instructions are prefetched. 34

Instruction Set The use of 2 operands permits the following types of common instruction: – Register to Register – Memory to Register – Immediate to Register – Register to Memory – Immediate to Memory The operands can be either 8,16 or 32 bits long 35