Professional Documents
Culture Documents
1° Parcial Arquitectura
1° Parcial Arquitectura
Representaciones numéricas
ARQ DE
COMPUTADORAS
Representación de datos En sistemas informáticos
Números negativos
● Signo Magnitud
● Complemento a1
● Complemento a2
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Signo Magnitud:
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Signo Magnitud:
Ventajas: Desventajas:
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Complemento a1
Hay que definir de ante mano que vamos a trabajar con Complemento a1.
Los números positivos serán desde el 0 hasta el 2^(n)-1
Los negativos irán hasta -2^n
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Complemento a1
1310 = 11012
-1310 = 00102
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Complemento a2
Fácil conversión
Ca2 = Ca1 + 1
-13 = 0010 (Ca1)
-13 = 0011 (Ca2)
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Complemento a2
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Operaciones Aritméticas
● Suma
● Resta
● Multiplicación
● División
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Suma binaria en
complemento a2:
0+0=0
1+0=1
1 + 1 = 10
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Resta binaria en
complemento a2:
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Multiplicación
binaria números
positivos:
0x0=0
1x0=0
1x1=1
SISTEMAS DIGITALES
Organización y
Arquitectura de
Computadoras ● Capítulo 10: Computer Arithmetic.
William Stalling
Novena Edición
Essentials of
Computer
Organization and
Architecture ● Capítulo 2: Data Representation in
Computer Systems.
Linda NULL
Unidad Nº1:
Representaciones numéricas
ARQ DE
COMPUTADORAS
Representación de datos En sistemas informáticos
TAREA PROXIMA CLASE
● División binaria
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Punto Flotante
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Notación Científica:
1000000 = 1 𝑥 106
0,0000001 = 1 𝑥 10−6
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Punto Flotante Digital: VERSION SIMPLIFICADA
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Normalización: Exponente Sesgado:
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
Ejemplo:
2110 = 101012
𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 = 1.0101 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 4
𝑒𝑥𝑝. 𝑠𝑒𝑠𝑔𝑎𝑑𝑜 = 4 + 15 = 19 = 100112
𝑝𝑢𝑛𝑡𝑜 𝑓𝑙𝑜𝑡𝑎𝑛𝑡𝑒 = 0 10011 10101000
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
IEEE 754
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
● Números especiales
SISTEMAS DIGITALES
SISTEMAS DIGITALES
SISTEMAS DIGITALES
Formula para pasar un N° a IEEE754
SISTEMAS DIGITALES
Representación de datos En sistemas informáticos
SISTEMAS DIGITALES
Organización y
Arquitectura de
Computadoras ● Capítulo 10: Computer Arithmetic.
William Stalling
Novena Edición
Essentials of
Computer
Organization and
Architecture ● Capítulo 2: Data Representation in
Computer Systems.
Linda NULL
TRABAJO DE EJERCITACION N°2
ARQUITECTURA DE COMPUTADORAS
INGENIERÍA EN INFORMÁTICA
descripción completa
De cada nivel al diseñador le importan:
Estructura funcionamiento
La operación de
El modo en el
cada
que los
componente
componentes
individual como
están
parte de la
interrelacionados
estructura
Se considera DATO a toda entrada de
información de una computadora. Los datos
pueden ser de cualquier tipo: Científico,
contable, etc. Son elementos primitivos de los
cuales a través del PROCESAMIENTO de obtiene
la INFORMACION!
Procesamiento de datos
Almacenamiento de datos
Transferencia de datos
Control
La representación básica de una computadora
podríamos resumirla en la siguiente imagen:
Central Processing Unit (CPU): Controla el
funcionamiento de la computadora y se encarga
del procesamiento de los datos, comúnmente
llamada Procesador.
Input/Output: Entrada y Salida, encargada de la
transferencia de datos entre el Computador y el
entorno externo.
Main Memory (Memoria Principal): Es la
encargada de almacenar los datos, tanto para ser
transferidos a través de las entradas/salidas o
para ser procesados en la CPU
System Interconnection: Proporciona
interconexiones entre las distintas partes de un
computador.
Controla todos los componentes de la CPU
Puede ser programada por HARDWARE
(Cableada, diseñada con circuitos de logica secuencial)
o Microprogramada (asociada a una micromemoria
de acceso secuencial donde cada instrucción tiene
asociada multiples microinstrucciones)
Interpreta las instrucciones
◦ Decodifica y Ejecuta las instrucciones. Transforma las
instrucciones en ordenes a otros componentes.
La ALU o Unidad Aritmético Lógica tiene las
funciones de:
Llevar a cabo las funciones de procesamiento
de datos de la computadora
Realiza operaciones matemáticas y lógicas
◦ Matemáticas: Sumas, Restas, Multiplicaciones
◦ Lógicas: AND, OR, XOR
◦ Corrimientos
Proporcionan almacenamiento interno a la
CPU
Almacena datos binarios, para acceso rapido
Los registros son de tamaño fijo!
De proposito general (programas), o
especifios (acumulador, contador de
programa, punteros a memoria, ETC)
Son los mecanismos que proporcionan la
comunicación entre la Unidad de Control, la
ALU y los Regsitros del CPU
Mueve los datos entre los diferentes
componentes de la CPU
Es controlada por un CLK (reloj)
Esta generación se caracteriza por la
utilización de las válvulas de vacio
Podemos dividirla en dos grandes
computadoras que marcaron ITOS
ENIAC: Electronic Numerical Integrator And
Computer
IAS: Primer computadora con arquitectura de VON
NEUMAN
ENIAC
◦ Diseñada y construida por Mauchly y Eckert de la
universidad de Pennsylvania
◦ Fue diseñada como computador de propósitos
generales, pero era destinada al calculo balístico
del BRL (Laboratorio de investigación de Balística)
de EEUU.
◦ En 1943 fue aceptada por el BRL pero no estuvo
lista hasta 1946 por lo que no pudo ser usada para
la 2° guerra mundial, pero su primera misión fue
para la determinación de la viabilidad de la bomba
de hidrogeno
◦ ENIAC pesaba alrededor de 30 toneladas, ocupaba
15000 ft2, tenia mas de 18 mil valvulas de vacio y
consumia 140KW de potencia
◦ Era una maquina decimal y no binaria
◦ Tenia una memoria de 20 acumuladores de 10
digitos decimales
◦ Era capaz de efectuar 5000 sumas por segundo.
◦ Uno de sus mayores inconvenientes era que tenia
que ser programada manualmente con
conmutadores, conectando y desconectando cables!
La era del Transistor!
◦ El transistor es mas pequeño
◦ Mas barato
◦ Disipa menos calor
◦ Puede ser usado de la misma manera que la válvula
de vacio
◦ Velocidad Creciente
◦ Costo Creciente
Al mismo tiempo que IBM lanza el 360, la
empresa DEC introduce el PDP-8 conocido
como “minicomputador”, ya que podía ser
montado sobre un banco de trabajo y no
necesitaba una sala completa.
El PDP-8 permitía a los fabricantes comprar
un PDP e introducirlo en un con junto global
como ser, almacenamiento y sistema de
entrada y salida, y revenderlo. Estos son
conocidos como “Fabricantes de Equipos
Originales” u OEM
Son las generaciones basadas en los avances
de las tecnologias de IC.
Nacen con las tecnologias LSI ( Large Scale
Integration) y VLSI ( Very Large Scale
Integration)
1971 Intel desarrolla el 4004.
Primer CHIP que contenía todos los
componentes de una CPU en un mismo IC.
NACE EL mP
El 4004 podía sumar 2 números de 4bits, y
multiplicaba con sumas sucesivas.
Primer procesador de 8 bits, el INTEL 8008 en
1972
En 1974 nace el INTEL 8080. Primer mP de
uso general
Tubos de vacío - 1946-1957
Transistores - 1958-1964
Small scale integration - 1965 en adelante
Hasta 100 transistores en un chip
Medium scale integration - hacia 1971
100-3,000 transistores en un chip
Large scale integration - 1971-1977
3,000 - 100,000 transistores en un chip
Very large scale integration - 1978 a la fecha
100,000 - 100,000,000 transistores en un chip
Ultra large scale integration
Más de 100,000,000 transistores en un chip
Gordon Moore - cofundador de Intel:
La capacidad de integración se duplica cada año
Desde los 70’s se “enlentece”:
Número de transistores se duplica cada 18 meses
Algunas consecuencias:
• Costo x chip no ha cambiado -> costo de la lógica y
memoria baja dramáticamente
• Mayor densidad -> “cables” más cortos, mayor
performance de la interconexión
• Más circuitos x chip -> menos interconexiones, mayor
confiabilidad
• Menor tamaño -> mayor flexibilidad (poder de cómputo
de un celular?)
• Requerimientos de alimentación y refrigeración
Volviendo a la ENIAC, programarla era muy
problemático, así que en 1946 Von Neuman y
sus colegas plantearon que:
PC = PC+1
2
3
4
5
6
7
8
9
10
Mecanismo por el cual otros módulos por
ejemplo E/S, MEM, etc, pueden interrumpir la
secuencialidad de la ejecución de un
programa, para realizar una tarea especifica.
Programa
Programa
Temporización
Programa
Temporización
E/S
Programa
Temporización
E/S
Fallo de Hardware
Se agrega al ciclo de instrucción
Procesador chequea por la interrupción
Indicado por una señal de interrupción
Si no hay interrupción, fetch próxima instrucción
Si hay una interrupción pendiente:
Suspender ejecución del programa corriente
Salvar contexto
Hacer que PC apunte a la dirección de inicio del
manejador de la interrupción
Procesar interrupción
Restaurar contexto y continuar el programa
interrumpido
Deshabilitar interrupciones mientras se
atiende una interrupcion
◦ El procesador ignorará las interrupciones mientras
se procesa otra interrupción Las interrupciones
quedan pendientes y son atendidas una vez que la
primera interrupción ha sido procesada Las
interrupciones son manejadas en secuencia
Definir prioridades entre las interrupciones
◦ Los manejadores de interrupciones de baja
prioridad pueden ser interrumpidos por
interrupciones de mayor prioridad una vez que se
ha procesado la interrupción de mayor prioridad, se
retorna al manejador de la interrupción previa
Arquitectura de Computadoras – Ingeniería en Informática
“GUÍA DE ACTIVIDADES Nº 1”
Alumnos:
Antúnez Facundo (Mat. 67564)
Docentes:
Ing. Benitez, Juan de Dios
Ing. Bareiro, Santiago Hernan
Ing. Baez, Julian
En este estudio de la historia de las computadoras, conoceremos cada una de las generaciones
que han impulsado una revolución tecnológica sin precedentes. Desde los rudimentarios pero
pioneros días de las máquinas de válvulas hasta la era actual de los dispositivos ultra portátiles e
interconectados, exploraremos en profundidad los avances tecnológicos que han dado forma a
nuestro mundo moderno y su profundo impacto en la sociedad.
En la primera generación, con los bulliciosos tubos de vacío, descubriremos cómo los científicos
de la década de 1940 superaron obstáculos monumentales para crear las primeras computadoras
electrónicas. A pesar de su tamaño y demanda de energía, estas máquinas establecieron los
cimientos de la automatización y demostraron el potencial de procesar datos de manera
electrónica.
La segunda generación, con la llegada de los transistores en la década de 1950, nos llevará a un
mundo de mayor eficiencia y miniaturización. A través de su adopción, los ordenadores se hicieron
más compactos, fiables y accesibles. Este cambio allanó el camino para la proliferación de las
computadoras personales y estableció una base sólida para la evolución tecnológica continua.
En la tercera generación, los circuitos integrados marcaron un hito crucial en la década de 1960.
Ahora, más componentes podían caber en un solo chip de silicio, lo que resultó en un aumento
espectacular en el poder de procesamiento y la reducción del tamaño. Esto permitió la creación de
sistemas más avanzados y allanó el camino para la integración de la tecnología en diversas áreas
de la vida cotidiana.
DESARROLLO
El primer computador de propósitos generales fue construido en 1946, el ENIAC diseñado para
propósitos bélicos, bajo la supervisión de John Mauchly y John Presper Eckert en la Universidad
de Pennsylvania, su propósito era realizar cálculos para tablas de trayectorias de tiro y trayectoria
de armas. Pesaba 30 toneladas, ocupaba 1300 metros cuadrados y contenia 18 000 tubos de
vacío, consumiendo 140 000 Watts.
Una máquina decimal, usaba números y aritmética en base 10. Tenía veinte "acumuladores" en su
memoria, cada uno guardando un número decimal de diez dígitos. Los dígitos se representaban
con anillos de diez tubos de vacío, activando solo un tubo por dígito. Una desventaja era su
programación manual a través de conmutadores y cables.
Ilustración 2: ENIAC
IAS
Tanto números como instrucciones son representados en formato binario. Cada palabra contiene
un bit de signo y 39 bits de valor para números, y puede alojar dos instrucciones de 20 bits cada
una. Cada instrucción se compone de un código de operación de 8 bits y una dirección de 12 bits
que señala una posición en la memoria (numeros del 0 al 999).
COMPUTADORAS COMERCIALES
destinado tanto a aplicaciones científicas como comerciales, marcó el primer éxito en la categoría
de computadores comerciales. El UNIVAC II, lanzado a fines de los cincuenta, tenía mayor
capacidad de memoria y más aplicaciones que su predecesor. Esta tendencia de avances
tecnológicos que permiten máquinas más grandes y potentes se ha mantenido en la industria.
Además, las compañías se esforzaron por hacer sus nuevas máquinas compatibles con las
anteriores para retener a sus clientes.
Ilustración 4:Univac 1
IBM LINEA 700
IBM, que había estado involucrada en la construcción del Mark I y era líder en la fabricación de
equipos con tarjetas perforadas, lanzó el 701, su primer computador con programas almacenados
electrónicamente, en 1953.
Diseñado para aplicaciones científicas, posteriormente introdujo el 702, adecuado para
aplicaciones de gestión. Estos productos marcaron el comienzo de la serie de computadores
700/7000 de IBM, consolidando su posición dominante en la industria.
Ilustración 6:Transistores
El cambio significativo en los computadores electrónicos surgió con la transición de los tubos de
vacío a los transistores. Los transistores, más pequeños y económicos, disipan menos calor y
pueden reemplazar a los tubos de vacío en la construcción de computadores. A diferencia de los
tubos de vacío, que requerían componentes como cables, placas de metal y vacío, los transistores
son dispositivos de estado sólido fabricados con silicio.
El transistor fue inventado en 1947 en los Laboratorios Bell, y en la década de 1950 desencadenó
una revolución electrónica. Aunque los computadores completamente transistorizados no
estuvieron disponibles comercialmente hasta finales de los años cincuenta, empresas como NCR
y RCA lanzaron pequeñas máquinas transistorizadas antes que IBM. Este cambio trajo consigo
avances como unidades lógicas y aritméticas más complejas, unidades de control avanzadas, el
uso de lenguajes de programación de alto nivel y la provisión de software de sistema.
IBM 7094
Desde la introducción en 1952 de la serie 700 y la introducción del último miembro en 1964 de la
serie 7000, esta línea de productos sufrió la evolución típica de los computadores. Los productos
sucesivos de la línea presentaron un aumento de prestaciones y capacidad y/o la disminución de
precios. El tamaño de la memoria principal, en múltiplos de 210 palabras de 36 bits, creció de 2K
(1K = 210) a 32K palabras 3, mientras que el tiempo de acceso a una palabra de memoria, el
tiempo de ciclo de memoria, cayó de 30 µs a 1,4 µs. El número de códigos de operación creció de
un modesto 24 a 185.
En la década de los cincuenta y principios de los sesenta, los equipos electrónicos estaban
mayormente compuestos por componentes discretos, que incluían transistores, resistencias y
capacidades. Estos componentes se fabricaban por separado, encapsulados en sus propias
carcasas, y se ensamblaban en tarjetas de circuito en forma de paneles. Esto resultaba en un
proceso de fabricación costoso y complicado, ya que cada componente debía ser soldado
individualmente en las tarjetas de circuito.
Esta situación dio inicio a problemas en la industria de computadores, ya que los computadores de
la segunda generación contenían alrededor de 10,000 transistores, y esta cantidad aumentó a
cientos de miles. La fabricación de máquinas más potentes se volvía cada vez más difícil y
costosa.
Sin embargo, en 1958 se produjo una revolución con la invención del circuito integrado, marcando
el comienzo de la era de la microelectrónica. El circuito integrado define la tercera generación de
computadores. Esta nueva tecnología permitía la colocación de múltiples componentes en una
única pieza de silicio, lo que revolucionó la electrónica y facilitó la fabricación de sistemas más
complejos.
Dos ejemplos destacados de la tercera generación son el IBM Sistema/360 y el DEC PDP-8.
Estos sistemas surgieron en la era de la microelectrónica y desempeñaron un papel crucial en la
evolución de la industria de los computadores.
IBM SISTEMA/360
La reducción del tamaño de los circuitos electrónicos, ha sido una constante en la evolución de la
electrónica digital y la industria de los computadores. Los componentes básicos de un computador
digital son las puertas lógicas y las celdas de memoria, que cumplen con las funciones de
almacenamiento, procesamiento y control.
LA MICROTECNOLOGÍA
Las puertas lógicas implementan funciones booleanas, como la puerta AND que verifica si A y B
son verdaderos para que C sea verdadero. Las celdas de memoria almacenan un bit y pueden
tener dos estados estables. La interconexión de estos componentes permite construir un
computador y se relaciona con las funciones básicas del computador:
En el mismo año en que IBM lanzó su Sistema/360, otro lanzamiento importante ocurrió: el DEC
PDP-8. Mientras que la mayoría de los computadores de la época requerían habitaciones con aire
acondicionado, el PDP-8, apodado "minicomputador" en referencia a la moda de la minifalda de
aquellos tiempos, podía caber en una mesa de laboratorio o integrarse en otro equipo. Aunque no
ofrecía todas las capacidades de las grandes máquinas, su precio de 16,000 dólares lo hacía
asequible para técnicos de laboratorio, en contraste con los cientos de miles de dólares que
costaban los sistemas Sistema/360 de IBM lanzados unos meses antes.
MEMORIA SEMICONDUCTORA
El primero se relaciona con la memoria semiconductora, que cambió radicalmente la forma en que
las computadoras almacenaban datos. Las memorias de ferrita de los años cincuenta y sesenta se
reemplazaron con tecnología de circuitos integrados, que demostró ser más rápida y económica.
En 1970, Fairchild produjo la primera memoria semiconductora con capacidad, marcando un hito
importante en la evolución de la tecnología. A medida que las generaciones de memoria
semiconductora avanzaron, se lograron densidades de almacenamiento cada vez mayores, lo que
permitió la creación de máquinas más pequeñas, rápidas y accesibles.
MICROPROCESADORES
El segundo desarrollo crucial se refiere a los microprocesadores. A medida que los chips de
memoria y procesamiento aumentaban su densidad, se necesitaban menos chips para construir
una unidad de procesamiento de computadora. En 1971, Intel presentó el 4004, el primer
microprocesador en un solo chip que contenía todos los componentes de la CPU. Aunque limitado
en comparación con los estándares actuales, este hito marcó el comienzo de la evolución continua
en capacidad y potencia de los microprocesadores.
El Intel 8008 en 1972 y el Intel 8080 en 1974 llevaron la evolución a un nivel superior, siendo este
último el primer microprocesador de uso general. Más tarde, los microprocesadores de 16 bits y
32 bits se hicieron populares, como el 8086 y el 80386. Estos avances en microprocesadores
revolucionaron la computación, permitiendo computadoras más potentes y versátiles.
• 8086: Un salto a 16 bits, más potente que su predecesor. Introdujo registros más grandes y
una caché de instrucciones que anticipaba la ejecución.
• 80286: Una expansión del 8086 que permitió direccionar hasta 16 MB de memoria en
comparación con el límite previo de 1 MB.
• Pentium II: Incorporó la tecnología Intel MMX para un procesamiento eficiente de datos
multimedia.
• Itanium: Una nueva generación con arquitectura IA-64 de 64 bits, orientada hacia
aplicaciones empresariales y técnicas.
• Itanium 2: Una versión mejorada del Itanium original, con mejoras de hardware para
aumentar la velocidad.
En resumen, las últimas generaciones de computadoras han estado marcadas por avances en la
tecnología de circuitos integrados. La memoria semiconductora y los microprocesadores
experimentaron cambios fundamentales, dando lugar a máquinas más eficientes, compactas y
asequibles.
CONCLUSIÓN
En resumen, el análisis de las sucesivas generaciones de computadoras, desde sus inicios hasta
su más reciente evolución, nos ofrece un asombroso recorrido por la innovación y los avances
tecnológicos que han revolucionado profundamente nuestra sociedad y la forma en que nos
relacionamos con el mundo digital. Cada etapa ha aportado avances trascendentales que han
allanado el camino hacia la era digital en la que estamos inmersos en la actualidad.
La primera generación de computadoras, impulsada por tubos de vacío, marcó un inicio audaz en
la automatización del cálculo y sentó los cimientos para la computación electrónica moderna. A
pesar de sus limitaciones en cuanto a tamaño y fiabilidad, estas máquinas abrieron las puertas a
la capacidad de procesar datos a velocidades previamente inimaginables.
La segunda generación, impulsada por la invención de los transistores, trajo consigo mejoras
notables en eficiencia y confiabilidad. Las computadoras se hicieron más compactas y accesibles,
allanando el camino para democratizar la tecnología informática. Esta etapa sentó las bases para
el auge de las computadoras personales y el inicio de la era de la informática en hogares y
oficinas.
Arquitectura
Arquitectura de
de Computadoras
Computadoras
2
Introducción
La unidad aritmético-lógica
Entrada y Salida de la ALU
Funciones
● Realizar cálculos aritméticos: sumas y restas.
3
Introducción
La unidad aritmético-lógica
Movimiento de
datos en la ALU
4
Introducción
La unidad aritmético-logica
Simulador
MSX88 –
Intel 8088
5
Aritm. de enteros
Tipos de representaciones
Representación general
Formato
● Asignar un bit para el signo positivo (0)
Ejemplo
● Número binario 10000000 (el 1 de la izquierda es
6
Aritm. de enteros
Tipos de representaciones
Signo Magnitud
Formato
● Palabra de n bits
Ejemplo n=8
● +18 = 00010010
● -18 = 10010010
7
Aritm. de enteros
Tipos de representaciones
Signo Magnitud
Limitaciones
● Para la suma y resta se requiere tener en cuenta el
9
Aritm. de enteros
Tipos de representaciones
Complemento a dos - CA2
Representación de
De igual forma que Signo Magnitud
números positivos
Asignar un 1 para representar el bit de
Representación de signo. Realizar el complemento booleano
números negativos de cada bit correspondiente a la
magnitud, y sumar 1 al patrón de bits.
Para realizar una operación con distintas
Extensión de la longitud longitudes de bits. Añadir posiciones de
en bits bits a la izquierda rellenando con el valor
del bit de signo original
10
Aritm. de enteros
Tipos de representaciones
Complemento a dos - CA2
(n−1) (n−1)
Rango de representación −2 hasta 2 −1
11
Aritm. de enteros
Tipos de representaciones
n=4
Decimal Sig M. CA-2 Sesgada Decimal Sig M. CA-2 Sesgada
+8 - - 1111 -8 - 1000 -
+7 0111 0111 1110 -7 1111 1001 0000
+6 0110 0110 1101 -6 1110 1010 0001
+5 0101 0101 1100 -5 1101 1011 0010
+4 0100 0100 1011 -4 1100 1100 0011
+3 0011 0011 1010 -3 1011 1101 0100
+2 0010 0010 1001 -2 1010 1110 0101
+1 0001 0001 1000 -1 1001 1111 0110
+0 0000 0000 0111 -0 1000 - -
12
Aritm. de enteros
Tipos de representaciones
Complemento a dos - CA2
● Fórmula base matemática
n−2
A=−2 n−1
an−1 + ∑ 2 ai
i
i=0
13
Aritm. de enteros
Tipos de representaciones
Complemento a dos - CA2
14
Aritm. de enteros
Tipos de representaciones
Complemento a dos - CA2
● Algunos ejemplos
15
Aritm. de enteros
Suma y resta en CA2
Regla de desbordamiento
● Al sumar dos números, y ambos son o bien positivos
o negativos, se produce desbordamiento si y solo si
el resultado tiene signo opuesto.
Regla de la resta
● Para substraer un número (el sustraendo) de otro
(minuendo), se obtienen el complemento a dos del
substraendo y se le suma al minuendo.
16
Aritm. de enteros
Suma y resta en CA2
● Algunos
ejemplos de
sumas y restas
en CA2
17
Aritm. de enteros
Multiplicación de enteros
Multiplicación en
CA2. Con algoritmo
de Booth
Longitud máxima de
bits resultados de una
operación de
multiplicación binaria:
2xn.
18
Aritm. de enteros
Multiplicación de enteros
Multicación en CA2 con algoritmo de Booth
● Ejemplo 710x310
● El resultado se
almacena en el
registro A y Q
●
Resultado:
00010101CA2=2110
19
Aritm. de enteros
División de enteros
División en CA2
● Investigar :)
● Página 321 Organización y Arquitectura de
20
Anexo
Bibliografía
William Stallings, Organizacion y Arquitectura de
Computadores, 7, Ed., 2007. (Capítulo 9).
21
Representación de Punto Flotante
e
r=c⋅b
Representación decimal científica
Condiciones:
-El bit mas significativo es siempre 1 y va como único valor a la izquierda
de la coma.
-Como el bit mas significativo es siempre 1 no se almacena. Permitiendo
almacenar un bit más. 24 bits en vez de 23 mejorando la precisión.
Forma genérica:
Operaciones aritméticas
Estructura
Funciones
UNIDAD ARITMÉTICO-LÓGICA
UNIDAD DE CONTROL
REGISTROS
No todos los microprocesadores tienen los dos últimos registros, MAR y MBR.
Registro palabra de estado del programa (PSW): es el nombre que recibe uno o un
conjunto de registros que contienen información especifica de estados durante los ciclos
de instrucciones, pueden ser de seguimiento de:
INTERCONEXIONES CPU
Instrucciones/Palabra:
Palabra
Conjunto ordenado de bytes o bits que determina la unidad normal en la que se almacena
la información, transmitida, o con la que se opera en un computador dado. Normalmente,
si el procesador tiene un conjunto de instrucciones de longitud fija, la longitud de una
instrucción coincide con la de una palabra. (No siempre el ancho de bus de datos es igual
a la longitud de la palabra)
Flujo de datos
Segmentación de instrucciones
Una manera de conseguir mayores prestaciones por parte de los computadores es través
de la implementación de la segmentación de cause o pipelining; la división de la
instrucción en unidades para realizar sus diferentes operaciones independientes al mismo
tiempo, reduciendo el ciclo de las instrucciones.
Retardo RC
La velocidad a la que los electrones pueden fluir en un chip entre transistores está limitada
por la resistencia y capacidad de los hilos metálicos que los conectan; concretamente, el
retardo aumenta al hacerlo el producto RC. Como los componentes del chip disminuyen
de tamaño, los hilos que los interconectan son más finos, aumentando su resistencia.
Velocidad de reloj
Diseño de instrucción
RISC
CISC
Procesadores Multinúcleo
Procesadores híbridos
Flexibilidad: Los sistemas híbridos son adaptables y pueden reconfigurarse para abordar
una variedad de tareas, lo que los hace ideales para entornos en los que los requisitos de
computación son diversos.
En una arquitectura híbrida típica, un sistema podría tener núcleos de propósito general
trabajando en conjunto con unidades de procesamiento gráfico (GPUs). Los núcleos de
propósito general se encargarían de la administración del sistema operativo y la
ejecución de tareas regulares, mientras que las GPUs se especializarían en el
procesamiento paralelo masivo, como renderización de gráficos o cálculos de
aprendizaje profundo en inteligencia artificial.
Intel 4004
Arquitectura CISC
Instrucciones -
Registros
Cantidad de modos de 1
Direccionamientos
Memoria Direccionable -
N° de transistores 2300
Imagen
Intel 4004 Intel 8086 Intel Pentium Intel Itanium ARM Cortex-A
Series / Exynos
9820 / Samsung
s10
Arquitectura CISC CISC CISC RISC RISC
Ancho Bus 4 16 32 64 32
(bits)
Vel. Reloj 740 kHz 10 MHz 300-600 MHz 800 MHz 700 MHz
Instruccione 46 150 - - -
s
Registros 16 14 16 128 16
Cantidad de 1 5 8 9 9
modos de
Direccionam
ientos
Memoria 640 B 1 MB 4 GB 64 GB
Direccionabl
e
N° de 2300 29000 3.1x10 ^6 25 x10 ^6 16000x10 ^6
transistores
Tamaño de 10 micrómetro 3 micrómetros 0.8 – 0.25 0.18 micrómetros 0.008
Transistores micrómetros
Imagen
Todos los ordenadores, tablets, portátiles, smartphones, etc. utilizan un procesador, que
es donde se realiza la mayor parte del trabajo de computación real. El procesador recibe
instrucciones, las ejecuta y luego entrega una salida, y a medida que la tecnología ha ido
progresando, los fabricantes se han movido hacia una tecnología de procesadores de
varios núcleos.
Por lo general, los ordenadores utilizan procesadores Intel o AMD. Estas CPUs están
diseñadas para entregar un rendimiento óptimo de escritorio porque tienen una fuente de
energía confiable y potente, con procesadores de gráficos dedicados y un sistema de
enfriamiento dedicado. Sin embargo, los diseños móviles requieren diferentes
consideraciones: para seguir siendo «móviles», las baterías y fuentes de energía deben
ser más pequeñas, no hay espacio para sistemas de refrigeración, etc., por lo que los
diseños de los procesadores deben ser, por fuerza, diferentes.
Para superar estos desafíos de los que os hablamos, los fabricantes optaron por
reemplazar la arquitectura de CPU de escritorio por algo más adecuado para la
informática móvil. Los procesadores ARM son la opción ideal, ya que utilizan un
método de procesamiento simplificado y que consume menos energía. Esto se
representa en el mismo nombre ARM, que significa «Advanced RISC Machine» o
máquina RISC avanzada.
BIBLIOGRAFÍA
https://es.wikipedia.org/wiki/Intel_4004
https://es.wikipedia.org/wiki/Procesador_multin%C3%BAcleo#:~:text=La%20proximid
ad%20de%20m%C3%BAltiples%20n%C3%BAcleos,que%20viajar%20fuera%20del%
20chip
https://es.wikipedia.org/wiki/Intel_8086_y_8088
https://disruptiveludens.wordpress.com/2016/12/02/graficos-retro-intel-antes-del-
pentium/
https://territoriointel.xataka.com/bits-nucleos-nanometros-frentes-batalla-evolucion-
procesador/#:~:text=Por%20su%20parte%2C%20la%20tecnolog%C3%ADa,con%20tra
nsistores%20de%201.000%20nm
https://es.wikipedia.org/wiki/Intel_Pentium
https://es.wikipedia.org/wiki/Conjunto_de_instrucciones
https://es.wikipedia.org/wiki/Intel_Itanium
https://es.wikipedia.org/wiki/Arquitectura_ARM
ARQUITECTURA
DE COMPUTADORAS
Estructura y Funcionamiento
CPU
Alumno: Antúnez Facundo
Profesor de Cátedra: BENITEZ
Juan
Matrícula: 67564
2° Ing. Informática
FUNCIONES
Memoria Principal
Operaciones
Lógicas Registro
Operaciones CACHE
Aritmética
Modulo E/S
CPU
ESTRUCTURA
NÚCLEO 1 NÚCLEO 2
ALU REG
BUS
U.C.
NÚCLEO 3
NÚCLEO
R. Visibles por
el Usuario
• De Uso General
• De Datos
• De dirección
• De Códigos de
condición
REGISTROS
R. De control de
Estado
• Contador de
programa (PC)
• Registro de
instrucción (IR)
• Registro de dirección
de memoria (MAR)
• Registro intermedio
de memoria (MBR)
FLUJO DE DATOS
1. PC
2. MAR
3. BUS DE DIRECCIONES
4. U.C.
5. BUS DE DATOS
6. MBR
7. IR
8. PC
CONCEPTOS CLAVES
2^U=N
CONCEPTOS CLAVES
Ancho Bus 4 16 32 64 32
(bits)
Vel. Reloj 740 kHz 10 MHz 300-600 MHz 800 MHz 700 MHz
Instruccione 46 150 - - -
s
Registros 16 14 16 128 16
Cantidad de 1 5 8 9 9
modos de
Direccionam
ientos
Memoria 640 B 1 MB 4 GB 64 GB
Direccionabl
e
N° de 2300 29000 3.1x10 ^6 25 x10 ^6 16000x10 ^6
transistores
Tamaño de 10 micrómetro 3 micrómetros 0.8 – 0.25 0.18 micrómetros 0.008
Transistores micrómetros
Imagen
PIPELINE
LICENCIA DE
FABRICACIÓN
ARITMÉTICA DE LA COMPUTADORA
UNIDAD ARITMÉTICO-LÓGICA
La ALU es la parte de la computadora que realiza realmente las operaciones aritméticas
y lógicas con los datos. El resto de los elementos de la maquina (unidad de control,
registros, memoria, E/S) están principalmente para suministrar datos a la ALU, a fin de
que esta los procese y para recuperar los resultados. Con la ALU llegamos al estudio de
lo que puede considerarse el núcleo o esencia de una computadora.
Los datos se presentan a la ALU en registros, y en registros se almacenan los resultados
de las operaciones producidas por la misma. Estos registros son posiciones de memoria
temporal interna al procesador que están conectados a la unidad. La ALU también puede
activar indicadores o flags como resultado de una operación.
Por ejemplo, un indicador de desbordamiento se pondrá a 1 si el resultado de una
operación excede la longitud del registro en donde éste debe almacenarse. Los valores
de los indicadores se almacenan también en otro registro dentro del procesador. La
unidad de control proporciona las señales que gobiernan el funcionamiento de la ALU y
la transferencia de datos dentro y fuera de la ALU.
1
REPRESENTACIÓN DE ENTEROS
Existen varias convenciones alternativas para representar números enteros tanto
positivos como negativos. Todas ellas implican tratar el bit más significativo (el más a la
izquierda) de la palabra como un bit de signo: si dicho bit es 0 el número es positivo, y
si es 1, el número es negativo.
Signo-magnitud
La forma más sencilla de representación que emplea un bit de signo es la
denominada representación signo-magnitud. En una palabra de n bits, los n–1
bits de la derecha representan la magnitud del entero. Por ejemplo:
Esto es un inconveniente porque es algo más difícil comprobar el valor 0 (una operación
frecuentemente en los computadores) que si hubiera una sola representación.
Debido a estas limitaciones, raramente se usa la representación en signo-magnitud para
implementar en la ALU las operaciones con enteros. En su lugar, el esquema más
común es la representación en complemento a dos.
Complemento a dos
Al igual que la de signo-magnitud, la representación en complemento a dos utiliza el bit
más significativo como bit de signo, facilitando la comprobación de si el entero es
positivo o negativo. Pero, difiere de dicha representación en la forma de interpretar los
bits restantes.
El número cero tiene una única representación y es positiva (00000000). El rango de los
números enteros positivos que pueden representarse va desde el 0 hasta el 2n-1-1 (todos
los bits de magnitud a 1). Cualquier número mayor requerirá más bits. Ahora, para los
negativos el bit de signo es 1, y los n-1 bits restantes pueden tomar cualquier valor entre
-1 y -2n-1.
2
Aunque nos pueda resultar engorrosa, la representación en complemento a dos, facilita
las operaciones aritméticas más importantes, la suma y la resta. Por esta razón, es
utilizada casi universalmente como representación de los enteros en los procesadores.
La siguiente tabla compara, para enteros de cuatro bits, las representaciones en signo-
magnitud y complemento a dos.
3
ARITMÉTICA DE ENTEROS
Negación
En la notación de complemento a dos, la negación de un entero puede realizarse
siguiendo las reglas
1. Obtener el complemento booleano de cada bit del entero. Es decir, cambiar cada
1 por 0, y cada 0 por 1.
2. Tratando el resultado como un entero binario sin signo, sumarle 1.
Por ejemplo:
Suma y Resta
La suma se efectúa igual que si los números fuesen enteros sin signo. En algunos casos,
hay un bit de acarreo más allá del final de la palabra, por lo general, este bit se ignora.
En cualquier suma, el resultado puede que sea mayor que el permitido por la longitud
de palabra que se está utilizando. Esta condición se denomina desbordamiento
(overflow). Cuando ocurre, la ALU debe indicarlo para que no se intente utilizar el
resultado obtenido. Para detectar dicho desbordamiento se debe tener en cuenta la
siguiente regla:
REGLA DE DESBORDAMIENTO: al sumar dos números, y ambos son o bien positivos
o negativos, se produce desbordamiento si y solo si el resultado tiene signo opuesto.
Para realizar la resta solamente hay que tener en cuenta la siguiente regla:
REGLA DE LA RESTA: para substraer un número (el substraendo) de otro (minuendo),
se obtiene el complemento a dos del substraendo y se le suma al minuendo.
4
Algunos ejemplos:
5
Multiplicación
Para realizar la multiplicación en complemento a dos la mayoría de los procesadores
utilizan la técnica conocida como el Algoritmo de Booth. Este algoritmo tiene la ventaja
adicional de acelerar el proceso de multiplicación con respecto a una aproximación más
directa.
6
Algunos ejemplos:
División
La división es algo más compleja que la multiplicación pero está basada en los mismos
principios generales. Para realizar divisiones con números en complemento a dos
definimos el siguiente algoritmo:
7
1. Cargar el divisor en el registro M y el dividendo en los registros A y Q. el dividendo
debe estar expresado como numero de complemento a dos de 2n bits. Por
ejemplo, el numero de 4 bits 0111 (710) pasa a ser 00000111.
2. Desplazar A y Q una posición de bit a la izquierda.
3. Si M y A tienen el mismo signo, ejecutar A←A-M; si no, A←A+M
4. La operación anterior tiene éxito si el signo de A es el mismo antes y después de
la operación (Regla de Desbordamiento). Ante esto se presentan dos opciones:
a) Si la operación tiene éxito o A = 0, entonces hacer Q0 ← 1.
b) Si la operación no tiene éxito y A es distinto de 0, entonces Q 0 ←0, y
restablecer el valor anterior de A.
5. Repetir los pasos 2 a 4 tantas veces como números tenga Q (n).
6. El resto está en A. Si los signos del divisor y dividendo eran iguales, el cociente
está en Q; si no, el cociente correcto es el complemento a dos de Q.
Algunos Ejemplos:
S: la mantisa o parte significativa, formado por un número real con un solo digito entero
seguido de una coma y de varios dígitos fraccionarios.
B: La base, que en el sistema binario siempre será 2.
E: el exponente entero, el cual eleva la base a una potencia.
Signo: será 0 si es positivo o 1 si es negativo.
8
La base está implícita y no necesita memorizarse ya que siempre es la misma. También
se supone que la parte entera de la mantisa siempre es un 1, por lo que, normalmente
es implícito. Esto se conoce como número normalizado.
El bit más a la izquierda representa el signo del número. El valor del exponente tiene
una representación sesgada, para obtener su valor debemos realizar:
e + (2k-1-1)
donde: e es el valor real del exponente, y k es el número de bits en el exponente binario.
El resultado es un número decimal, el cual debe ser convertido a binario.
La parte final de la palabra (23 bits en este caso) es la parte significativa o mantisa.
Donde:
9
Este formato, a su vez, define representaciones específicas para valores como infinito,
NaN (Not a Number), y valores que sobrepasan un determinado rango.
Como vimos antes, en una operación en coma flotante se puede producir alguna de
estas condiciones:
Suma y Resta
En la aritmética de punto flotante las sumas y restas son más complejas que las otras
operaciones ya que, es necesario asegurar que ambos operandos tengan el mismo
exponente. Hay cuatro etapas básicas del algoritmo para sumar y restas:
10
1. Comprobar valores cero: si alguno de los operandos es cero, se da el otro como
resultado.
2. Ajuste de partes significativas: se debe manipular los números para que los dos
exponentes sean iguales, para ello se desplazan los bits hacia la derecha el más
pequeño (incrementado el exponente) o hacia la izquierda el número más
grande.
3. Sumar o restar las partes significativas.
4. Normalizar el resultado: desplazar a la izquierda los dígitos de la mantisa hasta
que el más significativo sea uno.
Multiplicación y división
La multiplicación y la división son operaciones mucho más sencillas y directas. Lo que
hay que tener en cuenta a la hora de realizarlas es lo siguiente:
11
Redondeo
El resultado de cualquier operación sobre las partes significativas se almacena
generalmente en un registro más grande. Cuando el resultado se pone de nuevo en el
formato de coma flotante, hay que deshacerse de los bits extra.
El estándar del IEEE brinda las siguientes aproximaciones alternativas:
12
BIBLIOGRAFIAS
“Organización y arquitectura de computadoras” – William Stallings
13
ARQUITECTURA DE COMPUTADORAS
ARITMÉTICA DE UN
COMPUTADOR
Alumno: Sosa Ignacio
Profesor de Cátedra: Benítez Juan
Matrícula: 67514
2° Ing. Informática
UNIDAD ARITMÉTICO LÓGICA
La ALU es la parte de la computadora que realiza las operaciones aritméticas y lógicas con los datos. El
resto de los elementos de la maquina están principalmente para suministrar datos a la ALU, a fin de que
esta los procese y para recuperar los resultados.
REPRESENTACIÓN DE NÚMEROS
REGLA DE DESBORDAMIENTO:
Al sumar dos números, y ambos son o bien positivos o
negativos, se produce desbordamiento si y solo si el
resultado tiene signo opuesto. Cuando ocurre, la ALU
debe indicarlo con una flag.
REGLA DE LA RESTA:
Para substraer un número (el substraendo) de otro
(minuendo), se obtiene el complemento a dos del
substraendo y se le suma al minuendo.
CÓMO OPERA LA MAQUINA
MULTIPLICACIÓN
Para realizar la multiplicación en complemento a dos la mayoría de los procesadores utilizan la técnica conocida
como el Algoritmo de Booth.
EJEMPLOS DE MULTIPLICACIONES
DIVISIÓN
La división es algo mas compleja que la multiplicación pero esta basada en los mismos principios generales.
Pasos a seguir:
• Comprobación de ceros
• Ajuste de Partes Significativas
• Sumar o Restar
• Normalizar el resultado
MULTIPLICACIÓN Y DIVISIÓN
La multiplicación y la división son operaciones mucho más sencillas y directas. Lo que hay que tener en cuenta a
la hora de realizarlas es lo siguiente:
• Realizar la operación.
MULTIPLICACIÓN Y DIVISIÓN
TECNICAS DE REDONDEO
El resultado de cualquier operación sobre las partes significativas se almacena generalmente en un registro más
grande. Cuando el resultado se pone de nuevo en el formato de coma flotante, hay que deshacerse de los bits
extra. El estándar del IEEE brinda las siguientes aproximaciones alternativas:
Implementación Cableada
En una implementación cableada, la unidad de control es esencialmente un circuito
combinacional. Sus señales lógicas de entrada se transforman en un conjunto de
señales lógicas de salida, que son las señales de control.
Las entradas principales son:
Registro de Instrucción: la unidad de control hace uso del código de operación para
emitir una combinación diferente de señales. Para simplificar la lógica de la unidad de
control, debería existir una entrada lógica única para código de operación. Esta función
la puede realizar un decodificador.
Reloj: permite delimitar la duración de las microoperaciones. Esencialmente, el periodo
de los pulsos de reloj ha de ser suficientemente largo para permitir la propagación de
señales a lo largo de los caminos de datos y a través de la circuitería del procesador.
Indicadores y Señales del bus: brindan a la unidad de control algún tipo de aviso
especial. Normalmente cada bit individual tiene un significado determinado, por ejemplo
desbordamiento.
Control Microprogramado
Implementar una unidad de control como una interconexión de elementos lógicos
básicos no es una tarea fácil. El diseño debe incluir lógica para realizar el
secuenciamiento de las microoperaciones y su ejecución, para interpretar los códigos
de operación, y para tomar decisiones basadas en los indicadores de la ALU. Todo este
hardware es difícil de diseñar y de verificar. Una alternativa, que se ha usado en muchos
procesadores CISC, es realizar una unidad de control microprogramada.
Cada microoperacion esta descrita en notación simbólica, esta notación es conocida
como lenguaje de microprogramación. Donde cada línea describe un conjunto de
1
instrucciones que suceden a la vez, una secuencia de dichas instrucciones se conoce
como microprograma o firmware.
Por cada microoperacion la unidad de control puede generar un conjunto de señales de
control, por lo tanto las instrucciones se representarían mediante un patrón diferente de
unos y ceros en la palabra de control.
Supongamos que se emplea una secuencia de palabras de control para representar la
secuencia de microoperaciones ejecutadas por la unidad de control. A continuación,
hemos de admitir que la secuencia de microoperaciones no es fija. Algunas veces
tenemos un ciclo indirecto; otras no. Por tanto, coloquemos nuestras palabras de control
en una memoria, cada palabra en una dirección única. Añadamos ahora un campo de
dirección a cada palabra de control, indicando la posición de la siguiente palabra de
control a ejecutar si una determinada condición es cierta (por ejemplo, que el bit de
direccionamiento indirecto de una instrucción que referencia la memoria sea uno). Y
añadamos además algunos bits para especificar la condición.
2
Entonces durante un pulso del reloj la unidad de control realiza las siguientes
operaciones:
1. Para ejecutar una instrucción, la unidad lógica de secuenciamiento emite una
orden de lectura a la memoria de control.
2. La palabra cuya dirección se especifica en el registro de dirección de control se
lee en el registro intermedio de control.
3. El registro de control genera las señales de control y la información de dirección
siguiente para la unidad lógica de secuenciamiento.
4. La unidad lógica de secuenciamiento carga en el registro de dirección de control
una nueva dirección, basada en la información de dirección siguiente del registro
intermedio de control y en los indicadores de la ALU.
3
• Saltar a la rutina de una instrucción maquina: se carga el registro de dirección
de control en función del código de operación almacenado en IR.
Ventajas e Inconvenientes
La ventaja principal que aporta el uso de la microprogramación para implementar una
unidad de control es que simplifica su diseño. Por consiguiente, su implementación
resulta más barata y menos propensa a errores. Una unidad de control cableada
contendrá lógica compleja para hacer el secuenciamiento a través de las muchas
microoperaciones del ciclo de instrucción. Por otra parte, los decodificadores y la unidad
lógica de secuenciamiento de una unidad de control microprogramada son elementos
lógicos muy sencillos.
El principal inconveniente de una unidad microprogramada es que será algo más lenta
que una unidad cableada de tecnología comparable. A pesar de ello, la
microprogramación es la técnica dominante en las arquitecturas CISC puras. Mientras
que, los procesadores RISC, dado que tienen un formato de instrucción más sencillo,
normalmente emplean unidades cableadas.
Secuenciamiento de Microinstrucciones
Cuando se ejecuta un microprograma, la dirección de la siguiente microinstrucción a
ejecutar esta en una de estas situaciones:
• Viene determinada por el registro de instrucción: esto tiene lugar solo una vez
por ciclo de instrucción.
4
• Es la siguiente dirección secuencial: es la más común.
• Es el destino de un salto: pueden ser condicionales o incondicionales.
Las secuencias suelen ser cortas, una de cada tres o cuatro podría ser un salto.
Técnicas de secuenciamiento
Existen dos grandes grupos de técnicas:
Microinstrucción vertical
Como vimos antes, cada bit de una microinstrucción producía directamente una señal
de control o un bit de la dirección siguiente. Se pueden ahorrar bits de la palabra de
control codificando la información de control , y decodificándola más tarde para producir
las señales de control.
5
Algunas de las diferencias entre microinstrucción vertical y horizontal:
6
Ejemplos de Microinstrucciones
7
BIBLIOGRAFIAS
“Organización y arquitectura de computadoras” – William Stallings
8
ARQUITECTURA DE COMPUTADORAS
IMPLEMENTACIÓN DE LA
UNIDAD DE CONTROL
Alumno: Sosa Ignacio
Profesor de Cátedra: Benítez Juan
Matrícula: 67514
2° Ing. Informática
TIPOS DE IMPLEMENTACIÓN
Las diversas técnicas de implementación de una unidad de control pueden dividirse en dos grandes
grupos:
• Implementación Cableada
• Implementación Microprogramada
IMPLEMENTACIÓN CABLEADA
En una implementación cableada, la unidad de control es esencialmente un circuito combinacional. Sus
señales lógicas de entrada se transforman en un conjunto de señales lógicas de salida, que son las señales
de control. Las entradas principales son:
• Reloj.
• Indicadores.
• Señales de Bus.
CONTROL MICROPROGRAMADO
Una alternativa muy utilizada por procesadores CISC. Cada microperación esta descrita en
notación simbólica, donde cada línea describe un conjunto de instrucciones que suceden a la
vez. Por cada microperación la unidad de control puede generar un conjunto de señales de
control, por tanto las instrucciones se representaría mediante un patrón diferente de unos y
ceros en la palabra de control.
FUNCIONAMIENTO
TIPOS DE MICROINSTRUCCIONES
• Viene determinada por el registro de instrucción: esto tiene lugar solo una vez por ciclo de
instrucción.
• Salto Incondicional.
• Salto Condicional.
TÉCINAS DE SECUENCIAMIENTO
IMPLÍCITAS
• Traducción.
• Adición.
• Control Residual.
EJEMPLOS DE MICROINSTRUCCIONES
EJEMPLOS DE MICROINSTRUCCIONES
LENGUAJE DE MÁQUINA
El funcionamiento del procesador está determinado por las instrucciones que ejecuta.
Estas instrucciones se denominan instrucciones máquina o instrucciones del
computador. Al conjunto de instrucciones distintas que puede ejecutar el procesador se
denomina repertorio de instrucciones del procesador.
Registro del procesador: salvo raras excepciones, un procesador contiene uno o más
registros que pueden ser referenciados por instrucciones máquina. Si solo existe un
registro, la referencia a él puede ser implícita. Si existe más de uno, cada registro tendrá
asignado un número único y la instrucción debe contener el número del registro
deseado.
REPRESENTACIÓN DE INSTRUCCIONES
Dentro del computador, cada instrucción se representa por una secuencia de bits.
Durante su ejecución, la instrucción se escribe en un registro de instrucción (IR) del
procesador. El procesador debe ser capaz de extraer los datos de los distintos campos de
la instrucción para realizar la operación requerida.
Es difícil, tanto para los programadores como para los lectores de un libro de texto,
manejar las representaciones binarias de las instrucciones máquina. Por ello, es una
práctica común utilizar representaciones simbólicas de las instrucciones máquina.
• ADD Sumar
• SUB Restar
• MPY Multiplicar
• DIV Dividir
• LOAD Cargar datos de memoria
• STOR Almacenar datos en memoria (memorizar)
X= 513
Y= 514
Z= 515
Las instrucciones lógicas (“booleanas”) operan con los bits de una palabra en lugar de
considerarlos como números, proporcionando por tanto capacidad para el procesamiento
de cualquier otro tipo de datos que el usuario quiera emplear. Estas operaciones se
realizan principalmente con datos en registros del procesador. Por lo tanto, debe haber
instrucciones de memoria para transferir los datos entre la memoria y los registros.
NÚMERO DE DIRECCIONES
Las instrucciones aritméticas y lógicas son las que requieren más operandos.
Prácticamente todas las operaciones aritméticas y lógicas son o bien unarias (un
operando) o binarias (dos operandos). Así pues, necesitaríamos un máximo de dos
direcciones para referenciar operandos. El resultado de una operación debe
almacenarse, lo que sugiere una tercera dirección.
Esto implica que una instrucción incluye cuatro referencias a direcciones: dos
operandos, un resultado y la dirección de la instrucción siguiente.
Sin embargo, es muy raro encontrar instrucciones que contengan cuatro direcciones. La
mayoría de las instrucciones tienen una, dos o tres direcciones, estando implícita la
dirección de la instrucción siguiente.
Aquí, compara instrucciones típicas de una, dos y tres direcciones, que podrían
utilizarse para calcular Y = (A - B) / [(C + D * (E)]. Con tres direcciones, cada
instrucción especifica dos posiciones de operandos y la posición del resultado. Dado
que no queremos alterar el valor de ninguna posición de operando, se utiliza una
posición temporal “T”, para almacenar resultados intermedios. (Observe que hay
cuatro instrucciones y que la expresión original tenía cinco operandos.)
Las instrucciones con tres direcciones no son comunes ya que requieren formatos
relativamente largos para albergar las tres referencias.
Con instrucciones de dos direcciones, para operaciones binarias una de las direcciones
debe hacer el servicio doble de uno de los operandos y del resultado. Así pues, la
instrucción «SUB Y»: B realiza el cálculo Y - B y guarda el resultado en Y. El formato
de dos direcciones reduce el espacio necesario, pero resulta engorroso.
Para evitar que se altere el valor de un operando se utiliza una instrucción «MOVE»
para transferir uno de los valores a una posición temporal o de resultados, antes de
realizar el cálculo. Nuestro programa ejemplo se amplía a seis instrucciones.
La instrucción de una sola dirección es aún más simple. Para que funcione, una
segunda dirección debe estar implícita. Esto fue lo usual en las primeras máquinas,
en las que la dirección implícita era un registro del procesador conocido como
acumulador (AC). El acumulador contiene uno de los operandos y se emplea para
almacenar el resultado. En nuestro ejemplo se necesitarían ocho instrucciones para
realizar la tarea.
La Tabla 10.1, por ej., resume posibles interpretaciones a considerar para las
instrucciones de cero, una, dos, o tres direcciones. En todos los casos se supone que la
dirección de la siguiente instrucción está implícita, y que se va a realizar una operación
con dos operandos origen y un resultado.
El número de direcciones por instrucción es una decisión básica de diseño. Menos
direcciones por instrucción significa instrucciones más primarias, lo que requiere un
procesador menos complejo. También da lugar a instrucciones más cortas.
Por otra parte, los programas contienen más instrucciones, lo que normalmente supone
mayor tiempo de ejecución y programas más largos y complejos.
Por razones de flexibilidad y facilidad para utilizar varios registros, la mayoría de las
máquinas contemporáneas emplean una combinación de instrucciones de dos y de tres
direcciones.
Las decisiones de diseño asociadas con la elección del número de direcciones por
instrucción son complicadas debido a otros factores.
TIPOS DE OPERANDOS
NÚMEROS
En primer lugar: hay un límite para la magnitud de los números representables en una
máquina.
CARACTERES
Por lo tanto, se han ideado diversos códigos que permiten representar caracteres
mediante secuencias de bits. Tal vez el primer ejemplo fue el código Morse. Hoy en
Cada carácter es representado en este código por un patrón distinto de 7 bits, en el que
pueden representarse 128 caracteres diferentes. Este número es mayor que el necesario
para representar los caracteres impresos, utilizándose algunos de los patrones para
representar caracteres de control.
En el segundo caso, el valor del bit se pone de manera que el número total de unos en
cada octeto sea o siempre impar (paridad impar) o siempre par (paridad par).
DATOS LÓGICOS
Normalmente, cada palabra o cualquier otra unidad direccionable (byte, media palabra,
etc.) es tratada como una unidad de datos individual. Sin embargo, a veces es útil
considerar una unidad de n bits como n elementos o datos de un bit, donde cada
elemento tiene un valor 1 o 0. Cuando los datos son vistos de esta manera, se consideran
datos lógicos.
En conclusión: Los mismos datos son unas veces tratados como datos lógicos,
numéricos o como caracteres. El tipo de una unidad de datos viene determinado por la
operación que se esté realizando con ella. Aunque esto no sea lo normal con los
lenguajes de alto nivel, es casi siempre así en el caso de lenguajes máquina.
LENGUAJE ENSAMBLADOR
Un procesador puede interpretar y ejecutar instrucciones máquina. Estas
instrucciones son simplemente números binarios almacenados en el computador.
Si un programador quisiera programar directamente en lenguaje máquina, necesitaría
introducir los programas como datos binarios.
N=I+J+K
El programa se escribiría mediante una serie de líneas, en la que cada línea contiene la
dirección de una posición de memoria y el código hexadecimal del valor binario a
memorizar en tal posición. Necesitamos entonces un programa que acepte esta entrada,
traduzca cada línea a un número binario y lo almacene en la posición especificada.
Para que la mejora sea más significativa, podemos hacer uso de nombres simbólicos o
nemotécnicos de las instrucciones. Eso nos da como resultado un programa simbólico,
donde cada línea sigue representando una posición de memoria y consta de tres
campos separados por espacios.
Para memorizar un dato concreto en una posición dada, nos inventamos una pseudo-
instrucción con el símbolo DAT. Esta es meramente un indicador de que el tercer
campo de la línea contiene un número hexadecimal a memorizar en la posición que
especifica el primer campo.
El programa aceptaría como entrada cada línea, generaría un número binario basándose
en los campos segundo y tercero (si lo hay), y lo memorizaría en la posición indicada
por el primer campo.
El uso de programas simbólicos hace la vida mucho más fácil, pero es aún engorroso.
En particular, hay que dar una dirección absoluta para cada palabra. Esto significa que
el programa y los datos solo pueden cargarse en posiciones concretas de memoria, y
que debemos saber siempre cuáles son.
Para las instrucciones que hacen referencia a memoria, el tercer campo contiene
también una dirección simbólica.
Aunque son pocos los programadores que lo utilicen, prácticamente todos los
procesadores disponen de lenguajes ensambladores. Se utilizan para programas del
sistema tales como compiladores y rutinas de E/S.
ASSEMBLER MSX88
El MSX88 es una herramienta que los profesores pueden utilizarla como recurso
didáctico en combinación con transparencias y proyectores de video.
CPU SX88
PANTALLAS Y CONFIGURACIONES
Las distintas formas de conectar el conjunto CPU-Memoria con los periféricos,
determinan las diferentes configuraciones posibles en MSX88. A su vez, cada uno de
éstos modos de conexionado, se muestra al usuario a través de dos pantallas: Pantalla 0
y Pantalla 1.
MODOS DE FUNCIONAMIENTO
La arquitectura de esta CPU pretende ser una simplificación de la del 8088, siendo sus
rasgos arquitecturales más destacados los siguientes:
http://163.10.22.92//catedras/organiza/2003/ursi1994.htm
Modem MC'97
USB 8 ports
I/O device
I/O device
I/O Hub
DRAM
DRAM
Core Core
DRAM A B
DRAM
Core Core
C D
I/O device
I/O device
I/O Hub
Packets
Protocol Protocol
Routing Routing
Flits
Link Link
COMPONENT A
Intel QuickPath Interconnect Port
Rcv Clk
Fwd Clk
Fwd Clk
Rcv Clk
QPI
#2n+1 #n+1 #1
lane 0
QPI
#3n #2n #n
lane 19
Figure 3.23 QPI Multilane Distribution
} LA capa de enlace o LINK es la responsable de
la transmisión y del control de flujo en la
transferencia de información de un punto al
otro.
} Cuenta con una unidad de transferencia de
80bits denominada FLIT (Flow control Unit)
} La capa de LINK tiene dos funciones
principales:
◦ Control de Flujo
◦ Control de Errores
} Cada Flit (80 bits) estará compuesto por
72bits de información, mensaje o payload y 8
bits de CRC, código de corrección de errores
I/O device
I/O device
I/O Hub
DRAM
DRAM
Core Core
DRAM A B
DRAM
Core Core
C D
I/O device
I/O device
I/O Hub
BUS UNICO
Implica que un conjunto específico de cables o conexiones
está reservado exclusivamente para la comunicación entre
dos componentes o dispositivos. Esto significa que no se
comparte con otros dispositivos, y su función está dedicada
a la comunicación entre estos componentes específicos.
BUS
DEDICADO
PCI (Peripheral Component Interconnect)
TIPOS DE BUSES PCIe (PCI Express)
DE
HyperTransport
INTERCONEXION
QPI (QuickPath Interconnect)
Infinity Fabric
NVlink
Las tecnologías Hypertransport y QPI son sistemas de
conexión punto a punto y no buses como tal, es decir,
mientras que un bus de interconexión implica compartir un
medio de comunicación entre varios dispositivos, la
conexión punto a punto es la comunicación directa entre
dos dispositivos específicos.
CONEXIONES Debido a las limitaciones electrónicas y eléctricas de los
PUNTO A PUNTO buses, es que se decidió implementar los sistemas de
conexión punto a punto
Entrada
CPU
y Salida
• Es una tecnología de comunicaciones bidireccional, que funciona
tanto en serie como en paralelo desarrollado por AMD. Se utiliza
para conectar la CPU con otros componentes del sistema, como la
HyperTransport memoria y otros procesadores en sistemas multiprocesador.
HyperTransport es un bus avanzado de alta velocidad y rendimiento.
CONFIGURACIONES CONFIGURACIONES
Y PARTES
1. Alta velocidad de transferencia: HyperTransport fue diseñado para proporcionar
velocidades de transferencia de datos muy rápidas entre los componentes del
sistema.
2. Escalabilidad: HyperTransport es escalable y permite la conexión de múltiples
componentes, incluyendo procesadores, controladores de memoria y otros
dispositivos.
VENTAJAS 3. Bajo consumo de energía: HyperTransport tiende a consumir menos energía, lo que
puede ser beneficioso para sistemas que requieren eficiencia energética.
Y
1. Obsolescencia: HyperTransport ha quedado en gran medida obsoleto en sistemas
DESVENTAJAS de consumo y servidores modernos.
2. Costo: Los sistemas que utilizan procesadores con QPI pueden ser más caros en
comparación con sistemas que utilizan tecnologías de interconexión alternativas.
BUS
DEDICADO
Un bus de interconexión es un sistema de comunicación que
permite la transferencia de datos entre varios componentes o
dispositivos dentro de un sistema. Los componentes pueden
compartir este bus para comunicarse entre sí.
Su propósito es conectar y permitir la comunicación entre
múltiples componentes o dispositivos en un sistema. Pueden ser
utilizados en una variedad de aplicaciones y son esenciales para
que los componentes se comuniquen entre sí de manera eficiente.
BUS DE
INTERCONEXION
PCI (Peripheral Component Interconnect)
TIPOS DE BUSES PCIe (PCI Express)
DE
HyperTransport
INTERCONEXION
QPI (QuickPath Interconnect)
Infinity Fabric
NVlink
Las tecnologías Hypertransport y QPI son sistemas de
conexión punto a punto y no buses como tal, es decir,
mientras que un bus de interconexión implica compartir un
medio de comunicación entre varios dispositivos, la
conexión punto a punto es la comunicación directa entre
dos dispositivos específicos.
CONEXIONES Debido a las limitaciones electrónicas y eléctricas de los
PUNTO A PUNTO buses, es que se decidió implementar los sistemas de
conexión punto a punto
Entrada
CPU
y Salida
• Es una tecnología de comunicaciones bidireccional, que funciona
tanto en serie como en paralelo desarrollado por AMD. Se utiliza
para conectar la CPU con otros componentes del sistema, como la
HyperTransport memoria y otros procesadores en sistemas multiprocesador.
HyperTransport es un bus avanzado de alta velocidad y rendimiento.
CONFIGURACIONES CONFIGURACIONES
Y PARTES
1. Alta velocidad de transferencia: HyperTransport fue diseñado para proporcionar
velocidades de transferencia de datos muy rápidas entre los componentes del
sistema.
2. Escalabilidad: HyperTransport es escalable y permite la conexión de múltiples
componentes, incluyendo procesadores, controladores de memoria y otros
dispositivos.
VENTAJAS 3. Bajo consumo de energía: HyperTransport tiende a consumir menos energía, lo que
puede ser beneficioso para sistemas que requieren eficiencia energética.
Y
1. Obsolescencia: HyperTransport ha quedado en gran medida obsoleto en sistemas
DESVENTAJAS de consumo y servidores modernos.
2. Costo: Los sistemas que utilizan procesadores con QPI pueden ser más caros en
comparación con sistemas que utilizan tecnologías de interconexión alternativas.
No tan solo se amplió el bus de datos sino que también se amplió el bus de
direcciones, concretamente hasta 24 bits, de manera que este se podía dirigir
al AT con memoria de 16 MB. Además también se aumentó la velocidad de
cada una de las señales de frecuencia, de manera que toda la circulación de
bus se desarrollaba más rápidamente. De 4.77 Mhz en el XT se pasó a 8.33
Mhz. Como consecuencia el bus forma un cuello de botella por el cual no
pueden transferirse nunca los datos entre la memoria y la CPU lo
suficientemente rápido. En los discos duros modernos, por ejemplo, la relación
(ratio) de transferencia de datos ya es superior al ratio del bus.
TIPOS DE BUSES
Bus XT
Características generales:
Bus ISA
BUS PCI
Por lo general, las placas madre cuentan con al menos 3 ó 4 conectores PCI,
identificables generalmente por su color blanco estándar.
La interfaz PCI existe en 32 bits con un conector de 124 clavijas o en 64 bits
con un conector de 188 clavijas. También existen dos niveles de señalización
de voltaje:
• 3,3 V para los ordenadores portátiles
• 5 V para los equipos de escritorio
El voltaje señalizado no es igual al voltaje de la fuente de alimentación de la
placa madre, sino que es el umbral de voltaje necesario para el cifrado digital
de los datos.
Existen 2 tipos de conectores de 32 bits:
• conector PCI de 32 bits, 5 V:
VESA
Bus AGP
El bus AGP (la sigla corresponde a Accelerated Graphics Port que en español
significa puerto de gráficos acelerado) apareció por primera vez en mayo de
1997 para los chipsets Slot One. Luego se lanzó para los chips Super 7, con el
objetivo de administrar los flujos de datos gráficos que se habían vuelto
demasiado grandes como para ser controlados por el Bus PCI. De esta
manera, el bus AGP se conecta directamente al FSB (Front Side Bus [Bus
Frontal]) del procesador y utiliza la misma frecuencia, es decir, un ancho de
banda más elevado.
Bus HyperTransport
Tanto AMD como Intel ofrecen buses de alta velocidad en sus líneas de
servidores. Por ejemplo, AMD cuenta con la tecnología HyperTransport, mientras que
Intel ofrece QuickPath Interconnect (QPI) y Direct Media Interface (DMI).
La implementación de estos buses puede afectar significativamente el
rendimiento del servidor. Por ejemplo, un bus más rápido puede permitir una
transferencia de datos más rápida entre la CPU y la memoria, lo que puede mejorar el
rendimiento general del servidor. Además, un bus más rápido también puede permitir
una mayor escalabilidad en términos de la cantidad de procesadores que se pueden
conectar al servidor.
¿Cuáles son las principales diferencias entre las placas madre AMD y las Intel
para servidores?
Las principales diferencias entre las placas madre AMD e Intel para servidores
radican en la arquitectura de sus procesadores y en la compatibilidad con otros
componentes.
En términos generales, los procesadores Intel suelen tener una mayor frecuencia
de reloj y un menor número de núcleos, lo que los hace más adecuados para cargas de
trabajo de un solo hilo que requieren una alta velocidad de procesamiento. Por otro lado,
los procesadores AMD suelen tener más núcleos y una menor frecuencia de reloj, lo
que los hace más adecuados para cargas de trabajo que requieren un alto rendimiento
en paralelo.
Bibliografía:
https://www.profesionalreview.com/hardware/mejores-placas-base/#%C2%BFAMD_o_Intel
https://gamerpc.es/mejores-cpu-gamer/
https://www.muycomputerpro.com/2023/03/04/los-amd-threadripper-7000-seran-los-
primeros-de-su-clase-en-contar-con-96-nucleos
https://www.profesionalreview.com/amd/amd-ryzen-threadripper-amd-epyc/
https://www.profesionalreview.com/2023/08/31/nvidia-grace-40-mas-rapido-epyc-genoa/
https://elchapuzasinformatico.com/2023/04/epyc-9684x-96-cores-1-gb-cache-l3/
https://www.pagina12.com.ar/486958-asus-vuelve-a-argentina-como-es-la-fabrica-de-10-
millones-
de#:~:text=La%20marca%20de%20computadoras%20ASUS,la%20producci%C3%B3n%20local%
20en%202018.
https://es.digitaltrends.com/computadoras/amd-vs-intel/#dt-heading-computadoras-de-
escritorio
https://normasambientales.com.mx/infoblog/tabla/tabla-comparativa-de-procesadores-
intel-y-amd.html
CONCLUSIONES DE LA MEJOR EXO DEL MERCADO Y UNA DE LAS
VARIANTES QUE OFRECE ASUS
ESTRUCTURAS DE INTERCONEXIÓN
La computadora está constituida por un conjunto de unidades o módulos de tres tipos
elementales los cuales son el procesador CPU, la memoria, y el módulo E/S que se comunican
entre sí. Deben existir líneas para interconectar estos módulos, el cual se llaman estructuras de
interconexión.
El diseño de la estructura depende de los intercambios que se van a dar entre los módulos.
Entradas y Salidas:
Memoria: está constituido por N palabras de la misma longitud. A cada palabra se le asigna una
única dirección numérica (0,1,…,N-1). Una palabra de datos puede leerse de o escribirse en la
memoria. Mediante las señales de control Read (leer) o Write (escribir). La posición de memoria
se indica mediante una dirección.
Palabras significa el conjunto de datos que se está enviando. La cual se asigna una dirección
numérica
Modulo de E/S: es similar a la memoria. Puede controlar mas de un dispositivo externo. Nos
referimos a cada una de estas interfaces con un dispositivo externo con el nombre de puerto
(port), y se le va a asignar una dirección de memoria a cada uno (0,1,…,M-1). Existen líneas
externas de datos para la entrada y salida de datos por un dispositivo externo. Además, el
módulo E/S puede enviar señales de interrupción al procesador.
Procesador: lee instrucciones y datos, escribe datos una vez los ha procesado, y utiliza ciertas
señales para controlar el funcionamiento del sistema. También puede recibir señales de
interrupción. Las interrupciones son representadas con un impulso eléctrico.
Esta estructura debe de dar cobertura a los siguientes tipos de transferencias:
Memoria a E/S y viceversa: un módulo de E/S puede intercambiar datos directamente con la
memoria, sin que tengan que pasar a través del procesador, utilizando el acceso directo de
memoria (DMA)
Las estructuras de interconexión más comunes son, con diferencia, las estructuras de bus y de
buses múltiples.
Las computadoras poseen diferentes tipos de buses que proporcionan comunicación entre sus
componentes a distintos niveles dentro de la jerarquía del sistema. El bus que conecta los
componentes principales del computador se denomina system bus, bus del sistema.
Las líneas de dirección se utilizan para designar el destino del dato situado en el bus de datos, y
generalmente se utilizan para direccionar los puertos de E/S. Usualmente, los bits de orden más
alto se utilizan para seleccionar una posición de memoria o un puerto de E/S dentro de un
módulo. La anchura del bus de direcciones determina la capacidad de memoria posible en el
sistema. Por ejemplo, en un bus de 8 bits, la dirección 01111111 e inferiores harían referencia a
posiciones dentro de un módulo de memoria (el módulo 0) con 128 palabras de memoria, y las
direcciones 10000000 y superiores designarían dispositivos conectados a un módulo de E/S
(módulo 1)
Las líneas de control como indica el nombre, nos ayudan a controlar el acceso y uso de las líneas
anteriores (las líneas de datos y de dirección). Como ambas líneas son compartidas por todos los
componentes, hay que controlar su uso. Las señales de control transmiten tanto órdenes como
información de temporización entre los módulos del sistema. Las señales de temporización
indican la validez de los datos y las direcciones. Las señales de ordenes significan las operaciones
a realizar. Algunas líneas de control típicas son:
• Escritura en memoria (Memory write): hace que el dato del bus se escriba en la posición
direccionada.
• Lectura de memoria (Memory read): hace que el dato de la posición direccionada se sitúe
en el bus.
• Escritura de E/S (I/O write): hace que el dato del bus se transfiera a través del puerto de E/S
direccionado.
• Lectura de E/S (E/S read): hace que el dato del puerto de E/S direccionado se sitúe en el bus.
• Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado
en el bus.
• Petición de bus (Bus request): indica que un módulo necesita disponer del control del bus.
• Cesión de bus (Bus grant): indica que se cede el control del bus a un módulo que lo había
solicitado
• Petición de interrupción (Interrupt request): indica si hay una interrupción pendiente.
• Interrupción reconocida (Interrupt ACK): Señala que la interrupción pendiente se ha
aceptado.
• Reloj (clock): se utiliza para sincronizar las operaciones.
• Inicio (reset): pone los módulos conectados en su estado inicial.
En términos físicos, el bus de sistema está hecho por un conjunto de conductores eléctricos
paralelos. Estos conductores son líneas de metal grabadas en una tarjeta (tarjeta de circuito
impreso). El bus se extiende a través de todos los componentes del sistema, cada uno de los
cuales se conecta a algunas o a todas las líneas del bus.
Los sistemas actuales tienden a tener sus componentes principales en la misma tarjeta y los
circuitos integrados incluyen mas elementos. Así, el bus que conecta el procesador y la
memoria caché se integra en el microprocesador junto con el procesador y la caché (on-chip),
y el bus que conecta el procesador con la memoria y otros componentes se incluye en la tarjeta
(on-board).
Es posible conectar controladores de E/S directamente al bus de sistema. Una solución más
eficiente consiste en utilizar uno o más buses de expansión. La interfaz del bus de expansión
regula las transferencias de datos entre el bus de sistema y los controladores conectados al bus
de expansión. Esta disposición permite conectar al sistema una amplia variedad de dispositivos
de E/S y al mismo tiempo aislar el tráfico de información entre la memoria y el procesador del
tráfico correspondiente a las E/S.
La ventaja es que el bus de alta velocidad acerca al procesador los dispositivos que exigen
prestaciones elevadas y al mismo tiempo es independiente al procesador. Se pueden tolerar las
diferencias de velocidad entre el procesador y el bus de altas prestaciones. Los cambios en la
arquitectura del procesador no afectan al bus de alta velocidad.
Bus de expansión: se conectan los periféricos como tarjetas gráficas, discos duros.
Síncrona: todos los eventos en el bus están sincronizados por un reloj. El bus tiene una línea de
reloj que transmite una secuencia de ciclos de reloj alternando entre uno y cero. Se coordinan
los eventos en el bus, para que las operaciones se realicen de manera sincronizada.
Asíncrona: los eventos en el bus no dependen de una señal de clock común. En cambio, los
eventos se desencadenan en respuesta a eventos previos y pueden ocurrir de manera síncrona
en relación con otros componentes del sistema. Permite coordinación de eventos, pero es más
complejo de diseñar y pueden surgir conflictos si no hay una buena coordinación.
Entre las dos temporizaciones, la síncrona es más fácil de implementar y comprobar, pero es
menos flexible que la temporización asíncrona. Esto es porque todos los dispositivos en un bus
síncrono deben utilizar la misma frecuencia de clock. Y es más flexible con la asíncrona porque
pueden compartir el bus una mezcla de dispositivos lentos y rápidos.
Ilustración 3: Operaciones de bus Síncronas
Anchura del bus: la anchura el bus de datos afecta a las prestaciones del sistema. Cuanto más
ancho es el bus de datos, mayor es la capacidad con respecto a los números de bits que
transmiten a la vez. Ej: cuanto más ancho el bus de direcciones, mayor es el rango de posiciones
a las que se puede hacer referencia.
Algunos buses permiten la transferencia de bloques de datos. Para este caso, un ciclo de
dirección viene seguido por n ciclos de datos. El primer dato se transfiere a o desde la dirección
específica. Es un conjunto de datos contiguos, bloque de datos desde una dirección a otra. Es
lento y no muy eficiente debido a que se mueven los datos uno por uno, es decir, byte por byte.
TEMA: BUSES DE
INTERCONEXIÓN
Entradas y Salidas:
• Memoria
• E/S
• Procesador (CPU)
ESTRUCTURAS Tipos de Transferencia:
DE • Memoria a procesador
INTERCONEXIÓN
• Procesador a memoria
• E/S a un procesador
• Procesador a E/S
• Memoria a E/S y viceversa
¿Qué es un bus?
• Es un camino de comunicación entre dos o mas dispositivos.
• Está constituido por líneas, la cual pueden representar señales
binarias.
• Varias líneas pueden transmitir dígitos binarios simultáneamente
INTERCONEXION (en paralelo)
CON BUSES • El bus principal se denomina system bus, bus del sistema.
• Está hecho por conductores eléctricos en paralelo.
• Los conductores son líneas de metal grabadas en una tarjeta
(tarjeta de circuito impreso)
Bus del Sistema
• Líneas de datos: un medio de transmisión de datos entre los
módulos del sistema.
• Líneas de dirección: se utilizan para designar el destino del dato
situado en el bus de datos.
• Líneas de control: nos ayudan a controlar el acceso y el uso de las
líneas anteriores.
Estructura del Bus
Líneas de control. Algunas líneas típicas:
• Escritura en memoria (Memory Write)
• Lectura de memoria (Memory Read)
• Escritura de E/S (I/O Write)
• Lectura de E/S (I/O Read)
• Petición de bus (Bus Request)
Bus tradicional
JERARQUIA DE
BUSES
ELEMENTOS DE
UN DISEÑO DE
BUS
MEMORIA INTERNA Y
EXTERNA
1
Objetivo
¡ Mucha memoria
¡ Rápida
¡ Barata!
IMPOSIBLE!!!
JERARQUIA
PARALELISMO
Principio de Localidad:
¡ Los programas acceden una porción relativamente pequeña
del espacio de direcciones en un determinado instante de
tiempo.
¡ Se aplica también al acceso a datos (en menor %)
Localidad temporal
¡ Si un ítem es referenciado, tenderá a ser referenciado
nuevamente a la brevedad
Localidad Espacial
¡ Si un ítem es referenciado, los ítems con direcciones
“cercanas” tenderán a ser referenciados a la brevedad
Tiempo de Acceso
¡ Tiempo transcurrido entre presencia de direcciones y obtención de datos válidos
Tasa de Transferencia
¡ Tasa a la que se mueven los datos
Ejemplo:
¡ Acceso a DRAM del orden de 50 ns
¡ Estos tiempos no incluyen la demora en manejar el bus de direcciones y el
overhead del controlador de memoria
÷ Manejo de DRAMs en paralelo, controlador de memoria externa, bus, módulos
SIMMs …
¡ Tiempos de latencia del procesador a la memoria del orden de 100ms para DRAM
de “50 ns”
Tamaño de la mem
Función de correspondencia (mapping function)
¡ Directa
¡ Asociativa
¡ Asociativa por conjuntos
Algoritmo de sustitución
¡ Utilizado menos reciente (LRU)
¡ FIFO
¡ Utilizado menos frecuentemente LFU
Política de escritura
¡ Escritura inmediata
¡ Post escritura
¡ Escritura única
Tamaño de línea
Numero de caches
¡ Uno o dos niveles
¡ Unificada o partida
i=j modulo m
¡ i línea del cache
Direcciones
¡ (s + w) bits
Unidades direccionables
¡ 2s+w words o bytes
Tamaño del bloque = tamaño de línea
¡ 2w words o bytes
Cantidad de bloques en memoria principal
¡ 2s+ w/2w = 2s
Cantidad de líneas del cache
¡ m = 2r
Tamaño del tag
¡ (s – r) bits
Ejemplo
¡ Tag de 22 bits almacenada con cada bloque de datos de 32 bits
Direcciones = (s + w) bits
Unidades direccionables = 2s+w words o bytes
Tamaño bloque = tamaño de línea = 2w words o
bytes
Cantidad de bloques en memoria principal = 2s+ w/
2w = 2s
Cantidad de líneas del cache = indeterminado
Tamaño del tag = s bits
Donde
¡ m = V x K
¡ i = j modulo V
¡ i = numero de conjunto de cache
¡ j = numero de bloque de memoria principal
¡ m = numero de líneas de la cache
Dirección = (s + w) bits
Unidades direccionables = 2s+w words o bytes
Tamaño bloque = tamaño línea = 2w words o bytes
Cantidad de bloques en memoria principal = 2d
Cantidad de líneas en conjunto = k
Cantidad de conjuntos = v = 2d
Cantidad de líneas en cache = kv = k * 2d
Tamaño del tag = (s – d) bits
Posibles conflictos
¡ En sistemas con múltiples CPUs, estos pueden tener caches
individuales
¡ E/S puede acceder a memoria directamente
Problemas
¡ Sincronismo con otros caches
¡ E/S debe acceder a memoria principal usando el cache
÷ Cuello de botella potencial
Experiencia
¡ 15% de referencias a memoria son escrituras
Cachés multinivel
¡ Inicialmente se utilizaba una sola cache off-chip
¡ Con el avance de la microelectrónica se reemplazo por una on-
chip (cache L1)
¡ Se planteo la necesidad de seguir utilizando una memoria
cache off-chip (L2)para adecuar la velocidad del bus interno
con el externo del microprocesador.
¡ No se suele utilizar el bus general para conectar uP con L2
¡ Hoy en día la cache L2 se suele ubicar on-chip
¡ Con la gran mejora de la microelectrónica y la disponibilidad
de superficie en la pastilla del uP, los uP modernos incorporan
un tercer nivel de cache L3 on-chip el cual se conecta al
motherboard a través de un bus externo
Discos ópticos
¡ CD-R W(700MB)
¡ DVD-R W( 4,7GB)
¡ DVD-DL (8,5GB)
¡ BR-Disc ( 25GB)
¡ BR-DL (50GB )
Cintas Magnéticas
¡ Son cintas de poliéster recubiertas con material magnetizable
¡ Están divididas en pistas longitudinales y sectores.
¡ Las primeras cintas tenían 8 pistas de datos y 1 de paridad
¡ Hoy tienen de 18 a 36 pistas
¡ Length 150m
Application programs
Application
programming interface
Application Libraries/utilities Software
binary interface
Operating system
Instruction set
architecture
Execution hardware
Memory
System interconnect translation Hardware
(bus)
I/O devices
Main
and
memory
networking
COMODIDAD
EFICIENCIA
CREACION DE PROGRAMAS
EJECUCION DE PROGRAMAS
ACCESO A DISPOSITIVOS DE E/S
ACCESO CONTROLADO A LOS FICHEROS
ACCESO AL SISTEMA
DETECCION DE ERRORES
GESTION DE CUENTAS
DE COLA
INTERACTIVOS
MONOPROGRAMACION
MULTIPROGRAMACION
Time
(a) Uniprogramming
Program
Ing. B Benitez
Juan de Dios Wait Run Wait Run Wait
274 CHAPTER 8 / OPERATING SYSTEM SUPPORT
MULTIPROGRAMACION
Program A Run Wait Run Wait
Time
(a) Uniprogramming
77
UN PROGRAMA EN EJECUCION
ENTIDAD A LA QUE SE LE ASIGNA PROCESADOR
A LARGO PLAZO
A MEDIO PLAZO
A CORTO PLAZO
Dispatch
Admit Release
New Ready Running Exit
Timeout
Event
occurs Event
wait
Blocked
A CORTO PLAZO
SCHEDULING TECHNIQUES To understand how the OS manages the scheduling of the
various jobs in memory, let us begin by considering the simple example in Figure 8.9.
The figure shows how main memory is partitioned at a given point in time. The
kernel of the OS is, of course, always resident. In addition, there are a number of
active processes, including A and B, each of which is allocated a portion of memory.
82
A A A
"Running" "Waiting" "Waiting"
In
control
B B B
"Ready" "Ready" "Running"
In
control
Long-term Short-term
queue queue
Admit End
Processor
I/O 1
Occurs
I/O 1 Queue
I/O 2
Occurs
I/O 2 Queue
I/O n
Occurs
I/O n Queue
Disk storage
Main
memory
Intermediate
queue Operating
system
Completed jobs
Long-term and user sessions
queue
(b) Swapping
Ing. Juan de Dios Benitez
Figure 8.12 The Use of Swapping
PARTICIONES
86
2M
8M 4M
6M
8M
8M
8M
8M
8M
12M
8M
8M
16M
8M
Ing. Juan de Dios Benitez partition. For example, a process that requires 3M bytes of memory would be placed
in the 4M partition of Figure 8.13b, wasting 1M that could be used by another process.
A more efficient approach is to use variable-size partitions. When a process is
TAMAÑO VARIABLE
88
36M
Process 3 18M
22M
4M
4M
Process 2 14M
Process 1 20M Process 1 20M 20M
6M
Process 4 8M Process 4 8M Process 4 8M
14M
6M 6M 6M
4M 4M 4M 4M
Page 1
Process A 13 Process A 13 of A
Page 0 Page 0
Page 1 Page 1 Page 2
14 14 of A
Page 2 Page 2
Page 3 Page 3
Page 3
15 15 of A
In In
16 use 16 use
Free frame list Free frame list
13 In 20 In
17 use 17 use
14
15 Process A
18 page table Page 0
18 18 of A
20
18
In 13 In
19 use 19 use
14
15
20 20
TABLAS DE PAGINA
Page 1
13
of A
16
18
17
13
14 Page 0
18
of A
15
Process A
page table
Logical address
Segment Offset
Linear address
! Dir Page Offset
Physical
! address
Segment
table
Page Page
directory table
Main memory
Segmentation Paging
¡ 5 bits de offset
Memoria interna y
externa
GRUPO N° 3
Características de los sistemas de memoria
GRUPO N° 3
Ubicación
GRUPO N° 3
Capacidad de la memoria
Prefijos SI
Esto hace una referencia a la cantidad de
información que se puede almacenar.
La unidad utilizada es el byte (1 byte = 8
bits), y a la hora de indicar la capacidad,
se utilizan diferentes prefijos, que
representan múltiplos de bytes, estos
prefijos corresponden siempre a
potencias de 10.
Prefijos IEC
En informática, la capacidad se indica en
múltiplos que sean potencias de 2, se
utilizan prefijos definidos por la
International Electrotechnical Comission
(IEC). Aquí los nombres se han creado
añadiendo el termino binario a los
prefijos SI.
GRUPO N° 3
Capacidad de la memoria
GRUPO N° 3
Unidad de transferencia
GRUPO N° 3
Método de acceso
Acceso secuencial: se organiza en registros, el acceso se realiza con una secuencia
lineal especifica. Utiliza un mecanismo de lectura/escritura compartida que debe ir
moviéndose desde su posición actual a la deseada.
Acceso directo: tiene asociado un mecanismo de lectura/escritura. A diferencia
del secuencial, los registros tienen una dirección única, el acceso se lleva a cabo
de un acceso directo a alguna vecindad dada para luego hacer una búsqueda
secuencial. .
Acceso aleatorio: cada posición direccionable de memoria
tiene un único mecanismo de acceso cableado físicamente. El
tiempo para acceder a una posición es constante e
independiente de la secuencia de accesos previos, ósea que
cualquier posición puede ser seleccionada y direccionada
directamente.
Asociativa: compara ciertas posiciones de bits dentro de una palabra
buscando que coincidan con unos valores dados.
GRUPO N° 3
Prestaciones
Tiempo de acceso (latencia): para las RAM es tiempo que tarda en hacer una
operación de escritura/lectura. Para las otras memorias es lo que tarda en situar
el mecanismo de lectura/escritura en la posición deseada.
Tiempo de ciclo de memoria: consiste en el tiempo de acceso y algún tiempo más,
antes de que pueda iniciarse un segundo acceso a memoria. El tiempo de ciclo de
memoria depende de las características del bus del sistema y no del procesador.
GRUPO N° 3
Soportes físicos
GRUPO N° 3
Jerarquía de Memoria
En la fabricación de una memoria pueden surgir las siguientes 3
cuestiones:
• ¿Cuánta capacidad?
• ¿Cómo de rápida?
• ¿De qué coste?
GRUPO N° 3
Jerarquía de Memoria
La solución fue una pirámide jerárquica:
• Disminuye la frecuencia de
acceso a la memoria por parte
del procesador.
Jerarquía de Memoria
Principio de localidad de las referencias
Los programas normalmente contienen un numero de bucles iterativos
y subrutinas, que generan referencias a datos o instrucciones que se
almacenan en la memoria cache. Esto genera una localidad espacial y
temporal de las referencias.
Localidad espacial: Cuando un programa accede a una instrucción o
dato, existe una elevada probabilidad de que instrucciones o datos
cercanos sean accedidos pronto.
Localidad temporal: Cuando un programa accede a una instrucción o un
dato, existe una elevada probabilidad de que esa misma instrucción o
dato vuelva a ser accedida pronto. Estas son mandadas al nivel 1, de
vez en cuando, estas agrupaciones tendrán que ser devueltas al nivel 2,
para dejar sitio a nuevas agrupaciones.
Jerarquía de Memoria
GRUPO N° 3
Memorias Semiconductoras
GRUPO N° 3
Memorias Semiconductoras Volátiles
SRAM DRAM
GRUPO N° 3
Memorias Semiconductoras Volátiles
GRUPO N° 3
Memorias Semiconductoras Volátiles
GRUPO N° 3
Memorias Semiconductoras Volátiles
DDR SDRAM: Es una familia de memorias RAM que tiene una interfaz
sincrónica, estas tienen un encapsulamiento de tipo DIMM.
De las primeras tecnologías en implementar Dual Channel.
GRUPO N° 3
Memorias Semiconductoras Volátiles
¿Dual Channel?
¿Qué significa que una RAM trabaja a
varios canales?
• Single Channel
• Dual Channel
• Triple Channel
• Quad Channel
GRUPO N° 3
Memorias Semiconductoras Volátiles
GRUPO N° 3
Memorias Semiconductoras Volátiles
GRUPO N° 3
Memorias Semiconductoras Volátiles
GRUPO N° 3
Memorias Semiconductoras Volátiles
Los módulos DDR5 mantienen los 288 pines (conectores)
de la generación anterior.
GRUPO N° 3
Memorias Semiconductoras No Volátiles
Memoria flash
GRUPO N° 3
Memorias Semiconductoras No Volátiles
Quemador:
GRUPO N° 3
¡Gracias!
GRUPO N° 3
MLC
sistemas de
memoria
de multinivel
Son una tecnología de almacenamiento que utiliza múltiples niveles de celdas de memoria para
aumentar la capacidad de almacenamiento y, a menudo, reducir el costo por bit en comparación
con las memorias tradicionales de un solo nivel.
celda de un solo nivel (SLC)
celda de doble nivel (DLC)
celdas de triple nivel (TLC)
celdas de cuatro niveles (QLC)
ventajas desventajas
Funcionamient
o
Un disco magnético es un plato circular construido con un material
no magnético, llamado sustrato, cubierto por un material
magnetizable.
DISCOS
MAGNÉTICOS
Los
mecanismos
de lectura y
escritura
magnética
En la escritura, un flujo eléctrico a través de la cabeza de escritura
crea un campo magnético que graba patrones magnéticos en la
superficie del disco, con patrones diferentes para corrientes
positivas y negativas. La cabeza de lectura también tiene una
forma especial y está hecha de un material fácilmente
magnetizable. Una corriente eléctrica en la cabeza de lectura
induce un campo magnético a lo largo de un agujero en su
estructura, magnetizando una pequeña área del medio de
grabación. Cambiar la dirección de la corriente cambia la dirección
de magnetización en el medio de grabación.
La lectura se basa en que un campo magnético en movimiento
respecto a una bobina induce una corriente eléctrica en la bobina.
Cuando la superficie del disco pasa bajo la cabeza de lectura, se
genera una corriente de la misma polaridad que la que se utilizó en
la grabación magnética. En dispositivos antiguos, la misma cabeza
se utiliza para ambas operaciones.
ORGANIZACI
ÓN Y
FORMATO DE
LOS DATOS
CARACTERÍST
ICAS FÍSICAS
Un SSD es un dispositivo de almacenamiento de datos que utiliza
memoria flash NAND para guardar información de manera no
volátil. A diferencia de los discos duros tradicionales (HDD) que
utilizan discos magnéticos giratorios, los SSD no tienen partes
móviles, lo que los hace más rápidos, confiables y eficientes en
términos de energía.
Solid-State
Drive, unidad
de estado
sólido
Memoria Controlad Algoritmo
Flash or s de
Funcionamient
o de un SSD: NAND administra
ción de
datos
Velocidad Los SSD son significativamente más
rápidos que los HDD en términos de
lectura y escritura de datos. Esto se
traduce en un inicio más rápido del
sistema operativo, tiempos de carga
de aplicaciones más cortos y una
respuesta más rápida en general.
Durabilidad Debido a la falta de partes móviles,
Prestaciones los SSD son menos propensos a
de un SSD: daños por golpes o vibraciones.
Además, las celdas de memoria flash
tienen una vida útil limitada, pero los
algoritmos de administración de
datos extienden la durabilidad de un
SSD.
Consumo de energía Los SSD consumen menos energía
que los HDD, lo que resulta en una
vida útil de la batería más larga en
dispositivos portátiles y una menor
generación de calor en sistemas de
escritorio.
Tamaño y peso Los SSD son más compactos y
livianos que los HDD, lo que los hace
ideales para dispositivos portátiles y
ultrabooks donde el espacio es
limitado.
Ruido Los SSD son completamente
silenciosos, ya que no tienen partes
móviles que generen ruido, a
diferencia de los discos duros
tradicionales.
RAM
2023
CARACTERÍSTICAS
Debe:
• Ser volátil.
• tener acceso aleatorio.
• Ser de lectura y escritura.
2023
FORMAS TRADICIONALES DE RAM
• DRAM
• SRAM
2023
DRAM
• Una RAM dinámica (DRAM) está hecha con celdas que almacenan los datos como cargas eléctricas
en condensadores.
• Ya que los condensadores tienen una tendencia natural a descargarse, las RAM dinámicas
requieren refrescos periódicos para mantener memorizados los datos.
2023
EVOLUCIÓN MEMORIAS DRAM
• FPM-RAM (Fast Page Mode ): Esta memoria tenía tiempos de acceso de 70 o 60 ns y fueron muy
populares en los Intel 486 o clones, así como en los primeros Pentium y similars.
• EDO RAM: la Data Output Dynamic fue lanzada en 1994, bajaba los tiempos de acceso a 40 o 30
ns. Una notable mejora con respecto a la FPM.
• BEDO RAM: la Burst Extended EDO fue presentada en 1997, esta memoria usaba generadores
internos de direcciones y accedía a más de una posición de memoria en cada ciclo. Eso mejoraba el
rendimiento en un 50% respecto a la EDO.
• PC100: o SDRAM de 100 MHz. Memoria SDRAM capaz de funcionar a esos 100 MHz, que utilizan
los AMD K6-2, Pentium II a 350 MHz y computadores más modernos.
2023
• PC133: o SDRAM de 133 MHz. La más moderna.
TECNOLOGÍA MEMORIAS DRAM
• SDR SDRAM: Memoria síncrona, con tiempos de acceso de entre 25 y 10 ns y que
se presentan en módulos DIMM de 168 contactos. Los tipos disponibles son:
• PC100: SDR SDRAM, funciona a un máx. de 100 MHz.
• PC133: SDR SDRAM, funciona a un máx. de 133 MHz.
2023
TECNOLOGÍA MEMORIAS DRAM
• DDR: fue un avance de la SDR SDRAM que aparecería en 2000. Opera el doble de
rápido que la SDR SDRAM.
• DDR2: la segunda versión mantiene el mismo número de operaciones de acceso por
cada ciclo de reloj, pero puede funcionar a velocidades más rápidas.
• DDR3: la tercera revisión tiene mejoras en cuanto a la velocidad (800 Mhz), la
capacidad, y el consumo.
• DDR4: alcanza velocidades mayores de 1600 Mhz, también se ha mejorado la
capacidad soportada, y se ha reducido el voltaje (consumo).
• DDR5: ya se habla mucho de ella, aunque todavía se está usando la DDR4 en la
mayoría de sistemas. Este permite velocidades mayores, mejores capacidades, mejor
fiabilidad, y también dos canales por cada módulo DIMM de forma simultánea para
aumentar el ancho de banda.
2023
SRAM
2023
MEMORIA CACHE
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
Tamaño de cache
Cuanto más grande es, mayor es el número
de puertas implicadas en direccionar la
caché. El resultado es que cachés grandes
tienden a ser ligeramente más lentas que
las pequeñas.
El tamaño de caché está también limitado
por las superficies disponibles de chip y de
tarjeta.
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
FUNCIÓN DE CORRESPONDENCIA
• Ya que hay menos líneas de caché que bloques de memoria principal, se necesita un algoritmo
que haga corresponder bloques de memoria principal a líneas de caché.
• La elección de la función de correspondencia determina cómo se organiza la caché.
• Pueden utilizarse tres técnicas: directa, asociativa, y asociativa por conjuntos.
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
Correspondencia directa
La técnica más sencilla, denominada
correspondencia directa, consiste en hacer
corresponder cada bloque de memoria
principal a solo una línea posible de caché.
i = j módulo m
donde:
• i = número de línea de caché.
• j = número de bloque de memoria
principal.
• m = número de líneas en la caché.
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
Correspondencia asociativa
La correspondencia asociativa supera la
desventaja de la directa, permitiendo que
cada bloque de memoria principal pueda
cargarse en cualquier línea de la caché.
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
ALGORITMOS DE SUSTITUCIÓN
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
TAMAÑO DE LÍNEA
2023
MEMORIA CACHE: ELEMENTOS DE DISEÑO
TAMAÑO DE LÍNEA
2023
RAID
➢ Las mejoras en las prestaciones de memoria secundaria no han avanzado a la par que en
procesadores y en memoria principal.
➢ Esta situación hizo que el sistema de memoria de disco sea foco principal de optimización.
➢ Los diseñadores encuentran una solución, para mejorar el rendimiento usando varios de esos
componentes en paralelo.
RAID
➢ Con varios discos, las peticiones separadas de E/S se pueden gestionar en paralelo, siempre que
los datos requeridos residan en discos separados.
➢ Se puede ejecutar en paralelo una única petición de E/S si el bloque de datos al que se va a acceder
está distribuido a lo largo de varios discos.
➢ Los datos se pueden organizar en una amplia variedad de formas y se puede añadir redundancia
para mejorar la seguridad.
➢ Surgen los esquemas estandarizados para el diseño de bases de datos para discos múltiples,
conocidos como RAID (Redundant Array of Independent Disks, Conjunto redundante de discos
independientes).
Niveles
El esquema RAID tiene 6 niveles no jerárquicos que emplean métodos diferentes pero tienen
características comunes:
➢ El conjunto de unidades físicas de disco es vista por el sistema operativo como una única unidad
lógica.
➢ Los datos se distribuyen a través de las unidades físicas del conjunto de unidades.
➢ La capacidad de los discos redundantes se usa para almacenar información de paridad que
garantice la recuperación de los datos en caso de fallo de disco.
(Los detalles de las características segunda y tercera cambian según los distintos niveles RAID.
RAID 0 no soporta la tercera característica.)
Nivel 0 de RAID
➢ No es un verdadero miembro de la familia RAID, porque no incluye redundancia para mejorar las
prestaciones. Hay casos en los que la capacidad y un costo bajo es más importante que mejorar la seguridad.
➢ los datos son organizados en forma de tiras de datos a través de los discos disponibles, y pueden ser bloques
físicos, sectores o alguna otra unidad.
Nivel 0 de RAID
➢ En un conjunto de n discos, las primeras n tiras lógicas (una franja) se almacenan físicamente en la
primera tira de cada uno de los n discos, las segundas n tiras lógicas, se distribuyen en la segunda
tira de cada disco, etc.
➢ Si una única petición de E/S implica a varias tiras lógicas contiguas, entonces las n tiras de esta
petición se pueden gestionar en paralelo, reduciendo el tiempo de transferencia de E/S.
➢ El software de gestión de un conjunto proyecta el espacio del disco físico sobre el disco lógico.
➢ Para que las aplicaciones tengan una velocidad de transferencia alta, debe existir entre la memoria
del anfitrión y las unidades de disco individuales controladores de buses internos, buses de E/S del
anfitrión, adaptadores de E/S, y buses de memoria del anfitrión.
Nivel 1 de RAID
➢ En el nivel 1 la redundancia se logra con el recurso de duplicar todos los datos.
➢ Se hace una distribución de datos, como en el RAID 0 pero cada franja lógica se proyecta en dos
discos físicos separados.
Nivel 2 de RAID
➢ Los niveles 2 y 3 usan una técnica de acceso paralelo en la que todos los discos miembro participan en la
ejecución de cada petición de E/S.
➢ El giro de cada unidad individual está sincronizado de forma que cada cabeza de disco está en la misma
posición en cada disco en un instante dado.
➢ Se usa el código Hamming, que permite corregir errores en un bit y detectar errores en dos bits.
Nivel 3 de RAID
➢ RAID 3 requiere solo un disco redundante, sin importar lo grande que sea el conjunto de discos.
➢ En el caso de un fallo en una unidad, se accede a la unidad de paridad y se reconstruyen los datos
desde el resto de los dispositivos.
➢ Puesto que los datos se dividen en tiras muy pequeñas, RAID 3 puede conseguir velocidades de
transferencia de datos muy altas.
Nivel 4 de RAID
➢ Los niveles 4 al 6 de RAID usan una técnica de acceso independiente, cada disco opera independientemente,
de forma que peticiones de E/S separadas se atienden en paralelo.
➢ Son más adecuados para aplicaciones que requieren velocidades de petición de E/S altas, y son menos
adecuados para aplicaciones que requieren velocidades altas de transferencia de datos.
➢ Se calcula una tira de paridad bit a bit a partir de las correspondientes tiras de cada disco de datos, y los bits
de paridad se almacenan en la correspondiente tira del disco de paridad.
Nivel 5 de RAID
➢ La diferencia con RAID 4 es que RAID 5 distribuye las tiras de paridad a lo largo de todos los
discos.
➢ Para un conjunto de n discos, la tira de paridad está en diferentes discos para las primeras n tiras.
Nivel 6 de RAID
➢ Se hacen dos cálculos de paridad distintos, que se almacenan en bloques separados en distintos
discos. Por tanto, un conjunto RAID 6 cuyos datos requieran N discos consta de N - 2 discos.
➢ Disco de bajo costo no borrable capaz de almacenar más de 60 minutos de información de audio.
➢ El disco se forma a partir de una resina y la información se graba como una serie de hoyos
microscópicos en la superficie reflectante con un láser de alta intensidad, para crear el disco patrón.
Luego se cubre con una superficie altamente reflectante como aluminio.
➢ La información se recupera con un láser de baja potencia que pasa a través de la capa protectora
transparente mientras un motor hace girar el disco sobre el láser. El cambio entre hoyos y valles es
detectado por un fotosensor y convertido en una señal digital.
Memoria Óptica
➢ Los hoyos son leídos a velocidad lineal constante (CLV), por lo que el acceso aleatorio se hace más
difícil.
➢ Localizar una dirección específica implica mover la cabeza al área general, ajustar la velocidad de
rotación y leer la dirección, y hacer pequeños ajustes para encontrar y acceder al sector específico.
CD-ROM
➢ El CD-ROM (Compac disk – read only memory) tiene lectores más robustos y tienen dispositivos de
corrección de errores para asegurar que los datos se transfieren correctamente del disco al computador.
➢ El tiempo de acceso es mayor que el de una unidad de disco magnético, tanto como medio
segundo.
CD grabable
➢ Utiliza un controlador de disco especial, más caro que para CD-ROM. El cliente puede escribir una
vez, además de leer el disco.
➢ CD-R incluye una capa de tinte que se utiliza para cambiar la reflectividad y se activa con un láser
de alta intensidad.
CD regrabable
➢ Se puede escribir y reescribir como un disco magnético, gracias a una técnica llamada cambio de
fase.
➢ Los materiales actuales se pueden borrar entre 500 000 y un millón de veces.
➢ Las tolerancias de los parámetros de construcción es mucho más mayor que para los discos
magnéticos de gran capacidad. Por tanto, tienen una mayor fiabilidad y vida.
DVD (digital video disk)
Es el sustituto de las cintas VHS de video analógicas. Llevo el video a la era digital debido a su gran
capacidad:
➢ Los bits se empaquetan más juntos en un DVD utilizando un láser con una longitud de onda menor,
lo que incrementa la capacidad hasta 4.7 GB.
➢ Utiliza una segunda capa semireflectante de hoyos y valles sobre la primera capa que puede ser
leída ajustando el enfoque del láser de la unidad de DVD. Esto casi dobla la capacidad del disco
hasta 8.5 GB.
➢ Utilizan las mismas técnicas de lectura y grabación que los discos. El medio es una cinta de
poliéster flexible cubierta por un material magnetizable.
➢ Los anchos de las cintas pueden variar entre 0,38 cm (0,15 pulgadas) y 1,27 cm (0,5 pulgadas).
➢ Para aumentar la velocidad de lectura-escritura, los datos se pueden grabar en serie a lo largo de las
pistas individuales, pero los bloques se almacenan en pistas adyacentes.