Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
Indicaciones:
Las preguntas resaltadas con color naranja son preguntas cuyas respuestas no están confirmadas en el libro. Las preguntas resaltadas con color rojo son preguntas cuyas respuestas no se encuentran no han sido resueltas por los autores de este solucionario.
SOLUCIONARIO DEL LIBRO MICROPROCESADORES INTEL BARRY BREY 7º EDICIÓN CAPITULO 01: Introducción al microprocesador y la computadora c omputadora 1. ¿Qu ¿Quién ién desarr desarroll ollo o la maqui maquina na analí analíti tica? ca? Charles Babbage
2. En el censo censo de 1890 se utilizo utilizo un nuevo nuevo disposit dispositivo ivo llamado llamado tarjeta tarjeta perfora perforada. da. ¿Quién ¿Quién desarrollo la tarjeta perforada? Herman Hollerith 3. ¿Qu ¿Quién ién fue fue el fund fundado adorr de IBM IBM corpo corporat ration ion? ? Herman Hollerith 4. ¿Quié ¿Quién n desarrol desarrollo lo la la primera primera calcu calculador ladoraa electró electrónica? nica? Konrad Zuse 5. ¿Para que propósito se desarrollo el primer sistema computacional electrónico? Probablemente para diseño de aeronaves y misiles durante la II guerra mundial 6. ¿La primera computadora programable de propósito general se llamo? ENIAC
7. El primer primer micro microproce procesador sador en el mundo mundo fue fue desarroll desarrollado ado en 1971 1971 por por El Intel 4004 por Federico Faggin, Ted Hoff y Stan Mayor 8. ¿Quién era la condesa de Lovelace? Augusta Ada Byron
9. ¿Quié ¿Quién n desarrollo desarrollo el el primer primer lenguaje lenguaje de progra programació mación n llamado llamado FLOWMATI FLOWMATIC? C? Grace Hopper 10. ¿Qué es una una maquina maquina de Von Von Neuman? Neuman? Una maquina que almacena las instrucciones de un programa en el sistema sistema de memoria CAPITULO 02: El microprocesador microprocesador y su arquitectura ¿Que son los registros visibles para los programas? Son regist registros ros que se utiliza utilizan n durant durante e la progra programac mación ión de aplicac aplicacion iones es y se especi especific fican an mediante mediante las instruccion instrucciones. es. Los microproces microprocesadores adores 8086 al Pentium II se consideran consideran visibles para los programas. 1.
2.
El 80286 direcciona registros que son de 8 y de
16 bits.
3. ¿Cuál ¿Cuáles es microproce microprocesador sadores es pueden pueden direccion direccionar ar los regist registros ros extendid extendidos? os? Los microprocesadores 80386 y posteriores ( 80486, Pentium, Pentium P ro y Pentium II, etc.) 4.
El registro extendido BX se direcciona como EBX .
5. ¿Cuál regist registro ro guarda guarda la cuenta cuenta para alguna algunass instrucci instrucciones? ones?
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
ECX (conteo)
6. ¿Cu ¿Cuál ál es el el propós propósito ito del del regis registro tro PI/ PI/EIP EIP? ? Guarda la dirección de desplazamiento del siguiente paso en el programa 7. ¿C ¿Cuá uále less so son n la lass op oper erac acio ione ness ar arit itmé méti tica cass qu quee no mo modi difi fica can n el bit de ba band nder eraa de acarreo? En las transferencias de datos o cuando se realiza una operación de control 8. ¿Ocurrirá ¿Ocurrirá un desbor desbordami damiento ento si se se suma un FFH con signo signo a un 01H 01H con signo? signo? No, si suma +1 y -1 el resultado será será cero, que es un número número valido. 9.
Se dice que un numero que contiene 3 bits uno tiene paridad impar.
10. ¿Cuál bit de bandera controla la terminal INTR en el microprocesador? microprocesador? La bandera I
CAPITULO 03: Modos de Direccionamiento –JRM 1. ¿Qué hace las siguientes instrucciones MOV? MOV AX,BX COPIAR BX EN AX MOV BX, AX COPIAR AX EN BX MOV BL,CH COPIAR CH EN BL MOV AX, CS COPIAR CS EN AX 2. Liste Los Registros De 08 Bits Que Se Utiliza Utiliza Para El Direccionamiento De Registro Registro AL, AH, BL, BH, CL, CH, DL, DH 3. Liste Los Registros De 16 Bits Que Se Utiliza Para El Direccionamiento De Los Registros. AX, BX, CX, DX, SP, BP, SI, DI 4. Liste Los Registros De 32 Bits Que Se Utilicen Utilicen Para El Direccionamiento De Registros Registros En Los Procesadores 8086 A Pentium 4 EAX, EBC, EDX, ESP, EBP, EDI, ESI 5. Liste Los Registros De 16 Bits Que Se Utiliza Para El Direccionamiento De Registros Mediante PUSH ,MOV Y POP CS, ES, DS, SS, FS y GS 6. ¿Que Error Tiene La Instrucción MOV BL,CX? NO SE PUEDE ESPECIFICAR TAMAÑOS DE REGISTROS MIXTOS 7. ¿Que Error Tiene La Instrucción MOV DS,SS? NO SE PERMITE COPIAR DE SEGMENTO A SEGMENTO 8.-Seleccione Una Instrucción Para Cada Una De Las Tareas COPIAR EBX EN EDX MOV EDX ,EBX COPIAR BL EN CL MOV CL,BL COPIAR SI EN BX MOV BX ,CI COPIAR DS EN AX MOV AX, DS COPIAR AL EN AH MOV AH,AL 9. Seleccione Una Instrucción Para Cada una De Las Siguientes Tareas MOVER 12H HACIA AL MOV AL ,12H MOVER 123H HACIA AX MOV AX,123H MOVER OCDM HACIA CL MOV CL,OCDM MOVER 100H HACIA SI MOV SI,1000H MOVER 1200A2H HACIA EBX MOV EBX,1200A2H
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
10 .-Que Símbolo Especial Se Utiliza Algunas Veces Para Denotar Datos Inmediatos. El símbolo # CAPITULO 04: Instrucciones para mover datos El primer byte de una instrucción es el código de operación a menos que contenga uno de los prefijos de sustitución.
1.
Describa el propósito de los bits D y W que se encuentran en algunas instrucciones en lenguaje maquina . El bit D indica la dirección de flujo para los datos (REG hacia R/M o R/M hacia REG) y el bit W indica el tamaño de los datos ( byte o palabra / doble palabra)
2.
3. Qué informac información ión se especif especifica ica mediante mediante el el campo MOD en un instru instrucción cción en lenguaje maquina? Selecciona el modo de operación de direccionamiento para una instrucción en lenguaje maquina Si el campo de registro (REG) de una instrucción contiene 010 y W=0 ¿Qué ¿Q ué registro se selecciona, suponiendo que la instrucción está en modo de 16 bits? DL 4.
5. ¿Como se se selecciona selecciona los los registro registross de 32 bits bits en el micro microproce procesador sador 80486? 80486? Estableciendo el modificador .368 después de la instrucción .MODEL Qué modo de direccionamiento de memoria se especifica cuando R/M= 001, con MOD=00 para una instrucción de 16 bits? DS:[BX+DI] 6.
7. Ident Identifiqu ifiquee los registr registros os de segmento segmento predet predetermin erminado ado que se se asignan asignan a los siguientes: (a) SP (b) EBX (c) DI (d) EBP (e) SI (a): apuntador de la pila, (b): índice í ndice de base de 32 bits, (c): índice de destino, (d): apuntador de base de 32 bits, (e): índice de origen 8. Convi Convierta erta el númer número o 8B07H de de lenguaje lenguaje maquina maquina a lenguaj lenguajee ensamblado ensamblador. r. MOV AL,[BX]
9. Convi Convierta erta un número número 8B9E00 8B9E004CH 4CH de lenguaj lenguajee maquina maquina a lenguaje lenguaje ensamb ensamblador lador.. 10. Si parece una instrucción MOV SI,[BX+2] SI,[BX+2] en un programa ¿Cuál es su equivalente equivalente en lenguaje máquina ? 8B7702 CAPITULO 05: Instrucciones aritméticas y lógicas 1. Selec Seleccione cione una instru instrucción cción ADD que: que: a) Sume BX a AX ADD AX, BX ADD AL, 12H b) Sume 12H a AL ADD EBP, EDI c) Sume EDI Y EBP d) Sume 22H a CX ADD CX, 22H
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
e) Sume a AL los datos direccionados por SI ADD AI, [SL] f) Sume CX a los datos almacenados en la posición de memoria RANA RANA, CX
ADD
2. ¿Cuál es es el error error en la la instrucció instrucción n ADD ECX, AX? No pueden usar registros de tamaño mixto 3. ¿Es posible posible sumar sumar CX a DS con la instru instrucción cción ADD? ADD? No porque no se permite la suma de registro de segmentos 4. Si AX=100H y DX=20FF, DX=20FF, liste la suma suma y el contenido de cada bit del del registro registro de banderas (C,A,S,Z y O) después de ejecutar la instrucción ADD AX,DX AX=3100H, C=0, A=1, S=0, Z=0 y O=0 5. Desarrolle una secuencia corta de instrucciones para suma AL, BL, CL y AH. Almacene la
suma en el registro DH ADD DI, AL ADD DI, BL ADD DI, CL ADD DI, AH 6. Desa Desarr rrol olle le un unaa se secu cuen enci ciaa co cort rtaa de in inst stru rucc ccio ione ness pa para ra su suma marr AX AX,, BX BX,, CX CX,, DX y SP SP.. Almacene la suma en el registro DI. ADD AX, BX ADD AX, CX ADD AX, DX ADD AX, SP ADD DI, AX 7. Desarrolle una secuencia corta de instrucciones para sumar ECX, EDX y ESI. Almacene la suma en el registro EDI. ADD EDI, ECX ADD EDI, EDX ADD EDI, ESI 8. Selec Seleccione cione una instruc instrucción ción para sumar sumar BX a DX, y que también sume sume el contenido contenido de la bandera de acarreo (C) al resultado. ADC DX, BX 9. Selec Seleccione cione una instruc instrucción ción que sume sume 1 al contenido contenido del registro registro SP. INC SP -> SP=SP+1 10.¿Cuál es el error en la instrucción INC [BX]? El ensamblador no puede determinar el tamaño de la posición de memoria Debería escribirse: INC BYTE PTR [BX] INC WORD PTR [BX] INC DWORD PTR [BX] CAPITULO 06: Instrucciones de control de programas (JMP) Corto? 1. ¿Qué es un salto (JMP) Se llaman saltos relativos. Es una instrucción de 2 bytes que permite saltos hacia posiciones de memoria que estén dentro del rango de +127 y -128 bytes desde la dirección que sigue después del salto. 2. ¿Qué tipo de JMP se util utiliza iza cuando se brinc brincaa a cualq cualquier uier lugar dent dentro ro de un segmento de código actual?
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
JMP cercano (intrasegmento)
3. ¿Qué tipo de instr instrucción ucción JMP perm permite ite que el progr programa ama conti continúe núe su ejecu ejecución ción en cualquier posición de memoria en el sistema? JMP lejano(intersegemento) 4. ¿Qu ¿Quéé instr instrucci ucción ón JMP es de 5 byte bytes? s? Un salto (JMP) lejano Los bytes 2 y 3 => contienen contienen la nueva dirección del desplazamiento Los bytes 4 y 5 => contienen contienen la nueva dirección del segmento 5. ¿Cuál es el rango de un salto cercano en los los microprocesadores 386-Pentium 4? El rango es de ± 2 Gbytes
6. Indi Indique que el tipo de instrucc instrucción ión JMP (cort (corto, o, cercano, cercano, lejan lejano) o) que se ensamb ensambla la para para los siguientes casos. => cercana (a) Si la distancia es de 0210H => corto (b) Si la distancia es de 0020H (c) Si la distancia es de 10000H => lejano 7. ¿Qué puede decirs decirsee sobre sobre una una etiqu etiqueta eta que va va seguida seguida del signo de los los 2 punto puntos? s? Que es una etiqueta externa 8. ¿Cuál regis registro tro o regist registros ros cambi cambiaa el salto cercan cercano o para modif modificar icar la direc dirección ción del programa? El registro registro IP o EIP 9. ¿Cuál regis registro tro o registr registros os cambi cambiaa el salto salto lejan lejano o para modif modificar icar la direc dirección ción del programa? Los registros CS y IP 10. Explique qué hace la instrucción JMP AX. Identifíquela Identifíquela como una instrucción instrucción de salto cercano o lejano. La instrucción JMP AX salta hacia la dirección de desplazamiento que se almacena en AX, esto solo puede ser un salto cercano. CAPITULO 07: Uso del lenguaje ensamblador con c/c++ 1.- ¿Soporta el ensamblador en línea macro secuencias en lenguaje ensamblador? No, la princip principal al limita limitació ción n del ensamb ensamblad lador or en línea línea es que no puede puede utiliz utilizar ar macro macro secuencias o instrucciones condicionales del flujo del programa. 2.- ¿Puede un byte definirse en el e l ensamblador en linea mediante el uso de la directiva DB? No, los bytes deben definirse en C++ mediante el uso de char o de_int8. 3.- ¿Como se definen las etiquetas en el ensamblador de línea? Se define poniendo un nombre para la etiqueta seguida de dos puntos. 4.- ¿Que registros pueden usarse en lenguaje ensamblador (ya sea módulos en línea o enlazados) sin almacenarse? EAX, EBX, ECX, EDX y ES 5.- ¿Que reg regist istro ro se uti utiliz lizaa par paraa dev devolv olver er dat datos os ent entero eross de len lengua guaje je ens ensamb amblad lador or al programa en lenguaje C++ que hizo la llamada?
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
6.- ¿Que registro se utiliza para devolver datos tipos punto flotante de lenguaje ensamblador al programa en lenguaje C++ que hizo la llamada? La pila del coprocesador de uso flotante. 7.- ¿Es posible utilizar la instrucción .if en el ensamblador de línea? No, porque .if es un comando de MASM y el ensamblador en línea no soporta los comandos condicionales del MASM 8.- En el ejemplo 7-3, explique como la instrucción mov dl, cadena1[si] accede a los datos de cadena1. Accede a los datos en el arreglo cadena1 mediante el uso del registro SI para indicar el elemento tipo cadena. 9.- En el ejemplo 7-3, explique por que se saco y se metió el registro SI. Porque Porque solo se pueden pueden usar AX, BX, CX, DX y ES sin usar PUSH y POP, de lo contrario contrario podría producirse algún error. 10.- Observe que en el ejemplo 7-5 no se utilizan bibliotecas de C++ (#incluye) ¿Piensa que el código compilado para este programa es mas pequeño que para un programa que realiza la misma tarea en lenguaje C++? ¿Por qué? Si no se utilizan encabezados para un programa en C++, será mucho más pequeño. CAPITULO 8: Programación del microprocesador 1. El ensamblador convierte un archivo fuente en un archivo objeto hexadecimal
2. ¿Qué archivos archivos se se generan generan a partir partir del archiv archivo o fuente fuente PRUEBA.ASM, PRUEBA.ASM, si éste se procesa mediante ML.EXE? Cuando se ensambla el archivo PRUEBA.ASM, genera el archivo PRUEBA.OBJ y el archivo PRUEBA.EXE si no aparecen modificadores modificadores en la línea de de comandos. 3. El programa enlazador vincula los archivos objeto y los archivos de biblioteca para
crear un archivo ejecutable. 4. ¿Qué indica indica la la directiva directiva PUBLIC PUBLIC cuando cuando se coloca coloca en en el módulo módulo de un un programa? programa? PUBLIC indica que hay una etiqueta disponible para otros módulos del programa. 5. ¿Qué indica indica la la directiva directiva EXTERN EXTERN cuando cuando se coloca coloca en en el módulo módulo de un un programa? programa? EXTERN declara que las etiquetas son externas para un módulo 6. ¿Qué direct directiva iva aparece aparece con con las etiq etiquetas uetas defini definidas das como como externas? externas? EXTRN
7. Descr Describa iba el funcion funcionamien amiento to de un archiv archivo o de bibliote biblioteca ca que se enlaza enlaza a otros archivos objeto mediante el programa enlazador El programa enlazador saca los procedimientos del archivo de biblioteca que requiere el programa y los enlaza al mismo. 8. ¿Qué directi directivas vas de lenguaj lenguajee ensamblador ensamblador delin delinean ean una macrose macrosecuenci cuencia? a? MACRO y ENDM
9. ¿Q ¿Qué ué es es una una macr macros osec ecue uenc ncia ia? ? Es un grupo de instrucciones para realizar una tarea. A diferencia de un procedimiento, la macro se inserta en el programa en el punto en donde va a utilizarse 10. ¿Cómo se transfieren los parámetros a una macrosecuencia?
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
Los parámetros se pasan a una macro a través de una lista de parámetros que va después de la palabra clave MACRO (en la misma línea)
CAPITULO 9 1. List Listee las diferen diferencias cias entre entre los los micropro microprocesador cesadores es 8086 y 8088. 8088. Las principales diferencias entre el 8086 y el 8088 son: Un bus de datos de 8 bits en el 8088 un bus de datos de 16 bits en el 8086, una terminal en el 8088 8088 en el luga lugarr de de termi ermina nall M/ en el 8086. 086.
en el 8086 8086,, y un term termin inal al IO/ IO/
en el 8088 8088 en vez vez de de una una
2. ¿Es el el 8086/8088 8086/8088 compat compatible ible con TTL? TTL? Expliqu Expliquee su repue repuesta. sta. Sí y no. El control de corriente de un cero lógico se reduce a 2.0mA y la inmunidad al ruido se reduce a 350mV. 3. ¿Cuál es el el factor factor de salida salida del 8086/8088 8086/8088 para para los siguient siguientes es dispositi dispositivos?: vos?: (a) 74XXX TTL: 1 (b) 47ALSXXX TTL: 10 (c) 74HCXXX CMOS: 10 4. ¿Qué inform información ación aparece aparece en en el bus de de direcciones direcciones/datos /datos del 8088 8088 cuando cuando ALE esta esta activa? Los bits de dirección A 0 - A7 . 5. ¿Cuáles son los fines de los bits de estado S 3 y S4? Los bits S4 y S3 muestran cual segmento se utiliza durante el ciclo de bus actual.. estos dos bits de estado podrían utilizarse para direccionar cuatro bancos de memoria separados de 1 Mbyte si se decodifican como A 21 y A20. 6. ¿Qué condic condición ión indica indica un un 0 lógico lógico en el termina terminall RD del del 8086/8088? 8086/8088? Una operación de lectura. y de la instrucción WAIT. 7. Explique la operación de la terminal La terminal Prueba es una entrada que se evalúa mediante la instrucción WAIT. Si s un 0 lógico, la instrucción WAIT funciona como una instrucción NOP y si es un 1 lógico, la instrucción WAIT espera a que se un 0 lógico. Esta terminal se conecta con más frecuencia al coprocesador numérico. 8. Descr Describa iba la la señal que se apli aplica ca a la termi terminal nal de de entrada entrada CLK CLK de los los microprocesadores 8086/8088. El ciclo de trabajo debe ser del 33%. 9. ¿Qué modo modo de operac operación ión se selec selecciona ciona cuando cuando MN/MX MN/MX se conect conectaa a tierra? tierra? Modo máximo.
10. ¿Qué indica la señal de estrobo WR que proviene del 8086/8088 sobre la operación del 8086/8088? Que se está llevando a cabo una operación de escritura. CAPITULO 10: Interfaz de memoria 1. ¿Qué tipos de conexiones son comunes para para todos los dispositivos de de memoria? Son las entradas de dirección, las salidas ó entradas/salidas de datos, cierto tipo de entrada de selección y por lo menos una entrada de control.
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
2. Liste el número de palabras en cada dispositivo de memoria para los siguientes números de conexiones de dirección a) 8 256 b) 11 2k c) 12 4k d) 13 8k 3. Liste el número de elementos de datos que se almacenan en c/u de los siguientes dispositivos de memoria y el número de bits en c/dato a) 2Kx4 2k posiciones de memoria de 4 bits cada una; ó 2048 posiciones de memoria de 4 bits cada una b) 1Kx1 1k (1024) posiciones de memoria de 1 bit cada una c) 4Kx8 4k (4096) posiciones de memoria de 8 bits cada una d) 16Kx1 16k (16384) posiciones de memoria de 1 bit cada una e) 64Kx4 64k (65536) posiciones de memoria de 4 bits cada una
¿Cuál es el propósito de la terminal o Selecciona o HABILITA el dispositivo de memoria. 4.
en un componente de memoria?
¿Cuál es el propósito de la terminal en un dispositivo de memoria? Permite que los datos fluyan de las terminales de datos de salida de la ROM. 5.
¿Cuál es el propósito de la terminal Produce una operación de lectura. 6.
en una SRAM?
7. ¿Cuántos bytes de almacenamiento contienen los siguientes dispositivos de memoria EPROM? a) 2708 1k bytes b) 2716 2k bytes c) 2732 4k bytes d) 2764 8k bytes e) 27512 64k bytes 8. ¿Por qué una EPROM de 450ns no funciona directamente con un 8088 a 5MHz? El microprocesador permite 460ns para la memoria a 5 MHz, pero como hay un pequeño retraso en las conexiones a memoria, memoria, sería mejor no utilizar un dispositivo de memoria memoria de 450ns en dicho sistema sin un estado de espera. 9. ¿Qué puede decirse acerca de la cantidad de tiempo que se necesita para borrar y escribir en una posición de un dispositivo de memoria FLASH? Este dispositivo de memoria puede borrarse en el sistema mediante electricidad, pero requiere más tiempo para borrarse borrarse que una RAM normal. Permite funcionar a velocidades muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de esta memoria al mismo tiempo. 10. ¿Qué tipo de dispositivo utiliza el acrónimo SRAM? La Memoria Estática de Acceso Aleatorio
CAP ITULO 11: 11 : Interfaz básica de E/S E /S 1.- Explique en qué sentido fluyen los datos para unas instrucciones IN y OUT
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
IN.- Introduce datos desde un dispositivo de E/S externo hacia el registro AL (8bit) o AX (16 bits) OUT.- Envía datos des AL o AX hacia un dispositivo de E/S externo 2.- ¿En dónde se almacena el número de puerto E/S para una instrucción de E/S fija? La dirección de E/S se almacena en el segundo byte de la instrucción. 3.- ¿En dónde se almacena el número de puerto E/S para una instrucción de E/S variable? En el número de puerto de E/S de 16 bits.- en DX 4.- ¿En dónde se almacena el número de puerto E/S para una instrucción de E/S de cadena? En el número de puerto de E/S de 16 bits.- en DX 5.- ¿En cuál registro se introducen datos mediante la instrucción IN de 16 bits? En el registro DX 6.- Describa la operación de la instrucción OUTSB Se envía un byte desde la posición de memoria del segmento de datos direccionado por SI hacia el puerto d ireccionado por DX, después SI=SI=+-1 7.- Describa la operación de la instrucción INSW Se introduce una palabra desde el puerto direccionado por DI y se almacena en la posición de memoria del segmento extra direccionada por DI después DI = D I=+-2 8.- Compare un sistema de E/S por asignación de memoria con un sistema de E/S aislada
•
•
E/S por asignación de memoria No utiliza las instrucciones de memoria IN, INS, OUT y OUTS. En realidad se utiliza cualquier instrucción que transfiere transfiere datos entre el microprocesador y la memoria
•
E/S aislada Se deben emplear las instrucciones IN, INS, OUT, OUTS
9.- ¿Cuál es la interfaz básica de entrada? e ntrada? El dispositivo básico para entrada es un conjunto de búferes (registros) (registros) de tres
estados.
10.- ¿Cuál es la interfaz básica de salida? Es un enclavamiento que captura los datos de salida y los retiene para el dispositivo de salida. CAPITULO 12 : Interrupciones 1. ¿Qué es lo que se se interrump interrumpee debido debido a una interr interrupció upción? n? Interrumpe el programa que se está ejecutando en cua lquier punto dado 2. Def Defina ina el ter termin mino o inte interru rrupci pción ón Una interrupción es una llamada a una subrutina iniciada por hardware o software. 3. ¿Qu ¿Quéé es lo que que se llama llama debi debido do a una una interr interrupc upción ión? ? Se llama a un procedimiento el cual mediante el manejador de interrupciones o un procedimiento de servicio de interrupciones. 4. ¿Por qué qué las interru interrupcion pciones es liberan liberan tiempo tiempo para para el micropr microprocesa ocesador? dor? Una interrupción solo utiliza tiempo de la computadora cuando se activa. 5. List Listee las termin terminales ales de interrup interrupción ción en en el microp microprocesa rocesador dor
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
INTR, NMI, INTA.
6. List Listee las 5 instr instruccion ucciones es de interr interrupció upción n para para el micropr microprocesado ocesador r INT, INT3, INTO, CLI, STI. 7. ¿Qu ¿Quéé es un vec vector tor de int interr errupc upción ión? ? Es un elemento imprescindible para comprender las interrupciones de hardware y software. 8. ¿En qué parte parte de de la memoria memoria del del microproc microprocesador esador se encuentran encuentran los vectores vectores de de interrupción? En el primer 1Kbyte del sistema de memoria en modo real y en cualquier parte de modo protegido. 9. ¿Cuánt ¿Cuántos os vectores vectores de interrup interrupción ción distint distintos os se encuentran encuentran en la tabla tabla de vectore vectoress de interrupción? 256 10. ¿Qué vectores vectores de interrupción interrupción están reservados reservados por Intel? Del 00H al 1FH. (Las primeras 32 posiciones) CAPITULO 13: Acceso directo a memoria 1. ¿Q ¿Qué ué te term rmin inal ales es de dell mi micr crop opro roce cesa sado dorr se ut util iliz izan an pa para ra so soli lici cita tarr y ac acep epta tarr un unaa transferencia por DMA? Hay dos señales de control que se utilizan para solicitar y admitir una transferencia de acceso directo a memoria (DMA) en el sistema basado en microprocesador. microprocesador. La terminal HOLD es una entrada entrada que se utiliza utiliza para solicitar una acción de DMA y la terminal HLDA es una salida que admite la acción de DMA. 2. Expli Explique que lo que que ocurre ocurre cada vez que que se coloca coloca un 1 lógico lógico en la terminal terminal de de entrada entrada HOLD. El microp microproc rocesa esador dor suspen suspende de la ejecuc ejecución ión de la instru instrucci cción ón actual actual y flota flota su direcc dirección ión,, información y canales para control. 3. Una lectura lectura de de DMA transfie transfiere re datos datos desde _______ ____________ _____ hacia hacia ________ ______________ ______ Una lectura de DMA transfiere datos desde LA MEMORIA hacia EL DISPOSITIVO DE E/S. 4. Una escritur escrituraa de DMA transfie transfiere re datos datos desde desde __________ __________ hacia hacia __________ ______________ ____ Una escritura de DMA transfiere datos desde EL DISPOSITIVO DE E/S hacia LA MEMORIA. 5. ¿A través través de qué señales señales del del bus seleccion seleccionaa el controlado controladorr de DMA para para seleccionar seleccionar el dispositivo de E/S que que se va a utilizar durante durante una transferencia por DMA? Señales de control e información sobre direcciones de memoria durante la transferencia por DMA. 6. ¿Cuál es es la terminal terminal que utiliz utilizaa el controlado controladorr de DMA para seleccion seleccionar ar el dispositiv dispositivo o de E/S que se va a utilizar durante una transferencia por DMA? Es la terminal DACK 7. ¿Qué es una trans transferen ferencia cia por por DMA de memori memoriaa a memori memoria? a? Una transf transfere erencia ncia DMA consis consiste te princi principal palmen mente te en copiar copiar un bloque bloque de memori memoria a de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Un ejemplo de transferencia DMA de memoria a memoria: suponga que el contenido de las ubicaciones de memoria 10000H-13FFFH debe ser transferido a las ubicaciones de memoria
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
14000H-17FFFH. Esto se logra mediante una instrucción repetida de movimiento de cadena o, de manera más rápida, con el controlador de DMA. 8. Des Descri criba ba el efe efecto cto en el mic microp roproc rocesa esador dor y el con contro trolad lador or de DMA cua cuando ndo las
terminales HOLD y HLDA están en el nivel de 1 lógico. El microprocesador es ideal y el controlador DMA gobierna al sistema. 9. De Descr scrib ibaa el efecto efecto en el micro micropr proc oces esad ador or y el contro controla lado dorr de DMA cu cuan ando do las terminales HOLD y HLDA están en el nivel de 0 lógico. 10. El controlador de DMA 8237 es un controlador de DMA de ___________ canales. El controlador de DMA 8237 es un controlador de DMA de CUATRO canales. CAPITULO 14: El Coprocesador aritmético, las tecnologías MMX y SIMD 1. List Listee los tres tres tipos de de datos que que se cargan o se se almacenan almacenan en memoria memoria mediant mediantee el coprocesador. Estos tipos de datos son: Entero con signo, BCD y Punto flotante. 2. List Listee los tres tres tipos de datos datos enteros, enteros, el rango rango de los los enteros enteros que puede puede almacenarse almacenarse en ellos y el número de bits que se asigna a cada uno. Palabra (16 bits, ±32K) Doble Palabra (32 bits, ±2 G) Palabra cuádruple (64 bits, ± 9X1018) 3. Expli Explique que cómo cómo el copro coprocesado cesadorr almacena almacena un un número número BCD en en memoria. memoria. El formato decimal codificado binario (BCD) requiere 80 bits de memoria. Cada número se almacena como un entero empaquetado de 18 dígitos en nueve bytes de memoria con dos dígitos por byte. El décimo byte contiene sólo un bit de signo para el número BCD con signo de 18 dígitos. La figura a continuación muestra el formato el numero BCD que se utiliza con el coprocesador aritmético. Observe que tanto los números positivos como los negativos se almacenan en formato real y nunca en formato de complemento a diez. 0 79 Byte de signo
D17 D16 D15 D14D13 D14D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
FORMATO DE DATOS BCD PARA LA L A FAMILIA 80X87 DE COPROCESADORES ARITMÉTIOS
4. List Listee los tres tipos tipos de números números de punto punto flotante flotante que se utiliz utilizan an con el coprocesa coprocesador dor y el número de bits binarios que se asignan a cada uno. Precisión simple (32 bits) Doble precisión (64 bits) Precisión temporal (128 bits) 5. Co Conv nvie iert rtaa lo loss si sigu guie ient ntes es nú núme mero ross de deci cima male less en nú núme mero ross de pu punt nto o fl flot otan ante te co con n precisión simple: a) 28.75 b) 6 2 4 c) -0.615 d) +0.0 e) -1000.5
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
6. Co Conv nvie iert rtaa lo loss decimales: 1100 000000 0000 a) 11 0011 111111 1111 b) 00 c) 01 0100 000001 0111 0100 000000 0000 d) 01 0100 000000 0011 e) 01 f) 00 0000 000000 0000
sigu si guie ient ntes es nú núme mero ross de pu punt nto o fl flot otan ante te co con n pr prec ecis isió ión n si simp mple le en 11110000 1111 0000 0001 00 010000 0000 1001 10 011100 0011 0000 00 000000 0000 0010 00 100000 0000 0000 00 000000 0000
000 0000 0000 0000 000 0000 0000 0000 000 0000 0000 0000 000 0000 0000 0000 000 0000 0000 0000 000 0000 0000 0000
00000 000 0000 0000 000000 00 0000 0000 000000 00 0000 0000 000000 00 0000 0000 000000 00 0000 0000 000000 00 0000 0000
-7.75 0.5625 76.5 2.0 10.0 0.0
7. Exp Expliq lique ue qué hace el coproces coprocesado adorr cuando se ejecuta ejecuta una instruc instrucció ción n normal normal del microprocesador. El coprocesador aritmético funciona en paralelo con el microporcesador 8. Ex Expl pliq ique ue qu quéé ha hace ce el mi micr crop opro roce cesa sado dorr cu cuan ando do se ej ejecu ecuta ta un unaa in inst stru rucc cció ión n de dell coprocesador. El microp microproc rocesa esador dor contin continúa úa ejecut ejecutand ando o instruc instruccio ciones nes de microp microproc rocesa esador dor (tipo (tipo entero entero), ), mientras que el coprocesador ejecuta una instrucción in strucción de punto flotante. 9. ¿Cuál es el propósito de los bits C 3 - C0 en el registro de estado? Los bits de código de condición indican condiciones relacionadas con el coprocesador.
10. ¿Qué operación se logra mediante la instrucción FSTSW AX? Copia el registro de estado del coprocesador en AX. CAPITULO CAPITU LO 15: Interfaz de Bus 1. ¿A qué corresponde las letras ISA como c omo acrónimo? Corresponden a Arquitectura Estándar de la Industria
2. ¿Qué tamaño tamaño de de transferen transferencia cia de datos datos soporta soporta del del sistema sistema de bus bus ISA? De 8 o de 16 bits, dependiendo de la configuración de zócalo 3. ¿Se utiliza la interfaz de bus ISA con frecuencia para la expansión de memoria? Es raro que se agregue memoria a cualquier tarjeta de bus ISA ya que solo opera a una velocidad de 8 MHz
4. Desarr Desarrolle olle una una interfaz interfaz de bus ISA con con frecuencia frecuencia para para la expansión expansión de la memori memoriaa
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
SA2 SA3 SA4 SA5 SA6 SA7 SA8 SA9 SA10 SA11
SD0 SD1 SD2 SD3 SD4 SD5 SD6 SD7
34 33 32 31 30 29 28 27
DC0 DC1 DC2 DC3 DC4 DC5 DC6 DC7
IOR IOW SA0 SA1 RESET
5 36 9 8 35 6
RD WR AO AI RESET CS
I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
O1 O2 O3 O4 O5 O6 O7 O8
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
19 18 17 16 15 14 13 12
4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10
SA12 SA13 SA14 SA15
5. Desarr Desarrolle olle una una interfaz interfaz de bus bus ISA que que decodifiqu decodifiquee los puertos puertos 0340H 0340H – 0343H 0343H para para controlar un temporizador 8254 6. Desarr Desarrolle olle una una interfaz interfaz de bus bus PCI de de 32 bits bits que agregue agregue una una EPROM 27c256 27c256 en las las direcciones de memoria FFFF0000H-FFF7FFFH 10 9 8 7 6 5 4 3 25 24 21 23 2 26 27
SA0 SA1 SA2 SA3 SA4 SA5 SA6 SA7 SA8 SA9 SA10 SA11 SA12 SA13 SA14
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
O0 O1 O2 O3 O4 O5 O6 O7
11 12 13 15 16 17 18 19
SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0
CE OE VPP
SMEMR
_____
10k
---
SA15 SA16 SA17 SA18 SA19 SA20 SA21 SA22 SA23
I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
O1 O2 O3 O4 O5 O6 O7 O8
19 18 17 16 15 14 13 12
7. Suponi Suponiendo endo que que cuenta cuenta con un búfer búfer 24LS244 24LS244 y un un enclavami enclavamiento ento 74LS374, 74LS374, desarrolle una interfaz de bus ISA que contenga un puerto de entrada de 8 bits en la dirección E/S 308H y un puerto de salida de 8bits en la dirección E/S 30AH
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
D0 D1 D2 D3
2 4 6 8
1A1 1A2 1A3 1A4
1Y1 1Y2 1Y3 1Y4
D4 D5 D6 D7
11 13 15 17
2A1 2A2 2A3 2A4
2Y1 2Y2 2Y3 2Y4
1 19
1G 2G
10 16 14 12 9 7 5 3
3 4 7 8 13 14 17 18
D0 D1 D2 D3 D4 D5 D6 D7
1
OC CLK
_______ --------
O0 O1 O2 O3 O4 O5 O6 O7
2 5 6 9 12 15 16 19
_______ --------
8. Cree una interf interfaz az de bus ISA que que permita permita 4 canales canales de señales señales de salida salida analógicas analógicas,, de 0 a 5.0V cada una. Estos 4 canales deberán codificarse en las direcciones de E/S 300H, 310H, 320H y 330H también desarrolle el software que soporte los 4 canales
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
CS WR1 WR2 2 4 6 8 11 13 15 17
SD0 SD1 SD2 SD3 SD4 SD5 SD6 SD7
1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4
1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4
1 1G 19 2G
1 2 3 4 5 6 7 8 9 11
SA10 SA11
SA12 SA13 SA14 SA15
IOW
1 2 4 5
9 10 12 13
I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
O1 O2 O3 O4 O5 O6 O7 O8
CS WR1 WR2 D10 D11 D12 D13 D14 D15 D16 D17
D10 D11 D12 D13 D14 D15 D16 D17
IOUT2 IOUT1
VREF
D10 D11 D12 D13 D14 D15 D16 D17
12 11
2 3
3
8
9
RFB
415 IOUT2 IOUT1
VREF
12 11
2 3
3
8
9
RFB
415 IOUT2 IOUT1
XFER ILE DGND AGND
CS WR1 WR2
9 415
XFER ILE DGND AGND
CS WR1 WR2
8
RFB
XFER ILE DGND AGND
______ ------
SA0 SA1 SA2 SA3 SA4 SA5 SA6 SA7 SA8 SA9
D10 D11 D12 D13 D14 D15 D16 D17
VREF
VREF
12 11
2 3
3
8
9
RFB
415 IOUT2 IOUT1
XFER ILE DGND AGND
12 11
2 3
3
______ -------
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
9. Haga de nuevo la la pregunta pregunta 8, solo solo en vez vez de 4 canales canales de salid salidaa usar 4 ADCs ADCs para crear 4 canales de entrada analógicas en las mismas direcciones. 10. Mediante el uso de un temporizador o de varios temporizadores 8254, desarrolle un temporizador cuarto oscuro en una tarjeta tarjeta de bus ISA. Su temporizador deberá generar un 0 lógico para intervalos de 1/100 segundos, desde 1/100 segundos hasta 5 minutos. Use el reloj del sistema de 8 MHz como fuente de sincronización. El software que desarrolle deberá permitir al usuario seleccionar el tiempo desde el teclado. La señal de salida del temporizador deberá ser un 0 lógico durante el tiempo seleccionado y pasar a través de un inversor para habilitar un relevador de estado solido que controle el ampliador fotográfico CAPITULO 16: Los microprocesadores 80186 80188 y 80286 1. List Listee las diferenci diferencias as entre entre los microproce microprocesador sadores es 8086/8088 8086/8088 y 80186/801 80186/80188 88 Gran diferencia entre estos es la anchura de los buses 80186 al igual que el 8086 contiene un bus de datos de 16 bits 80188 al igual que el 8088 trae un bus de datos de 8 bits Las estructuras internas de estos son idénticas. Pero el 80186/80188 contienen vectores de interrupción reservados adicionales y algunas características de E/S integrados muy poderosas conocidas como controladores integrados 2. ¿Qué mejoras mejoras se se agregaron agregaron al 80186/ 80186/80188 80188 que que no están están presente presente en el el 8086/8088? 8086/8088? Las mejoras de hardware incluyen temporizadores internos entradas de interrupción adicionales, lógica de selección de chip, puertos de comunicaciones en serie, terminales en paralelo, controlador de DMA y un controlador de interrupciones. 3. ¿En que tipos tipos de circui circuitos tos integrad integrados os viene viene empaquetado empaquetado el 80186/801 80186/80188? 88? En 4 versiones CMOS: 80C186XL y 80C188XL versiones básicas y 80C186EC y 80C188EC versiones avanzadas 4. Si el cristal de 20MHz se conecta a X 1 y X2 ¿Qué señal de frecuencia se encuentra en
CLKOUT? 10 MHz
5. Descr Describa iba las diferen diferencias cias entre entre las versiones versiones 80C188X 80C188XL L y 80C188EB 80C188EB del controlado controlador r integrado 80188 La versión 80C188EB contiene algunas nuevas características que no estaban a versiones anteriores. Estas son: - 2 puertos de E/S (P1 y P2) que se comparten con otras funciones - 2 interfaces de comunicaciones en serie que están integradas en el procesador p rocesador A diferencia de la versión XL esta no contiene un controlador DMA 6. El factor factor de salida salida de cualquier cualquier termin terminal al del 80186/8 80186/80188 0188 es………. es………. Para Para un 0 lógico 3 mA
7. ¿Cuánt ¿Cuántos os periodos periodos de reloj reloj se se encuentran encuentran en un ciclo ciclo de bus del del 80186/801 80186/80188? 88? 4 periodos 8. ¿Cuál es la la principal principal diferenc diferencia ia entre entre la sincroniza sincronización ción del 8086/8 8086/8088 088 y del 80186/80188? El punto en el que aparece la dirección 9. ¿Cuál es la impor importanci tanciaa del tiem tiempo po de acceso a memoria memoria? ?
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
Tiempo de acceso es el que se asigna a la memoria y a la E/S, para que proporcionen datos al microprocesador, una vez que este envía su dirección a la memoria o a la E/S
10. ¿Cuánto tiempo de acceso a memoria memoria permite el 80186/80188 80186/80188 si se opera con un reloj reloj de 10MHz? 260 ns para la versión de 16 MHz que opera a 10MHz CAPITUL API TULO O 17 17 1. El microproc microprocesador esador 80386 80386 direccion direcciona………. a………... bytes de memori memoriaa en el modo protegi protegido do 4G
2. El microproc microprocesador esador 80386 80386 direccion direcciona………. a………... bytes de memori memoriaa virtual virtual mediante mediante la unidad de administración de memoria. 64T 3. Descr Describa iba las las diferen diferencias cias entre el 80386DX 80386DX y el 80386SX 80386SX El 80386DX utiliza bancos de memoria a través de BLE y BHE, en el 80386SX los bancos de memoria se utilizan a través de habilitación de banco, BE3-BE0 El 80386SX no contiene la terminal de dirección A 0 debido a que esta decodificada en las señales BLE y BHE El 80386DX no contiene las conexiones de dirección A 0 y A1 porque están codificadas como las señales de habilitación de banco. El 80386SX tiene un bus de direcciones de 16 bits y el 80386DX de 32 bits 4. Dibuj Dibujee el mapa mapa de memoria memoria del del 80386 cuando cuando se opera en en el (a) (a) modo protegi protegido; do; (b) (b) modo real. FFFFFFFF
Mapa de Memoria en Modo Protegido
0000FFFF
Mapa de Memoria en Modo Real
00000000
00000000
5. ¿Cuánt ¿Cuántaa corriente corriente hay disponib disponible le en las diversa diversass conexiones conexiones de las las terminales terminales de salida del 80386?compare estas corriente con las corrientes disponibles en la conexión de terminal de salida de un microprocesador 8086 Cada una de las terminales de salida del 80386 son capaces de suministrar 4.0 mA (conexiones de dirección y de datos) o 5.0 mA (otras conexiones), representando un aumento en comparación de los 2.0 mA disponibles en las terminales de salida del 8086 6. Descr Describa iba el sistema sistema de memori memoriaa del 80386; 80386; explique explique el propósit propósito o y la operación operación de las señales de selección de banco. El tema de memoria tiene hasta 4 Gbytes y las señales de habilitación de banco seleccionan uno o más de los bancos de memoria de 8 bits. 7. Expli Explique que la acción acción de de un reinicio reinicio de de hardware hardware en las las conexiones conexiones del del bus de de direcciones del 80386
Subido para ciberplex.tk Desarrollado en la Universidad Nacional Jorge Basadre Grohmann por los estudiantes de la ESIS
el reinicio inicializa el 80386, con lo cual empieza a ejecutarse el software en la posición de memoria FFFFFFF0H. el 80386 se reinicializa en modo real, en tanto que las 12 conexiones de dirección de mas a la izquierda se mantienen en el nivel de 1 lógico (FFFH) hasta que se ejecutan un salto lejano. Facilitando la compatibilidad con los microprocesadores antiguos
8. Expli Explique que como como la canaliza canalización ción extiend extiendee el tiempo tiempo de acceso acceso para para muchas muchas referencias a memoria en el sistema basado en el microprocesador 80386 La canalización permite que el microprocesador envié la dirección de la siguiente posición de la memoria mientras retiene los datos de la operación de la memoria anterior. Le permite a la memoria un tiempo adicional para acceder a los datos 9. Describa en forma breve como funciona el sistema de memoria caché La memoria cache es un búfer que permite que el 80386 funcione de una manera mas eficiente con menores velocidades de DRAM. Mejora el rendimiento general de los sistemas de memoria para los datos que se utilizan más de una vez. Por lo general los dispositivos de memoria cache son componentes de memoria RAM estática con tiempos de acceso menores a 10 ns.
10. En el 80386, los puertos de E/S comienzan en la dirección de E/S___________ y se extienden hasta la dirección de E/S__________________ 0000H-FFFFH