13-02-2013, 02:32 PM
Computer System Design (CSD)
Computer System .docx (Size: 1.63 MB / Downloads: 28)
System software (or systems software) is computer software or an operating system designed to operate and control the computer hardware and to provide a platform for running application software.
(b)Register Structure of IA-pentium 32:
1 Intel IA32 Processor
Intel uses IA32 to refer to Pentium processor family, in order to distinguish them from their 64-bit architectures.
Modes
The 1A32 processor has three operating modes:
• Real-address mode. This mode lets the processor to address "real" memory address. It can address up to 1Mbytes of memory (20-bit of address). It can also be called "unprotected" mode since operating system (such as DOS) code runs in the same mode as the user applications. 1A32 processors have this mode to be compatible with early Intel processors such as 8086. The processor is set to this mode following by a power-up or a reset and can be switched to protected mode using a single instruction.
• Protected mode. This is the preferred mode for a modern operating system. It allows applications to use virtual memory addressing and supports multiple programming environment and protections.
• System management mode. This mode is designed for fast state snapshot and resumption. It is useful for power management
There is also a virtual-8086 mode that allows the processor to execute 8086 code software in the protected, multi-tasking environment.
Register Set
There are three types of registers: general-purpose data registers, segment registers, and status and control registers. The following figure shows these registers:
EIP Register (Instruction Pointer)
The EIP register (or instruction pointer) can also be called "program counter." It contains the offset in the current code segment for the next instruction to be executed. It is advanced from one instruction boundary to the next in straight-line code or it is moved ahead or backwards by a number of instructions when executing JMP, Jcc, CALL, RET, and IRET instructions. The EIP cannot be accessed directly by software; it is controlled implicitly by control-transfer instructions (such as JMP, Jcc, CALL, and RET), inter-rupts, and exceptions. The EIP register can be loaded indirectly by modifying the value of a return instruction pointer on the procedure stack and executing a return instruction (RET or IRET).
Note that the value of the EIP may not match with the current instruction because of instruction prefetching. The only way to read the EIP is to execute a CALL instruction and then read the value of the return instruction pointer from the procedure stack.