Arquitectura del Computador
domingo, 8 de diciembre de 2019
jerarquía de memoria
jerarquía de memoria
La jerarquía de memoria es la organización piramidal de la memoria en
niveles que tienen las computadoras.
El objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.
El objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.
Los puntos
básicos relacionados con la memoria pueden resumirse en:
Capacidad
Velocidad
Coste por bit
La cuestión de la capacidad es
simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la
memoria es la velocidad a la que el microprocesador puede trabajar, de modo que
no haya tiempos de espera entre cálculo y cálculo, utilizados para traer
operando o guardar resultados. En
suma, el coste de la memoria no debe ser excesivo, para que sea factible
construir un equipo accesible. Los
tres factores compiten entre sí, por lo que hay que encontrar un equilibrio.
Las siguientes afirmaciones son válidas:
A menor tiempo de acceso mayor
coste.
A mayor capacidad menor coste
por bit.
A mayor capacidad menor
velocidad.
Se busca entonces contar con capacidad suficiente de memoria, con una
velocidad que sirva para satisfacer la demanda de rendimiento y con un coste
que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es
factible utilizar una mezcla de los distintos tipos y lograr un rendimiento
cercano al de la memoria más rápida.
Nivel Jerárquico.
Los niveles que componen la jerarquía de memoria habitualmente son:
Nivel 0: Registros del microprocesador o CPU
Nivel 1: Memoria caché
Nivel 2: Memoria primaria (RAM)
Nivel 3: Memorias flash
Nivel 4: Disco duro (con el mecanismo de memoria virtual)
Nivel 5: Cintas magnéticas (consideradas las más lentas, con mayor capacidad, de acceso secuencial)
Nivel 6: Redes (actualmente se considera un nivel más de la jerarquía de memorias).
Los niveles que componen la jerarquía de memoria habitualmente son:
Nivel 0: Registros del microprocesador o CPU
Nivel 1: Memoria caché
Nivel 2: Memoria primaria (RAM)
Nivel 3: Memorias flash
Nivel 4: Disco duro (con el mecanismo de memoria virtual)
Nivel 5: Cintas magnéticas (consideradas las más lentas, con mayor capacidad, de acceso secuencial)
Nivel 6: Redes (actualmente se considera un nivel más de la jerarquía de memorias).
Componentes de la Tarjeta Madre
componentes de
la tarjeta madre
CPU (unidad central de
procesamiento)
La unidad de procesamiento central o CPU
puede definirse como el cerebro de una computadora. Todos los cálculos
complejos se llevan a cabo en el interior de la CPU.
Circuito integrado auxiliar o
chipset
El chipset está conformado por dos partes. El
puente norte y el puente sur. Estos dos chips controlan el flujo de datos que
entra y que sale de la CPU.
Ranuras RAM
Las ranuras RAM sostienen las tarjetas de
memoria de acceso aleatorio (RAM). La CPU guarda datos y otras instrucciones
informáticas en la RAM.
Ranuras de expansión
Las ranuras para tarjetas de expansión te
permiten añadirle dispositivos adicionales a la tarjeta madre. Los dispositivos
que más se adicionan, por lo general, incluyen artículos tales como tarjetas inalámbricas,
de video y de sonido.
Batería CMOS
La batería CMOS le da energía al chip de la
computadora responsable de iniciar las primeras series de instrucciones cuando
la computadora se enciende. La batería CMOS también mantiene el reloj del
sistema sincronizado mientras la computadora está apagada.
Puertos de interfaz
La tarjeta madre también contiene los puertos
para el teclado y el ratón, así como también las interfaces en serie,
paralelas, Firewire y USB.
máquina de von Neumann
máquina de von
Neumann
Está formado por
una CPU (Central Processing Unit) o Unidad Central de Procesamiento que a su
vez contiene una ALU (Arithmetic Logic Unit) o Unidad Aritmética Lógica y los
registros del procesador, una unidad de control y un contador de programa.
También posee una memoria principal y un mecanismo de entrada y salida.
Unidad Central
de Procesamiento: Es la encargada de interpretar y
procesar las instrucciones recibidas de un programa a través de la realización
de operaciones básicas aritméticas (Suma, resta, multiplicación y división) y
lógicas (AND, OR y NOT) realizadas por la Unidad Aritmética Lógica. Para esto
utiliza los registros del procesador que son una pequeña memoria que almacena
datos binarios y tiene un tiempo de acceso cinco a diez veces menor que la
memoria principal, uno de los registros es denominado Program Counter y es quien calcula automáticamente la
cantidad de ciclos de ejecución y apunta a la próxima instrucción en ser
ejecutada. Y por último se encuentra la unidad de control que es aquella que
tiene como objetivo buscar instrucciones en la memoria principal y ejecutarlas
luego de decodificarlas.
Memoria
principal: Es un conjunto de celdas del mismo tamaño
que están asociadas con un número denominado dirección de memoria y sirve para
almacenar datos de manera temporal para ser utilizados posteriormente.
Sistema de
entrada y salida: Genera las señales necesarias para
transferir datos y códigos desde y hacia periféricos. Un periférico es aquel
dispositivo que es capaz de interactuar con los elementos externos ya sea
emitiendo información o recibiéndola.
CUELLO DE BOTELLA DE VON NEUMANN
Debido a que la
memoria principal está separada de la Unidad Central de Procesamiento, se
genera un cuello de botella o un rendimiento limitado entre estos dos
componentes ya que la velocidad de transmisión de datos no está acorde a la
cantidad de la misma. Para atenuar este inconveniente existen diferentes
mecanismos. Unos de los más populares es la inclusión de una llamada memoria
caché entre la CPU y la memoria o el denominado Pipeline que permite iniciar
instrucciones antes de terminar el ciclo de instrucción del anterior, es decir
que de esta forma existiría un trabajo en paralelo.
Compuertas Lógicas
Compuertas Lógicas
Compuertas
Lógicas Las compuertas lógicas son dispositivos que operan con aquellos estados
lógicos que funcionan igual que una calculadora, de un lado COMPUERTAS LOGICAS
32 ingresas los datos, ésta realiza una operación, y finalmente, te muestra el
resultado.
Cada una de las compuertas
lógicas se las representa mediante un Símbolo, y la operación que realiza
(Operación lógica) le corresponde una tabla, llamada Tabla de Verdad.
Inversión o negación
(complemento) COMPUERTA NOT
Esta operación se
indica con una barra sobre la variable o por medio de un apóstrofe en el lado
superior derecho de la variable, en este unidad emplearemos esta última
notación (al menos que se indique lo contrario)=. El apóstrofe (’) es un
operador algebraico que invierte el valor de una variable, es decir, si X
denota la señal de entrada de un inversor, entonces X’ representa el
complemento de tal señal. Ejemplo Sí X = 0 entonces X’ = 1. En la tabla de
verdad 2.1. se muestra el resultado de la inversión lógica.
Suma booleana
La representación
matemática de una suma booleana de dos variables se hace por medio un signo más
entre las dos variables. Ejemplo La suma booleana de las variables A y B se
enuncia de la siguiente forma, X = A + B. La suma booleana es 1 si alguna de
las variables lógicas de la suma es 1 y es 0 cuando todas las variables son 0.
Esta operación se asimila a la conexión paralela de contactos.
Multiplicación booleana
La representación
matemática de una multiplicación booleana de dos variables se hace por medio un
signo punto (·) entre las dos variables. La multiplicación booleana de las
variables A y B se enuncia de la siguiente forma, X = A · B. La multiplicación
booleana es 1 si todas las variables lógicas son 1, pero si alguna es 0, el
resultado es 0. La multiplicación booleana se asimila a la conexión serie de
contactos.
Compuerta OR-EX o XOR Es OR
EXCLUSIVA
Es en este caso
con dos entradas y lo que hará con ellas será una suma lógica entre a por b
invertida y a invertida por b. Ver tabla 2.6 *Al ser O Exclusiva su salida será
1 si una y sólo una de sus entradas es 1*
Compuertas Lógicas Combinadas
Al agregar una
compuerta NOT a cada una de las compuertas anteriores los resultados de sus
respectivas tablas de verdad se invierten, y dan origen a tres nuevas compuertas
llamadas NAND, NOR y NOR-EX... Veamos ahora como son y cual es el símbolo que
las representa...
Compuerta NOR-EX
Es simplemente la
inversión de la compuerta OR-EX, los resultados se pueden apreciar en la tabla
2.7 tabla de verdad, que bien podrías COMPUERTAS LOGICAS 37 compararla con la
anterior y notar la diferencia, el símbolo que la representa lo tienes en el
siguiente gráfico.
Operaciones booleanas
Las operaciones
booleanas están regidas por tres leyes similares a las del álgebra convencional.
Estas incluyen las leyes conmutativas de la suma y la multiplicación y la ley
distributiva.
Leyes
conmutativas en dos variables:
Ley conmutativa de la suma se enuncia como sigue
X + Y = Y + X
En aplicación a los circuitos digitales, podríamos decir que no importa el
orden de conexión de las entradas a una compuerta OR.
Ley
conmutativa de la multiplicación
X·Y = Y· X En
aplicación a los circuitos digitales, podríamos decir que no importa el orden
de conexión de las entradas a una compuerta AND.
Ley
asociativa de la adición, se escribe en forma algebraica de la siguiente forma
A + ( B + C )
= ( A + B ) + C En la figura 2.10. se muestra la aplicación de la propiedad a
las compuertas OR,
Ley asociativa de la multiplicación
A·( B· C) = ( A·B )· C
Conversión de Sistema decimal a sistema binario y viceversa
Conversión de Sistema decimal a
sistema binario
Método de las Divisiones Sucesivas entre Dos
Se trata de dividir sucesivamente el número decimal y los sucesivos
cocientes entre dos (2), hasta que el cociente en una de las divisiones tome el
valor cero (0). La unión de todos los restos obtenidos, escritos en orden
inverso, nos proporciona el número inicial expresado en el sistema binario.
Sistema decimal
a binario y viceversa
El proceso para
convertir un número del sistema binario al decimal es aún más sencillo; basta
con desarrollar el número, teniendo en cuenta el valor de cada dígito en su
posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado
más a la derecha, y se incrementa en una unidad según vamos avanzando
posiciones hacia la izquierda.
Por ejemplo, para
convertir el número binario 10100112 a decimal, lo desarrollamos teniendo
en cuenta el valor de cada bit:
1*26 + 0*25 + 1*24 +
0*23 + 0*22 + 1*21 + 1*20 =
83
10100112 =
8310
Suscribirse a:
Entradas (Atom)