Arquitectura de computadora

19
11/06/2014 1 ARQUITECTURA DE COMPUTADORA Bioingeniería - UNViMe Introducción Un ordenador es una máquina electrónica de proceso de datos de uso general que trabaja a gran velocidad y con una gran fiabilidad. Las operaciones que efectúa se le indican con las instrucciones que componen los programas. La parte física del ordenador se denomina “hardware”, la parte lógica (datos e instrucciones) se denomina “software”.

Transcript of Arquitectura de computadora

Page 1: Arquitectura de computadora

11/06/2014

1

ARQUITECTURA DE

COMPUTADORA Bioingeniería - UNViMe

Introducción

• Un ordenador es una máquina electrónica de proceso de

datos de uso general que trabaja a gran velocidad y con

una gran fiabilidad. Las operaciones que efectúa se le

indican con las instrucciones que componen los

programas.

• La parte física del ordenador se denomina “hardware”, la

parte lógica (datos e instrucciones) se denomina “software”.

Page 2: Arquitectura de computadora

11/06/2014

2

Introducción

• La arquitectura actual de los ordenadores se basa en los

principios de la arquitectura de John Von Newman, que

son:

• Una sola memoria física para los datos y los programas.

• Los contenidos de la misma se direccionan indicando su posición,

sin considerar el tipo de dato contenido en la misma.

• La ejecución de las instrucciones es secuencial, salvo que una

instrucción ordene romper la secuencia (es decir, realizar un bote

dentro del programa).

Arquitectura Von Newman

• La arquitectura de un computador está orientada a

conseguir que este funcione con eficacia al menor coste.

Las funciones básicas de un ordenador son:

• Procesar datos: El ordenador efectúa operaciones aritméticas y

lógicas sobre los datos almacenados en memoria principal.

• Almacenar datos: Guarda los datos sobre los cuales el ordenador

está trabajando.

• Transferir datos: Los datos son transferidos entre el ordenador y

el exterior, y entre sus componentes. La comunicación con el

exterior se realiza utilizando los dispositivos de E/S del ordenador

y la interna utilizando los buses.

• Control: Las tres funciones anteriores son controladas por el

mismo ordenador siguiendo las instrucciones que componen el

programa que ejecuta.

Page 3: Arquitectura de computadora

11/06/2014

3

Arquitectura de Von Newman

• Los componentes de un ordenador con arquitectura de Von Newman son: • La memoria: Es donde se almacenan los datos y las instrucciones

que componen los programas. Es vista por el procesador como un conjunto de compartimentos numerados donde puede leer y escribir información.

• El procesador: Es el encargado de ejecutar las operaciones que indican las instrucciones de los programas y controlar el resto del ordenador para que se cumplan estas instrucciones. Está compuesto de dos partes:

• La Unidad de Control. Se encarga de descodificar las instrucciones y emitir las señales de control apropiadas para que se ejecuten.

• La Unidad de ejecución: Es la que realmente ejecuta las operaciones que indican las instrucciones, conforme a las señales que recibe de la unidad de control.

• La arquitectura original de Von Newman considera estas dos unidades como elementos diferentes.

Arquitectura Von Newman

• Los dispositivos de E/S: Proporcionan al ordenador la

comunicación con el exterior y la capacidad de almacenamiento

permanente de información. Ejemplo: El teclado, un disco duro, la

impresora...

• El bus del sistema: Es el elemento que interconecta los

componentes del ordenador y permite la comunicación entre

ellos.

Page 4: Arquitectura de computadora

11/06/2014

4

La memoria

• Almacena los datos y los programas que utiliza el

procesador.

• Existen diferentes tipos de memorias que se diferencian

entre ellas en su capacidad y en la velocidad de acceso.

Siendo las memorias más rápidas, las de menos

capacidad.

• La memoria se organiza de forma jerárquica.

• Esto se consigue gracias al principio de localidad de

referencias, según el cual, un programa al ejecutarse

accede sólo a una pequeña parte de la memoria

durante un periodo relativamente largo.

Memoria

Page 5: Arquitectura de computadora

11/06/2014

5

Memoria

Memoria

Page 6: Arquitectura de computadora

11/06/2014

6

Objetivo

• Conseguir el rendimiento de una memoria de

gran velocidad al coste de una memoria de baja

velocidad. Hay 3 puntos básicos relacionados

con la memoria: • Cantidad cuanto más memoria haya disponible, más podrá

utilizarse.

• Velocidad óptima para la memoria es la velocidad a la que el

procesador puede trabajar, de modo que no haya tiempos de

espera entre cálculo y cálculo, utilizados para traer operandos o

guardar resultados.

• Coste no debe ser excesivo, para que sea factible construir un

equipo accesible.

Fundamentación

•Principio de Localidad: • Los programas acceden a una porción relativamente

pequeña del espacio de direcciones en un determinado

lapso de tiempo.

• Localidad temporal - Si un ítem es referenciado en

determinado momento, es común que vuelva a ser

referenciado poco tiempo después

• Localidad Espacial - Cuando un ítem es referenciado en

determinado momento, es común que los ítems con

direcciones “cercanas” también sea accedidos poco

tiempo después.

Page 7: Arquitectura de computadora

11/06/2014

7

Fundamentación

• Tomando ventaja del principio de localidad: • Construir un sistema con mucha memoria de tecnología baratas

• Proveer acceso a la velocidad ofrecida por las tecnologías más rápidas

• La DRAM es lenta, pero de alta densidad y barata: Presenta al usuario un sistema de memoria GRANDE.

• La SRAM es rápida, pero de baja densidad y cara: Presentar al usuario un sistema de memoria RÁPIDO.

El Arte del diseño de un Sistema de Memoria consiste en Optimizar la organización para minimizar el tiempo de acceso promedio para las cargas de trabajo típicas

Periféricos

• Los periféricos de E/S (Entrada y Salida) sirven

básicamente para la comunicación de la computadora

con el medio externo.

• Proveen el modo por el cual la información es transferida

de afuera hacia adentro, y viceversa, además de

compatibilizar esta transferencia a través del equilibrio de

velocidad entre los diferentes medios. Entre estos

componentes podemos mencionar el teclado, el monitor y

la impresora.

Page 8: Arquitectura de computadora

11/06/2014

8

Bus de comunicación

• Es el medio de comunicación interno del

ordenador e interconecta todos los componentes del

mismo. Está formado por un conjunto de conductores

eléctricos, por donde circulan las señales que

corresponden a la información que trata el ordenador.

Estos buses internos transportan la información de forma

paralela.

Page 9: Arquitectura de computadora

11/06/2014

9

Bus de comunicación

• Hay tres clases de líneas en un bus:

• Las líneas de datos: Proporciona el camino para transmitir

información (datos e instrucciones) entre los componentes del

ordenador. Suele constar de 32 o 64 líneas distintas (Anchura del

bus).

• Las líneas de direcciones: Indica la fuente o destino del dato

situado en el bus de datos. Los ordenadores actuales tienen

mapeadas en el mismo conjunto de direcciones, las

direcciones de la memoria y de los dispositivos E/S.

• Las líneas de control: Se utiliza para que la CPU controle al resto

de componentes y para sincronizar el acceso y el uso de los buses

de datos y direcciones. A través de este bus se envían señales

como: Lectura Memoria, Escritura E/S, Petición de Interrupción...

Page 10: Arquitectura de computadora

11/06/2014

10

Estructura física de la CPU

• La CPU -Unidad central de proceso- es el elemento del

ordenador encargado de ejecutar las instrucciones que

componen los programas. Para ello, realiza una

serie de operaciones -leer de la instrucción,

interpretarla, buscar los operandos, ejecutar la

operación que indica la instrucción y guardar el resultado

- que componen el ciclo de instrucción.

• La unidad de control

• El reloj del procesador

• Los registros

• La unidad aritmética lógica ALU

La unidad de control

• La unidad de control de la CPU tiene dos funciones:

• El secuenciamiento de instrucciones: Determina la siguiente

instrucción a ejecutar. Detecta los saltos dentro del código

del programa, tanto condicionales como incondicionales, y

actualiza el registro PC para que se efectúen.

• La interpretación de las instrucciones: Decodifica las

instrucciones y genera las señales de control necesarias para que

sean ejecutadas.

• Las CPU actuales contienen más de una unidad de

ejecución y cada una de ellas tiene su propio controlador.

La UC funciona como el supervisor de todas las unidades

de ejecución.

Page 11: Arquitectura de computadora

11/06/2014

11

Los registros

• Es la memoria interna de la CPU, formada por un conjunto de registros. Es la memoria más rápida del ordenador y la de menor capacidad. Es utilizada para almacenar los datos con los que está operando la CPU y su información de control y estado. Esta memoria se encuentra en la cima de la jerarquía de memoria de un ordenador.

• Existen 2 tipos de registros dentro de la CPU: • Registros de propósito general -GPR-.

• Registros de propósito específico

• El contador del programa -PC-

• El Registro de Instrucción -IR-

• El Registro de dirección de memoria -MAR-

• El Registro intermedio de memoria -MBR-

La unidad aritmético-lógica -ALU-

• Se denomina Unidad Aritmético-Lógica a la unidad

incluida en la CPU encargada de realizar operaciones

aritméticas y lógicas sobre operandos que provienen de

la memoria principal y que pueden estar almacenados de

forma temporal en algunos registros de la CPU.

• Junto con sus registros auxiliares de entrada de los

operandos y de salida del resultado forma la unidad de

ejecución del procesador.

• Las operaciones básicas que realiza una ALU son:

• Operaciones aritméticas: suma, resta y multiplicación.

• Operaciones lógicas: And, or, not y exor.

• Desplazamiento de bits, con o sin mantenimiento del bit de signo.

Page 12: Arquitectura de computadora

11/06/2014

12

ALU

• Funcionamiento:

• La ALU efectúa sus operaciones, una vez que los

operandos ya se encuentran en registros de la CPU, sean

registros de propósito general o el MBR. La UC indica a la ALU

que operación efectuar activando una señal de control, el resultado

de la operación se almacena en un registro acumulador de la ALU.

• Tras cada operación, la ALU actualiza en contenido del

registro de estado del procesador.

Lenguajes de maquina

• El lenguaje máquina es el único lenguaje que puede ejecutar

una computadora. El lenguaje de máquina es un código que es

interpretado directamente por el microprocesador.

• El lenguaje está compuesto por un conjunto de

instrucciones ejecutadas en secuencia (con eventuales

cambios de flujo causados por el propio programa o eventos

externos) que representan acciones que la máquina podrá

tomar.

• Un lenguaje máquina es específico de cada arquitectura de

computadora.

• Todo código fuente en última instancia debe llevarse a un

lenguaje máquina mediante el proceso de compilación o

interpretación para que la computadora pueda ejecutarlo.

Page 13: Arquitectura de computadora

11/06/2014

13

Formato de instrucciones

• Es la representación en binario de cada una de

las instrucciones

• Cada instrucción “contiene” explícitamente o

implícitamente toda la información que necesita

para ejecutarse: • Código de operación, indica a la UC el tipo de operación, aritmética,

lógica, de transferencia, salto, etc.

• El valor o la posición donde se hallan los operandos

• El lugar donde se tiene que depositar el resultado

• Dirección de la siguiente instrucción a ejecutar

Tipo de instrucciones

• Instrucciones de transferencia

• Instrucciones de bifurcación

• Instrucciones aritméticas y lógicas

• Instrucciones de comparación y de bit

• Instrucciones de desplazamiento

• Instrucciones de entrada/salida

• Instrucciones de control

Page 14: Arquitectura de computadora

11/06/2014

14

Inst. Transferencia

• Copian en el operando destino la

información del operando fuente sin

modificar éste • No modifican el estado de los flags

• Generalmente transfieren palabras pero pueden mover fracciones

de ellas o bloques enteros

Instrucciones aritméticas y lógicas

• Instrucciones aritméticas: • ADD: suma sin acarreo

• ADC: suma con acarreo

• SUB: resta sin acarreo

• SBB: resta con acarreo

• MUL: multiplicación sin signo

• IMUL: multiplicación con signo

• DIV: división sin signo

• IDIV: división con signo

• INC: incrementar

• DEC: decrementar

• NEG: cambia de signo dejando el operando en C2

• Instrucciones lógicas: • AND, NOT, OR, XOR

Page 15: Arquitectura de computadora

11/06/2014

15

Inst. Bifurcación

• Modifican la secuencia normal de ejecución de un

programa

• Actúan sobre el contador de programa (PC), controlan la

secuencia de ejecución de un programa. Son un caso

especial de transferencia, donde el operando destino es

el PC

• Clasificación:

Inst. Bifurcación CALL

• Llamadas a subrutinas: salvan la posición de retorno. Las

instrucciones de salto a la subrutina y de regreso al

programa principal van emparejadas

Page 16: Arquitectura de computadora

11/06/2014

16

Inst. de bifurcación Interrupciones

• Las interrupciones implican una ruptura en la secuencia

del programa saltando al código que da ese servicio y

cuando se ha terminado, se vuelve a la ejecución del

programa en curso

• Pueden ser:

• Interrupciones hardware: son generadas por los circuitos

asociados al microprocesador en respuesta a algún evento como

pulsar una tecla del teclado

• Interrupciones software: son generadas por un programa para

llamar a ciertas subrutinas almacenadas en memoria ROM o RAM.

• Es posible cambiarlas y crear otras nuevas.

Page 17: Arquitectura de computadora

11/06/2014

17

Page 18: Arquitectura de computadora

11/06/2014

18

Instrucciones Entrada/Salida

• IN: Transfiere información desde un puerto de entrada a

un registro

• OUT: Escribe información en un puerto de salida desde

un registro

Ej.: Hola Mundo

Page 19: Arquitectura de computadora

11/06/2014

19

Direccionamiento