¿Cuál es la diferencia entre arquitectura y microarquitectura?

El término arquitectura fue popularizado por el artículo «Architecture of the IBM System / 360», IBM Journal of Research and Development, 8 (2): 87-101, abril de 1964 por Gene M Amdahl, Gerrit A Blaauw y Frederick P Brooks, Jr.,

El término arquitectura se usa aquí para describir los atributos de un sistema como los ve el programador, i. e., la estructura conceptual y el comportamiento funcional, a diferencia de la organización del flujo de datos y los controles, el diseño lógico y la implementación física.

De acuerdo con la página de Wikipedia sobre arquitectura informática, la terminología probablemente se introdujo dentro de IBM en 1959.

Hoy usaríamos el término arquitectura de conjuntos de instrucciones para describir la sintaxis y la semántica de la interfaz de un ordenador, incluido el tipo y el tamaño de los operandos, el estado del registro visible del programador, el modelo de memoria, cómo se manejan las interrupciones y excepciones, las instrucciones disponibles y el significado de cada instrucción. La arquitectura del conjunto de instrucciones es el límite entre el software y el hardware, y es el contrato entre el programador y el diseñador de hardware.

El término microarquitectura se utiliza para referirse a la organización, o el nivel más alto de implementación, de un procesador en particular. El estudio de la microarquitectura incluiría temas como canalización, paralelismo a nivel de instrucción, ejecución fuera de orden, ejecución especulativa, predicción de ramas y almacenamiento en caché.

No estoy seguro de la etimología de la microarquitectura. Puedo encontrarlo usado ya en 1975 (en el título del Taller EUROMICRO sobre la Microarquitectura de Sistemas Informáticos), pero sin duda podría ser más antiguo que eso.

Actualmente, el término arquitectura de computadora o simplemente arquitectura generalmente abarca tanto la arquitectura de conjuntos de instrucciones como la microarquitectura, así como problemas más amplios a nivel de sistema, como la conectividad de red en multiprocesadores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.