Lecture 1 - GUC - Faculty of Information Engineering & Technology

advertisement
ELECT 707
Micro-Computer Applications:
Number system & 8086 Organization
Dr. Eng. Amr T. Abdel-Hamid
Fall 2011
The Microprocessor Age
Micro-Computer Applications
 World’s first microprocessor the Intel 4004.
 A 4-bit microprocessor-programmable controller o
n a chip.
 Addressed 4096, 4-bit-wide memory locations.
 a bit is a binary digit with a value of one or zer
o
 4-bit-wide memory location often called a nibbl
e
 The 4004 instruction set contained 45 instructions.
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
Dr. Amr Talaat
 Main problems with early microprocessor were spe
ed, word width, and memory size.
 Evolution of 4-bit microprocessor ended when Intel
released the 4040, an updated 4004.
 operated at a higher speed; lacked improvement
s in word width and memory size
 Texas Instruments and others also produced 4-bit
microprocessors.
 still survives in low-end applications such as mic
rowave ovens and small control systems
 Calculators still based on 4-bit BCD (binary-cod
ed decimal) codes
ELECT 707
Micro-Computer Applications
 Intel released 8008 in 1971.
 extended 8-bit version of 4004 microprocessor
 Addressed expanded memory of 16K bytes.
 A byte is generally an 8-bit-wide binary number
and a K is 1024.
 memory size often specified in K bytes
 Contained additional instructions, 48 total.
 Provided opportunity for application in more advanc
ed systems.
 engineers developed demanding uses for 8008
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
 Intel introduced 8080 microprocessor in 1973.
 first of the modern 8-bit microprocessors
 Motorola Corporation introduced MC6800 micropr
ocessor about six months later.
 8080—and, to a lesser degree, the MC6800—ushe
red in the age of the microprocessor.
 other companies soon introduced their own ver
sions of the 8-bit microprocessor
Dr. Amr Talaat
ELECT 707
 Only Intel and Motorola continue to create new, i
mproved microprocessors.
Micro-Computer Applications
 IBM also produces Motorola-style microprocesso
rs
 Motorola sold its microprocessor division.
 now called Freescale Semiconductors, Inc.
 Zilog still manufactures microprocessors.
 microcontrollers and embedded controllers inste
ad of general-purpose microprocessors
Dr. Amr Talaat
ELECT 707
The Modern Microprocessor
Micro-Computer Applications
Dr. Amr Talaat
 In 1978 Intel released the 8086; a year or so later,
it released the 8088.
 Both devices are 16-bit microprocessors.
 executed instructions in as little as 400 ns (2.5
millions of instructions per second)
 major improvement over execution speed of 80
85
 8086 & 8088 addressed 1M byte of memory.
 16 times more memory than the 8085
 1M-byte memory contains 1024K byte-sized m
emory locations or 1,048,576 bytes
ELECT 707
Micro-Computer Applications
 Increased memory size and additional instructions
in 8086/8088 led to many sophisticated application
s.
 Improvements to the instruction set included multi
ply and divide instructions.
 missing on earlier microprocessors
 Number of instructions increased.
 from 45 on the 4004, to 246 on the 8085
 over 20,000 variations on the 8086 & 8088
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
 These microprocessors are called CISC (complex i
nstruction set computers).
 additional instructions eased task of developing
efficient and sophisticated applications
 16-bit microprocessor also provided more internal
register storage space.
 Popularity of Intel ensured in 1981 when IBM
chose the 8088 in its personal computer.
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
THE MICROPROCESSOR-BASED
PERSONAL COMPUTER SYSTEM
 Computers have undergone many changes recently.
 Machines that once filled large areas reduced to
small desktop computer systems because
of the microprocessor.
 although compact, they possess computing
power only dreamed of a few years ago
Dr. Amr Talaat
ELECT 707
The block diagram of a microprocessor-based computer system.
Micro-Computer Applications
Dr. Amr Talaat
a bus is the set of common connections that carry
the same type of information
ELECT 707
The Microprocessor
Micro-Computer Applications
 Called the CPU (central processing unit).
 The controlling element in a computer system.
 Controls memory and I/O through connections call
ed buses.
 buses select an I/O or memory device, transfer
data between I/O devices or memory and the m
icroprocessor, control I/O and memory systems
 Memory and I/O controlled via instructions stored i
n memory, executed by the microprocessor.
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
 Microprocessor performs three main tasks:
 data transfer between itself and the memory or
I/O systems
 simple arithmetic and logic operations
 program flow via simple decisions
 Power of the microprocessor is capability to execut
e billions of millions of instructions per secon
d from a program or software (group of instru
ctions) stored in the memory system.
 stored programs make the microprocessor and c
omputer system very powerful devices
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
 Another powerful feature is the ability to make
simple decisions based upon numerical facts.
 a microprocessor can decide if a number is
zero, positive, and so forth
 These decisions allow the microprocessor to modif
y the program flow, so programs appear to think
through these simple decisions.
Dr. Amr Talaat
ELECT 707
Buses
Micro-Computer Applications
 A common group of wires that interconnect compon
ents in a computer system.
 Transfer address, data, & control information betwe
en microprocessor, memory and I/O.
 Three buses exist for this transfer of information: a
ddress, data, and control.
 Figure 1–12 shows how these buses interconnect v
arious system components.
Dr. Amr Talaat
ELECT 707
Figure 1–12 The block diagram of a computer system showing the address, data, an
d control bus structure.
Micro-Computer Applications
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
 The address bus requests a memory location from
the memory or an I/O location from the I/O device
s.
 if I/O is addressed, the address bus contains a 1
6-bit I/O address from 0000H through FFFFH.
 if memory is addressed, the bus contains a mem
ory address, varying in width by type of
microprocessor.
 64-bit extensions to Pentium provide 40 address pi
ns, allowing up to 1T byte of memory to be access
ed.
Dr. Amr Talaat
ELECT 707
Micro-Computer Applications
Dr. Amr Talaat
 The data bus transfers information between the mi
croprocessor and its memory and I/O address spac
e.
 Data transfers vary in size, from 8 bits wide to 64
bits wide in various Intel microprocessors.
 8088 has an 8-bit data bus that transfers 8 bits
of data at a time
 8086, 80286, 80386SL, 80386SX, and 80386EX
transfer 16 bits of data
 80386DX, 80486SX, and 80486DX, 32 bits
 Pentium through Core2 microprocessors transfer
64 bits of data
ELECT 707
Organization of 8088
Address bus (20 bits)
Micro-Computer Applications
AH
AL
BH
BL
CH
CL
Execution Unit
DH
SP
(EU)
General purpose
register
DL
Segment
register
BP
SI
DI
CS
Data bus
(16 bits)
DS
SS
ALU Data bus
(16 bits)
Dr. Amr Talaat
ALU
Flag register

ES
IP
Instruction Queue
Bus
control
External bus
EU
control
Bus Interface Unit (BIU)
ELECT 707
Micro-Computer Applications
General Purpose Registers
15
Data Group
8 7
AX
AH
AL
Accumulator
BX
BH
BL
Base
CX
CH
CL
Counter
DX
DH
DL
Data
SP
Dr. Amr Talaat
Pointer and
Index Group
0
BP
Stack Pointer
Base Pointer
SI
Source Index
DI
Destination Index
ELECT 707
Micro-Computer Applications
Arithmetic Logic Unit (ALU)
A
B
n bits
F
n bits
0 0 0
A+B
0 0 1 A -B
0 1 0 A -1
Carry
Y= 0 ?
Y
F
A>B?
1 0 0
1 0
Y
and B
A or B
not A
0 1 1 A
1
  
  
Dr. Amr Talaat
 Signal F control which function will be conducted by ALU.
 Signal F is generated according to the current instruction.
 Basic arithmetic operations: addition, subtraction, 
 Basic logic operations: and, or, xor, shifting,
Microprocessors
ELECT 707
3-21
Micro-Computer Applications
Flag Register
 Flag register contains information reflecting the current status of a
microprocessor. It also contains information which controls the
operation of the microprocessor.
15



 Control Flags
Dr. Amr Talaat
IF:
DF:
TF:
OF DF IF TF SFZF  AF  PF 
0
CF
 Status Flags
CF:
Interrupt enable flag
PF:
Direction flag
AF:
Trap flag
ZF:
SF:
OF:
Carry flag
Parity flag
Auxiliary carry flag
Zero flag
Sign flag
Overflow flag
ELECT 707
Instruction Machine Codes
 Instruction machine codes are binary numbers
Micro-Computer Applications
 For Example:
1000100011000011
MOV
MOV AL, BL
Register
mode
 Machine code structure
Opcode
Mode
Operand1 Operand2
 Some instructions do not have operands, or have only one operand
 Opcode tells what operation is to be performed.
EU control logic generates ALU control signals accord
Dr. Amr Talaat
ing to Opcode)


Mode indicates the type of a instruction: Register type, or Memory type
Operands tell what data should be used in the operation. Operands can
be addresses telling where to get data (or where to store results)
ELECT 707
Micro-Computer Applications
EU Operation
1. Fetch an instruction from instruction
queue
2. According to the instruction, EU control
logic generates control signals.
(This
process is also referred to as instruction
decoding)
3. Depending on the control signal,
EU performs one of the following
operations:
Dr. Amr Talaat





An arithmetic operation
A logic operation
Storing a datum into a register
Moving a datum from a register
Changing flag register
ELECT 707
Registers
Micro-Computer Applications
 A register is a storage element inside a m
icroprocessor.
 Almost all operations would involve using
registers.
 Some registers are general purpose regis
ters, while others have special purposes.
Dr. Amr Talaat
 General purpose registers can hold various da
ta sizes and used for almost any purpose as d
ictated by the program.
 However, each general purpose register does
have its own special purposes.
ELECT 707
Registers
Micro-Computer Applications
Dr. Amr Talaat
ELECT 707
Registers
Micro-Computer Applications
Dr. Amr Talaat
Since the x86 instr
uction set is design
ed to be compatible
with previous micro
processors, the sam
e register can be ac
cessed using differe
nt names.
Different names are
given for 64-bit, 32
-bit, 16-bit and 8-b
it version of the sam
e register.

ELECT 707
General Purpose Registers
Micro-Computer Applications
 RAX, EAX, AX (AH & AL)
 A general purpose register
 Also an accumulator – stores intermediate res
ults after arithmetic and logic operations
 Can also hold the offset address of a location
in memory (80386 and above)
 RBX, EBX, BX (BH & BL)
Dr. Amr Talaat
 A general purpose register
 Also a base index register – holds the offset a
ddress of a location in memory
 Can also address memory data (80386 and a
bove)
ELECT 707
General Purpose Registers
Micro-Computer Applications
 RCX, ECX, CX (CH & CL)
 A general purpose register
 Also a count register – holds the count for var
ious instructions
 Can also hold the offset address of a location
in memory (80386 and above)
 RDX, EDX, DX (DH & DL)
Dr. Amr Talaat
 A general purpose register
 Also a data register – stores data related to a
ccumulator’s calculation (multiply and divide)
 Can also address memory data (80386 and a
bove)
ELECT 707
General Purpose Registers
Micro-Computer Applications
 RBP, EBP, BP
 A general purpose register
 Also a base pointer register – points to a me
mory location for memory data transfer
 RDI, EDI, DI
 A general purpose register
 Also a destination index register – holds the
memory address for the destination data of a
string instruction
Dr. Amr Talaat
ELECT 707
General Purpose Registers
Micro-Computer Applications
 RSI, ESI, SI
 A general purpose register
 Also a source index register - holds the memo
ry address for the source data of a string instr
uction
 R8 through R15
Dr. Amr Talaat
 General purpose registers
 Found only in 64-bit microprocessors
 Data are addressed in 64-, 32-, 16-, or 8-bit
sizes
ELECT 707
Special Purpose Registers
Micro-Computer Applications
 RIP, EIP, IP
 Instruction pointer – points to the next instru
ction in the memory to be executed
 RSP, ESP, SP
 Stack pointer – points to an area in memory c
alled the stack
 RFLAGS, EFLAGS, FLAGS
Dr. Amr Talaat
 Indicates the condition of the microprocessor
and control its operation
ELECT 707
Flags
Micro-Computer Applications
Dr. Amr Talaat
ELECT 707
Flags
Micro-Computer Applications
 The C, P, A, Z, S and O flags are changed by mo
st arithmetic and logic operations.
 Flags never change for any data transfer or prog
ram control operations.
 Some flags are also used to control features fou
nd in the microprocessor.
Dr. Amr Talaat
ELECT 707
Flags
Micro-Computer Applications
 Descriptions for some of the flag bits:
 C (carry): holds the carry after addition or bo
rrow after subtraction.
 P (parity): the count of 1s in a number expres
sed as even or odd.
 0 for odd, 1 for even.
 A (auxiliary carry): holds the half-carry after
addition or the borrow after subtraction betw
een bit positions 3 and 4 of the result.
Dr. Amr Talaat
ELECT 707
Flags
Micro-Computer Applications
 Z (zero): shows that the result of an arithmet
ic or logic operation is zero.
 0 result is not zero, 1 result is zero.
 S (sign): holds the arithmetic sign of the resu
lt after an arithmetic or logic instruction exec
utes.
 0 for positive, 1 for negative.
 T (trap): enables trapping through an on-chip
debugging feature.
Dr. Amr Talaat
 0 disable trapping, 1 enable trapping.
 If enabled, allows the microprocessor to interrupt th
e flow of the program on conditions indicated by the
debug registers and control registers.
 Microsoft Visual Studio debugging tool uses this feat
ure.
ELECT 707
Flags
Micro-Computer Applications
 I (interrupt): control the operation of the
INTR (interrupt request) input pin.
 0 disables INTR pin, 1 enables INTR pin.
 D (direction): selects increment or decre
ment mode for SI/DI registers.
 0 increment, 1 decrement.
Dr. Amr Talaat
 O (overflow): indicates that the result of
an addition/subtraction of signed number
s exceeded the capacity of the machine.
ELECT 707
Download