Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Papel invitado
La evolución del microprocesador, desde donde comenzó en 1971 hasta donde está hoy y donde es probable que esté en cinco
años, se ha producido gracias a varias fuerzas contribuyentes. Nuestra posición es que esta evolución no sucedió simplemente, que
cada paso hacia adelante fue el resultado de una de tres cosas, y siempre dentro del contexto de un arquitecto de computadoras que
hace concesiones. Las tres cosas son: 1) nuevos requisitos; 2) cuellos de botella; y 3) buena fortuna. los llamé Figura 1. El microprocesador
hoy.
Palabras clave— Arquitectura informática, microarquitectura, microprocesador, diseño de La cantidad de transistores y sus tiempos de conmutación son recursos
microprocesadores, evolución de microprocesadores. proporcionados por la tecnología de proceso. Para qué usamos esos recursos
depende de las demandas del mercado. Cómo usamos esos recursos es de lo que
se trata el microprocesador. La figura 1 muestra los niveles de transformación que
I. B ASIC F RAMEWORK
un problema, expresado en algún lenguaje natural como el inglés, debe
A. Arquitectura informática: una ciencia de compensaciones
La arquitectura informática es mucho más "arte" que "ciencia". pasar por resolver. En un sentido real, son los electrones los que mejoran Nuestras capacidades y
conocimientos a medida que experimentamos más en realidad hacen el trabajo y resuelven el problema. Sin embargo, dado que cases. Los arquitectos informáticos se basan
en su experiencia con nosotros no hablamos “electrón” y los electrones no hablamos de ningún diseño previo al tomar decisiones sobre proyectos actuales. Si es un lenguaje
natural, lo mejor que podemos hacer es trans-
La arquitectura de la computadora es una ciencia en absoluto, es una ciencia de la forma del problema a través de los niveles que se muestran en la Fig.1 hasta que
alcanzar el nivel de electrones (o dispositivo), es decir, los 200 millones
compensaciones. Los arquitectos informáticos durante el último medio siglo han
transistor, chip de 1 GHz.
continuó desarrollando una base de conocimiento para ayudarlos
En el camino, la solución del problema se formula primero como
practicar su oficio. Casi siempre el trabajo de la computadora es
un algoritmo para eliminar las características inaceptables de
chitect requiere usar ese conocimiento fundamental para hacer
lenguaje natural, como la ambigüedad. Luego se codifica en un
lenguaje mecánico y compilado a la arquitectura del conjunto de instrucciones
(ISA) del microprocesador particular. La ISA es la interfaz acordada que: 1) el
Manuscrito recibido el 29 de mayo de 2001; revisado el 6 de agosto de 2001.
programa compilado usa para decirle al microprocesador lo que (el programa)
El autor pertenece a la Universidad de Texas en Austin, Austin, TX 78712-1084 EE. UU. (Correo
electrónico: patt@ece.utexas.edu ).
necesita hacer y 2) el microprocesador usa para saber qué debe realizar
Identificador de artículo del editor S 0018-9219 (01) 09681-5.
una serie de circuitos que implementan estructuras de hardware (coprocesador y las compensaciones resultantes que deben realizarse. Lectivamente llamado
microarquitectura) que proporcionan una
terface (llamado ISA) al software. En el caso de la D. Espacio de aplicación
computadora personal, la ISA es la IA-32, y la microarquitectura
tecture es el Pentium IV de Intel, o en días anteriores, el Pentium La palabra "Problema" en la Fig. 1 es un comodín para el Ap-
III, Pentium II, Pentium Pro, 486, etc., o K-8 de AMD, o en espacio de aplicación, es decir, el conjunto de aplicaciones para las que
días anteriores, K-7, K-6, etc. desea utilizar microprocesadores. Este conjunto está aumentando en un
Hay otras NIA; por ejemplo, SPARC (de Sun Minomenal rate, y se espera que continúe haciéndolo. De hecho, crosystems), Alpha (de Compaq) y Power-PC
(desde que la gente sueñe con más usos para las computadoras, el Motorola e IBM). Cada uno tiene sus propias idiosincrasias que necesitan microprocesadores y
las ventajas y desventajas de cada uno lo convierten en una interfaz mejor o peor, ya que lo que un compilador puede hacer seguirá expandiéndose. Es decir, el
espacio de la aplicación se entrega, o cómo la microarquitectura puede realizar el trabajo. (o, más bien, las aplicaciones de importancia central) impulsan el Para
cada ISA, existen múltiples microarquitecturas distintas. punto de diseño. Ya hemos mencionado la alta disponibilidad Hemos mencionado varios para el IA-32. Para
el Alpha, procesadores donde las aplicaciones exigen que el microteléfono sea, por ejemplo, el 21064, 21164,
En cada paso de la jerarquía, desde la elección del algoritmo hasta las aplicaciones que deben poder ejecutarse durante mucho tiempo en un lenguaje pequeño, desde ISA hasta la
microarquitectura, pasando por los circuitos, hay una cantidad de energía.
Otros ejemplos del espacio de la aplicación que continúan
opciones y, por lo tanto, compensaciones.
A menudo, pero no siempre, la elección es entre mayor rendimiento y la necesidad de puntos de diseño únicos son los siguientes: rendimiento y menor costo.
Una analogía con el automóvil es 1) aplicaciones científicas como aquellas cuya computación
instructivo. Se puede construir un automóvil deportivo de alto rendimiento que controlan las centrales nucleares, determinan dónde
puede pasar de 0 a 100 mph en prácticamente 0 segundos. Pero será perforar en busca de petróleo y predecir el clima;
ser muy caro. O bien, se puede construir una au- 2) aplicaciones basadas en transacciones muy económicas, como las que permiten a un móvil que nunca podría llegar a 100
mph, pero que recorre 100 millas. manejar transferencias de cajeros automáticos y negocios de comercio electrónico;
a un galón de gasolina. Uno no obtiene rendimiento y 3) aplicaciones de procesamiento de datos comerciales, como las
economía. Esa es la compensación. que manejan el control de inventario, las nóminas, la actividad del IRS y el
mantenimiento de varios registros de personal, ya sean empleados,
estudiantes o votantes;
C. Puntos de diseño
4) aplicaciones de red, como enrutamiento de alta velocidad de paquetes de
Internet, que permiten que la conexión de su sistema doméstico
El diseño de un microprocesador se trata de hacer concesiones importantes. Nos
aproveche Internet;
referimos al conjunto de consideraciones, junto con la importancia relevante de cada
5) aplicaciones de entrega garantizada (también conocidas como en tiempo real) que
una, como el "punto de diseño" para el microprocesador, es decir, las características
requieren el resultado de un cálculo en un plazo crítico determinado;
que son más importantes para el uso del microprocesador, de modo que uno está
dispuesto a ser menos preocupado por otras características. El rendimiento, el costo,
6) aplicaciones integradas, donde el procesador es un componente de un sistema
la disipación de calor y el consumo de energía son ejemplos de características que
más grande que se utiliza para resolver la aplicación (generalmente) dedicada;
afectan fuertemente un punto de diseño. Otra es la “alta disponibilidad”: se puede
diseñar un microprocesador donde la consideración más importante es el requisito
7) aplicaciones de medios como las que decodifican archivos de video y audio;
de que el microprocesador nunca falle. Algunos clientes están dispuestos a aceptar
un rendimiento más bajo o un costo más alto.
8) paquetes de software aleatorios que a los usuarios de escritorio les gustaría ejecutar
en sus PC.
si pueden estar seguros de que el microprocesador nunca fallará. Cada una de estas áreas de aplicación tiene un conjunto muy diferente de
caracteristicas. Cada área de aplicación exige un conjunto diferente
A este tipo de procesador lo llamamos "tolerante a fallas" o altamente disponible.
de las compensaciones que se deben realizar al especificar el microprocesador para
Otros clientes están dispuestos a sacrificar un poco el desempeño. mance, si se combina con
ahorros sustanciales en energía
requisitos. Este punto de diseño se ha vuelto cada vez más importante a medida que los requisitos de potencia y energía
del E. Los fundamentos del procesamiento
Los chips de mayor rendimiento se han vuelto inaceptablemente más grandes En pocas palabras, un microprocesador procesa las instrucciones. A y más grande. Una vez más, hay una
compensación: el rendimiento más alto hace esto, tiene que hacer tres cosas: 1) proporcionar instrucciones a la conciencia de energía o.
núcleo del procesador donde cada instrucción puede hacer su trabajo; 2)
F. Suministro de instrucciones Sostengo que estas cosas vienen en segundo lugar, y que las funciones de
forzamiento (que he llamado Agentes para la Evolución) han sido nuevos requisitos,
En los primeros días del suministro de instrucciones, se recogía una instrucción a la vez, se
cuellos de botella y buena suerte.
decodificaba y se enviaba al núcleo para su procesamiento.
cesando. A medida que pasa el tiempo, el número que se puede buscar de una vez ha aumentado de uno a cuatro y
muestra signos de A. Agente I: Nuevos requisitos
pronto crecerá a seis u ocho. Tres cosas pueden estorbar Los primeros microprocesadores limitaban el procesamiento a lo que uno
de proporcionar completamente al núcleo instrucciones para procesar: in podría lograr obteniendo una instrucción en cada ciclo, destrucción de errores de caché,
rupturas de búsqueda y codificación de rama condicional de esa instrucción y reenviarla y sus datos a las predicciones erróneas. falla, unidades funcionales en el
núcleo para su procesamiento. La demanda de suministro de instrucciones cae a cero hasta que la caché pierde un rendimiento más alto que dicta que se atiende la
búsqueda de una instrucción. Se produce una interrupción de búsqueda cuando una instrucción de cada ciclo era insuficiente. El resultado es que el problema
amplio obtenido es una rama tomada, lo que inutiliza todo el subse-microprocesador, donde el mecanismo de búsqueda permite obtener múltiples instrucciones
obtenidas en el mismo ciclo, independientemente de que se obtengan, decodifiquen y envíen múltiples instrucciones al ancho del problema.
que todas las instrucciones obtuvieron desde la rama mal predicha Otro ejemplo, también debido a los requisitos de alto rendimiento
representan un esfuerzo desperdiciado, y deben desecharse antes de la pro-formacion, fue la necesidad de que mas de una instrucción se ceda a lo largo de la ruta de
instrucción correcta. procesado al mismo tiempo. Solo se puede hacer un ADD a la
tiempo si uno tiene solo una ALU. El resultado fue la inclusión de múltiples unidades
G. Suministro de datos funcionales en el núcleo de ejecución.
Para suministrar los datos que necesita una instrucción, uno necesita el Hoy, el nuevo requisito predominante implica la capacidad de tener disponible un suministro
infinito de datos necesarios, sumption, o lo que se conoce como comos conscientes de la potencia para suministrarlos en tiempo cero, y en costo razonable.
Computación de datos real. El requisito es proporcionar el mismo nivel de almacenamiento que no puede adaptarse a estos tres requisitos. Thp
ciclos. El resultado es que el almacenamiento de datos reales sufre de latencia Existe una gran sensación de que mañana es nuevo obtener un elemento de datos en
particular y el requisito de ancho de banda involucrará la interfaz humana, que es deseable para mover ese elemento de datos desde su ubicación en el
almacenamiento que exige cada vez más atención como interjerarquía computadora / humano en el núcleo del procesador donde se necesita.
la acción se vuelve cada vez más omnipresente.
A pesar de lo mala que es esta latencia fuera del chip hoy en día, está empeorando todo el tiempo. Continúan las mejoras en el tiempo de
ciclo del procesador B. Agente II: Cuellos de botella
crecer a un ritmo mucho más rápido que el tiempo de ciclo de la memoria. en un Hemos identificado arriba los tres componentes de la instrucción.
Dentro de unos años esperamos ver accesos de datos fuera del chip al procesamiento de la memoria (el suministro de instrucciones, el suministro de datos y el transporte requieren miles de ciclos de
Para realizar las operaciones requeridas por estas instrucciones, ventile estos tres componentes para que no hagan su trabajo.
se necesita una cantidad suficiente de unidades funcionales para procesar. Por ejemplo, el suministro de instrucciones requiere buscar algunos datos tan pronto como los datos
estén disponibles, y un número suficiente — hoy en día cuatro — instrucciones en cada ciclo. Si estas interconexiones para suministrar instantáneamente un resultado
producido por estructuras se almacenaran en la memoria, el tiempo para buscar una unidad funcional a la unidad funcional que lo necesita sería demasiado largo. El cuello de
botella es la memoria lenta. Por lo tanto, la fuente. Sin embargo, suficientes interconexiones no son suficientes. Se inventó la caché de instrucciones.
A medida que disminuyen los tiempos de ciclo en el chip, la latencia requerida para obtener cuatro resultados de instrucciones producidos por unidades funcionales
en una parte, pero la segunda instrucción es una rama condicional, solo chip a unidades funcionales en otras partes. del chip donde se buscarían estas dos —no
cuatro— instrucciones. Los resultados de la botella son necesarios a medida que los operandos de origen empeoran.
El cuello, que es causado por la rama condicional, es la disposición de las
instrucciones en el orden producido por el compilador, en lugar del orden
(dinámico) en el que se ejecutan las instrucciones. La nueva función, que se
II. A CABALLEROS PARA mi VOLUCIÓN
agregó recientemente a
Muchas cosas han ayudado al desarrollo del microprocesador: el Pentium IV, es el Trace Cache, que almacena las instrucciones. Cesor: La voluntad del público
comprador de recoger lo que en el orden en el que se han ejecutado recientemente, no los vendedores producen, sin un mercado, tendríamos todo en el orden
(estático) designado por el compilador.
década de 1990. chips se hicieron más grandes, el recuento de transistores alcanzó el punto
donde la unidad de punto flotante podría colocarse en el mismo chip con la unidad de
III. mi VOLUCIÓN: F ROM 1971 A T ODAY procesamiento principal, utilizando un repuesto "nuevo"
El microprocesador ha evolucionado drásticamente desde la capacidad y ahorrando comunicaciones innecesarias fuera del chip. simples transistores 2300 del
Intel 4004 a lo que es hoy. El Motorola MC88100 y el Intel 486 fueron dos primeros. Como se sugirió anteriormente, esa evolución se debió a varios chips para
incorporar la unidad de punto flotante en las cosas principales. El resultado es que el Pentium IV de hoy tiene un pequeño chip de procesador a fines de la década
de 1980.
Los primeros microprocesadores procesaban una instrucción desde el reconocimiento de que la ejecución concurrente podía explotarse desde el inicio hasta el retiro antes de
comenzar con la siguiente instrucción. con múltiples unidades funcionales. Primero se agregaron cosas como la canalización separada, que había existido al menos desde la década de
1960, se agregaron las ALU de direcciones. Luego, una solución más sofisticada en computadoras mainframe fue una solución obvia para esa unidad funcional de carga /
almacenamiento que contiene estructuras como el cuello de botella en el rendimiento de escritura. Los microprocesadores comercialmente viables, una cola pendiente faltante y un
mecanismo para procesadores como el Intel 8086 introdujeron la primera desambiguación gradual de la memoria y se convirtieron en parte del proceso general hacia la canalización a
fines de la década de 1970 al precargar el siguiente chip de microprocesador en la década de 1990. El i860 de Intel, en 1986, fue
instrucción mientras se estaba ejecutando la instrucción actual. uno de los primeros en tener múltiples unidades funcionales especializadas,
uno para ayudar al procesamiento gráfico, además del flotante
Las cachés en chip no aparecían en los microprocesadores hasta que F. Procesamiento fuera de orden
unos años después. La latencia para obtener instrucciones y datos de
La memoria fuera del chip para los elementos de procesamiento en el chip también fue El contrato entre el programador / compilador y el largo. El resultado: una caché
en chip. La primera microarquitectura comercial requiere que las instrucciones deben llevarse a un microprocesador viable para exhibir una memoria caché en el chip
en el orden especificado por el programa traducido. Este Motorola MC68020, de 1984. En un procesador pipelined, se produce un cuello de botella cada vez que una
instrucción que puede ser útil para poder buscar una instrucción y obtener datos en no ser ejecutada impide una instrucción posterior del mismo ciclo sin el cuello de
botella. de competir por el ser ejecutado si la instrucción subsiguiente tiene todo eso un puerto a la caché. Una vez que fue posible colocar las necesidades de caché
para comenzar la ejecución. El mecanismo para evitar esto en el chip, el siguiente paso fue almacenar en caché las instrucciones por separado; el procesamiento fuera
de orden, el cuello de botella, se conocía desde las ciones y los datos. Entre los primeros microprocesadores en incluir a mediados de la década de 1960 en el IBM
360/91, por ejemplo. Sin embargo, Motorola disponía de cachés de datos e instrucciones en chip separados; el mecanismo se restringió al MC68030 científico de alto
rendimiento, en 1986.
combinación con un cess preciso da como resultado un error de caché. Se desperdicia mucha capacidad mientras
el manejo de excepciones apareció por primera vez en los microprocesadores a la espera de que se satisfaga el error de caché. Burton Smith a mediados de la década de 1990.
cambiar el estado permanente del cálculo) en el orden En tareas de cálculo intensivo, las dependencias de flujo de
las instrucciones ocurrieron en el programa en ejecución. Haciendo operandos de origen esperando los resultados producidos por
las instrucciones pueden ser un cuello de botella importante. Una solución: ejecutar
esto requería una estructura para restaurar el estado en el caso de
el núcleo de ejecución a una frecuencia mucho más rápida que el resto
una excepción. Este mecanismo de restauración de estado es comúnmente
del microprocesador. El chip Pentium IV, introducido en
manifestado como un búfer de reorden en la mayoría de los microprocesadores
2000, tiene una frecuencia de funcionamiento de 1,7 GHz, pero una ALU
hoy, y como una estructura de retiro de punto de control en unos pocos. que opera a 3.4 GHz. Aunque otros
microprocesadores mostraron los inicios de
ejecución fuera de orden antes, el primero en explotar completamente el concepto
fue el Pentium Pro, en 1995. IV. T ÉL O NORDESTE- B ILLION- T RANSISTOR- C CADERA F UTURE
esquina opuesta del panel, podríamos poner 100 microprocesadores en un solo chip, que consiste en un chip en el siguiente ciclo. El resultado: dividir la ejecución con 10 millones de
transistores cada uno. El argumento establece además que el núcleo en grupos de modo que la mayoría de las veces, los resultados producidos por un procesador de 10 millones de
transistores siguen siendo muy sustanciales, y por una unidad funcional en un grupo será utilizada por otro edificio, cualquier cosa más grande que eso solo incurriría en una mayor di-
unidad funcional en el mismo clúster. Uno todavía tiene el problema de reducir las devoluciones. de saber a
qué grupo dirigir una instrucción en particular,
Otros sugieren un uso ampliado de múltiples
pero si tiene éxito, el retraso excesivo de múltiples ciclos provocó el enhebrado. Argumentan que muchos de los recursos requeridos por un resultado que tiene que atravesar una
parte importante del chip se destina a un CMP podrían compartirse en un chip SMT de un solo procesador,
lejos. Esta característica apareció por primera vez en el Alpha 21264 al liberar los recursos guardados para otras funciones, como a fines de la década de 1990.
donde dicha comunicación es mucho más rápida que fuera del chip. IBM Otros más se quejan de que, dado que las herramientas CAD ya no
introdujo esta característica en 2000, con dos procesadores en su G4 igual a la tarea de validar con precisión nuestros chips actuales, chip.
es irresponsable diseñar otros aún más complejos. Ellos
para desarrollar el monoprocesador de más alto rendimiento que pueda E. Diferentes tiempos de ciclo para diferentes funciones
Procesar aplicaciones de flujo de instrucciones único. Agentes para
Para aquellas estructuras que operan sincrónicamente, no es
catalizar esta evolución permanecer como antes: nuevos requisitos,
necesario que todos funcionen a la frecuencia nominal del chip.
cuellos de botella y buena fortuna. Algunas ideas que probablemente
Las piezas que no necesitan ir rápido se pueden diseñar para que vayan lento
ver evolucionar son los siguientes.
y ahorrar energía, por ejemplo. El futuro presupuesto de transistores
puede proporcionar una enorme flexibilidad para aprovechar adecuadamente la variabilidad
Esta adaptación puede tomar la forma de lógica reconfigurable, sipación. Entonces, en el espíritu de una ilusión puramente adulterada, discutí a continuación, instrucciones
especiales dedicadas en la ISA, o deseo que el ingenio de la ingeniería prevalezca nuevamente. una unidad funcional integrada (como un motor DSP) proporcionada en
El ancho de banda fuera del chip es caro, el ancho de banda en el chip es abundante.
B. Una nueva ruta de datos Mi expectativa: aprovecharemos de manera más efectiva el ancho de banda en el chip. El
uso ampliado de microcódigo es un
Se espera que las frecuencias en el chip sean tan altas que sean una forma seria de hacerlo. Por ejemplo, las rutinas microcodificadas deberían tenerse en cuenta a
la longitud del cable de cualquier señal que aproveche la capacidad de reserva de las unidades funcionales infrautilizadas en el chip. Algunas señales requerirán
múltiples ciclos para intercambiar un rol subordinado al flujo de instrucciones principal. ver el chip, y uno debe examinar cuidadosamente qué señales hemos acuñado
el término mi subordinado simultáneo se le permitirá hacer eso. La mayoría de las señales probablemente no serán crothreading (SSMT) para reflejar su papel en una
máquina SMT permitida. Ahí radica el desafío: rediseñar los datos [4]. Estas rutinas microcodificadas podrían realizar una ruta dinámica a la luz de la nueva restricción
de la longitud del cable.
recompilación, calcular alguna instrucción compuesta, afinar
De acuerdo con la Fig. 2, espero muchos microprocesos futuros: un cambio radical de paradigma, como la computación cuántica, para ayudar a los rescatadores a abordar los
requisitos de aplicaciones específicas. Oneus fuera, pero apenas estamos limitados en este momento. La aplicación podría hacer un buen uso de alguna función lógica que
Seguro que necesitamos desarrollar mejores herramientas CAD. CAD actual
Sería inútil para otras aplicaciones, mientras que otras aplicaciones tienen problemas para verificar los microprocesadores de hoy, catión podría hacer un buen uso de una función
lógica diferente que no digamos las sugerencias de este artículo. Y, seguro que necesitamos, sería inútil para la primera aplicación. Quizás ambos aplicamos a pensar de manera
más amplia en nuestro concepto de los cationes del microprocesador que podrían ser manejados de manera efectiva por un microprocesador que (Fig. 2, por ejemplo). Pero la
conclusión es que la Ley de Moore tenía la capacidad de realizar ajustes en tiempo de ejecución. Es decir, creo que an está vivo y coleando, y todavía brinda muchas
oportunidades. estructura en chip, quizás una FPGA de baja granularidad, pero más
Por último, les ofrezco una lista de características que espero ver en lo alto- aquí se ha beneficiado explícitamente de los comentarios y críticas de rendimiento del
microprocesador de 2008 o 2009, o cuando sea de SJ Patel, R. Belgard y R. Ronen. Cabe señalar que la tecnología de procesos finalmente nos proporciona mil
millones que un tratamiento excelente y más detallado de muchos de los transistores en una sola matriz de silicio.
Los temas que se abordan aquí se proporcionan en un documento de Ronen y
1) Uso ampliado de la caché de seguimiento, donde la dinámica de sus colegas de Intel [5], que este autor recomienda para la estructuración de segmentos de
flujo, consistirá en mucho más que el lector.
ISA o el mecanismo de repetición), pero sintonizado en tiempo de ejecución. [1] H. Mazor, “La historia de la invención y la evolución de las microcomputadoras
" Proc. IEEE, vol. 83, págs. 1601–1608, diciembre de 1995.
2) Microcódigo en chip para utilizar la capacidad de reserva del núcleo de ejecución
[2] Sitio web de Intel [en línea]. Disponible: http://www.intel.com/press-
para ajustar las estructuras de hardware en chip. habitación / kits / quickrefyr.htm # 1971.
3) La recompilación dinámica del programa en ejecución, probablemente [3] B. Smith, "Una computadora MIMD de recursos compartidos y canalizada", PAG en roc.
1978 Int. Conf. Procesamiento en paralelo Agosto de 1978, págs. 6-8.
realizada por la unidad de llenado, o el microcódigo en el chip, será algo
[4] RS Chappell, J. Stark, SP Kim, SK Reinhardt y YN Patt,
común. "Microthreading subordinado simultáneo (SSMT)", PAG I r norte jefe. 26th Annu. En t. Symp.
4) Múltiples (al menos tres) niveles de caché con las correspondientes adiciones ISA Arquitecto informático, u METRO re ay 1999, págs. 186-195.
[5] R. Ronen, A. Mendelson, K. Lai, S.-L. Lu, F. Pollack y JP Shen,
(múltiples instrucciones de captura previa y posterior al almacenamiento) para
“Próximos desafíos en microarquitectura y arquitectura PAG re r, o " C.
mover los datos más cerca del núcleo y más lejos del núcleo en respuesta a la IEEE, vol. 89, págs. 325–340, marzo de 2001.
necesidad del núcleo de esos datos.
V. C ONCLUSIÓN más de 30 años. Su amor particular es la enseñanza, tanto el primer curso de computación obligatorio para
estudiantes de primer año como los cursos avanzados de posgrado en mi-
El microprocesador ha disfrutado de un viaje emocionante desde croarquitectura. Recientemente fue coautor con SJ Patel de un textob En o t o ro k-,
su invención en 1971. Pocas tecnologías pueden presumir de la enorme ducción a sistemas informáticos: FromBits y Gates a C y Be (y norte o mi norte w D
York: McGraw-Hill, 2000), que es una desviación importante del tradicional
grandes pasos que ha hecho. Desafortunadamente, hay quienes curso de primer año. Ya ha sido adoptado por más de 50 universidades y
diría que el final de esta era dorada está a la vuelta de la esquina universidades.
esquina. Pero esos detractores han estado aquí antes. Ellos dijeron Dr. Patt ha sido galardonado con el premio IEEE / ACMEckert Mauchly (1996),
el IEEEEmmanuel R. Pioremedal (1995), el IEEEWallaceW. McDowell
el MIPS R2000 era todo el microprocesador que cualquiera podría medalla (1999) y el premio ACMKarl V. Karlstrom al Educador Sobresaliente
alguna vez necesitado en 1986, y diez años después dijeron que el Intel Pen- ( 2000). Es miembro de la ACM.