Introducción - Digital III - Universidad Nacional de Rosario

Anuncio
Digital III
Módulo 1: Presentación del curso e introducción al diseño de
sistemas de microcómputo.
Escuela de Ingenierı́a Electrónica
Facultad de Ciencias Exactas Ingenierı́a y Agrimensura
Universidad Nacional de Rosario
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunas caracterı́sticas de la
asignatura
Es absolutamente necesaria la correlatividad con Informática II
y Digital II.
Clases:
• Asistir !! (no hay libros de todos los temas)
• La mayoría de las clases no son expositivas
• Lunes de 20:30 a 23 y miércoles de 19:30 a 23:00
• Las actividades son grupales
• Es importante "llevar la materia al día"
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunas caracterı́sticas de la
asignatura
Se encuentra organizada en cuatro módulos temáticos
• Arquitectura de sistemas de microcómputo
• Interrupciones e interfaces de Entrada/Salida
• Software en sistemas dedicados
• Autómatas en VHDL
El cursado se compone de ciclos de afianzamiento teórico, realización de trabajos prácticos y la resolución de problemas de
ingenierı́a. Estas últimas actividades tienen un carácter integrador, ya que completan o perfeccionan la actividad del módulo anterior.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Evaluación
Se presentará un informe la clase siguiente a la última clase de
resolución de cada trabajo práctico o problema de ingenierı́a.
Dos exámenes parciales teórico prácticos. Cada uno evalúa los
conocimientos y habilidades adquiridas durante el desarrollo de
dos módulos.
Examen Final
• Promovido: Examen teórico de los contenidos no evaluados
en parciales.
• CI: Examen teórico práctico escrito integrador de todos los
contenidos del año.
• Libre: Rinde el mismo examen de CI. Luego, será evaluado
sobre los PI o TP desarrollados el último año de cursado.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Bibliografı́a
Los microprocesadores INTEL Barry B. Bray - ISBN: 968-880481-9
Introducción al microprocesador 8086/8088 C. Morgan - ISBN:
968-451-628-2
Página de la asignatura: www.eie.fceia.unr.edu.ar/digital3
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Modulo 1: Introducción a los sistemas
de microcómputo
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Modulo 1: Introducción a los sistemas
de microcómputo
Estudiaremos sistemas embebidos que no poseen sistema
operativo.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Modulo 1: Introducción a los sistemas
de microcómputo
Estudiaremos sistemas embebidos que no poseen sistema
operativo.
Estos sistemas embebidos
microprocesadores.
serán
implementados
con
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Modulo 1: Introducción a los sistemas
de microcómputo
Estudiaremos sistemas embebidos que no poseen sistema
operativo.
Estos sistemas embebidos
microprocesadores.
serán
implementados
con
El microprocesador elegido es el 8086
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El módulo 1 incluye:
Un breve repaso acerca de microprocesadores
El procesador 8086
• Terminales y sus funciones
• Modelo de ejecución
• Modelo de memoria
• Modos de direccionamiento
• Conexión fı́sica de la memoria
• Temporización de los buses
• Circuito para funcionamiento en modo mı́nimo
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Arquitectura de Von Neumann
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Arquitectura de Von Neumann
El modelo de ejecución es muy simple:
Buscar en la memoria la primera instrucción.
Ejecutarla en la unidad aritmético-lógica.
Buscar en la memoria la siguiente instrucción ...
Continuar ası́ hasta encontrar una instrucción de finalización
del programa o una instrucción de salto
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
A simple view of the instruction cycle:
Modelo de ejecución
Fetch
instruction
Execute
instruction
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
n
The Instruction Cycle (cont’d)
con
ás cycle:
de detalle...
A refinedalgo
view of them
instruction
Fetch
instruction
Decode
Fetch
operand
Execute
instruction
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Microprocesador
Es un concepto tecnológico.
Nace cuando se incluye la unidad de control, la ALU y algunos
registros dentro de un único circuito integrado.
Recientemente aparece el concepto de microcontrolador,
donde también la memoria se integra dentro del mismo chip.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
System Bus
Main
Memory
CPU
Microprocesador
System Bus
Address Bus
Control
Unit
IR
PC
Data Bus
ALU
Control Bus
Registers
CPU
Internal
CPU Bus
La unidad de control es la encargada de hacer ejecutar las
instrucciones
Petru Eles, IDA, LiTH
Petru Eles, IDA,
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Datorarkitektur
Fö 1 - 23
Datorarkit
Unidad de control
The Control Unit (cont’d)
Genera la secuencia de señales de control que permiten realizar
las distintas operaciones elementales de cada instrucción
Status&Cond.
Flags
IR
Control signals internal to the CPU
Control
unit
Control signals
on system bus
Signals from
system bus
Clock
•
•
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Unidad aritmético-lógica
A+B
A
Registers
B
A
B
ALU input register
ALU input bus
ALU
A+B
ALU output register
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
Fig. 2-2. The data path of a typical von Neumann machine.
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Microprocesador actual
Addressing
Data
Bus control
Bus arbitration
Coprocessor
Typical
MicroProcessor
Status
Interrupts
Symbol
for clock
signal
Miscellaneous
Φ +5v
Symbol for
electrical ground
Power is 5volts
Figure 3-33. The logical pinout of a generic CPU. The arrows
indicate input signals and output signals. The short diagonal
lines indicate that multiple pins are used. For a specific CPU, a
number- Slides
will bedel
given
to tell
how many.
Curso 2010 de Digital III, FCEyA
Módulo
1 correspondientes
a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Es un microprocesador de 16 bits.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Es un microprocesador de 16 bits.
El bus de datos es de 16 bits.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Es un microprocesador de 16 bits.
El bus de datos es de 16 bits.
El bus de direcciones es de 20 bits, capaz de direccionar
1MByte de memoria.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Es un microprocesador de 16 bits.
El bus de datos es de 16 bits.
El bus de direcciones es de 20 bits, capaz de direccionar
1MByte de memoria.
Los espacios de direcciones para memoria y E/S son distintos
y accesibles con instrucciones diferentes.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
Responde a la arquitectura de Von Neumann y su modelo de
ejecución es reg-reg y reg-mem.
Los registros internos visibles al programador son de uso especı́fico.
Es un microprocesador de 16 bits.
El bus de datos es de 16 bits.
El bus de direcciones es de 20 bits, capaz de direccionar
1MByte de memoria.
Los espacios de direcciones para memoria y E/S son distintos
y accesibles con instrucciones diferentes.
La era de la computadoras personales comenzó con el 8086 e
inició la familia x86.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El procesador 8086
80C86
Pinouts
80C86 (DIP)
TOP VIEW
GND
1
MAX
40 VCC
(MIN)
AD14
2
39 AD15
AD13
3
38 A16/S3
AD12
4
37 A17/S4
AD11
5
36 A18/S5
AD10
6
35 A19/S6
AD9
7
34 BHE/S7
AD8
8
33 MN/MX
AD7
9
32 RD
AD6
10
31 RQ/GT0
(HOLD)
AD5
11
30 RQ/GT1
(HLDA)
AD4
12
29 LOCK
(WR)
AD3
13
28 S2
(M/IO)
AD2
14
27 S1
(DT/R))
AD1
15
26 S0
(DEN)
AD0
16
25 QS0
(ALE)
NMI
17
24 QS1
(INTA)
INTR
18
23 TEST
CLK
19
22 READY
GND
20
21 RESET
80C86 (PLCC, CLCC)
TOP VIEW
17/S4
18/S5
D15
16/S3
NC
VCC
D14
GND
D13
D12
D11
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
will not be honored until the end of the
the second bus cycle, a byte is supplied
82C59A Interrupt Controller, which idene) of the interrupt. This byte is multiplied
a pointer into the interrupt vector lookup
l left HIGH will be continually responded
ns of the enable bit and sample period.
ETURN instruction includes a FLAGS
he status of the original interrupt enable
he FLAGS.
executing a WAIT instruction. The single WAIT instruction is
repeatedly executed until the TEST input goes active (LOW).
The execution of WAIT does not consume bus cycles once
the queue is full.
If a local bus request occurs during WAIT execution, the
80C86 three-states all output drivers while inputs and I/O
pins are held at valid logic levels by internal bus-hold circuits.
If interrupts are enabled, the 80C86 will recognize interrupts
and process them when it regains control of the bus. The
WAIT instruction is then refetched, and re-executed.
Registros visibles al programador
T3
T4
TI
T1
T2
T3
TABLE 4. 80C86 REGISTER
T4
AX
AH
AL
ACCUMULATOR
BX
BH
BL
BASE
CX
CH
CL
COUNT
DX
DH
DL
DATA
TYPE
VECTOR
RRUPT ACKNOWLEDGE SEQUENCE
SP
STACK POINTER
BP
BASE POINTER
SI
SOURCE INDEX
DI
DESTINATION INDEX
INSTRUCTION POINTER
IP
FLAGSH
FLAGSL
STATUS FLAG
ALT” instruction is executed the process entering the “HALT” state in one of two
CODE SEGMENT
CS
on which mode is strapped. In minimum
r issues one ALE with no qualifying bus
DS
DATA SEGMENT
maximum mode the processor issues
SS
STACK SEGMENT
atus on S2, S1, S0 and the 82C88 bus
ES
EXTRA SEGMENT
e ALE. The 80C86 will not leave the
a local bus “hold” is entered while in
, the processor reissues the HALT indi- Basic System Timing
the local bus hold. An NMI or interrupt
upts enabled) or RESET will force the Typical system configurations for the processor operating in
minimum mode and in maximum mode are shown in Figures
ALT” state.
6A- and
6B,del
respectively.
In minimum mode,
MN/MX
Curso 2010 de Digital III, FCEyA
Slides
Módulo 1 correspondientes
a lathe
clase
del depin
8 de marzo- Santiago Roatta
is strapped to VCC and the processor emits bus control sig-
Write (Semaphore)
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Registros extendidos
D-4
Appendix D An Alternative to RISC: The Intel 80x86
■
80 x386, 80x486, Pentium
80 x86, 80 x286
31
15
8 7
0
GPR 0
EAX
AX
AH
AL
Accumulator
GPR 1
ECX
CX
CH
CL
Count reg: string, loop
GPR 2
EDX
DX
DH
DL
Data reg: multiply, divide
GPR 3
EBX
BX
BH
BL
GPR 4
ESP
SP
Stack ptr.
Base ptr. (for base of stack seg.)
Base addr. reg
GPR 5
EBP
BP
GPR 6
ESI
SI
Index reg, string source ptr.
GPR 7
EDI
DI
Index reg, string dest. ptr.
PC
CS
Code segment ptr.
SS
Stack segment ptr. (top of stack)
DS
Data segment ptr.
ES
Extra data segment ptr.
FS
Data segment ptr. 2
GS
Data segment ptr. 3
IP
Instruction ptr. (PC)
EIP
EFLAGS
FLAGS
Condition codes
79
0
FPR 0
FPR 1
FPR 2
FPR 3
FPR 4
FPR 5
FPR 6
FPR 7
15
Status
0
Top of FP stack,
FP condition codes
Figure D.1 The 80x86 has evolved over time, and so has its register set. The original set is shown in black, and the
extended set in gray. The 8086 divided the first four registers in half so that they could be used either as one 16-bit
register or as two 8-bit registers. Starting with the 80386, the top eight registers were extended to 32 bits and could
also be used as general-purpose registers. The floating-point registers on the bottom are 80 bits wide, and although
they look like regular registers they are not. They implement a stack, with the top of stack pointed to by the status
register. One operand must be the top of stack, and the other can be any of the other seven registers below the top
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ejemplo de circuito con 8086
Bus Latching and Buffering
8086 HARDWARE
OUT
In
M/IO
M/IO
RD
WR
’244
RD
WR
OE
OUT
D ’373 Q
In
BHE/S7
A19 /S6 -A16 /S3
4
8
AD15 -AD8
BHE
A19 -A16
4
G
OE
OUT
D ’373 Q
In
G
8
A15 -A8
OE
OUT
D ’373 Q
In
8
AD7 -AD0
G
8
A7 -A0
OE
ALE
OUT
D ’245 Q
In
8086
G
8
D15 -D8
DIR
OUT
D ’245 Q
In
G
8
D7 -D0
DIR
DEN
DT/R
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•Prev •Next
•Last
Figure 8: A fully•First
buffered
8086
•Go Back •Full Screen •Close •Quit
¿Cómo se accede a la memoria?
Real mode
(8086)
(80286)
Logical address
Logical address
Segment
Offset
16
12
Segment
4
Offs
16
16
24
20
Physical address
Segmentation
24
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
Physical address
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
ption
80C86
¿Cómo se accede a la memoria?
code, data, extra and stack segments of up to 64K bytes
each, with each segment falling on 16-byte boundaries. (See
Figure 1).
static design. Internal registers,
static and require no refresh as
gn. This eliminates the minimum
tion placed on other microprocesan operate from DC to the specit. The processor clock may be
IGH/LOW) and held there indefion is especially useful for system
lications.
tepped using only the CPU clock.
ed as long as is necessary. Single
s simple interface circuitry to probringing up your system.
s very low frequency operation
critical situation, this can provide
ation since 80C86 power dissipaperating frequency. As the system
is the operating power until, ultiuency, the 80C86 power requiret, (500µA maximum).
FFFFFH
64K-BIT
CODE SEGMENT
XXXXOH
STACK SEGMENT
+ OFFSET
SEGMENT
REGISTER FILE
CS
DATA SEGMENT
SS
DS
ES
EXTRA SEGMENT
00000H
FIGURE 1. 80C86 MEMORY ORGANIZATION
the 80C86 processor are partiocessing units.
The first is the Bus
TABLE 1.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes
a la clase del de 8 de marzo- Santiago Roatta
he second is the Execution Unit
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
TYPE OF
DEFAULT
ALTERNATE
ng up your system.
CS
low frequency operation
l situation, this can provide
ince 80C86 power dissipag frequency. As the system
operating power until, ultithe 80C86 power requireµA maximum).
SS
DS
ES
EXTRA SEGMENT
00000H
¿Cómo se accede a la memoria?
0C86 processor are parting units. The first is the Bus
cond is the Execution Unit
onal diagram.
but for the most part perform
ational processors. The bus
tions related to instruction
etch and store, and address
s the basic bus control. The
provided by this unit serves
nce through improved bus
es of the instruction stream
ecoding and execution.
FIGURE 1. 80C86 MEMORY ORGANIZATION
TABLE 1.
TYPE OF
MEMORY
REFERENCE
DEFAULT
SEGMENT
BASE
ALTERNATE
SEGMENT
BASE
Instruction Fetch
CS
None
IP
Stack Operation
SS
None
SP
Variable (except
following)
DS
CS, ES, SS
Effective
Address
String Source
DS
CS, ES, SS
SI
String Destination
ES
None
DI
OFFSET
mechanism allows the BIU
BP Used As Base
SS
CS, DS, ES
Effective
Register
Address
efficiently. Whenever there
queue, the BlU will attempt
greatly reduces “dead-time” All memory references are made relative to base addresses
acts as a First-In-First-Out contained in high speed segment registers. The segment
U extracts instruction bytes types were chosen based on the addressing needs of proempty (following a branch grams. The segment register to be selected is automatically
byte into the queue imme- chosen according to the specific rules of Table 1. All information in one segment type share the same logical attributes
EU.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
(e.g. code or data). By structuring memory into re-locatable
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
etched instructions from the
Modos de direccionamiento
Un modo de direccionamiento es un procedimiento que permite
determinar la ubicación de los operandos de una instrucción.
Algunos modos de direccionamiento permiten escribir código
reubicable y reentrante, y lograr un manejo eficiente de estructuras de datos.
Una clasificación general incluye direccionamientos inmediato,
directo, indirecto y relativo.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX]
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
MOV [4220h],0
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
MOV [4220h],0 ¿Un byte o una palabra?.
MOV BYTE PTR [4220h],0
MOV WORD PTR [4220h],0
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
MOV [4220h],0 ¿Un byte o una palabra?.
MOV BYTE PTR [4220h],0
MOV WORD PTR [4220h],0
MOV DH,[SI+2]
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
MOV [4220h],0 ¿Un byte o una palabra?.
MOV BYTE PTR [4220h],0
MOV WORD PTR [4220h],0
MOV DH,[SI+2]
MOV [BX+SI-2],CX
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Algunos ejemplos
MOV AX,0
MOV AX,[0]
MOV AX,[BX]
MOV AX,[DX] muy mal, no existe !!!
MOV [4220h],0 ¿Un byte o una palabra?.
MOV BYTE PTR [4220h],0
MOV WORD PTR [4220h],0
MOV DH,[SI+2]
MOV [BX+SI-2],CX
MOV ES:[DI],AL
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Modos de direccionamiento del 8086
Direccionamiento por registro: MOV CX,DX
Direccionamiento inmediato: MOV AL,22H
Direccionamiento directo: MOV CX,LIST
Direccionamiento indirecto por registro: MOV AX,[BX]
Direccionamiento base e ı́ndice: MOV[BX+DI],CL
Direccionamiento relativo por registro: MOV AX,[BX+4]
Direccionamiento relativo base más ı́ndice: MOV AX,[BX+DI+4]
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
¿Qué significa mapear un dispositivo?
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
¿Qué significa mapear un dispositivo?
El mapeo de un dispositivo de memoria o E/S consiste en asignarle un rango de direcciones dentro del mapa de memoria o
Entrada/Salida donde se pueda acceder a sus registros internos.
La arquitectura Intel posee mapas de memoria y E/S separados
El Mapa de Memoria es el vı́nculo entre el software y el hardware.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
La memoria fı́sica del procesador
8086
Está organizada en dos bancos para permitir la transferencia
de 8 bits o 16 bits.
El banco alto o impar corresponde a las direcciones terminadas
en uno, y el banco bajo o par a las terminadas en cero.
Para seleccionar uno o ambos bancos se emplean la señal
BHO y el bit de dirección A0.
Es necesario producir señales de escritura separada para cada
banco de memoria.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
RAM HM62256 (32K x 8)
Direcciones (A0 a A14).
Datos (D0 a D7).
CS, OE, WR, Vcc..
Es necesario compatibilizar los requerimientos de temporización del procesador y de la memoria.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
RAM HM62256 (32K x 8)
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Circuito (modo mı́nimo)
80C86
VCC
VCC
MN/MX
M/IO
INTA
82C8A/85
CLOCK
GENERATOR
CLK
READY
RES
RD
WR
RESET
RDY
DT/R
DEN
GND
WAIT
STATE
GENERATOR
ALE
80C86
CPU
GND
1
VCC
C1
20
STB
GND
AD0-AD15
A16-A19
GND
OE
ADDR
ADDR/DATA
82C82
LATCH
2 OR 3
BHE
C2
40
C1 = C2 = 0.1µF
VCC
T
OE
82C86
TRANSCEIVER
(2)
DATA
A0
BHE
OPTIONAL
FOR INCREASED
DATA BUS DRIVE
EH
EL
W G
HM-6516
CMOS RAM
2K x 8
2K x 8
E
G
HM-6616
CMOS PROM (2)
2K x 8 2K x 8
CS
RD WR
CMOS
82CXX
PERIPHERALS
FIGURE 6A. MINIMUM MODE 80C86 TYPICAL CONFIGURATION
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
VCC
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
OE
82C86
TRANSCEIVER
(2)
C1 = C2 = 0.1µF
DATA
A0
BHE
OPTIONAL
FOR INCREASED
DATA BUS DRIVE
EH
EL
W G
HM-6516
CMOS RAM
2K x 8
2K x 8
E
G
HM-6616
CMOS PROM (2)
2K x 8 2K x 8
CS
RD WR
CMOS
82CXX
PERIPHERALS
Circuito (modo máximo)
FIGURE 6A. MINIMUM MODE 80C86 TYPICAL CONFIGURATION
VCC
GND
MN/MX
CLK
S0
READY S1
RESET S2
82C84A/85
CLOCK
GENERATOR/
RES
RDY
80C86
CPU
GND
LOCK
WAIT
STATE
GENERATOR
MRDC
NC
NC
NC
STB
GND
1
VCC
CLK
MWTC
S0
82C88
S1 BUS AMWC
S2 CTRLR IORC
IOWC
DEN
DT/R
AIOWC
ALE
INTA
C1
GND
AD0-AD15
A16-A19
BHE
20
ADDR/DATA
OE
ADDR
82C82
(2 OR 3)
GND
C2
40
C1 = C2 = 0.1µF
VCC
T
OE
DATA
82C86
TRANSCEIVER
(2)
A0
BHE
EH
EL
W G
HM-65162
CMOS RAM
2K x 8
2K x 8
E
G
HM-6616
CMOS PROM (2)
2K x 8 2K x 8
CS
RDWR
CMOS
82CXX
PERIPHERALS
FIGURE 6B. MAXIMUM MODE 80C86 TYPICAL CONFIGURATION
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
3-155
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
La temporización de bus
Cada ciclo de bus ocupa cuatro ciclos de reloj: T1, T2, T3, T4.
A 5MHz cada T-state dura 200 nseg, y el ciclo de bus ocupa
800 nseg.
Es un bus semi-sı́ncrono, y permite insertar estados de espera
denominados Twaits para acceder a memorias o dispositivos
de E/S lentos.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
8086 HARDWARE
Ciclo de lectura (simplificado)
Bus Timing
ONE BUS CYCLE
T1
T2
T3
T4
CLK
ADDRESS
/DATA
ALE
RD
Figure 6: Read Cycle
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
8086 HARDWARE
Ciclo de escritura (simplificado)
Bus Timing
ONE BUS CYCLE
T1
T2
T3
T4
CLK
ADDRESS
/DATA
ALE
WR
Figure 5: Write Cycle
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ciclo de bus
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ciclo de bus
T1: Address, ALE, DT/R, M/IO.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ciclo de bus
T1: Address, ALE, DT/R, M/IO.
T2: DEN, y RD o WR y los datos en el bus. Al final de T2 se
muestrea READY
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ciclo de bus
T1: Address, ALE, DT/R, M/IO.
T2: DEN, y RD o WR y los datos en el bus. Al final de T2 se
muestrea READY
T3: Si es un ciclo de lectura, el bus de datos se muestrea al
finalizar T3
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Ciclo de bus
T1: Address, ALE, DT/R, M/IO.
T2: DEN, y RD o WR y los datos en el bus. Al final de T2 se
muestrea READY
T3: Si es un ciclo de lectura, el bus de datos se muestrea al
finalizar T3
T4: Si es un ciclo de escritura, los datos se transfieren en el flanco de subida de WR. Además, se desactivan todas las señales
en preparación para el ciclo siguiente.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Temporización del bus
80C86
(4 + NWAIT) = TCY
T1
T2
T3
(4 + NWAIT) = TCY
TWAIT
T4
T1
T2
T3
TWAIT
T4
CLK
GOES INACTIVE IN THE STATE
JUST PRIOR TO T4
ALE
S2-S0
ADDR/
STATUS
BHE,
A19-A16
BHE
A19-A16
S7-S3
S7-S3
BUS RESERVED
FOR DATA IN
ADDR/DATA
D15-D0
VALID
A15-A0
A15-A0
DATA OUT (D15-D0)
RD, INTA
READY
READY
READY
WAIT
WAIT
DT/R
DEN
MEMORY ACCESS TIME
WR
FIGURE 3. BASIC SYSTEM TIMING
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
80C86
Waveforms
Ciclo de lectura
T1
T2
T3
T4
TW
(5)
TCL2CL1
(1)
TCLCL
TCH1CH2
(4)
CLK (82C84A OUTPUT)
(3)
(2)
TCLCH
TCHCL
(30) TCHCTV
TCHCTV
(30)
M/IO
(17)
TCLAV
(17)
TCLAV
(26) TCLDV
(18) TCLAX
S7-S3
BHE, A19-A16
BHE/S7, A19/S6-A16/S3
TLHLL
(22)
(23) TCLLH
TLLAX
(25)
ALE
(24)
TR1VCL (8)
TCHLL
RDY (82C84A INPUT)
SEE NOTE
TAVAL
(39)
VIH
VIL
TCLR1X (9)
(12)
TRYLCL
(11)
TCHRYX
READY (80C86 INPUT)
(19)
TCLAZ
AD15-AD0
(10)
TRYHCH
(16)
TDVCL
AD15-AD0
DATA IN
(32) TAZRL
(34) TCLRH
(7)
TCLDX1
TRHAV
(35)
RD
(30)
TCHCTV
READ CYCLE
(WR, INTA = VOH)
TCLRL
(33)
TRLRH
(37)
(30)
TCHCTV
DT/R
(29) TCVCTV
TCVCTX
(31)
DEN
FIGURE 7A. BUS TIMING - MINIMUM MODE SYSTEM
NOTE: Signals at 82C84A are shown for reference only. RDY is sampled near the end of T2, T3, TW to determine if TW machine states are
to be inserted.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
80C86
Waveforms
Ciclo de escritura
(Continued)
T1
T2
(4)
TCH1CH2
T4
(5)
TCL2CL1
TW
CLK (82C84A OUTPUT)
(26)
TCLDV
TCLAX
(17)
TCLAV
TCVCTV
(27)
TCLDX2
(18)
AD15-AD0
AD15-AD0
WRITE CYCLE
TW
T3
DATA OUT
TWHDX
(29)
(28)
(31) TCVCTX
DEN
(RD, INTA,
DT/R = VOH)
(29) TCVCTV
(38)
TWLWH
WR
TCVCTX
TDVCL
(19)
TCLAZ
(31)
(6)
TCLDX1 (7)
POINTER
AD15-AD0
TCHCTV (30)
TCHCTV
(30)
DT/R
INTA CYCLE
(SEE NOTE)
(RD, WR = VOH
BHE = VOL)
(29) TCVCTV
INTA
(29) TCVCTV
TCVCTX
(31)
DEN
SOFTWARE
HALT DEN, RD,
WR, INTA = VOH
INVALID ADDRESS
AD15-AD0
SOFTWARE HALT
TCLAV
(17)
DT/R = INDETERMINATE
FIGURE 7B. BUS TIMING - MINIMUM MODE SYSTEM
NOTE: Two INTA cycles run back-to-back. The 80C86 local ADDR/DATA bus is floating during both INTA cycles. Control signals are shown
for the second INTA cycle.
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El 8284A
8284
X1
CLK
÷3
15MHz
8086
5MHz
CLK
X2
F/C
Vcc
CSYNC
RESET
10k
RESET
RES
10µF
To reset
other devices
ure 4: 8284A Clock Generator (6th ed, §9.2, pp 314-317).
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
El 8284A
Bus Timing
8086 HARDWARE
CS from memory devices
X1 RDY1
÷3
15MHz
Vcc
X2
8284A
10k
10µF
RES CLK
RESET
QAQBQCQDQEQFQGQH
74LS164
CLR
SI
READY
Vcc
READY
RESET
CLK
RD
WR
INTA
8086
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
Figure 7: Wait states with
the •8284A
•First •Prev
Next •Last •Go Back
•Full Screen •Close •Quit
¿Preguntas?
Curso 2010 de Digital III, FCEyA - Slides del Módulo 1 correspondientes a la clase del de 8 de marzo- Santiago Roatta
•First •Prev •Next •Last •Go Back •Full Screen •Close •Quit
Descargar