Estructura de Computadores: Datos, CPU MIPS y Memoria

Apuntes de Estructura de Computadores: representación e IEEE 754, arquitectura Von Neumann, ensamblador MIPS, jerarquía de memoria y control de E/S.

Estructura de Computadores I · Universidad de Lleida · Grado en Ingeniería Informática · 1.º curso

20 páginas · 3 temas · 6 flashcards · 12 preguntas tipo test

Índice

  1. Representación de datos y aritmética numérica · p. 3-7
  2. Arquitectura de Von Neumann, CPU y Ensamblador MIPS · p. 7-12
  3. Jerarquía de memoria y subsistema de Entrada/Salida · p. 12-19

Representación de datos y aritmética numérica

Flashcards

¿Qué ventaja fundamental aporta el Complemento a 2 frente al formato de Signo-Magnitud?
El Complemento a 2 evita la redundancia del cero eliminando el doble cero y optimiza los circuitos de cálculo al procesar las restas como simples sumas binarias.
¿Cómo se obtiene el exponente real a partir del campo de exponente en simple precisión IEEE 754?
Se resta el sesgo de 127 al valor decimal sin signo almacenado en el campo de 8 bits (Ereal = E - 127).

Preguntas tipo test

  1. ¿Cuál es la expresión de rango para un registro entero de n bits en complemento a 2?
    • a) De 0 a 2 n 2^n 2 n - 1
    • b) De -( 2 n − 1 2^{n-1} 2 n − 1 - 1) a 2 n − 1 2^{n-1} 2 n − 1 - 1
    • c) De - 2 n − 1 2^{n-1} 2 n − 1 a 2 n − 1 2^{n-1} 2 n − 1 - 1
    • d) De - 2 n 2^n 2 n a 2 n 2^n 2 n - 1

    Respuesta: c) De - 2 n − 1 2^{n-1} 2 n − 1 a 2 n − 1 2^{n-1} 2 n − 1 - 1. El complemento a 2 tiene un valor negativo extra debido a la existencia de un único cero.

  2. ¿Cuántos bits de exponente y qué sesgo incorpora el formato IEEE 754 de simple precisión?
    • a) 11 bits y sesgo 1023
    • b) 8 bits y sesgo 127
    • c) 8 bits y sesgo 128
    • d) 7 bits y sesgo 63

    Respuesta: b) 8 bits y sesgo 127. La simple precisión de 32 bits reserva 8 bits de exponente con exceso de 2 8 − 1 2^{8-1} 2 8 − 1 - 1 = 127.

  3. ¿En qué consiste el bit implícito de la mantisa en IEEE 754?
    • a) Es el cero a la izquierda de la coma
    • b) Es el bit de redondeo final del registro
    • c) Es el 1 entero normalizado que no se guarda
    • d) Es un bit de signo adicional no visible

    Respuesta: c) Es el 1 entero normalizado que no se guarda. Al normalizar en formato 1,M, el 1 entero siempre existe y se prescinde de guardarlo para ganar espacio.

Arquitectura de Von Neumann, CPU y Ensamblador MIPS

Flashcards

¿Qué operación debe realizarse sobre el registro \$sp para reservar espacio y apilar 2 palabras en MIPS?
Se debe decrementar el puntero restando 8 unidades mediante la instrucción addi \sp, \sp, -8, ya que cada palabra ocupa 4 bytes y la pila crece hacia direcciones menores.
¿Por qué es imprescindible respaldar \$ra en la pila dentro de una subrutina que contiene otra llamada con jal?
Porque una segunda instrucción jal sobrescribe el contenido de \$ra con la nueva dirección de retorno, lo que provocaría la pérdida de la dirección original para regresar a la función principal.

Preguntas tipo test

  1. ¿Qué registro de la CPU almacena la dirección de memoria de la próxima instrucción a ejecutar?
    • a) Registro de Estado (RE)
    • b) Puntero de Pila ($sp)
    • c) Contador de Programa (PC)
    • d) Registro de Instrucción (RI)

    Respuesta: c) Contador de Programa (PC). El PC contiene permanentemente la dirección de memoria de la instrucción siguiente que debe ser captada.

  2. En MIPS, ¿qué acción concreta realiza la instrucción jal etiqueta?
    • a) Restaura el valor previo de PC
    • b) Carga el código de operación en RI
    • c) Incrementa $sp en 4 posiciones
    • d) Guarda PC + 4 en $ra y salta

    Respuesta: d) Guarda PC + 4 en $ra y salta. jal guarda la dirección de retorno (PC + 4) en $ra antes de transferir el flujo a la etiqueta destino.

  3. ¿Hacia qué sentido se desplaza el puntero $sp al realizar una operación de apilado (push)?
    • a) Hacia direcciones más bajas restando 4
    • b) Permanece constante en memoria
    • c) Hacia direcciones más altas sumando 4
    • d) Aumenta proporcionalmente al tamaño de datos

    Respuesta: a) Hacia direcciones más bajas restando 4. En la arquitectura MIPS la pila crece hacia abajo, por lo que apilar exige restar 4 a $sp.

Jerarquía de memoria y subsistema de Entrada/Salida

Flashcards

¿Qué función cumple el factor (1 - Pca) en la fórmula del tiempo medio de acceso a memoria?
Representa la tasa de fallo (Pmp), es decir, la probabilidad de no hallar el dato solicitado en la memoria caché y tener que recuperarlo desde la memoria principal.
¿En qué se diferencia el sondeo (polling) del mecanismo de interrupciones respecto a la CPU?
En el sondeo la CPU queda bloqueada en un bucle verificando el estado del dispositivo, mientras que con interrupciones la CPU prosigue ejecutando instrucciones hasta que el periférico solicita atención asíncrona.

Preguntas tipo test

  1. ¿Por qué las memorias DRAM requieren ciclos periódicos de refresco?
    • a) Utilizan biestables que se desincronizan
    • b) Sus celdas se basan en condensadores con fugas
    • c) El bus de datos pierde tensión rápidamente
    • d) La memoria caché satura sus registros internos

    Respuesta: b) Sus celdas se basan en condensadores con fugas. Las celdas DRAM almacenan carga en condensadores microscópicos que se descargan con el tiempo, exigiendo refresco periódico.

  2. En un mapa de direcciones de 32 bits direccionable por bytes, ¿cuál es la capacidad máxima direccionable?
    • a) 512 MB
    • b) 4 GB
    • c) 2 GB
    • d) 32 GB

    Respuesta: b) 4 GB. Un bus de 32 bits permite direccionar 2³² bytes, lo que equivale exactamente a 4 GB de espacio máximo.

  3. ¿Cuál es la principal ventaja de utilizar un controlador de DMA frente a la E/S programada?
    • a) Aumenta la frecuencia de reloj del procesador
    • b) Transfiere bloques enteros sin intervención continua de CPU
    • c) Duplica el tamaño del bus físico de direcciones
    • d) Elimina por completo el uso de memoria principal

    Respuesta: b) Transfiere bloques enteros sin intervención continua de CPU. El DMA gestiona transferencias masivas de datos de forma autónoma, liberando a la CPU del bucle de copia.

Y 0 flashcards y 3 preguntas más en el documento.

Texto del documento

APUNTES ESTRUCTURA DE COMPUTADORES I Grado en Ingeniería Informática Universidad de Lleida AprenAI 2026-2027 Apuntes de Estructura de Computadores: representación e IEEE 754, arquitectura Von Neumann, ensamblador MIPS, jerarquía de memoria y control de E/S.

APREN.AI Índice 1 Representación de datos y aritmética numérica Atributos de la representación y sistemas de numeración Códigos de representación entera con signo Coma fija, coma flotante y estándar IEEE 754 Fundamentos de aritmética binaria e implementación 2 Arquitectura de Von Neumann, CPU y Ensamblador MIPS Modelo de Von Neumann y estructura del computador El ciclo de instrucción y tratamiento de interrupciones Arquitectura MIPS y formato de instrucciones Gestión de la pila, subrutinas y llamadas al sistema 3 Jerarquía de memoria y subsistema de Entrada/Salida Jerarquía y tecnologías de memoria Estructura del mapa de memoria física y niveles de caché Subsistema de Entrada/Salida: interfaces y técnicas de control 4 Formulario Representación de datos y coma flotante Ciclo de instrucción y ensamblador MIPS Jerarquía de memoria y buses Soluciones de las preguntas de repaso Estos apuntes pueden contener errores u omisiones.

Son un material de apoyo y no sustituyen al temario oficial ni al profesorado: contrasta la información importante. Estructura de Computadores: Datos, CPU MIPS y Memoria 1 1 Representación de datos y aritmética numérica AL ACABAR SABRÁS Diferenciar los atributos de rango, resolución y precisión en sistemas digitales. Calcular rangos de representación para enteros con signo en Signo-Magnitud, C1, C2 y Exceso. Descomponer números en coma flotante según los parámetros del estándar IEEE 754. PIÉNSALO ANTES DE LEER 1 ¿Por qué un ordenador de 32 bits en Complemento a 2 puede almacenar hasta -2.147.483.648 pero solo hasta +2.147.483.647?

Los sistemas digitales procesan exclusivamente secuencias de dígitos binarios organizadas según el ancho de los buses y el tamaño de los registros. Para tratar entidades complejas como textos o imágenes, se requiere una traducción simbólica previa hacia formatos discretos y finitos. ESQUEMA Estructura de la representación y aritmética de datos Atributos de la representación y sistemas de numeración La digitalización impone restricciones que se evalúan a través de parámetros formales: Rango: intervalo comprendido entre el menor y el mayor valor representable. Resolución: distancia matemática constante o variable existente entre dos valores consecutivos representables.

En coma fija equivale al peso del bit menos significativo. Precisión: cota de error máximo ante una magnitud real, calculada como la mitad de la resolución ( ). En cuanto a las unidades de información, un byte u octeto contiene 8 bits. La palabra representa la cantidad de bits manipulados en paralelo por la máquina, condicionando la precisión y la potencia de cálculo. La resolución de acceso a memoria define la unidad mínima de información que el procesador puede direccionar y leer de manera directa.

Datos digitales Fundamentos y formatos Parámetros y bases Rango, resolución y conversiones Enteros con signo S-M, C1, C2 y exceso Coma flotante Estándar IEEE 754 Aritmética binaria Suma, producto y división 2 Resoluci n o ˊ Estructura de Computadores: Datos, CPU MIPS y Memoria 2 Los sistemas de numeración posicionales ponderan cada dígito según la potencia de su base (base 2 para binario, base 16 para hexadecimal). Las conversiones desde la base decimal procesan la parte entera mediante divisiones sucesivas entre la base de destino y la parte fraccionaria multiplicando sucesivamente por dicha base.

Para transferir entre binario y hexadecimal se asocian agrupaciones de cuatro bits; para octal se emplean bloques de tres bits. COMPRUEBA 2 ¿Cómo varía la resolución numérica entre una representación en coma fija y una en coma flotante? Códigos de representación entera con signo Para codificar enteros con signo en cadenas de bits se emplean distintos convenios numéricos: Signo-Magnitud (S-M): reserva el bit más significativo para el signo (0 positivo, 1 negativo) y los restantes bits para el módulo. Presenta doble representación del cero (+0 y -0). Complemento a 1 (C1): los positivos coinciden con el binario puro y los negativos se generan invirtiendo cada bit. También sufre de doble cero.

Complemento a 2 (C2): estándar aritmético donde el valor negativo se formula sumando una unidad al complemento a 1: Posee un cero único y añade un valor negativo adicional. Exceso o sesgo: añade un desplazamiento fijo al número decimal para procesar el valor resultante como un entero sin signo. Representación Rango para bits Tratamiento del cero Signo-Magnitud (S-M) Doble (+0 y -0) Complemento a 1 (C1) Doble (+0 y -0) Complemento a 2 (C2) [-2^{n-1}, +2^{n-1}-1] Único Representación en exceso ( ) Único (codificado como sesgo) ERROR FRECUENTE Olvidar la asimetría del rango en Complemento a 2 al trabajar con bits provoca desbordamientos.

El extremo negativo alcanza , mientras que el positivo únicamente llega hasta por la unicidad del cero. COMPRUEBA 3 ¿Cuál es el rango numérico representable en Complemento a 2 con un registro de 8 bits? n n 1 C2 = C1 + 1 2 n 1 1 n [ (2 n 1 1), +(2 n 1 1)] [ (2 n 1 1), +(2 n 1 1)] 2 n 1 1 [ 2 + n 1 1, +2 ] n 1 n 2n 1 +2 n 1 1 Estructura de Computadores: Datos, CPU MIPS y Memoria 3 Coma fija, coma flotante y estándar IEEE 754 La coma fija fragmenta una longitud predefinida en signo, parte entera y parte fraccionaria. Presenta aritmética simple pero rango acotado; si la cifra supera la capacidad del formato, se pierde información por truncamiento.

Por contra, la coma flotante maximiza el rango siguiendo la formulación exponencial , donde intervienen el signo ( ), la mantisa ( ), la base ( ) y el exponente ( ). La mantisa condiciona la precisión, mientras que el exponente rige el rango representable. El estándar industrial IEEE 754 establece dos formatos normalizados donde la mantisa adopta la forma . El bit entero 1 se omite del registro al ser implícito, maximizando el almacenamiento fraccionario: Simple precisión: emplea 32 bits desglosados en 1 bit de signo, 8 bits de exponente con sesgo 127 ( ) y 23 bits de mantisa fraccionaria.

Doble precisión: emplea 64 bits conformados por 1 bit de signo, 11 bits de exponente con sesgo 1023 ( ) y 52 bits de mantisa. El valor decimal normalizado responde a: COMPRUEBA 4 ¿Por qué el estándar IEEE 754 no almacena el bit más significativo de la mantisa normalizada? Fundamentos de aritmética binaria e implementación En coma fija, la adición opera sumando bit a bit y propagando el acarreo hacia la etapa sucesiva. La sustracción se ejecuta convirtiendo el sustraendo a complemento a 2 y realizando una suma directa. Para la multiplicación, se desplaza la coma y se suman los productos parciales acumulados.

En la división, el divisor se alinea sin coma desplazándolo y evaluando sustracciones frente al dividendo. A nivel de hardware, los cálculos pueden ejecutarse de dos maneras: Combinacional: módulos en paralelo de elevada velocidad pero con retardos asociados a la propagación del acarreo y alta complejidad en silicio. Secuencial: cadenas de registros de desplazamiento y circuitos suma-resta coordinados por señal de reloj, con menor coste espacial. Para la integración funcional del procesador, la arquitectura interna y el ciclo de instrucciones de la máquina se analizan en «Arquitectura de Von Neumann, CPU y Ensamblador MIPS».

N = S × M × BE S M B E 1,M 2 8 1 1 2 11 1 1 N = ( 1) × S 1,M × 2E sesgo Estructura de Computadores: Datos, CPU MIPS y Memoria 4 IDEAS CLAVE La resolución equivale a la diferencia entre valores consecutivos; en coma fija es constante y en coma flotante varía con el exponente. El complemento a 2 unifica el valor del cero y dispone de un rango asimétrico que abarca desde hasta . La representación en exceso suma un sesgo para codificar cantidades con signo en un espacio numérico sin signo. El estándar IEEE 754 utiliza un bit entero implícito no almacenado para maximizar los bits disponibles de mantisa.

En IEEE 754, la simple precisión utiliza 32 bits (sesgo 127) y la doble precisión ocupa 64 bits (sesgo 1023). COMPRUEBA LO QUE HAS APRENDIDO 5. ¿Qué ventaja fundamental aporta el Complemento a 2 frente al formato de Signo-Magnitud? 6. ¿Cómo se obtiene el exponente real a partir del campo de exponente en simple precisión IEEE 754? Test Rodea la respuesta correcta. Las soluciones están al final. 7. ¿Cuál es la expresión de rango para un registro entero de n bits en complemento a 2? 8. ¿Cuántos bits de exponente y qué sesgo incorpora el formato IEEE 754 de simple precisión? 9. ¿En qué consiste el bit implícito de la mantisa en IEEE 754? 10.

¿Qué problema presentan los circuitos aritméticos combinacionales puros?

2n 1 2 n 1 1 2 n 1 1 De 0 a - 1 a) 2n De -( - 1) a - 1 b) 2n 1 2n 1 De - a - 1 c) 2n 1 2n 1 De - a - 1 d) 2n 2n 11 bits y sesgo 1023 a) 8 bits y sesgo 127 b) 8 bits y sesgo 128 c) 7 bits y sesgo 63 d) Es el cero a la izquierda de la coma a) Es el bit de redondeo final del registro b) Es el 1 entero normalizado que no se guarda c) Es un bit de signo adicional no visible d) Retardos por la propagación del acarreo a) Imposibilidad de procesar números positivos b) Incompatibilidad total con la coma fija c) Dependencia estricta de una señal de reloj d) Estructura de Computadores: Datos, CPU MIPS y Memoria 5 2 Arquitectura de Von Neumann, CPU y Ensamblador MIPS AL ACABAR SABRÁS Identificar los bloques funcionales de la arquitectura Von Neumann y el rol de sus buses.

Describir las fases del ciclo de instrucción y la gestión de interrupciones. Manejar la pila en ensamblador MIPS respetando el sentido de crecimiento descendente. Aplicar las convenciones de llamada y retorno de subrutinas con jal y jr $ra. PIÉNSALO ANTES DE LEER 11 ¿Por qué un procesador necesita restar unidades a su puntero de pila para guardar un nuevo dato? Modelo de Von Neumann y estructura del computador El modelo de Von Neumann define una arquitectura donde las instrucciones y los datos comparten el mismo espacio de almacenamiento en la memoria principal.

El sistema se organiza en cuatro subsistemas esenciales conectados a través de buses: Unidad Central de Procesamiento (CPU): procesa la información y gobierna el sistema. Contiene la Unidad de Control (UC), la Unidad Aritmético-Lógica (ALU) y el conjunto de registros internos. Memoria Principal: almacena temporalmente programas y operandos organizados en celdas binarias identificadas por una dirección única. Subsistema de Entrada/Salida (E/S): comunica el computador con los periféricos externos, permitiendo recibir y enviar datos.

Buses del sistema: líneas físicas que interconectan los bloques funcionales mediante tres canales especializados: Bus de datos: transmite la información bidireccionalmente entre componentes. Bus de direcciones: indica de forma unidireccional la posición exacta de memoria o dispositivo destino. Un bus de bits permite direccionar un espacio de memoria máximo de posiciones. Bus de control: transporta señales de temporización, sincronización y órdenes de operación (lectura, escritura, reloj). n 2n Estructura de Computadores: Datos, CPU MIPS y Memoria 6 Esquema de organización interna de la CPU y buses del sistema.

Dentro de la CPU destacan registros de control específicos: el Contador de Programa (PC) con la dirección de la siguiente instrucción, el Registro de Instrucción (RI) con la instrucción en curso, el Registro de Dirección de Memoria (MAR) que vuelca direcciones al bus externo y el Registro Intermedio de Memoria (MBR) que intercambia datos con la memoria principal. COMPRUEBA 12 ¿Por qué el bus de direcciones es unidireccional respecto a la CPU mientras que el de datos es bidireccional?

El ciclo de instrucción y tratamiento de interrupciones La ejecución de un programa consiste en la repetición sucesiva del ciclo de instrucción, desglosado en etapas bien delimitadas: Búsqueda (Fetch): el valor del PC se transfiere al MAR ( ), se solicita la lectura en memoria volcando la palabra leída al MBR y finalmente se carga en el RI ( ). De forma paralela o sucesiva, el PC se actualiza a la siguiente posición ( en accesos alineados por palabra). 1 MAR PC RI MBR PC PC + 4 Decodificación: la Unidad de Control interpreta el código de operación del RI y determina los operandos a procesar sin alterar registros generales.

2 Ejecución: la ALU u otros bloques ejecutan la operación correspondiente y almacenan el resultado en los registros o la memoria. 3 Comprobación de interrupciones: al finalizar la instrucción, la CPU verifica si existen peticiones de interrupción pendientes. 4 Estructura de Computadores: Datos, CPU MIPS y Memoria 7 PROCESO Secuencia del ciclo de instrucción básico 1 Fetch (Búsqueda) Lectura de la instruc ción en memoria ha cia RI e incremento del PC. 2 Decodifi cación La Unidad de Control interpreta el código de operación del RI. 3 Ejecución La ALU opera los da tos y almacena el re sultado obtenido. 4 Interrup ciones Comprobación de pe ticiones activas antes de reiniciar el ciclo.

Si se detecta una señal de interrupción activa, el procesador preserva el PC y el Registro de Estado (RE), cambia al modo privilegiado (núcleo) y salta a la rutina de tratamiento del sistema operativo. Al finalizar el servicio, la instrucción RETI restaura el estado y el PC original para reanudar el flujo interrumpido. DEFINICIÓN Un microprograma es una secuencia ordenada de microinstrucciones grabada en la unidad de control cableada o microprogramada. Cada microinstrucción activa un conjunto específico de señales de control durante un pulso de reloj. COMPRUEBA 13 ¿En qué momento exacto del ciclo de instrucción atiende la CPU una interrupción externa pendiente?

Arquitectura MIPS y formato de instrucciones La arquitectura MIPS adopta una filosofía RISC fundamentada en operaciones directas entre registros (modelo registro-registro). El procesador MIPS dispone de 32 registros de propósito general de 32 bits cada uno (denominados de $0 a $31 ), donde $0 mantiene un valor nulo permanente. Tipo Estructura de la instrucción Uso principal Tipo R Código de operación, registros fuente ( rs , rt ), registro destino ( rd ), desplazamiento y función Operaciones aritmético-lógicas (p.

ej., add $s1, $s2, $s3 , slt ) Tipo I Código de operación, registros rs , rt y campo inmediato / offset de 16 bits Cargas/almacenamientos ( lw , sw ), bifurcaciones condicionales ( beq , bne ) e inmediatos Tipo J Código de operación y dirección absoluta de salto (26 bits) Saltos incondicionales largos ( j , jal ) El direccionamiento a memoria se realiza calculando la dirección efectiva como la suma de un registro base y un valor inmediato de desplazamiento: inmediato($reg) . El acceso se realiza por bytes con alineamiento forzado a palabras de 4 bytes.

Estructura de Computadores: Datos, CPU MIPS y Memoria 8 COMPRUEBA 14 ¿Qué diferencia a una instrucción de Tipo R de una de Tipo I respecto a la procedencia de sus operandos? Gestión de la pila, subrutinas y llamadas al sistema La memoria temporal dinámica de ejecución se estructura como una pila LIFO gestionada mediante el puntero $sp (registro $29 ). En MIPS, la pila crece hacia direcciones descendentes. Diagrama de flujo para llamada y retorno entre funciones en MIPS. Para apilar (push), primero se resta espacio al puntero y luego se almacena el dato.

Para desapilar (pop), se recupera la palabra y se incrementa el puntero: EJEMPLO Operaciones elementales sobre la pila para un registro de 32 bits (4 bytes): Push de $t0 : Pop en $t0 : Para la invocación y retorno de procedimientos, MIPS recurre a dos instrucciones clave y convenciones de paso de argumentos: jal etiqueta : almacena incondicionalmente la dirección de retorno en el registro de enlace ($ra) (registro $31 ) y bifurca a la rutina. jr $ra : salta a la dirección cargada en $ra , devolviendo el control al llamador. Los registros $a0-$a3 reciben los argumentos de entrada y $v0-$v1 contienen los resultados retornados.

Los registros preservados por la rutina llamada (callee-saved) abarcan de $s0 a $s7 . Para interaccionar con el sistema operativo se recurre a syscall , especificando en $v0 el identificador del servicio solicitado y en $a0-$a3 sus argumentos. addi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 PC + 4 Estructura de Computadores: Datos, CPU MIPS y Memoria 9 ERROR FRECUENTE Olvidar que la pila es decreciente y sumar a $sp al realizar un push, o sobrescribir $ra en una función que a su vez llama a otra (función no hoja). En funciones intermedias es obligatorio guardar $ra en la pila antes de invocar otra subrutina con jal para evitar perder la dirección de regreso original.

IDEAS CLAVE La arquitectura de Von Neumann se basa en compartir memoria para datos e instrucciones a través de buses de datos, direcciones y control. El ciclo de instrucción sigue la secuencia estructurada de búsqueda (Fetch), decodificación, ejecución y verificación de interrupciones. MIPS dispone de 32 registros de 32 bits de propósito general y utiliza una arquitectura de tipo registro-registro. La pila en MIPS crece hacia direcciones de memoria más bajas, restando 4 a al apilar. La instrucción jal almacena en para permitir el retorno con jr . COMPRUEBA LO QUE HAS APRENDIDO 15. ¿Qué operación debe realizarse sobre el registro para reservar espacio y apilar 2 palabras en MIPS? 16.

¿Por qué es imprescindible respaldar en la pila dentro de una subrutina que contiene otra llamada con jal? Test Rodea la respuesta correcta. Las soluciones están al final. 17. ¿Qué registro de la CPU almacena la dirección de memoria de la próxima instrucción a ejecutar? 18. En MIPS, ¿qué acción concreta realiza la instrucción jal etiqueta? 19. ¿Hacia qué sentido se desplaza el puntero $sp al realizar una operación de apilado (push)?

$sp PC + 4 $ra $ra $sp $ra Registro de Estado (RE) a) Puntero de Pila ($sp) b) Contador de Programa (PC) c) Registro de Instrucción (RI) d) Restaura el valor previo de PC a) Carga el código de operación en RI b) Incrementa $sp en 4 posiciones c) Guarda PC + 4 en $ra y salta d) Hacia direcciones más bajas restando 4 a) Permanece constante en memoria b) Hacia direcciones más altas sumando 4 c) Aumenta proporcionalmente al tamaño de datos d) Estructura de Computadores: Datos, CPU MIPS y Memoria 10 20. ¿Qué registros se emplean por convención en MIPS para pasar los parámetros de entrada a una función?

3 Jerarquía de memoria y subsistema de Entrada/Salida AL ACABAR SABRÁS Distinguir el funcionamiento y la tecnología física de las memorias SRAM y DRAM. Calcular el tiempo medio de acceso al sistema de memoria con caché. Descomponer direcciones físicas en módulo, palabra y byte según el mapa de memoria. Comparar los mecanismos de control de transferencias de E/S por sondeo, interrupciones y DMA. PIÉNSALO ANTES DE LEER 21 ¿Por qué un procesador moderno necesita incorporar varios niveles de memoria intermedia en lugar de trabajar directamente con la memoria principal?

Jerarquía y tecnologías de memoria El diseño del sistema de memoria busca resolver el compromiso entre coste, velocidad y capacidad de almacenamiento. En la cúspide se sitúan los elementos más rápidos, de menor capacidad y más caros por bit, mientras que en la base residen los dispositivos masivos, económicos pero notablemente más lentos.

$v0 a $v1 a) $s0 a $s7 b) $t0 a $t7 c) $a0 a $a3 d) Estructura de Computadores: Datos, CPU MIPS y Memoria 11 ESQUEMA Jerarquía de memoria Nivel Tecnología típica Velocidad Coste relativo Capacidad relativa Registros internos Semiconductor integrado (CPU) Máxima Muy alto Mínima Caché SRAM (biestables) Muy alta Alto Reducida Memoria principal DRAM (condensadores) Media Moderado Media Almacenamiento secundario SSD, disco magnético, óptico Baja Bajo Muy elevada A nivel físico, las memorias semiconductoras se dividen en dos grupos esenciales. Las memorias DRAM emplean condensadores y requieren ciclos periódicos de refresco debido a las fugas de carga eléctrica.

Esta estructura simple otorga una densidad de integración muy elevada y bajo coste, convirtiéndolas en la opción estándar para la memoria principal. Por su parte, las SRAM emplean biestables y no requieren refresco, garantizando tiempos de conmutación muy reducidos a costa de mayor complejidad circuital y menor densidad, por lo que se destinan a la memoria caché. COMPRUEBA 22 ¿Por qué la memoria RAM principal utiliza tecnología DRAM en lugar de SRAM a pesar de ser más lenta?

Registros de CPU Máxima velocidad y coste, capacidad mínima Memoria Caché Tecnología SRAM estática multiescalón Caché L1 Integrada en cada núcleo del procesador Caché L2 Nivel intermedio por núcleo Caché L3 Caché compartida entre todos los núcleos Memoria Principal Tecnología DRAM dinámica con refresco Almacenamiento Secundario Discos magnéticos, SSD y medios ópticos Estructura de Computadores: Datos, CPU MIPS y Memoria 12 Estructura del mapa de memoria física y niveles de caché El procesador accede al espacio físico a través del bus de direcciones. Un bus de direcciones de n bits permite direccionar un espacio de memoria máximo de 2^n posiciones.

Cuando el sistema se direcciona por bytes y agrupa las lecturas en palabras alineadas de varios bytes, cada dirección física completa se descompone jerárquicamente en campos específicos: selección de módulo, identificador de palabra y desplazamiento de byte. ERROR FRECUENTE Confundir el número total de direcciones accesibles con el número de palabras. Si el bus direcciona a nivel de byte, cada byte físico consume una dirección única independiente. En palabras de ( ), los de menor peso determinan el byte exacto dentro de dicha palabra y no forman parte de la selección de palabra del módulo.

Para mitigar la brecha de velocidad entre la CPU y la memoria principal, se interpone una jerarquía de memoria caché organizada habitualmente en tres escalones: L1: Ubicada internamente en cada núcleo de procesamiento, con la máxima rapidez y capacidad reducida. L2: Propia de cada núcleo o dedicada, con mayor capacidad intermedia. L3: Nivel compartido entre todos los núcleos del procesador. El flujo de acceso entre niveles determina si el dato solicitado se encuentra ya disponible en el estrato rápido o debe recuperarse desde la memoria física lenta. Diagrama de flujo de acceso a datos entre CPU, caché y memoria.

El rendimiento global se evalúa calculando el tiempo medio de acceso al sistema ( ), combinando el tiempo de inspección de la caché ( ), la probabilidad de acierto ( ) y la penalización de fallo transferida a la memoria principal ( ): COMPRUEBA 23 En un bus de 32 bits direccionado por bytes con palabras de 8 bytes, ¿cuántos bits se reservan para identificar el byte dentro de la palabra? 8 bytes 64 bits 3 bits T medio T ea P ca T mp T = medio T + ea (1 P ) × ca T mp Estructura de Computadores: Datos, CPU MIPS y Memoria 13 Subsistema de Entrada/Salida: interfaces y técnicas de control Los periféricos presentan velocidades y formatos de señal dispares respecto a la CPU.

La interfaz de E/S actúa de intermediaria mediante tres registros fundamentales: datos (información entrante o saliente), estado (condición operativa del dispositivo) y control (órdenes enviadas por la CPU). Según el espacio asignado, conviven dos filosofías de asignación: Mapas coincidentes (mapeada en memoria): Memoria y puertos comparten el mismo espacio de direcciones y emplean las mismas instrucciones máquina. Mapas separados (E/S aislada): La E/S dispone de su propio mapa, exigiendo señales de control diferenciadas e instrucciones de máquina específicas.

Para gobernar el intercambio de datos entre los dispositivos periféricos y el computador, se aplican tres mecanismos de control con diferente grado de eficiencia: Mecanismo Modo de funcionamiento Uso de CPU Complejidad E/S programada (Polling) Sondeo periódico del bit de estado en bucle activo Muy alto (bloqueante) Muy baja Interrupciones El periférico avisa mediante señal física (asíncrona) Medio (solo atención a la rutina) Media DMA Transferencia directa de bloques de datos Mínimo (arranque y fin de bloque) Alta Diagrama de sondeo (polling) con bucle de espera en la CPU.

En la E/S programada o sondeo, el procesador desperdicia ciclos ejecutando un bucle de espera hasta que el dispositivo indica que está listo para operar. El esquema por interrupciones elimina esta atadura: la CPU atiende sus tareas habituales y solo salta a la rutina de servicio cuando recibe una solicitud de atención (INTREQ). Por último, el acceso directo a memoria (DMA) permite transferir bloques de datos entre periféricos y memoria principal sin intervención continua de la CPU, maximizando el ancho de banda global del sistema.

Estructura de Computadores: Datos, CPU MIPS y Memoria 14 IDEAS CLAVE La jerarquía de memoria equilibra velocidad, capacidad y coste combinando registros, SRAM, DRAM y almacenamiento secundario. La tecnología DRAM utiliza condensadores que exigen refresco periódico, mientras que la SRAM emplea biestables rápidos y sin refresco. Un bus de direcciones de bits abarca un espacio físico máximo de posiciones elementales. El tiempo medio de acceso se modela mediante . El DMA optimiza las transferencias masivas entre memoria y periféricos descargando de trabajo a la CPU. COMPRUEBA LO QUE HAS APRENDIDO 24. ¿Qué función cumple el factor en la fórmula del tiempo medio de acceso a memoria? 25.

¿En qué se diferencia el sondeo (polling) del mecanismo de interrupciones respecto a la CPU? Test Rodea la respuesta correcta. Las soluciones están al final. 26. ¿Por qué las memorias DRAM requieren ciclos periódicos de refresco? 27. En un mapa de direcciones de 32 bits direccionable por bytes, ¿cuál es la capacidad máxima direccionable? 28. ¿Cuál es la principal ventaja de utilizar un controlador de DMA frente a la E/S programada?

n 2n T = medio T + ea (1 P ) × ca T mp (1 P ) ca Utilizan biestables que se desincronizan a) Sus celdas se basan en condensadores con fugas b) El bus de datos pierde tensión rápidamente c) La memoria caché satura sus registros internos d) 512 MB a) 4 GB b) 2 GB c) 32 GB d) Aumenta la frecuencia de reloj del procesador a) Transfiere bloques enteros sin intervención continua de CPU b) Duplica el tamaño del bus físico de direcciones c) Elimina por completo el uso de memoria principal d) Estructura de Computadores: Datos, CPU MIPS y Memoria 15 29. ¿Qué registro de la interfaz de E/S almacena las condiciones operativas actuales del periférico?

4 Formulario Representación de datos y coma flotante Formato o Código Fórmula o Expresión Rango o Significado Complemento a 1 (C1) Negativos invirtiendo bits. Doble cero (+0 y -0). Complemento a 2 (C2) . Cero único y rango asimétrico. Representación en exceso Suma de sesgo para procesar enteros con signo. IEEE 754 (Simple precisión) 32 bits: 1 signo, 8 exponente (sesgo 127), 23 mantisa. IEEE 754 (Doble precisión) 64 bits: 1 signo, 11 exponente (sesgo 1023), 52 mantisa. Precisión y resolución Resolución: peso del bit menos significativo en coma fija.

Ciclo de instrucción y ensamblador MIPS Mecanismo o Instrucción Procedimiento o Fórmula Aplicación y Reglas Fase Fetch (Búsqueda) Captura secuencial de la instrucción y avance de PC. Apilado MIPS (Push) La pila crece hacia direcciones decrecientes de memoria. Desapilado MIPS (Pop) Recupera el dato y libera 4 bytes incrementando el puntero. Llamada y retorno Invocación guardando retorno en y retorno con salto. Direccionamiento efectivo Cálculo en instrucciones de carga y almacenamiento (Tipo I).

Registro contador de programa a) Registro de control b) Registro de datos c) Registro de estado d) [ (2 n 1 1), +(2 n 1 1)] [ 2 , +(2 n 1 n 1 1)] C2 = C1 + 1 [ 2 + n 1 1, +2 ] n 1 2 n 1 1 N = ( 1) × S 1,M × 2E 127 N = ( 1) × S 1,M × 2E 1023 Precisi n = o ˊ 2 Resoluci n o ˊ MAR PC MBR MP y PC PC + 4 RI MBR addi $sp, $sp, 4 sw $reg, 0($sp) lw $reg, 0($sp) addi $sp, $sp, 4 jal dir ($ra PC + 4; PC dir) jr $ra $ra Dir = efectiva desplazamiento + Base($reg) Estructura de Computadores: Datos, CPU MIPS y Memoria 16 Jerarquía de memoria y buses Parámetro o Métrica Fórmula o Expresión Uso y Consideraciones Espacio direccionable Espacio direccionable total para un bus de direcciones de bits.

Tiempo medio de acceso ( ) : acceso a caché; : tasa aciertos; : penalización MP. Velocidad de transferencia Caudal máximo transferido por el bus por unidad de tiempo. Desglose de dirección Bits de menor peso que seleccionan el byte en la palabra alineada. Posiciones = 2n n T medio T = medio T + ea (1 P ) × ca T mp T ea P ca T mp V = t frecuencia × n bits (ancho) Bits = byte log (Bytes por palabra) 2 Estructura de Computadores: Datos, CPU MIPS y Memoria 17 Soluciones de las preguntas de repaso 1. Porque el valor cero ocupa una de las combinaciones asignadas al lado positivo, desplazando el límite simétrico en una unidad hacia los números negativos. 2.

En coma fija la resolución se mantiene constante e idéntica al valor del bit menos significativo. En coma flotante la resolución no es constante, variando dinámicamente con el exponente. 3. Abarca desde hasta . 4. Al estar normalizada, la parte entera siempre es un uno binario. Omitirlo permite dedicar todos los bits del campo a la fracción, ganando un bit adicional de precisión. 5. El Complemento a 2 evita la redundancia del cero eliminando el doble cero y optimiza los circuitos de cálculo al procesar las restas como simples sumas binarias. 6. Se resta el sesgo de 127 al valor decimal sin signo almacenado en el campo de 8 bits ( ). 7. c) De - a - 1.

El complemento a 2 tiene un valor negativo extra debido a la existencia de un único cero. 8. b) 8 bits y sesgo 127. La simple precisión de 32 bits reserva 8 bits de exponente con exceso de - 1 = 127. 9. c) Es el 1 entero normalizado que no se guarda. Al normalizar en formato 1,M, el 1 entero siempre existe y se prescinde de guardarlo para ganar espacio. 10. a) Retardos por la propagación del acarreo. Los circuitos combinacionales en paralelo acumulan retardos conforme el acarreo debe propagarse por las etapas. 11. Porque en muchas arquitecturas como MIPS la memoria asignada a la pila crece hacia direcciones más bajas, por lo que añadir elementos requiere descender en el mapa de memoria. 12.

La CPU genera y emite siempre las direcciones de las celdas o dispositivos a los que accede, mientras que los datos deben fluir en ambos sentidos: desde la memoria o periféricos hacia la CPU (lectura) y desde la CPU hacia el exterior (escritura). 13. Al terminar la fase de ejecución de la instrucción en curso, justo antes de iniciar la fase de búsqueda (Fetch) de la siguiente. 14. Las instrucciones de Tipo R operan exclusivamente con registros como fuentes y destino, mientras que las de Tipo I emplean un operando constante o desplazamiento de 16 bits codificado en la propia instrucción junto a los registros. 15.

Se debe decrementar el puntero restando 8 unidades mediante la instrucción , ya que cada palabra ocupa 4 bytes y la pila crece hacia direcciones menores. 16. Porque una segunda instrucción jal sobrescribe el contenido de con la nueva dirección de retorno, lo que provocaría la pérdida de la dirección original para regresar a la función principal. 17. c) Contador de Programa (PC). El PC contiene permanentemente la dirección de memoria de la instrucción siguiente que debe ser captada. 18. d) Guarda PC + 4 en $ra y salta. jal guarda la dirección de retorno (PC + 4) en $ra antes de transferir el flujo a la etiqueta destino. 19. a) Hacia direcciones más bajas restando 4.

En la arquitectura MIPS la pila crece hacia abajo, por lo que apilar exige restar 4 a $sp. 2 = 7 128 2 7 1 = +127 E = real E 127 2n 1 2n 1 28 1 addi $sp, $sp, 8 $ra Estructura de Computadores: Datos, CPU MIPS y Memoria 18 20. d) $a0 a $a3. Los registros $a0-$a3 están destinados convencionalmente al paso de argumentos en llamadas a subrutinas. 21. Porque la CPU ejecuta instrucciones a velocidades muy superiores a las de la memoria DRAM principal; la memoria caché rápida acorta esta brecha reteniendo temporalmente los datos más consultados. 22.

Porque la celda DRAM basada en un condensador ocupa mucho menos espacio que el circuito de biestables de la SRAM, ofreciendo mucha mayor densidad de almacenamiento y menor coste por bit. 23. Se requieren exactamente 3 bits, ya que por palabra. 24. Representa la tasa de fallo ( ), es decir, la probabilidad de no hallar el dato solicitado en la memoria caché y tener que recuperarlo desde la memoria principal. 25. En el sondeo la CPU queda bloqueada en un bucle verificando el estado del dispositivo, mientras que con interrupciones la CPU prosigue ejecutando instrucciones hasta que el periférico solicita atención asíncrona. 26. b) Sus celdas se basan en condensadores con fugas.

Las celdas DRAM almacenan carga en condensadores microscópicos que se descargan con el tiempo, exigiendo refresco periódico. 27. b) 4 GB. Un bus de 32 bits permite direccionar 2³² bytes, lo que equivale exactamente a 4 GB de espacio máximo. 28. b) Transfiere bloques enteros sin intervención continua de CPU. El DMA gestiona transferencias masivas de datos de forma autónoma, liberando a la CPU del bucle de copia. 29. d) Registro de estado. El registro de estado contiene los bits indicadores que reflejan si el dispositivo está ocupado, listo o en error. 2 = 3 8 bytes P mp Estructura de Computadores: Datos, CPU MIPS y Memoria 19

Más apuntes de Estructura de Computadores I

Exámenes, temas y apuntes de Estructura de Computadores I