Documentos de Académico
Documentos de Profesional
Documentos de Cultura
● Lógica secuencial
● Unidad de control de registros y decodificadores
● Memoria de control
UDC MICROPROGRAMADAS
Inicialmente eran cableadas (con un cable externo) para la ejecución de cada instrucción
Después, microprogramadas
Cables reemplazados por circuitos (1 y 0 para conectar o desconectar. Almacenados en la
UDC)
Cada instrucción conlleva un conjunto de micro-instrucciones llamado micro-programa.
Cada micro-instruccion ocupa un ciclo de CLK
CICLO DE INSTRUCCIÓN
EL CONTADOR DE PROGRAMA
Instruction Fetch
UDC accede a la MP, a la dirección donde apunta el PC y lee el COP.
El COP viene por el bus de datos y es alojado en el Instruction Register
Instruction Decode
El IR es decodificado y entrega la posición de la Memoria de Control en donde se encuentra
la primera micro-instrucción a ejecutar.
Posteriormente, por sí sola, la UDC recorre todas las micro instrucciones del micro
programa
Operand Fetch
Si el micro programa requiere operandos, la UDC leerá los operandos de la MP. Estos datos
vienen por el bus de datos y serán alojados dentro de la UCP en registros temporales,
auxiliares, o en los registros de destino.
Execute
Se realiza el procesamiento de los datos requeridos (suma, resta, etc)
Finalizada esta etapa, se coloca el contador del programa en la dirección de la próxima
instrucción a ejecutar para reiniciar el ciclo.
SET DE INSTRUCCIONES
Conjunto de bits qué son la unidad de medida a ser almacenada, procesada o transmitida
por el procesador
De Longitud múltiplo de 2 u 8
Múltiplos de palabra:
● Palabra doble
● palabra cuádruple
CAPACIDAD DE DIRECCIONAMIENTO
Cantidad de bits de cada dirección está dada por la cantidad de pines del microprocesador
en el bus de direcciones
MODOS DE DIRECCIONAMIENTO
TAXONOMÍA DE FLYNN
SISD
Único procesador ejecuta una única instrucción sobre un conjunto de datos almacenados en
una única memoria
SIMD
Única instrucción controla la ejecución simultánea de un conjunto de datos diferentes de
cada unidad de ejecución
MISD
Se ejecuta un conjunto diferente de instrucciones en distintas con un mismo conjunto de
datos
MIMD
Se ejecuta un conjunto diferente de instrucciones en distintas con distintos conjuntos de
datos
● Independientes entres sí
● Similares características
● Comparten el mismo espacio de memoria y de E/S
● Similares tiempos de acceso a la MP
● Pueden ejecutar los mismos algoritmos o funciones
● Controlados por un único SO integrado
● Multicores
● Transparente para el usuario
● Incremento en la performance
CLUSTERS
Vs SMP
Conjunto de computadores que trabajan como si fueran una sola (mega-computadora)
Cada computadora puede funcionar por sí sola como un ordenador
Cada computadora es un NODO
Se enlazan a través de una red LAN o WAN
Poseen discos compartidos por todas las computadores con RAID
Similar a SMP
Cada procesador tiene su propio espacio de memoria
Caché L3 es usado para compartir entre todos los procesadores. L2 y L1 son propios
Al usar L3 se evita que los datos circulen por los buses
Hay coherencia de cache entre todos los niveles
PIPELINES
Realiza tarea compleja que se puede segmentar en etapas (o unidades). Cada etapa realiza
una única tarea pero de manera muy eficiente
UDC ejecuta el ciclo de instrucción en etapas:
● IF ID OF EX
PIPELINE DE INSTRUCCIONES
Procedimiento
◼ Leer varias instrucciones desde la MP y guardarlas dentro del Pipeline en la UDC
◼ Identificar COP y los OBJETOS de cada una de las instrucciones
◼ Para cada COP accederá a su microprograma y obtendrá la ocupación de cada etapa
◼ Acomodará la ocupación de la UDC entre varias instrucción evitando colisiones
◼ Una unidad de despacho enviará cada parte de cada instrucción a cada etapa
◼ Todo esto se hace para la totalidad de las instrucciones cargadas en el pipeline
PROBLEMAS DE LOS PIPELINES
De datos:
Si dos instrucciones están fuera de orden, los resultados son erróneos
Solución -> Forwarding. No se paraleliza pero se respeta el orden.
De control:
Un salto condicionado puede dar un resultado inesperado
Solución -> Predicción de saltos. Determina si ocurrirá o no un salto.
De estructura:
Dos instrucciones requieren una misma unidad (Ej, ALU)
Solución -> Agregar más unidades para tener tareas en paralelo
Set de instrucciones sencillo y con pocas instrucciones, cada una es un conjunto de micro-
tareas
ARQUITECTURA MULTI-PROCESADOR
Cluster
ARQUITECTURAS RECONFIGURABLES
Mejora la performance
Encapsulan funciones de negocio completas que pueden a su vez ser un conjunto de otras
funciones de negocio que se orquestan en un solo servicio.
Los servicios de las aplicaciones requerirán servicios empresariales y estos uno o varios
servicios de negocio.
BUSES
SEÑALES
Puede ser:
● Tensión en Volts
● Corriente eléctrica en Amperes
● Potencia eléctrica en Watts
● etc
Tipos de señales:
● Continuas
● Alternas: -> Periódicas:El conjunto de valores se repite en intervalos de tiempo
constante (Periodos).
● Analogicas: Pueden tomar infinitos valores
● Digitales: Pueden tomar un conjunto de valores discretos
EL CLOCK
El procesador realiza todas sus operaciones en sincronismo con una señal de Clock
BUSES
Medio de transporte de señales digitales formado por cables de cobre o pistas de cobre en
una plaqueta (llamada circuito impreso)
Cuando un bus realiza una transferencia elemental completa de información entre dos
dispositivos conectados al bus
Bus de ciclo completo: Se hace la transferencia sin interrupciones
Bus de ciclo partido: El tiempo del bus se divide en pequeños periodos (time slots) en donde
se manda parte de los datos en cada uno de ellos
PARALELISMO, SINCRONIZACIÓN
Paralelismo y Ancho
Se transmiten más de un dato al mismo tiempo (bus paralelo)
Ancho = cantidad de líneas o bits que se transmiten paralelo
Sincronización
● Bus sincrónico: Hay una señal de reloj que regula la transmision de informacion
● Bus asíncronico: Las dispositivos no se guían por una señal de reloj
VELOCIDAD
Baudio
Tiempo que tarda en transmitirse una unidad de información
BUSES MULTIPLEXADOS
Por un mismo conjunto de cables se transmiten datos distintos, comparten el mismo medio
En un momento el bus transporta el conjunto de datos A y en otro el conjunto B
Temporización
Cronograma temporal de un ciclo completo del bus para todas sus operaciones (lectura,
escritura, etc)
Niveles de especificación
● Nivel mecánico: tipo y cantidad de cables, tipo de conectores, etc
● Nivel eléctrico: circuito eléctrico equivalente, niveles de tensiones utilizadas, etc
● Nivel lógico: equivalencia lógica de los valores eléctricos. Ej 0 Volt = “0” lógico. etc
JERARQUÍA DE BUSES
Los periféricos se conectan con los buses o “sistema de interconexión” (bus de datos, de
control y de direcciones)
Diferentes dispositivos utilizan diferentes esquemas de conexión de bus. Todos tienen que
poder interconectarse entre sí gracias a un sistema jerárquico de ordenamiento de
conexión.
Bus de datos
Mueve los datos entre la UCP, MP y E/S
Ancho de 8 o 16 bits
Bus de Direcciones
Designa el orden y destino de los datos que están en el bus de datos
Su ancho determina la capacidad máxima de direccionamiento
Usan 20 bits.
Bus de control
Coordinan y controlan el acceso a los módulos y la transferencia de información entre ellos
Temporización y el control de las operaciones
Señales más importantes: !RD, !WR, IO/!M, INTR, !INTA, CLK, RESET, HOLD, HLDA
BUS ISA
De 32 bits con CPU y Memoria.
Soporta más de un procesador conectado
Soporta tener otros buses ISA com esclavos
Compatible con placas ISA
Transmision sincrónica de alta velocidad (33 Mb/Seg)
BUS PCI
DE 32 bits para MP, 64 bits periféricos, 256 bytes para configuración de 32 dispositivos
PCI-E: 4096 bytes
Cache de datos con rafagas
Tasa de transferencia máxima de 133 y 266 MB/s
Diferentes implementaciones de slots y ranuras
BUS SATA
Conecta HDD; Ópticos o de Estado sólido
Interfaz de bajo costo y excelente performance a través de 4 hilos
Es Hot Swapping (intercambio de disco en caliente sin desconectar la energía)
Es Hot Plugging (agregar componentes sin desconectar la energía)
Diferentes revisiones 1.0, 2.0, 3.0, 3.1, 3.2, 3.3
Cada dispositivo se conecta directamente a un contador SATA. No hay master y esclavo
BUS USB
Conecta todo tipo de dispositivos
Es Plug and Play (No hace falta apagar el computador para conectar o desconectar un
dispositivo)
Dispositivos no usados pasan a bajo consumo
Trafico full duplex (transmite y recibe al mismo tiempo)
Diferentes tipos: 1.0, 1.1, 2.0, 3.0, 3.1, 3.2
Procedimiento
● El periférico deberá “pedir los buses” a la CPU (pin HOLD)
● La CPU concede la operación (pin HLDA) una vez terminado el ciclo de bus en curso
● Recordemos que el ciclo de bus es la operación por la cual se realiza una
transferencia completa de datos entre dispositivos.
● La CPU deja de ser el Master de los buses
Objetivo:
● Transferir bloques considerables de datos en modo de rafaga
● Entre MP y dispositivos
● De Memoria a Memoria
Para poder implementar DMA la configuración de los buses tiene que ser dedicada
DMA Controller = encargado de gestionar los buses para las transferencias por DMA
Posee 4 canales programables (DMA0 al 3)
E 3 modos diferentes
Cada mood en 3 tipos de transferencia
Permite prioridades fijas y rotativas
Es expansible en “n” canales DMA conectando los diversos DMACs en casada
Provee direccionamiento para las transferencias
Modos de transferencia:
● Simple = se realiza una única transferencia mientras la cpu no use los buses
● En Bloques = se realiza la transferencia de un bloque de datos gestionado por un
controlador interno en el DMAC
● A demanda = Mientras el periférico siga entregando datos, el DMAC seguirá
transmitiéndolos a la MP
Priorización de canales:
● Fija = Canal 0 más prioritario, 3 el menos
● Rotativa = El canal atendido pasas a tener la menor prioridad