Está en la página 1de 58

Arquitectura de Computadores.

CAPÍTULO I
- Introducción.
- Visión.
- Misión
- Etimologías.
- Elementos Básicos.
- Clasificación de Computadoras.
- Generación de Computadoras.
- La Empresa en el Futuro.

INTRODUCCIÓN

Casi todo lo que hacemos en nuestra sociedad de alguna manera está ligada con la
tecnología informática no importa mucho la actividad en la que se desarrolla, la
profesión, sin embargo el afianzar los conocimientos informáticos incrementarán la
capacidad de desarrollo de la per-sona, la tecnología computacional cambia
rápidamente, y de alguna manera en pocos meses de que aparece una tecnología ya está
saliendo nuevos productos en relación a esta temática.

VISIÓN

Estudio de las principales arquitecturas existentes a nivel de microcomputadores, como


las PC; minicomputadoras como las RISC As 400, la organización de estos equipos; a
nivel físico como manejo de tarjetas y dispositivos; a nivel lógico como manejo de
memoria, procesador, etc.

MISIÓN

Tener un conocimiento de los componentes de un equipo computacional a efectos de


tomar decisiones inteligentes en relación a la tecnología de información que usted
requiere y conocer comandos de interfaz usuario máquina mediante sistemas operativos
para equipos de Arquitectura Abierta como LINUX y UNÍX

ELEMENTOS BÁSICOS DEL MICROCOMPUTADOR.

Unidad Control de Proceso.


Realiza las operaciones aritméticas y lógicas, continuamente realiza un control de la
memoria.

Memoria.
Es la capacidad de un computador para retener información.

Periféricos.
Dispositivos de entrada/salida conectados mediante cables a la unidad central de
proceso, y se utiliza para enviar o recibir información.

Usuarios.
Persona que utiliza la información generada por el computador.

-1-
Arquitectura de Computadores.

Las diversas formas en que se utilizan los computadores muestran lo poderosas que
pueden ser estas máquinas dependiendo del tamaño y la forma.

Todos los equipos computacionales tienen los siguientes componentes:

1. Procesador.
2. Memoria.
3. Dispositivos de entrada y salida.
4. Discos de almacenamiento.
5. Programas.

Los primeros cuatro componentes son los elementos físicos de la máquina comúnmente
conocidos como hardware, el quinto elemento el del software, lo podemos definir como
un conjunto de instrucciones escritas por programadores, que le indican al hardware que
es lo que debe hacer, aunque el hardware es capaz de realizar tareas importantes y no
podría hacer ninguna de ellas sin el soporte del software.

Procesador.

La compleja tarea de transformar datos de entrada en información de salida, se llama


procesamiento, para llevar a cabo esta transformación el computador utiliza dos
componentes: el procesador y la memoria.

El procesador es el cerebro de la computadora es la parte que interpreta y ejecuta las


instrucciones, físicamente está formado por múltiples circuitos integrados llamados
chips, los mismos que están insertados en tarjetas de circuitos que a su vez se unen a
otros chips y a otra tarjeta de circuito. En los computadores personales este único chip
que lo conforma se llama microprocesador, tiene la característica de ocupar espacios
sumamente pequeños. En las minicomputadoras podemos encontrar varios
procesadores.

Memoria.

Es utilizada por el CPU para guardar información mientras trabaja con ella como una
especie de hoja electrónica para realizar cálculos, estas piezas de información se
representan electrónicamente en los circuitos de los chip de memoria y mientras
permanezcan en memoria la computadora puede tener acceso a ellas en forma directa.

Dispositivos de Entrada/Salida.

Comprende todas las maneras en que una computadora se comunica con el usuario y
con otras máquinas o dispositivos, sin dispositivos de entrada / salida la computadora
estaría aislada, el más común entre los dispositivos de entrada es el teclado que acepta
letras, números, comandos de usuario. Se tiene adicionalmente el mouse, que permite
entre otros aspectos dibujar, ejecutar comandos al oprimir uno de sus botones, otro
dispositivo de entrada puede ser el lápiz óptico, digitalizadores, escáner, etc.

-2-
Arquitectura de Computadores.

En la función de salida es presentada la información o datos procesados al usuario y los


más comunes es, el monitor, la impresora, ploter.

Almacenamiento.

Son lugares donde se guardan los datos, que en ese momento no se está procesando,

El medio más común de almacenamiento es el disco magnético, con una gran capacidad
de almacenamiento.

Programas.

A un grupo específico de instrucciones lo llamamos programa y es lo que posibilita que


una computadora realice una tarea determinada, debido a que los programas le dicen a
los componentes físicos de una máquina lo que debe hacer. Un computador sin
software, no podría realizar ninguna tarea.

Tipos de software: De base (sistemas operativos), Utilitario (office), Aplicaciones


(sistema de recursos humanos, contabilidad, etc.)

EL DILEMA DE LA CLASIFICACIÓN

Muchas de las microcomputadoras (PC) de hoy son hasta 50 veces más poderosas que
sus contrapartes de hace una década. Los mismos saltos tecnológicos que han hecho a
las computadoras más potentes han insertado esa potencia en paquetes más y más
pequeños.

A continuación presentamos una forma de clasificación por su tamaño, recalcando que


aquí y en cualquier otro lado es, en cierto grado, arbitraria.
1. Computadora personal.
2. Estación de trabajo (workstation)
3. Minicomputadora.
4. Macrocomputadora (maimframe)
5. Supercomputadora.

Todos estos tipos de computadoras pueden conectarse entre sí para formar redes de
computadoras, pero cada computadora individual, ya sea que este o no en una red, cae
dentro de una de estas categorías.

1. Computadoras Personales.
Los términos computadoras personales y microcomputadoras, generalmente se refiere a
pequeñas computadoras que se encuentran comúnmente en oficinas, salones de clase y
hogares. Vienen en todas formas y tamaños. Aunque la mayoría de los modelos se
colocan en escritorios, otras se paran en el piso y algunas hasta son portátiles.

Modelos de Escritorio.
Es el estilo de PC más común y también el que se introdujo primero, la
mayoría son lo suficientemente pequeñas para caber sobre un escritorio,
pero son demasiado grandes para llevarlas consigo. Algunos, como el

-3-
Arquitectura de Computadores.

diseño de Macintosh son muy compactos con el monitor, el CPU, la


memoria y las unidades de disco, todo en una unidad. El diseño más
común es separar el monitor. Actualmente, muchos de estos modelos
están siendo reemplazados por modelos de torre, que con frecuencia se
colocan en el suelo para ahorrar espacio en el escritorio.

Computadores Notebook.
Como su nombre lo indica, se aproximan a la forma de una agenda de
aproximadamente 21.59  27.94 cm y pueden caber fácilmente en un
portafolios. Las laptop son las predecesoras de las computadoras
Notebook y son ligeramente más grandes que estas, y tienen por lo
común un teclado casi de tamaño normal. Tanto las Notebook y las
laptop por su funcionalidad, son utilizadas por personas que requieren el
poder de una computadora completa donde quiera que vayan. Algunos
modelos pueden conectarse a un "dock" (muelle) de una computadora de
escritorio para aprovechar el monitor y el espacio de almacenamiento
mayores de la máquina grande.

2. Estaciones de Trabajo. (WORK STATION).


Entre las minicomputadoras y las microcomputadoras (en términos de potencia de
procesamiento) existe una clase de computadoras conocidas como estaciones de trabajo.
Una estación de trabajo se ve como una computadora personal y generalmente es usada
por una sola persona, al igual que una PC, aunque son más poderosas que las PC
promedio, la diferencia en sus capacidades es menor cada día.

Se diferencian con sus primas las microcomputadoras en dos áreas principales:


internamente están construidas en forma diferente. Están basadas generalmente en otra
filosofía de diseño de CPU llamada procesador de cómputo con un conjunto reducido de
instrucciones (RISC), que deriva en un procesamiento más rápido de las instrucciones.

La otra diferencia es que la mayoría de los PC pueden correr cualquiera de los cuatro
sistemas operativos más importantes: DOS, UNIX, OS/2, y Windows NT (y la
Macintosh puede correr tanto el sistema operativo Macintosh como la versión AUX de
UNIX, diseñado por apple), pero las estaciones de trabajo generalmente corren el
sistema operativo UNIX o una variación de este. El fabricante más grande de
estaciones de trabajo es Sun Microsystems y otros son : IBM, DEC, HP, y Silicom
Graphics.

Mucha gente utiliza el término estación de trabajo para refiriere a cualquier


computadora o terminal que este conectada a otra computadora, aunque este uso fue
alguna vez el significado común de este término ya es obsoleto. Actualmente, una
estación de trabajo es una poderosa computadora basada en RISC que corre el sistema
operativo UNIX y generalmente es usada por científicos e ingenieros. Se utilizan en
sistemas de información geográfico.

3. Minicomputadoras.

Es interesante notar que al principio solo había computadoras. Hasta que empezaron a
salir nuevos tipos de computadoras surgió la necesidad de otros términos para poder

-4-
Arquitectura de Computadores.

distinguir entre los diferentes tipos. Cuando DECK (Digital Equipment Corporation)
empezó a embarcar las computadoras de su serie PDP a principios de los 60, la prensa le
puso el nombre de minicomputadoras, pues en comparación con otras computadoras
eran más pequeñas.

La mejor manera de explicar las capacidades de una microcomputadora es diciendo que


están en alguna parte entre las macrocomputadoras mainframe y las personales. Al igual
que las macrocomputadoras pueden manejar una cantidad mucho mayor de entradas y
salidas que una computadora personal. Aunque algunas minis están diseñadas para un
solo usuario, muchas pueden manejar docenas e inclusive cientos de terminales.
Diremos que los terminales son una especie de computadora que no tienen su propio
CPU o almacenamiento; es decir, es solo un dispositivo de entrada/salida que actúa
como una ventana hacia otra computadora localizada en alguna parte.

Sus precios oscilan entre 20.000 y 250.000 dólares y resultan ideales para muchas
organizaciones y compañías ya que son relativamente baratas, pero conservan algunas
de las características deseables de un mainframe.

4. Macrocomputadoras (mainframe).

Son las computadoras de mayor tamaño en uso común están diseñadas para manejar
grandes cantidades de entrada, salida y almacenamiento, atendiendo el acceso de una
gran cantidad de usuarios que utilizan una terminal para ingresar y recibir información
continua de grandes volúmenes (literalmente millones de registros de bases de datos)
que sería imposible manejarlos en sistemas más pequeños.

Los mainframe de hoy cuestan generalmente desde 200.000 hasta varios millones de
dólares era usual que las computadoras mainframe ocuparan cuartos completos e
incluso pisos enteros de edificios. Generalmente eran colocados dentro de edificios con
vidrios sellados y aire acondicionado especial para mantenerlos a una temperatura muy
baja, y sobre pisos falsos para ocultar todos los cables necesarios para la conexión de la
máquina. Este tipo de instalación ya no es utilizada. Hoy en día, un mainframe común
se ve como una hilera sencilla de grandes archiveros, aunque puede seguir requiriendo
de un ambiente controlado.

5. Supercomputadoras.

Es la computadora más potente disponible en un momento dado. Están construidas para


procesar enormes cantidades de información en forma muy rápida. Por ejemplo, los
científicos construyen modelos de procesos complejos y simulan estos procesos en una
supercomputadora (procesos de fusión nuclear).

Están diseñadas especialmente para maximizar el número de FLOPS (operaciones de


punto flotante por segundo).

Cualquiera con desempeño por debajo del 1 gigallop/s no puede considerarse una
supercomputadora. Estas a fin de alcanzar tales velocidades tienen arquitecturas en
paralelo y son eficientes tan solo para solucionar un rango reducido de problemas. Uno
de los problemas de construir computadoras tan poderosas es la dispersión de la
tremenda cantidad de calor generada por la máquina. Gray uno de los principales

-5-
Arquitectura de Computadores.

fabricantes de supercomputadoras, resolvió este problema usando enfriadores líquidos


para sus máquinas; también diseño algunas de estas con formas curvas para ayudar a las
máquinas a disipar el calor generado por ciertos componente.

Debido a que la tecnología computacional cambia tan rápido, las capacidades avanzadas
de una supercomputadora actual se puede convertir en las funciones estándar del
próximo año y las supercomputadora del próximo año serán mucho más poderosa que la
de hoy. Este tipo de computadoras pueden costar desde 10 millones hasta 30 millones
de dólares, y consumen energía eléctrica suficiente para alimentar 100 hogares.

En este capítulo se consideran conceptos de: Tecnología risk power 5…, cuchillas, rags
Alta disponibilidad, On demand, stabd by

CAPÍTULO II

Fundamentos del Diseño del Computador.

El rápido crecimiento en la tecnología de computadores es consecuencia de los avances


de la tecnología utilizada en su construcción y de las innovaciones de los diseños en los
mismos.

Mientras que las mejoras tecnológicas han sido constantes en el progreso en la


obtención de mejores arquitecturas no ha tenido el mismo ritmo, dos cambios
significativos en el mercado de computadores han hecho más fácil el éxito comercial de
las nuevas arquitecturas, en primer lugar la eliminación virtual de la programación en
lenguaje ensamblador ha reducido drásticamente la necesidad de establecer la
compatibilidad del código - objeto; en segundo lugar la creación de sistemas operativos
estandarizados independientes de los vendedores como por ejemplo UNIX y
últimamente LINUX han reducido el costo y riesgo de lanzar al mercado una nueva
arquitectura.

Definiciones de Rendimiento.

¿Cuándo se dice que un computador es más rápido que otro desde el punto de vista
del usuario del computador?
Cuando los datos procesados se realizan en menor tiempo.

¿Desde el punto de vista de un director de un centro de cómputo?


Un computador es más rápido cuando completa más tareas en un período de tiempo es
decir cuando existe un incremento de productividad.

Tiempo de Respuesta.

Es el tiempo transcurrido entre el comienzo y final de un evento; se lo llama también


tiempo de ejecución o latencia.

Productividad.

-6-
Arquitectura de Computadores.

La cantidad total de trabajo, realizada en un tiempo determinado se llama productividad,


normalmente los términos tiempo de respuesta, tiempo de ejecución y productividad se
utilizan cuando se está desarrollando una tarea de cálculo completa.

Los términos latencia y ancho de banda (productividad) casi siempre se eligen cuando
se habla de un sistema de memoria por lo general la disminución del tiempo de
respuesta mejora la productividad.

Al comparar alternativas de diseño con frecuencia queremos relacionar el rendimiento


de 2 máquinas diferentes por ejemplo la máquina x la máquina y; la frase x es más
rápida que y se utiliza para indicar que el tiempo de respuesta o tiempo de ejecución es
menor en x que en y, para una tarea dada en particular x es n porcentaje más rápida que
y significa.

Tey n
 1
Tex 100
Te : Tiempo de ejecución

Como el tiempo de ejecución es el inverso del rendimiento, incrementar el rendimiento


hace decrecentar el tiempo de ejecución.
1
n Tey Ry RX
1   
100 Tex 1 RY
RX

R: Rendimiento.

La frase productividad de x es el 30% superior que la de y significa que el número de


tareas completadas por unidad de tiempo en la máquina x es 1.3 veces el número de
tareas completadas en la máquina y, para evitar confusiones entre los términos
incrementar y decrementar diremos que mejorar el rendimiento significa incremento de
rendimiento y mejorar el tiempo de ejecución significa decrementar los tiempos de
ejecución.

Ley de Amdhal.

El aumento de rendimiento que puede obtenerse al mejora alguna parte del computador
puede calcularse utilizando esta ley que se basa en el siguiente principio:
"La mejora obtenida en el rendimiento al utilizar algún modo de ejecución más rápida
está limitada por la fracción de tiempo que puede utilizar ese modo más rápido".

Rtem
Ar 
Rte
1

Ar : Aceleración de rendimiento
Rtem : Rendimiento de la tarea completa, utilizando la mejora cuando sea posible.
Rte : Rendimiento de la tarea completa, sin utilizar la mejora.

-7-
Arquitectura de Computadores.

O el equivalente.

Tetc
Ar 
Tetcm

Tetc : Tiempo de la tarea sin utilizar la mejora.


Tetcm : Tiempo de la tarea utilizando la mejora cuando sea posible.

La aceleración mejorada nos indica la rapidez con que se realizará una tarea utilizando
una máquina con la mejora, con respecto a la máquina original, por ejemplo aumentar
memoria RAM.

La ley de Amdhal, presenta una forma rápida de calcular la aceleración que depende de
dos factores.

1ro. Fracción mejorada, corresponde a la fracción de tiempo de cálculo de la máquina


original en que puede utilizarse para aprovechar la mejora, este valor siempre será
menor o igual a 1.

2ro. Aceleración mejorada, representa la optimización lograda por el modo de


ejecución mejorada es decir cuanto más rápido se ejecutaría la tarea si solamente se
utilizase aquel modo mejorado, este valor es el tiempo del modo original con respecto al
tiempo del modo mejorado y es siempre mayor que 1.

El tiempo de ejecución utilizando la máquina original con el modo mejorado será el


tiempo utilizando la parte no mejorada de la máquina más el tiempo utilizando la parte
mejorada.
 F 
Ten  Tea 1  Fm   m 
 Am 
Ten : Tiempo de ejecución nuevo.
Tea : Tiempo de ejecución antiguo.
Fm : Fracción mejorada.
Am : Aceleración mejorada

Tea 1
Ag  
Ten
1  Fm   Fm
Am

La aceleración global es la relación de los tiempos de ejecución.

La ley de Amdhal puede servir como guía para ver como una mejora aumenta el
rendimiento y cómo distribuye los recursos para mejorar los recursos costo -
rendimiento.

-8-
Arquitectura de Computadores.

Localidad de Referencia.

Es la tendencia de los programas a reutilizar los datos e instrucciones que han utilizado
recientemente, una regla empírica pero que se ajusta a la realidad es que un programa
emplea un 90% en su tiempo de ejecución y sólo el 10% del código.

Una implicación de la localidad es que basándose en el pasado reciente del programa se


puede predecir con una precisión razonable que instrucciones y datos utilizará un
programa en el futuro próximo. La localidad de referencia se aplica también a los
accesos a datos aunque no tan fuertemente como los accesos a código.

Se han observado 2 tipos diferentes de localidad:

Localidad Temporal Específica, que los elementos accedidos recientemente serán


accedidos probablemente en un futuro próximo.

Localidad Temporal Espacial, establece que los elementos cuyas direcciones son
próximas tienden a ser referenciados juntos en el tiempo.

El Trabajo de un Diseñador de Computadores.

Un arquitecto de computadoras diseña máquinas para ejecutar programas, la tarea de


diseño incluye el diseño del conjunto de instrucciones, la organización funcional, el
diseño lógico y la implementación, la interpretación puede abarcar el diseño de circuitos
integrados, el encapsulamiento, potencia y disipación térmica, por lo tanto habría que
optimizar el diseño de la máquina en estos niveles para lo cual se debe estar
familiarizado con un amplio rango de tecnología en el que estarían inmersos sistemas
operativos, compiladores, técnicas para diseño lógico y encapsulamiento, el término
arquitectura a nivel de lenguaje de máquina se refiere al conjunto de instrucciones
concretas, invisibles por el programador y sirve como frontera entre el software y el
hardware. La implementación de una máquina tiene 2 componentes, organización y
hardware.

El término organización, incluye los aspectos de alto nivel del diseño del computador
tal como sistema de memoria, estructura del bus, diseño interno de la CPU.

El término hardware, se utiliza para referenciar las cosas específicas de la máquina,


esto incluye el diseño lógico detallado y la tecnología de encapsulamiento de la
máquina.

Requerimientos Funcionales.

Los arquitectos de computadores deben diseñar un computador que cumplan ciertos


requerimientos funcionales con determinadas ligaduras de precio y rendimiento, el
software de aplicaciones conduce con frecuencia a la elección de cierto requerimiento
funcional al determinar como se utilizará la máquina, la presencia de un gran mercado

-9-
Arquitectura de Computadores.

para una clase particular de aplicaciones podría estimular a los diseñadores a incorporar
requerimientos que hagan a la máquina más competitiva. GRAFICO 3

Equilibrar Hardware y Software.

Una vez establecido un conjunto de requerimientos funcionales el arquitecto debe


intentar optimizar el diseño, esta optimización responde en gran parte a la siguiente
pregunta.

¿Cómo implementar mejor una funcionalidad requerida?

Las implementaciones hardware y software de una determinada característica tiene


diferentes modalidades entre las principales tenemos el bajo costo de los errores el más
fácil diseño y una actualización más simple; en cuanto a hardware ofrece el rendimiento
como una única ventaja, aunque las implementaciones hardware no son siempre más
rápidas, y en ocasiones un requerimiento específico puede necesitar efectivamente la
inclusión de soporte hardware, un equilibrio en este aspecto nos llevará a la mejor
máquina para las aplicaciones de interés, al elegir entre dos diseños un factor a
considerar es el de su complejidad, los diseños complejos necesitan más tiempo de
realización prolongando el tiempo de aparición en el mercado, en este sentido un diseño
que emplee más tiempo, necesariamente debe tener mayor rendimiento para que sea
más competitivo, en general es más fácil tratar con la complejidad en software que en
hardware sobre todo porque es más fácil de depurar y cambiar el software, por otra parte
las decisiones en el diseño de la arquitectura a nivel de lenguaje de máquina y en la
organización pueden afectar a la complejidad de la implementación, así como también a
la complejidad de los compiladores del sistema operativo de la máquina.

El arquitecto siempre debe ser consciente del impacto, del diseño que elija, pues tendrá
impacto sobre el tipo de diseño y software.

Diseñar para Perdurar a varias Tendencias

Si una arquitectura a de tener éxito debe ser diseñada para que sobrevivan a los cambios
de la tecnología hardware,| tecnología software y otras aplicaciones características.

Hablar de Arquitectura jaba: capas de persistencia, modelo, dao, servicios,


presentaciones (gwt, faces), elastic.

El diseñador debe ser consciente especialmente de las tendencias en la utilización del


computador y de la tecnología de los computadores.

Una arquitectura a nivel de lenguaje de máquina que tenga éxito debería durar decenas
de años. El arquitecto debe planificar para que los cambios tecnológicos puedan
incrementar con éxito la vida de una máquina considerando los rápidos cambios que
experimentan las tecnologías de implementación, este tipo de cambios tecnológicos no
necesariamente son contiguos, más bien con frecuencia se presentan en pasos discretos
por ejemplo la capacidad de las memorias que aumentan siempre en factores.

Ejemplo: 32 MG (en memoria).

- 10 -
Arquitectura de Computadores.

En un período de 3 o 4 años la tecnología de RAM se cuadriplica, este tipo de cambios


en la tecnología llevan a situaciones que pueden habilitar una técnica de
implementación que anteriormente parecía imposible. GRAFICO 4.

El arquitecto también necesitará estar en conocimiento de las tendencias en software y


de cómo los programas utilizarán la máquina, una de las tendencias software más
importantes es la creciente cantidad de memoria utilizada por los programas y sus datos
que para un programa promedio ha crecido en un factor de 1.5 a 2 por año.

Otra tendencia software importante en los últimos 20 años ha sido la substitución de


lenguaje ensamblador por los lenguajes de alto nivel, jugando un papel importante para
los compiladores y en el redireccionamiento de arquitecturas hacia el soporte del
compilador, de ahí de la tecnología de los compiladores ha ido mejorando
uniformemente y se ha convertido en la interfaz principal entre el usuario y la máquina.

Un cambio fundamental en la forma de programar puede demandar cambios en una


arquitectura para soportar efectivamente el modelo de programación, aunque los
cambios significativos en los lenguajes de programación se presentan una vez por
década.

Cuando un arquitecto ha comprendido el impacto de las tendencias hardware y software


en el diseño de la máquina entonces podría comprobar la interrogante de cómo
equilibrar una máquina de mejor manera. De este tema nacen dos interrogantes:

1. Cuánta memoria es necesaria planificar para conseguir la velocidad elegida de la


CPU.
2. Cuánta memoria de entrada / salida se necesita. Para intentar dar una idea de cómo
construir una máquina equilibrada, el Sr. Amdhal y Case aprovecha dos reglas
empíricas que habitualmente se utilizan juntas, la regla establece que una máquina
de 1 mips (millones de instrucciones por segundo), está equilibrada cuando tiene 1
MB (Mega Byte) de memoria y una productividad de entrada / salida de 1 Mb
(Mega bit) por segundo; si bien esta regla proporciona un punto de partida
razonable, para utilizar un sistema equilibrado esta debe ser redefinida al medir el
rendimiento de una máquina cuando esté ejecutando las aplicaciones pensadas.

Jerarquía de Memoria.
Un axioma en el diseño de hardware manifiesta que las partes más pequeñas de
hardware generalmente son más rápidas que las DRAM, este axioma es totalmente
válido en el diseño de memorias en donde utilizaremos las memorias más pequeñas para
que los elementos recientemente accedidos se encuentren cerca del CPU (esto tiene
relación con lo que es localidad de referencia), y memorias mayores cuando nos
alejamos de la CPU.

Este tipo de organización se denomina jerarquía de memoria y de hecho la aplicación de


esta característica mejora sustancialmente el rendimiento. GRAFICO 5.

Dos niveles importantes de esta jerarquía son la memoria caché y la memoria virtual. La
caché contiene la mayor parte del código o de los datos recientemente obtenidos.
Cuando la CPU no encuentra un dato en la caché se produce un fallo de caché y el dato

- 11 -
Arquitectura de Computadores.

se recupera de la memoria principal y se ubica en la memoria caché. Si el dato no se


encuentra en memoria principal se produce un fallo de página y la página completa se
transfiere del disco a la memoria principal.

La memoria virtual es la conjunción de memoria principal y disco, descompuesta en


bloques que dependiendo de la arquitectura del computador son fijos o variables, si los
bloques son fijos se llaman páginas y si son variables se denominan segmentos.

La tarea del diseñador de computadores es compleja por las siguientes razones:

1. Determinar qué atributos son importantes para una nueva máquina.


2. Diseñar una máquina para maximizar el rendimiento cumpliendo las restricciones de
costo, recordemos que el rendimiento puede ser medido como productividad o como
tiempo de respuesta, considerando que algunos entornos favorecen una medida
sobre la otra, esta distinción debemos tomarla en cuenta cuando evaluamos
alternativas por ejemplo en benchmark.
Benchmark. Evaluación de una máquina.

CAPÍTULO III

Costos y Rendimiento.

El rendimiento, costos de compras y costos de operación forman la estructura principal


para decidir que computador debe diseñar.

Potencialmente tenemos dos extremos.

1. Diseño de Alto Rendimiento.


El cual no escatima costos para conseguir sus objetivos.

2. Diseño de Bajo Costo.


Donde se sacrifica rendimiento para conseguir un costo más bajo entre estos
extremos está el diseño de costo - rendimiento donde el diseñador equilibra el costo
frente al rendimiento.

Costos.
La comprensión del costo es esencial para que los diseñadores puedan tomar
decisiones inteligentes sobre si se debe incluir una determinada característica en los
diseños, donde el costo es un problema. Además que los diseños sensibles al costo
están creciendo en importancia, en este sentido, nuestro análisis se centra a los
diseños de máquinas sensibles al costo donde se presenta fundamentalmente tres
factores.
1. Costo de la electrónica.
2. Impacto del encapsulamiento en las decisiones de diseño.
3. Costo de un circuito integrado.

1. Costos de la Electrónica.
El rápido cambio de los costos de la electrónica es el primero de una serie de
temas en los diseños sensibles al costo, este parámetro cambia tan rápidamente

- 12 -
Arquitectura de Computadores.

que los buenos diseñadores basan sus decisiones no en los costos actuales sino
en los costos proyectados en el instante en el que se fabrique el producto dando
una relación costo - rendimiento, diferente de la que se obtendría utilizando
costos actuales. Costos más bajos no necesariamente hacen precios más bajos ya
que pueden incrementar los beneficios, ahora cuando el producto está disponible
en múltiples fuentes la demanda no supera la oferta, la competencia obliga a que
bajen los precios con los costos.

2. Impacto del Encapsulamiento en las Decisiones de Diseño.


Hace algunos años las ventajas de ajustar un diseño en un solo circuito daba
como resultado un menor costo e incluso un rendimiento más elevado, con el
pasar del tiempo se está logrando integrar todos los elementos de un sistema,
exceptuando la memoria principal en un solo chip.

3. Costos de un Circuito Integrado.

En un mercado de computadores crecientemente competitivo donde las partes


estándares están convirtiéndose en una parte significativa del costo de cualquier
sistema.

El costo de cualquiera de los circuitos integrados empieza a significar una gran


porción del costo global, que varían entre máquinas especialmente en el
segmento de mercado de gran volumen sensible al costo, por esta razón los
diseñadores de computadores deben conocer los costos de chips para
comprender los costos de los computadores actuales.

Aunque los costos de los circuitos integrados han disminuido exponencialmente,


el procedimiento básico de la manufactura del silicio sigue inalterado. Una
oblea (donde están los pines), todavía se examina y divide en todos los que se
presentan así, el costo de un chip encapsulado.

Ctd
Cci  Cd   Ce
Ptf
Cci : Costo del circuito integrado.
Cd : Costo del dado.
Ctd : Costo del test del dado.
Ce : Costo del encapsulamiento.
Ptf : Productividad del test final.

COSTO FRENTE A PRECIO.


Los costos de los componentes pueden limitar los deseos del diseñador, sin embargo
están muy lejos de representar lo que el cliente debe pagar puesto que sufre una
serie de cambios hasta convertirse en precio. Las categorías que hacen subir los
precios podríamos representarlos como una taza sobre el costo o como un porcentaje
del precio, y son los siguientes.

1. Costo Directos.

- 13 -
Arquitectura de Computadores.

Se refieren a los costos de mano de obra, compra de componentes, desperdicios


y garantía. Estos valores suponen un incremento del 25% al 40% de los costos
de los componentes.

Los costos de servicio o mantenimiento no están incluidos porque normalmente


los paga el cliente.

2. Costo Indirectos o Margen Bruto.


Constituyen los gastos de la compañía que no pueden ser facturados al producto,
incluyen gastos de investigación y desarrollo, marketing, ventas, mantenimiento
de equipo de fabricación. Alquiler de edificio, costos de financiación, servicios
básicos como (agua, luz, teléfono).

3. Precio de Venta Promedio.

Representa a los costos de los componentes multiplicados por el costo directo y


el margen bruto, y es el dinero que entra a la compañía por cada producto
vendido, podríamos decir que el costo indirecto o margen bruto estaría entre el
45% al 65% del precio de venta medio.

4. Precio de Lista

Difiere del precio de venta medio por cuanto las empresas ofrecen descuentos en
volumen de venta, por tanto dependiendo del sistema de distribución, tendríamos
que el precio medio de venta normalmente del 60% al 75% del precio de lista.

C c 1  C d 
P1 
1  Dm 1  M b 
C c  Costo de componente s
C d  Costos directos
Dm  Descuento medio
M b  M arg en bruto o Costo indirecto

El Precio Es Sensible A La Competencia

Una compañía que se esfuerce por ganar mercado podría ajustar el descuento
medio o los beneficios pero necesariamente debe venir con sus componentes,
costos directos y los costos del margen bruto.

Rendimiento.

El tiempo es la medida del rendimiento del computador, el computador que


realiza la misma cantidad de trabajo en el mínimo tiempo es más rápido. Ahora

- 14 -
Arquitectura de Computadores.

el tiempo se puede definir de formas distintas dependiendo de lo que queramos


cuantificar.

1. Tiempo Transcurrido.

Es la definición más directa al tiempo se lo denomina también tiempo de


respuesta o tiempo de reloj, y constituye la latencia para completar la tarea,
incluyendo accesos a disco, memoria, actividades de entrada/ salida, gastos
de sistema operativo.

2. Tiempo de CPU.

Lo podríamos definir básicamente como el tiempo de cálculo sin incluir el


tiempo de entrada /salida, o ejecución de otro programa, en el caso de útil
programación, este tipo puede definirse en tiempo de CPU usuario que
representa el tiempo empleado por la CPU en la ejecución de programa.

El tiempo de CPU del sistema corresponde al tiempo empleado por el


sistema operativo, realizando tareas requeridas por el programa.

Rendimiento de la CPU

Este término rendimiento de la CPU se refiere al tiempo de CPU del usuario, el cual
para un programa puede efectuarse de dos formas:

TCPU  Cr  Dcr

o también

Cr
TCPU 
Fr

Cr  Ciclos de reloj de CPU para un programa


Dcr  Duración del ciclo de reloj
Fr  Frecuencia de reloj

La mayoría de los computadores se construyen utilizando un reloj que funciona a


frecuencia constante, los ciclos de reloj son eventos discretos de tiempo, también
llamados pulsos, o ciclos. Sin embargo los diseñadores de computadores, en referencia,
el tiempo de un período de reloj por su duración y por lo general está en nano segundos,
por su frecuencia está dado en MHz, por lo tanto no tiene sentido representar el tiempo
transcurrido en función de la duración del ciclo de reloj puesto que por ejemplo la
latencia en los dispositivos de entrada / salida por lo general es independiente de la
frecuencia de reloj de la CPU.

- 15 -
Arquitectura de Computadores.

Adicional al número de ciclos de reloj para ejecutar un programa podemos contar el


número de instrucciones ejecutadas, también llamado cuenta de instrucciones.
Conociendo estos dos argumentos podemos calcular número medio del ciclo de reloj
por instrucción.

Cr
CPI 
Cin

CPI : Número medio de ciclos de reloj por instrucció n.


Cin : Cuenta de instrucció n
Cr : Ciclo de reloj .

TCPU  Cin  CPI  Dcr

Cin  CPI
TCPU 
Fr

Las unidades de medidas está dada en segundos, por programa, de esta última fórmula
podemos deducir que el rendimiento de la CPU depende de tres características, ciclos de
reloj o frecuencia, ciclos de reloj por instrucción y cuenta de instrucción.

Medidas de Rendimiento.

De la búsqueda de una medida estándar del rendimiento del computador se desprende


que la única mediada fiable y consistente de rendimiento es el tiempo de ejecución de
los programas de ahí que podríamos citar estas dos mediciones.

1. Mips Y Sus Errores De Utilización.

Una alternativa al tiempo como métrica son los mips que equivale.

Cin Fr
MIPS  
Te  10 6
CPI  10 6
Te  Tiempo de ejecución.

Por lo general utilizamos .


Cr
TCPU 
Fr

Ya que la frecuencia de reloj es fija para una máquina, y el CPI generalmente es


u número pequeño diferente a la cuenta de instrucción o al tiempo de ejecución.

- 16 -
Arquitectura de Computadores.

La ventaja de utilizar esta métrica radica en su comprensión misma que coincide


con la intuición puesto que máquinas más rápidas significan un mayor número
de bits sin embargo el problema radica cuando queremos comparar.

Así tenemos los siguientes casos:

 Los mips son independientes de las cuentas de instrucción lo cual


hacen difícil comparar máquinas con diferente conjunto de
instrucciones.

 Los mips varían entre programas en el mismo computador.

 Los mips pueden variar inversamente al rendimiento puesto que no


reflejan el tiempo de ejecución.

2. Mflops Y Errores De Utilización.

Otra alternativa de cuantificación son los mflops significa millones de


instrucciones por segundo en punto flotante.

Nopf
MFLOPS 
TCPU  10 6

Nopf : Número de operacione s de punto flo tan te de un programa

Punto Flotante. Precisión de la máquina, n cantidad de decimales.

Para un sistema administrativo no tiene mucho sentido mayor número de


decimales.

Elección De Programas Para Evaluar El Rendimiento.

Un usuario que ejecuta los mismos programas día tras día debería ser el
candidato perfecto para evaluar un nuevo computador, potencialmente para
evaluar un nuevo sistema simplemente compararía el tiempo de ejecución de su
carga trabajo, mezcla de programas y comando del sistema operativo que el
usuario corre en una máquina, sin embargo no siempre es posible este tipo de
evaluación por lo que se debe confiar en otros métodos y con frecuencia otros
evaluadores esperando que estos métodos nos den un mejor criterio sobre el
rendimiento de la nueva máquina. Entre los métodos existentes nombraremos a
continuación los siguientes:

1. Programas. Aunque el computador puede no conocer que fracción de


tiempo se emplea en los programas conoce que los usuarios lo ejecutarán
para resolver problemas reales, ejemplos de programas pueden ser juegos,

- 17 -
Arquitectura de Computadores.

programas utilitarios, compiladores; un compilador de C es efectivo para ver


cual es más rápido.
2. Núcleos. Son pequeñas piezas clave de programa reales utilizados para
evaluar el rendimiento, este tipo de programas no pueden ser ejecutados por
el usuario real, y únicamente se emplean para evaluar el rendimiento.
3. Benchmarks Reducidos. Por lo general tiene entre 10 y 100 líneas de
código y producen un resultado que el usuario conocía con anterioridad.

Ejemplo de este tipo de programas pueden ser programas de clasificación de


nombres de un archivo, en el caso en que no trabajemos con UNÍX porque
este ya tiene comando.

4. Benchmarks Sintéticos. Intentan determinar la frecuencia media de


operaciones y operandos de un gran conjunto de programas al igual que los
núcleos no pueden ser ejecutados por el usuario pues no calculan nada que el
usuario pueda utilizar ya que su código se crea artificialmente para
determinar un perfil medio de ejecución.

Las presiones de las empresas de los computadores pueden (si se quiere)


tapara los esfuerzos de diseño al añadir optimizaciones que mejoran el
rendimiento de los programas de diseños sintéticos o reducidos tal es así que
se ha diseñado preprocesadores que exploran las palabras claves del texto
para tratar de identificar que benchmark se está utilizando, examinando ya
sea el nombre del autor o el nombre de su subrutina que se considere
esencial, si la exploración identifica el tipo de programa utilizando para
evaluar el rendimiento se realizan optimizaciones especiales que obtienen un
cargo brusco en el rendimiento, de ahí que su utilización debe realizarse con
sumo cuidado y conocimientos adecuados.

NÚCLEOS  Livermore foops


 Lin pack

BENCHMARKS RED  Criba


Puzzle
Quicksort
BEENCHMARKS SINT  Whetstone
Dhrystone

5. UserBenchmark

Una de las herramientas de benchmark más rápidas y fáciles de usar


para el común de los mortales es UserBenchmark, que además de analizar el
rendimiento de tu PC muestra en su página web el resultado de pruebas
anteriores organizados por tipo de componente, para que puedas comparar.
Otro detalle interesante es que muestra precios estimados de cada
componente en la moneda de distintos países, entre ellos España.

- 18 -
Arquitectura de Computadores.

En concreto, UserBenchmark analiza CPU, GPU, RAM, discos HDD y SSD


y unidades de disco externas o memorias USB. Es una herramienta gratuita y
compatible con las versiones más recientes de Windows.

6. Novabench

Otra herramienta que destaca por su simplicidad es Novabench. En esta


ocasión, funciona tanto para Windows como para Mac. Al igual que
UserBenchmark, guarda en su página web resultados de pruebas anteriores
para que compares con tu PC o Mac.
En particular, Novabench analiza la velocidad y rendimiento del procesador
o CPU, de la tarjeta gráfica o GPU y de la velocidad RAM.

7. PCMark

Como en el caso de SANDRA, PCMark es un viejo conocido en las


herramientas de benchmark, enfocado a entornos profesionales e incluso
publicaciones especializadas y que cuenta con otras herramientas de análisis
específicas, como 3DMark para GPUs o Powermark para rendimiento de
baterías.
PCMark analiza todos los componentes de tu PC, incluyendo procesador,
tarjeta gráfica, RAM, batería en caso de ser un portátil, unidades de disco
duro o SSD, etc.
Para el usuario doméstico es recomendable usar la versión básica o Basic
Edition.

Información Sobre los Resultados del Rendimiento

El principio a seguir a la hora de informar sobre las medidas de rendimiento


deberá ser la reproductividad, es decir enumerar todo lo que otro evaluador
pueda necesitar para duplicar los resultados, al comparar rendimiento de
computadores es una tarea interesante, especialmente cuando hay diseñadores
implicados. Si tomamos individualmente los tiempos de ejecución para
diferentes programas en diferentes computadores cada uno de los resultados
puede ser útil, sin embargo colectivamente pueden representar un caso confuso,
la aproximación más sencilla para resumir el rendimiento relativo es utilizar el
tiempo de ejecución total de todos los programas evaluados, la medida de los
tiempos de ejecución basados en los tiempos de ejecución total es la media
aritmética.
1
Marp  n
Wi

i 1 Vi

Marp: Media
1 n
Mat   Tei
Mat: Media
n i 1 Armónica
Aritmética
Vi: Función de
n: número de programas. n=Número programas
- 19 - de carga de trabajo
Tei: Tiempo de ejecución
. del i_ésimo programa
Arquitectura de Computadores.

1
Tei

Principios Generales de Jerarquía de Memoria


Una jerarquía de memoria generalmente consta de muchos niveles pero en cada
momento se gestiona entre dos niveles adyacentes, siempre el nivel superior que es el
más cercano al procesador es más pequeño y más rápido al nivel inferior.

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).

Bloque. Es la mínima unidad de información que puede estar o no presente en la


jerarquía de los niveles el tamaño de un bloque puede ser fijo o variable, si es fijo el
tamaño de memoria es múltiplo del tamaño del bloque.

Tipos de Acceso al Nivel Superior.

El éxito o el fracaso de un acceso a nivel superior se le asigna como acierto o fallo.

- 20 -
Arquitectura de Computadores.

Un acierto es un acceso a memoria que se encuentra a nivel superior, un fallo significa


que se encuentra en ese nivel, la frecuencia de aciertos, o taza de aciertos viéndolo
como un promedio es la fracción de accesos a memoria encontrados en el nivel superior,
a veces se presenta como un porcentaje, la frecuencia de fallos es la fracción de acceso
no encontrada nivel superior. Al ser el rendimiento la razón principal para tener una
jerarquía de memoria, la velocidad de aciertos y fallos es importante.

El tiempo de acierto, el tiempo para acceder al nivel superior, de la jerarquía de


memoria incluyendo el tiempo para determinar si el acceso es un acierto o un fallo.

Penalización de Fallo.

Es el tiempo para sustituir un bloque del nivel superior por el bloque correspondiente
por el bloque del nivel más bajo, más el tiempo en proporcionar este bloque al
dispositivo que lo ha pedido y por lo general es la CPU, esta penalización de fallo se
mide en dos componentes: tiempo de acceso y tiempo de transferencia.

El tiempo de acceso es el tiempo para acceder a la primera palabra de un bloque, en el


caso de un fallo y está relacionado con la latencia de un nivel más bajo de memoria.

Tiempo de Transferencia es el tiempo adicional para transferir las palabras restantes


del bloque. Está relacionado con el ancho de banda entre el nivel superior e inferior.

Dirección de Memoria

Esta dividida en piezas que acceden a cada parte de la jerarquía, la primera pieza sería la
dirección de la estructura del bloque que es la parte de orden superior de la dirección
que identifica un bloque en un nivel de la jerarquía, el tamaño de la dirección de la
estructura del bloque, es el tamaño de la dirección completa en ese nivel, menos el
tamaño de la dirección del desplazamiento del bloque.

Dirección del Desplazamiento del Bloque

Es la parte de orden inferior de la dirección, identifica un elemento en un bloque, el


tamaño de la dirección del desplazamiento es ln 2 del tamaño del bloque.

Ejemplo:

Suponiendo un tamaño de 32 bits.


Para este caso el tamaño del bloque es 512.

Dirección de la estructura de bloque Dirección de desplazamiento del bloque


bloque
bloque 01 01 10 10 00 10 00 00 10 01 01 0 1 11 00 11 10

- 21 -
Arquitectura de Computadores.

Implicaciones de Jerarquía de Memoria a la CPU

1. Los procesadores diseñados en jerarquía de memoria son más simples por


cuanto los accesos a memoria emplean la misma cantidad de tiempo.

2. Los fallos en una jerarquía de memoria significa que la CPU debe manejar
tiempo de acceso a memorias variables, si la penalización de fallo está en el
orden de decenas de ciclos de reloj, el procesador normalmente espera a que se
complete la transferencia a memoria, en cambio si la penalización de fallos es de
miles de instrucciones de reloj del procesador es muy costoso dejar a la CPU
inactivo, en este caso la CPU es interrumpida y se lo utiliza para otro proceso
durante el tratamiento del fallo.
3. El procesador debe tener algún mecanismo para determinar si la fracción está o
no en el nivel superior de la jerarquía de memoria, esta comprobación se realiza
en cada acceso a memoria y afecta al tiempo de acierto, en este sentido mantener
un rendimiento aceptable requiere habitualmente que la comprobación se
implemente en hardware.

4. La implicación final de una jerarquía de memoria, es que el computador debe


tener un mecanismo para transferir bloque entre nivel superior e inferior, si la
transferencia de bloques es de decenas de ciclos de reloj se controla por
hardware y es de miles de ciclos de reloj se puede controlar por software.

- 22 -
Arquitectura de Computadores.

Caches.

Es el nombre escogido para representar el nivel de jerarquía de memoria entre CPU


y memoria principal, actualmente tenemos caches en toda clase de computadoras, e
inclusive varias memorias caches.

Donde Puede Ubicarse un Bloque en una Cache.

Las restricciones sobre donde se coloca un bloque generan tres categorías de


organización de cache.

1. Correspondencia Directa. Se produce si cada bloque solamente tiene un lugar


donde puede aparecer la cache.

2. Totalmente Asociativa. Se produce si un bloque se puede colocar en cualquier


parte de la caché.

3. Asociativa por Conjuntos. Si un bloque puede colocar en un lugar restringido


de los lugares de la caché.

Como se Encuentra un Bloque en Lugares de la Caché

La caché incluye una etiqueta de dirección en el bloque que identifican la dirección de


la estructura del bloque, la etiqueta del bloque de la caché que puede contener
información deseada se comprueban para ver si coinciden con la dirección de la
estructura del bloque requerido por la CPU. Considerando que la velocidad es esencial
todas las posibles etiquetas se buscan en paralelo.

Qué Bloque Debe Reemplazarse en un Fallo de la Caché.

Si la decisión se hiciese, entre un bloque que tiene un dato válido y un bloque que no lo
tiene entonces sería fácil relacionar que bloque debe reemplazar, desafortunadamente la
frecuencia elevada de aciertos de la caché significa que la decisión hay que tomarla
entre bloques que tengan datos válidos.

Un beneficio de la ubicación de la correspondencia directa es que las decisiones


hardware se simplifican, pues solo se comprueba un bloque para un acierto, y solo se
puede reemplazar ese bloque no hay elección con la ubicación completamente

- 23 -
Arquitectura de Computadores.

asociativa, o asociativa por conjuntos donde hay varios bloques a elegir cuando se
produce el fallo, en este caso hay dos estrategias para determinar el bloque a
reemplazar.

1. Aleatoria. Se relaciona aleatoriamente los bloques candidatos.

2. La Menos Recientemente Usada. Para reducir la posibilidad de desechar


información que se necesitará pronto en alguna parte se registrarán los accesos a
los bloques, el bloque sustituido es el que hace más tiempo no ha sido utilizado.

El más usado no será cambiado.


El menos usado será cambiado.

Qué Ocurre en la Escritura.

Las lecturas dominan los accesos a las caches, todos los accesos de instrucciones son
lecturas, y muchas instrucciones no escriben en memoria, así el caso común rápido, que
significa optimizar las caches para la lectura, sin embargo conforme a la Ley de
Amdhal, los diseños de alto rendimiento, no pueden despreciar la velocidad de las
escrituras, existen muchos diseños de caches sin embargo hay dos opciones básicas.

1. Escritura Directa. La información se escribe en el bloque de la caché, y en el


bloque de la memoria de nivel inferior.

2. Posescritura. La información se escribe sólo en el bloque de la caché, el bloque


modificado de la caché se escribe en la memoria principal solo cuando es
reemplazado, los bloques de caché posescritura se denominan limpios o
modificados, dependiendo de que la información de la caché difieran de la
memoria de nivel inferior, para reducir la frecuencia de posescrituras en el
reemplazo se utiliza comúnmente una característica denominada bit de
modificación, este bit de estado indica si el bloque se modificó o no en la caché,
si no lo fue el bloque no es escrito ya que el nivel inferior tiene la misma
información de la caché.

TIPO DE CACHÉ
Caché de disco
Es una porción de memoria RAM asociada a un disco, con el fin de almacenar datos
recientemente leídos y agilizar su carga en dado caso que sean solicitados otra
vez. Puede mejorar notablemente el rendimiento de las aplicaciones, dado que acceder a
un byte de datos en RAM puede ser miles de veces más rápido que acceder a un byte del
disco duro.

- 24 -
Arquitectura de Computadores.

Caché de pista
Es una memoria de estado sólido tipo RAM cuyo uso de esta clase de discos
generalmente se limita a las supercomputadoras por su costo tan elevado.

Caché web
Es la encargada de almacenar documentos web para reducir el ancho de banda
consumido, la carga de los servidores y el retraso de las descargas. Existen 3 tipos de
caché web:

Privados: que solo funcionan para un usuario,


Compartidos: sirven páginas a varios usuarios
Pasarela: que funcionan a cargo del propio servidor original, de forma que los clientes
no distinguen unos de otros.

COMPOSICIÓN INTERNA DE LA CACHÉ


Los datos en la memoria caché se alojan en distintos niveles según la frecuencia de uso
que tengan. La información puede transferirse entre los distintos niveles de forma
inclusiva o exclusiva

Caché Inclusivo: los datos solicitados se quedan en la memoria caché de procedencia,


es decir, se mantiene una copia en dos o más niveles.

Caché Exclusivo: los datos solicitados se eliminan de la memoria caché de procedencia


una vez transferidos al nuevo nivel.

Caché de nivel 1 (L1)


La memoria caché de nivel 1 o memoria interna, está integrada al procesador del
ordenador y trabaja a su misma velocidad. Esta caché está dividida en dos partes, una se
encarga de almacenar las instrucciones y las otra de los datos.

- 25 -
Arquitectura de Computadores.

Caché de nivel 2 (L2)


Almacena datos y archivos. Su velocidad de respuesta es un poco menor al caché de
nivel 1. No está dividida y su uso está más encaminado hacia los programas de los
ordenadores.

Caché de nivel 3 (L3)


Agiliza el acceso a los datos e instrucciones que no fueron localizados en el L1 y L2. Su
velocidad de respuesta es menor a la L2 y actualmente se utiliza poco, pero, su
capacidad de respuesta es superior que la que posee la memoria principal.

Ventajas de los Dos Tipos de Escritura

Con la posescritura las escrituras se realizan la velocidad de la memoria caché y


múltiples escrituras en un bloque requieren solo una escritura en la memoria de nivel
inferior como cada escritura no va a memoria, la posescritura utiliza menos ancho de
banda de memoria, haciendo atractivo este tipo de escritura en equipos con
multiprocesadores,
La escritura directa es más fácil de implementar adicionalmente la memoria principal,
tiene la copia más reciente de los datos, esto es importante tanto en los procesadores
como en las entradas /salidas.

En la estrategia de escritura directa, cuando la CPU debe esperar la finalización de


cada escritura, antes de proceder con la siguiente se produce una demora de la CPU, una
forma de optimizar esta demora es con un buffer de escritura, que permite al procesador
continuar mientras se actualiza la memoria.

- 26 -
Arquitectura de Computadores.

Tipos de Caché. Aunque de forma distinta a otros niveles de jerarquía de memoria las
caches suelen dividirse en caches de instrucciones y en caches de datos, las caches que
pueden contener instrucciones o datos se les denomina unificadas o mixtas.

Caché de Solo Instrucciones o Sólo Datos Frente a Caches Unificadas.

Las caches de instrucciones tienen menos frecuencia de fallos que las caches de datos,
pues la separación de o instrucciones y datos elimina fallos debido a conflictos entre los
bloques de instrucciones y los bloques de datos, pero al dividir también se fija un
espacio dedicado a cada tipo, una buena comparación de caches separadas de
instrucciones, y con las caches unificadas, implica que el tamaño total de la caché sea el
mismo por ejemplo si tenemos una caché de instrucción de 1 Kbyte y caché de datos de
1Kbyte deberíamos comparar con una caché unificada de 2 Kbytes.

Memoria Principal

Suponiendo que existiera un solo nivel de caché, la memoria principal es el siguiente


nivel en la jerarquía.

Las memorias establecen las necesidades de las caches y a la vez sirven de interfaz de
entrada / salida. Las medidas de rendimiento de la memoria principal hace énfasis en la
latencia y en el ancho de banda, generalmente la latencia de la memoria principal, que
afecta a la penalización de fallo de la caché, es la preocupación primordial de la caché,
mientras que el ancho de banda de la memoria principal, es la preocupación principal de
las entradas / salidas. La latencia de memoria tradicionalmente se expresa utilizando dos
medidas que son tiempo de acceso y duración del ciclo.

El tiempo de acceso, es el tiempo desde que se pide una lectura hasta que llega a la
palabra deseada.

La duración del ciclo, es el tiempo mínimo entre peticiones a memoria.

Tipos de Memoria Principal.

Tenemos básicamente de dos tipos, las de acceso estáticas, y las de acceso dinámicas.

Las Memorias Dinámicas DRAM.

Su característica principal es la multiplexación de la líneas de dirección, reduciendo de


esta manera, el número de patillas de dirección a la mitad, para ello la mitad superior de
la dirección que viene primero, viene dada durante un proceso de acceso a las filas este
proceso es llamado SAS y la segunda parte de la dirección viene dado durante el acceso
a columnas, este acceso se llama CAS, de allí que la memoria está organizada como una
matriz rectangular direccionada por filas y columnas, en estas memorias cada fila debe
ser accedida en cierto intervalo de tiempo, caso contrario podría perderse la
información, esto significa que el sistema de memoria ocasionalmente puede no estar
disponible por cuanto estaría enviando una señal para refrescar cada chip; una
característica de este tipo de memorias es que los datos se vuelvan a escribir después de

- 27 -
Arquitectura de Computadores.

ser leídos, de ahí que hay diferencia entre el tiempo de acceso, la duración del ciclo y la
necesidad del refresco, su diseño se caracteriza principalmente por su capacidad, el
rendimiento en las DRAM crece a una velocidad mucho más lenta que la CPU.

Memorias Estáticas SRAM.

Por su naturaleza de memoria estática utiliza más circuitos por bits para prevenir que se
produzcan distorsiones en momentos de lectura sus característica principal es la
velocidad aunque también tiene como ventaja la capacidad, a diferencia de la DRAM,
no existe diferencia, entre el tiempo de acceso, la duración del ciclo y el refresco.

Comparaciones.

Para memorias diseñadas con tecnología comparables

 La capacidad de las DRAM es 10 veces la de las SRAM.


 El tiempo de ciclo de las SRAM es 8 a 16 veces más rápido que las DRAM.
 La memoria principal de casi todos los computadores actuales está compuesto
por DRAM, mientras que la memoria cache utiliza SRAM.

- 28 -
Arquitectura de Computadores.

Memoria Virtual.

En cualquier instante del tiempo los computadores están corriendo múltiples procesos
cada uno con su propio espacio de direcciones la mayoría utiliza solo una pequeña parte
del asignado de ahí que debe haber un medio de compartir una cantidad de memoria
física entre muchos procesos.

La memoria virtual divide la memoria física en bloques, los asigna a diferentes


procesos, adicionalmente, existe un esquema de seguridad que restringe para un proceso
exactamente los bloques que le pertenecen a ese proceso, la memoria virtual reduce
también el tiempo para arrancar un programa, ya que no es necesario que la totalidad del
código estén en memoria antes de que se inicien, inicialmente fue inventada para
aligerar a los programas el ajuste de un programa demasiado grande que superaba el
tamaño de la memoria física y gestionado automáticamente los dos niveles de jerarquía
de memoria, representados por la memoria principal y la memoria secundaria,
actualmente los dos niveles de la jerarquía de memoria controlados son las DRAM para
memoria principal y los discos para memoria secundaria.

Definición de Memoria Virtual. El término memoria virtual describe un sistema de


memoria en jerárquico de al menos dos niveles, que serían memoria principal más la
memoria secundaria o disco, es gestionado por el sistema operativo para dar la
apariencia al usuario (a los programas) de una memoria principal directamente
direccionada, un mecanismo de memoria virtual permite que los programas vean una
cantidad de memoria mayo a la disponible en forma transparente, es decir los programas
no se preocupan por cargar o descargar de memoria sus particiones por cuanto esta tarea
es delegada al sistema operativo.

Traductor. Es la combinación de hardware y software que traduce las direcciones


virtuales producidas por la CPU en direcciones físicas que pueden ser utilizadas para
acceder a memoria principal esta es una labor del Sistema Operativo.

- 29 -
Arquitectura de Computadores.

Diferencias Entre Caches y Memoria Virtual.

1. El reemplazo en los fallos de la caché está controlado netamente o


principalmente por el hardware, mientras que el reemplazo en memoria virtual
está controlado por el Sistema Operativo.

2. El tamaño de la dirección del procesador, determina el tamaño de la memoria


virtual, en cambio el tamaño de la caché normalmente independiente de la
dirección del procesador.

3. Además de actuar como memoria de más bajo nivel para la memoria principal
en la jerarquía, la memoria secundaria también se utiliza para el file sistem
(sistema de archivos), que por lo general no es parte del espacio de direcciones,
pues es conocido que la mayor parte de la memoria secundaria, está ocupado
por el sistema de archivos (lo que conocemos como sistema de datos).

Se pueden categorizar en dos clases: las páginas que se caracterizan por ser bloques de
tamaño fijo, y los segmentos que son de tamaño variable.

Paginación.

El esquema de direcciones virtuales es particionado en un conjunto de páginas de igual


tamaño que va entre los 512 bytes, hasta los 8000 bytes, siempre está en una potencia de
dos.
El espacio físico es particionado en trozos del mismo tamaño de la página, llamados
marcos de página de tal modo que cada trozo de la memoria principal es capaz de
almacenar una página.
La transformación de una dirección virtual a una dirección física se lo realiza mediante
una información almacenada en una tabla de páginas que contiene la lista de páginas y

- 30 -
Arquitectura de Computadores.

un puntero a memoria (a un marco de página en memoria principal o a memoria


secundaria).

Forma de Interpretar una Dirección Virtual.

P  Selector de Página.
D  Desplazamiento Dentro de la Página.

Ejemplo:

Dirección virtual = 16 bits


P = 5 bits
D = 11 bits

5 bits para P = 25 = 32 páginas.


11 bits para D páginas de 2K cada una igual a 2048 bytes = 2Kb

Espacio direccionable Virtual = 32  2 = 64 Kb

Ahora tenemos direcciones virtuales de 128 bytes páginas mucho más grandes.

Mecanismo de Transformación (Paginación).

Como habíamos mencionado el mecanismo de transformación hace uso de una tabla de


páginas como la que se muestra a continuación.

P V D Memoria
0 1 Dirección disco
Marco
página

En donde P es el número de páginas, V es el bit de validez, que indica si la página está


en memoria principal.

D es la dirección del marco de página que va a ser:

Si V=1  está en memoria principal.


V=0  está en disco.

Ejemplo:

Dada la siguiente dirección virtual generada por un programa ( Po , Do) obtener la


dirección física.

1. El campo Po, se utiliza como índice de entrada en la tabla de página.


Por ejemplo Po es Número de página

Po 1 M Po

- 31 -
Arquitectura de Computadores.

Como el bit que indica la presencia en la página de memoria está el 1 dicha página
tiene un marco de página asociado que está dado por M Po Este valor corresponde
a un puntero de un marco de página específico.

2. Luego la dirección real de memoria se obtiene como:

DR = M Po + Do

DR: Dirección real.


Do : Desplazamiento.

Si la página no está en un marco (bit V = 0), se produce una interrupción o fallo de


página que es manejado por el S.O. y que realiza las siguientes acciones:

1. La transferencia del bloque de memoria secundaria (utilizando la dirección de


memoria por MP o) hacia un marco disponible.

2. Actualizar la tabla de páginas.

3. Devuelve el control a la instrucción que produjo el fallo de página.

Si durante la acción 1 se detecta que no existe un marco disponible osea la memoria está
completamente ocupada, es necesario liberar uno para cargar el bloque asociado a la
página actualmente referenciada, este mecanismo se lo realiza utilizando algoritmos
propios de reemplazo.

El direccionamiento paginado tiene una única dirección de tamaño fijo dividida en


número de página y desplazamiento en una página, parecida al direccionamiento de la
caché.

- 32 -
Arquitectura de Computadores.

SEGMENTACION
}

Se consideran espacios de direcciones virtuales dividido en un conjunto de segmentos,


donde un segmento es una unidad lógica de información (que puede ser una rutina, un
área de datos, un archivo), de tamaño variable. Una dirección virtual se considera
dividida en un especificador de segmento S y un desplazamiento dentro del segmento
D.
La transformación de direcciones hace uso de una tabla de segmentos que indica la
ubicación de cada segmento en memoria (principal o secundaria).

Forma de Interpretar una Dirección Virtual.

Donde:
S: Selector de segmento
D. Desplazamiento dentro del segmento
E.
Ejemplo:

- 33 -
Arquitectura de Computadores.

Suponga que una dirección virtual es de 16 bits el campo S tiene asignado 2 bits y el
campo D 14 bits.

2 bits para S 4 segmentos.


14 bits para D tendremos un máximo de 16 Kbytes por segmento
Espacio direccionable virtual 64 Kbytes (216)

Mecanismo de Traducción (segmentación)

El mecanismo de transformación hace uso de una tabla de segmentos como la que se


muestra a continuación:

S V L D
0 0
1 1

Donde
S es el número de segmento.
V el bit de validez que es igual a 1 si está en memoria principal y 0 si no lo está.
L el tamaño del segmento, y
D la dirección de inicio del segmento (V=1) o dirección de disco (V=0)

Ejemplo:

Dada la siguiente dirección virtual (S0,D0) generada por un programa. La forma de


obtener la dirección física es la siguiente:

El campo S0 se utiliza como índice de una entrada en la tabla de segmentos:

So 1 Lo MS0

Dirección
Base
Como el bit es 1, indica que dicho segmento está cargado en memoria teniendo:

MS0 es la dirección base de Segmento.


D0 es la dirección de Desplazamiento.

Luego la dirección real de memoria DR se obtiene como:

DR = MS0 + D0

- 34 -
Arquitectura de Computadores.

El campo L se utiliza como un medio de protección frente a desplazamientos que


exeden el largo del segmento utilizado por lo tanto tenemos que verificar que el
desplazamiento D0 <= L0. Recordemos que los segmentos tienen tamaño máximo pero
dentro de ese límite se pueden manejar segmentos de tamaño menores.

Si un segmento no está en memoria (bit = 0) se produce una interrupción segment Fault,


que manejada por el Sistema Operativo, realiza operaciones análogas o parecidas al
caso de paginación.

VENTAJAS Y DESVENTAJAS PAGINACION Y SEGMENTACION

La decisión de utilizar paginación frente a segmentación afecta a la CPU. Las ventajas y


desventajas de utilizar ese sistema las vemos a continuación.

VENTAJAS DE LA PAGINACIÓN

1. Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en
memoria, y el resto se cargara bajo la solicitud.

2. No es necesario que las paginas estén contiguas en memoria, por lo que no se


necesitan procesos de compactación cuando existen marcos de páginas libres dispersos
en la memoria. (Quintuña, et al., 2010)

3. Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.

4. El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de


espacio de direcciones y espacios de memoria.

5. Se libera al programador de la restricción de programar para un tamaño físico de


memoria, con lo que s e aumenta su productividad.

6. Al no necesitarse cargar un programa completo en memoria para su ejecución, se


puede aumentar el número de programas multiprogramándose. (Quintuña, et al., 2010)

DESVENTAJAS DE LA PAGINACIÓN

1. El costo de hardware y software se incrementa, por la nueva información que debe


manejarse y el mecanismo de traducción de direcciones necesario. Se consume mucho
más recursos de memoria, tiempo en el CPU para su implantación. (Quintuña, et al.,
2010)
2. Se deben reservar áreas de memoria para las PMT (Tabla de Mapa de Páginas) de los
procesos. Al no ser fija el tamaño de estas, se crea un problema semejante al de los
programas (Quintuña, et al., 2010)

3. Aparece el problema de fragmentación interna. Así, si se requieren 5K para un


programa, pero las paginas son de 4K, deberán asignárseles 2 páginas (8k), con lo que
quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser
mayor que el de varias páginas, pero no podrá ser utilizado. Debe asignarse un tamaño

- 35 -
Arquitectura de Computadores.

promedio a las páginas, evitando que si son muy pequeñas, se necesiten TABLAS BMT
y PMT muy grandes, y si son muy grandes, se incremente el grado de fragmentación
interna. (Quintuña, et al., 2010)

VENTAJAS DE LA SEGMENTACIÓN

 El programador puede conocer las unidades lógicas de su programa, dándoles un


tratamiento particular.

• Es posible compilar módulos separados como segmentos el enlace entre los segmentos
puede suponer hasta tanto se haga una referencia entre segmentos.

• Debido a que es posible separar los módulos se hace más fácil la modificación de los
mismos. Cambios dentro de un módulo no afecta al resto de los módulos. (Quintuña, et
al., 2010)

• Es fácil el compartir segmentos.

• Es posible que los segmentos crezcan dinámicamente según las necesidades del
programa en ejecución.

• Existe la posibilidad de definir segmentos que aún no existan. Así, no se asignara


memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un
ejemplo de esto, serían los arreglos cuya dimensión no se conoce hasta tanto no se
comienza a ejecutar el programa. (Quintuña, et al., 2010)

ESVENTAJAS DE LA SEGMENTACIÓN

• Hay un incremento en los costos de hardware y de software para llevar a cabo la


implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.

• Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas
de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos
en memoria principal. (Quintuña, et al., 2010)

• Se complica el manejo de memoria virtual, ya que los discos almacenan la


información en bloques de tamaños fijos, mientras los segmentos son de tamaño
variable. Esto hace necesaria la existencia de mecanismos más costosos que los
existentes para paginación.
• Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de
reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo
que conlleva a nuevos costos. (Quintuña, et al., 2010)

• No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído
fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria
libre ajustada a su tamaño.

- 36 -
Arquitectura de Computadores.

• La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos


adicionales da hardware y software. (Quintuña, et al., 2010)

ERARQUÍA DE MEMORIA PARA LA MEMORIA VIRTUAL

Donde Puede Ubicarse un Bloque en Memoria Virtual.

Se utiliza la estrategia denominada totalmente asociativa por lo tanto los sistemas


operativos permiten que los bloques se coloquen en cualquier parte de la memoria
principal.

Como se Encuentra un Bloque en Memoria Virtual.

Tanto la paginación como la segmentación cuentan con una estructura de datos que está
indexada por el número de página o el número de segmento, esta estructura de datos
contiene la dirección física del bloque, para la paginación el desplazamiento del bloque
es sencillamente concatenado a la dirección física de la página, para la segmentación el
desplazamiento se suma a la dirección física del segmento para obtener la dirección
virtual final.

¿Qué Bloque Debe Sustituirse Cuando Hay Fallo En Memoria Virtual?

Casi todos los Sistemas Operativos intentan sustituir el bloque menos recientemente
usado (LRU) por que es el que menos probablemente se necesitará, para ubicarlo se usa
el índice de referencia que se pone siempre en 1 cada vez que se accede a una página.

¿Qué Ocurre con la Escritura?

- 37 -
Arquitectura de Computadores.

Se utiliza siempre como estrategia de escritura la post escritura debido al alto costo de
un innecesario acceso a un nivel más bajo de memoria. Los sistemas de memoria virtual
incluyen un bit de modificación para que sólo los bloques que han sido alterados desde
que se cargaron sean escritos en el disco.

Selección del Tamaño de Página

Elegir el tamaño de página, implica equilibrar fuerzas respecto a la conveniencia de


seleccionar un tamaño mayor frente a una de tamaño menor.

Tamaño de Página Mayor.

El tamaño mayor de página puede ayudar a la traducción de las direcciones de caché.

Tamaño de la Tabla de Páginas.

Es inversamente proporcional al tamaño de la página es decir que puede ahorrarse


memoria al hacer páginas mayores.

Transferir Páginas Mayores.

Desde memoria secundaria posiblemente sobre una red es más eficiente que transferir
páginas más pequeñas.

Tamaño de Páginas Menores.

La principal motivación es conservar memoria pues un tamaño de página mayor dará


como consecuencia menos memoria mal gastada, cuando una región contigua de
memoria virtual no sea igual en tamaño a un número de tamaño de página. El
término para esta memoria no utilizada en una página se llama fragmentación interna.

Cuando los tamaños de la página son muy grandes mayor a 32 Kbyte se puede mal
gastar memoria ya sea principal o secundaria así como también el ancho de banda de
entrada / salida.

Otro aspecto a considerar es el tiempo de arranque de un proceso pues muchos procesos


son pequeños por lo tanto tamaños de páginas mayores alargan el tiempo de invocar un
proceso.

- 38 -
Arquitectura de Computadores.

NECESIDAD DE LAS ENTRADAS/SALIDAS

Se ha observado en la practica que a medida que la velocidad de procesamiento se


incrementa, los programas que ejecutan entradas/salidas requieren mayor cantidad de
ellas.

Por otro lado, es usual que las aplicaciones que corren en los poderosos
supercomputadores requieran de operaciones de entradas/salidas de grandes volúmenes.
Esto sucede así por diferentes razones:

 Muchas veces los datos requeridos por un programa no se pueden colocar en


memoria principal y por eso deben ser colocados en archivos en discos.
 Otros casos son aquellos en los cuales los datos si pueden ser almacenados en
memoria, pero se requieren operaciones de entradas/salidas, por ejemplo, para
leer datos de entrada de archivos al principio del proceso y para escribir los
resultados al final; eventualmente se puede necesitar escribir o leer datos durante
el proceso.
 Hay aplicaciones que corren por largo tiempo, que requieren de puntos de
chequeo, en los cuales se detiene el procesamiento para reiniciar mas tarde; en
este momento es necesario almacenar el contenido de las estructuras de datos en
archivos.
 Las entradas/salidas pueden ser requeridas para la depuración de un programa
paralelo.

TIPOS DE DISEÑO DE E/S

En las computadoras actuales se utilizan comúnmente dos tipos de diseños de E/S:

Diseño Múltiple._ Es utilizado desde las microcomputadoras en adelante y el sistema


de cómputo consiste de una o varias CPU, una memoria y uno o más procesadores
especializados de E/S llamado canales de datos a donde se conectan todos los
dispositivos de E/S.

- 39 -
Arquitectura de Computadores.

Memoria Bus de
Principal memoria

CPU Bus de
E/S

Procesador de E/S Procesador de E/S


(canal) (canal)

Control de Impresora Disco Disco Discp


Terminales

Cuando la CPU desea realizar operaciones de E/S, carga un programa especial en uno
de los canales y le instruye para ejecutarlo. El canal maneja por si mismo todas las E/S
hacia la memoria principal, dejando libre a la CPU para hacer otras cosa. Cuando el
canal termina, envía a la CPU un interrupción (señal especial) para detener el proceso y
atender al canal. La ventaja de este diseño es que permite a la CPU descargar todo el
trabajo de E/S en el canal, permitiendo que tanto los cálculos como las operaciones de
E/S sean simultáneos.

En este diseño existen por lo menos tres buses:

1. El bus de memoria que permite al canal leer y escribir palabras de la memoria.


2. El bus de E/S que permite a la CPU emitir comandos a los canales, y a éstos les
faculta interrumpir a la CPU.
3. El bus que permite el acceso de la CPU a la memoria sin necesidad de utilizar
los otros.

Diseño único

Las PC utilizan este diseño que es mucho más simple; existe un gabinete para tarjetas
con gran tableta de circuitos impresos en el fondo al que se denomina tarjeta madre
(main borrad).
Esta contiene la CPU, algo de memoria y varios circuitos de soporte. Contiene también
un bus impreso a lo largo de uno de sus lados y contactos en los que pueden conectarse
tarjetas adicionales de memoria o de E/S.

- 40 -
Arquitectura de Computadores.

Gabinete
Trajeta
controladora
de E/S

Tarjeta de
memoria

Extremo
Conector

Estructura de un Sistema de E/S

DISQUETTERA
MONITOR
IMPRESORA
TECLADO

CPU Memoria Controlador Controlador Controlador Controlador de


de video de Teclado de Disquete Impresora

Controlador
de Discos

DISCOS DUROS

- 41 -
Arquitectura de Computadores.

Rendimiento de la E/S

Las E/S han sido los elementos mas despreciados por los diseñadores de hardware y por
los mejoradotes del rendimiento de los computadores, quienes no hacen sino
concentrarse en volver mas eficientes el procesamiento de la información (acrecentar el
rendimiento de la CPU), sin tener en cuenta el rendimiento de los sistemas de E/S; tanto
así que una de las medidas más utilizadas para determinar que tan poderoso, bueno o
malo es algún sistema de cómputo, es el tiempo de CPU, el cual ignora completamente
el tiempo de E/S.

Hay quienes dicen que la velocidad de las entradas/salidas no importan puesto que
siempre hay un proceso que ejecutar mientras otro está esperando un periférico. Este
argumento se puede refutar ya que está midiendo el rendimiento como productividad
(más tareas por hora) no como tiempo de respuesta, y si analizamos la mayoría de las
aplicaciones por ejemplo las que manejan transacciones encontramos que son exigentes
con el tiempo.

En general en un sistema en el que se mejora el rendimiento de la CPU con el fin de


obtener resultados mas rápidos y no se mejoran la velocidad de las E/S, cualquier
mejora adicional que se haga a la CPU incrementará el tiempo de inactividad de la CPU,
puesto que llegará un momento en que todos los procesos estén esperando por una E/S.
Como conclusión, la productividad de las E/S puede limitar la productividad del sistema
al igual que el tiempo de respuesta de las E/S limita el tiempo de respuesta del sistema.

Elementos que determinan el desempeño de las E/S

Ahora veremos que elementos juegan un papel importante en el desempeño de las E/S.
El número de operaciones físicas de E/S necesarias para satisfacer un
requerimiento.

La congestión en la red que ocasiona el aspecto anterior.

El ancho de banda requerido por las aplicaciones.

Los diferentes patrones de acceso de las aplicaciones.

Teniendo en cuenta estos factores, se han planteado alternativas que tratan de mejorar
uno o más de ellos. La mayoría de estas soluciones está orientada a algún tipo de
arquitectura.

Tipos de dispositivos de E/S

Aunque el modelo de computación ha cambiado poco en los últimos años, los


dispositivos de E/S son numerosos y diversos. Tres características son útiles para
organizar esta conglomeración dispar:

Comportamiento: entrada (leer una vez), salida (solo escribir, no puede leer) o
almacenamiento (puede ser releído y habitualmente reescrito).

- 42 -
Arquitectura de Computadores.

Compañero: o bien una persona o una máquina está en el otro extremo del dispositivo
de E/S, introduciendo datos en la entrada o leyendo datos en la salida.

Frecuencia de datos: la frecuencia máxima a la cual pueden transferir datos entre el


dispositivo de E/S , la memoria principal y CPU.
A continuación se muestra algunos dispositivos de E/S conectados a los computadores.

Dispositivo Comportamiento Compañero Frecuencia de datos(KB/s)


Teclado Entrada Humano 0.01
Ratón Entrada Humano 0.02
Entrada de voz Entrada Humano 0.02
Scanner Entrada Humano 200
Salida de voz Salida Humano 0.60
Impresora de Salida Humano 1.00
línea
Impresora láser Salida Humano 100
Pantalla gráfica Salida Humano 30000
Red-terminal Entrada-Salida Máquina 0.05
Red-Lan Entrada-Salida Máquina 200
Disco óptico Almacenamiento Máquina 500
Cinta magnética Almacenamiento Máquina 2000
Disco Almacenamiento Máquina 2000
magnético
Discos de Almacenamiento Máquina 20000
estado sólido

DISCOS MAGNETICOS

- 43 -
Arquitectura de Computadores.

Tienen dos funciones importantes en los sistemas de computadoras.

Las memorias volátiles o de largo plazo para archivos o bases de datos se encuentran
presentes aun cuando no se ejecuten los programas como un nivel de jerarquía de
memoria en el nivel inferior. En el nivel principal es utilizado como memoria virtual en
la ejecución de un programa.

El disco magnético consta de una colección de platos que giran sobre un eje
aproximadamente a 3600 rpm.

Los platos.- Son discos metálicos recubiertos ambas caras por material magnético y
adicionalmente los mayores tienen mayor rendimiento y los discos menores tienen
menor costo por unidad.

Cada superficie del disco esta dividida en círculos concéntricos denominados pistas,
cada pista a su vez esta dividida en sectores que contienen la información.
Cada pista puede tener 32 sectores.

Pistas Un disco esta dividido en delgados círculos concéntricos llamados pistas, las
cabezas se mueven desde la pista cero (la mas externa) a las pistas mas internas el
numero aproximado de pistas es 10.000.

Sector.- Es la unidad mas pequeña que puede ser leída o escrita. Tradicionalmente todas
las pistas tienen el mismo numero de sectores por lo tanto las pistas externas que son las
mas largas graban información con una densidad menor que las pistas mas internas.

Un BIT es la unidad mas útil mas pequeña en términos de memoria, los discos duros
almacenan información en espacios gruesos llamados sectores, la mayoría de los discos
usan sectores de 512 bytes. La controladora del disco determina tamaño de un sector en
momento que el disco es formateado pero lo general los sectores son de 512.

Cilindros.- El par de pistas al lado opuesto del disco se llaman cilindros si el disco duro
contiene múltiples discos supongamos que sea n, un cilindro incluye todos los pares de
pistas exactamente uno encima de otro o sea 2n pistas.
Los discos duros normalmente tienen una cabeza a cada lado del disco y dado que las
cabezas lectura/escritura están alineadas unas con otras, la controladora puede actuar en
todas las pistas del cilindro sin mover su estructura. Como resultado los discos duros de
múltiples platos (discos) se desempeñan un poco mas rápido que los discos duros de un
solo plato.

Clusters.- Es una agrupación de sectores su tamaño depende de la capacidad del disco.

- 44 -
Arquitectura de Computadores.

Componentes Principales.

Discos.- Están elaborados de compuestos de vidrios, de cerámica o aluminio finamente


pulidos y revestidos por ambos lados con una capa muy delgada de aleación metálica.
Los discos están unidos a un eje y un motor que los hace girar a una velocidad constante
entre 36000 y 72000 rpm.

1. Cabezas de escritura y lectura.- Están ensambladas en fila y son las


presponsables de la lectura y escritura de los datos en los discos, la generalidad en
los discos incluye una cabeza de escritura/lectura en cada lado del disco, sin
embargo algunos discos de alto desempeño tienen dos o mas cabezas sobre cada
superficie de manera que cada cabeza a tiende la mitad del disco reduciendo la
distancia del desplazamiento radial.
Las cabezas no topan el disco cuando esta girando al contrario flotan sobre una
superficie de cogin de aire extremadamente delgado aproximadamente diez
millonésimas de pulgada, esto reduce el desgaste en la superficie del disco en la
operación normal.

Se entiende que cualquier polvo o impureza puede dañar las cabezas.

2. Actuador (motor).-Es un motor que mueve la estructura que contiene las


cabeza de lecturas entre el centro y el borde externo de los discos.

3. Controladora (tarjeta controladora desl disco).-Opera el disco duro es el


responsable de interpretar los comandos del bus enviando señales para mover la
estructura leyendo y escribiendo.

Organización de los Datos en un Disco Duro

Un proceso de formateo físico organiza el nuevo disco en pistas y sectores cabe indicar
que la mayoría de los fabricantes tienen sus propias especificaciones de pistas y sectores
sin embargo los principios son los mismos.

Tamaño del drive Sectores por cluster Tamaño del Cluster


0-15 8 4

- 45 -
Arquitectura de Computadores.

16-27 4 2
128-255 8 4
256-511 16 8
512-1023 34 16
1024-2048 64 32

Medidas que describe el desempeño de un disco duro

Tiempo de Acceso.- Es el intervalo de tiempo entre el momento en que un drive recibe


un requerimiento por datos y el momento en que el drive empieza a despachar el dato
este tipo de acceso es la combinación de tres accesos.

 Tiempo de Búsqueda.- Es el tiempo que le toma a las cabezas de


lectura/escritura moverse desde de su posición actual hasta la pista que esta
localizada la información deseada. Como la pista deseada puede estar localizada
al otro lado del disco o en una pista adyacente este tiempo variara en cada
búsqueda.
Como otro medio se podría mencionar que los tiempos de pista a pista se acerca
a los 2 milisegundos, tiempos generales de búsqueda están aproximadamente por
los 10 a 15 milisegundos, tiempos máximos de búsqueda 15 milisegundos.

 Tiempo de Latencia.- Cada pista contiene múltiples sectores, una vez que la
cabeza de L/E encuentra la pista correcta las cabezas permanecen en el lugar
hasta que el sector pasa por alguna de ellas, este tiempo de espera se llama
latencia por lo tanto el tiempo de latencia dependerá de la velocidad con la que
gira los discos.

 Overhead.- Es el tiempo que toma la controladora para procesar un


requerimiento de datos, esto incluye determinar la localización física del dato en
el disco correcto, direccionar al motor para mover la estructura a la pista
correcta, leer el dato y direccionar al procesador, todo este tiempo en los
computadores actuales es prácticamente insignificante.

 Tasa de Transferencia.- Los discos duros también son evaluados por su tasa de
transferencia la cual generalmente se refiere a la tasa en la cual los datos pueden
ser leídos o escritos en el drive. Por lo tanto la velocidad de los discos, la
densidad de la velocidad de datos y el tiempo de acceso afecta a la tasa de
transferencia, este aspecto es importante cuando se lee y se escribe en archivos
muy grandes, la tasa promedio de transferencia oxila entre 20 y 50 megabyts por
segundo.

Dado que los procesadores y los discos duros se comunican por un bus de
entrada/salida la tasa de transferencia de ellos esta limitada por la tasa de
transferencia del bus, la cual en muchos casos es mucho más lenta que la tasa de
transferencia del drive.

- 46 -
Arquitectura de Computadores.

DISCOS DE ESTADO SÓLIDO

Una unidad de estado sólido o SSD (solid-state drive) es un dispositivo


de almacenamiento de datos que usa memoria flash (no volátil) para
almacenar datos, en lugar de los platos giratorios magnéticos que usan
los discos duros convencionales

En comparación con los discos duros tradicionales, las unidades de estado sólido son
menos sensibles a los golpes al no tener partes móviles, son prácticamente inaudibles, y
poseen un menor tiempo de acceso y de latencia, lo que se traduce en una mejora del
rendimiento exponencial en los tiempos de carga de los sistemas operativos. En
contrapartida, su vida útil es muy inferior, ya que tienen un número limitado de ciclos
de escritura, pudiendo producirse la pérdida absoluta de los datos de forma inesperada e
irrecuperable,2 sin embargo por medio del cáculo del tiempo medio entre fallos y la

- 47 -
Arquitectura de Computadores.

Administración de Sectores Malos (en inglés, Bad Block Management o BBM) dicho
problema puede ser mitigado.3 Las SSD hacen uso de la misma interfaz SATA que los
discos duros, por lo que son fácilmente intercambiables sin tener que recurrir
a adaptadores o tarjetas de expansión para compatibilizarlos con el equipo.
A partir de 2010, la mayoría de las SSD utilizan memoria flash basada en puertas
NAND, que retiene los datos sin alimentación eléctrica.1 Para aplicaciones que
requieren acceso rápido, pero no necesariamente la persistencia de datos después de la
pérdida de potencia, las SSD pueden ser construidos a partir de memoria de acceso
aleatorio (RAM). Estos dispositivos pueden emplear fuentes de alimentación
independientes, como baterías, para mantener los datos después de la desconexión de la
corriente eléctrica.4
Se han desarrollado dispositivos que combinan ambas tecnologías, discos duros con
memorias flash, que se denominan unidades de estado sólido híbridas (SSHD), e
intentan así aunar capacidad y velocidad a precios inferiores a las SSD.5

Ventajas

Los dispositivos de estado sólido que usan bloques de memorias flash tienen varias
ventajas únicas frente a los discos duros mecánicos:26

 Arranque más rápido, al no tener platos que necesiten tomar una velocidad
constante.
 Gran velocidad de escritura.
 Mayor rapidez de lectura, incluso diez veces más que los discos duros
tradicionales más rápidos gracias a los RAID internos en un mismo SSD.
 Baja latencia de lectura y escritura, cientos de veces más rápido que los discos
mecánicos.
 Lanzamiento y arranque de aplicaciones en menor tiempo: resultado de la mayor
velocidad de lectura y especialmente del tiempo de búsqueda. Pero sólo si la
aplicación reside en flash y es más dependiente de la velocidad de lectura que de
otros aspectos.
 Menor consumo de energía y producción de calor: resultado de no tener
elementos mecánicos.
 Sin ruido: la misma carencia de partes mecánicas los hace completamente
inaudibles.
 Mejorado el tiempo medio entre fallos, superando dos millones de horas, muy
superior al de los discos duros.
 Seguridad: permitiendo una muy rápida "limpieza" de los datos almacenados.
 Rendimiento determinista: a diferencia de los discos duros mecánicos, el
rendimiento de las SSD es constante y determinista a través del almacenamiento
entero. El tiempo de "búsqueda" constante.
 El rendimiento no se deteriora mientras el medio se llena.
(Véase Desfragmentación).
 Menor peso y tamaño que un disco duro tradicional de similar capacidad.
 Resistente: soporta caídas, golpes y vibraciones sin estropearse y sin
descalibrarse como pasaba con los antiguos discos duros, gracias a carecer de
elementos mecánicos.

- 48 -
Arquitectura de Computadores.

 Borrado más seguro e irrecuperable de datos, es decir, no es necesario hacer uso


del Algoritmo Gutmann para cerciorarse totalmente del borrado de un archivo.
Limitaciones

Los dispositivos de estado sólido que usan memorias flash tienen también varias
desventajas:

 Precio: los precios de las memorias flash son considerablemente más altos en
relación precio/gigabyte, debido a su menor demanda. Esta como tal no es una
desventaja técnica, y según se logre su uso masificado en detrimento del estándar
precedente, es de esperar que su precio se regule y se haga más asequible como
sucede con los discos duros móviles, que en teoría son más caros de producir por
llevar piezas metálicas y tener mecanismos de alta precisión.

 Limitada recuperación de datos: después de un fallo físico se pierden


completamente, pues la celda es destruida, mientras que en un disco duro normal
que sufre daño mecánico los datos son frecuentemente recuperables usando ayuda
de expertos que accedan al platillo.

 Fallo producido de forma inesperada: a diferencia de los discos tradicionales que


empiezan a acumular sectores erróneos de forma espaciada en el tiempo, dando la
posibilidad de hacer un volcado de los datos; los discos SSD producen el fallo de
forma inminente sin dar tiempo a salvar ningún dato en el momento que surge el
primer aviso de error. Por lo tanto, no son recomendados para el almacenamiento de
datos importantes para el usuario, ni en entornos empresariales sin copia de
seguridad.

 Vida útil: al reducirse el tamaño del transistor se disminuye directamente la vida


útil de las memorias NAND. Se solucionaría ya en modelos posteriores al instalar
sistemas utilizando memristores. La duración de los SSD se indica mediante los
TBW, que son la cantidad de TeraBytes escritos (TeraBytes Writen) que las
memorias del disco soportan.27 Este dato es teórico y lo proporciona el fabricante,
por lo que no puede considerarse una garantía. Es muy difícil de calcular su
duración, ya que no depende del tiempo, sino principalmente del uso intensivo de
escritura y lectura que se le dé.

 Menores tamaños de almacenamiento ofertados. En el año 2015 el máximo de


almacenamiento disponible en comercios era de 960 GB, y en el año 2019 ya se
encuentran de 4TB.

 Las tareas de mantenimiento tradicionales de los sistemas operativos acortan su


vida útil de forma dramática y se recomienda su desactivación.
La desfragmentación del disco duro, la utilización de memoria virtual o los procesos
de indexación de búsqueda contribuyen a continuos ciclos de escritura que acortan
la vida útil del SSD. Los peores procesos aplicables a una memoria de estado sólido,
son los tests de rendimiento en lectura/escritura y el formateo, que desgasta
automáticamente la unidad.28

 Las SSD necesitan recibir energía periódicamente, de lo contrario los datos


almacenados pueden perderse.29 Esto hace que un corte en el suministro eléctrico,

- 49 -
Arquitectura de Computadores.

les afecte pudiendo producir la pérdida absoluta de todos los datos. Existe un
método para recuperarlos que consiste en recargarlos con un ciclo completo de
carga que no siempre es eficaz. Se recomienda usarlos con un dispositivo protector
de la energía eléctrica SAI.

 DIFERENCIAS ENTRE DISCOS DUROS Y SSD

- 50 -
Arquitectura de Computadores.

TEGNOLOGÍA SCSI

SCSI 1. Fue diseñado con la intención de evitar los problemas de velocidad que tenían
otros buses y la limitación a la hora de conectar muchas unidades al sistema.
Sus principales características son:
Soportar hasta 7 dispositivos de 8 bits conectados al mismo bus, una velocidad de
transferencia de 5 Megabits/s y capacidades de comunicación sincrónicas y
asincrónicas.
SCSI 2. Soporta una mayor cantidad de transferencia de datos de 10 Megas/s, soporta
unidades de 16 y 32 bits y fundamentalmente aparece aquí un control de calidad, para
evitar errores en las transmisiones de información.

- 51 -
Arquitectura de Computadores.

SCSI 3. Disminuye el soporte para dispositivos que se comunican con canales de fibra
óptica y por puerto serial, las tazas de transferencia van entre 20 Megabits/s.
Fibra óptica.
WIDE 20 Megabit/s
SCSI 3
ULTRA 40 Megabit/s

Velocidad mínima de fibra óptica en 10 Megabit/s.

Este tipo de bus puede aparecer en un computador de diferentes formas:


1. Tarjetas comunes.
2. PCMCIA para portátiles.

ARREGLOS REDUNDANTES DE DISCOS

Son un conjunto de discos, unidos en un arreglo que aparecen a la vista del usuario
como un dispositivo único, se utiliza principalmente, a nivel de minicomputadores

- 52 -
Arquitectura de Computadores.

maimframe, la idea de su creación fue optimizar: los arreglos de discos pequeños y


baratos ofrecían el mismo o mejor desempeño que los tipos sled (un solo disco grande),
(5 discos de 20 unidos en red trabajan mejor que uno de 100) de ahí nace sled.

Raid 0. También llamado partición de los discos, los datos son distribuidos a través de
discos paralelos, tiene la característica de distribuir los datos rápidamente a los usuarios,
sin embargo no ofrecen protección a falla de hardware.

Raid 1. Llamado también DISK MIRORRING provee la más alta medida de


protección de datos, a través de una compleja redundancia, los datos son copiados a los
discos espontáneamente. Bastante seguro, pero bastante caro, pues se debe adquirir el
doble de la capacidad de almacenamiento que se requiere.

- 53 -
Arquitectura de Computadores.

Raid 3. Logra redundancia DISK MIRORRING COMPLET, el flujo de los datos, es


particionado a través de todos los discos de la red, la información extra que provee la
redundancia esta escrito en un disco exclusivo, dedicado a la paridad, es decir si
cualquier disco del arreglo falla los datos perdidos pueden ser reconstruidos
matemáticamente de los miembros restantes de la red, este tipo de arreglos es apropiado
para procesamiento de imagen, colección de datos científicos, en general aplicaciones
donde un gran volumen de datos deben ser transferidos rápidamente.

Raid 5. (INDEPENDENT DATA ACCES), difiere del RAID 3 en que la información


se divide en bloques en vez de en bytes. Debido a ello las lecturas pueden ser
independientes, mejorando por tanto el número de transacciones E/S que puede
gestionar el RAID de forma simultánea. La otra gran diferncia con el RAID 3 radica en

- 54 -
Arquitectura de Computadores.

el hecho de que la información de la paridad se reparte entre todos los discos de forma
ROTATORIA, aliviando así el cuello de botella que se forma en operaciones
simultáneas de E/S. Esto ocurre, en concreto, gracias a que solo se debe leer la paridad
de un único disco, como es el caso del Raid 3. Con lo que se resuelve las limitaciones
de escritura en RAID-4. Así, todas las operaciones de lectura y escritura pueden
suponerse. Este nivel RAID es recomendable para aplicaciones que trabajen con
ficheros pequeños pero con un gran número de transacciones E/s, como es el caso de las
bases de datos relacionales o las aplicaciones de gestión.

Aplicaciones: Servidores de archivos y aplicaciones, Servidores de Base de Datos,


Servidores www, correo, noticias, Servidores de Intranet.

Raid 6. Independent Disk Array.

Sistemas independientes de disco con integración de código de error mediante una doble
paridad. Raid 6 es esencialmente una extensión del RAID 5, para ello guarda, una
paridad. Este nivel proporciona muy buena integridad de los datos y repara diversos
errores en los discos. El nivel 6 de Raid añade un nivel más de disco, resultando una
organización con dos dimensiones de disco y una tercera que corresponde a los sectores
de los discos la ventaja de este nivel consiste que no solamante se puede recuperara un
error de entre dos discos, sino que es posible recuperar muchos errores de 3 discos. La
operación de escritura es difícil debido a la necesidad de sincronizar todas las
dimensiones.

- 55 -
Arquitectura de Computadores.

Ventajas.
- Podemos recuperar diversos errores simultáneamente.
- Nivel de integridad muy elevado solución perfecta para aplicaciones críticas.

Inconvenientes.
- El rendimiento en escritura de datos es bastante lento.
- No se dispone de muchas implementaciones comerciales en el nivel de Raid 6.

Raid 10.

La información se distribuyen en bloques como el Raid 0 y adicionalmente, cada disco


se duplica como raid 1, creando un segundo nivel de arreglo se conoce como “Striping
de arreglos duplicados”. Se requiere, dos canales, dos discos para cada canal y se
utilizan el 50% de la capacidad para información de control.

Ventajas.
- En este nivel ofrece un 100% de redundancia de la información y un soporte
para grandes volúmenes de datos, donde el precio no es un factor importante.

Donde Implementarlo.
Ideal para sistemas de emisión crítica, donde se requiera mayor confiabilidad de la
información, ya que puede fallar dos discos inclusive (uno para cada canal) y los datos
todavía se mantienen en línea. Es apropiado también en escritura aleatorias pequqñas.

Raid 30.

- 56 -
Arquitectura de Computadores.

Es ideal para aplicaciones no interactiva, tal como señales de gráfico e imágenes. Se


conoce también como Striping de arreglos de paridad dedicada. La información es
distribuída a través de los discos, como en Raid 0 y utiliza paridad dedicada, como Raid
3, en un segundo canal, requiere mínimo 6 discos.

Ventajas
- Proporciona una alta confiabilidad igual que el Raid 10 ya que también es capaz
de tolerar dos falla físicas en canales diferentes, manteniendo la información
disponible.

Donde Implementarlo.

Raid 30 es mejor para aplicaciones no interactivas, tal como señales de video, gráficos,
que procesan secuencialmente grandes archivos y requieren alta velocidad y
disponibilidad.

Raid 50.

Esta diseñado para aplicaciones que requieren un almacenamiento altamante confiable,


una elevada tasa de lectura y un buen rendimiento en la transferencia de datos con un
nivel de Raid 50, la información se reparte en los discos y se usa paridad distribuída,
por eso se conoce como Striping de arreglo de paridad distribuidas. Se requiere mínimo
6 discos.

- 57 -
Arquitectura de Computadores.

Ventajas.
- Se logra confiabilidad de la información, un buen rendimiento en general, y
además soporta grandes volúmenes de datos. Igualmente si los discos sufren
fallas físicas en diferentes canales, la información no se pierde.

Donde Implementarlo.
Raid 50 es ideal para aplicaciones que requieran un almacenamiento altamente
confiable, una elevada tasa de lectura, y un buen rendimiento en la transferencia de
datos. A este nivel se encuentran aplicaciones de oficina con muchos usuarios
accediendo a pequeños archivos, al igual que procesamiento de transacciones.

- 58 -

También podría gustarte