Está en la página 1de 30

Lab.

Arquitectura de computadoras
CMOS

NDICE
1 PROGRAMAS RESIDENTES TIPEADOS DE LOS TEXTOS ESPECIALIZADOS
EN ALGN LENGUAJE PEQUEO PORTABLE (ASEMBLER, BASIC, C STD,
PASCAL, ETC).................................................................................................. 2
1.1

Programa Residente en Memoria.......................................................2

1.2

PROGRAMAS:..................................................................................... 2

1.2.1

1 Primer Programa.....................................................................2

1.2.2

2 Segundo Programa.................................................................3

2 Direccin base del reloj de tiempo real de la PC y realizar un programa


para poder tener acceso a dicho reloj en lectura y escritura.........................4
2.1

EL RELOJ DE TIEMPO REAL.................................................................4

2.2

LAS FUNCIONES DE RELOJ.................................................................6

2.3

REGISTROS DE ESTADO.....................................................................7

2.3.1

REGISTRO A................................................................................. 7

2.3.2

REGISTRO B................................................................................. 7

2.3.3

REGISTRO C................................................................................. 7

2.3.4

REGISTRO D................................................................................ 8

2.3.5

PROGRAMA DE RELOJ RESIDENTE EN TIEMPO REAL....................8

3 PROGRAMAR ALARMAS DE ACUERDO AL USO DEL RELOJ DE TIEMPO


REAL DE LA PC............................................................................................. 12
4 INTERRUPCIONES POR HARDWARE USADAS EN LA PC CUALES ESTN
OCUPADAS Y CUALES DISPONIBLES.............................................................12

4.1

INTERRUPCIONES INTERNAS DE HARDWARE:..................................12

4.2

INTERRUPCIONES EXTERNAS DE HARDWARE:.................................12

4.3

INTERRUPCIONES DE HARDWARE:...................................................12

DESCRIBIR EL PROCEDIMIENTO PARA ACCEDER A UNA INTERRUPCIN.13


5.1

HARDWARE DE LOS IRQ:..................................................................13

5.2

ASIGNACIN DE LOS IRQ PARA EQUIPOS AT:....................................14

6 INTERRUPCIONES POR SOFTWARE USADAS EN LA PC CUALES ESTN


OCUPADAS Y CUALES DISPONIBLES.............................................................16
6.1

INTERRUPCIONES DE SOFTWARE:....................................................16

7 DISEO DE UN SISTEMA DE FORMA QUE PODAMOS PROBAR LAS


INTERRUPCIONES DE AMBOS TIPOS . TRAER PROGRAMA PROBADO FUENTE Y
COMPILADO.................................................................................................. 17
8 EL SETUP DE LA PC, LAS OPCIONES DE CONFIGURACIN Y LOS
PARMETROS................................................................................................ 23
8.1

BIOS SETUP...................................................................................... 23

8.2

STANDARD CMOS SETUP..................................................................24

8.3

ADVANCED CMOS SETUP.................................................................25

8.4

ADVANCED CHIPSET SETUP.............................................................25

Lab. Arquitectura de computadoras


CMOS
8.5
9

POWER MANAGEMENT SETUP..........................................................26

BIBLIOGRAFIA......................................................................................... 27

CMOS PROGRAMAS RESIDENTES Y MANEJO DE


INTERRUPCIONES.
1 PROGRAMAS RESIDENTES TIPEADOS DE LOS
TEXTOS ESPECIALIZADOS EN ALGN LENGUAJE
PEQUEO PORTABLE (ASEMBLER, BASIC, C STD,
PASCAL, ETC)
1.1 Programa Residente en Memoria
Un programa residente o TSR ( Terminate and Stay Resident )es un
programa normal y corriente que, tras ser cargado, permanece parcial o
totalmente en memoria al finalizar su ejecucin. Ello es posible utilizando
una funcin especfica del sistema operativo. Los programas residentes
pueden ser activados mediante una combinacin de teclas o bien actuar con
cierta periodicidad, asociados a la interrupcin del temporizador.
Tambin pueden interceptar funciones del DOS o de la BIOS para cambiar o
modificar su funcionamiento. Al final, casi siempre resulta totalmente
inevitable desviar alguna interrupcin hacia una nueva rutina que la
gestione, con objeto de activar el programa residente

1.2 PROGRAMAS:
1.2.1 1 Primer Programa
Este primer programa en C colocar de manera perpetua mi nombre
Lab. Arquitectura haciendo un pseudoscroll horizontal en la
esquina superior derecha.
#include <dos.h>
#include <conio.h>
extern unsigned _heaplen=1024;
extern unsigned _stklen=512;
void interrupt (*OldTic)(void);
void KillTic(void);
void interrupt Tic()
{
unsigned int (far *pantalla)[80];
static int prueba=0;
int i;
static char cad[24] = "LABORATORIO ARQUITECTURA";
pantalla = MK_FP(0xb800,0);

Lab. Arquitectura de computadoras


CMOS
for(i=55;i<=79;i++){
pantalla[0][i]=cad[prueba%=24] +
prueba++;}
prueba++;

0x7900;

if ((peekb(0x40,0x17) & 12) == 12)


KillTic();
OldTic();
}
void AliveTic(void)
{
OldTic = getvect (0x1c);
setvect (0x1c,Tic);
keep(0, (_SS+(_SP/16) - _psp));
}
void KillTic(void)
{
setvect (0x1c,OldTic);
freemem(peek(_psp,44));
freemem(_psp);
}
void main(void)
{
clrscr();
cprintf(" Pulsa <CTRL> + <ALT> para desistalar");
AliveTic();
}

1.2.2 2 Segundo Programa


Este programa en C colocar a los mandos de un teclado con
sonidos, ya que asocia a cada tecla del teclado un sonido diferente
mientras las pulsemos.

#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#define vec_int 0x09

/* direccion del vector de interrupciones */

/* DECLARACION DE LAS FUNCIONES A USAR */


int esta (void); /* LA INTERRUPCION YA ESTA EN MEMORIA */
void interrupt Madre (void); /* INTERRUPCION A METER EN EL VECTOR DE INT.*/
void
interrupt
(*almacen)(void);
/*
DONDE
ALMACENO
EL
VECTOR
INTERRUPCIONES*/
void KillMadre (void); /* DESINSTALO LA INTERRUPCION METIDA EN EL VECTOR */

DE

void main(void)
{
if (esta ()){
printf ("\nEl programa ya est instalado.\n");
printf ("\nNo permite m s instalaciones.... NiCe 2 MEET U
by
IcEmAn\n\n");
printf ("\nPara desinstalar pulsar [CTRL]+[ALT]\n");
exit (0);
}
almacen = getvect (vec_int); /* guardo la direccion del vector de inter.*/
setvect (vec_int,&Madre); /* meto la rutina madre en el vector de inter.*/

Lab. Arquitectura de computadoras


CMOS
printf("\nTeclado musical by Jos Luis Navarro Simn....(IcEmAn)\n");
printf("\nPara salir pulsar simult neamente [CTRL]+[ALT]\n");
keep (0,(_SS+(_SP/16) - _psp)); /* lo mantengo en memoria residente */
}
int esta (void)
{
int dominio;

dominio=peek(0,vec_int*4); /*Abarca todo el vector de interrupciones*/


return (dominio==FP_OFF(&Madre)); /* operacion logica, verdadera si en*/
/* el vector de interrupciones esta*/

/* madre */
void KillMadre (void)
{
nosound ();
/* quitas el sonido que esta activo*/
setvect (vec_int,almacen); /* mete la direccion donde apunta el vector
de*/
/* interrupciones en el vector de interrupciones*/
/* y asi se anula la rutina que haba en memoria*/
freemem(peek(_psp,44));/* Desplazamos _psp a la posicion 44 que es donde
se guarda la direccion del segmento de entorno
y liberamos la memoria */
freemem(_psp);
}
void interrupt Madre (void)
{
sound (inportb(0x60)*200); /* lees del puerto de teclado, y el entero */
/* resultante lo multiplicas para que salga*/
/* un sonido audible */
if ((peekb(0x40,0x17) & 12)==12) /* si pulsas control alt */
KillMadre();
almacen();
}

2 Direccin base del reloj de tiempo real de la PC y


realizar un programa para poder tener acceso a
dicho reloj en lectura y escritura.
2.1 EL RELOJ DE TIEMPO REAL
Un chip muy importante es el reloj de tiempo real (Real-Time-Clokc, RTC). Se
trata de un Dallas 1287 o similar. Est mantenida por bateras y trabaja en
un modo de baja energa que lo protege de prdidas d datos durante la
conexin o desconexin del equipo.
En el RAM RTC de 64 bytes, a veces tambin llamada CMOS-RAM, se guarda
la configuracin del sistema. Adems el chip nos ofrece un reloj, un
calendario, as como la posibilidad de una interrupcin peridica
programable.
La actualizacin del tiempo y el calendario se realiza en forma cclica. El
contador de segundo se incrementa en uno cada segundo, siempre que el
RTC se encuentre en el modo de funcionamiento normal. Si se realiza un
rebase, los dems registros afectados tambin se incrementan.

Lab. Arquitectura de computadoras


CMOS
Durante este rebase, los bytes 0 hasta 9 de la de la RAM RTC no estn
disponibles para la CPU. La velocidad del ciclo de actualizacin se ajusta
mediante lo bits divisores 2 hasta 0 registro de estado A, as como el SET-Bit
7 del registro de estado B.
EL acceso a la RAM RTC es muy sencillo. Primero se ha de enviar al port 70h
el nmero de indice del registro deseado. Despus se puede escribir o leer
los datos en el port 71h. Todos los registros de lectura y escritura, excepto
los siguientes se pueden leer.

Registros de estado C y D
Bits 7 del registro de estado A
Bits 7 del byte de segundos (Index 00h)
Los primeros 14 bytes de la RAM RTC se emplean para el reloj y los cuatro
registros de estado. Los restantes 50 Bytes sirven para la configuracin del
sistema. La ocupacin exacta de los diferentes bytes se pueden ver en la
siguiente tabla.
00
h

Segundos

20h HD 1 Nmero de cilindros Low

01
h

Segundos Alarma

21h HD 1 Nmero de cilindros High

02
h

Minutos

22h Cabezales HD 1

03
h

Minutos Alarma

23h HD 1
Low

inicio

Pre-Compensation

04
h

Horas

24h HD 1
High

inicio

Pre-compensation

05
h

Horas Alarma

25h HD 1 Low landing zone

06
h

Da de la semana

26h HD 1 High landing zone

07
h

Da del mes

27h HD 1 sectores

08
h

Mes

28h Opciones 1

09
h

Ao

29h Reservado

Lab. Arquitectura de computadoras


CMOS
0A
h

Estado A

2A
h

Reservado

0B
h

Estado B

2B
h

Opciones 2

0C
h

Estado C

2C
h

Opciones 3

0D
h

Estado D

2D
h

Reservado

0Eh Estado de Diagnstico

2Eh Low CMOS RAM Checksum

0Fh Estados Shutdown

2Fh High CMOS RAM Checksum

10
h

Tipo de Flopy

30h Low Extended Memory byte

11
h

Reservado

31h High Extended Memory byte

12
h

Tipo de HD

32h byte de siglo

13
h

Reservado

33h Setup information

14
h

Equipamiento

34h Velocidad CPU

15
h

Low Base Memory

35h HD 2 Nmeros de cilindros Low

16
h

High Base Memory

36h HD 2 Nmeros de cilindros High

17
h

Low Extended Memory

37h Cabezales HD2

18
h

High Extended Memory

38h HD 2 inicio Pre-Compesation Low

19
h

HD 1 extended Type byte

39h HD 2 inicio Pre-Compesation High

1A
h

HD 2 extended Type byte

3A
h

HD Low Landing zone

1B
h

Reservado

3B
h

HD High Landing zone

1C
h

Reservado

3C
h

HD 2 Sectores

Lab. Arquitectura de computadoras


CMOS
1D
h

Reservado

3D
h

Reservado

1Eh Reservado

3Eh Reservado

1Fh Installed Features

3Fh Reservado

2.2 LAS FUNCIONES DE RELOJ


La CPU obtiene la hora y fecha leyendo el byte correspondiente del RTC. Si
este est incrementando actualmente, la lectura no es posible. Mediante la
Escritura de un valor en los bytes, estos se inicializan.
Si quiere escribir datos en los bytes, se ha de apagar el primero de los RTCUndates en el registro en registro de estado B mediante el SET-bit. Los datos
del reloj estn guardados en formato BCD. Es decir, que los 4 bits superiores
representan el nmero. Los siguientes valores se pueden encontrar en los
diferentes bytes.
Funcin

Direcci
n

Datos
BCD

Segundos

00

00
59

hasta

Segundos Alarma

01

00
59

hasta

Minutos

02

00
59

hasta

Minutos Alarma

03

00
59

hasta

Da de la semana

06h

01
07

hasta

Da del mes

07h

01
31

hasta

Mes

08h

01
12

hasta

Ao

09h

01
99

hasta

2.3 REGISTROS DE ESTADO


Los RTC disponen de cuatro registros de estado. Sirven para el control del
chip y muestra su estado actual.

Lab. Arquitectura de computadoras


CMOS
2.3.1 REGISTRO A
El Registro A es especialmente interesante por la posibilidad de determinar
con l la velocidad de la llamada de la interrupcin peridica. El bit 7 puede
encontrar el bit UIP (=Update in Progress). Si tiene el valor 1, se est
realizando una actualizacin del tiempo en este instante. Los bits 6 hasta 4
contiene la base de tiempo. El valor estndar para ella es de 101b, lo que
representa un valor de 32768d Hz. Debera prestar especial atencin a los
bits RS 3 hasta 0. Son responsables de la seleccin de tasas. La tasa se
calcula segn la frmula.
Tasa = 65536 / 2^RS
El valor por defecto es 1024 Hz se calcula por consiguiente de 65536/2 6
(100b).
2.3.2 REGISTRO B
El Registro B es un registro con muchas funciones. Cada bit tiene la suya
propia. Comencemos con el SET-Bit 7. Si est a 1, se interrumpe el ciclo
momentneo de actualizacin una vez por segundo. El PIE-Bit (Periodic
Interrupt Enable) determina si la interrupcin peridica se ha de llamar con
la frecuencia ajustada en el registro A. Si el bit 1, se realiza la llamada, de lo
contrario no se dispara ninguna interrupcin. En el AIE-Bit 5 ( Alarm Interrup
Enable) puede encontrar la informacin sobre si la interrupcin de alarma se
dispara a la hora ajustada.
Si el bit vale1, la interrupcin est activa. La interrupcin de actualizacin se
dispara cuando se puede encontrar el valor 1 en el UIE-bit 4 (Update Ended
Interrupt Enable). Con el SQWE-Bit 3 (Square Wave Enable ) puede elegir si
se debe activar la frecuencia de onda rectangular ajustada en el registro A
(Bit=1) o no. El DM-Bit2 (Date Mode) es importante cuando accede a la
fecha. Si el Bit contiene el valor 1 los nmeros se encuentran en formato
binario.
Por defecto puede encontrar aqu el valor 0, que indica el formato BCD.
Mediante el 24/12-Bit 1 (24/12 hour) se elige si el reloj se encuentra en
modo de 24 horas o en el de 12 horas. Por defecto puede encontrar aqu el
valor 1, que representa el modo de 24 horas. En el DSE-bit 0 (Daylight
Savings Enabled) puede finalmente encontrar la informacin de si el reloj ha
de tener cuanta el horario de verano o no. De forma estndar esto est
apagado mediante un valor de 0.
2.3.3 REGISTRO C
El registro 0Ch es el registro de banderas. El bit7 indica el InterruptRequest-flag. Contiene el valor de 1 cuando se puede aplicar un de los
usados que disparan una interrupcin y la bandera corresponde a est en
enable. El bit 6 es una bandera que indica una interrupcin peridica. El bit
5 se pone 1 cuando hay una coincidencia entre la hora de alarma ajustada y
la hora actual. La bandera tambin se activa cuando la interrupcin de
alarma no est ajustada. El bit 4 finalmente es la llamada Undate Ended

Lab. Arquitectura de computadoras


CMOS
Interrupt-flag. Indica, como se nombre permite suponer, cuando se a
terminado un ciclo de actualizacin del RTC. Los bits 3 hasta 0 estn
reservados. Por favor tenga en cuanta que el contenido de este registro
borrado despus de cada acceso de lectura.
2.3.4 REGISTRO D
El registro D sirve para la vigilancia de la batera. Si el bit 7 est activado, la
batera se encuentra en perfecto estado. De lo contrario, el valor de 0
muestra que la batera esta defectuosa. El bits 6 hasta 0 no tienen ninguna
funcin.
El siguiente ejemplo utiliza las funciones del reloj que corresponden al
tiempo como son la hora minutos segundos. Este programa permite leer el
dato de la direccin de memoria y poder visualizarla en pantalla.
La hora del reloj de tiempo reloj se calcula a partir del contador del
temporizador, que se encuentra en las palabras 40h:6Ch( inferior) y 40h:6Eh
Superior.
El siguiente programa diseado en Assembler es una rutina residente para
escribir la hora en la esquina superior derecha de la pantalla.
2.3.5 PROGRAMA DE RELOJ RESIDENTE EN TIEMPO REAL
;
PANTALLA EQU 0B000H
CODIGO SEGMENT
ASSUME CS:CODIGO,DS:CODIGO
ORG 100H
INICIO:
JMP INSTALAR
HORA DB 11 DUP(?)
RELOJ PROC
CLI
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH DS
PUSH ES
;HORA -------> 40h:6Ch
MOV AX,40H
MOV ES,AX
MOV SI,6CH
MOV AX,ES:[SI]
MOV DX,ES:[SI+2]
MOV BX,32771
DIV BX
SHR AX,1
MOV CH,AL
MOV AX,DX
MOV DX,0
MOV BX,1092
DIV BX
MOV CL,AL
MOV AX,DX
MOV DX,0

Lab. Arquitectura de computadoras


CMOS

ALE:

MOV
DIV
MOV
MOV
MOV
MOV
DIV
ADD
MOV
MOV
MOV
MOV
DIV
ADD
MOV
MOV
MOV
MOV
DIV
ADD
MOV
MOV
MOV
MOV
DIV
ADD
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
INC
MOV
INC
INC
DEC
CMP
JNZ

BX,18
BX
DH,AL
BH,10
AH,0
AL,CH
BH
AX,3030H
WORD PTR HORA,AX
HORA+2,':'
AH,0
AL,CL
BH
AX,3030H
WORD PTR HORA+3,AX
HORA+5,':'
AH,0
AL,DH
BH
AX,3030H
WORD PTR HORA+6,AX
HORA+8,':'
AH,0
AL,DL
BH
AX,3030H
WORD PTR HORA+9,AX
AX,PANTALLA
ES,AX
DI,2*(80-11)
CX,11
SI,0
AL,HORA[SI]
ES:[DI],AL
DI
BYTE PTR ES:[DI],31
SI
DI
CX
CX,0
ALE:

FIN:
POP ES
POP DS
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
STI
IRET
RELOJ ENDP
INSTALAR PROC
MOV AX,0000H
MOV ES,AX
MOV BX,01CH*004H
CLI
MOV WORD PTR ES:[BX],OFFSET RELOJ
MOV WORD PTR ES:[BX+2],CS
MOV DX,OFFSET INSTALAR
STI
INT 27H
INSTALAR ENDP
CODIGO ENDS
END INICIO
;PROGRAMA DE RELOJ RESIDENTE

10

Lab. Arquitectura de computadoras


CMOS
;SEGMENTO MEMORIA DE PANTALLA VGA
PANTALLA EQU 0B800H
;SEGEMENTO PRINCIPAL
CODIGO SEGMENT
ASSUME CS:CODIGO,DS:CODIGO
ORG 100H
; ORIGEN POR SER FICHERO TIPO COM
INICIO:
JMP INSTALAR
; VARIABLES DEFINIDAS
HORA DB 35 DUP('?')
RELOJ PROC
CLI
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH

AX
BX
CX
DX
SI
DI
DS
ES

;OBTENEMOS LA HORA DE LA DIRECCION -------> 40h:6Ch (INFERIOR)


;
40h:6eh (SUPERIOR)
MOV
MOV
MOV
MOV
MOV
MOV
DIV
SHR
MOV

AX,40H
ES,AX
SI,6CH
AX,ES:[SI]
DX,ES:[SI+2]
BX,32771
BX
AX,1
CH,AL

MOV
MOV
MOV
DIV
MOV

AX,DX
DX,0
BX,1092
BX
CL,AL

MOV
MOV
MOV
DIV
MOV

AX,DX
DX,0
BX,18
BX
DH,AL

MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV

HORA,'F'
HORA+1,'E'
HORA+2,'R'
HORA+3,'D'
HORA+4,'I'
HORA+5,'N'
HORA+6,'A'
HORA+7,'N'
HORA+8,'D'
HORA+9,' '
HORA+10,'C'
HORA+11,'O'
HORA+12,'N'
HORA+13,'D'
HORA+14,'O'
HORA+15,'R'
HORA+16,'I'

11

Lab. Arquitectura de computadoras


CMOS
MOV
MOV
MOV
MOV
DIV
ADD
MOV
MOV

HORA+17,' '
BH,10
AH,0
AL,CH
BH
AX,3030H
WORD PTR HORA+18,AX
HORA+20,':'

MOV
MOV
DIV
ADD
MOV
MOV

AH,0
AL,CL
BH
AX,3030H
WORD PTR HORA+21,AX
HORA+23,':'

MOV
MOV
DIV
ADD
MOV
MOV

AH,0
AL,DH
BH
AX,3030H
WORD PTR HORA+24,AX
HORA+26,':'

MOV
MOV
DIV
ADD
MOV

AH,0
AL,DL
BH
AX,3030H
WORD PTR HORA+27,AX

; DIRECCIONA ZONA DE MEMORIA DE LA PANTALLA


MOV AX,PANTALLA
MOV ES,AX
MOV DI,2*(80-31)
MOV CX,31
MOV SI,0

; cambiar con el tamao de la cadena


; cambiar

MOVER:
MOV AL,HORA[SI]
MOV ES:[DI],AL
INC DI
MOV BYTE PTR ES:[DI],31H
INC SI
INC DI
LOOP MOVER
FIN:
POP ES
POP DS
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
STI
IRET
RELOJ ENDP
INSTALAR
MOV
MOV
MOV
CLI
MOV
MOV
MOV
STI

PROC
AX,0000H
ES,AX
BX,01CH*004H
WORD PTR ES:[BX],OFFSET RELOJ
WORD PTR ES:[BX+2],CS
DX,OFFSET INSTALAR

12

Lab. Arquitectura de computadoras


CMOS
INT 27H
INSTALAR ENDP
CODIGO ENDS
END INICIO

3 PROGRAMAR ALARMAS DE ACUERDO AL USO DEL


RELOJ DE TIEMPO REAL DE LA PC.
Existen muchas aplicaciones posibles que podra hacer uso del reloj de
tiempo real de la PC. Por ejemplo, se podra trabajar con la hora para
chequear algn dispositivo, mantener un contador interno para realizar algo
cuando alcance cierto valor, etc.

4 INTERRUPCIONES POR HARDWARE USADAS EN LA


PC
CUALES
ESTN
OCUPADAS
Y
CUALES
DISPONIBLES.
Las interrupciones de hardware pueden ser internas o externas.

4.1 INTERRUPCIONES INTERNAS DE HARDWARE:


Las interrupciones internas son generadas por ciertos eventos que surgen
durante la ejecucin de un programa.
Este tipo de interrupciones son manejadas en su totalidad por el hardware y
no es posible modificarlas.
Un ejemplo claro de este tipo de interrupciones es la que actualiza el
contador del reloj interno de la computadora, el hardware hace el llamado a
esta interrupcin varias veces durante un segundo para mantener la hora
actualizada.
Aunque no podemos manejar directamente esta interrupcin (no podemos
controlar por software las actualizaciones del reloj), es posible utilizar sus
efectos en la computadora para nuestro beneficio, por ejemplo para crear
un "reloj virtual" actualizado continuamente gracias al contador del reloj
interno. Unicamente debemos escribir un programa que lea el valor actual
del contador y lo traduzca a un formato entendible para el usuario.

4.2 INTERRUPCIONES EXTERNAS DE HARDWARE:


Las interrupciones externas las generan los dispositivos perifricos, como
pueden ser: teclado, impresoras, tarjetas de comunicaciones, etc. Tambin
son generadas por los coprocesadores.
No es posible desactivar a las interrupciones externas.
Estas interrupciones no son enviadas directamente a la UCP, sino que se
mandan a un circuito integrado cuya funcin es exclusivamente manejar
este tipo de interrupciones. El circuito, llamado PIC 8259A, si es controlado
por la UCP utilizando para tal control una serie de vas de comunicacin
llamadas puertos.
13

Lab. Arquitectura de computadoras


CMOS

4.3 INTERRUPCIONES DE HARDWARE:


Nro Usada
por

Descripcin

Sistema

Reloj del Sistema

Sistema

Teclado

Libre

Actualmente IRQ2 e IRQ9 estn unidas entre s.

COM2,
COM4

Reservada para COM2, COM4, Si ud. no posee placa


multifuncin Puede estar libre

COM1,
COM3

Reservada para COM1, COM3, Si ud. no posee placa


multifuncin Puede estar libre

Libre

Reservada para LPT2, Normalmente libre an si hay 2 mas


Impresoras.

Sistema

Controladora de Disketteras, FDD, Floppy disk controller.

Libre

Reservada para
Impresoras.

Sistema

RTC, Reloj de tiempo real, Reloj del sistema.

Libre

En sistemas PCI es utilizada por el PLUG &PLAY

10

Libre

En sistemas PCI se asigna al Slot Nro 1 (Generalmente Video)

11

Libre

En sistemas PCI es utilizada por el PLUG &PLAY

12

Libre

En sistemas PCI es utilizada por el PLUG &PLAY

13

Sistema

Coprocesador Matemtico Todos los sistemas 486 DX y


superiores lo poseen.

14

Sistema

Disco rgido IDE- Solamente. Controladora primaria IDE

LPT1,

Normalmente

libre

an

si

hay

Puede ser que en un sistema con HD SCSI y un CD-ROM IDE el


CD est conectado al conector IDE primario.
15

La utiliza la segunda controladora IDE, si su motherboard


posee dos enchufes IDE Posee una controladora con dos
enchufes IDE posee una placa de sonido y el CD-ROM IDE
est conectado a la misma, esta IRQ se utiliza.

Solo se pueden utilizar las que figuran libres mas la IRQ15 y las de los
puertos COM.

14

Lab. Arquitectura de computadoras


CMOS

5 DESCRIBIR EL PROCEDIMIENTO PARA ACCEDER A


UNA INTERRUPCIN.
5.1 HARDWARE DE LOS IRQ:
Originalmente, las computadoras basadas en el procesador 8086 y 8088
(denominadas comnmente tipo XT), posean tan solo 8 posibles IRQ para
los diferentes dispositivos que se deseen agregar a esas computadoras. La
asignacin para cada IRQ puede ser apreciada en la tabla adjunta. El IRQ
nmero 0 estaba siempre asignado para el reloj del sistema, el IRQ 1 para el
controlador de teclado, el 2 libre, el 3 para el puerto serial COM2 donde
habitualmente se conecta el modem, el 4 para el puerto serial COM1 donde
habitualmente se conecta el ratn, el 5 para la atencin del disco duro, el 6
para la atencin de las disqueteras, y el 7 para el puerto paralelo, donde va
generalmente una impresora o un scanner. En definitiva, tan solo se podra
agregar una tarjeta, con el IRQ 2 disponible (available). Afortunadamente
esto ha cambiado para las computadoras actuales, que poseen 16 IRQs
disponibles (de 0 a 15). Toda computadora basada en un procesador 80286
o superior tiene esta cantidad de interrupciones disponibles.

Pero la pregunta interesantes es cmo se ha logrado esto?, bueno, ac la


respuesta: originalmente, en las computadoras XT, cualquier interrupcin es
atendida por un chip cuyo nmero es el 8259, tambin denominado
Controlador De Interrupciones.
Este chip tan solo tiene la capacidad de atender 8 interrupciones, es decir
tienen fsicamente 8 entradas, as que para los equipos AT (286 o superior)
se han empleado simplemente dos de estos controladores, redireccionando
todas las interrupciones generadas por el segundo chip hacia el primero a
travs del IRQ 2, como se puede observar en el grfico. Ya que el IRQ 2 del
primer chip ha de estar ocupado permanentemente, tan solo quedan 15
posibles IRQs. Recordemos que las interrupciones tienen una prioridad dada
por su nmero, y como todas las interrupciones del segundo controlador
entran por la interrupcin 2 del primero, las interrupciones nmero 8 a la
nmero 15 tienen todas prioridad 2. El grfico permite ver una asignacin

15

Lab. Arquitectura de computadoras


CMOS
para cada interrupcin, pero ese tema se ver en seguida con la tabla de
asignaciones.
Un aspecto importante a comprender es qu sucede con los dispositivos que
requieren de forma obligatoria el IRQ 2, cosa bastante normal. En realidad
en los equipos AT, cualquier tarjeta conectada al IRQ 2 funciona
perfectamente, con la salvedad de que en realidad est funcionando en el
IRQ 9, y no en el 2. Este hecho es completamente transparente y no
requiere de mayor cuidado, salvo entender que si algn dispositivo est
empleando el IRQ 2, ningn otro podr ser asignado al IRQ 9, por la razn
antes mencionada.

5.2 ASIGNACIN DE LOS IRQ PARA EQUIPOS AT:


La tabla adjunta puede ser obtenida a travs de diversos programas, uno de
los ms conocidos es el MSD o Microsoft Diagnostic, programa que viene
incluido dentro del mismo DOS. Es importante notar tambin que no todos
los equipos tienen idntica disposicin de IRQs, es conveniente analizar la
tabla del equipo ejecutando por ejemplo el MSD bajo el DOS. La importancia
de esta tabla es fundamental, porque indica claramente qu dispositivo est
empleando qu IRQ. Veamos entonces este ejemplo. El IRQ 0 y el IRQ 8
estn por lo general siempre asignados a seales de sincronizacin y tiempo
propias de la tarjeta madre, por lo que no se las debe tocar. El IRQ 1 se
destina a atender las interrupciones provenientes del teclado, es decir, la
pulsacin de una tecla (por cierto que an tipeando el mecangrafo ms
diestro y veloz, el tiempo entre pulsacin y pulsacin es para el CPU una
verdadera eternidad).

El IRQ 2 est destinado exclusivamente a la atencin del segundo chip


controlador 8259, aunque se lo pueda emplear en la prctica ya que es
suplido por el IRQ 9 como se mencion anteriormente. El IRQ 3 ha de
atender un dispositivo serial que se halle en el puerto COM2 o COM4, y el

16

Lab. Arquitectura de computadoras


CMOS
IRQ 4 otro dispositivo serial conectado al COM1 o al COM3. Este punto es
interesante ya que al inicio de este anlisis dijimos claramente que un
mismo IRQ no puede ser compartido por dos o ms dispositivos a la vez,
como por ejemplo el modem y el ratn, que perfectamente se podra
conectarlos al COM2 y al COM4, para que empleen el IRQ 3. Sin embargo
este hecho ocasionara que el momento en que el modem est activo y el
ratn tambin, el equipo se bloquee completamente, aparezcan extraos
mensajes de error en la pantalla y exista la necesidad de reiniciar todo, con
las molestias y perjuicios pertinentes. Esto sucede toda vez que dos
dispositivos intentan emplear el mismo IRQ. Por esta razn, se suele
conectar un equipo al COM1 y se deja libre el COM3, o bien a la inversa,
pero nunca en ambos, y lo mismo para el COM2 y el COM4. Por lo general,
se conecta al COM1 el ratn, y al COM2 el modem, de esta forma emplean
el IRQ 4 y 3 respectivamente, sin crearse conflictos (en una edicin futura
dedicada a modems exclusivamente analizaremos plenamente este
aspecto). Como se puede apreciar en la columna Detectado , el programa
MSD ha detectado algo en el COM1, pero nada en el COM3 (Not Detected), y
lo mismo ocurre para el COM2, que ha sido detectado y no el COM4. Por
cierto, que el equipo del que se obtuvo esta tabla tiene el ratn en el COM1
y el modem en el COM2. Por su parte, el IRQ 5 tiene marcada en su
columna. Detectado , la palabra No , lo que da a entender que ese IRQ est
disponible, y que por lo general se lo emplea para una segunda impresora.
Los IRQ 6, 7, y 8 han sido detectados, por lo que no pueden ser empleados.
El IRQ 9 se halla disponible para suplir al 2. Los IRQ 10, 11, 12 y 15 no han
sido detectados, y se hallan bajo el rtulo de (Reserved) , lo que significa
que estn disponibles para atender cualquiera dispositivo a ser agregado en
un futuro, como ser: tarjeta de sonido, tarjeta de TV, etc. Finalmente el IRQ
13 y 14 se hallan destinados a atender el coprocesador matemtico y las
unidades de discos duros respectivamente. Los nombres de las columnas
son bastante claros, a excepcin de la denominada Manejado Por , que
indica el elemento de hardware o software que administra el dispositivo. Por
ejemplo, el teclado es administrado por un programa denominado KEYB,
bastante conocido para todos los que han manejado o configurado el viejo
DOS, muchos dispositivos son administrados por las rutinas del BIOS, que
por lo general ser cargan a la memoria RAM cuando se inicializa la
computadora (el proceso de carga se denomina Shadow BIOS), y Default
Handlers indica que el dispositivo ser administrado por los programas del
mismo fabricante. El smbolo ??? indica que el programa MSD no ha podido
averiguar quin administra ese IRQ, cosa normal para el reloj del sistema,
que funciona de forma autnoma.

17

Lab. Arquitectura de computadoras


CMOS

6 INTERRUPCIONES POR SOFTWARE USADAS EN LA


PC
CUALES
ESTN
OCUPADAS
Y
CUALES
DISPONIBLES.
6.1 INTERRUPCIONES DE SOFTWARE:
La PC vienen equipadas con programas de servicio integrados llamados el
ROM-BIOS. Los programas de la computadora necesitan una manera de
pedir los servicio que proporciona el BIOS y las interrupciones de software
son la manera en que lo hacen. Las interrupciones de software funcionan en
la misma forma que las de hardware. La nica diferencia con ellas es lo que
causa la interrupcin. En este caso, en vez de que suceda inesperadamente,
las interrupciones de software son generadas intencionalmente por un
programa. Hay una instruccin especial de lenguaje ensamblador, llamado
INT, que se usa por un programa para pedir una interrupcin.
Las interrupciones correspondientes al DOS. Son Las siguientes:
Nro

DESCRIPCIN

20H

Terminar Programa

21H

Peticin de funcin

22H

Direccin de terminacin
Especifica la direccin a donde se bifurcar cuando se
termine el programa. Esta direccin se copia sobre el PSP

23H

Direccin de Salida por CRTL-BREAK

18

Lab. Arquitectura de computadoras


CMOS
24H

Manejador de error Critico

25H

Lectura de disco absoluta

26H

Grabacin en Disco Absoluta

27H

Terminar pero quedar residente

28H

No se usa (Reservada)

3FH

No se usa (Reservada)

7 DISEO DE UN SISTEMA DE FORMA QUE PODAMOS


PROBAR LAS INTERRUPCIONES DE AMBOS TIPOS .
TRAER PROGRAMA PROBADO FUENTE Y
COMPILADO
El siguiente programa es un men que funciona con las interrupciones tanto
de HARDWARE Y DE SOFTWARE . Utiliza interrupciones de hardware del
teclado, e interrupciones de software de la ROM-BIOS.
;
;
;
;
modot

Para maquinas 8088/80386


Programa Graficador con control total del cursor.
Con interrupciones de la ROM BIOS
Compilado como EXE.

dseg

A263103.ASM

macro
mov
mov
int
endm

ah,0h
al,2h
10h

; Define el modo texto 80 x25


;
;
;
;

segment
memo
pan
x1
y1
xx0
yy0
x0x
y0y
c01
c02
f01
f02
x2
y2
XX
AA
BB
CC
EE
FF
GG
HH
II
JJ
KK
LL
MM

para 'datos'
;Segmento de datos, Definiciones en assembler
dw 0B800h
;Inicio de la pantalla
dw 2000 dup(?) ;Separa memoria sin inicializar
dw 20
;Coordenadas esquina sup.izq. del menu.
dw 4
;Coordenadas esquina sup.izq. del menu.
db 0
;
db 0
;
db 0
db 0
dw 0
dw 0
dw 0
dw 0
dw 60
;Coordenadas esquina inf.derecha del menu.
dw 22
;Coordenadas esquina inf.derecha del menu.
db '[7 3 3 3 3 3 3 3G7R7A7F7I7C7A7D7O7R7 3 3 3 3 3 3 3]7' ;Menu
db 'Fa18
M O D O
T E X T O
'
db 'Fa28
M O V I M I E N T O
C O N
A R R A S T R E
'
db 'Fa38
M O V I M I E N T O
C O N T R O L A D O
'
db 'Fa48
M O D O
G R A F I C O
'
db 'Fa58
C U A D R A D O
R E L L E N O
'
db 'Fa68
C U A D R A D O
E N
M O V I M I E N T O
'
db 'Fa78
M O V I M .
E N
P E R S P E C T I V .
'
db 'Fa88
M O V I M I E N T O
D E
L I N E A S
'
db 'Fa98
M O V I M I E N T O
A N I M A D O
'
db 'Fa1808
G R A F I C A D O R
'
db ' E8S8C8
F I N
'
db

19

Lab. Arquitectura de computadoras


CMOS

dseg

NN
car
fil
col
fi1
co1
color
colo
long1
long2
video
ends

db
db
dw
dw
dw
dw
dw
db
dw
dw
db

0
0
0
0
0
0
0
0
11h

;fila actual
;columna actual
;fila anterior
;columna anterior
;color

;Resolucion grafica 640 x 480

cseg

segment
;Programa principal.
assume cs:cseg, ds:dseg, es:cseg, ss:cseg
ini:jmp
marco
;inicio de programa
marco proc
near
;
mov
ax,cs
;
mov
ax,dseg
;
mov
ds,ax
;
mov
es,ax
;
call
salva
;
push
ax
;
menu:mov
ax,MEMO
;Inicio de memoria de pantalla
mov
ES,ax
;
mov
di,598
;CLEAR SCREEN
MOV
AX,0720h
;
cle1:add
di,80
;
mov
cx,80
;
cle0:add
di,1
;
mov
es:[di],ax ;
loop
cle0
;
cmp
di,3300
;
jl
cle1
;
MOV
AX,MEMO
;Inicio de la pantalla
MOV
ES,AX
;
MOV
CX,58
;Longitud de cadena a imprimir
MOV
AX,850
;Posicion en la pantalla
MOV
DI,AX
;Direccion destino
MOV
SI,OFFSET AA;Direccion origen de la cadena AA
REP
MOVSB
;Repite traslado de cadena byte a byte
MOV
CX,58
;
add
AX,160
;
MOV
DI,AX
;
MOV
SI,OFFSET BB;
REP
MOVSB
;
MOV
SI,OFFSET EE;
REP
MOVSB
;
MOV
CX,58
;
add
AX,160
;
MOV
DI,AX
;
MOV
SI,OFFSET FF;
REP
MOVSB
;
MOV
CX,58
;
lea
bx,CS:f3
;
lea
bx,CS:f4
;
opcion:call
resetraton
;
call
punteroon
;
opcion1:mov
ah,01
;Funcion: leer una tecla ah=1
int
16h
;llamada al ROM BIOS
jnz
etiqw
;
call
leerraton
;
test
bx,1
;
jz
opcion1
;
sub
dx,40
;algoritmo para el mouse
mov
ax,dx
;
jmp
etiqr
;
etiqw: mov
ah,0
;algoritmo para el teclado

20

Lab. Arquitectura de computadoras


CMOS
int
mov
sub
sub
etiqr: cmp
ja
mov
mul
lea
add
jmp
rat01: jmp
F1:call
jmp
F2:call
jmp
F3:call
jmp
F4:call
jmp
F5:call
jmp
F6:call
jmp
F7:call
jmp
F8:call
jmp
F9:call
jmp
F10:call
jmp
finx:jmp
ya:mov
int
mov
mov
int
JMP
FIN:mov
mov
int
pop
mov
mov
mov
mov
MOV
ir01:MOV
mov
add
loop
mov
int
marco endp
graf1
proc
texto.
modot
mov
mov
mov
call
call
push
tecl: mov
int
cmp

16h
al,ah
al,59
ah,ah
ax,10
finx
bl,6
bl
bx,f1
bx,ax
bx
opcion
graf1
ya
graf2
ya
graf3
ya
graf4
ya
graf5
ya
graf6
ya
graf7
ya
graf8
ya
graf9
ya
graf10
ya
fin
ah,8
21h
ah,0
al,2
10h
menu
ah,0
al,2
10h
ax
ds,ax
ax,MEMO
ES,ax
di,0
cx,2000
ax,pan[di]
es:[DI],ax
di,2
ir01
ah,4ch
21h
near
xx0,40
yy0,12
car,0dbh
escrib
punteroon
ax
ah,0h
16h
ah,04dh

;
;
;
;
;
;Compara con Esc
;
;
;
;
;
;Fin de opciones
;Llama procedimientos graf
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;Salida de bifurcacion
;
;Espera que se pulse una tecla, sin eco.
;
;Modo
; normal de
; pantalla 80 x 25
;
;Modo
; normal de
; pantalla
;
;
;Inicio de memoria de pantalla
;
;LOAD SCREEN
;longitud de pantalla
;
;
;
;
;Salida al DOS con codigo
;
de errores.
;
;Movimiento controlado de un caracter en modo
;Inicializa el modo texto.
;
;

21

Lab. Arquitectura de computadoras


CMOS
je
cmp
je
cmp
ap:pop

de
ah,04bh
iz
ah,048h
ax

ret
z3:mov
jmp
graf1 endp

yy0,00
w3

graf2

proc
near
modot
mov
xx0,40
mov
yy0,12
mov
car,0dbh
call
escrib
call
punteroon
push
ax
tecla: mov
ah,0h
int
16h
cmp
ah,04dh
w7: add
yy0,01
jmp
escrit
escrit:mov
car,0dbh
call
escrib
jmp
tecla
z4:mov
xx0,00
jmp
w4
z5:mov
xx0,80
jmp
w5
z6:mov
yy0,25
jmp
w6
z7:mov
yy0,00
jmp
w7
esca:pop
ax
ret
graf2 endp
graf3

call
cuad

proc
modot
call
push
push
push
push
mov
mov
pixel
loop
ret
endp

;MOVIMIENTO TEXTO

;Activa mouse

near
punteroon
ax
bx
cx
dx
xx0,40
yy0,12
ir63

graf4 proc
near
mov
col,61
mov
cx,517
ale: inc
col
call
pixel
loop
ale
cmp
fil,437
jl
mar
ret
graf4 endp
graf5 proc
near
call
modo
add
fil,01
cmp
long1,00
jg
iiii
ret

;CUADRADO RELLENO

22

Lab. Arquitectura de computadoras


CMOS
graf5
graf6

endp
proc
near
call
modo
call
punteroon
push
ax
i01:mov
col,90
mov
fil,10
mov
long1,460
mov
long2,460
i00:mov
color,01
cmp
al,27
jne
i01
pop
ax
ret
graf6 endp
graf7 proc
near
call
modo
call
punteroon
mov
col,19
mov
fil,79
mov
color,01
mov
long1,300
mov
col,320
mov
fil,220
mov
color,0fh
call
pixel
push
ax
tcla: call
guard
mov
ah,0h
int
16h
cmp
ah,047h
modo
proc
near
mov
ah,0h
mov
al,video
int
10h
ret
mov
ah,02h
mov
dh,yy0
mov
dl,xx0
mov
bh,0h
int
10h
mov
ah,09h
mov
bh,0h
mov
bl,03h
mov
cx,01
mov
al,car
int
10h
pop
dx
pop
cx
pop
bx
pop
ax
ret
escri endp
salva proc
near
mov
ax,MEMO
mov
ES,ax
mov
di,0
MOV
cx,2000
sal0:MOV
ax,es:[DI]
mov
pan[di],ax
add
di,2
loop
sal0
mov
ax,ds
ret
salva endp
guard proc
near
push
ax
push
bx

;Fija modo de video


;modo de video, resolucion
;

;inicio de memoria de pantalla


;
;SAVE SCREEN
;longitud de pantalla
;

23

Lab. Arquitectura de computadoras


CMOS

guard
borra

borra
pixe1

pixe1
pixel

mov
mov
mov
mov
pop
pop
ret
endp
proc
push
push
push
mov
mov
mov
mov
int
pop
pop
pop
ret
endp
proc
push
push
push
mov
mov
mov
mov
int
pop
pop
pop
ret
endp
proc
push
push
push
mov
mov
mov

ax,fil
bx,col
fi1,ax
co1,bx
bx
ax
near
cx
dx
ax
cx,co1
dx,fi1
ax,00h
ah,0ch
10h
ax
dx
cx
near
cx
dx
ax
cx,col
dx,fil
al,0fh
ah,0ch
10h
ax
dx
cx
near
cx
dx
ax
cx,col
dx,fil
ax,color

;color
;Escribe pixel

;color
;Escribe pixel

;color

ret
leerraton endp
punteroxy proc near
mov ax,4
sub bx,bx
int 51
ret
punteroxy endp
resetraton proc near
mov ax,0
int 51
ret
resetraton endp
cseg
ends
end
ini

24

Lab. Arquitectura de computadoras


CMOS

8 EL SETUP DE LA PC, LAS OPCIONES DE


CONFIGURACIN Y LOS PARMETROS.
8.1 BIOS SETUP
"Basic Input-Output System", sistema bsico de entrada-salida. Programa
incorporado en un chip de la placa base que se encarga de realizar las
funciones bsicas de manejo y configuracin del ordenador.
Estudiaremos a continuacin como realizar el seteo del BIOS de un PC. Para
ello nos basaremos en un BIOS AMI o AWARD, que son los ms tpicos y
difundidos en nuestra plaza. Los BIOS de otros proveedores si bien tienen
una estructura de mens bastante distinta a la que aqu mostramos, poseen
opciones muy similares a las que detallaremos.
Para entrar al SETUP del BIOS debemos presionar la tecla [Supr] luego de
que el PC termine el P.O.S.T. (Power On Self Test). Esto es habitualmente
indicado por el PC con el mensaje press DEL to enter SETUP (tome en
cuenta que DEL es sustituido por Supr en el teclado en espaol.
La pantalla principal de una BIOS clsica es algo as:

Mientras que la de una WinBIOS tiene este aspecto:

25

Lab. Arquitectura de computadoras


CMOS

Para acceder a los SETUP de los BIOS de otros proveedores se deben


presionar otras teclas o combinaciones de las mismas.
A modo de ejemplo:

BIOS PHOENIX --------------------------------[F2]


BIOS ACER--------------------------------------[Ctrl]+[Alt]+[Esc]
BIOS IBM-----------------------------------------[Alt]+[F1]
BIOS COMPAQ---------------------------------[F10]

En caso de problemas con el SETUP del BIOS, o de haber perdido el


password asignado al mismo, es posible borrarlo por completo (incluyendo
el password), cambiando de lugar por unos segundos un jumper del
motherboard. Con esto se hace un nuevo seteo del BIOS, cargando primero
los seteos por defecto, y luego optimizndolos.
Veremos a continuacin los distintos mens y submens, con una pequea
explicacin de sus significados y seteos ms habituales.

8.2 STANDARD CMOS SETUP


En este men podemos ajustar la fecha y hora del reloj del PC, declarar los
parmetros de los discos duros, eventualmente declarar que tenemos
conectado un CD-ROM, y declarar que tipo de disqueteras tenemos
conectadas al sistema (estas se deben declarar manualmente, pues no
pueden ser auto detectadas).
Los discos duros pueden ser seteados como Auto, con lo cual el BIOS los
detectar automticamente cada vez que arranque el PC, pero esto
consume tiempo en el arranque. Esta opcin es til en el caso de tener un

26

Lab. Arquitectura de computadoras


CMOS
disco IDE removible, pues nos asegura que siempre el sistema estar
correctamente configurado.

8.3 ADVANCED CMOS SETUP


Quick Boot Esta opcin nos permite elegir si queremos realizar un
chequeo exhaustivo de la memoria y dems componentes del sistema, o
uno rpido. La opcin ms habitual es ENABLED.
1st Boot Device Permite elegir cual ser la primera unidad desde la cual
el PC intentar arrancar el sistema operativo 2nd Boot Device Segunda
unidad en el orden de bsqueda de unidades de donde bootear 3rd Boot
Device Tercera unidad en el orden de bsqueda de unidades de donde
bootear
Try Other Boot Devices Aqu indicamos si luego de haber agotado todos
los dispositivos enumerados anteriormente, seguimos buscando hasta
encontrar alguno
S.M.A.R.T. for Hard Disks Si habilitamos esta opcin el disco duro puede
reportar a cierto software (no incluido en los sistemas operativos tpicos)
informacin acerca de su estado
Floppy Drive Swap En caso de tener ms de una disquetera instalada,
esta opcin nos permite permutar las letras asignadas a ellas
Floppy Drive Seek Esta opcin al habilitarla hace que durante el proceso
de arranque el PC verifique si tiene alguna disquetera conectada.
Habitualmente se deshabilita, pues consume un par de segundos en el
arranque.
PS/2 Mouse Support En caso de tener un mouse de este tipo debemos
habilitarla, en caso contrario se deshabilita a fin de liberar recursos
Password Check Aqu podemos elegir dos opciones: Setup o Always
indicando si queremos que el PC solicite el password de seguridad cada vez
que es encendido, o slo cuando se desea acceder al SETUP del BIOS .
Todas las dems opciones de este men no se deben modificar de sus
valores por defecto.

8.4 ADVANCED CHIPSET SETUP


Trend ChipAway Virus Deteccin de virus a nivel del BIOS. Esta opcin al
activarla controla si algn software trata de escribir al MBR y/o sector de
booteo del disco (comportamiento habitual de muchos virus). Debe
deshabilitarse siempre pues Windows escribe a esos lugares y eso es
interpretado como una amenaza de virus por el BIOS, pudiendo ocasionar
serios inconvenientes
Auto Configure DRAM Timing Es aconsejable dejar habilitada esta
opcin

27

Lab. Arquitectura de computadoras


CMOS
DRAM Speed (ns) Aqu debemos indicarle al BIOS la velocidad de la
memoria que estamos usando en el PC expresada en nanosegundos.
DRAM Integrity Mode Esta opcin indica que tipo de correccin de
errores usa la memoria instalada, debe setearse de acuerdo a las
caractersticas de la misma, o en caso de duda, deshabilitarse, eligiendo la
opcin Non ECC
On Board USB Function Esta opcin debe habilitarse si vamos a usar
algn dispositivo USB, en caso contrario, deshabilitarla para ahorrar
recursos
El resto de las opciones deben dejarse en sus valores por defecto.

8.5 POWER MANAGEMENT SETUP


Power Management Esta opcin permite configurar las caractersticas de
ahorro de energa a travs del BIOS del PC. Es aconsejable deshabilitarlo, y
dejar que Windows maneje estas configuraciones. En caso contrario, pueden
producirse conflictos entre ambos.
RTC Alarm Power On Esto permite programar el PC para encenderse
automticamente en una fecha dada, a una cierta hora
PCI/Plug and Play Setup
Plug and Play Aware O/S Debemos elegir Yes para indicarle al BIOS
que el Sistema Operativo puede administrar los recursos Plug and Play
Allocate IRQ to PCI VGA El seteo de esta opcin depende de la tarjeta
VGA utilizada. Tpicamente, las tarjetas de alta performance deben llevar
esta opcin habilitada
En este men es donde podemos indicarle al BIOS que disponemos de algn
dispositivo no Plug and Play, eligiendo para los recursos utilizados por ese
dispositivo (DMA e IRQ) la opcin ISA/EISA o ISA-Legacy en vez de la opcin
dada por defecto de PnP, o PCI/PnP. Los recursos marcados de esa forma no
sern asignados por el BIOS a ningn dispositivo Plug and Play.
Las dems opciones se dejarn en sus opciones por defecto.
Load Optimal Settings
Esta opcin carga un conjunto de valores por defecto, que si bien no
asegura el mximo rendimiento del PC, s asegura que este funcionar.
Load Best Performance Settings
Como su nombre lo indica esta opcin carga un conjunto de valores por
defecto con los cuales el PC tendr su mximo rendimiento a juicio del
fabricante.
Peripheral Setup
28

Lab. Arquitectura de computadoras


CMOS
En este men podemos habilitar o deshabilitar la controladora de
disqueteras, los controladores IDE, y los puertos seriales y paralelos,
incluidos en el motherboard. Tambin podemos configurar estos
dispositivos, eligiendo, por ejemplo, a que COM queremos que correspondan
cada uno de los puertos seriales del motherboard, a que LPT queremos
asignar el puerto de impresora, y si queremos que este sea un puerto
estndar (Normal, o SPP), bidireccional (EPP), o mejorado (ECP). (Siempre
que la impresora lo soporte debemos utilizar sta ltima opcin, pues es la
de mayor velocidad de comunicacin)
En caso de que el motherboard incluya a bordo otros perifricos tales como
tarjeta de video, sonido, red, modem, etc., desde este men podemos
habilitarlos o deshabilitarlos.
CPU Plug and Play Setup
En los motherboards modernos, en vez de indicar las caractersticas del
procesador por medio de jumpers, lo hacemos a travs de menes en el
SETUP del BIOS.
Normalmente esto se hace indicando dos parmetros: la frecuencia de reloj
del bus de memoria, y un multiplicador. El producto de estos dos valores da
la frecuencia de trabajo del procesador.
En los procesadores Pentium II, III, y similares ( K6-2, K7, etc.) las
frecuencias de bus de memoria ms habituales son: 66MHz, 100MHZ,
133MHz, y ya estn apareciendo mayores. Este valor se debe elegir de
acuerdo a la velocidad de la memoria, ya que si usamos una memoria PC66, con un bus de 100 MHZ, esta no funcionar, o lo har en forma errtica.
A modo de ejemplo, un procesador Pentium III de 600MHz se configurar
con un reloj de bus de 100MHz, y un multiplicador de 6, o reloj de 133MHz, y
multiplicador de 4.5, dependiendo de lo que indiquen los fabricantes del
procesador y el motherboard utilizado. En general, en caso de existir varias
combinaciones de valores que den la frecuencia adecuada para el
procesador (como en el caso anterior), y siempre que tanto el procesador,
como la memoria y el motherboard lo admitan, se debe elegir la opcin
correspondiente a la mayor velocidad de bus, pues esta ser la que brinde
un mayor rendimiento del sistema.
Change Supervisor Password
Este men permite ingresar un password que ser utilizado de acuerdo a las
opciones elegidas en el men Advanced CMOS Setup
Auto-Detect Hard Disks
Este men realiza la autodeteccin de todos los parmetros de todos los
discos duros IDE instalados en los controladores incluidos en el
motherboard, introduciendo automticamente estos datos en el men

29

Lab. Arquitectura de computadoras


CMOS
Standard CMOS Setup. En algunos BIOS, esta opcin detecta adems
todos los otros dispositivos IDE conectados a los controladores
En muchos BIOS actuales esta opcin ha desaparecido, quedando integrada
al men Standard CMOS Setup donde se hace el proceso de autodeteccin
de discos al presionar la tecla F3, u otra que indique el fabricante.
Save Settings and Exit
Esta opcin nos permite abandonar el SETUP, luego de salvar los cambios
realizados. Elegir esta opcin es lo mismo que apretar la tecla [F10] en
cualquier punto de este men. Luego de elegirla (o presionar [F10] ) se nos
solicita la confirmacin, y presionando Y (yes) se reinicia el PC salvando los
cambios realizados.
Exit Without Saving
Esta opcin abandona el SETUP, dejando sin efecto los cambios realizados, y
luego de confirmarlo, reinicia el PC

9 BIBLIOGRAFIA
http://club.telepolis.com/mydream/Asm/ASM1.html
http://www.uhu.es/tomas.mateo/ac2/manual%20ensamblador%20UHU.pdf

30