Sei sulla pagina 1di 9

INSTITUTO TECNOLÓGICO DE MATEHUALA

CUESTIONARIO
Unidad 1 Fundamentos
1.2 El Microprocesador, 1.3 Interrupciones

Elaboró:
Castillo Juárez Oscar
Hernández Ortiz Cesar
Juárez Tinajero Luis Eduardo
Pedraza Eguía Simón
Reyna Hernández Juan Antonio

Materia: Lenguaje Ensamblador


Docente: Ing. Martín Luis Ledezma Hernández
Carrera: Ingeniería en Sistemas Computacionales
Grupo: Sexto Semestre
Unidad 1: Fundamentos
Semestre: Enero-Junio 2011

Matehuala, S.L.P. Marzo 2011


Cuestionario.
Lee cuidadosamente y da respuesta a cada una de las preguntas.
PREGUNTAS
1.- ¿Cuáles son los bloques funcionales de la computadora?
El nombre de cada parte nos indica la función que realiza. Así, la Unidad Central de Proceso (CPU) es la
que coordina el funcionamiento conjunto de las demás unidades y realiza los cálculos necesarios; por eso
la podemos subdividir en una Unidad de Control (UC) y en una unidad de cálculo o Unidad Aritmético-
Lógica (UAL).

La unidad de Memoria Principal (MP) se encarga de almacenar las instrucciones que realizará la Unidad de
Control al ejecutar un programa y los datos que serán procesados. La Unidad de Entradas y Salidas será la
encargada de la comunicación con el exterior a través de los periféricos. Estos periféricos pueden ser: de
entrada, como los teclados; de salida, como los tubos de rayos catódicos, y de entrada y salida, como los
discos magnéticos.

En la figura 2.1 se muestran dichas partes, llamadas genéricamente unidades funcionales debido a que,
desde el punto de vista del funcionamiento, son independientes.

2.- ¿Qué tipo de buses existen?


Bus de datos-Bus de dirección-Bus de control. Para la comunicación interna de una computadora
Cuando la CPU quiere leer o escribir en una determinada posición de memoria, enviara la dirección, en
paralelo, a la memoria por un conjunto de conductores eléctricos al que se denomina bus de direcciones,
ya que se utiliza exclusivamente para enviar direcciones. Así mismo, los datos leídos o los que se quieren
escribir se trasladan mediante un conjunto de conductores eléctricos denominado bus de datos. Las
ordenes de la CPU a la MP y las respuestas de la MP a la CPU son enviadas por un tercer conjunto de
conductores llamado bus de control.
En la figura 2.7 se muestran las conexiones de la CPU con la MP. Se han dibujado en la figura 2.7 (a)
todos los conductores eléctricos suponiendo que se emplean 8 hilos para el bus de datos, 16 para el de
direcciones y 3 para el de control. En la practica no se dibujan todos los hilos para simplificar las figuras y
se hace como en las figuras 2.7 (b) y 2.7 (c).
(b) Indicando sobre una línea el número de conductores.

(a) Representando todos los hilos.

(c) Indicando el sentido de las informaciones.

Figura 2.7. Interconexiones entre la UCP y la MP.

Existen varias formas de interconectar las unidades funcionales de la computadora entre si. Una de ellas
emplea un único conjunto de buses, como puede apreciarse en la figura 2.8 (a), al que se conectan todas
las unidades. Esto obliga a que, en un determinado instante, solo dos unidades puedan estar haciendo uso
del mismo; si hay que enviar algo a la tercera unidad, se deberá esperar a que quede libre.

Otra forma de interconectar las unidades de la computadora consiste en emplear conjuntos de buses
diferentes para la Unidad de E/S y la MP. De esta forma, aunque se encarece el sistema, se gana en
velocidad y se pueden emplear direcciones iguales para nombrar periféricos y a posiciones de memoria. La
CPU, si quiere seleccionar un periférico, utiliza el bus de la Unidad de E/S, y si quiere seleccionar una
posición de memoria, utiliza el bus de memoria. En este caso se dice que los periféricos no están
mapeados en memoria. En la figura 2.8 (b) se muestra una posible conexión con el bus múltiple.

(a) Empleando un solo conjunto de buses.


(b) Empleando dos conjuntos de buses diferentes.
Figura 2.8. Formas de interconexión.

3.- ¿Cuáles son los componentes principales de un procesador?

El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para
conformar una (o más) “unidad central de procesamiento” UCP, también conocido como CPU
Unidades Funcionales Básicas.
Unidad Central de Procesos.
Unidad de Memoria Principal.
Unidad de Entradas y Salidas.
Interconexión de las Unidades Funcionales.

4.- ¿Cuál es la función principal de la ALU (“Arithmetic and Logic Unit”)?

La unidad Aritmético - Lógica (UAL) es la encargada de realizar los cálculos. Los datos sobre los que se
realizan la operaciones se denominan operandos. Al elemento encargado de ejecutar las operaciones se le
denomina operador, y esta formado por una serie de circuitos electrónicos que son capaces de sumar dos
números binarios o hacer las operaciones lógicas elementales: disyunción, conjunción y negación; incluso
algunos operadores son también capaces de multiplicar, dividir y realizar otras operaciones mas complejas.
Para que el operador realice la operación, los operandos se llevan a la UAL y se guardan en unos registros
denominados registros de trabajo. El resultado de la operación se guarda también en un registro antes de
ser llevado a la memoria o a la Unidad de Entradas y Salidas. Frecuentemente se utiliza un mismo registro
para guardar uno de los operandos y, también, el resultado, denominado registro Acumulador.
El operador, además de calcular el valor de la operación, modifica el registro de estado según el resultado
de la operación. Así, si el resultado es un valor negativo, se modifica un bit de dicho registro, llamado bit
negativo o bit N, poniéndose a 1; por el contrario, el bit N permanecerá en estado 0 mientras el contenido
del acumulador no sea negativo. De igual forma indicara la UAL a la UC si el resultado ha sido cero, o si ha
producido algún acarreo, etc.

En la figura 2.4 muestran los elementos de la UAL y las señales que intervienen.
(a)

(a) UAL con tres registros: 2 para los operandos y 1 para el resultado.

(b)

(b) UAL con acumulador.

Figura 2.4. Elementos y señales de la AUL

5.- ¿De qué se encarga la CU (“Control Unit”)?


Para realizar su tarea la UC necesita conocer, por un lado, la instrucción y, por otro, una serie de
informaciones adicionales que deberá tener en cuenta para coordinar, de forma correcta, la ejecución de la
instrucción. El resultado de la interpretación de dichas informaciones son una serie de órdenes a los
diferentes elementos de la computadora.
La UC no emite todas las órdenes a la vez, sino siguiendo una determinada secuencia. Para ello utiliza un
elemento que le va indicando el instante en que debe ejecutar una determinada fase de la instrucción. A
este elemento se le denomina Reloj, y se dice que sincroniza las acciones de la UC; cuanto más rápido
marque el tiempo, más rápida será la ejecución de la instrucción. Sin embargo, hay un limite, ya que, si
marca excesivamente rápido, es posible que no puedan cumplir adecuadamente las órdenes de los
diferentes elementos, por lo que se producirán errores.
En la figura 2.2 se esquematiza el conjunto de señales que utiliza la UC y las que genera. Como
informaciones adicionales a las instrucciones podemos ver los impulsos de reloj y los indicadores de
estado. Los indicadores de estado son una serie de bits que se modifican según resultados de las
operaciones anteriores guardando una memoria histórica de los acontecimientos precedentes para que,
en función de dichos acontecimientos, pueda la UC tomar decisiones.
Figura 2.2. Señales que intervienen en la UC.

La unidad de control esta formada, básicamente por un elemento que interpreta las instrucciones y varios
elementos de memoria denominados registros. Uno de estos registros almacena la instrucción mientras el
intérprete está traduciendo su significado, por lo que se denomina Registro de Instrucción (RI). El resto de
las instrucciones permanecen en la memoria, esperando que les toque su turno de ejecución.
La UC por otra parte deberá conocer cuál es la dirección de la próxima instrucción, para poder ir a buscarla
una vez que finaliza la ejecución de la instrucción en curso; dirección que guarda el registro llamado
Contador de Programa (CP).
Los indicadores de estado están agrupados en un registro denominado Registro de Estado (RE).
La Figura 2.3 muestra los elementos que acabamos de nombrar.

Figura 2.3. Elementos básicos de la Unidad de Control.

6.- ¿A qué se le llama microcódigo?


Un microcódigo o microprograma es un tipo particular de firmware utilizado en algunos microprocesadores
de propósito general.

7.- ¿Cuál es la función que realiza el bus interno de una computadora?


Línea de comunicación por donde se controla el intercambio de información con un módulo de la unidad
central y los periféricos.

8.- ¿Cuál es la principal diferencia de los procesadores 8086 y 8088?


Internamente son idénticos, excepto que el 8086 tiene una cola de 6 bytes para instrucciones y el 8088 de
solo 4. Exteriormente se diferencian en que el 8086 tiene un bus de datos de 16 bits y el del 8088 es de
solo 8 bits, por ello, el 8086 era más rápido, mientras que el 8088 podía usar menos y más económicos
circuitos lógicos de soporte, lo que permitía la fabricación de sistemas más económicos.

9.- ¿En qué año aparecen los procesadores 8086 y 8088?


El 8086 fue lanzado al mercado en el verano de 1978. El 8088 fue lanzado en 1979.

10.- ¿Qué característica tienen en común los procesadores 8086 y 8088?


Tecnología HMOS. Canal N
* Empaquetado DIP 40
* Una sola fuente de voltaje. Vcc = 5 V (275 mA)
* Velocidad de 5 MHz
* 20 bits de direcciones (1 MByte)
* Lenguaje ensamblador compatible con 8080/8085
* 14 registros de 16 bits
* 24 modos de direccionamiento
* Operaciones con Bit, Byte, Word o con bloques
* Aritmética binaria o decimal, de 8 y 16 bits, con o sin signo. Incluye operaciones de multiplicación y división
* Interfaz de sistema compatible con Multibus

11.- ¿Cuáles son los dos sub-procesadores que manejan los procesadores 8086/8088?
Unidad de ejecución (EU: ExecutionUnit) y unidad interfaz del bus (BIU: Bus Interface Unit).
La unidad de ejecución es la encargada de realizar todas las operaciones propias de ejecutar cada
instrucción, mientras que la unidad de interfaz con el bus es la encargada de las transacciones de datos e
instrucciones con el mundo exterior. Las unidades de ejecución son idénticas en el 8088 y en el 8086, pero
las unidades de interfaz del bus son diferentes en varios aspectos.

12.- ¿Con cuántos registros cuentan los procesadores 8086/8088?


Tienen 16 bits cada uno y son ocho.

13.- ¿Cuántos y cuáles son los registros de segmento?


 cs - Segmento de código
 ds - Segmento de datos
 ss - Segmento de pila es Apuntador de segmento extra
 fs - Apuntador de segmento extra
 gs - Apuntador de segmento extra

14.- ¿Para qué sirven los registros de segmento?


Los registros de segmento se utilizan para referenciar áreas de memoria.
15.- ¿Cuántos y cuáles son los registros de propósito general?
 Registros AX - El registro AX, el acumulador principal
 Registro BX - El BX es conocido como el registro base
 Registro CX - El CX es conocido como el registro contador
 Registro DX - El DX es conocido como el registro de datos.

16.- ¿Para qué sirven los registros de propósito general?


Para guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann.
17.- ¿Cómo se dividen los registros de propósito general?
En High y Low

18.- ¿Para qué sirven los registros IP = Puntero de instrucción (Instruction Pointer)?
Marca el desplazamiento de la instrucción en curso dentro del segmento de código. Es automáticamente
modificado con la lectura de una instrucción.
19.- ¿Qué es la dirección absoluta o efectiva?
Direccionamiento directo o absoluto: El operando está situado en la dirección indicada en la instrucción,
relativa al segmento que se trate:
MOV AX,[57D1h]
MOV AX,ES:[429Ch]
Esta sintaxis (quitando la 'h' de hexadecimal) sería la que admite el programa DEBUG (realmente habría
que poner, en el segundo caso, ES: en una línea y el MOV en otra). Al trabajar con ensambladores, las
variables en memoria se pueden referenciar con etiquetas simbólicas:
MOV AX, dato
MOV AX,ES: dato
Dato DW 1234h ; variable del programa
20.- ¿Cuántos y cuáles son los registros índice?

 Registro SI
 Registro DI
 Registro SI.
El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este
contexto, el SI está asociado con el registro DS. Los procesadores 80386 y posteriores permiten el uso de
un registro ampliado a 32 bits, el ESI.
 Registro DI.
El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En
este contexto, el Di está asociado con el registro ES. Los procesadores 80386 y posteriores permiten el
uso de un registro ampliado a 32 bits, el EDI.
21.- ¿Qué nos indican los registros índice?
Nos indican Direcciones indexadas, sumas y Restas, que son las operaciones de punta.
22.- ¿Qué registros nos indica el offset?
El Registro IP(instrucción pointer)
23.- ¿Qué es el registro de estado (flags)?
Registro de bandera.
Los registros de banderas sirven parar indicar el estado actual de la maquina y el resultado del
procesamiento, Cuando algunas instrucciones piden comparaciones o cálculos aritméticos cambian el
estado de las banderas.
Bandera OF (Over flow flag, desbordamiento). Indica el desbordamiento de un bit de orden alto (mas a la
izquierda) después de una operación aritmética. DF (Direction flag, Direccion). Designa la dirección hacia la
izquierda o hacia la derecha para mover o comparar cadenas de caracteres. IF (Interruption flag,
Interrupcion). Indica que una interrupción externa, como la entrada desde el teclado sea procesada o
ignorada. TF (Trap flag, Trampa).
Examina el efecto de una instrucción sobre los registros y la memoria. Los programasdepuradores como
DEBUG, activan esta bandera de manera que pueda avanzar en la ejecución de una sola interrupción a un
tiempo. SF (Sign flag, Signo). Contiene el signo resultante de una operación aritmética (0=positivo y 1=
negativo). ZF (Zero flag, Zero). Indica el resultado de una operación aritmética o de comparación (0=
resultado diferente de cero y 1=resultado igual a cero). AF (Auxiliary carry flag, Acarreo auxiliar). Contiene
un acarreo externo del bit 3 en un dato de 8 bits, para aritmética especializada PF (Parity flag, Paridad).
Indica paridad par o impar de una operación en datos de ocho bits de bajo orden (mas a la derecha). CF
(Carry flag, Acarreo). Contiene el acarreo de orden mas alto (mas a la izquierda) después de una operación
aritmética; también lleva el contenido del ultimo bit en una operación de corrimiento o rotación

24.- ¿Qué son los indicadores de condición y cuáles son estos bits dentro de el registro de estado?
Indicadores de condición: Reflejan los resultados de operaciones del programa.
Bit 0: Indicador de acarreo (CF): 1 si la operación de suma o resta produce un acarreo por exceso o
defecto. 0 si no produce acarreo.
Bit 2: Indicador de paridad (PF): 1 si la operación tiene un nro. par de bits. O si el número de bits es impar.
Bit 4: Indicador auxiliar de acarreo (AF): 1 si hay acarreo por defecto o exceso de los 4 bits menos
significativos en los valores BCD (decimal codificado en binario).
Bit 6: Indicador de cero (ZF): 1 si la operación da 0. No solo da 0 las operaciones matemáticas sino
también comparaciones de igual valor.
Bit 11: Indicador de desbordamiento (OF): Cuialquier resultado que exceda los límites del tamaño de un
operando provoca un desbordamiento (overflow) y activará el indicador a 1.

25.- ¿Cuáles son los bits indicadores de control?


Bits 8, 9, 10: Indicadores de control.
Bit 8: Indicador de intercepción (TF) 1 para el modo de intercepción (TRAP) activado, haciendo que el
micro eje cute una instrucción paso a paso.
Bit 9: Indicador de interrupción (IF): 0 para desactivar la interrupción externa y 1 para activarlo. IF se
controla con CLI (desactiva la interrupción externa) y STI (activa la interrupción externa).
Bit 10: Indicador de dirección (DF): Señala la dirección en la que se procesa la instrucción de cadena en
relación con SI y DI. 0 procesa hacia arriba y 1 hacia abajo.

26.- ¿A qué se le llama Direccionamiento de Localidades de Memoria?


Es cuando el sistema almacena en memoria un registro hexadecimal en bytes (ejemplo 0401H), Un byte de
orden alto (más significativo), 04 y un byte de orden bajo (menos significativo), 01. el sistema almacena en
memoria estos bytes en secuencia inversa de bytes. Es decir, el byte de orden bajo en la dirección baja de
memoria y el byte de orden alto en la dirección alta de memoria.
27.- ¿A qué se le llama Segmento?
Un segmento es un área especial en un programa que inicia en una localidad de memoria, regularmente
divisible entre 16 o 10 hex. puede estar ubicado casi en cualquier lugar de la memoria y en modo real,
puede ser hasta de 64K.

28.- ¿Qué son los segmentos CS, CD, SS y qué función tienen?
CS: Segmento de código: contiene las instrucciones de maquina que son ejecutadas. Por lo común, la
primera instrucción ejecutable está en el inicio del segmento, y el sistema operativo enlaza a esa localidad
para iniciar la ejecución del programa. Su tamaño puede ser hasta 64K.
DS: El segmento de datos contiene datos, constantes y áreas de trabajo definidos p or el programa. El
registro del DS direcciona el segmento de datos.
SS: El segmento de pila contiene los datos y direcciones que necesitamos guardar temporalmente o para
uso de sus “llamadas” subrutinas. El registro del segmento de la pila (SS) direcciona el segmento de la pila

29.- ¿Qué es el bus de direcciones?

El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se
establece la dirección de memoria del dato en tránsito.
El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección.La
capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus
de direcciones, siendo 2n (dos elevado a la ene) el tamaño máximo en bytes del banco de memoria que se
podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bytes, son necesarias al
menos 8 líneas, pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar
cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus.

30.- De un ejemplo práctico de direccionamiento relativo a registro


Un ejemplo, tomaremos en cuenta que el contador de programa contiene el numero 669 y que la parte de
dirección de la instrucción contiene el numero 31. La instrucción en la posición 669 se lee de la
memoria durante la fase de recuperación y el contador de programa se incrementa en uno a 670. El cálculo
de dirección efectiva para el modo de dirección relativa es 670 + 31 = 701. Esto es 31 posiciones de
memoria adelante de la dirección de la siguiente instrucción.

31.- De un ejemplo práctico de direccionamiento relativo a registro base


El modo de direccionamiento relativo a registro base se utiliza para acceder a una zona de datos en
memoria, donde, por ejemplo, se hayan almacenado los datos de una tabla. De esta forma, se guardaría en
el registro base la dirección de la posición de memoria que ocupara el primer dato de la tabla, y a partir de
aquí solo se tendrían en cuanta los desplazamientos relativos contenidos en la instrucción, esto es, la
posición dentro de la tabla a la que queremos acceder.
32.- ¿Cómo funciona el modo de direccionamiento indexado?
En este modo el contenido de un registro índice se suma a la parte de dirección de la instrucción para
obtener la dirección efectiva.

Potrebbero piacerti anche