Introducción a la arquitectura de las computadoras
1. Materia: Arquitectura de las computadoras
Temas:
• Introducción
• Organización Estructurada
• Lenguajes, niveles y maquinas virtuales
• Máquinas multinivel contemporáneas
• Evolución de las máquinas multinivel
2. • Computadora digital: máquina que puede resolver problemas ejecutando
las instrucciones dadas por una persona.
• A la serie de instrucciones se les conoce como programa.
• Lenguaje de máquina: lenguaje en donde las personas se comunican por
medio de las instrucciones con la máquina.
• Las personas al diseñar una computadora nueva deciden que instrucciones
hará ésta, dando lugar a acciones primitivas:
Acciones primitivas + uso de la computadora + requisitos de desempeño=
-Complejidad y -costo
• Las observaciones antes mencionadas dan lugar al control de la complejidad
y diseño de sistemas computacionales, sistemática y organizadamente.
• Se conoce a esto como organización estructurada de una computadora
3. • Problema común: las personas quieren una cosa y las computadoras no
pueden hacer mas que otras cosas.
• Soluciones:
1. Hacer un nuevo conjunto de instrucciones más sencillo que el lenguaje
original. Esta nos llevará a un método llamado traducción.
2. Usar el lenguaje máquina con datos de entrada del método de traducción,
ejecutar cada instrucción analizando una por una y ejecutándola
directamente. Esto se conoce como interpretación y se hace mediante un
intérprete.
Traducción vs interpretación
• Son similares, tienen el mismo objetivo. La diferencia radica en que con la
traducción todo el primer lenguaje se desecha cuando ya se traduzca a
lenguaje máquina; en la interpretación después de cada instrucción
examinada se ejecuta, el intérprete controla la computadora.
4. • Las personas también pueden escribir programas para las máquinas
virtuales como si realmente existieran o pueden usarlas para albergar un
software que simula por completo el comportamiento de un Ordenador real
sin que este exista.
• Las Máquinas virtuales tienen multitud de aplicaciones, nos permiten
disponer de un ordenador con el que podemos funcionar sin miedo a
estropear la configuración del ordenador anfitrión, podemos probar
Sistemas Operativos, instalar otros que no conocemos para familiarizarnos
con los mismos y hacer experimentos de todo tipo sin correr ningún riesgo.
• La invención de una serie de lenguajes, cada uno más cómodo que sus
predecesores, puede continuar hasta llegar a uno adecuado. Cada lenguaje
se basa en su predecesor, por lo que podemos pensar en una computadora
que emplea esta técnica como una serie de capas o niveles.
5.
6. • Generalmente, los computadores se diseñan como una serie de niveles,
cada uno construido sobre sus predecesores.
• Cada nivel representa una abstracción distinta y contiene objetos y
operaciones.
• Un modelo de máquina multinivel que se adapta a la mayoría de los
sistemas computacionales actuales se muestra en la siguiente figura:
7.
8. I. Nivel 0: Nivel de lógica digital
Es el hardware de la máquina.
El nivel inferior sería el nivel de dispositivo.
Componentes: Puertas lógicas, Circuitos integrados, Circuitos
combinacionales, Circuitos aritméticos, Relojes, Memorias,
Microprocesadores, Buses
II. Nivel 1: Nivel de microprogramación
La función del microprograma es interpretar las instrucciones del
nivel 2.
En algunas máquinas no existe el nivel de microprogramación.
Circuito ALU (Arithmetic Logic Unit)
9. III.Nivel 2: Nivel de máquina convencional
Cada fabricante publica el “Manual de referencia del lenguaje máquina”
para cada uno de los computadores.
Las instrucciones del nivel de máquina las interpreta el microprograma.
En las máquinas en las que no existe el nivel de microprogramación, las
instrucciones del nivel de máquina son realizadas directamente por los
circuitos electrónicos.
IV.Nivel 3: Nivel del sistema operativo
La mayoría de las instrucciones de este nivel están también en el nivel 2
pero además tiene un nuevo conjunto de instrucciones, una organización
diferente de la memoria, posibilidad de ejecutar 2 o más programas ...
Las nuevas instrucciones las interpreta el sistema operativo.
Las que son idénticas a las del nivel 2 las lleva a cabo el microprograma.
10. V. Nivel 4: Nivel del lenguaje ensamblador
Los niveles 4 y superiores son utilizados por los programadores de
aplicaciones.
Los niveles inferiores están diseñados para ejecutar los intérpretes y
traductores de los niveles superiores y son escritos por los programadores
de sistemas.
El ensamblador es el programa que lleva a cabo la traducción de un
programa del nivel 4.
VI.Nivel 5: Nivel de lenguajes de alto nivel
Los lenguajes de alto nivel son más fáciles de utilizar que los lenguajes de
niveles inferiores.
Son utilizados por los programadores de aplicaciones.
Los traductores de programas en lenguaje de alto nivel pued
11. • Programas escritos en lenguaje máquina son ejecutados directamente por
circuitos electrónicos.
Circuitos
electrónicos
Hardware -> Objetos tangibles
Software-> Algoritmos y representaciones en la computadora (programas)
12. Microprogramación
Primeras computadoras.-
• Solo con nivel ISA (programación) y nivel de lógica digital (ejecución de
programas)
• Complicados, difíciles de entender, construcción difícil, poco fiables.
1951 – Maurice Wilkes.-
• Computadora de 3 niveles
• Simplificar hardware
• Interpretar nivel ISA (microprograma)
• - No. Bulbos
• Año de auge: 1970
13. Invención S.O.
• Computadoras de ”taller abierto”
• Famosas tarjetas perforadas
• FORTRAN
• Proceso tedioso, largo
• Varias lecturas en compilador
• 1960 se reduce el tiempo con un programa llamado S.O.
• S.O. era cargado en la computadora
• S.O. leía las tarjetas y las usaba con fines contables
• Primer paso para crear una máquina virtual
14. Migración de funcionalidad de microcódigo
• Se podía agregar “hardware” (nuevas instrucciones) solamente
programando.
• Instrucciones no indispensables pero más rápidas.
• Multiplicación y división de enteros, instrucciones de operaciones
aritméticas de punto flotante, invocar y regresar procedimientos, acelerar
ciclos, cadenas de caracteres.
• Operaciones con matrices, trasladar programas de un lugar de memoria a
otro, interrupciones de entrada y salida, suspender un programa e iniciar
otro.
15. Adiós microprogramación
• Declive a finales de 70’s
• Se volvieron muy lentos a razón de ser voluminosos
• Instrucciones directas= - microprograma y - instrucciones
16. PREGUNTAS
1. Diferencia entre traducción e interpretación
Con la traducción todo el primer lenguaje se desecha cuando ya se traduzca a lenguaje
máquina; en la interpretación después de cada instrucción examinada se ejecuta.
2. 2 usos de las máquinas virtuales
Nos permiten disponer de un ordenador con el que podemos funcionar sin miedo a
estropear la configuración del ordenador anfitrión, podemos probar Sistemas Operativos.
3. En que nivel está el circuito ALU
Nivel de micropogramación o nivel 1
4. 3 componentes del nivel de lógica digital
Puertas lógicas, Circuitos integrados, Buses
17. Referencias bibliográficas
• Tanenbaum Andrew S., “Organización de las Computadoras: Un enfoque
estructurado”, 4ta edición, México, Pearson Education, 2000.
• http://anitamai.brinkster.net/Arq/Unidad1/MaqMulti/index.html
• http://www.jesusfernandezmesa.com/informatica/2012/07/18/las-mquinas-virtuales-
descripcin-y-funciones-ejemplo-de-funcionamiento-de-virtualbox
• www.cimat.mx/~gil/famat/cursos/computacion/tsc_arquitectura_de_compu
tadoras.html
• Tecnocoquito 02x12; https://www.youtube.com/watch?v=nlPCpIeLAJ8
Notas del editor
xxx
Una computadora con n niveles puede verse como n máquinas virtuales distintas, cada una con diferente lenguaje de máquina
Nivel 2=Nivel ISA(Instruction Set Architecture)
Taller abierto= programador operaba la maquina manualmente
Taller abierto= programador operaba la maquina manualmente
Taller abierto= programador operaba la maquina manualmente