Está en la página 1de 58

ACI82-1+2

ARQUITECTURA DE
COMPUTADORES
2022-1
ELEMENTOS DEL PROCESADOR
ELEMENTOS DEL PROCESADOR
El circuito integrado en el núcleo de un sistema informático tiene
diferentes nombres : Unidad Central de Procesamiento (CPU),
Microprocesador o, simplemente, procesador. Un microprocesador es
un circuito integrado único que implementa las funciones de un
procesador.
ELEMENTOS DEL PROCESADOR
Un procesador típico contiene tres unidades funcionales lógicamente
distintas:
La unidad de control, que gestiona el funcionamiento general del
dispositivo: Esta actividad de gestión incluye obtener la siguiente
instrucción de la memoria, decodificar la instrucción para determinar la
operación a realizar, y distribuir la ejecución de la instrucción a los
elementos apropiados dentro del procesador.
ELEMENTOS DEL PROCESADOR
Un procesador típico contiene tres unidades funcionales lógicamente
distintas:
La Unidad Aritmética Lógica (ALU): Circuito combinacional que ejecuta
operaciones aritméticas y de manipulación de bits.
ELEMENTOS DEL PROCESADOR
Un procesador típico contiene tres unidades funcionales lógicamente
distintas:
El conjunto de registros: proporciona almacenamiento temporal, así
como ubicaciones de origen y destino para las entradas y salidas de
instrucciones.
ELEMENTOS DEL PROCESADOR

Flujo de control y datos entre la


unidad de control, los registros,
ALU, memoria del sistema y
dispositivos de entrada / salida.
La unidad de control dirige las
operaciones generales del
procesador para ejecutar cada
instrucción. Los registros, ALU,
memoria y dispositivos de
entrada/salida responden a los
comandos iniciados por la unidad
de control.
ELEMENTOS DEL PROCESADOR
Procesador Multicore
ELEMENTOS DEL PROCESADOR
Unidad de Control
La unidad de control de un procesador moderno es un circuito digital
secuencial sincrónico.
Su función es interpretar las instrucciones del procesador y gestionar la
ejecución de aquellas instrucciones interactuando con las otras
unidades funcionales dentro del procesador y con componentes
externos, incluyendo memoria y dispositivos de entrada/salida.
La unidad de control es una parte clave de la arquitectura de von
Neumann.
ELEMENTOS DEL PROCESADOR
El Mat. John von Neumann propuso una arquitectura de
procesamiento basada en una sola región de memoria que contiene
instrucciones y datos del programa, un componente de procesamiento
con una unidad aritmética-lógica y registros, y una unidad de control
con un registro de instrucciones y un contador de programa. Muchos
procesadores modernos continúan implementando esta estructura
general, ahora conocida como la arquitectura de von Neumann.
ELEMENTOS DEL PROCESADOR
ELEMENTOS DEL PROCESADOR
ELEMENTOS DEL PROCESADOR
Cuando se enciende un sistema informático, el procesador se somete a un
proceso de reinicio para inicializar sus componentes internos a valores
definidos. Durante el proceso de reinicio, se carga el Registro de Contador de
Programa (PC) con la ubicación de memoria de la primera instrucción a ser
ejecutada.
Desarrolladores de software que construyen los componentes de software
del sistema de nivel más bajo deben configurar sus herramientas de
desarrollo para producir una imagen de memoria de código que comienza la
ejecución en la dirección requerida por la arquitectura del procesador.
ELEMENTOS DEL PROCESADOR
El registro PC es un componente central de la unidad de control.
El registro de PC contiene la dirección de memoria de la siguiente instrucción a
ejecutar.
Al comienzo del ciclo de ejecución de instrucción, la unidad de control lee la
palabra de datos en la dirección de memoria indicada por el PC y lo carga en un
registro interno para decodificación y ejecución.
La primera palabra de una instrucción contiene un código de operación. Según el
patrón de bits del código de operación, la unidad de control puede leer ubicaciones
de memoria adicionales siguiendo el código de operación para recuperar los datos
que necesita la instrucción, como una dirección de memoria o un operando de
datos.
ELEMENTOS DEL
PROCESADOR
Ciclo de ejecución de instrucciones
ELEMENTOS DEL PROCESADOR
Una vez que se ha completado el reinicio, el registro de la PC contiene
la ubicación de la instrucción inicial. La unidad de control obtiene la
primera instrucción de la memoria y la decodifica. La decodificación es
el proceso que realiza la unidad de control para determinar las acciones
requeridas por la instrucción.
ELEMENTOS DEL PROCESADOR
Como parte del proceso de decodificación, la unidad de control
identifica la categoría de instrucción.
Las dos categorías de instrucciones básicas son instrucciones de
ramificación y todas las demás instrucciones.
Las instrucciones de ramificación son implementadas directamente por
la unidad de control.
Estas instrucciones hacen que el contenido de la PC sea reemplazado
por la dirección de memoria del destino de la ramificación.
ELEMENTOS DEL PROCESADOR
Ejemplos de instrucciones que realizan ramificaciones son instrucciones
de bifurcación condicional (cuando se toma la bifurcación), llamadas de
subrutina, retornos de subrutina e instrucciones de ramificación
incondicional (también llamada saltos –jumps-).
ELEMENTOS DEL PROCESADOR
Las instrucciones que no implican bifurcaciones se llevan a cabo mediante
circuitos del procesador bajo la dirección de la unidad de control.
En cierto sentido, la unidad de control gestiona la ejecución de las
instrucciones no ramificadas de una manera similar al molino del motor
analítico de Charles Babbage, excepto que, en lugar de utilizar la presencia
de espárragos en un barril giratorio para conectar partes de la maquinaria
del molino, la unidad de control utiliza los bits decodificados del código de
operación de instrucción para activar secciones particulares de los circuitos
digitales. Los componentes del circuito seleccionados realizan las tareas
requeridas por la instrucción.
ELEMENTOS DEL PROCESADOR
ELEMENTOS DEL PROCESADOR
ELEMENTOS DEL PROCESADOR
Los pasos para ejecutar una instrucción incluyen tareas como leer o
escribir un registro, leer o escribir una ubicación de memoria, lo que
indica a la ALU que realice una operación, u otras actividades diversas.
En la mayoría de los procesadores, la ejecución de una sola instrucción
tiene lugar en varios ciclos de reloj del procesador. El recuento de ciclos
de reloj de la instrucción puede variar significativamente de
instrucciones simples que requieren solo un pequeño número de ciclos
de reloj a operaciones complejas que requieren muchos ciclos para
completarse.
La unidad de control organiza toda esta actividad.
ELEMENTOS DEL PROCESADOR
Unidad Aritmético-Lógica
La ALU realiza operaciones aritméticas y orientadas a bits bajo la dirección
de la unidad de control.
Para realizar una operación, la ALU requiere valores de entrada de datos,
llamados operandos, y un código que indica la operación a realizar.
La salida de la ALU es el resultado de la operación.
Las operaciones de ALU pueden usar uno o más indicadores de procesador,
como la bandera de acarreo, como entrada y establece los estados de las
banderas del procesador como salida.
ELEMENTOS DEL
PROCESADOR
ARM ALU
ELEMENTOS DEL PROCESADOR
Una ALU es un circuito combinacional, lo que implica que las salidas se
actualizan asincrónicamente en respuesta a cambios en las entradas y
que no retiene memoria de operaciones anteriores.
Para ejecutar una instrucción que involucre a la ALU, la unidad de
control aplica entradas a la ALU, hace una pausa para el retardo de
propagación a través de la ALU, luego transfiere la salida de la ALU al
destino especificado por la instrucción.
ELEMENTOS DEL PROCESADOR
La ALU contiene un circuito sumador para realizar operaciones de suma
y resta. En un procesador con aritmética en complemento a dos, la
resta se puede implementar primero realizando una negación en
complemento a dos del operando derecho y sumar ese resultado al
operando izquierdo.
Matemáticamente, al realizar la resta de esta manera, la expresión A-B
se transforma en A + (- B).
ELEMENTOS DEL PROCESADOR
La negación del complemento a dos de un número con signo se logra
mediante la inversión de todos los bits del operando y la suma de 1 al
resultado.
Incorporando esto a la operación, la resta representada como A + (- B)
se convierte en A + (NOT (B) +1).
ELEMENTOS DEL PROCESADOR
Registros
Los registros del procesador son ubicaciones de almacenamiento
interno que sirven como orígenes y destinos para operaciones de
instrucción. Los registros proporcionan el acceso a datos más rápido en
un procesador, pero están limitados a un número muy reducido de
ubicaciones. El ancho de un registro en bits es generalmente el igual
que el tamaño de la palabra del procesador
ELEMENTOS DEL PROCESADOR
El x86 tiene seis registros de 32 bits adecuados para el almacenamiento
temporal de datos: EAX, EBX, ECX, EDX, ESI y EDI.
En muchas arquitecturas de procesador, se asignan registros
específicos para funciones de soporte realizado por ciertas
instrucciones.
Por ejemplo, en la arquitectura x86, una sola instrucción MOVSD REP
mueve un bloque de datos con una longitud (en palabras)
proporcionada en ECX comenzando en una dirección de origen en ESI
hasta una dirección de destino en EDI.
ELEMENTOS DEL PROCESADOR
Al diseñar una nueva arquitectura de procesador, es fundamental evaluar la
compensación entre el número de registros y el número y complejidad de las
instrucciones disponibles para el procesador.
Para un tamaño de matriz de circuito integrado y un proceso de fabricación (que en
conjunto definen el número de transistores disponibles para el procesador),
agregar más registros a la arquitectura reduce el número de transistores
disponibles para ejecutar instrucciones y otras funciones.
Por el contrario, agregar instrucciones con capacidades complejas puede limitar el
espacio disponible para registros.
Esta tensión entre la complejidad del conjunto de instrucciones y el número de
registros se expresa en la categorización de una arquitectura como CISC o RISC.
ELEMENTOS DEL PROCESADOR
Los procesadores CISC (Complex Instruction Set Computer) se caracterizan por tener un
rico conjunto de instrucciones que proporciona una variedad de funciones, como la
capacidad de cargar operandos desde memoria, realizar una operación y almacenar el
resultado en la memoria, todo en una instrucción.
En un procesador CISC, una instrucción puede tardar muchos ciclos de reloj en ejecutarse
mientras el procesador realiza todas las subtareas necesarias.
La instrucción MOVSD REP mencionada anteriormente es un ejemplo de una sola
instrucción con un tiempo de ejecución potencialmente largo.
Los procesadores CISC tienden a tener un número menor de registros debido, en parte, al
espacio requerido en la matriz para los circuitos ocupados por la lógica del conjunto de
instrucciones.
El x86 es un clásico ejemplo de arquitectura CISC.
ELEMENTOS DEL PROCESADOR
Los procesadores RISC (Reduced Instruction Set Computer), por otro lado, tienen un menor número
de instrucciones que realizan tareas más simples en comparación con las instrucciones CISC.
Realizar una operación con valores de datos almacenados en la memoria puede requerir un par de
instrucciones de carga para cargar dos operandos de la memoria en registros, otra instrucción para
realizar la operación, y una instrucción final para almacenar el resultado a la memoria.
La diferencia clave entre CISC y RISC es que las arquitecturas RISC están optimizadas para ejecutar
instrucciones individuales a muy alta velocidad.
Leer desde memoria, realizar la operación y escribir el resultado en la memoria requiere varias
instrucciones más en un procesador RISC que en un procesador CISC, el tiempo de principio a fin
puede ser comparable o incluso más rápido para el procesador RISC.
Ejemplos de las arquitecturas RISC son ARM y RISC-V.
ELEMENTOS DEL PROCESADOR
La reducción en la complejidad del conjunto de instrucciones en los
procesadores RISC deja más espacio de impresión disponible para registros,
lo que generalmente da como resultado un mayor número de registros en
procesadores RISC en comparación con CISC.
La arquitectura ARM tiene 13 registros de propósito general, mientras que
en la arquitectura base de RISC-V 32 bits tiene 31 registros de propósito
general. El número más grande de registros en arquitecturas RISC reduce la
necesidad de acceder a la memoria del sistema porque hay más registros
disponibles para el almacenamiento de resultados intermedios. Esto ayuda
con el rendimiento ya que acceder a la memoria del sistema consume mucho
más tiempo que acceder a los datos ubicados en los registros del procesador.
ELEMENTOS DEL
PROCESADOR
ELEMENTOS DEL PROCESADOR
Se puede pensar en un registro de procesador como un conjunto de
flip-flops D en el que cada flip-flop contiene un bit de los datos del
registro.
Todos los flip-flops del registro están cargados con datos mediante una
señal de reloj común. La entrada a un registro puede llegar a las
entradas del flip-flop después de pasar por un multiplexor que
selecciona una de las muchas fuentes de datos potenciales bajo el
control de la instrucción en ejecución.
ELEMENTOS DEL PROCESADOR
CONJUNTO DE INSTRUCCIONES
ELEMENTOS DEL PROCESADOR
Procesamiento de Interrupciones
Los procesadores generalmente admiten alguna forma de manejo de
interrupciones para responder a solicitudes de servicio de dispositivos
externos.
Conceptualmente, el manejo de interrupciones es similar a un escenario en
el que se está ocupado trabajando en una tarea y suena su teléfono.
Después de contestar la llamada y tal vez anotando una nota para una acción
posterior ("comprar arepas"), reanuda la tarea que fue interrumpida.
Los humanos empleamos varios mecanismos similares, como timbres y
relojes de alarma, que nos permiten interrumpir actividades de menor
prioridad y responder a necesidades más inmediatas.
ELEMENTOS DEL PROCESADOR
Entrada de solicitud de interrupción, IRQ.
IRQ es una entrada activa de nivel de señal bajo que genera una
interrupción al procesador cuando la señal se baja.
Piense en esta señal como similar al timbre de un teléfono notificando
al procesador que está entrando una llamada.
ELEMENTOS DEL PROCESADOR
La entrada IRQ es una interrupción enmascarable, lo que significa que
es posible realizar el equivalente de poner el timbre del teléfono en
silencio.
ELEMENTOS DEL PROCESADOR
Interrupción No Enmascarable, NMI.
Como su nombre implica la entrada NMI no es enmascarable por otra
interrupción o proceso. NMI es una entrada sensible al flanco que se
dispara en el flanco descendente de la señal.
ELEMENTOS DEL PROCESADOR
Operaciones de Entrada/ Salida
El objetivo de la parte de E/S de una arquitectura de procesador es transferir datos
de manera eficiente entre los dispositivos periféricos externos y la memoria del
sistema.
Las operaciones de entrada transfieren datos desde el mundo externo a la memoria
y las operaciones de salida envían datos desde la memoria a un destino exterior.
El formato de los datos en el lado externo de la interfaz de E/S varía ampliamente.
Algunos ejemplos de las representaciones externas de datos de E/S de
computadora:
• Señales en un cable de video conectado a un monitor
• Fluctuaciones de voltaje en los alambres de un cable Ethernet
• Patrones magnéticos en la superficie de un disco
• Ondas de sonido producidas por altavoces de computador
ELEMENTOS DEL PROCESADOR
Independientemente de la forma que adopten los datos cuando están
fuera del computador, la conexión de cualquier dispositivo de E/S con
procesador debe cumplir con la arquitectura de E / S del procesador, y
el dispositivo de E/S debe ser compatible con cualquier otro dispositivo
de E/S que esté presente en el sistema informático.
ELEMENTOS DEL PROCESADOR
El procesador utiliza las categorías de instrucción, los modos de
direccionamiento y el procesamiento de interrupciones para
interactuar con dispositivos de E/S.
ELEMENTOS DEL PROCESADOR
La diferencia aquí es que, en lugar de leer y escribir la memoria del
sistema, las instrucciones se leen y escribir en ubicaciones que se
comunican con un dispositivo de E/S.
ELEMENTOS DEL PROCESADOR
E/S con asignación de memoria y E/S con asignación de puerto son los
dos enfoques principales empleados en procesadores modernos para
acceder a dispositivos de E / S.
La E/S asignada en memoria dedica partes del espacio de direcciones
del sistema a los dispositivos de E/S.
El procesador accede a los dispositivos periféricos en direcciones
predefinidas utilizando las mismas instrucciones y modos de
direccionamiento que utiliza para leer y escribir la memoria del
sistema.
ELEMENTOS DEL PROCESADOR
Los procesadores que utilizan E/S con asignación de puertos
implementan una categoría separada de instrucciones para realizar
operaciones de E/S.
Los dispositivos de E/S asignados a puertos tienen un espacio de
direcciones dedicado independiente de la memoria del sistema.
A los dispositivos de E/S se les asignan números de puerto como
direcciones.
La arquitectura x86 emplea E/S con asignación de puertos
ELEMENTOS DEL PROCESADOR
Un inconveniente de las E/S mapeadas en memoria es la necesidad de
dedicar parte del espacio de direcciones del sistema para dispositivos
de E/S, lo que reduce la cantidad máxima de memoria que se puede
instalar en el sistema informático.
Un inconveniente de las E/S asignadas a puertos es el requisito al
procesador que implemente instrucciones adicionales para realizar las
operaciones de E/S.
ELEMENTOS DEL PROCESADOR
Algunas implementaciones de E/S asignadas a puertos proporcionan
señales de hardware adicionales que indican cuándo se está
direccionando un dispositivo de E/S en lugar de la memoria del
sistema.
Usando esta señal como un selector (esencialmente otro bit de
dirección), las mismas líneas de dirección pueden ser se utiliza para
acceder a la memoria y los dispositivos de E/S.
Alternativamente, algunos procesadores de gama alta Implementan un
bus completamente separado para realizar operaciones de E/S
asignadas a puertos.
ELEMENTOS DEL PROCESADOR
Esta arquitectura permite que las operaciones de acceso a memoria y
E/S se realicen simultáneamente.
ELEMENTOS DEL PROCESADOR
En el enfoque más simple de E/S, el procesador maneja todos los pasos
en una operación de E/S por sí mismo, usando instrucciones para
transferir datos entre la memoria y el dispositivo de E/S.
En arquitecturas de procesador más complejas se proporcionan
características de hardware para acelerar las operaciones repetitivas de
E/S.
Los tres métodos para realizar E/S con diferentes grados de
participación del procesador: E/S programadas, E/S controladas por
interrupciones y acceso directo a la memoria.
ELEMENTOS DEL PROCESADOR
E/S programadas
E/S programadas simplemente significa que el procesador realiza cada paso
de la operación de transferencia de datos de E/S por sí mismo usando las
instrucciones del programa.
Considere un teclado que se presenta al procesador como dos direcciones de
un byte mapeadas en memoria en la región de direcciones de E/S del
procesador.
Uno de estos bytes contiene información de estado, específicamente un bit
que indica cuándo se ha pulsado una tecla. El segundo byte contiene el valor
de la tecla que se presionó.
ELEMENTOS DEL PROCESADOR
E/S programadas
Cada vez que se presiona una tecla, se establece el bit de estado de
tecla en disponible.
Cuando utiliza E/S programadas, el procesador debe leer
periódicamente el registro de estado del teclado para ver si una tecla se
ha pulsado la tecla. Si el bit de estado indica que se ha pulsado, el
procesador lee el registro de datos del teclado, que desactiva el bit de
estado en disponible de la tecla hasta que se produce la siguiente
pulsación de tecla.
ELEMENTOS DEL PROCESADOR
E/S programadas
Si el registro de datos del teclado solo puede contener una tecla a la
vez, esta operación de comprobación del estado del teclado debe
ocurrir con la frecuencia suficiente para que no se pierdan pulsaciones
de teclas, incluso cuando se está en el teclado.
Como resultado, el procesador debe gastar una cantidad significativa
de su tiempo para comprobar si se ha pulsado una tecla. La mayoría de
estos chequeos resultarán ser infructuosos siempre que no se esté
escribiendo rápidamente.
ELEMENTOS DEL PROCESADOR
E/S programadas
Debe quedar claro que la E/S programada no es un método muy
eficiente para uso general. Es similar en concepto a revisar su teléfono
cada pocos segundos para ver si alguien te está llamando.
El uso de E/S programadas tiene sentido en algunas situaciones. Por
ejemplo, la configuración inicial de un dispositivo periférico durante el
inicio del sistema es un uso razonable de esta técnica.
ELEMENTOS DEL PROCESADOR
E/S impulsadas por interrupciones
Un dispositivo de E/S puede utilizar interrupciones para notificar al procesador cuando se
necesita una acción.
En el caso de la interfaz de teclado simple, en lugar de simplemente establecer un bit en un
registro de estado, el periférico podría bajar la línea IRQ para iniciar una interrupción cada
vez que una tecla se presiona.
Esto permite que el procesador se ocupe de sus asuntos sin verificar pulsaciones de teclas.
El procesador solo centrará su atención en la interfaz del teclado cuando hay trabajo por
hacer, como lo indica la interrupción.
Usar interrupciones para activar las operaciones de E/S es análogo a agregar un timbre al
teléfono que teníamos para que verificar llamadas cada pocos segundos cuando se utilizan
E / S programadas.
ELEMENTOS DEL PROCESADOR
E/S impulsadas por interrupciones
Las interrupciones de dispositivos externos son eventos asincrónicos, lo que significa que
pueden ocurrir en en cualquier momento.
Pueden ocurrir interrupciones de varios dispositivos simultáneamente, o casi
simultáneamente, y en orden aleatorio
El diseño del sistema informático debe incluir una consideración cuidadosa de la
posibilidad que las interrupciones pueden generarse en momentos potencialmente
inesperados, como durante el inicio del sistema o mientras se procesan otras
interrupciones.
Los circuitos de hardware de manejo de interrupciones y el código de servicio de
interrupciones deben garantizar que todas las interrupciones sean detectadas y procesadas
independientemente de las peculiaridades de tiempo.
ELEMENTOS DEL PROCESADOR
E/S impulsadas por interrupciones
La E/S impulsada por interrupciones elimina la necesidad del
procesador de verificar periódicamente los dispositivos de E/S para ver
si es necesario actuar. Sin embargo, manejar una interrupción puede
consumir tiempo del procesador si se trata de transferir un gran bloque
de datos, como cuando se lee o escribir en una unidad de disco.
ELEMENTOS DEL PROCESADOR
Acceso directo a Memoria
El acceso directo a memoria (DMA) permite que las operaciones de E/S
de dispositivos periféricos accedan al sistema de memoria
independiente del procesador. Cuando se usa DMA para transferir un
bloque de datos, el procesador establece la operación configurando un
controlador DMA con la dirección de inicio del bloque de datos a
transferir, la longitud del bloque y la dirección de destino. Después al
iniciar el DMA, el procesador es libre de continuar con otros trabajos.
Al finalizar la operación, el controlador DMA genera una interrupción
para informar al procesador que la transferencia se completo.
ELEMENTOS DEL PROCESADOR
Acceso directo a Memoria
Dentro de un sistema informático, un controlador DMA puede
implementarse como un circuito gestionado por el procesador, o una
arquitectura de procesador puede contener uno o más controladores
DMA integrados.
Dispositivos de E/S que mueven cantidades sustanciales de datos,
como unidades de disco, tarjetas de sonido, tarjetas gráficas y las
interfaces de red generalmente dependen de DMA para transferir
datos de manera eficiente dentro y fuera de la memoria del sistema.
DMA también es útil para transferir bloques de datos dentro de la
memoria del sistema.

También podría gustarte