Está en la página 1de 48

Mgs.

Genoveva Suing Albito

Computación
Área de Energía, las Industrias y los Recursos No Renovables

Genoveva Suing Tema 3 1


Introducción.

• Organización del procesador, unidad de


control.
• Tecnologías de sistemas de entrada/salida,
interfaces de sistemas.
• Arquitecturas multi/muchos núcleos.

Trabajo Final ( exposición)

Genoveva Suing Tema 3 2


Unidad Central de Procesamiento

• Organización del procesador

Genoveva Suing Tema 3 3


Unidad Central de Procesamiento

• Unidad Aritmética Lógica (ALU)


• La ALU realiza una determinada operación según unas señales de control de
entrada. Cada operación se lleva a cabo sobre un conjunto de datos y produce
resultados. Por lo tanto, los resultados son generados según las señales de
control y de los datos.

Genoveva Suing Tema 3 4


Unidad Central de Procesamiento

• Unidad Aritmética Lógica (ALU) en VHDL

Genoveva Suing Tema 3 5


System Peripherals

• Overall System Architecture.


• Direct Memory Access Controller.
• Interrupt Controller
• Serial Transmitter and Receiver Interface
• Timers
• Display Adaptor

Genoveva Suing Tema 3 6


Overall System Architecture

Genoveva Suing Tema 3 7


System Peripherals

• En la figura 7.1 se muestra una arquitectura básica del sistema


que contiene los principales buses maestros y esclavos. En esta
figura, la CPU es un bus maestro que ejecuta programas de
usuario. El acceso directo a la memoria (DMA) es otro bus
maestro encargado de transferir datos entre diferentes memorias
del sistema. Los buses esclavos son generalmente las memorias
del sistema como SRAM, SDRAM y memoria Flash. Sin embargo,
otros dispositivos del sistema que residen en el bus de alta
velocidad, como el adaptador de pantalla o las memorias
periféricas de almacenamiento conectados al bus de E/S de baja
velocidad, también se consideran esclavos del bus.

Genoveva Suing Tema 3 8


Direct Memory Access Controller.

• Controlador de acceso directo a memoria: La CPU asigna


las operaciones rutinarias de transferencia de datos de
memoria a memoria al controlador de acceso directo a
memoria (DMA). La mayoría de estas transferencias tienen
lugar entre dos memorias del sistema o entre la memoria
intermedia de un dispositivo periférico y una memoria del
sistema. Esta sección muestra cómo diseñar la arquitectura
básica de un controlador DMA que transfiere datos desde
una fuente a una memoria destino.

Genoveva Suing Tema 3 9


Direct Memory Access Controller.

Genoveva Suing Tema 3 10


Direct Memory Access Controller.

La interfaz DMA de la figura 7,2 muestra la descripción del


puerto de E/S de un controlador DMA típico. En esta
figura, el controlador DMA interactúa con la CPU a través
de señales de hanshake, ReqM y AckM.

Cuando la CPU inicia una transferencia de datos DMA,


emite una solicitud, ReqM, al controlador DMA. Si el
controlador no está ocupado con otra transferencia,
entonces genera una solicitud, ReqD, al bus árbitro para
usar el bus. Cuando el árbitro reconoce la petición de
AckD, el controlador informa a la CPU de que está listo
para iniciar la transferencia por AckM, y al mismo tiempo
envía su primera dirección y señales de control a la
memoria fuente.

Genoveva Suing Tema 3 11


Direct Memory Access Controller.

Mientras la memoria de origen está entregando datos, el


controlador DMA emite las señales de dirección y control
para la memoria de destino dentro de un mismo ciclo de
reloj.

Para realizar esta tarea, debe existir un canal de datos


directo entre las memorias de origen y destino. Esta nueva
configuración modifica la estructura original del bus de la
Fig. 5.1, en la que se supone que todos los buses
maestros tienen puertos de datos de escritura individuales
para poder escribir datos directamente de un esclavo.

Genoveva Suing Tema 3 12


Direct Memory Access Controller.

Genoveva Suing Tema 3 13


Direct Memory Access Controller.

La figura 7.3 muestra una transferencia de datos típica entre


la memoria de origen y la de destino hasta que se transmite el
último paquete de datos, D4. La secuencia comienza con la
emisión por parte del controlador DMA de Status = START y
AddrS = AS1, indicando el comienzo de la transferencia de
datos memoria de destino y la primera dirección de memoria
de origen, respectivamente.

Dado que ambas memorias están listas (ReadyS = ReadyD =


1) en el primer ciclo de reloj, el controlador continúa la
transferencia de datos emitiendo Status = CONT, AddrS = AS2
(la segunda dirección de memoria de origen) y AddrD =
AD1(la primera dirección de memoria de destino) en el
segundo ciclo. En este ciclo, la memoria de origen también
entrega los primeros datos, D1, a la memoria de destino.

Genoveva Suing Tema 3 14


Direct Memory Access Controller.

El mismo proceso tiene lugar en el tercer ciclo, durante el cual


el controlador DMA genera AddrS = AS3, AddrD = AD2 y
escribe D2 en la memoria de destino. En el quinto ciclo de
reloj, mientras el controlador DMA genera la última dirección
de memoria de destino, AddrD = AD4, y escribe los últimos
datos, D4, en AD4, también cambia su estado a Status= IDLE,
lo que indica el final de la transferencia de datos.

Genoveva Suing Tema 3 15


Direct Memory Access Controller.

Genoveva Suing Tema 3 16


Direct Memory Access Controller.

En la figura 7.5 se muestra un controlador DMA básico. Hay


tres módulos en esta arquitectura. El primer módulo es el
archivo de registro de DMA que almacena los valores de
dirección de origen iniciales e incrementales, InitAddrS,
StepAddrS. Otros dos registros, IniAddrD y StepAddrD,
almacenan las direcciones de destino inciales e
incrementales, respectivamente.

Esta sección también incluye los registros Size y Burst para


almacenar el ancho y la longitud de los datos. Un bus de
datos de programa se utiliza para almacenar las seis
entradas de registro antes de las operaciones que se llevan
a cabo.

Genoveva Suing Tema 3 17


Direct Memory Access Controller.

La segunda sección del controladores DMA gestiona el


mecanismo de handshake con la CPU y el bus árbitro. Esta
sección también proporciona las señales de control internas
a la ruta de datos del DMA para guiar el flujo de datos.

En la tercera sección, la ruta de datos DMA produce las


direcciones de origen y destino, AddrS y AddrD, y las
señales de control del bus maestro, Status, Size, Burst, WED
(habilitación de escritura para la memoria de destino) y RES
(habilitación de escritura para la memoria de origen).

Genoveva Suing Tema 3 18


Direct Memory Access Controller.

Genoveva Suing Tema 3 19


Interrupt Controller.

Genoveva Suing Tema 3 20


Interrupt Controller.

Genoveva Suing Tema 3 21


Interrupt Controller.

También hay eventos internos dentro del CPU que resultan


de ocurrencias encontradas al ejecutar programas de
usuario, tales como condiciones de división por cero o
desbordamiento, que crean excepciones. Todos estos
eventos externos relacionados con el hardware y el
software son administrados por el controlador de
interrupción.

Genoveva Suing Tema 3 22


Interrupt Controller.

Hay cuatro tipos de interrupciones según su prioridad. La


interrupción para el restablecimiento de la CPU tiene
prioridad sobre todas las demás interrupciones porque
cuando se produce el restablecimiento, los datos de cada
registro de la CPU deben conservarse en una memoria
especial para ser restaurados más adelante.

Las interrupciones internas tienen la segunda prioridad


después del restablecimiento de la CPU. Estas
interrupciones generalmente se originan de errores
encontrados en programas de usuario o pueden resultar de
puntos de interrupción instalados en un programa de
usuario.

Genoveva Suing Tema 3 23


Interrupt Controller.

Las interrupciones de software ocupan el tercer lugar en la


lista de prioridades. Estas interrupciones son en realidad
llamadas de subrutinas vectorizadas que provienen de
rutinas de emulación de software. La división en punto
flotante produce un ejemplo de ello.

Las interrupciones de hardware se colocan en último lugar


en la lista de prioridades. Aunque la priorización de las
interrupciones de hardware es completamente programable
por el usuario, el sistema operativo también puede
administrar la lista de prioridades de hardware y
comunicarse con un dispositivo específico a través de los
controladores de dispositivo.

Genoveva Suing Tema 3 24


Interrupt Controller.

Existen numerosos eventos que pueden interrumpir el flujo


normal de la ejecución del programa. Los eventos externos
son creados por los dispositivos de E/S que operan bajo
programas de utilidad específica. Estos programas están
configurados de tal manera que un dispositivo de E/S
puede entregar o requerir datos de la CPU.

A continuación, se examina la secuencia de eventos que


tienen lugar para manejar una interrupción de hardware y
diseñaremos una interfaz de controlador de interrupciones
simple que sirva hasta 256 dispositivos de E/S externos.

Genoveva Suing Tema 3 25


Interrupt Controller.
El proceso de interrupción comienza cuando uno o más
dispositivos de E / S envían solicitudes de interrupción a la
interfaz de interrupción en la Fig. 7.9.

Genoveva Suing Tema 3 26


Interrupt Controller.
En esta figura, la interfaz de interrupción está diseñada
para manejar hasta 256 entradas de interrupción, desde
INTR0 a INTR255. El controlador de interrupciones es una
máquina de estado programable que prioriza todas las
interrupciones pendientes, selecciona un dispositivo de
mayor prioridad de acuerdo con una lista de prioridades y
se comunica con la CPU utilizando la salida INTR como se
muestra en la Fig. 7.9.

Cuando la señal de reconocimiento, INTA, se recibe de la


CPU, la interfaz de interrupción transmite el ID del
dispositivo, INTRID, lo que provoca la interrupción en un
bus de 8 bits de ancho.

Genoveva Suing Tema 3 27


Interrupt Controller.

El ID de interrupción en la Fig. 7.9 coincide con el número


de interrupción en la entrada de la interfaz, y varía entre 0 y
255. Cada ID de interrupción se correlaciona con una
dirección especifica en la tabla de direcciones de
interrupción, IAT, en la Fig. 7.10.

Cada dirección almacenada en IAT señala la dirección de


inicio de una Rutina de Servicio de Interrupción (ISR)
particular que reside en la memoria de instrucciones. Por lo
tanto, cuando la interfaz de interrupción genera una INTRID
y accede a una dirección de memoria específica en el IAT, el
contenido de esta dirección se carga inmediatamente en el
Contador de programas (PC).

Genoveva Suing Tema 3 28


Interrupt Controller.

Genoveva Suing Tema 3 29


Interrupt Controller.

Esto hace que la CPU haga una pausa en la ejecución del


programa de usuario normal y salte a la dirección de ISR de
inicio en la memoria de instrucciones para ejecutar las
instrucciones ISR correspondientes. Esto básicamente se
traduce en un salto de la Instr3 del programa de usuario a
Intr1 del ISR en el ejemplo de la Fig.7.10. Mientras que, en
el ISR, una instrucción de retorno, RET, indica el final de la
rutina del servicio de interrupción. En este punto, el
programa vuelve a ARET para ejecutar el resto del programa
de usuario.

Genoveva Suing Tema 3 30


Interrupt Controller.

Genoveva Suing Tema 3 31


Trabajo Final.

Trabajo Grupal: Clúster de computadoras.

Trabajo Individual: Crear un programa para procesar datos


(imágenes, texto, matrices, entre otros).
Comparación en el manejo del CPU y GPU.

Parámetros de evaluación:
◦ Presentaciones en diapositivas.
◦ Informe. (Formato IEEE)
◦ Video
◦ Exposición.
◦ Preguntas.

Genoveva Suing Tema 3 32


CPU y GPU.

Del procesamiento de gráficos al procesamiento de


propósito general

Genoveva Suing Tema 3 33


CPU y GPU.

Del procesamiento de gráficos al procesamiento de


propósito general

Genoveva Suing Tema 3 34


CPU y GPU.

Del procesamiento de gráficos al procesamiento de


propósito general

Genoveva Suing Tema 3 35


CPU y GPU.

Diferentes filosofías de diseñó entre CPU y GPU

Genoveva Suing Tema 3 36


CPU y GPU.

CPU: Diseño orientado a latencia

Genoveva Suing Tema 3 37


CPU y GPU.

GPU: Diseño orientado a rendimiento

Genoveva Suing Tema 3 38


CPU y GPU.

Elección entre CPU y GPU

Genoveva Suing Tema 3 39


CPU y GPU.

Vigentes en el mercado

Genoveva Suing Tema 3 40


CPU y GPU.

¿Cuándo usar GPU?

Genoveva Suing Tema 3 41


Programación Paralela.

Definición

Genoveva Suing Tema 3 42


Programación Paralela.

Definiciones adicionales

Genoveva Suing Tema 3 43


Programación Paralela.

Definiciones adicionales

Genoveva Suing Tema 3 44


Programación Paralela.

Formas básicas de paralelismo

Genoveva Suing Tema 3 45


Programación Paralela.

Formas básicas de paralelismo

Genoveva Suing Tema 3 46


Programación Paralela.

Procesadores Vectoriales

Genoveva Suing Tema 3 47


Programación Paralela.

Procesadores Escalares

Genoveva Suing Tema 3 48

También podría gustarte