• No se han encontrado resultados

Organización de la Computadora

N/A
N/A
Protected

Academic year: 2021

Share "Organización de la Computadora"

Copied!
46
0
0

Texto completo

(1)

Organizaci ´on de la Computadora

Sistemas Operativos

Andr ´es Felipe Barco Santa Pontificia Universidad Javeriana

(2)

Arquitectura

El Sistema operativo provee abstracciones para que el

hardware pueda ser operado sin tener que conocer los detalles de c ´omo son se realiza esa operaci ´on.

(3)

Arquitectura

El Sistema operativo provee abstracciones para que el

hardware pueda ser operado sin tener que conocer los detalles de c ´omo son se realiza esa operaci ´on.

John Von Neumann

“It is evident that the machine must be capable of storing in some manner not only digital information needed in a given computation..., but also the instructions wich govern the actual routines to be performed on the numerical dara”

(4)

Arquitectura de Von Newumann

Figura:Tomado de Operating Systems, 3 Edition, Gary Nutt

(5)

Arithmetical Logical Unit

La ALU realiza una serie de operaciones binarias tanto aritmeticas como l ´ogicas, tales como; suma, resta y el AND l ´ogico.

(6)

Arithmetical Logical Unit

La ALU realiza una serie de operaciones binarias tanto aritmeticas como l ´ogicas, tales como; suma, resta y el AND l ´ogico.

La unidad funcional realiza las operaciones.

(7)

Arithmetical Logical Unit

La ALU realiza una serie de operaciones binarias tanto aritmeticas como l ´ogicas, tales como; suma, resta y el AND l ´ogico.

La unidad funcional realiza las operaciones. Los registros retienen los operandos y resultados.

(8)

Arithmetical Logical Unit

La ALU realiza una serie de operaciones binarias tanto aritmeticas como l ´ogicas, tales como; suma, resta y el AND l ´ogico.

La unidad funcional realiza las operaciones. Los registros retienen los operandos y resultados. Los registros de estado reflejan los resultados de las operaciones de la unidad funcional.

(9)
(10)

Control Unit

La unidad de control es la encargada de la secuencia de obtener una instrucci ´on de memoria y ejecutarla.

(11)

Control Unit

La unidad de control es la encargada de la secuencia de obtener una instrucci ´on de memoria y ejecutarla.

El contador de programa (PC) contiene la direcci ´on de la pr ´oxima instrucci ´on a ejecutar.

(12)

Control Unit

La unidad de control es la encargada de la secuencia de obtener una instrucci ´on de memoria y ejecutarla.

El contador de programa (PC) contiene la direcci ´on de la pr ´oxima instrucci ´on a ejecutar.

El registro de instrucci ´on (IR) contiene una copia de la intrucci ´on actual una vez se ha obtenido de memoria.

(13)

Control Unit

La unidad de control es la encargada de la secuencia de obtener una instrucci ´on de memoria y ejecutarla.

El contador de programa (PC) contiene la direcci ´on de la pr ´oxima instrucci ´on a ejecutar.

El registro de instrucci ´on (IR) contiene una copia de la intrucci ´on actual una vez se ha obtenido de memoria. Sus tres unidades l ´ogicas son la unidad de obtenci ´on (fetch unit), unidad decodificadora (decode unit) y unidad de ejecuci ´on (execute unit).

(14)

Control Unit

(15)

Fetch-Execute Cycle

(16)

Fetch-Execute Cycle

PC = <machine start address>; IR = memory[PC]

(17)

Fetch-Execute Cycle

PC = <machine start address>; IR = memory[PC]

(18)

Fetch-Execute Cycle

PC = <machine start address>; IR = memory[PC]

haltflag = CLEAR;

while(haltFlag not SET during execution)f

PC = PC + 1; execute(IR); IR = memory[PC];

g;

(19)

Executable Memory

La unidad de memoria primaria almacena tanto programas como los datos que estos usan mientras operan en la CPU.

(20)

Executable Memory

La unidad de memoria primaria almacena tanto programas como los datos que estos usan mientras operan en la CPU.

El registro de direcci ´on de memoria (MAR) almacena la direcci ´on de memoria a la cual se desea acceder.

(21)

Executable Memory

La unidad de memoria primaria almacena tanto programas como los datos que estos usan mientras operan en la CPU.

El registro de direcci ´on de memoria (MAR) almacena la direcci ´on de memoria a la cual se desea acceder.

El registro de dato de memoria (MDR) almacena los datos que se escriben/leen a/desde la memoria.

(22)

Executable Memory

La unidad de memoria primaria almacena tanto programas como los datos que estos usan mientras operan en la CPU.

El registro de direcci ´on de memoria (MAR) almacena la direcci ´on de memoria a la cual se desea acceder.

El registro de dato de memoria (MDR) almacena los datos que se escriben/leen a/desde la memoria.

El registro de comando (Cmd) almacena la operaci ´on deseada (read/write).

(23)
(24)

Devices

Los dispositivos se unen al computador por medio de los buses. Cada dispositivo de entrada envia datos a los registros de la CPU. Cuando se usa esa informaci ´on se envia desde la CPU a los dispositvos de salida.

(25)

Devices

Los dispositivos se unen al computador por medio de los buses. Cada dispositivo de entrada envia datos a los registros de la CPU. Cuando se usa esa informaci ´on se envia desde la CPU a los dispositvos de salida.

El controlador del dispositivo provee un conjunto de componentes que la CPU puede manipular para hacer operar el dispositivo.

(26)

Devices

Los dispositivos se unen al computador por medio de los buses. Cada dispositivo de entrada envia datos a los registros de la CPU. Cuando se usa esa informaci ´on se envia desde la CPU a los dispositvos de salida.

El controlador del dispositivo provee un conjunto de componentes que la CPU puede manipular para hacer operar el dispositivo.

El dispositivo (entrada/salida)

(27)
(28)

Device Controllers

Motivaci ´on

Un dispositivo requiere de mucha antenci ´on durante su operaci ´on. Si el software realizar ´a esto, se necesitaria monitorear constantemente el dispositivo por lo cual se gastar´ıan recursos.

busy define si el dispositivo est ´a ocupdado

(29)

Device Controllers

Motivaci ´on

Un dispositivo requiere de mucha antenci ´on durante su operaci ´on. Si el software realizar ´a esto, se necesitaria monitorear constantemente el dispositivo por lo cual se gastar´ıan recursos.

busy define si el dispositivo est ´a ocupdado

done define si la operaci ´on encargada al dispositivo a

(30)

Device Controllers

Motivaci ´on

Un dispositivo requiere de mucha antenci ´on durante su operaci ´on. Si el software realizar ´a esto, se necesitaria monitorear constantemente el dispositivo por lo cual se gastar´ıan recursos.

busy define si el dispositivo est ´a ocupdado

done define si la operaci ´on encargada al dispositivo a

terminado

error define si ha habido alg ´un error mientras se operaba

(31)

Device Controllers

Motivaci ´on

Un dispositivo requiere de mucha antenci ´on durante su operaci ´on. Si el software realizar ´a esto, se necesitaria monitorear constantemente el dispositivo por lo cual se gastar´ıan recursos.

busy define si el dispositivo est ´a ocupdado

done define si la operaci ´on encargada al dispositivo a

terminado

error define si ha habido alg ´un error mientras se operaba command define que comando se ejecuta

(32)

Device Controllers

Motivaci ´on

Un dispositivo requiere de mucha antenci ´on durante su operaci ´on. Si el software realizar ´a esto, se necesitaria monitorear constantemente el dispositivo por lo cual se gastar´ıan recursos.

busy define si el dispositivo est ´a ocupdado

done define si la operaci ´on encargada al dispositivo a

terminado

error define si ha habido alg ´un error mientras se operaba command define que comando se ejecuta

Los regustros de datos son, naturalmente, para almacenar datos de entrada y salida

(33)
(34)

Posibilidades

El dise ˜no anterior permite cubrir algunas funcionalidades.

(35)

Posibilidades

El dise ˜no anterior permite cubrir algunas funcionalidades. Direct Memory Access (DMA)

(36)

Posibilidades

El dise ˜no anterior permite cubrir algunas funcionalidades. Direct Memory Access (DMA)

Memory-Mapped I/O

(37)

Disabling Interrupts

Polling

M ´etodo Antiguo

El polling es el m ´etodo en el cual el software esta haciendo un chequeo constante de los registros busy y done, averiguando si el dispositivo termino su trabajo. Situacion busy-wait en el procesador!!!

(38)

Disabling Interrupts

Polling I/O

(39)

Disabling Interrupts

Interrupts

M ´etodo Moderno

La arquitectura de Von Neumann ha sido modificada para incorporar las intrrupciones. Esto permitir ´a un uso mucho m ´as eficiente de los recursos por medio del solapar el uso de estos.

(40)

Disabling Interrupts

Interrupts

M ´etodo Moderno

La arquitectura de Von Neumann ha sido modificada para incorporar las intrrupciones. Esto permitir ´a un uso mucho m ´as eficiente de los recursos por medio del solapar el uso de estos.

Interrup Request Un registro al interior de la CPU controla el hecho de que un dispositivo temin ´o su trabajo.

(41)

Disabling Interrupts

Fetch-Execute Cycle with Interrupts

while(haltFlag not SET during execution)f

IR = memory[PC]; PC = PC + 1; execute(IR);

(42)

Disabling Interrupts

Fetch-Execute Cycle with Interrupts

while(haltFlag not SET during execution)f

IR = memory[PC]; PC = PC + 1; execute(IR); if(InterrupRequest) f memory[0] = PC; PC = memory[1]; g;

(43)

Disabling Interrupts

Interrup Handler

Interrupt Handlerf

(44)

Disabling Interrupts

Interrup Handler

Interrupt Handlerf

saveProcessorState();

for (i=0, i<Number devices; i++)

if (device[i].done == 1 ) goto device handler(i); /* Something wrong if we get here */

g;

(45)

Disabling Interrupts

Disabling Interrupts

if(InterrupRequest && InterruptEnabled) f

/* Interrupt current process */ memory[0] = PC;

PC = memory[1];

(46)

Disabling Interrupts

Fin de la Clase

Nos vemos en la pr ´oxima!!!

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)