Principios de diseño
1. DISEÑANDO CON LA LEY DE MOORE EN MENTE
La
única constante para los diseñadores de computadoras es el cambio rápido, que
es impulsado principalmente por la Ley de Moore. Indica que los recursos de
circuitos integrados duplican cada 18-24 meses. La Ley de Moore resultó de una
predicción de 1965 de tal crecimiento en la capacidad de IC hecha por Gordon
Moore, uno de los fundadores de Intel. Debido a que los diseños de computadora
pueden tomar años, los recursos disponibles por chip pueden duplicarse o
cuadruplicarse fácilmente entre el inicio y el final del proyecto. Al igual que
un tirador skeet, los arquitectos de computadoras deben anticipar dónde estará
la tecnología cuando el diseño finalice en lugar de diseño para donde comienza.
Utilizamos un gráfico de la Ley de Moore "arriba y hacia la derecha"
para representar el diseño para un cambio rápido.
2. USE LA ABSTRACCION PARA SIMPLIFICAR EL DISEÑO
Tanto
los arquitectos como los programadores de computadoras tuvieron que inventar
técnicas para hacerse más productivos, ya que de otra manera el tiempo de
diseño se prolongaría tan drásticamente como los recursos crecieron según la
Ley de Moore. Una técnica importante de productividad para hardware y software
es utilizar abstracciones para representar el diseño en diferentes niveles de
representación; Los detalles de nivel inferior están ocultos para ofrecer un
modelo más sencillo en niveles más altos. Usaremos el icono de la pintura
abstracta para representar esta segunda gran idea.
3. HAGAMOS EL CASO COMUN RAPIDO
Haciendo el caso común rápido tenderá a mejorar el rendimiento mejor que
optimizar el caso raro. Irónicamente, el caso común es a menudo más simple que
el caso raro y por lo tanto es más fácil de mejorar. Este consejo de sentido
común implica que usted sabe lo que es el caso común, que sólo es posible con
una cuidadosa experimentación y medición. Utilizamos un coche deportivo como el
icono para hacer el caso común rápido, ya que el viaje más común tiene uno o
dos pasajeros, y es sin duda más fácil hacer un coche deportivo rápido que una
minivan rápida.
4. DESEMPEÑO VIA PARALELISMO
Desde
los albores de la computación, los arquitectos de computadoras han ofrecido
diseños que obtienen más rendimiento realizando operaciones en paralelo.
Utilizamos motores de aviones
múltiples de un avión como nuestro icono para el rendimiento paralelo.
5. DESEMPEÑO VIA PIPELINING (SEGMENTACION)
Un patrón particular de paralelismo es tan frecuente en la arquitectura
de la computadora que merece su propio nombre: pipelining. Por ejemplo, antes
de los bomberos, una "brigada de cubos" respondería a un incendio,
que muchas películas de vaqueros muestran en respuesta a un acto cobarde por el
villano. Los pobladores forman una cadena humana para llevar una fuente de agua
al fuego, ya que podrían mover más rápidamente los cubos en la cadena en lugar
de individuos que corren hacia adelante y hacia atrás. Nuestro icono de tubería
es una secuencia de tuberías, con cada sección que representa una etapa de la
tubería.
6. DESEMPEÑO VIA PREDICCION
Siguiendo
el dicho que puede ser mejor pedir perdón que pedir permiso, la siguiente gran
idea es la predicción. En algunos casos, puede ser más rápido en promedio para
adivinar y empezar a trabajar en lugar de esperar hasta que sepa con seguridad,
asumiendo que el mecanismo para recuperarse de una mala predicción no es
demasiado caro y su predicción es relativamente precisa. Utilizamos la bola de
cristal de la adivina como nuestro icono de predicción.
7. JERARQUIA DE MEMORIAS
Los
programadores quieren que la memoria sea rápida, grande y barata, ya que la
velocidad de la memoria a menudo configura el rendimiento, la capacidad limita
el tamaño de los problemas que pueden resolverse y el costo de la memoria es a
menudo la mayor parte del costo de la computadora. Los arquitectos han
encontrado que pueden resolver estas demandas conflictivas con una jerarquía de
recuerdos, con la memoria más rápida, más pequeña y más cara por bit en la
parte superior de la jerarquía y la más lenta, más grande y más barata por bit en
la parte inferior. Las cachés dan al programador la ilusión de que la memoria
principal es casi tan rápida como la parte superior de la jerarquía y casi tan
grande y barata como la parte inferior de la jerarquía. Utilizamos un icono de
triángulo en capas para representar la jerarquía de la memoria. La forma indica
velocidad, costo y tamaño: cuanto más cerca de la parte superior, más rápido y
más caro por bit la memoria; Cuanto más ancha sea la base de la capa, mayor
será la memoria.
8. DEPENDENCIA VIA REDUNDANCIA
Las computadoras no sólo necesitan ser rápidas; Necesitan ser confiables.
Dado que cualquier dispositivo físico puede fallar, hacemos que los sistemas
sean fiables al incluir componentes redundantes que pueden hacerse cargo cuando
ocurre un fallo y para ayudar a detectar fallos. Utilizamos el tractor-remolque
como nuestro icono, ya que los neumáticos dobles en cada lado de sus ejes
traseros permiten que el camión continúe conduciendo incluso cuando un
neumático falla. (Es de suponer que el conductor del camión se dirige
inmediatamente a una instalación de reparación para que el neumático fluido
pueda ser fijo, restaurando así la redundancia).
Comentarios
Publicar un comentario