You are on page 1of 5

Organizacin de Computadoras (5744) Lic. Cs. Comp.

Organizacin de una computadora Parte I


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Qu hay dentro de una computadora?

Organizacin de Computadoras Clase 05


Mg. Javier Echaiz D.C.I.C. U.N.S. http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Lenguajes, niveles y mquinas virtuales


Una computadora es una mquina que puede resolver problemas ejecutando las instrucciones que le son indicadas mediante un programa. Las instrucciones que puede ejecutar una computadora constituyen un lenguaje denominado lenguaje mquina. El lenguaje empleado por las personas difiere considerablemente del empleado por las mquinas. Solucin para el entendimiento entre personas y mquinas:
Emplear una jerarqua de niveles en los que cada uno de ellos emplee un lenguaje de mayor nivel de abstraccin.
3

Unidad Central de Proceso


INTRODUCCION - Una mquina puede resolver problemas ejecutando instrucciones sencillas - Programa: secuencia de instrucciones Instrucciones Bsicas:
Sumar dos nmeros Comprobar si un nmero es cero Acceder a la memoria

Conjunto de instrucciones primitivas Lenguaje Mquina


4

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora

Mg. Javier Echaiz

Unidad Central de Proceso


Nivel n Mquina virtual Mn, con lenguaje de mquina Ln Los programas en Ln, son interpretados por un programa que se ejecuta en un nivel inferior, o son traducidos al lenguaje de una mquina de nivel inferior.

Nivel 5

Nivel de lenguajes orientados a problemas Traduccin (compilador)

Nivel 4

Nivel de lenguaje ensamblador Traduccin (ensamblador)

Nivel 3

Nivel 4

Mquina virtual M4, con lenguaje de mquina L4 Los programas en L3, son interpretados por programas que se ejecutan en M2 o M1, o son traducidos a L2 oL1. Los programas en L2, son interpretados por programas que se ejecutan en M1, o son traducidos a L1. Los programas en L1, pueden ser ejecutados directamente por los circuitos electrnicos. Nivel 2

Nivel de mquina del sistema operativo Interpretacin parcial Nivel de mquina del sistema convencional (sistema operativo)

Nivel 3

Mquina virtual M3, con lenguaje de mquina L3

Interpretacin (microprograma) Nivel 1 Nivel de microprogramacin Los microprogramas son ejecutados directamente por el hardware

Nivel 2

Mquina virtual M2, con lenguaje de mquina L2

Nivel 0
5

Nivel 1

Mquina real M1, con lenguaje de mquina L1

Nivel de lgica digital

Mg. Javier Echaiz

Organizacin de Computadoras (5744) Lic. Cs. Comp.


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Organizacin de una computadora Parte I


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Visin multinivel de una computadora

Computadora real
Usuario final (no programa). Nivel 6 Aplicaciones dedicadas.
Traducidos (bases datos, juegos).

Los sistemas informticos son complejos. Se disean, estudian y organizan por niveles. Cada nivel se construye con componentes proporcionados por el nivel inferior. Y proporciona nuevos componentes ms complejos al nivel superior.

...
Lenguaje mquina

Nivel 5 Lenguajes evolucionados.


Traducidos (compiladores).

Comuertas, etc.

transistores

Nivel 4 Lenguaje ensamblador.


Traducidos (prog. Ensamblador).

Nivel 3 Ncleo (Kernel) del Sistema Operativo.


Interpr. parcial (programa del S.O.).

Nivel 2 Lenguaje mquina (convencional).


Interpr. Microprograma intrprete.

Nivel 1 Microprograma.
El microprograma es ejecutado directamente por el hardware.

ARQUITECTURA: Descripcin completa de un nivel


7

Nivel 0 Hardware / circuitos digitales.

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Modelos de cada nivel


Cada nivel puede ser descrito desde el punto de vista funcional, estructural y de realizacin prctica.
Modelo funcional o de caja negra: describe la funcin del sistema, sus acciones sobre el entorno y sus reacciones a ste. Modelo estructural: describe la organizacin del sistema como conjunto de partes relacionadas. La realizacin prctica de cada modelo puede llevarse a cabo de modos muy diferentes.

Visin Multinivel
Facilita la programacin. Permite crear mquinas virtuales sobre un hardware nico.
Lenguaje L2 Lenguaje L1 Hardware

A un mismo modelo funcional pueden corresponder distintos modelos estructurales. Los modelos se emplean con el fin de aplicarlos en la prctica y resolver un determinado problema.

L2 est ms prximo a los algoritmos que permiten resolver problemas complejos. L1 (L.M.): Primitivas de uso convenientes. Permite implementaciones flexibles. Independiza del HW.
9 10

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Formas de crear la mquina virtual L2


Por TRADUCCION: Un programa traductor ejecutndose en el nivel 1 transforma sentencias de L2 en una o ms (equivalentes) de L1. Luego se ejecuta el programa transformado directamente en L1.
Una traduccin N ejecuciones. 2 versiones del mismo algoritmo (L1 y L2).

Formas de crear la mquina virtual L2


Programa Mquina L2 virtual + L2 Datos trad. o int.

Resultados

Por INTERPRETACION: Un programa intrprete ejecutndose en el nivel L1 busca, decodifica y ejecuta las sentencias de L2.
Cada reejecucin del programa L2 interpretacin. nueva
11

La idea puede extenderse a varios niveles. Programador de aplicaciones Niveles altos Programador de sistemas Niveles bajos
12

Mg. Javier Echaiz

Organizacin de Computadoras (5744) Lic. Cs. Comp.


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Organizacin de una computadora Parte I


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Produccin y ejecucin de ejecutables

Objetos y ejecutables

13

14

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Vinculador
(linker, link-editor)
No cambia de nivel (no traduce ni interpreta). Ms rpido que el ensamblador, lo que facilita la programacin modular. Tareas:
reubicacin (si se juntan varios mdulos).
dir. reubicada = dir. reubicable + DIC.

Cargador (loader)
Busca el ejecutable en almacenamiento (disco, red, etc.), y lo carga en memoria. Resuelve las reubicaciones dinmicas. Inicializa algunos registros (p.ej.: SP). Inicializa el contador de programa, y transfiere el control del procesador al programa cargado.
15 16

resolucin referencias externas.

Creacin de archivo cargable, con informacin aadida de reubicacin para el cargador.

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Ejemplos
Ejemplos de diferentes tipos de lenguajes basados en :
Una rutina que calcula e imprime la suma de los cuadrados de los enteros entre 0 y 100.
17

Ejemplo para lenguaje de mquina MIPS

18

Mg. Javier Echaiz

Organizacin de Computadoras (5744) Lic. Cs. Comp.


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Organizacin de una computadora Parte I


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Ejemplo para lenguaje de assembler de MIPS

Lenguaje alto nivel ( C )


#include <stdio.h> int main( int argc, char *argv[]) { int i; int sum = 0; for (i=0; i<100; i+1) sum = sum + i * i ; printf("Sum 0 .. 100 is %d\n",sum); }

19

20

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Unidad Central de Proceso


Archivo Fuente Archivo Fuente Archivo Fuente

Unidad Central de Proceso


Archivo Fuente

Assembler

Assembler

Assembler

Compilador

Archivo Objeto
B i b l i o t e c a

Archivo Objeto

Archivo Objeto

Assembler

Vinculador

Vinculador

Archivo Ejecutable
21

Archivo Ejecutable
22

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Organizacin de Computadoras Org. de una Computadora I

Mg. Javier Echaiz

Niveles de representacin
Aplicacin (Firefox) Sistema Compilador Operativo (GNU/Linux) Assembler
Conjunto de Instrucciones Procesador Memoria Sistema de E/S

Unidad Central de Proceso


Lenguaje de alto nivel Programa (e.g., C) Compilador Lenguaje ensamblador Pograma (e.g.,tasm) Assembler Lenguaje Mquina Programa (i686) Interpretacin Mquina
Especificacin
23

Organizacin de Computadoras

Software Hardware

Datapath & Control Diseo Lgico Diseo de Circuitos


Transistores

Seales de Control

24

Mg. Javier Echaiz

Organizacin de Computadoras (5744) Lic. Cs. Comp.


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Organizacin de una computadora Parte I


Organizacin de Computadoras Org. de una Computadora I Mg. Javier Echaiz

Organizacin bsica de una computadora


Bus E / S

Procesador (CPU)

Bus de memoria

u na Org. de ora tad compu

Coming Next

Memoria Entrada / Salida


DMA Acceso Directo a Memoria
25 26

Mg. Javier Echaiz

You might also like