Está en la página 1de 24

1

1.2. Jerarqua de niveles de un computador



Qu es un computador?

Sistema electrnico digital (binario) que procesa datos siguiendo
unas instrucciones almacenadas en su memoria.


Sistema complejo se estudia desde distintos puntos de vista.

Su estudio se divide en niveles (puntos de vista) que forman una
jerarqua:
- en cada nivel se hace una abstraccin de los detalles definidos
en el nivel inmediatamente inferior.
- en cada nivel se estudian solamente los aspectos que interesan
en este nivel.
2
Al principio solo haba dos niveles totalmente dependientes
*1
:
- hardware: los circuitos digitales y su construccin.
- software: los programas de instrucciones (lenguaje mquina).

(*1)
Esto fue as hasta 1964.

IBM desarrolla el sistema 360 (family of business mainframe
computers)

Introduce el trmino arquitectura de computadores = conjunto
de instrucciones y elementos hardware visibles al programador.

Construy 6 realizaciones de la arquitectura que variaban en precio
y rendimiento.

Mquinas que ejecutaban el mismo software independientemente
de su implementacin hardware.
3

La jerarqua de niveles de abstraccin para el estudio del
computador que veremos es



Los niveles por debajo del ISA son hardware.
Los niveles por encima del ISA son software.
4

Niveles software

Evolucin del software:

- al principio: programar en lenguaje mquina (con 0s y 1s),
teniendo que cargar en memoria y ejecutar cada programa.
- hoy en da: entornos grficos.


Los pasos de esta evolucin fueron la aparicin de:

(1) Lenguaje mquina
(2) Lenguaje ensamblador
(3) Lenguaje de alto nivel
(4) Sistema operativo
(5) Aplicaciones

5
(1) Lenguaje mquina

El lenguaje que realmente entiende la mquina (sistema digital) est
formado por ceros y unos (bits).

Ejemplo real (MIPS) de programa en lenguaje mquina:



Este conjunto de bits (programa) puede ser cargado en memoria y
ejecutado.

Como resultado de la ejecucin se produce un proceso de datos.
6


Cada lnea de este conjunto de bits es una instruccin.

Una instruccin es una orden individual al computador para realice
una operacin determinada.


Una instruccin ser un nmero binario almacenado en memoria.

Por ejemplo, el nmero (00000000100011100001100000100001)
2

que es la segunda instruccin del programa, indica al computador
que sume dos nmeros.


El programador de lenguaje mquina, utiliza secuencias de bits para
escribir sus programas.
7
(2) Lenguaje ensamblador

Programar usando nmeros binarios es muy laborioso.

Se invent notacin simblica (caracteres alfanumricos) para
representar cada instruccin mquina

Por ejemplo, la segunda instruccin del programa ejemplo visto se
escribira add $2, $4, $2.


Al principio traduccin se haca a mano, pero luego se cre un
software traductor: el programa ensamblador.

El ensamblador traduce un programa escrito en lenguaje
ensamblador a el programa equivalente en lenguaje mquina.


8
Por ejemplo, el programador escribira su programa en lenguaje
ensamblador:
muli $2, $5, 4
add $2, $4, $2
lw $16, 4($2)
sw $16, 0($2)
jr $31
sw $15, 3($3)
lw $15, 0($4)

y el ensamblador generara el programa a lenguaje mquina:

9
(3) Lenguaje de alto nivel

Expresar resolucin de problemas es difcil en lenguaje
ensamblador (ya lo comprobarn).

Fuerza al programador a pensar como funciona la mquina:
movimiento de datos, operaciones aritmticas y lgicas bsicas y
saltos (cambios de secuencia).

Solucin: tener un lenguaje de alto nivel (algortmico) que se
traduzca a lenguaje ensamblador.

Programa traductor: compilador.
10


11
(4) Sistema operativo

Con el desarrollo de la programacin surgi la idea de reutilizar
programas para tareas rutinarias bibliotecas de subrutinas.
Las primeras para entrada/salida de datos: controlar los distintos
perifricos impresoras, cintas magnticas

Tambin surgi la necesidad de un programa independiente que
supervisara la ejecucin del conjunto de programas de los distintos
programadores.

Programa supervisor + bibliotecas de subrutinas de entrada/salida =
base de un sistema operativo (programa para la gestin de los
recursos del computador)

(5) Aplicaciones
Programas que realizan tratamientos de datos especficos:
procesadores de texto, hojas de clculo, bases de datos,
12
J erarqua de niveles para estudiar un computador

El modelo de computador que tenemos es:




Veamos cada uno de los niveles:
13

(0) Nivel fsico

Cmo construir diodos, transistores, resistencias y
condensadores con semiconductores de tipo n y p.

Se aplican las leyes de la fsica electrnica.


Por ejemplo, un transistor se construira


14

(1) Diseo de circuitos

Cmo implementar puertas lgicas y biestables con transistores,
diodos, resistencias, y capacitores.

Se aplican las leyes de la electricidad: descripcin del circuito en
trminos de corriente, tensin, etc.


Por ejemplo la construccin de una puerta NOR sera:

15
(2) Diseo digital (FCI)

Definir circuitos combinacionales y secuenciales a partir de puertas
lgicas y biestables.
Estos circuitos sern los bloques digitales bsicos para disear un
procesador.

Las leyes que se aplican son las del lgebra de Boole.

Por ejemplo, multiplexor de 2 entradas de control:

16

(3) Procesador del repertorio de instrucciones

Diseo de un sistema digital complejo que ejecuta instrucciones
a partir de buses, registros, bloques combinacionales, memorias


El procesador se compone de:

- la ruta de datos: flujo de datos y su transformacin a travs de
circuitos combinacionales y elementos de memoria.

- la unidad de control: generacin sincronizada de seales para
controlar la ruta de datos.

Veremos las formas de realizar cada uno.
17

Ruta de datos multiciclo de la MIPS (en negro)


18
Control multiciclo de la MIPS

19

(4) Arquitectura del repertorio de instrucciones

Es el nivel fundamental que define cmo es un computador.
Este nivel est definido por:
- el repertorio de instrucciones.
- los modos de direccionamiento de los operandos.
- los tipos de datos.
- los registros del procesador.


Es la interface entre el hardware y el software y veremos pautas de
diseo de este nivel.

Tambin describiremos y utilizaremos (creando programas) este
nivel para el procesador MIPS.
20
(5) Sistema operativo

Este nivel es el que realiza la gestin de los recursos que ofrecen
los niveles inferiores del sistema computador: CPU, memoria

Para obtener un uso fcil, eficiente, compartido y seguro de los
mismos: gestin de archivos, procesos, memoria virtual

Proporciona a los usuarios una mquina ms manejable.

21
(6) Compilador

Permite al programador expresar los programas en un lenguaje
cercano a su descripcin algortmica

Traduce estos programas escritos en lenguajes de alto nivel a
programas especificados en lenguaje mquina

22
(7) Aplicaciones

Programas que se ejecutan para realizar funciones tiles al
usuario: bases de datos, las hojas de clculo o los procesadores de
texto

Son programas escritos en lenguajes de alto nivel

Su objetivo es crear un entorno amigable para el usuario del
sistema computador

23

Desde que puntos de vista estudiaremos el computador en esta
asignatura?

(1) Arquitectura del repertorio de instrucciones

Estudiaremos:

(a) Cmo disear este nivel mirando (en la jerarqua de niveles)
hacia:
- arriba: sostener los lenguajes de alto nivel
- abajo: fcil implementacin hardware
(Cuestin de compromiso)

(b) Descripcin de este nivel de una mquina en concreto: la MIPS

(c) Adems escribirn programas de este nivel para la MIPS
24
(2) Procesador del repertorio de instrucciones y subsistema de
entrada y salida


Estudiaremos:


(a) Cmo disear un procesador con circuitos lgicos (sumadores,
multiplexores, registros, memoria,) que ejecute un repertorio de
instrucciones determinado (implementacin del nivel ISA)


(b) Organizacin de la memoria


(c) Gestin de la entrada/salida

También podría gustarte