Sunteți pe pagina 1din 13

ORGANIZACIN DEL COMPUTADOR

Arquitectura de Ordenadores. Tema 2

Objetivos
Descripcin de los componentes bsicos y su funcionamiento Representacin interna de los programas en los sistemas SO
Cmo planifican los programas Cmo controlan los dispositivos fsicos

Introduccin
Los computadores se dividen en 3 subsistemas:
Procesador Memoria Ejecutar Programas Almacenamiento programas y datos Controlar dispositivos varios

Subsistema de E/S

Introduccin II

Introduccin III
En la mayora de sistemas
Procesador con nico bus de datos (bus PCI) Procesador con mdulo conmutador Bus E/S Mxima flexibilidad Mximo BW procesador-memoria

Bus de Memoria

Programas (I)
Para el ordenador
Secuencia de instrucciones mquina (especficas) Indican QU hay que hacer Instruccin = Cdigo numrico que representa operacin

Computadores de programa almacenado


Programa = cdigo en memoria, como datos Anteriores
Carga de cada programa. Errores Mucho tiempo
6

Programas (III)
Ventajas de Computadores de Programa Almacenado
Permite almacenar programas en memoria y cargarlos
Una vez compilados y depurados, se almacenan como datos en dispositivo de almacenamiento Se elimina el error de carga (no lo hace una persona)
Podremos cargarlos ms adelante (tarjetas perforadas, disco duro.)

Permite a los programas tratarse a s mismos u otros programas como datos. Programas automodificables.
Ms rpidos y permitan saltos condicionales. Hoy en da se busca facilidad para implementar y depurar programas Cdigo automodificable es difcil de depurar Usando memorias cache Cdigo automodificable poco eficiente.

Programas (IV). Ejemplo


Un programa emacs (un editor de texto UNIX) ocupa 2.878.488 bytes en el computador. Si una persona pudiera introducir un byte del programa por segundo en los conmutadores usados para programar un computador de programa no almacenado (lo cual es optimista). Cunto tardara en poder ejecutar el programa? Si esa persona tuviera una tasa de error del 0.001% introduciendo datos, cuntos errores cometera introduciendo el programa? Para 1 byte/s el programa necesitara 2.878.448 s, que son 47.974 min, u 800 horas, o 33.3 das. Evidentemente, editor de texto poco til. Con tasa de error de 0.001%, un error cada 100.000 bytes. Cometera 29 errores, que habra que depurar y corregir antes de poder ejecutar el programa.

Programas (V)
Compiladores

HERRAMIENTAS PARA EL DESARROLLO DE PROGRAMAS

Ensambladores:

Convierten programas escritos en lenguaje de alto nivel en lenguaje ensamblador Convierten instrucciones escritas en lenguaje ensamblador en su representacin codificada usada por el procesador Unen mltiples programas escritos en lenguaje mquina en un nico archivo ejecutable. Muestran el estado de otro programa a medida que se ejecuta para permitir a los programadores encontrar errores.

Linkers

Depuradores (Debuggers)

Programas (VI)
Primeros computadores

HERRAMIENTAS PARA EL DESARROLLO DE PROGRAMAS

Programados en lenguaje mquina. Largo + Errores Largo + Errores

Determinar la secuencia de instrucciones Introducir los cdigos que las representan

Lenguaje ensamblador.
Relacin unvoca entre instrucciones en cdigo mquina y cdigo ensamblador Reescrito para cada computador Legible Ms fcil entender lo que hace Legible Ms fcil entender lo que hace Hay que ejecutar el ensamblador

Menor probabilidad de error Menor probabilidad de error

ADDr1,r2,r3 (Lenguaje ensamblador)

Ensamblador
0x04010203 (Lenguaje mquina)

Lenguajes de alto nivel.


Una instruccin, grupo de instrucciones mquina. No se ejecutan las instrucciones directamente Requiere traductor

Compilador o intrprete
Porttiles
10

Convertidos para uso en diferentes computadores(diferente compilador)

Traduccin empleando compilador


Debe determinar la secuencia de instrucciones en ensamblador que implemente el programa de la forma ms eficiente posible Tiempo de ejecucin depende del compilador
11

Programas (VII)

HERRAMIENTAS PARA EL DESARROLLO DE PROGRAMAS

Alternativa al compilador: Intrprete:


Toma un programa fuente escrito en un lenguaje de alto nivel, lo analiza y lo ejecuta instruccin a instruccin bajo su control. No se genera un programa equivalente en otro lenguaje de menor nivel, como ocurre con un compilador Si se desea repetir la ejecucin del programa es preciso volver a traducirlo Lentos Usado para ejecutar programas en diferentes tipos de computadores
Sin recompilar Cada computador ejecuta la versin del programa escrito en lenguaje de alto nivel Qu ocurre cuando hay un Qu ocurre cuando hay un Repetir bucle que se ejecuta 1000 veces? bucle que se ejecuta 1000 veces?

Leer instruccin Analizarla Ejecutar instruccin Saltar a la subrutina que la realice Hasta el fin del programa
12

Interprete: Reinterpretar 1000 veces Interprete: Reinterpretar 1000 veces Compilador: Compilar 1 vez Compilador: Compilar 1 vez

Programas (VIII)

HERRAMIENTAS PARA EL DESARROLLO DE PROGRAMAS

Ventajas del intrprete frente al compilador:


El programa se puede ejecutar de inmediato, sin esperar a ser compilado Puede ser interrumpido con facilidad. Puede ser rpidamente modificado y ejecutado nuevamente. Resultan muy apropiados durante la fase de desarrollo de un programa
La compilacin NO permite la ejecucin paso a paso del programa Impide la edicin, seguimiento y depuracin del programa.
13

Programas (IX)
Ejecucin lenta.

HERRAMIENTAS PARA EL DESARROLLO DE PROGRAMAS

Desventajas del intrprete frente al compilador:


Cada instruccin debe ser traducida a cdigo mquina tantas veces como sea ejecutada.

No son adecuados en la fase de explotacin del programa


Proceso de interpretacin se ha de repetir cada vez que se ejecuta el programa Con la compilacin, una vez obtenido el programa en leguaje mquina ste puede ser ejecutado sin necesidad de compilarlo de nuevo.

14

Sistemas operativos (I)


Es el responsable de
Gestionar los recursos fsicos del sistema Cargar y ejecutar programas Comunicarse con los usuarios

Los sistemas embebidos generalmente carecen de S.O.


Porque solamente ejecutan un nico programa.

Si el S.O. es simplemente otro programa, qu lo diferencia del resto?


Se ejecuta en modo privilegiado, frente a modo usuario. Capacidad para comenzar y parar la ejecucin de los programas de usuario.
15

Sistemas operativos (II)


Modo privilegiado:
Permite acceso a un dispositivo de E/S, cambios de contexto, reserva de memoria

Llamadas a sistema
Generadas por programas en modo usuario Solicitando al S.O. que realice una operacin en modo privilegiado Ejemplo: cuando un programa quiere mostrar una informacin al usuario, como puede ser mostrar un carcter en pantalla, ejecuta una llamada al sistema para solicitar que el S.O. muestre dicha operacin.
16

Sistemas operativos (III). MULTIPROGRAMACIN


Multiprogramacin
La admiten la mayora de los computadores. Da la impresin de que el sistema ejecuta mltiples programas de forma simultnea, con un solo procesador. El SO y el HW proporcionan proteccin para los programas, evitando que un programa acceda a datos de otro.

Multiusuario
Adems de proteccin entre programas usuarios. proteccin entre

Conmutacin rpida entre programas. Timeslice. Cuando termina slot de tiempo, el S.O. detiene la ejecucin del programa, lo quita de micro, y carga otro programa Cambio de contexto Cmo consigue que de la Cmo consigue que de la
17

impresin de que se ejecutan impresin de que se ejecutan varios simultneamente? varios simultneamente?

Sistemas operativos (IV).

MULTIPROGRAMACIN

Cmo se ejecuta el cambio de contexto?


El SO transfiere informacin entre Registros del micro y Memoria.

Mayora de computadores, 60 cambios de contexto/segundo Proteccin


El resultado de cualquier programa que se ejecute en computador multiprogramado, debe ser el mismo que si el programa fuese el nico ejecutndose. El S.O. controla los recursos fsicos del computador, el procesador, la memoria y los dispositivos E/S. Memoria Virtual: Tcnica empleada por los S.O. para proteger datos entre programas Cada programa se ejecuta como si fuera el nico No hay que preocuparse de las limitaciones de memoria Traduccin de direcciones de memoria a las que el programa hace referencia, en direcciones usadas por el sistema de memoria.
18

Organizacin del computador (I). EL PROCESADOR

Responsable de la ejecucin real de las instrucciones que forman los programas, entre ellos el S.O. Formado por:
Unidades de ejecucin Banco de registros Unidad de control

Unidades de ejecucin:
HW que busca y decodifica instrucciones ALU, realizan el clculo A veces, diferentes para enteros y coma flotante A veces, mltiples unidades de ejecucin, para ejecutar instrucciones en paralelo
19

Organizacin del computador (II) EL PROCESADOR

Banco de registros:
rea de almacenamiento Acceso ms rpido que a memoria Admiten mltiples accesos simultneos Segn el micro, banco de registros diferentes

Unidad de control:
Controla el resto del micro Determina cundo se pueden ejecutar las instrucciones y qu operaciones son necesarias para ejecutar cada instruccin.
20

Organizacin del computador (III) El Sistema de Memoria

Almacena datos y programas empleados por el computador Dos tipos de memoria: ROM y RAM ROM:
Solo lectura Almacena un programa (bootstrap) que se ejecuta automticamente por el computador cada vez que se enciende o reinicia. Este programa hace que el computador cargue su S.O. desde el disco duro u otro dispositivo E/S.
21

Organizacin del computador (IV) El Sistema de Memoria

RAM:

Se puede leer y escribir Para almacenar los programas, el S.O. y datos. Es voltil
No retiene los datos cuando el computador se apaga De ah la importancia de los dispositivos de almacenamiento permanente.

Una de las caractersticas ms importantes de un computador es su longitud de palabra, limitando la cantidad de memoria a la que puede hacer referencia. Hoy en da, 32 o 64 bits, permitiendo acceder a bytes de memoria. El sistema de memoria admite dos operaciones: carga (load) y almacenamiento (store)
22

Organizacin del computador (V) El Sistema de Memoria

La mayora permiten que sea cargado o almacenado ms de 1 byte a la vez. En este caso, la direccin enviada al sistema de memoria especifica la posicin del byte con direccin ms baja de los datos a cargar o almacenar. Ejemplo: en un sistema de 32 bits, para la posicin 424, usara una cantidad de 32 bits que contiene los bytes de las posiciones de memoria 424, 425, 426 y 427. Para simplificar, algunos computadores requieren que las cargas y almacenamientos estn alineados, de modo que la direccin de memoria debe ser un mltiplo del tamao de los datos a cargar o almacenar.
23

Organizacin del computador (VI) El Sistema de Memoria

Cuando almacenamos mltiples bytes en memoria, importa el orden en que los bytes se escriben en memoria. Criterio del extremo menor (little endian, implementado en los Pentium) y criterio de Big endian. Little endian, el byte menos significativo (el de menor valor) de una palabra, se escribe en el byte de direccin ms baja. Big endian, orden contrario.
24

Organizacin del computador (VII) El Sistema de Memoria


0x1000 0x1001 0x1002 0x1003 Palabra = 0x90abcdef Extremo menor Direccin = 0x1000 Extremo mayor ef 90 cd ab ab cd 90 ef

El criterio del extremo es una caracterstica importante cuando transmitimos datos entre diferentes computadores, ya que interpretan la secuencia de bytes de forma distinta, segn el criterio de extremo que utilicen.
25

Organizacin del computador (V) El Subsistema de E/S Dispositivos que el computador usa para
Comunicarse con el exterior Almacenar datos (discos duros, monitores, impresoras y unidades de cinta)

Se comunican con el procesador a travs de un bus de E/S, diferente al bus de memoria. Esto permite interactuar con gran cantidad de dispositivos E/S sin necesidad de una interfaz especfica para cada uno. Casi todos los PC y estaciones de trabajo usan el estndar PCI para sus buses de E/S. Al compartir el bus E/S entre varios dispositivos
Flexibilidad y compatibilidad Conectar ms y diferentes dispositivos Reduciendo prestaciones de velocidad respecto a conexiones dedicadas entre el procesador y un dispositivo E/S.
26

S-ar putea să vă placă și