Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Arquitectura de Computadoras
Introduccin
hecho
de
intentar
explicarlo
tericamente
resulta
absolutamente complejo.
Sin embargo la explicacin textual sirve de base para darnos una
idea de cmo es el proceso de ejecucin de una computadora que,
como todo hardware de mbito computacional, depende de un
sistema intangible que lo gobierne.
Explicamos a continuacin 3 puntos claves para la comprensin
terico-electrnico de un sistema computacional, haciendo nfasis
en 3 apartados principales.
Arquitectura de Computadoras
Microoperacin
Es una operacin bsica realizada sobre la informacin almacenada en uno o ms
registros (flip-flops). El resultado de la operacin puede sustituir la informacin binaria
anterior de un registro o puede transferirse a otro. Algunas microoperaciones son:
desplazar, contar, borrar y carga. Por ejemplo un contador con carga paralela puede
realizar las operaciones de incremento y carga; un registro de desplazamiento
bidireccional puede realizar las microoperaciones de desplazamiento a la izquierda y a la
derecha. El termino transferencia de registros implica la disponibilidad de circuitos lgicos
de hardware que pueden efectuar una microoperacin definida y transferir el resultado
de la operacin al mismo o a otro registro.
Arquitectura de Computadoras
Microoperaciones aritmticas
Una microoperacin es una operacin elemental efectuada con los datos almacenados
en los registros. Las microoperaciones que se encuentran con mayor frecuencia en las
computadoras digitales se clasifican en cuatro categoras:
Microoperaciones de transferencia de registros que transfieren informacin
binaria de un registro a otro.
Microoperaciones aritmticas que ejecutan operaciones aritmticas sobre datos
numricos almacenados en los registros.
Microoperaciones lgicas que ejecutan operaciones de manipulacin de bits sobre
datos no numricos almacenados en registros.
Microoperaciones de corrimiento que ejecutan operaciones de corrimiento sobre
los datos almacenados en los registros.
La microoperacin de transferencia de registros se analiz en la seccin
Este tipo de microoperacin no cambia el contenido de la informacin cuando la
informacin binaria pasa del registro fuente al registro destino. Los otros tres tipos de
microoperaciones cambian el contenido de la informacin durante la transferencia. En
esta seccin presentamos un conjunto de microoperaciones aritmticas. En las dos
siguientes secciones presentamos las microoperaciones lgicas y de corrimiento.
Las microoperaciones aritmticas bsicas son suma, resta, incremento, decremento y
corrimiento. Los corrimientos aritmticos se explican ms tarde junto con las
microoperaciones de corrimiento. La microoperacin aritmtica definida por el enunciado
R3 Rl + R2
Especifica una microoperacin de suma. Declara que el contenido del registro Rl se suma
al contenido del registro R2 y que la suma se transfiere al registro R3. Para implantar este
enunciado con hardware necesitamos tres registros y el componente digital que ejecuta la
operacin de suma. Las otras microoperaciones aritmticas bsicas se listan. La resta se
lleva a cabo con mayor frecuencia, mediante la complementacin y la suma. En lugar de
usar el operador menos, podemos especificar la resta mediante el siguiente enunciado:
R3 Rl + R2 + 1
Arquitectura de Computadoras
Arquitectura de Computadoras
Microoperaciones Lgicas
Especfica que se va a ejecutar una microoperacin lgica en los bits individuales de los
registros, siempre que la variable de control P = 1. Como un ejemplo numrico considere
que cada registro tiene 4 bits. Sea el contenido de Rl 1010 y el contenido de R2 1100. La
microoperacin OR-exclusiva mencionada antes representa la operacin lgica:
1010 Contenido de Rl
1100 Contenido de R2
0110 Contenido de Rl despus de P = 1
Arquitectura de Computadoras
Aunque el smbolo + tiene dos significados, ser posible distinguirlos al identificar dnde
ocurre el smbolo. Cuando aparezca en una microoperacin significar un ms aritmtico.
Cuando ocurra en una funcin de control (o booleana), denotar una operacin OR. Nunca
la usaremos para representar una microoperacin OR. Por ejemplo, en el enunciado:
P+Q: Rl~R2+R3, R4~R5VR6
El smbolo + entre P y Q es una operacin OR entre dos variables binarias de una funcin
de control. El smbolo + entre R2 y R3 especfica una microoperacin de suma. La
microoperacin OR est representada por el smbolo entre los registros R5 y R6.
LDA: Cargar a AC
Esta instruccin transfiere la palabra de memoria especificada por la direccin efectiva
a AC. Las microoperaciones necesarias para ejecutar esta instruccin son:
D2T4:DRM[AR]
D2T5:ACDR,SCO
Arquitectura de Computadoras
Al revisar el canal del sistema de bus notamos que no hay una trayectoria directa desde
el bus hasta AC. El circuito sumador y lgico recibe informacin de DR la cual puede
transferirse a AC. Por lo tanto, primero es necesario llevar la palabra de memoria a DR y
despus transferir el contenido de DR a AC. La razn para no conectar el bus a las entradas
de AC es el retraso que se encuentra en el circuito sumador y lgico. Se considera que el
tiempo que toma leer en la memoria y transferir la palabra a travs del bus y el circuito
sumador y lgico es mayor que el tiempo de un ciclo de reloj. Al no conectar el bus a las
entradas de AC podemos mantener un ciclo de reloj por microoperacin.
STA: Almacenar AC
Arquitectura de Computadoras
Un ejemplo numrico que muestra cmo se usa esta instruccin con una subrutina. Se
considera que la instruccin BSA est en la memoria en la direccin 20. El bit 1 es O y la
parte de la direccin de la instruccin tiene el equivalente binario de 135. Despus de las
fases de bsqueda y decodificacin, PC contiene 21, que es la direccin de la siguiente
instruccin en el programa (denominada direccin de retorno). AR contiene la direccin
efectiva 135. Esto se muestra en la parte (a) de la figura. La instruccin BSA ejecuta la
siguiente operacin numrica:
M[135] <--21, PC135+1=136
10
Arquitectura de Computadoras
11
Microoperaciones de Corrimiento
Las microoperaciones de corrimiento se usan para la transferencia serial de datos.
Tambin se utilizan junto con operaciones aritmticas, lgicas y de procesamiento de
datos. El contenido de un registro puede correrse a la izquierda o a la derecha. Al mismo
tiempo que se recorren los bits, el primer flip-flop recibe su informacin binaria de la
entrada serial. Durante una operacin de corrimiento a la izquierda la entrada serial
recorre un bit a la posicin de la extrema derecha. Durante una operacin de corrimiento
a la derecha la entrada serial transfiere un bit a la posicin de la extrema izquierda. La
informacin transferida mediante la entrada serial determina el tipo de corrimiento.
Existen tres tipos de corrimientos: lgico, circular y aritmtico.
Un corrimiento lgico es aquel que transfiere un O por la entrada serial. Adoptaremos
los smbolos por sus siglas en ingls, shl y shr para las microoperaciones de corrimiento
lgico a la izquierda y corrimiento lgico a la derecha. Por ejemplo:
Rl <shl Rl
R2<shr R2
12
El corrimiento circular (tambin conocido como operacin de rotacin) hace circular los
bits del registro por los dos extremos sin prdida de informacin. Esto se consigue al
conectar la salida serial del registro de corrimiento a su entrada serial. Utilizaremos los
smbolos cii y cir para el corrimiento circular a la izquierda y para el corrimiento circular a
la derecha, respectivamente. La notacin simblica para las microoperaciones de
corrimiento.
Arquitectura de Computadoras
13
Arquitectura de Computadoras
14
Arquitectura de Computadoras
15
A Transferir A
A + 1 Incrementar A
A+B Sumar
A+B+1 Sumar con acarreo
A + B Restar con prstamo
A+B+l Restar
A 1 Decrementar A
A TransferirA
AB AND
AVB OR
AB XOR
Complementar A
shrA Corrimiento a la derecha adentro de F
shlA Corrimiento a la izquierda adentro de F
Arquitectura de Computadoras
16
17
De este modo al iniciar la ejecucin de una interrupcin de los cuatro bytes que tiene
asignados se obtiene la direccin del bloque de instrucciones que efectivamente se
ejecutan. Por ejemplo si en la direccin 0000:0014 estuviera almacenado el valor 0xFFF00,
ello significa que en dicha direccin ( (F000:FF00) se encuentra el bloque de instrucciones
a ejecutar cuando la interrupcin IRQ 5 sea requerida.
Arquitectura de Computadoras
18
Prioridad
Funcin
Timer
Teclado Hardware
Reservada
11
COM 2
12
COM 1
13
Tarjeta de Sonido
14
Controlador Floppy
15
Puerta Paralela
Reloj (tics)
10
idem
11
idem
12
PS-mouse
13
Co-procesador matemtico
14
15
10
Arquitectura de Computadoras
19
Interrupciones de software
Las interrupciones de software pueden ser activadas directamente por el ensamblador
invocando al nmero de interrupcin deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin de programas, utilizandolas nuestros
programas son ms cortos, es ms fcil entenderlos y usualmente tienen un mejor
desempeo debido en gran parte a su menor tamao.
Este tipo de interrupciones podemos separarlas en dos categorias: las interrupciones del
sistema operativo DOS y las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del sistema operativo son ms fciles
de usar pero tambin son ms lentas ya que estas interrupciones hacen uso del BIOS para
lograr su cometido, en cambio las interrupciones del BIOS son mucho ms rpidas pero
tienen la desventaja que, como son parte del hardware son muy especficas y pueden
variar dependiendo incluso de la marca del fabricante del circuito.
La eleccin del tipo de interrupcin a utilizar depender unicamente de las caracteristicas
que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad
(utilizando las del DOS).
Arquitectura de Computadoras
20
Arquitectura de Computadoras
21
Las interrupciones por Hw son producidas por un dispositivo y viajan por el mismo
bus del sistema.
Hay muchos tipos de interrupciones y pare cada uno de estas existe una rutina en el
sistema de operacin que le da servicio. Los sistemas de operacin actuales permiten a los
dispositivos tales como E/S o reloj del sistema interrumpir el CPU asncronamente.
Arquitectura de Computadoras
22
El kernel del sistema de operacin salva el estado actual del proceso interrumpido,
transfiere su ejecucin a una direccin fija, esta direccin por lo general contiene la
direccin de comienzo donde la rutina de servicio de la interrupcin se encuentra, cada
diseo de computadora tiene su propio mecanismo de interrupciones, una forma de
manejar las interrupciones es invocando una rutina general que examine la informacin
de la interrupcin y determine el tipo de interrupcin ocurrida, y de all llama a la rutina
que se encarga de atender dicha interrupcin.
Arquitectura de Computadoras
23
Dentro de un computador
Cuando una computadora se encuentra realizando un proceso este puede interrumpirse
por cualquiera de las dos causas siguientes:
1.- Que se haya presentado una causa que impida que siga adelante un trabajo o un
programa que no haya terminado:
En este caso las interrupciones pueden darse:
Por Software: quiere decir que la interrupcin se hace por medio de una
instruccin del Sistema operativo que demanda la detencin del proceso o por una
instruccin del programa mismo que demanda la accin de otro dispositivo.
2.- Es que haya llegado el fin lgico de un programa o de un trabajo: en este caso el
sistema operativo debe retirar el control al programa que ha terminado de introducir una
nueva tarea si se tiene alguna espera esta interrupcin no representa un mayor problema
ya que solo puede darse cuando el programa que se encuentra en proceso demanda a
travs de una instruccin su propio fin.
Interrupcin de E/S
Con el fin de iniciar una operacin de E/S la CPU carga los registros apropiados dentro
del controlador del dispositivo, el controlador a su vez examina el contenido de estos
registros para determinar que accin debe realizar, por ejemplo, si se encuentra una
solicitud de lectura, el controlador iniciara la transferencia de datos del dispositivo a su
buffer local, cuando haya terminado de hacer esto el controlador informara al CPU que ha
completado su operacin, esta comunicacin se genera por medio de una interrupcin.
Arquitectura de Computadoras
24
Esto caso se da en general como resultado de una solicitud de E/S por parte de un
proceso del usuario, una vez iniciada la E/S; luego al completarse la operacin el control se
devuelve al proceso del usuario, este caso se conoce como E/S sincrnica, pero existe otra
posibilidad llamada E/S asncrona que devuelve el control al programa del usuario sin
esperar que se complete la E/S as esta puede continuar mientras se realizan otras
operaciones del sistema.
Arquitectura de Computadoras
25
Interrupciones de programa
Las interrupciones software son provocadas por los programas usando una funcin
especial del lenguaje, tienen como objetivo el que la CPU ejecute algn tipo de funcin, al
terminar de ejecutarse esta funcin, se seguir ejecutando el programa que provoc la
interrupcin.
Este tipo de interrupciones es la forma ms importante que tendrn los programas de
ejecutar funciones especiales del DOS (Disk Operating System) o del BIOS (Basic Input
Output System). Estas funciones tienen un nmero de interrupcin software asociada,
cuando un programa lanza una interrupcin de este tipo, la CPU ejecuta su funcin de
tratamiento asociada, por lo que debemos saber qu es lo que hace cada interrupcin
para conseguir el efecto deseado.
Las Interrupcines son principalmente subrutinas de la BIOS o el DOS que pueden ser
llamadas por un programa, su funcin es controlar el hardware, servir de contacto entre
los programas y las funciones del BIOS y del dos.
Las interrupciones de software pueden ser activadas directamente por el ensamblador
invocando al nmero de interrupcin deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin de programas, utilizndolas en
programas, son ms cortos, es ms fcil entenderlos y usualmente tienen un mejor
desempeo debido en gran parte a su menor tamao.
Arquitectura de Computadoras
26
Este tipo de interrupciones podemos separarlas en dos categoras: las interrupciones del
sistema operativo DOS y las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del sistema operativo son ms fciles
de usar pero tambin son ms lentas ya que estas interrupciones hacen uso del BIOS para
lograr su cometido, en cambio las interrupciones del BIOS son mucho ms rpidas pero
tienen la desventaja que, como son parte del hardware son muy especficas y pueden
variar dependiendo incluso de la marca del fabricante del circuito.
La eleccin del tipo de interrupcin a utilizar depender nicamente de las
caractersticas que le quiera dar a su programa: velocidad (utilizando las del BIOS) o
portabilidad (utilizando las del DOS).
Arquitectura de Computadoras
27
Arquitectura de Computadoras
28
Deteccin de Hardware.
NTDETECT.COM y NTOSKRNL.EXE realizan la deteccin del hardware. NTDETEC.COM se
ejecuta inmediatamente despus de haber seleccionado el sistema operativo a arrancar.
Si seleccionamos un sistema operativo de ncleo W9X en vez de ncleo NT / W2000 /XP,
NTLDR cargar y ejecutar BOOTSECT.DOS, el cual es una copia del sector de arranque que
exista en la particion del sistema cuando instalamos por primera vez un sistema operativo
de ncleo NT / W2000 / XP. Este sector corresponde a una particin formateada
previamente con MSDOS o bien con algn sistema W9X / ME.
NTDETECT.COM empieza a construir una lista del hardware actualmente instalado y
devuelve esta lista al programa NTLDR para una inclusin posterior en el registro bajo la
clave HKEY_LOCAL_MACHINEHARDWARE
Arquitectura de Computadoras
29
Arquitectura de Computadoras
30
Carga
la
clave
del
registro:
%systemroot%System32ConfigSystem
HKEY_LOCAL_MACHINESYSTEM
desde
Selecciona un juego de control (control set) que va a utilizar para inicializar la mquina.
Dentro de este control set estn los datos que se utilizan para arrancar, como por ejemplo
la lista de controladores de dispositivos y los servicios a arrancar y cargar.
Carga los drivers de dispositivos que contienen un valor de 0x0 en la entrada Start de
definicin del dispositivo en el registro. Normalmente son controladores de hardware de
bajo nivel. El valor de esta lista est especficado en:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl ServiceGroupOrder
En ella est el orden con el cual NTLDR va a cargar dichos controladores de dispositivos.
Arquitectura de Computadoras
31
Arquitectura de Computadoras
32
BootExecute.
Ejecuta los comandos de esta clave antes de arrancar ningn servicio.
Memory Management Key.
Crea la informacin del fichero de paginacin necesario para el Virtual Memory
Manager.
DOS Device Key.
Crea los enlaces simblicos (links) que direccionan ciertas clases de comandos al
componente correcto del sistema.
SybSystems key.
Arranca el subsistema Win32, el cual controla toda la entras / salida (I/O) y los accesos a
la pantalla de video y posteriormente arranca el proceso de WinLogon.
LOGON:
El proceso de Logon comienza al finalizar la fase de inicializacin del Kernel. El sistema
automticamente arranca el programa WINLOGON.EXE, el cual arranca el Local Security
Authority (LSASS.EXE) y nos muestra la pantalla de Logon. Se puede arrancar en este
momento aunque Windows no haya terminado de inicalizar los controladores de
dispositivos (drivers) de la red.
Posteriormente, el controlador de servicios (Service Controller) ejecuta y realiza una
bsqueda final en la clave Services del registro, buscando los servicio con un valor 0x2 en
la entrada. Estos servicios, incluyendo el servicio de Workstation y el servicio Server, son
marcados para cargarse automticamente.
Los servicios que son cargados durante esta fase estn basados en los valores de la clave
DependenOnGroup
o
DependOnService
de
las
entradas
en
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices.
El arranque de Windows no se considera finalizado y correcto hasta que el usuario se
haya conectado. Despus de este Logon correcto, el sistema copia el Clone Control Set a
las claves de LastKnownGood.
Arquitectura de Computadoras
33
Conclusiones
Arquitectura de Computadoras
34
Bibliografa
http://arquidecomp.galeon.com/unidad01.htm
http://logica-reptilia.blogspot.com/2009/03/interrupciones.html
http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/
PolilibroFC/Unidad_V/Unidad%20V_2.htm
http://blogs.unellez.edu.ve/acamacho1/2-el-computador/sistemasoperativos/arranque-del-sistema-operativo-windows/
Arquitectura de Computadoras
35