Assembly Language Chapter 2 x86 PROCESSOR Architecture
From the Intel486 onward, the FPU has been integrated into the main processor chip. There are ___ ___ ___ data registers in the FPU, named ST(0), ST(l), ST(2), ST(3), ST(4), ST(5), ST(6), and ST(7).
eight floating-point
A sub-mode, named ___ ___, is a special case of protected mode.
virtual-8086
Reading from memory
1) Place the address of the value you want to read on the address bus. 2. Assert (change the value of) the processor's RD (read) pin. 3. Wait one clock cycle for the memory chips to respond. 4. Copy the data from the data bus into the destination operand
A flag is set when it equals __; it is clear ( or reset) when it equals ____.
1, 0
In a 32-bit processor running in protected mode, a task or program can address a linear address space of up to ____
4 GBytes.
the lower 16 bits of the EAX register can be referenced by the name ___
AX.
The ____ ______ ____ is set when an arithmetic operation causes a carry from bit 3 to bit 4 in an 8-bit operand.
Auxiliary Carry flag (AC)
_____: The basic input-output system is a collection of low-level subroutines that communicate directly with hardware devices. The BIOS is installed by the computer's manufacturer and is tailored to fit the computer's hardware. Operating systems typically communicate with the BIOS.
BIOS
____ _____, with a small circular battery to keep it powered
CMOS RAM
_____ _____ on the system motherboard stores system setup information. It is refreshed by a battery, so its contents are retained when the computer's power is off.
CMOS RAM
The ___ ____ is set when the result of an unsigned arithmetic operation is too large to fit into the destination.
Carry flag (CF)
The central processor unit (CPU)contains registers and what other basic elements?
Control Unit, Arithmetic Logic Unit, and the clock.
___ ______ control the CPU's operation. For example, they can cause the CPU to break after every instruction executes, interrupt when arithmetic overflow is detected, enter virtual-8086 mode, and enter protected mode.
Control flags
_______, commonly known as main memory, is where programs and data are kept when a program is running. It is inexpensive, but must be refreshed every millisecond to avoid losing its contents. Some systems use ECC ( error checking and correcting) memory.
DRAM
The central processor unit is connected to the rest of the computer system using what three buses?
Data, Address, and Control buses
____ _____ are programs that permit the operating system to communicate directly with hardware devices and the system BIOS
Device drivers
Name four types of RAM mentioned in this chapter
Dynamic RAM, Static RAM, Video RAM, and CMOS RAM.
______ is automatically used by multiplication and division instructions. It is often called the extended accumulator register.
EAX
_______is used by high-level languages to reference function parameters and local variables on the stack. It should not be used for ordinary arithmetic or data transfer except at an advanced level of programming. It is often called the extended frame pointer register.
EBP
The CPU automatically uses ______ as a loop counter.
ECX
The ________ register consists of individual binary bits that control the operation of the CPU or reflect the outcome of some CPU operation. Some instructions teSt and manipulate individual processor flags
EFLAGS (or just Flags)
_________ can be erased slowly with ultraviolet light and reprogrammed
EPROM
_____ ____ ____ are used by high-speed memory transfer instructions. They are sometimes called the extended source index and extended destination index registers.
ESI and EDI
In addition to EAX, EBX, ECX, and EDX, what are the names of the other 32-bit general-purpose registers?
ESI, EDI, ESP, EBP
_______ addresses data on the stack (a system memory structure). It is rarely used for ordinary arithmetic or data transfer. It is often called the extended stack pointer register
ESP
T/ F The DIL register is 16 bits long.
False, 8 bits long
T/F The acronym PCI stands for peripheral component interface.
False, PCI stands for Peripheral Component Interconnect
T/F The RAX and EAX registers can both be used in 64-bit programs.
False, RAX for 64 and EAX for 32
T/ F x86-64 processors have a legacy mode that supports 16-bit processing, and you can use this mode in current versions of Microsoft Windows
False, There is a legacy mode that still supports 16-bit programming, but it is not available in 64-bit versions of Microsoft Windows.
T/F VRAM stands for virtual random access memory.
False, VRAM stands for Video RAM
What are the three basic steps in the instruction execution cycle?
Fetch instruction, decode the instruction, execute the instruction
___________________________: A high-level programming language such as C++ or Java contains functions to perform I/O. These functions are portable because they work on a variety of different computer systems and are not dependent on any one operating system. •
High-level language functions
The ___ _____ transfers data between the CPU and the system I/O devices.
I/O bus
Cache memory for the x86 family comes in two types. __________ is stored right on the CPU. _________ is a little bit slower, and attached to the CPU by a high-speed data bus. The two types of cache work together in an optimal way.
Level-1 cache (or primary cache), Level-2 cache (or secondary cache)
As the name implies, MMX instructions operate in parallel on the data values contained in MMX registers. Although they appear to be separate registers, the ______ register names are in fact aliases to the same registers used by the floating-point unit.
MMX
The eight 64-bit ___ registers support special instructions called SIMD (Single-Instruction, Multiple-Data).
MMX
______ _______: Programmers can call operating system functions from a library known as the operating system API (application programming interface). The operating system provides high level operations such as writing strings to files, reading strings from the keyboard, and allocating blocks of memory.
Operating system
The ___ -___ is set when the result of a signed arithmetic operation is too large or too small to fit into the destination
Overflow flag (OF)
The ____ _____ is set if the least-significant byte in the result contains an even number of 1 bits. Otherwise, PF is clear. In general, it is used for error checking when there is a possibility that data might be altered or corrupted.
Parity flag (PF)
__ ____ is the most robust and powerful, but it does restrict application programs from directly accessing system hardware
Protected mode
___ _____ is the native state of the processor, in which all instructions and features are available. Programs are given separate memory areas named segments, and the processor prevents programs from referencing memory outside their assigned segments.
Protected mode
______ is permanently burned into a chip and cannot be erased.
ROM
___________ _______ ___ implements the programming environment of an early Intel processor with a few extra features, such as the ability to switch into other modes. This mode is useful if a program requires direct access to system memory and hardware devices. Current versions of the Windows operating system do not support Real-Address mode.
Real-address mode
What are the x86 processor's three basic modes of operation?
Real-address mode, Protected mode, and Virtual-8086 mode
Why does memory access take more machine cycles than register access?
Registers use static RAM, but conventional memory uses slower dynamic RAM.
_______ is used primarily for expensive, high-speed cache memory. It does not have to be refreshed. CPU cache memory uses SRAM
SRAM
The __ ____ is set when an arithmetic or logical operation generates a negative result
Sign flag (SF)
Which of the following choices lists names of CPU status flags?
Sign, Zero, Carry, Overflow, Parity
___ ____ ____ provides its host operating system with a mechanism for implementing functions such as power management and system security. These functions are usually implemented by computer manufacturers who customize the processor for a particular system setup.
System management mode (SMM)
The ___ ___ window lets you view lists of Applications and Processes
Task Manager
T/F CMOS RAM loses its data when a computer is turned off.
True
T/F Current implementations of x86-64 processors have a 48-bit physical address space, which supports up to 256 terabytes of RAM.
True
T/F In 64-bit mode, the default operand size is 32 bits and there are eight general-purpose registers.
True
T/F SRAM is used in CPU cache memory because it is fast and does not need to be refreshed constantly.
True
T/F The ECX register often serves as a loop counter
True
T/F The EFLAGS and RFLAGS registers contain the same values in their lowest 32 bits
True
T/F VRAM (video ram) holds displayable video data. When CRT monitors are used, VRAM is dual ported, allowing one port to continuously refresh the display while another port writes data to the display.
True
The fetch memory operand(s) and increment data pointer steps are required in the instruction execution cycle when a memory operand is used.
True
A computer system usually contains four bus types: _________________________
data, input/output(I/O). control, and address.
conventional memory, known as ___ _____, must be refreshed constantly. It's much slower, but cheaper.
dynamic RAM
The ____ _____ _____ performs high-speed floating-point arithmetic
floating-point unit (FPU)
The ___ ____ ____are primarily used for arithmetic and data movement.
general-purpose registers
A single machine instruction does not just magically execute all at once. The CPU has to go through a predefined sequence of steps to execute a machine instruction, called the ____ _____ ______.
instruction execution cycle
The EIP, or ____ _____, register contains the address of the next instruction to be executed. Certain machine instructions manipulate EIP, causing the program to branch to a new location.
instruction pointer
Each operation involving the CPU and the system bus is synchronized by an internal clock pulsing at a constant rate. The basic unit of time for machine instructions is a ___________________________
machine cycle (or clock cycle).
The ___ ____ ____ is where instructions and data are held while a computer program is running.
memory storage unit
The heart of a microcomputer is its ________, a flat circuit board onto which are placed the computer's ~PU, supporting processors (chipset), main memory, I/0 connectors, power supply connectors, and expansionn slots. The various components are connected to each other by a bus, a set of wires etched directly on the motherboard
motherboard
The OS begins execution of the program's first machine instruction(its entry point). As soon as the program begins running, it is called a _____
process
Before a program can run, it must be loaded into memory by a utility known as a ___ _____
program loader
After loading, the operating system must point the CPU to the ___ ____ ___, which is the address at which the program is to begin execution.
program's entry point
In ___ ____, the processor can run multiple programs at the same time. It assigns each process (running program) a total of 4 GByte of memory. Each program can be assigned its own reserved memory area, and programs are prevented from accidenta11y accessing each other's code and data. MS-Windows and Linux run in protected mode.
protected mode
x86 processors have three primary modes of operation: ______________________
protected mode, real-address mode, and system management mode.
The storage unit receives requests for data from the CPU, transfers data from ____ _____ _____to the CPU ,and transfers data from the CPU into memory. All processing of data takes place within the CPU, so programs residing in memory must be copied into the CPU before they can execute. Individual program instructions can be copied into the CPU one at a time, or groups of instructions can be copied together.
random access memory (RAM)
In___ ____ ____, only 1 MByte of memory can be addressed, from hexadecimal 00000 to FFFFF. The processor can run only one program at a time, but it can momentarily interrupt that program to process requests (called interrupts) from peripherals
real-address mode
A ---- is a are high-speed storage location directly inside the CPU, designed to be accessed at much higher speed than conventional memory
register
In x86 protected mode, ____ _______ hold pointers to segment descriptor tables. Some segments hold program instructions (code), others hold variables (data), and another segment named the stack segment holds local function variables and function parameters.
segment registers
There's a reason why cache memory is faster than conventional RAM—it's because cache memory is constructed from a special type of memory chip called ___ ____. It's expensive, but it does not have to be constantly refreshed in order to keep its contents.
static RAM
The ___ ____ reflect the outcomes of arithmetic and logical operations perfomed by the CPU. They are the Overflow, Sign, Zero, Auxiliary Carry, Parity, and Carry flags
status flags
In ____ _____, the computer runs in protected mode and creates a virtual-8086 machine with its own 1-MByte address space that simulates an 80x86 computer running in real-address mode.
virtual-8086 mode
T/F The EIP, or instruction pointer register contains the address of the last instruction executed.
True
______ computer chips, holding system software
BIOS (basic input-output system)
Instruction Execution Cycle
Fetch, Decode, and Execute. An operand
_______holds video data. It is dual ported, allowing one port to continuously refresh the display while another port writes data to the display.
VRAM
The x86 architecture also contains eight 128-bit registers called ____ registers. They are used by streaming SIMD extensions to the instruction set
XMM
The ________ _____ is set when an arithmetic or logical operation generates a result of zero.
Zero flag (ZF)
The ____ _____ holds the addresses of instructions and data when the currently executing instruction transfers data between the CPU and memory.
address bus
Of the four levels of input/output in a computer system, which is the most universal and portable?
application program level
The ____ _____ _____ performs arithmetic operations such as addition and subtraction and logical operations such as AND, OR, and NOT.
arithmetic logic unit (ALU)
Below, we list four required actions (a, b, c, d) by the CPU when it reads data values. Select the answer roption that places the four actions in correct order, a. Wait one clock cycle for the memory chips to respond. b. Place the operand's address on the address bus. c. Copy the data from the data bus into the destination operand. d. Assert the value of the processor's RD pin.
b, d, a, c
A ____ is a parallel transfer path that moves data from one part of a computer to another.
bus
a clever way to reduce the amount of time spent reading and writing memory—they store the most recently used instructions and data in high-speed memory called ____.
cache
The ____ _____ ______, where calculations and logical operations take place, contains a limited number of storage locations named _______, a high-frequency clock, a control unit, and an arithmetic logic unit.
central processor unit (CPU), registers
The _____ synchronizes the internal operations of the CPU with other system components.
clock
_____ ______, a measurement of time based on a clock that ticks inside the processor at a regular rate. Computer CPUs are often described in terms of their clock speeds. A speed of /.2 GHz, for example, means the clock ticks, or oscillates, 1.2 billion times per second.
clock cycle
The ___ ____ uses binary signals to synchronize actions of all devices attached to the system bus.
control bus
The ___ _____coordinates the sequencing of steps involved in executing machine instructions.
control unit (CU)
The ____ ____ transfers instructions and data between the CPU and memory.
data bus
While in protected mode, the processor can safely execute real-address mode software such as MS-DOS programs in a sandbox-like environment named ___ _____ ___. In other words, if a program crashes or attempts to write data into the system memory area, it will not affect other programs running at the same time. A modern operating system can execute multiple separate virtual-8086 sessions at the same time.
virtual-8086 mode
A machine instruction requires at least one clock cycle to execute, and a few require in excess of 50 clocks. Instructions requiring memory access often have empty clock cycles called __ ___because of the differences in the speeds of the CPU, the system bus, and memory circuits.
wait states