Escolar Documentos
Profissional Documentos
Cultura Documentos
INTRODUCCIN
ESTRUCTURA BASICA DE LAS COMPUTADORAS
1. CPU
2. UNIDAD DE ALMACENAMIENTO PRINCIPAL
3. DISPOSITIVOS DE ENTRADA Y SALIDA
4. BUSES
MICROPROCESADOR HMOS 8088
ESTRUCTURA DE LA PC XT
1
2
2
2
3
4
6
10
11
11
12
12
13
14
14
16
19
19
21
39
46
46
47
48
48
49
49
50
52
52
54
55
55
56
56
57
57
57
57
58
59
60
61
66
78
1.- INTRODUCCIN
El cambio de estrategia de IBM, a principios de la dcada de los 80s, incorporndose al campo
de los microcomputadores personales, mediante la comercializacin del modelo PC, supuso un
acceso al pblico en general a sistemas lgicos tpicos de grandes sistemas.
El corazn del PC-XT es el microprocesador 8088, que acta como CPU (unidad central de
proceso por sus siglas en ingles Central Processing Unit)
El procesador Intel 8088, elegido por IBM para su primer modelo de PC era una versin
"simplificada" de un procesador ms potente, el 8086, que tena registros y bus de datos de 16
bits. Sin embargo, se eligi el 8088, con registros de 16 bits, pero bus de datos de 8 (el de
direcciones es de 20 bits), coincidente con el bus de datos la placa-base, que era tambin de 8
bits, por razones de simplificacin y economa. No solo el ancho del bus, otros muchos detalles
de diseo han hecho especular largamente acerca de que nadie en IBM pareca tener mucha fe
en el futuro del recin nacido.
Los fits horizontales del system board sistema mnimo estn en la base de la unidad del
sistema y son aproximadamente 8-1/2 a 12 pulgadas. Es una singular multicapa por canal en
planos de diseo, con tierra o ground provista.
La fuente DC y sus seales entran a travs de un par de conectores de 16 pines. Otros
conectores en el board son para el teclado y el speaker. Hay ocho grupos (sockets) o tarjetas
de 62 pi nes montadas en la placa (board).
El canal de I/O es direccionado a travs de esos 8 slots, J8 es ligeramente diferente de los
otros.
El Dip Switch de 8 canales montado puede configurarse para leer un programa de control. Este
provee la informacin del software al manipular las operaciones en el modo deseado con los
switches.
El sistema mnimo consiste de 5 reas funcionales:
El subsistema procesador y los elementos de soporte, la ROM, la memoria de (R/W)
adaptadores de I/O y el canal de I/O.
El corazn del sistema es el MP8088, este es una versin de 8 bits (bus externo) de Intel de
16 bits, el software es compatible con el 8086 que tiene operaciones de 16 bits incluyendo
multiplicacin y divisin y 20 bits direccionables (1Mb de almacenaje).
El procesador opera a 4.77 Mhz, esta frecuencia es derivada del cristal de 14.31818 MHz la
cual es dividida por tres por el reloj del procesador; y por cuatro se obtiene 3.58 Mhz (la seal
requerida para los televisores de color).
Los 4.77 Mhz del reloj, los ciclos del bus del 8088 son cuatro relojes de 210 ns 840 ns, los
ciclos de I/O toman 5*210 ns 1.05 us.
El procesador es respaldado por el set de funciones provistas por cuatro canales de 20 bits de
acceso directo a memoria (DMA), tres grupos de canales del Timer de 16 bits y ocho niveles de
interrupciones.
Tres de los cuatro canales de DMA estn disponibles en el bus de I/O y hay una alta velocidad
para transferencia de datos entre las memorias y los canales de I/O sin intervencin de la
memoria del procesador.
El cuarto canal es programado para refrescar el sistema dinmico de memoria, esto esta hecho
para el programa del Timer-contador e informe peridicamente de la transferencia DMA.
La accin anterior crea un ciclo de lectura de la memoria disponible para el refresco del
almacenaje (both) en el sistema y en los slots de expansin.
Todos los datos del DMA excepto el canal de refresco toman 5 ciclos de reloj 1.05 s; si una
lnea de la lectura del procesador no esta deshabilitada. Los ciclos de refresco de DMA toman
4 ciclos 840 ns. El tercer Timer programable es usado como se muestra.
El canal cero es usado en un propsito general del Timer provee un tiempo base constante para
implementar el time-of-delay. El canal uno es usado para el tiempo de pregunta y refresco del
ciclo de DMA; el canal 2 es usado para el respaldo de la generacin de tonos de audio del
speaker. El otro canal tiene un tiempo mnimo de resolucin de 1.05 us.
De las ocho interrupciones, 6 son direccionadas a los slots de expansin para el uso de las
tarjetas, dos son usadas en el sistema mnimo. Las mas altas prioridades estn en el nivel cero
del Timer-contador y proveen interrupciones peridicas. El nivel uno esta asignado al teclado,
circuitos y receptores de interrupcin para otros cdigos; la interrupcin no enmascarable del
8088 es usada para el reporte de errores de paridad de la memoria.
El sistema mnimo esta respaldado por la ROM y memoria R/W, tiene un espacio de 64 Kbits
por 8 de ROM o de EPROM. Dos sockets (mdulos) de los provistos pueden aceptar artificios
de 32K 8K. Un socket tiene 32K por 8 de ROM, el otro tiene 8K por 8 bits. La ROM contiene
el power-on-self-test, I/O drivers de patrones para 128 caracteres en el modo grafico y un
cargador bootstrap de diskette. La ROM es un encapsulado (modulo) de 28 pines y tiene un
tiempo de acceso y un ciclo de 250 ns.
El system board tambin tuvo 128K por 9 a 256K por 9 de memoria de lectura/escritura. Un
sistema mnimo tendra 128K de memoria con mdulos (sockets ) para un adicional de 128K.
Una gran memoria de un mximo del sistema mnimo de 256K es obtenida por adicin de
tarjetas de memoria en los slots de expansin. La memoria consiste de 64K dinmicos por un
chip por un tiempo de acceso de 200 ns y un tiempo de ciclo de 345 ns. Toda la memoria de
lectura/escritura es de paridad chequeada.
El system board contiene un adaptador para circuitos para juntar una interface serial desde el
teclado. Esos circuitos generan una interrupcin al procesador cuando se completa la bsqueda
del cdigo o es recepcionado. Esta interface puede preguntar la ejecucin del diagnostico
(test) en el teclado. La interface del teclado es un conector DIN de 5 pines en la placa que se
extiende a travs del panel de la unidad.
El desarrollo ms notable para la familia 8086/8088 fue la eleccin de la CPU 8088 por parte
de IBM (International Business Machines) cuando en 1981 entr en el campo de las
computadoras personales. Esta computadora se desarroll bajo un proyecto con el nombre
"Acorn" (Proyecto "Bellota") pero se vendi bajo un nombre menos imaginativo, pero ms
correcto: "Computadora Personal IBM", con un precio inicial entre 1260 dlares y 3830 dlares
segn la configuracin (con 48KB de memoria RAM y una unidad de discos flexibles con
capacidad de 160KB costaba 2235 dlares). Esta computadora entr en competencia directa
con las ofrecidas por Apple (basado en el 6502) y por Radio Shack (basado en el Z-80).
2.- ESTRUCTURA DE LA PC XT
La estructura fsica fundamental del los microcomputadores personales PC, consta de 3
elementos:
-
Monitor
Teclado
Unidad central
En el interior del armario, chasis o case de la unidad central se aloja la fuente de alimentacin,
la placa madre (mainboard), las unidades de discos y las tarjetas de ampliacin necesarias para
el desarrollo del trabajo especifico al que se dedica la PC
En la figura siguiente se ofrece la organizacin general de la unidad central bsica, que esta
formada por una fuente de alimentacin que general 4 voltajes (+5v,-5v,+12 v y 12 v) y la
mainboard que soporta las siguientes secciones:
-
Procesador central
Oscilador o generador de las seales de reloj
4 canales de Acceso directo a memoria (DMA)
Memoria ROM
Memoria RAM
Controlador de interrupciones
Controlador de diskette
Controlador de altavoz
Controlador de teclado
Zcalos o ranuras para la expansin del sistema
Las ranuras de expansin, proporcionan las lneas de buses de la CPU a todo tipo de circuitos
que se alojan en ellas con diversas finalidades, entre las que destacan:
-
Memoria
Coprocesador matemtico 8087
Disco Duro
En la figura a continuacin, se muestra el mapa de memoria del PC, que se halla dividido en dos
partes, una dedicada a la memoria principal y otra a las E/S.
Consta de una unidad de ejecucin (EU: Execution Unit) y una unidad interfaz del bus
(BIU: Bus Interface Unit). La unidad de ejecucin es la encargada de realizar todas las
operaciones mientras que la unidad de interfaz del bus es la encargada de acceder a
datos e instrucciones del mundo exterior, como se aprecia en le diagrama de bloques
siguiente.
Hay tres clases de interrupcin: por hardware, por software e internas (a las dos
ltimas tambin se las llama "excepciones").
AD7..0:
A15..8:
A19..16/
S6..3:
-RD:
READY:
INTR:
-TEST:
NMI:
RESET:
MN/MX:
-wr:
-INTA:
ALE:
de
DT/-R:
-DEN:
HOLD:
HLDA:
-SS0:
Status Line. Lnea de apoyo que, junto con IO/-M y DT/-R, permite
determinar con precisin el estado del bus:
-LOCK:
Lock. Lnea que sirve al 8088 para prohibir el acceso al bus a otros
procesadores (se activa tras la instruccin mquina LOCK y dura
mientras se ejecuta la siguiente instruccin -la que sigue a LOCK, que
es realmente un prefijo-). Tambin se activa automticamente en los
momentos crticos de un ciclo de interrupcin.
QS1/QS0:
Registro de Banderas:
Este registro es usado para tener el control de estado y control de las operaciones. La mayora
de sus 16 bits se utiliza para representar un estado concreto:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CF -- PF -- AF -- ZF SF TF IF DF OF -- -- -- -.
- Bit 0 - CF (Carry Flag): Es la bandera de acarreo. Se pone a 1 cuando se produce un
resultado con acarreo tras una operacin aritmtica.
- Bit 1: No usado.
- Bit 2 - PF (Parity Flag): Cuando est a 1, indica que hay un nmero par de bits activos.
- Bit 3: No usado.
- Bit 4 - AF (Auxiliar Flag): Se usa como bandera auxiliar. Se pone a 1 cuando hay necesidad
de realizar ajustes tras una operacin de tipo BCD.
- Bit 5: No usado.
- Bit 6 - ZF (Zero Flag): Indica si se ha producido un resultado cero o una comparacin con
operadores iguales.
- Bit 7 - SF (Sign Flag): Indica si se ha producido un resultado negativo o comparacin menor.
- Bit 8 - TF (Trap Flag): Es la bandera de atrape, usada en procesos de depuracin de cdigo.
- Bit 9 - IF (Interrupt Flag): Si est a 1, indica que est permitida la generacin de
interrupciones hardware que generan algunos perifricos, como la que realiza el teclado cada
vez que una tecla es pulsada.
- Bit 10 - DF (Direction Flag): Indica a la CPU hacia donde se desplazan los punteros relativos
en operaciones repetitivas de cadenas de datos.
- Bit 11 - OF (Overflow Flag): Indica si se ha producido un desbordamiento aritmtico.
- Bit 12 al 15: No usados.
su propia cola de instrucciones para controlar el flujo de instrucciones del 8088, ejecutando
slo aquellas instrucciones que le corresponden, e ignorando las destinadas a la CPU 8088. Las
instrucciones del 8087 incluyen un juego completo de funciones aritmticas as como un
potente ncleo de funciones exponenciales, logartmicas y trigonomtricas
Mediante las basculas de direcciones, el buffer de datos y el controlador de bus, se obtienen
los buses normalizados de datos, direcciones y control, que conforman el bus del sistema. El
controlador de interrupciones 8259 recibe las peticiones de interrupcin procedentes de los
perifricos y las gestiona, teniendo en cuenta las prioridades, transmitindoselas a la CPU
(linea INT).
El 8259 puede controlar hasta 8 interrupciones vectorizadas. Adems, a un 8259 se le pueden
conectar en cascada un mximo de 8 chips 8259 adicionales, lo que permite gestionar sistemas
con hasta 64 interrupciones
Cuando la CPU reconoce la interrupcin, enva la seal -INTA. Nada ms recibida la seal
-INTA de la CPU, el 8259 activa el bit correspondiente a la interrupcin de mayor prioridad (la
que va a ser procesada) La instruccin CALL provoca que la CPU enve dos pulsos -INTA. El
8259 utiliza estos dos pulsos -INTA para depositar en el bus de datos, sucesivamente, la parte
baja y alta de la direccin de memoria del ordenador de la rutina de servicio de la interrupcin
(16 bits).
Bloques que configuran a la seccin del procesador central, junto a los circuitos integrados que
se usan.
Direccionamiento de la memoria
Todos los programas y datos se cargan en localidades de memoria especficas determinadas
por sus direcciones. Esa informacin es almacenada como una secuencia de bytes de manera
que cada uno de ellos tiene un nmero asociado correspondiente al lugar que ocupan. A ese
nmero se lo denomina direccin de memoria.
Dado que el 8086/8088 tiene una longitud de palabra de direcciones de 20-bits es
posible direccionar hasta 1.048.576 (= 210) localidades distintas de memoria, es decir,
podemos almacenar hasta 1Mbyte de informacin. Sin embargo, la CPU slo procesa palabras
de 16 bits en sus registros de direcciones, como ya se ha visto en los apartados anteriores, y
las direcciones de memoria son de 20 bits, por lo que una direccin no cabe en un registro.
Por lo tanto, en principio, tericamente slo se podra acceder hasta el byte nmero 65.535
(216, el nmero mayor posible de 16 bits) contando a partir del inicio, que es el byte 0.
Para solucionar este inconveniente, se ide el dividir la direccin de un byte en dos
partes, denominadas segmento (o Base) y desplazamiento (u offset), ambos de 16 bits.
Adoptada dicha medida, la direccin real de un byte en la memoria es:
Direccin real = Valor base x 16 + valor desplazamiento3
De esta forma, se pueden direccionar el milln de bytes y se tiene acceso a toda la
memoria del PC (a cada uno de los 1024 Kbytes).
La notacin ms empleada para indicar la direccin de un par segmento
desplazamiento consiste en separar esos dos valores con dos puntos, utilizando notacin
hexadecimal (por ejemplo: 123h:12h4, representa la direccin con segmento 123h y
desplazamiento 12h).
Esta forma de direccionar la memoria present un pequeo problema que ha
entorpecido la elaboracin de grandes programas, y no es otro que ste: como ya se ha visto se
accede a memoria dando un valor de segmento y otro de desplazamiento; pues bien, si se
mantiene el valor del segmento fijo (lo que ocurre en los programas) y se vara nicamente el
valor del desplazamiento slo es posible acceder a 65535 bytes (64 Kbytes), que es el valor
mximo alcanzable con los 16 bits del registro de desplazamiento. Con esto, la informacin
mxima que se puede almacenar en la memoria, modificando nicamente el desplazamiento, es
de 64 Kb. A esta cantidad de almacenamiento se le denomina segmento de memoria.
De este modo, un segmento es un rea continua de memoria que puede tener 64K-bytes,
que debe comenzar en una localidad de memoria cuya direccin sea lmite de 16 bytes
(cantidad denominada prrafo) y que puede solaparse con otros segmentos. As, por ejemplo, la
direccin AB00:0012, (es decir, 43776:8 con valores decimales), tiene la misma direccin real
que AB01:0002 (es decir, 43777:2 con valores decimales), pues ambas equivalen a la direccin
real 700.434 (valor que se obtiene al aplicar la frmula anterior).
Parte del diseo del mapa de memoria del PC y PS/2 es consecuencia del diseo del
microprocesador 8086/8088. Por ejemplo, el 8086/8088 mantiene siempre una lista de
vectores de interrupcin (direcciones de las rutinas de gestin de interrupciones) en los
primeros 1024 bytes de RAM. De la misma forma, todos los ordenadores basados en el
8086/8088 tienen la memoria ROM en lo ms alto del megabyte de memoria, debido a
que,cuando el 8086/8088 se enciende, ejecuta el programa que comienza en la direccin
FFFF0h.
Los primeros 64 Kbytes contienen la memoria de acceso aleatorio (RAM). Parte de esta
memoria es utilizada por el DOS y el BIOS6 para retener los vectores de interrupcin y los
datos. Los siguientes 192 Kb estn reservados para aplicaciones adicionales del usuario.
El resto del mapa de memoria sigue la divisin general entre la RAM, en la parte baja, y la ROM
en la parte alta. Puede haber un mximo de 640 KB de RAM entre las direcciones 00000h y
9FFFFh. Los siguientes bloques de memoria se reservan para la RAM de vdeo (de A0000h a
BFFFFh), mdulos de ROM instalables (de C0000h a DFFFFh) y ROM permanente (de E0000h
a FFFFFh).
Divisiones de la memoria
Existen varias zonas de memoria RAM en los ordenadores personales:
Memoria Baja: Es la zona en la parte ms baja de la memoria base, en donde normalmente
se carga el sistema operativo y los controladores de dispositivos.
Memoria Convencional (llamada a veces memoria base) son los primeros 640 Kbytes de
memoria del ordenador e incluye a la memoria baja. En esta zona se carga el sistema operativo
y los programas de aplicacin y sus datos. Con el sistema operativo DOS, los programas de
aplicaciones se ejecutan slo en la memoria convencional. Esta limitacin se conoce a veces
como barrera de los 640 Kbytes. Las otras zonas de memoria se utilizan de forma limitada,
pero slo con ciertos tipos de hardware
Memoria superior: es toda la memoria direccionada entre los 640 Kbytes y el megabyte.
La memoria superior tiene un tamao de 384 Kbytes. Algunas secciones de la memoria superior
se reservan para ser utilizadas por diferentes partes del hardware del ordenador, como el
adaptador de vdeo o la ROM BIOS. El hardware del ordenador puede permitir la utilizacin de
algunos de los controladores de gestin de memoria del DOS (EMM386.SYS y HIDOS.SYS).
En este caso, se puede utilizar la memoria superior para cargar controladores de dispositivo
(como los necesarios para trabajar con un ratn o con una tarjeta de red) que habitualmente
se cargan en memoria convencional, dejando as un mayor espacio disponible para los programas
de aplicaciones. Es posible tambin mover a
la memoria superior el ncleo del sistema operativo principal.
6 BIOS = Basic Input Output System . Es un conjunto de rutinas bsicas grabadas que
permiten acceder y manipular los diferentes perifricos de entrada y salida conectados al
ordenador. Estas rutinas se encuentran almacenadas en memoria ROM (memoria no voltil).
Adems de sa , tiene como funcin la de iniciar las comprobaciones y cargas del sistema
operativo del
ordenador cuando ste se conecta.
3.2.1.-SECCION DE LA MEMORIA ROM
La seccin de memoria no voltil contiene integrados 2764 o 2932, de 8kb que guardan los
siguientes programas:
BIOS, encargado de guardar las rutinas de arranque del sistema y las que permiten el
funcionamiento con los perifricos comunes. Ocupa 8 Kb.
PROGRAMAS DE USUARIO, que pueden guardarse en IC 2764 y opcionalmente, colocarse en
un zcalo que existe pata este fin
Las posiciones de la ROM ocupan las direcciones mas altas del mapa de memoria.
Para seleccionar el chip ROM que se va a leer se emplea un decodificador de 3 a 8 (74LS138)
de cuyas 8 salidas, 6 se emplean para activar el pin /CS de seleccin de chip de c/u de las
memorias ROM
3.2.2.-SECCION DE MEMORIA RAM
Los Ics mas comunes son los 4164, de 64K bits. Tambin se emplean pastillas DRAM de mayor
capacidad, compatibles con el patillaje de la 4164.
Los 9 pines de cada fila trabajan en paralelo y cada 4164 proporciona o recibe un bit del bus de
datos, quedando el noveno bit destinado a la paridad de los otros 8. El bit de paridad se enva o
recibe desde el 74LS280, generador/ detector de paridad.
Las memorias dinmicas tienen como seales auxiliares: la /RAS (direccionamiento de fila de la
matriz) y /CAS (direccionamiento de columna).
Para controlar 64k celdas de 1 bit c/u, se necesitaran 16 lineas de direccionamiento, para
disminuir el numero de pines, se estructura la memoria en una matriz de 128 filas y 512
columnas, pudindose multiplexar con 8 lneas la informacin necesaria para determinar la fila
y la columna (/RAS y /CAS)
Esta memoria DRAM precisa un ciclo de refresco cada 4 ms, se controla mediante el contador
1 del PTI 8253, el cual genera una onda cuadrada de 2ms. Con cada flanco ascendente, se carga
un flop flop D , solicitando atencin al canal 0 del circuito de Acceso Directo a Memoria (DMA
8237) . Entonces el DMA inhabilita los tres decodificadores de la memoria y toma el control de
las buses del sistema . El DMA genera todas las combinaciones posibles por las lneas MA0MA6 que direccionan las 128 filas, sucesivamente, dando lugar al refresco de las celdas.
Existen 3 multiplexores 74LS158, con los que se multiplexan las direcciones XA0-XA17,
produciendo 8 lneas de direccionado que entran a las patillas del 4164. El multiplexado de las
filas se produce con la seal /RAS activa, y el de las columnas con /CAS activa.
Para decodificar el estado de las 4 lneas de mas peso del bus de direcciones (A16-A19) se usa
el circuito TBS24S10, cuyas salidas proporcionan la seal para la seleccin de la seccin DRAM
(/DRAMCS) y una serie de seales que se aplican a los decodificadores 74LS138 que generan
las seales /RAS y /CAS.
El tranceptor del bus de datos 74LS245 se encarga de aislar la DRAM del bus del sistema
cdigo de iniciacin del ordenador grabe los vectores de interrupcin correctos en las 1024
posiciones ms bajas de la memoria, las rutinas de servicio soportadas por interrupciones
software pueden ser utilizadas por los programas de aplicacin desde cualquier punto rpida y
fcilmente.
Esta es la filosofa de la ROM BIOS del IBM PC. El BIOS es una coleccin de rutinas de
servicio soportadas por interrupciones software grabadas en una ROM (Read Only Memory)
en la parte superior del espacio de direccionamiento de memoria del 8088. Los nmeros de
interrupcin se asignan de acuerdo a la funcin general realizada por la rutina de servicio de la
interrupcin. Por ejemplo, la interrupcin 166 ($10) controla los servicios de video del PC. La
interrupcin 22 ($16) controla el acceso al teclado.
No todas las interrupciones software estn reservadas para su utilizacin por parte de la ROM
BIOS. EL PC BIOS. EL PC DOS emplea unas pocas y la mayora de ellas no las utiliza el
sistema. El controlador de ratn de Microsoft hace uso de una interrupcin software. De
hecho, la mayora de los programas de gestin de perifricos las utilizan. El IBM PC, tal y
como se le conoce habra sido imposible sin ellas.
El Sector de Arranque
El sector de arranque o cargador primario, ser lo nico que necesitemos para poder pasar el
control a nuestro SOTR.
Las caractersticas del sector de arranque son:
o
o
Tambin debe tenerse en cuenta que la BIOS lo carga en la posicin de memoria 7C00h, de
forma
que a la hora de programarlo hay que tener cuidado con las referencias a memoria. En la
prctica
esto puede hacerse de varias formas:
o Mediante la directiva del ensamblador ORG 7C00h (no vlido para GAS).
Inicializar los registros de segmento de forma que apunten al comienzo del sector
de arranque. En ensamblador:
(NOTA: Debe tenerse en cuenta que en Modo Real, se desplaza el registro correspondiente
4 bits a la izquierda antes de sumarlo al 'offset' para obtener la direccin fsica de
memoria.)
mov ax,0x7C0
mov ds,ax
mov es,ax
mov fs,ax
mov gs,ax
FUNCIONES DE LA BIOS
Las funciones de la BIOS se invocan, desde los programas de usuario, ejecutando una
interrupcin software con un cierto valor inicial en los registros. La BIOS emplea un cierto
rango de interrupciones, cada una encargada de una tarea especfica:
INT 10h:
Servicios de Vdeo (texto y grficos).
INT_10: STI
; Video bios services
CLD
; ...strings auto-increment
PUSH BP
PUSH ES
PUSH DS
PUSH SI
PUSH DI
PUSH DX
PUSH CX
PUSH BX
PUSH AX
MOV BX,40h
MOV DS,BX
MOV BL,DS:10h
; Get equipment
AND BL,30h
CMP BL,30h
; Check for monochrome card
MOV BX,0B800h
JNZ
MOV
C_01
BX,0B000h
INT 11h:
Informe sobre la configuracin del equipo.
INT_11: STI
; Equipment present
PUSH DS
MOV AX,40h
MOV DS,AX
MOV AX,DS:10h
; AX = equipment byte contents
POP DS
IRET
ENTRY 0F859h
INT
12h:
Informe
INT_12: STI
PUSH DS
MOV AX,40h
MOV DS,AX
MOV AX,DS:13h
POP DS
IRET
ENTRY 0F84Dh
sobre
el
tamao
de
la
memoria
; Kbytes of memory present
convencional.
INT 13h:
Servicios de disco (muy elementales: pistas,
INT_13: STI
; Floppy disk services
PUSH BP
PUSH SI
PUSH DI
PUSH DS
PUSH ES
PUSH BX
MOV DI,AX
; Request type in DI, for index
XOR AX,AX
MOV DS,AX
LES SI,DWord ptr DS:78h
; Get disk parameter table
MOV AX,40h
MOV DS,AX
MOV BX,5
MOV AX,ES:[BX+SI]
; Get (Gap Length, DTL) in AX
sectores,
etc.).
PUSH AX
DEC BX
DEC BX
MOV AX,ES:[BX+SI]
PUSH AX
XCHG CL,DH
XCHG DL,CL
PUSH DX
PUSH CX
PUSH DI
MOV BP,SP
ifdef SLOW_FLOPPY
CALL FD_SPD
else
CALL FD_XQT
endif
MOV AH,ES:[SI+2]
MOV DS:40h,AH
MOV AH,DS:41h
CMP AH,1
CMC
POP BX
POP CX
POP DX
XCHG DL,CL
XCHG CL,DH
POP BX
POP BX
POP BX
POP ES
POP DS
POP DI
POP SI
POP BP
RETF 2
; ...save it
; Get (Bytes/sector,EOT) in AX
; ...save it
; Clean
; ...up
; ...stack
INT 14h:
Comunicaciones en serie.
INT_14: STI
PUSH DS
PUSH DX
PUSH SI
PUSH DI
PUSH
PUSH
MOV
MOV
MOV
MOV
SHL
MOV
OR
JZ
OR
JZ
DEC
JZ
DEC
JZ
DEC
JZ
CX
BX
BX,40h
DS,BX
DI,DX
BX,DX
BX,1
DX,[BX]
DX,DX
COM_ND
AH,AH
COMINI
AH
COMSND
AH
COMGET
AH
COMSTS
; Send on AH=1
; Rcvd on AH=2
; Stat on AH=3
INT 15h:
Funciones casette (PC) y servicios especiales del sistema (AT).
INT_15: STC
; Cassette service (error ret)
MOV AH,86h
RETF 2
ENTRY 0F85Fh
INT
INT_16: STI
PUSH DS
PUSH BX
MOV BX,40h
MOV DS,BX
OR
AH,AH
JZ
KPD_RD
DEC AH
JZ
KPD_WT
DEC AH
JZ
KPD_SH
16h:
Servicios
de
; Keyboard bios services
INT 17h:
Servicios de impresora.
teclado.
INT_17: STI
PUSH DS
PUSH BX
PUSH CX
PUSH DX
MOV BX,40h
MOV DS,BX
MOV BX,DX
SHL BX,1
MOV DX,[BX+8]
OR
DX,DX
JZ
LP_01
OR
AH,AH
JZ
LP_02
DEC AH
JZ
LP_INI
DEC AH
JZ
LP_04
; DX is printer index (0 - 3)
; ...word index
; Load printer port
; Goes to black hole
; Function is print, AH=0
; Function is init , AH=1
; Get the status , AH=2
INT
18h:
INT 19h:
Llamar
la
ROM
del
BASIC
(slo
INT_19: JMP
IPL
ENTRY 0E729h
BAUD DW
0417h
DW
0300h
DW
0180h
DW
00C0h
DW
0060h
DW
0030h
DW
0018h
DW
000Ch
INT 1Ah:
; Warm boot
; IBM entry point for INT 14h
; 110 baud clock divisor
; 150 baud clock divisor
; 300 baud clock divisor
; 600 baud clock divisor
; 1200 baud clock divisor
; 2400 baud clock divisor
; 4800 baud clock divisor
; 9600 baud clock divisor
Servicios horarios.
INT_1A: STI
mquinas
IBM).
PUSH
PUSH
MOV
MOV
POP
CLI
OR
JZ
DEC
JNZ
MOV
MOV
MOV
JMP
DS
AX
AX,40h
DS,AX
AX
AH,AH
TD_01
AH
TD_02
DS:6Ch,DX
DS:6Eh,CX
Byte ptr DS:70h,0
SHORT TD_02
INT 1Fh:
La mayora de las interrupciones se invocan solicitando una funcin determinada (que se indica
en el registro AH al llamar) y se limitan a devolver un resultado en ciertos registros,
realizando la tarea solicitada. En general, slo resultan modificados los registros que devuelven
algo, aunque BP es corrompido en los servicios de vdeo de las mquinas ms obsoletas.
Estado de la ltima operacin: se actualiza tras cada acceso al disco, indicando los
errores producidos (0 = ninguno).
Control del soporte (AT). Esta variable almacena, entre otros, la ltima velocidad
de transferencia seleccionada.
Byte 40h:8Fh
Se corresponde con el byte 1 del comando 'Specify' del 765, que indica el step rate (el
byte 0: tiempo de acceso cilindro-cilindro, a menudo es 0Dh = 3 6 ms) y el head unload time
(normalmente, 0Fh = 240 480 ms).
byte 1:
Es el byte 2 del comando 'Specify': los bits 7..1 indican el head load time (normalmente
01h = 2 4 ms) y el bit 0 suele estar a 0 para indicar modo DMA.
byte 2:
Tics de reloj (pulsos de la interrupcin 8) que transcurren tras el acceso hasta que se
para el motor.
Longitud del GAP entre sectores (normalmente 2Ah en unidades de 5 y 1Bh en las de
3).
00h
02h
04h
06h
08h
0Ah
0Ch
0Eh
10h
12h
13h
15h
16h
17h
WORD
Direccin E/S base del primer puerto serie (0 si no instalado)
WORD
Direccin E/S base del segundo puerto serie (0 si no instalado)
WORD
Direccin E/S base del tercer puerto serie (0 si no instalado)
WORD
Direccin E/S base del cuarto puerto serie (0 si no instalado)
Nota: Los campos de arriba son rellenados en estricto orden por
el programa POST de la BIOS que inicializa el sistema, sin
dejar huecos. Los puertos serie del DOS y de la BIOS pueden
redefinirse modificando estos campos.
WORD
Direccin E/S base del primer puerto paralelo (0 si no instalado)
WORD
Direccin E/S base del segundo puerto paralelo (0 si no instalado)
WORD
Direccin E/S base del tercer puerto paralelo (0 si no instalado)
WORD
[Mquinas no PS]:
Direccin E/S base del cuarto puerto paralelo (0 si no instalado)
[Mquinas PS]:
Segmento del rea de datos extendida de la BIOS
Nota: Los campos de arriba son rellenados en estricto orden por
el programa POST de la BIOS que inicializa el sistema, sin
dejar huecos. Los puertos paralelo del DOS y de la BIOS
pueden redefinirse modificando estos campos.
WORD
Hardware instalado:
bits 15-14: nmero de puertos paralelos
bit 13: [PC Convertible] = 1 si hay modem interno
bit 12: reservado
bits 11- 9: nmero de puertos serie
bit
8: reservado
bits 7- 6: nmero de disqueteras - 1
bits 5- 4: modo de vdeo inicial
00b = EGA,VGA,PGA
01b = 40 x 25 color
10b = 80 x 25 color
11b = 80 x 25 mono
bit
3: reservado
bit
2: [mquinas PS] = 1 si hay dispositivo apuntador
[mquinas no PS] reservado
bit
1: = 1 si hay coprocesador
bit
0: = 1 si hay disquete disponible para arrancar
BYTE
[PC Convertible] estado del POST
[AT] {Banderines de inicializacin de los test de fabricacin}
WORD
Tamao de memoria convencional en kbytes (0-640)
BYTE
[AT] {Usado en los test de fabricacin}
BYTE
[AT] {Usado en los test de fabricacin}
[PS/2 Mod 30] Banderines de control de la BIOS
BYTE
Banderines de estado del teclado 1:
bit 7 =1 INSert activo
18h
19h
1Ah
1Ch
1Eh
3Eh
3Fh
40h
41h
42h
49h
4Ah
4Ch
4Eh
50h
60h
62h
63h
65h
66h
67h
6Bh
6Ch
70h
71h
72h
74h
75h
76h
77h
78h
7Bh
7Ch
80h
82h
84h
85h
87h
88h
89h
8Ah
8Bh
8Ch
8Dh
8Eh
8Fh
BYTE
Vdeo: lneas en pantalla menos 1 en EGA/MCGA/VGA
WORD
Video: altura del carcter, en pixels, en EGA/MCGA/VGA
BYTE
Vdeo: control de EGA/VGA.
bit 7: = 1 si no limpiar RAM (ver INT 10h, AH=0)
BYTE
Vdeo: switches EGA/VGA [MCGA: reservado]
BYTE
Vdeo: MCGA/VGA opcin de control del modo
BYTE
Vdeo [MCGA/VGA]: ndice en tabla Cdigos de Combinaciones de Pantalla
BYTE
Control del medio fsico del disco [no XT]:
bits 7-6: Ultima tasa de transferencia fijada por el controlador:
00=500kbps, 01=300kbps, 10=250kbps, 11=1Mbps
bits 5-4: Ultimo step rate seleccionado en el disquete:
00-0Ch, 01=0Dh, 10=0Eh, 11=0Ah
bits 3-2: {Tasa de transferencia al inicio de la operacin}
bits 1-0: reservado
BYTE
Estado del controlador del disco fijo [no XT]
BYTE
Estado de error del controlador de disco fijo [no XT]
BYTE
Control de interrupciones del disco fijo [no XT]
BYTE
Informacin del controlador de disquete [no XT]:
90h
91h
BYTE
BYTE
92h
93h
94h
95h
96h
BYTE
BYTE
BYTE
BYTE
BYTE
97h
BYTE
bit 7: reservado
bit 6: = 1 si disco 1 determinado
bit 5: = 1 si disco 1 es multi-ratio, vlido si disco determinado
bit 4: = 1 si disco 1 soporta 80 pistas, siempre vlido
bit 3: reservado
bit 2: = 1 si disco 0 determinado
bit 1: = 1 si disco 0 es multi-ratio, vlido si disco determinado
bit 0: = 1 si disco 0 soporta 80 pistas, siempre vlido
Estado fsico de la disquetera 0
Estado fsico de la disquetera 1
bits 7-6: tasa de transferencia a disquete: 00=500kbps, 01=300kbps,
10=250kbps, 11=1Mbps
bit 5: = 1 si doble salto de pista requerido (e.g. 360Kb en 1.2Mb)
bit 4: = 1 si superficie ya determinada
bit 3: reservado
bits 2-0: a la salida de la BIOS, contiene:
000 intentando 360Kb en 360Kb
001 intentado 360Kb en 1.2Mb
010 intentando 1.2MB en 1.2Mb
011 determinado 360Kb en 360Kb
100 determinado 360Kb en 1.2Mb
101 determinado 1.2Mb en 1.2Mb (contina en pg siguiente)
110 reservado
111 todos los dems formatos
Estado fsico de la disquetera 0 al inicio de la operacin
Estado fsico de la disquetera 1 al inicio de la operacin
Nmero de pista en curso de la disquetera 0
Nmero de pista en curso de la disquetera 1
Estado del teclado, byte 1
bit 7 = 1 proceso de lectura de ID en marcha
bit 6 = 1 el ltimo cdigo ledo fue el primero de dos cdigos ID
bit 5 = 1 forzar Num Lock si se lee el ID y es un teclado expandido
bit 4 = 1 teclado expandido instalado
bit 3 = 1 Alt derecho pulsado
bit 2 = 1 Ctrl derecho pulsado
bit 1 = 1 ltimo cdigo ledo fue E0h
bit 0 = 1 ltimo cdigo ledo fue E1h
Estado del teclado, byte 2
bit 7 = 1 error de transmisin del teclado
bit 6 = 1 actualizacin de LEDs en curso
bit 5 = 1 cdigo RESEND recibido del teclado
bit 4 = 1 cdigo ACK recibido del teclado
bit 3 reservado, debe ser cero
bit 2 LED de Caps Lock
ordenadores con cach y procesador avanzado los tiempos efectivos pueden ser en ocasiones mejores que los
tericos!. Por ejemplo, el 486 emplea ya la tecnologa pipeline, lo que le permite simultanear la ejecucin de una
instruccin con la decodificacin de la siguiente y la lectura de memoria de la posterior as como almacenar el
resultado de la anterior. Esto, con las lgicas limitaciones de un procesador CISC, permite en la prctica ejecutar
un alto nmero de instrucciones en un solo ciclo (cada una de ellas, claro). Por tanto, para lo que s sirven las tablas
es para decidir qu instrucciones emplear en ciertos procesos en que el tiempo de ejecucin o la memoria consumida
son crticos, especialmente en las mquinas menos potentes. Como muestra de lo sumamente tericos que son estos
tiempos, a continuacin se listan dos rutinas con las que he probado experimentalmente los tiempos de ejecucin en
diversos microprocesadores. Ambas rutinas constan de un bucle que se repite cierto nmero de veces; mientras
tanto las interrupciones estn inhibidas, por lo que se cronometran a mano:
Ciclos tericos
8088
286
386
486
RutinaA: CLI
MOV AX,1000h
bucle:
XOR CX,CX
3
2
2
1
repite: LOOP repite
17 5
8+m 4 (m=2) 11+m (m=2) 6 2
DEC AX
2
2
2
1
JNZ bucle
16 4
7+m 3 (m=2) 7+m 3 (m=2) 3 1
STI
RutinaB: CLI
XOR CX,CX
bucle1:
MOV AX,BX
2
2
2
1
bucle2:
MOV AX,BX
2
2
2
1
...
.
.
.
.
bucle16384: MOV AX,BX
2
2
2
.
DEC CX
2
2
2
1
JNZ fin
16 4
7+m 3
7+m 3 (m=1) 3 1
JMP bucle1
15
7+m
7+m (m=2)
3
fin:
STI
Por ejemplo, la rutina B ejecuta 16384 instrucciones del tipo MOV AX,BX (2 ciclos cada una) as como un
decremento (2 ciclos) un salto que no se realiza -salvo al final del todo- (4 ciclos en 8088) y otro salto absoluto (15
ciclos en 8088). Se emplea este rodeo ya que los saltos condicionales, como conocer el lector, slo pueden desviar
algo ms de 100 bytes el flujo del programa (y este bucle ocupa nada menos que 32 Kb). En total, 32787 ciclos que,
repetidos 65536 veces, suponen
2.148.728.832 ciclos. Con un 8088 corriendo a 8 MHz (8 millones de ciclos) cabra esperar una demora de 268,59
segundos. Sin embargo, mi reloj de pulsera dice que son nada menos que 1194!, unas 4,44 veces ms de lo que los
tiempos tericos de Intel sugieren. De hecho, esto implica que cada MOV tarda casi 9 ciclos reales en un 8088, y no
2. Sin embargo, en el caso de la rutina A apenas hay diferencia entre el tiempo terico y el real: el tiempo que
emplea la instruccin LOOP es bastante alto en comparacin con lo que se tarda en traer dicha instruccin de la
memoria, por lo que la diferencia porcentual se reduce notablemente.
RUTINA A
RUTINA B
V20-8
570,43 623,30
268,59 1194,00
286-12
223,70 254,00
179,02 188,25
386-25*
139,59 135,20
85,93
93,50
486-25*
64,42
42,96
69,10
(*)
El
386
careca
slo posea los 8 Kb de cach incluidos en el chip.
75,50
de
memoria
cach
el
Componentes
Operandos
valor EA
(b) Desplazamiento
desp
[BX+SI], [BX+DI]
[BP+SI], [BP+DI]
11
Los datos entre parntesis en el 8088 indican el tiempo empleado por las palabras de 16 bits, fuera del
parntesis hacen referencia a 8 bits (los 8086 y superiores no son ms lentos con datos de 16 que con los de 8 bits,
siempre lgicamente que stos estn en una posicin de memoria par). Aunque el 286 y 386 no penalizan tanto los
modos de direccionamiento complejos, a los tiempos marcados con (#) hay que aadir un ciclo si en el offset
participan tres elementos (ej., BP+DI+desp). La letra {m} se refiere al nmero de bytes totales de la siguiente
instruccin que se va a ejecutar. Cuando aparecen dos opciones en las instrucciones de salto condicional, el menor
tiempo de ejecucin se verifica cuando el salto no se realiza. Todas las instrucciones especficas de 386 ocupan,
bajo DOS, un byte ms de lo que indican las tablas debido a que se utiliza un prefijo para forzar el modo 32 bit en
segmentos de 16. En los tiempos del 386, los datos entre parntesis se aplican cuando la CPU est en modo virtual
86; en general, los tiempos de ejecucin corresponden al modo real (en modo protegido, podran variar).
Inst. Operandos
Bytes Ciclos 8088 Ciclos 286 Ciclos 386 Ciclos 486
------ ----------------------------------- ------- --------------- ------------ ------------ -----------AAA
1
8
3
4
3
AAD
2
60
14
19
14
AAM
2
83
16
17
15
AAS
1
8
3
4
3
ADC
registro, registro
2
3
2
2
1
ADC
registro, memoria
2-4
9(13)+EA
7#
6
2
ADC
memoria, registro
2-4
16(24)+EA
7#
7
3
ADC
registro, inmediato
3-4
4
3
2
1
ADC
memoria, inmediato
3-6
17(25)+EA
7#
7
3
ADC
acumulador, inmediato
2-3
4
3
2
1
ADD
registro, registro
2
3
2
2
1
ADD
registro, memoria
2-4
9(13)+EA
7#
6
2
ADD
memoria, registro
2-4
16(24)+EA
7#
7
3
ADD
registro, inmediato
3-4
4
3
2
1
ADD
memoria, inmediato
3-6
17(25)+EA
7#
7
3
486
ADD
acumulador, inmediato
2-3
4
3
2
1
AND
registro, registro
2
3
2
2
1
AND
registro, memoria
2-4
9(13)+EA
7#
6
2
AND
memoria, registro
2-4
16(24)+EA
7#
7
3
AND
registro, inmediato
3-4
4
3
2
1
AND
memoria, inmediato
3-6
17(25)+EA
7#
7
3
AND
acumulador, inmediato
2-3
4
3
2
1
BOUND registro16, memoria16
2-4 (no existe)
13 #
10
7
BOUND registro32, memoria32
2-6 (no existe) (no existe)
10
7
BSF registro16, registro16
3
(no existe) (no existe) 10+3*n
6-42
BSF registro16, memoria16
5-7 (no existe) (no existe) 10+3*n
7-43
BSF registro32, registro32
3
(no existe) (no existe) 10+3*n
6-42
BSF registro32, memoria32
5-7 (no existe) (no existe) 10+3*n
7-43
BSR
registro16, registro16
3
(no existe) (no existe) 10+3*n
6-42
BSR
registro16, memoria16
5-7 (no existe) (no existe) 10+3*n
7-43
BSR
registro32, registro32
3
(no existe) (no existe) 10+3*n
6-42
BSR
registro32, memoria32
5-7 (no existe) (no existe) 10+3*n
7-43
BT
registro16, registro16
3
(no existe) (no existe)
3
3
BT
memoria16, registro16
5-7 (no existe) (no existe)
12
8
BT
registro32, registro32
3
(no existe) (no existe)
3
3
BT
memoria32, registro32
5-7 (no existe) (no existe)
12
8
BT
registro16, inmediato8
4
(no existe) (no existe)
3
3
BT
memoria16, inmediato8
6-8 (no existe) (no existe)
6
3
BT
registro32, inmediato8
4
(no existe) (no existe)
3
3
BT
memoria32, inmediato8
6-8 (no existe) (no existe)
6
3
BTC
registro16, registro16
3
(no existe) (no existe)
6
6
BTC
memoria16, registro16
5-7 (no existe) (no existe)
13
13
BTC
registro32, registro32
3
(no existe) (no existe)
6
6
BTC
memoria32, registro32
5-7 (no existe) (no existe)
13
13
BTC
registro16, inmediato8
4
(no existe) (no existe)
6
6
BTC
memoria16, inmediato8
6-8 (no existe) (no existe)
8
8
BTC
registro32, inmediato8
4
(no existe) (no existe)
6
6
BTC
memoria32, inmediato8
6-8 (no existe) (no existe)
8
8
BTR
registro16, registro16
3
(no existe) (no existe)
6
6
BTR
memoria16, registro16
5-7 (no existe) (no existe)
13
13
BTR
registro32, registro32
3
(no existe) (no existe)
6
6
BTR
memoria32, registro32
5-7 (no existe) (no existe)
13
13
BTR
registro16, inmediato8
4
(no existe) (no existe)
6
6
BTR
memoria16, inmediato8
6-8 (no existe) (no existe)
8
8
BTR
registro32, inmediato8
4
(no existe) (no existe)
6
6
BTR
memoria32, inmediato8
6-8 (no existe) (no existe)
8
8
BTS
registro16, registro16
3
(no existe) (no existe)
6
6
BTS
memoria16, registro16
5-7 (no existe) (no existe)
13
13
BTS
registro32, registro32
3
(no existe) (no existe)
6
6
BTS
memoria32, registro32
5-7 (no existe) (no existe)
13
13
BTS
registro16, inmediato8
4
(no existe) (no existe)
6
6
BTS
memoria16, inmediato8
6-8 (no existe) (no existe)
8
8
BTS
registro32, inmediato8
4
(no existe) (no existe)
6
6
BTS
memoria32, inmediato8
6-8 (no existe) (no existe)
8
8
CALL procedimiento near (intrasegmento) 3
23
7+m
7+m
3
CALL procedimiento far (intersegmento) 5
36
13+m
17+m
18
CALL intrasegmento indirecto a memoria 2-4
29+EA
11+m
10+m
5
CALL intrasegmento indirecto a registro 2
24
7+m
7+m
5
CALL intersegmento indirecto a memoria 2-4
57+EA
16+m
22+m
17
CBW
1
2
2
3
3
CDQ
1
(no existe) (no existe)
2
3
CLC
1
2
2
2
2
CLD
1
2
2
2
2
CLI
1
2
3
3
5
CMC
1
2
2
2
2
CMP
registro, registro
2
3
2
2
1
CMP
registro, memoria
2-4
9(13)+EA
6#
6
2
CMP
memoria, registro
2-4
9(13)+EA
7#
5
2
CMP
registro, inmediato
3-4
4
3
2
1
CMP
memoria, inmediato
3-6 10(14)+EA
6#
5
2
CMP
acumulador, inmediato
2-3
4
3
2
1
CMPS
1
22(30)
8
10
8
CMPS (REP)
1
9+22(30)*n
5+9*n
5+9*n 5 (CX=0) 7+7*n
CWD
1
5
2
2
3
CWDE
1
(no existe) (no existe)
3
3
DAA
1
4
3
4
2
DAS
1
4
3
4
2
DEC
registro byte
2
3
2
2
1
DEC
registro palabra
1
2
2
2
1
DEC
memoria
2-4 15(23)+EA
7#
6
3
DIV registro byte
2
80-90
14
14
16
DIV registro palabra
2
144-162
22
22
24
DIV registro32
2
(no existe) (no existe)
38
40
DIV byte de memoria
2-4
86-96+EA
17 #
17
16
DIV palabra de memoria
2-4 154-172+EA
25 #
25
24
DIV palabra32 de memoria
2-6 (no existe) (no existe)
41
40
ENTER constante16, 0
4
(no existe)
11
10
14
ENTER constante16, 1
4
(no existe)
15
12
17
ENTER constante16, nivel
4
(no existe) 12+4*(n-1) 15+4*(n-1) 17+3*n
ESC inmediato, memoria
2-4
8(12)+EA
9-20 # (ver coproc.) (ver coproc.)
ESC inmediato, registro
2
2
2
(ver coproc.) (ver coproc.)
HLT
1
2
2
5
4
IDIV registro byte
2
101-112
17
19
19
IDIV registro palabra
2
165-185
25
27
27
IDIV registro32
2
(no existe) (no existe)
43
43
IDIV byte de memoria
2-4 107-118+EA
20 #
19
20
IDIV palabra de memoria
2-4 175-194+EA
28 #
27
28
IDIV palabra32 de memoria
2-6 (no existe) (no existe)
43
44
IMUL registro byte
2
80-98
13
9-14
13-18
IMUL registro palabra
2
128-154
21
9-22
13-26
IMUL registro32
2
(no existe) (no existe)
9-38
13-42
IMUL byte de memoria
2-4
86-104+EA
16
12-17
13-18
IMUL palabra de memoria
2-4 138-164+EA
24 #
12-25
13-26
IMUL palabra32 de memoria
2-6 (no existe) (no existe) 12-41
13-42
IMUL registro16 destino, constante
3-4 (no existe)
21
9-22
13-26
IMUL registro16 destino, memoria
5-7 (no existe) (no existe) 12-25
13-26
IMUL registro32 destino, memoria
5-7 (no existe) (no existe) 12-41
13-42
IMUL registro destino, registro, cte. 2-4 (no existe)
21
9-22
13-26
IMUL registro destino, memoria, cte. 3-4 (no existe)
24 #
12-25
13-26
IN
acumulador, puerto fijo
2
10(14)
5
12(26)
14(27)
IN
acumulador, DX
1
8(12)
5
13(27)
14(27)
INC registro byte
2
3
2
2
1
INC registro palabra
1
2
2
2
1
INC memoria
2-4
15(23)+EA
7#
6
3
INS
1
(no existe)
5
15(29)
17(30)
INS (REP)
2
(no existe)
5+4*n 13(27)+6*n 16(29)+8*n
INT 3
1
52
23+m
33
26
INT inmediato
2
51
23+m
37
30
INTO
1
53 4
24+m 3
35 3
28 3
IRET
1
32
17+m
22
15
JCXZ
2
18 6
8+m 4 9+m 5
31
JECXZ
2
(no existe) (no existe) 9+m 5
31
JMP short
2
15
7+m
7+m
3
JMP near (intrasegmento)
3
15
7+m
7+m
3
JMP far (intersegmento)
5
15
11+m
12+m
17
JMP intrasegmento indirecto a memoria 2-4
18+EA
11+m #
10+m
5
JMP intrasegmento indirecto a registro 2
11
7+m
7+m
5
JMP intersegmento indirecto a memoria 2-4
24+EA
15+m
17+m
13
Jxxx inmediato8
2
16 4
7+m 3 7+m 3
31
Jxxx inmediato32
6
(no existe) (no existe) 7+m 3
31
LAHF
1
4
2
2
3
LDS
2-4
24+EA
7#
7
6
LEA
2-4
2+EA
3#
2
1
LEAVE
1
(no existe)
5
4
5
LES
2-4
24+EA
7#
7
6
LFS
2-4 (no existe) (no existe)
7
6
LGS
2-4 (no existe) (no existe)
7
6
LSS
2-4 (no existe) (no existe)
7
6
LOCK
1
2
0
0
1
LODS
1
12(16)
5
5
5
LODS (REP)
1
9+13(17)*n
5+4*n
5+6*n 5 (CX=0) 7+4*n
LOOP
2
17 5
8+m 4
11+m
26
LOOPE
2
18 6
8+m 4
11+m
96
LOOPNE
2
19 5
8+m 4
11+m
96
LOOPZ
2
18 6
8+m 4
11+m
96
LOOPNZ
2
19 5
8+m 4
11+m
96
MOV memoria, acumulador
3
10(14)
3
2
1
MOV acumulador, memoria
3
10(14)
5
4
1
MOV registro, registro
2
2
2
2
1
MOV registro, memoria
2-4
8(12)+EA
5#
4
1
MOV memoria, registro
2-4
9(13)+EA
3#
2
1
MOV registro, inmediato
2-3
4
2
2
1
MOV memoria, inmediato
3-6 10(14)+EA
3#
2
1
MOV registro de segmento, registro
2
2
2
2
3
MOV registro, registro de segmento
2
2
2
2
3
MOV registro de segmento, memoria
2-4
8(12)+EA
5#
5
9
MOV memoria, registro de segmento
2-4
9(13)+EA
3#
2
3
MOVS
1
18(26)
5
7
7
MOVS (REP)
1
9+17(25)*n
5+4*n
5+4*n 5 (CX=0) 12+3*n
MOVSX registro16, registro8
3 (no existe) (no existe)
3
3
MOVSX registro16, memoria8
5-7 (no existe) (no existe)
6
3
MOVSX registro32, registro8
3 (no existe) (no existe)
3
3
MOVSX registro32, memoria8
5-7 (no existe) (no existe)
6
3
MOVSX registro32, registro16
3 (no existe) (no existe)
3
3
MOVSX registro32, memoria16
5-7 (no existe) (no existe)
6
3
MOVZX registro16, registro8
3 (no existe) (no existe)
3
3
MOVZX registro16, memoria8
5-7 (no existe) (no existe)
6
3
MOVZX registro32, registro8
3 (no existe) (no existe)
3
3
MOVZX registro32, memoria8
5-7 (no existe) (no existe)
6
3
MOVZX registro32, registro16
3 (no existe) (no existe)
3
3
MOVZX registro32, memoria16
5-7 (no existe) (no existe)
6
3
MUL
registro byte
2
70-77
13
9-14
13
MUL
registro palabra
2
118-133
21
9-22
13
MUL
registro32
2
(no existe) (no existe)
9-38
13
MUL
byte de memoria
2-4
76-83+EA
16 #
12-27
18
MUL
palabra de memoria
2-4 128-143+EA
24 #
12-25
26
MUL
palabra32 de memoria
2-6 (no existe) (no existe) 12-41
42
NEG registro
2
3
2
2
1
NEG memoria
2-4
16(24)+EA
7#
6
3
NOP
1
3
3
3
1
NOT registro
2
3
2
2
1
NOT memoria
2-4
16(24)+EA
7#
6
3
OR
registro, registro
2
3
2
2
1
OR
registro, memoria
2-4
9(13)+EA
7#
6
3
OR
memoria, registro
2-4
16(24)+EA
7#
7
3
OR
registro, inmediato
3-4
4
3
2
1
OR
memoria, inmediato
3-6
17(25)+EA
7#
7
3
OR
acumulador, inmediato
2-3
4
3
2
1
OUT
puerto fijo, acumulador
2
10(14)
3
10(24)
16(29)
OUT
DX, acumulador
1
8(12)
3
11(25)
16(29)
OUTS byte o palabra
1 (no existe)
5
14(28)
17(30)
OUTS (REP)
2 (no existe)
5+4*n
12(26)+5*n 17(31)+5*n
POP registro normal
1
12
5
4
4
POP registro de segmento
1
12
5
7
3
POP memoria
2-4
25+EA
5#
5
6
POPA
1 (no existe)
19
24
9
POPAD
1 (no existe) (no existe)
24
9
POPF
1
12
5
5
9
POPFD
1 (no existe) (no existe)
5
9
PUSH registro
1
14
3
2
1
PUSH memoria
2-4
24+EA
5#
5
4
PUSH inmediato
2-3 (no existe)
3
2
1
PUSHA
1 (no existe)
17
18
11
PUSHAD
1 (no existe) (no existe)
18
11
PUSHF
1
14
3
4
4
PUSHFD
1 (no existe) (no existe)
4
4
RCL
registro,1
2
2
2
9
3
RCL
registro,CL
2
8+4*bits
5
9
8-30
RCL
registro, contador
3 (no existe)
5
9
8-30
RCL
memoria, contador
3-6 (no existe)
8#
10
9-31
RCL
memoria,1
2-4
15(23)+EA
7#
10
4
RCL
memoria,CL
2-4 20(28)+EA+4*bits
8#
10
9-31
RCR
registro,1
2
2
2
9
3
RCR
registro,CL
2
8+4*bits
5
9
8-30
RCR
registro, contador
3 (no existe)
5
9
8-30
RCR
memoria, contador
3-6 (no existe)
8#
10
9-31
RCR
memoria,1
2-4 15(23)+EA
7#
10
4
RCR
memoria,CL
2-4 20(28)+EA+4*bits
8#
10
9-31
REP
1
2
0
0
0
REPE
1
2
0
0
0
REPNE
1
2
0
0
0
REPZ
1
2
0
0
0
REPNZ
1
2
0
0
0
RET intrasegmento
1
20
11+m
10+m
5
RET intrasegmento con SP+inmediato
3
24
11+m
10+m
5
RET intersegmento
1
32
15+m
18+m
13
RET intersegmento con SP+inmediato
3
31
15+m
18+m
14
ROL
registro,1
2
2
2
3
3
ROL
registro,CL
2
8+4*bits
5
3
3
ROL
registro, contador
3 (no existe)
5
3
2
ROL
memoria, contador
3-6 (no existe)
8#
7
4
ROL
memoria,1
2-4
15(23)+EA
7#
7
4
ROL
memoria,CL
2-4 20(28)+EA+4*bits 8 #
7
4
ROR registro,1
2
2
2
3
3
ROR registro,CL
2
8+4*bits
5
3
3
ROR registro, contador
3 (no existe)
5
3
2
ROR memoria, contador
3-6 (no existe)
8#
7
4
ROR memoria,1
2-4
15(23)+EA
7#
7
4
ROR memoria,CL
2-4 20(28)+EA+4*bits
8#
7
4
SAHF
1
4
2
3
2
SAL
registro,1
2
2
2
3
3
SAL
registro,CL
2
8+4*bits
5
3
3
SAL
registro, contador
3 (no existe)
5
3
2
SAL
memoria, contador
3-6 (no existe)
8#
7
4
SAL
memoria,1
2-4 15(23)+EA
7#
7
4
SAL
memoria,CL
2-4 20(28)+EA+4*bits 8 #
7
4
SAR
registro,1
2
2
2
3
3
SAR
registro,CL
2
8+4*bits
5
3
3
SAR
registro, contador
3 (no existe)
5
3
2
SAR
memoria, contador
3-6 (no existe)
8#
7
4
SAR
memoria,1
2-4
15(23)+EA
7#
7
4
SAR
memoria,CL
2-4 20(28)+EA+4*bits
8#
7
4
SBB
registro, registro
2
3
2
2
1
SBB
registro, memoria
2-4
9(13)+EA
7#
6
2
SBB
memoria, registro
2-4
16(24)+EA
7#
7
3
SBB
registro, inmediato
3-4
4
3
2
1
SBB
memoria, inmediato
3-6
17(25)+EA
7#
7
3
SBB
acumulador, inmediato
2-3
4
3
2
1
SCAS
1
15(19)
7
7
6
SCAS (REP)
1
9+15(19)*n
5+8*n
5+8*n 5 (CX=0) 7+5*n
SETcc registro8
2 (no existe) (no existe)
4
4
SETcc memoria8
4-6 (no existe) (no existe)
5
3
SHL registro,1
2
2
2
3
3
SHL registro,CL
2
8+4*bits
5
3
3
SHL registro, contador
3
(no existe)
5
3
2
SHL memoria, contador
3-6
(no existe)
8#
7
4
SHL memoria,1
2-4
15(23)+EA
7#
7
4
SHL memoria,CL
2-4 20(28)+EA+4*bits
8#
7
4
SHLD registro16, registro16, inmediato8 4 (no existe) (no existe)
3
2
CONTADOR 0: Genera una peticin de interrupcin cada cierto tiempo, que se aplica a
la lnea IRQ0 del controlador de interrupciones 8259(ligado a la INT 8, que a su vez
invoca a INT 1Ch). Esta interrupcin envia a la CPU a ejecutar una rutina de
actualizacin del calendario y el reloj del sistema.
CONTADOR 1: Se emplea de refresco de la DRAM. Cada cierto tiempo solicita
atencin del controlador DMA 8237, que se encarga de efectuar el refresco de las
DRAM, cuyo valor normal para el divisor es 18; aumentndolo se puede acelerar el
funcionamiento del ordenador, en los PC/XT se puede aumentar entre 19 y 1000 sin
demasiados riesgos, acelerndose en ocasiones hasta casi un 10% la velocidad de
proceso del equipo.
CONTADOR 2: Genera frecuencias audibles para el altavoz. . Este contador ha sido
conectado con el doble propsito de temporizar y de generar sonido. Para emplearlo en
las temporizaciones, es preciso habilitar la puerta GATE activando el bit 0 del puerto
61h; tambin hay que asegurarse de que la salida del contador no est conectada al
altavoz (a menos que se desee msica mientras se cronometra) poniendo a 0 el bit 1 del
mismo puerto (61h)
MODO 0: funciones de entrada/salida para cada bit de los 2 puertos de 8 bits y los 2
puertos de 4 bits; los datos son ledos y escritos sin ms, sin ningn tipo de control
adicional. Los puertos pueden ser configurados de entrada (sin latch) o salida (los datos
permanecen memorizados en un latch).
MODO 1: strobed input/output (entrada/salida a travs de un protocolo de seales).
Existen dos grupos (A y B) formados por los puertos A y B ms el puerto C, que es
repartido a la mitad entre ambos grupos para gestionar las seales de control.
MODO 2: bus bidireccional de 8 bits, por el que los datos pueden ir en un sentido o en
otro, siendo el flujo regulado de nuevo por seales de control a travs del puerto C.
Tanto las entradas como salidas son almacenadas en latch.
3.5.-SECCION DE EXPANSIONES
El canal de entrada/salida es una extensin del bus del Microprocesador 8088. Estos son como
demultiplexadores, repotenciadores y alzadores para la adicin de interrupciones y las
funciones del acceso directo a memoria (DMA).
El canal de entrada/salida contiene un data-bus bidireccional de 8 bits, 20 lneas de
direcciones, 6 niveles de interrupcin, lneas de control para la memoria de I/O lectura o
escritura, lneas de tiempo del reloj, 3 canales de DMA channel-check line, y fuente y tierra
para los adaptadores. Cuatro niveles de voltaje son provistos para las tarjetas de I/O: +5Vdc,
-5Vdc, +12Vdc, y
-12Vdc. Esas funciones son provistas en el conector de 62 pines con
100-mil card-tab-spacing.
Esta formada por 8 conectores o zcalos hembra, para soportar tarjetas de expansin que se
precisen. Se distinguen 2 tipos de conectores: los denominados J1-J7 y el J8 que es diferente
a los dems.
Los conectores J1-J7 se usan para aadir hardware adicional al sistema bsico del
microcomputador. Cada uno dispones de 62 contactos o pines, que suministran todas las lneas
de direcciones, datos y control precisas en el acoplamiento de gran variedad de opciones.
Los circuitos existentes en las tarjetas de expansin no pueden gobernar directamente el bus,
funcionando siempre como slave. Con el fin de facilitar las transferencias de datos a la
memoria principal, a elevada velocidad, se emplean los canales 1,2 y 3 del CDMA
El conector J8 es mas limitado, permitiendo, nicamente, el acceso al bus externo, pero no al
del sistema. De esta forma no tiene posibilidad de utilizar canales de DMA.
Una lnea lista esta disponible en el canal de entrada y salida para permitir una lenta
operacin con los artificios (devices) de memoria de I/O. Si el canal esta listo la linea no esta
activada por la instruccin direccionada, toda la generacin (ciclos) del procesador de memoria
de lectura y escritura toman 4*210 ns de reloj 840 ns/byte. la I/O generada por el
procesador requiere ciclos de lectura y escritura (5 ciclos o un tiempo de 1.05 us / byte). Los
ciclos de refresco ocurren una vez cada 72 ciclos de reloj (aproximadamente 15 s) y requiere
4 ciclos o aproximadamente el 7% del ancho de banda del bus.
Los artificios de I/O son direccionados usando el espacio de direcciones mapeado de I/O. El
canal esta diseado as; 768 artificios direccionados estn disponibles para los canales de las
tarjetas de I/O.
El channel-check existen instrucciones para el reporte de las condiciones de error del
procesador. Activando esta instruccin resulta una interrupcin no esnmascarable (NMI)
al procesador 8088. Las opciones de memoria de expansin son usadas en las instrucciones de
reporte de errores de paridad.
El canal de I/O es repotenciado para proveer suficiente informacin a la fuente de todos los
ocho slots de expansin (J1 hasta J8), asumiendo dos bajas potencias Schottky (LS) cargadas
por slot. El adaptador IBM de I/O es usado tpicamente solo para carga.
Los requerimientos de timing en el slot J8 son mas estrictos que los otros (slots J1 hasta J7).
El slot J8 tambin requiere que la tarjeta provea una seal (designar) cuando la tarjeta es
seleccionada. Las paginas mostradas describen el canal de I/O del system board.
Se muestra la descripcin del canal del computador personal IBM XT. Todas las instrucciones
son compatibles con TTL.
Seal
OSC
I/O
O
Descripcin.
Oscilador: Reloj de alta velocidad con un periodo de 70ns (14.31818
MHz) Tiene un ciclo de duracin del 50% .
CLK
O
Sistema de reloj: Esta dividido por tres (del oscilador) y tiene un
periodo de 210 ns (4.77 MHz) El reloj tiene un ciclo de duracin del 33%.
RESET DRV O
Esta instruccin es usada para resetear o inicializar el sistema o por
power-up (apagado) durante una baja de salida de voltaje.
A0-A19
O
Los bits de direcciones son de 0 a 19. Esas instrucciones son usadas en
la direccin de memoria y los artificios de I/O con el sistema; las 20
lneas de direccin permiten accesar a la parte superior de 1Mb de
memoria. A0 es el bit menos significativo (LSB) y el A19 es el mas
significativo (MSB). Esas instrucciones son generadas por el octavo
controlador DMA del procesador. Tienen nivel activo alto.
D0-D7
I/O Bits de datos del 0 al 7: Estas instrucciones proveen bits 0 al 7 al bus de
datos del procesador, los artificios de la memoria de I/O. D0 es el bit
menos significativo (LSB) y el D7 es el bit mas significativo (MSB). Tienen
nivel activo alto.
ALE
O
Address Latch Enable: Estas instrucciones son provistas por el
controlador del bus 8288 y usan el latch valido del system board
direccionado del procesador. Esta disponible al canal de I/O como un
indicador de direccin de proceso valido (cuando es usado con AEN). Las
direcciones del procesador son latcheadas con el edge de fallo de ALE.
I/O CH CK
I
I/O Channel-check: Esta instruccin provee al procesador con (error
de paridad) informacin en la memoria o divisiones del canal de I/O.
Cuando la seal es activada con nivel bajo en un indicador de error de
paridad.
/I/O CH RDY
I
I/O Channel-Ready: Esta instruccin normalmente esta activada por
nivel alto, en nivel bajo no esta activada por la memoria o el artificio de
I/O por el ancho los ciclos de memoria. Esto permite divisiones lentas
para la aceptacin del canal de I/O con un mnimo de dificultad. Algunas
veces las divisiones lentas usadas en las instrucciones sern conducidas
inmediatamente sobre la deteccin de direcciones validas y el comando de
lectura y escritura. Esta instruccin nunca ser tomada en algo mas bajo
que 10 ciclos de reloj. Los ciclos maquina (o memoria de I/O) son
extendidos a un numero integral de ciclos de CLK (210 ns).
IRQ2-IRQ7
I
Interrupt request 2 a 7: Estas lneas son usadas para la seal del
procesador que requiere atencin de artificios de I/O. Ellos son
priorizados con IRQ2 como la prioridad mas alta y IRQ7 es la mas baja.
Una peticin de interrupcin es generada por el levantamiento de la
instruccin IRQ (nivel bajo o alto) y se queda en nivel alto hasta que es
reconocida por el procesador (rutina de interrupcin de servicio).
/IOQ
O
I/O Read Command: Este comando instruye al artificio de I/O para
conducir un dato sobre el bus de datos. Esto puede ser conducido por el
procesador o el controlador de DMA, esta seal es de nivel activo bajo.
/IOW
O
I/O Write Command: Este comando instruye al artificio de I/O para
leer un dato del bus de datos. Esto puede ser conducido por el procesador
o el controlador de DMA, es de nivel activo bajo.
/MEMR
O
Memory Read Command: Este comando instruye al artificio de I/O para
almacenar un dato del bus de datos. Esto puede ser conducido por el
procesador o el controlador de DMA, es de nivel activo bajo.
/MEMW
O
Memory Write Command: Este comando instruye al artificio de I/O
para almacenar un dato presente sobre el bus de datos. Esto puede ser
conducido por el procesador o el controlador de DMA, es de nivel activo
bajo.
DRQ1-DRQ3
I
DMA request 1 a 3: Estas instrucciones son canales asncronos de
peticin usados por los perifricos para la divisin de ganancia del servicio
DMA. Ellos son priorizados con DRQ3, estando en el nivel mas bajo y
DRQ1 en el mas alto. Una peticin es generada por la ejecucin de la
instruccin a DRQ para un nivel activo (alto). La instruccin DRQ podra
ser alta hasta la correspondiente DACK sea activada.
/DACK0-3
AEN
T/C
/CARD SLCTD I
300mA al 10%, y -12V a 250mA al 10%. Todos los niveles de voltaje estan regulados con sobrevoltaje y proteccion contra sobre-corriente. La entrada es de 120V a.c. con fusible, si existen
condiciones de sobrecarga de voltaje dc. La fuente automticamente cierra la conexin hasta
que las condiciones sean adecuadas, es diseada para operar continuamente a 130 watts.
El sistema toma aproximadamente 2 a 4A de 5Vdc, permitiendo unos 11A de +5Vdc para el
adaptador en los slots de expansin. La fuente de +12Vdc esta diseada para proporcionar
alimentacin a la disketera de 5-1/4 pulg. La fuente de -5Vdc es usada para circuitos
analgicos en el adaptador Phase Lock Loop. La fuente de +12Vdc y -12Vdc es usada para
alimentar a los drivers EIA para los adaptadores de comunicaciones. Las 4 fuentes estn
buseadas a travs de los 8 slots de expansin. El Display Monocromo IBM tiene una fuente de
energa autosuficiente recibiendo la alimentacin de a.c. de la unidad de poder del sistema. La
salida a.c. para el Dsiplay es conmutada a on y off con el switch de poder y es un conector no
estndar aunque solamente el Display Monocromo IBM pueda ser conectado.
La fuente de poder esta localizada en el rea derecha de la unidad del sistema. Estas fuentes
operan los voltajes del system board y el Display Monocromo IBM y proveen dos conexiones
separadas para alimentar a la disquetera de 5-1/4 pulgadas y la disquetera normal.
La potencia nominal requerida y los voltajes de salida estn listados en las tablas mostradas:
Voltaje @ 50/60 Hz
Nominal Vac Mnimo Vac
110
90
Mximo Vac
137
Requerimientos de entrada
Frecuencia : 50/60 Hz +/- 3Hz
Corriente : 4.1 max @ 90 Vac
Voltaje
Vdc
Corriente(Amp
s.)
Nominal
+5.0
-5.0
+12.0
-12.0
Mnimo
Mximo
2.3
0.0
0.4
0.0
Regulacin
(Toleranci
a)
+%
-%
15.0
0.3
4.2
0.25
Vdc Salida
Voltaje Vac
Nominal
120
Corriente(Amps.)
Mnimo
Mximo
0.0
1.0
5
10
5
10
4
8
4
9
4.- PERIFRICOS
Como ya sabemos se conoce como perifericos a todos los dispositivos, como unidades de disco,
impresoras, mdem o joysticks, que estn conectados a un ordenador o computadora y son
controlados por su microprocesador. A pesar de que el trmino perifrico implica a menudo el
concepto de adicional pero no esencial , muchos son elementos fundamentales para un sistema
informtico. Los teclados, las pantallas y los ratones se consideran tambin dispositivos
perifricos.
El microprocesador 8088, tenia pues perifericos, comparandolos con los procesadores de hoy,
son casi los mismos aunque claro la tecnologia usada ha cambiado bastante, ademas hoy
tenemos mucho mas perifericos. El microprocesador 8088 permita el uso de gran variedad de
accesorios, que incluye monitor de color o monocromo, unidades de disco adicionales, discos
duros, adaptadores de comunicaciones para mdem (modulador - demodulador), adaptadores de
juegos y de joystick, tarjetas de expansin de memoria, y una amplia gama de impresoras. La
tabla siguiente muestra las caracteristica del PC XT, para darnos una idea de los perifericos
que podian conectarse a esta maquina,
Caracteristicas:
CPU:
Frecuencia
reloj:
del
Memoria:
Teclado:
Texto:
40x24 o 80x24
Colores:
16
Graficos:
Sonido:
Adapter)
Speaker
Puertos:
Extras:
1
Disquetera
de
5"1/4
1 Disco Rigido de 10 o 20 MBytes
Almacenamiento:
Sistema
Operativo:
Ao/Origen:
1983 EE.UU.
ISA
8-bits)
RGB
video
RS-232C
360Kbytes
Estos dispositivos permiten al usuario del ordenador introducir datos, comandos y programas
en la CPU. El dispositivo de entrada ms comn es un teclado similar al de las mquinas de
escribir. La informacin introducida con el mismo, es transformada por el ordenador en
modelos reconocibles. Otros dispositivos de entrada son los lpices pticos, que transmiten
informacin grfica desde tabletas electrnicas hasta el ordenador; y el joysticks, que
convierte el movimiento fsico en movimiento dentro de una pantalla de ordenador. Tambin es
posible utilizar los dispositivos de almacenamiento para introducir datos en la unidad de
proceso.
4.1.-EL TECLADO
Un teclado es un perifrico de entrada, que convierte la accin mecnica de pulsar una serie
de pulsos elctricos codificados que permiten identificarla. Las teclas que lo constituyen
sirven para entrar caracteres alfanumricos y comandos a un computador.
En un teclado se puede distinguir a cuatro subconjuntos de teclas:
*TECLADO ALFANUMERICO, con las teclas dispuestas como en una maquina de escribir.
*TECLADO NUMERICO, con teclas dispuestas como en una calculadora.
*TECLADO DE FUNCIONES, (desde F1 hasta F10 o F12) son teclas cuya funcin depende del
programa en ejecucin.
4.3.- VIDEO
En la configuracin de la IBM P.C., se contemplaban dos adaptadores de video: uno monocromo
que admite texto y otro que admite texto y grficos de color.
En la primera, la mquina generaba 25 lneas de 40 caracteres cada una (en tono verde, mbar
o blanco), visualizados parpadeantes o subrayados.
La tarjeta incluye una interfase para impresora en paralelo de 80 caracteres por segundo.
Aunque IBM nunca lo acept, se llam (y an se llama) a sta placa por el nombre de su
diseador: Hercules.
4.4.- IMPRESORAS
Una impresora permite obtener en un soporte de papel una hardcopy: copia visualizable,
perdurable y transportable de la informacin procesada por un computador:
Para imprimir, las impresoras constan de tres subsistemas:
Circuitos de preparacin y control de impresin.
Transporte de papel.
Mecanismo de impresin sobre papel.
El proceso de impresin es ordenado en un programa en alto nivel mediante una orden tipo
PRINT. Al ser traducido a cdigo de mquina, dicha orden se convierte en un llamado a una
subrutina del S.O o de la ROM BIOS.
La forma ms corriente y veloz de conectar una impresora a una PC es la conexin, mediante
el conector tipo D de 25 patas (puerto paralelo).
La conexin serie, supone un solo cable para enviar los datos a imprimir, bit a bit, desde el port
a la impresora. Se usa para imprimir lentamente a distancia( hasta unos 15 mtts del
computador), debido a que la conexin en paralelo solo permite distancias de hasta 3 4 mts.
Por la interferencia elctrica entre lneas.
Impresora de impacto por matriz de agujas.
Recibe este nombre por que su cabezal mvil de la impresin contiene una matriz de agujas
mviles en conductos del mismo, dispuestas en una columna o ms columnas.
Es una impresora por impacto: si una aguja es impulsada hacia fuera del cabezal por un
mecanismo basado en un electroimn impacta una cinta entintada, y luego retrocede a su
posicin de reposo merced a un resorte. La cinta sobre la zona de papel a imprimir al ser
impactada por una aguja transfiere un punto de su tinta al papel. As una aguja de 0,2 mm. de
dimetro genera un punto de 0,25 mm. de dametro.
Muchas impresoras presentan adems RAM para definir matrices de otras tipografas no
incorporadas.
La desventaja de estas impresoras es que son ruidosas y su baja velocidad. Una pgina por
minuto en modo texto y hasta tres en borrador . Una resolucin tpica puede ser 120 X 70
d.p.i. Los 120 d.p.i se deben a que el cabezal se dispara cada 1/120 de pulgada en su movimiento
horizontal. Tambin hay de 60 y 240 d.p.i. Los 70 d.p.i de resolucin vertical suponen que entre
dos agujas existe una separacin de 1/70 de pulgada. Tambien la resolucin depende del
dimetro de las agujas, para obtener puntos ms pequeos.
Los grficos no salen muy bien y tardan mucho en estas impresoras. Esto se debe a que en
modo grfico se le debe enviar al buffer de la impresora los bytes que indican que agujas
deben dispararce en cada posicin del cabezal. En texto en cambio solo debe enviarse a dicho
buffer el cdigo ASCII de los caracteres a imprimir.
4.5.-DISCO RIGIDO
Estn fabricados con una aleacin de aluminio con un recubrimiento magntico
El cabezal de lectura-escritura esta compuesta de varios cabezales unidos entre s, tanto
fsica como elctrica y electrnicamente. Esta unidad es mucho ms frgil que la de las
disqueteras, ya que las cabezas vuelan sobre la superficie del disco, es decir, se encuentra a
una distancia de varias micras del disco sin llegar a tocarlo. El campo magntico que se crea
entre las superficies metlicas del disco y los cabezales es lo suficientemente amplio como
para poder leer o escribir sobre ellos, pero a unas velocidades mucho mayores que en los discos
flexibles, ya que prcticamente no existe rozamiento alguno.
Circuito impreso controlador: Situado en la parte inferior del conjunto de disco duro. Contiene
los dispositivos electrnicos que controlan: la velocidad de giro, la posicin de la cabeza de
lectura-escritura y la activacin de obtencin o grabacin de datos. Este circuito consta, en un
principio, de tres conectores: Dos planos de pistas doradas y uno blanco con cuatro patillas
AMP hembra. Los primeros se utilizan para comunicarse el disco duro con su tarjeta
controladora que esta unida a la CPU, mediante otro conector plano.
4.8.- MODEM
La comunicacin entre PCs se logra mediante la utilizacin de las redes telefnicas y modems.
El mdem para los PC XT era externo. Su funcin es permitir conectar un computador a una
lnea telefnica, para recibir o transmitir informacin.
Cuando un mdem transmite, debe ajustar su velocidad de transmisin de datos, tipo de
modulacin, correccin de errores y de compresin. Ambos modems deben operar con el mismo
estndar de comunicacin.
Cuando un mdem transmite tonos se dice que modula o convierte la seal digital binaria
proveniente de un computador en dichos tonos que representan o portan bits.
Del mismo modo que el odo de la persona que en el extremo de la lnea puede reconocer la
diferencia de frecuencia entre los tonos del 0 y 1, otro mdem en su lugar tambin detecta
cual de las dos frecuencias esta generando el otro mdem, y las convierte en los niveles de
tensin correspondiente al 0 y al 1.
Esta accin del mdem de convertir tonos en seales digitales, o sea en detectar los ceros y
unos que cada tono representa, se llama demodulacion.
INTERFAZ RS-232C:
8.- BIBLIOGRAFA
http://www.wikilearning.com/
http://atc.ugr.es/docencia/udigital
http://www.alpertron.com.ar/8088.HTM
http://www.monografias.com/
Angulo, Jose Maria ; Fundamentos Diseo y Programacin; 5ta edicin; pag 39-45, 758-798
Intel, Datasheet 8088 8-bit Hmos Microprocessor 8088/8088-2 , agosto 1990, pag 1-7
Ibm corp.
Ibm at technical reference. - 1984. 600 pginas.
IBM, Technical Reference Pc xt 8088 User Guide, Section Hardware
Ralf Brown.
Jon Beltrn de Heredia.
Lenguaje Ensamblador de los 80XX.
8.- BIBLIOGRAFA
http://www.wikilearning.com/
http://atc.ugr.es/docencia/udigital
http://www.alpertron.com.ar/8088.HTM
http://www.monografias.com/
Angulo, Jose Maria ; Fundamentos Diseo y Programacin; 5ta edicin; pag 39-45, 758-798
Intel, Datasheet 8088 8-bit Hmos Microprocessor 8088/8088-2 , agosto 1990, pag 1-7
Ibm corp.
Ibm at technical reference. - 1984. 600 pginas.
IBM, Technical Reference Pc xt 8088 User Guide, Section Hardware
Ralf Brown.
Jon Beltrn de Heredia.
Lenguaje Ensamblador de los 80XX.