Download presentation
Presentation is loading. Please wait.
Published byChristine Knight Modified over 8 years ago
1
EEL 4709C Prof. Watson Herman Group 4 Ali Alshamma, Derek Montgomery, David Ortiz 11/11/2008
2
Addressing X86 Segment Registers Instruction Formats
3
Immediate: Define and use constraints or set initial values. No need of memory. Direct: Requires only one memory. Indirect: Requires two memory references to fetch the operand.
4
Register: Limited address space. Used heavily on instruction set. Register Indirect: Same as indirect addressing. Displacement: Instructions required to have two address fields.
5
Stack: Block of locations. Last in first out (LIFO).
6
X86 refers to the most successful instruction set architecture in the history of personal computing. X86 represents various Intel chips with model numbers ending with the number 86 (i.e. Intel 80386). Variable instruction length. CISC and not CISC at the same time! ( uses basic Intel 8086 features which is a CISC). 16, 32, 64 bit registers.
7
View memory as multiple address spaces (segments). Memory accessed by a single index register. Set access privilege (real or protected modes). Fixed segment size in real mode (64 KB and 16 bit offset). Variable segment size in protected mode.
8
Real Mode: 20 bits segmented memory address space (1 MB). No multitasking or memory protection at hardware level. Protected Mode: Expanded address space of 16 MB. Provides multitasking. Provides memory protection preventing programs from corrupting each other. Segment registers to store an index to the segment in a table.
9
Real Mode Protected Mode
10
Mostly used in microprogramming. Hold segment address of various items 16 bits long Set by special instructions or general register Critical for good execution of a program in multi- segment programming.
11
CS: Holds code segment in which the program run. Changing its value freezes the computer. DS: Holds the data segment in which the program accesses. Changing its value gives wrong data. ES, FS, GS: Available for far pointer addressing (i.e. video memory addressing). SS: Holds the stack segment the program uses. Sometimes contains the same value as DS. Changing its value gives unpredictable data related results.
12
Advantages: Larger address space. Better execution performance. Compatible with most microprocessors. Fast. Disadvantages: Expensive. Harder to program.
13
Defines the layout of the bits of an instruction in terms of its constituent fields. Has an opcode and implicit and explicit zero or more operands.
14
Most basic design issue. Depends on: Memory size Memory organization Bus structure Processor complexity Processor speed
15
Programmers want: More opcodes. More operands. More addressing modes for flexibility issues. Increase in memory size to accommodate the increasing use of virtual memory. Ex: 64-bit instruction vs. 32-bit instruction.
16
More opcodes = more bits in the opcode field. Reduce the number of bits available for addressing in a given length of an instruction format.
17
To determine the use of addressing bits, one should know: Number of addressing modes. Number of operands. Register vs. memory Number of register sets. Address range. Address granularity.
18
Simplest instruction design for a general purpose computer. 12 bit instructions operating on 12 bit words. Has a single general purpose register called the accumulator.
20
36 bit instructions length. Has 36 bit word length. 9-bit opcodes.
21
More flexible addressing. Price depends on the complexity of the processor.
22
Complex instruction set. Complex addressing capability.
24
True of False: Displacement addressing combines the capabilities of direct and register indirect addressing. Which Addressing mode requires two memory references to fetch the operand? The last in first out (LIFO) queue refers to which addressing mode? Give and example of an x86-compatible chip that is widely spread nowadays? How long are the segment registers in terms of bits? What are the advantages of using segment registers? What are the uses of the SS segment register in multi-segment programming? What is the simplest general purpose computer in terms of instruction design? What does an instruction format define? What is the price to pay for using variable length instructions?
25
Computer Organization & Architecture (course book). http://74.125.45.104/search?q=cache:K1NqV4HYuq EJ:en.wikipedia.org/wiki/X86+x86+segment+register s&hl=en&ct=clnk&cd=1&gl=us&client=firefox-a http://74.125.45.104/search?q=cache:K1NqV4HYuq EJ:en.wikipedia.org/wiki/X86+x86+segment+register s&hl=en&ct=clnk&cd=1&gl=us&client=firefox-a http://74.125.45.104/search?q=cache:jApbUbAun- EJ:www.pouet.free.fr/spip/IMG/html/x86reg.html+x8 6+segment+registers&hl=en&ct=clnk&cd=21&gl=us &client=firefox-a
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.