
En ciencias de la computación e ingeniería informática , una arquitectura de computadora es el diseño conceptual y la estructura operativa de un sistema informático que define cómo se organizan e interactúan las partes componentes para ejecutar programas de manera eficiente. [ 1 ] A menudo es una descripción general que ignora los detalles precisos de implementación. [ 2 ] Abarca la arquitectura del conjunto de instrucciones , la microarquitectura de la CPU , la memoria y los sistemas de entrada/salida .
La arquitectura informática también considera las compensaciones entre rendimiento , coste, consumo energético, fiabilidad y seguridad.
Historia
La primera arquitectura informática documentada se encuentra en la correspondencia entre Charles Babbage y Ada Lovelace , donde se describe la máquina analítica . Mientras construía la computadora Z1 en 1936, Konrad Zuse describió en dos solicitudes de patente para sus futuros proyectos que las instrucciones de la máquina podían almacenarse en el mismo almacenamiento utilizado para los datos, es decir, el concepto de programa almacenado . [ 3 ] [ 4 ] Otros dos ejemplos tempranos e importantes son:
- El artículo de John von Neumann de 1945, Primer borrador de un informe sobre el EDVAC , que describía una organización de elementos lógicos; [ 5 ] y
- La propuesta más detallada de Alan Turing , Calculadora electrónica para la máquina de computación automática , también de 1945, que citaba el artículo de John von Neumann . [ 6 ]
El término «arquitectura» en la literatura informática se remonta al trabajo de Lyle R. Johnson y Frederick P. Brooks, Jr. , miembros del departamento de Organización de Máquinas del principal centro de investigación de IBM en 1959. Johnson tuvo la oportunidad de redactar una comunicación de investigación confidencial sobre Stretch , una supercomputadora desarrollada por IBM para el Laboratorio Nacional de Los Alamos (en aquel entonces conocido como Laboratorio Científico de Los Alamos). Para describir el nivel de detalle con el que se analizaba esta computadora de gran sofisticación, señaló que su descripción de formatos, tipos de instrucciones, parámetros de hardware y mejoras de velocidad se situaba en el nivel de «arquitectura de sistemas», un término que le pareció más útil que «organización de máquinas». [ 7 ]
Posteriormente, Brooks, diseñador de Stretch, abrió el Capítulo 2 de un libro titulado Planning a Computer System: Project Stretch afirmando: "La arquitectura de computadoras, como otras arquitecturas, es el arte de determinar las necesidades del usuario de una estructura y luego diseñar para satisfacer esas necesidades de la manera más eficaz posible dentro de las limitaciones económicas y tecnológicas". [ 8 ]
Brooks continuó ayudando a desarrollar la línea de computadoras IBM System/360 , en la que "arquitectura" se convirtió en un sustantivo que definía "lo que el usuario necesita saber". [ 9 ] La línea System/360 fue sucedida por varias líneas de computadoras compatibles, incluida la actual línea IBM Z. Posteriormente, los usuarios de computadoras comenzaron a usar el término de maneras mucho menos explícitas. [ 10 ]
Las primeras arquitecturas de computadoras se diseñaron en papel y luego se construyeron directamente en la forma final de hardware. [ 11 ] Posteriormente, los prototipos de arquitectura de computadoras se construyeron físicamente en forma de una computadora de lógica transistor-transistor (TTL), como los prototipos de la 6800 y la PA-RISC , se probaron y se ajustaron antes de comprometerse con la forma final de hardware. A partir de la década de 1990, las nuevas arquitecturas de computadoras generalmente se "construyen", prueban y ajustan, ya sea dentro de otra arquitectura de computadora en un simulador de arquitectura de computadoras , dentro de una FPGA como un microprocesador de software , o ambas cosas, antes de comprometerse con la forma final de hardware. [ 12 ]
Subcategorías
La disciplina de la arquitectura de computadoras tiene tres subcategorías principales: [ 13 ]
- Arquitectura del conjunto de instrucciones (ISA): define el código máquina que un procesador lee y sobre el que actúa, así como el tamaño de palabra , los modos de dirección de memoria , los registros del procesador y el tipo de datos .
- Microarquitectura : también conocida como "organización de la computadora", describe cómo un procesador en particular implementará el ISA. [ 14 ] El tamaño de la caché de la CPU de una computadora , por ejemplo, es un tema que generalmente no tiene nada que ver con el ISA.
- Diseño de sistemas : incluye todos los demás componentes de hardware dentro de un sistema informático, como el procesamiento de datos distinto de la CPU (por ejemplo, acceso directo a memoria ), la virtualización y el multiprocesamiento .
Existen otras tecnologías en la arquitectura de computadoras. Las siguientes tecnologías se utilizan en empresas más grandes como Intel, y se estimó en 2002 [ 13 ] que representaban el 1% de toda la arquitectura de computadoras:
- Macroarquitectura : capas arquitectónicas más abstractas que la microarquitectura.
- Arquitectura del conjunto de instrucciones de ensamblaje : un ensamblador inteligente puede convertir un lenguaje de ensamblaje abstracto común a un grupo de máquinas en un lenguaje de máquina ligeramente diferente para diferentes implementaciones .
- Macroarquitectura visible para el programador : las herramientas de lenguaje de alto nivel, como los compiladores, pueden definir una interfaz o contrato consistente para los programadores que las utilizan, abstraiendo las diferencias entre las arquitecturas de conjunto de instrucciones (ISA) subyacentes y las microarquitecturas . Por ejemplo, los estándares de C , C++ o Java definen diferentes macroarquitecturas visibles para el programador.
- Microcódigo : El microcódigo es un software que traduce instrucciones para su ejecución en un chip. Actúa como una capa de abstracción sobre el hardware, presentando una versión preferida de la interfaz del conjunto de instrucciones del hardware. Esta capacidad de traducción de instrucciones ofrece a los diseñadores de chips opciones flexibles: Por ejemplo, 1. Una nueva versión mejorada del chip puede usar microcódigo para presentar el mismo conjunto de instrucciones que la versión anterior, de modo que todo el software dirigido a ese conjunto de instrucciones se ejecutará en el nuevo chip sin necesidad de modificaciones. Por ejemplo, 2. El microcódigo puede presentar diversos conjuntos de instrucciones para el mismo chip subyacente, lo que permite ejecutar una mayor variedad de software.
- Arquitectura de pines : las funciones de hardware que un microprocesador debe proporcionar a una plataforma de hardware, por ejemplo, los pines x86 A20M, FERR/IGNNE o FLUSH. También, los mensajes que el procesador debe emitir para que las cachés externas puedan invalidarse (vaciarse). Las funciones de la arquitectura de pines son más flexibles que las funciones ISA porque el hardware externo puede adaptarse a nuevas codificaciones o cambiar de un pin a un mensaje. El término "arquitectura" es apropiado, ya que las funciones deben proporcionarse para sistemas compatibles, incluso si el método detallado cambia.
Roles
Definición
La arquitectura de computadoras se ocupa de equilibrar el rendimiento, la eficiencia, el costo y la confiabilidad de un sistema informático. El caso de la arquitectura de conjuntos de instrucciones puede usarse para ilustrar el equilibrio de estos factores contrapuestos. Los conjuntos de instrucciones más complejos permiten a los programadores escribir programas más eficientes en cuanto al uso del espacio, ya que una sola instrucción puede codificar alguna abstracción de nivel superior (como la instrucción Loop de x86 ). [ 15 ] Sin embargo, las instrucciones más largas y complejas requieren más tiempo para que el procesador las decodifique y pueden ser más costosas de implementar de manera efectiva. La mayor complejidad derivada de un conjunto de instrucciones grande también crea más margen para la falta de confiabilidad cuando las instrucciones interactúan de maneras inesperadas.
La implementación abarca el diseño de circuitos integrados , el empaquetado, la alimentación y la refrigeración . La optimización del diseño requiere familiaridad con temas que van desde compiladores y sistemas operativos hasta diseño lógico y empaquetado. [ 16 ]
Arquitectura del conjunto de instrucciones
Una arquitectura de conjunto de instrucciones (ISA) es la interfaz entre el software y el hardware de la computadora y también puede considerarse como la perspectiva del programador sobre la máquina. Las computadoras no entienden lenguajes de programación de alto nivel como Java , C++ o la mayoría de los lenguajes de programación utilizados. Un procesador solo entiende instrucciones codificadas numéricamente, generalmente como números binarios . Las herramientas de software, como los compiladores , traducen esos lenguajes de alto nivel a instrucciones que el procesador puede comprender. [ 17 ] [ 18 ]
Además de las instrucciones, el ISA define elementos en la computadora que están disponibles para un programa , por ejemplo, tipos de datos , registros , modos de direccionamiento y memoria . Las instrucciones localizan estos elementos disponibles mediante índices (o nombres) de registros y modos de direccionamiento de memoria. [ 19 ] [ 20 ]
El conjunto de instrucciones (ISA) de un ordenador suele describirse en un pequeño manual de instrucciones, que explica cómo se codifican las instrucciones. También puede definir nombres mnemotécnicos cortos (aunque vagamente) para las instrucciones. Estos nombres pueden ser reconocidos por una herramienta de desarrollo de software llamada ensamblador . Un ensamblador es un programa informático que traduce una forma legible para humanos del ISA a una forma legible para el ordenador. Los desensambladores también están ampliamente disponibles, generalmente en depuradores y programas de software para aislar y corregir fallos en programas informáticos binarios. [ 21 ]
Las arquitecturas de conjunto de instrucciones ( ISA) varían en calidad y completitud. Una buena ISA logra un equilibrio entre la facilidad de uso para el programador (la facilidad de comprensión del código), el tamaño del código (la cantidad de código necesaria para realizar una acción específica), el costo computacional para interpretar las instrucciones (una mayor complejidad implica más hardware para decodificarlas y ejecutarlas) y la velocidad del equipo (un hardware de decodificación más complejo requiere mayor tiempo de decodificación). La organización de la memoria define cómo interactúan las instrucciones con la memoria y cómo interactúa la memoria consigo misma.
Durante la emulación de diseño , los emuladores pueden ejecutar programas escritos en un conjunto de instrucciones propuesto. Los emuladores modernos pueden medir el tamaño, el costo y la velocidad para determinar si un conjunto de instrucciones específico cumple con sus objetivos.
Organización informática
La organización de los sistemas informáticos ayuda a optimizar el rendimiento de los productos. Por ejemplo, los ingenieros de software necesitan conocer la potencia de procesamiento de los procesadores . Es posible que deban optimizar el software para obtener el máximo rendimiento al menor costo. Esto puede requerir un análisis bastante detallado de la organización del sistema. Por ejemplo, en una tarjeta SD , los diseñadores podrían necesitar organizarla de manera que se procese la mayor cantidad de datos posible de la forma más rápida.
La organización del equipo informático también ayuda a planificar la selección de un procesador para un proyecto específico. Los proyectos multimedia pueden requerir un acceso a datos muy rápido, mientras que las máquinas virtuales pueden necesitar interrupciones rápidas. En ocasiones, ciertas tareas requieren componentes adicionales. Por ejemplo, un equipo capaz de ejecutar una máquina virtual necesita hardware de memoria virtual para mantener separada la memoria de los distintos equipos virtuales. La organización y las características del equipo informático también influyen en el consumo de energía y el coste del procesador.
Implementación
Una vez diseñados el conjunto de instrucciones y la microarquitectura , se debe desarrollar una máquina práctica. Este proceso de diseño se denomina implementación . La implementación no suele considerarse diseño arquitectónico, sino más bien ingeniería de diseño de hardware . La implementación se puede subdividir en varios pasos:
- La implementación lógica diseña los circuitos necesarios a nivel de compuertas lógicas .
- La implementación de circuitos realiza diseños a nivel de transistor de elementos básicos (por ejemplo, compuertas, multiplexores , biestables ), así como de algunos bloques más grandes ( ALU , cachés, etc.) que pueden implementarse a nivel de compuerta lógica, o incluso a nivel físico si el diseño lo requiere.
- La implementación física consiste en diseñar circuitos físicos. Los diferentes componentes del circuito se colocan en un plano de chip o en una placa, y se crean los cables que los conectan.
- La validación del diseño prueba el ordenador en su conjunto para comprobar su funcionamiento en todas las situaciones y con todos los tiempos de ejecución. Una vez iniciado el proceso de validación, el diseño a nivel lógico se prueba mediante emuladores lógicos. Sin embargo, esto suele ser demasiado lento para realizar una prueba realista. Por lo tanto, tras realizar correcciones basadas en la primera prueba, se construyen prototipos utilizando matrices de puertas programables en campo ( FPGA ). La mayoría de los proyectos de aficionados se detienen en esta etapa. El paso final consiste en probar los circuitos integrados prototipo, lo que puede requerir varios rediseños.
En el caso de las CPU , todo el proceso de implementación se organiza de manera diferente y a menudo se le denomina diseño de CPU .
Objetivos de diseño
La forma exacta de un sistema informático depende de las limitaciones y los objetivos. Las arquitecturas informáticas suelen buscar un equilibrio entre estándares, potencia y rendimiento , coste, capacidad de memoria, latencia (el tiempo que tarda la información en viajar de un nodo a la fuente) y rendimiento. En ocasiones, otros factores, como las funcionalidades, el tamaño, el peso, la fiabilidad y la capacidad de expansión, también influyen.
El método más común consiste en realizar un análisis exhaustivo del consumo energético y determinar cómo mantener bajo el consumo de energía sin comprometer el rendimiento.
Actuación
El rendimiento de los ordenadores modernos se suele describir en instrucciones por ciclo (IPC), que mide la eficiencia de la arquitectura a cualquier frecuencia de reloj; un IPC más alto significa que el ordenador puede realizar más trabajo por unidad de tiempo. Los ordenadores antiguos tenían valores de IPC tan bajos como 0,1, mientras que los procesadores modernos alcanzan fácilmente casi 1. Los procesadores superescalares pueden llegar a tres o cinco IPC ejecutando varias instrucciones por ciclo de reloj.
Contar las instrucciones en lenguaje máquina sería engañoso, ya que pueden realizar diferentes cantidades de trabajo en distintas arquitecturas de conjunto de instrucciones (ISA). La "instrucción" en las mediciones estándar no es un recuento de las instrucciones en lenguaje máquina de la ISA, sino una unidad de medida, generalmente basada en la velocidad de la arquitectura de computadora VAX .
Antes, muchas personas medían la velocidad de un ordenador mediante su frecuencia de reloj (normalmente en MHz o GHz). Esto se refiere a los ciclos por segundo del reloj principal de la CPU . Sin embargo, esta métrica puede resultar engañosa, ya que un ordenador con una frecuencia de reloj más alta no necesariamente ofrece un mayor rendimiento. Por ello, los fabricantes han dejado de utilizar la frecuencia de reloj como medida de rendimiento.
Otros factores influyen en la velocidad, como la combinación de unidades funcionales , la velocidad del bus , la memoria disponible y el tipo y orden de las instrucciones en los programas.
Existen dos tipos principales de velocidad: latencia y rendimiento . La latencia es el tiempo que transcurre entre el inicio y la finalización de un proceso. El rendimiento es la cantidad de trabajo realizado por unidad de tiempo. La latencia de interrupción es el tiempo máximo de respuesta garantizado del sistema ante un evento electrónico (como cuando la unidad de disco termina de transferir algunos datos).
El rendimiento se ve afectado por una amplia gama de decisiones de diseño; por ejemplo, la segmentación de un procesador suele empeorar la latencia, pero mejora el rendimiento. Los ordenadores que controlan maquinaria suelen requerir bajas latencias de interrupción. Estos ordenadores operan en tiempo real y fallan si una operación no se completa en un tiempo determinado. Por ejemplo, los frenos antibloqueo controlados por ordenador deben empezar a frenar dentro de un periodo de tiempo predecible y limitado tras detectar que se ha pisado el pedal del freno; de lo contrario, el sistema fallará.
Las pruebas de rendimiento tienen en cuenta todos estos factores midiendo el tiempo que tarda un ordenador en ejecutar una serie de programas de prueba. Si bien estas pruebas muestran sus puntos fuertes, no deberían ser el criterio principal para elegir un ordenador. A menudo, los equipos evaluados presentan diferencias en distintos aspectos. Por ejemplo, un sistema podría ejecutar aplicaciones científicas con rapidez, mientras que otro podría renderizar videojuegos con mayor fluidez. Además, los diseñadores pueden incorporar características especiales a sus productos, ya sea mediante hardware o software, que permiten que una prueba de rendimiento específica se ejecute rápidamente, pero que no ofrecen ventajas similares para tareas generales.
Eficiencia energética
La eficiencia energética es otro parámetro importante en los ordenadores modernos. Una mayor eficiencia energética suele implicar una menor velocidad o un mayor coste. Históricamente, la medida típica para referirse al consumo energético en la arquitectura informática era MIPS/W (millones de instrucciones por segundo por vatio), aunque los diseños modernos utilizan medidas más sofisticadas, como los benchmarks de rendimiento por vatio y la energía por instrucción.
Los circuitos integrados modernos consumen más energía total a pesar de las mejoras en la eficiencia energética por transistor logradas mediante la miniaturización del proceso. [ 22 ] Este aumento se debe al rápido crecimiento en el número de transistores por chip , lo que exige redes de suministro de energía cada vez más complejas. [ 23 ] Además, la densidad de potencia (vatios por unidad de área) aumenta a medida que se reducen los tamaños de las características (por ejemplo, el tamaño del transistor), lo que dificulta la gestión térmica. [ 24 ] Las temperaturas de funcionamiento elevadas complican aún más estos desafíos térmicos al aumentar la resistencia de las interconexiones , creando un ciclo de retroalimentación positiva entre el consumo de energía y la generación de calor.
A medida que la miniaturización de transistores se ha ralentizado y las limitaciones de potencia se han convertido en factores limitantes, la eficiencia energética está empezando a ser tan importante, si no más, que integrar cada vez más transistores en un solo chip. Los diseños de procesadores recientes han demostrado este énfasis, ya que se centran más en la eficiencia energética que en integrar la mayor cantidad posible de transistores en un solo chip. [ 25 ] En el mundo de los ordenadores embebidos , la eficiencia energética ha sido durante mucho tiempo un objetivo importante junto con el rendimiento y la latencia.
Cambios en la demanda del mercado
En los últimos años, el aumento de la frecuencia de reloj ha sido más lento que el de las mejoras en la reducción del consumo energético. Esto se debe al fin de la Ley de Moore y a la demanda de mayor duración de la batería y de una reducción del tamaño de los dispositivos móviles . Este cambio de enfoque, desde frecuencias de reloj más altas hasta el consumo energético y la miniaturización, se evidencia en las importantes reducciones del consumo energético, de hasta un 50 %, que Intel anunció con el lanzamiento de la microarquitectura Haswell , donde redujo su consumo de referencia de 30-40 vatios a 10-20 vatios. [ 26 ] En comparación con el aumento de la velocidad de procesamiento de 3 GHz a 4 GHz (de 2002 a 2006), se observa que la investigación y el desarrollo se están alejando de la frecuencia de reloj y se están orientando hacia un menor consumo energético y una menor ocupación del espacio. [ 27 ]
Véase también
- Arquitectura serie de bits
- Comparación de arquitecturas de CPU
- Hardware informático
- Diseño de CPU
- Arquitectura de flujo de datos
- Punto flotante
- La taxonomía de Flynn
- Arquitectura de Harvard ( Modificada )
- Influencia del IBM PC en el mercado de las computadoras personales.
- Conjunto de instrucciones ortogonales
- Computación reconfigurable
- Arquitectura de software
- Arquitectura activada por transporte
- Arquitectura de Von Neumann
Referencias
- ↑ Dragoni, Nicole (s.f.). "Introducción a la computación peer-to-peer" (PDF) . DTU Compute – Departamento de Matemáticas Aplicadas e Informática . Lyngby, Dinamarca.
- ↑ Clements, Alan. Principios del hardware informático (Cuarta ed.). pág. 1.
La arquitectura describe la organización interna de un ordenador de forma abstracta; es decir, define las capacidades del ordenador y su modelo de programación. Se pueden tener dos ordenadores construidos de forma diferente con tecnologías distintas, pero con la misma arquitectura.
- ↑ Williams, FC; Kilburn, T. (25 de septiembre de 1948), "Computadoras digitales electrónicas", Nature , 162 (4117): 487, Bibcode : 1948Natur.162..487W , doi : 10.1038/162487a0 , S2CID 4110351
- ^ Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
- ↑ Neumann, John (1945). Primer borrador de un informe sobre el EDVAC . pág. 9.
- ↑ Reproducido en BJ Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369–454.
- ↑ Johnson, Lyle (1960). "Una descripción del estiramiento" (PDF) . pág. 1. Consultado el 7 de octubre de 2017 .
- ↑ Buchholz, Werner (1962). Planificación de un sistema informático . pág. 5.
- ↑ "System 360, From Computers to Computer Systems" . IBM100 . 7 de marzo de 2012. Archivado del original el 3 de abril de 2012. Consultado el 11 de mayo de 2017 .
- ^ Hellige, Hans Dieter (2004). "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom" sistema de órganos "zum Schichtmodell des Designraums". Geschichten der Informatik: Visionen, Paradigmen, Leitmotive . págs. 411 a 472.
- ↑ ACE pasó por siete diseños en papel en un año, antes de que se iniciara un prototipo en 1948. [BJ Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]
- ↑ Schmalz, MS "Organización de sistemas informáticos" . UF CISE . Consultado el 11 de mayo de 2017 .
- 1 2 John L. Hennessy y David A. Patterson. Arquitectura de computadoras: un enfoque cuantitativo (Tercera ed.). Morgan Kaufmann Publishers.
- ↑ Laplante, Phillip A. (2001). Diccionario de Ciencias de la Computación, Ingeniería y Tecnología . CRC Press. págs. 94–95 . ISBN 0-8493-2691-5.
- ↑ Null, Linda (2019). Fundamentos de organización y arquitectura de computadoras (5.ª ed.). Burlington, MA: Jones & Bartlett Learning. pág. 280. ISBN 9781284123036.
- ↑ Martin, Milo. "¿Qué es la arquitectura de computadoras?" (PDF) . UPENN . Consultado el 11 de mayo de 2017 .
- ↑ "Glosario" . Codasip . Consultado el 30 de mayo de 2025 .
- ↑ "¿Qué es la arquitectura del conjunto de instrucciones (ISA)?" . La arquitectura para el mundo digital . Consultado el 30 de mayo de 2025 .
- ↑ "Organización de sistemas informáticos: ISA, lenguaje máquina, sistemas numéricos" . www.cise.ufl.edu . Consultado el 30 de mayo de 2025 .
- ↑ "Arquitectura del conjunto de instrucciones – Arquitectura de computadoras" . www.cs.umd.edu . Consultado el 30 de mayo de 2025 .
- ↑ Hennessy, John L.; Patterson, David A. (23 de noviembre de 2017). Arquitectura de computadoras: un enfoque cuantitativo . Morgan Kaufmann Publishers . ISBN 978-0-12-811906-8Consultado el 30 de mayo de 2025 .
- ↑ "Hoja de ruta internacional para dispositivos y sistemas: Resumen ejecutivo de la edición 2022" (PDF) . IEEE . Consultado el 7 de enero de 2026 .
- ↑ Radhakrishnan, Kaladhar; Swaminathan, Madhavan; Bhattacharyya, Bidyut K. "Suministro de energía para microprocesadores de alto rendimiento: desafíos, soluciones y tendencias futuras" . IEEE Transactions on Components, Packaging and Manufacturing Technology . 11 (4): 655– 671. doi : 10.1109/TCPMT.2021.3065690 . ISSN 2156-3985 .
- ↑ Banerjee, Kaustav; Mehrotra, Amit (2001). "Calentamiento global (de interconexión)" (PDF) . Consultado el 7 de enero de 2026 .
- ↑ "Serie Exynos 9 (8895)" . Samsung . Consultado el 8 de mayo de 2017 .
- ↑ "Medición de la potencia del procesador: TDP frente a ACP" (PDF) . Intel . Abril de 2011. Consultado el 5 de mayo de 2017 .
- ↑ "Historial del rendimiento de los procesadores" (PDF) . cs.columbia.edu . 24 de abril de 2012. Consultado el 5 de mayo de 2017 .
Fuentes
- John L. Hennessy y David Patterson (2006). Arquitectura de computadoras: un enfoque cuantitativo (Cuarta ed.). Morgan Kaufmann. ISBN 978-0-12-370490-0.
- Barton, Robert S. (1961). "Diseño funcional de computadoras". Communications of the ACM . 4 (9): 405. doi : 10.1145/366696.366774 .
- Barton, Robert S. (mayo de 1961). "Un nuevo enfoque para el diseño funcional de una computadora digital". Actas de la Conferencia Conjunta Occidental de Computación . págs. 393–396 . doi : 10.1145/1460690.1460736 . Acerca del diseño del ordenador Burroughs B5000 .
- Bell, C. Gordon ; Newell, Allen (1971). Estructuras de computadoras: lecturas y ejemplos . McGraw-Hill.
- Blaauw, GA ; Brooks, FP, Jr. (1964). "La estructura del sistema/360, parte I: esquema de la estructura lógica". IBM Systems Journal . 3 (2): 119– 135. doi : 10.1147/sj.32.0118 .
{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace ) - Tanenbaum, Andrew S. (1979). Organización estructurada de computadoras . Englewood Cliffs, Nueva Jersey : Prentice-Hall. ISBN 0-13-148521-0.
Enlaces externos
- Conferencias de Arquitectura de Computadoras de Carnegie Mellon
- ISCA: Actas del Simposio Internacional sobre Arquitectura de Computadoras
- Micro: Simposio Internacional IEEE/ACM sobre Microarquitectura
- HPCA: Simposio Internacional sobre Arquitectura de Computadoras de Alto Rendimiento
- ASPLOS: Conferencia Internacional sobre Soporte Arquitectónico para Lenguajes de Programación y Sistemas Operativos
- Transacciones de la ACM sobre Arquitectura y Optimización de Código
- Transacciones IEEE sobre Computadoras
- La arquitectura de sistemas informáticos de von Neumann en la Wayback Machine (archivado el 31/10/2017)
- Arquitectura de computadoras
- unidad central de procesamiento