estructura de un computador frankie ruiz (1)

15
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOG ESTRUCTURA Y TECNOLOGÍ A DE A DE COMPUTADORES COMPUTADORES Estructura de un computador: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Estructura de un computador: conceptos básicos 2 1. Introducción 2. Elementos de almacenamiento 3. Elementos de proceso 4. Elementos de transferencia 5. Ciclo de instrucción y ejecución de programas 6. Entrada / Salida 7. Introducción a los microprocesadores Programa

Upload: frankieruiz

Post on 21-Jul-2015

42 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Estructura de un computador frankie ruiz (1)

Universidad

Rey Juan Carlos

ESTRUCTURA Y TECNOLOGESTRUCTURA Y TECNOLOGÍÍA DE A DE COMPUTADORESCOMPUTADORES

Estructura de un computador:conceptos básicos

Luis Rincón CórcolesLicesio J. Rodríguez-Aragón

Estructura de un computador: conceptos básicos

2

1. Introducción

2. Elementos de almacenamiento

3. Elementos de proceso

4. Elementos de transferencia

5. Ciclo de instrucción y ejecución de programas

6. Entrada / Salida

7. Introducción a los microprocesadores

Programa

Page 2: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

3

D.A. PATTERSON, J.L HENNESSY. Estructura y diseño de computadores.Reverté, 2000.

P. DE MIGUEL. Fundamentos de los computadores. 7ª edición, Paraninfo, 1999.

C. CERRADA, V. FELIU. Estructura y Tecnología de Computadores I. UNED, 1993

S. DORMIDO y otros. Estructura y Tecnología de Computadores. Sanz y Torres, 2000.

W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición, Prentice-Hall, 2000.

Bibliografía

Estructura de un computador: conceptos básicos

4

Periféricos

Líneas decomunicaciones

COMPUTADOR

Interconexiones

Memoria E/S

UCP

Unidades funcionales de un computador

•Memoria

•Unidad central de proceso (UCP)

Unidad aritmético-lógica (UAL)

Unidad de control (UC)

•Entrada/Salida (E/S)

•Interconexiones

Tipos de elementos

•Elementos de almacenamiento

•Elementos de proceso

•Elementos de transferencia

1. Introducción

Page 3: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

5

Clk

Nivel alto

Nivel bajo

Flanco desubida

Flanco debajada

Ciclo de reloj(medido entre dosflancos de bajada)

Ciclo de reloj(medido entre dosflancos de subida)

Sistema de conexiones

Sincronismo: reloj

MEMUCP

Control

Datos

DirecciónB

uses

MEM E/S E/S

Introducción

Estructura de un computador: conceptos básicos

6

2. Elementos de almacenamientoTipos de elementos de almacenamiento:

•Biestables.•Registros.•Memoria.

Biestable: almacena un bit.•Consideraremos biestables D síncronos por flanco de bajada.

Q

C

D

_Q

D

C

Q

Page 4: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

7

Registro: colección de n biestables que funcionan al unísono.

Usaremos registros con las siguientes características:•Formados por biestables D síncronos por flanco de bajada (sólo usamos la salida activa por nivel alto).•Entrada paralelo – salida paralelo.•La señal de carga es el reloj.

Registro Entrada

Salida

Control

n bits

01n-1

Registros en un computador

Estructura de un computador: conceptos básicos

8

Según el propósito:•Registros de propósito específico: se utilizan para una tarea determinada.

Están asociados a las unidades funcionales y cumplen funciones específicas: PC, MDR, IR, ALUOut, etc.

•Registros de propósito general: se utilizan para almacenar datos o direcciones de forma flexible.

Agrupados en bancos de registros.

Según el programador:•Registros visibles: pueden usarse directamente por el programador de bajo nivel, que conoce su existencia.

Sirven como operandos implícitos o explícitos en instrucciones de máquina.

•Registros transparentes: el programador desconoce su existencia, por tanto no puede usarlos.

La unidad de control los utiliza para sus propios propósitos.

Tipos de registros en un computador

Page 5: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

9

Buffer triestado: se utiliza para conectar la salida de los elementos a los caminos comunes de interconexión.

Tiene una señal de control que permite que la información entrante le atraviese si está activa, pero si dicha señal se desactiva, la conexión entre la entrada y la salida desaparece (estado de alta impedancia).

Dato n

C_Dato

Activo Inactivo

Dato_A n

C_Dato_A

Dato_B n

C_Dato_B

Tipos de registros en un computador

Estructura de un computador: conceptos básicos

10

•Formada por gran cantidad de elementos de almacenamiento de 1 bit.

•Tipos de memorias RAM: estáticas y dinámicas.

•Operaciones con memorias:

Lectura

Escritura

Refresco (sólo en memorias dinámicas).

•Definiciones:

Palabra de memoria: número de bits que se tratan simultáneamente en cada acceso a memoria.

Tiempo de acceso a memoria: tiempo transcurrido desde que se solicita una operación a la memoria hasta que se completa.

–La lectura y la escritura pueden tener diferentes duraciones.

Tiempo de ciclo (ciclo de memoria): tiempo desde que se solicita una operación hasta que se puede solicitar la siguiente.

–En memorias estáticas, el tiempo de acceso y el de ciclo coinciden.

Memoria

Page 6: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

11

Realizan las operaciones aritméticas, lógicas, de desplazamiento, de rotación, etc., requeridas para ejecutar las instrucciones de los programas.

•Tipos de operadores:Número de operandos:

–Monádico.–Diádico.

Funcionamiento:–Serie.–Paralelo.

Operaciones realizadas:–De própósito general.–De propósito específico.

3. Elementos de proceso

ALU control

ALUresult

ALUZero

3

Estructura de un computador: conceptos básicos

12

•Enlaces

Conectan elementos entre los que se pretende intercambiar información.

Enlaces paralelos: constan de n canales o líneas para transmitir datos de n bits en paralelo.

Enlaces serie: constan de una sola línea para transmitir datos, y los bits se envían uno tras otro.

•Tipos de enlaces

Dedicados: entre dos elementos.

Buses: compartidos por múltiples elementos.

Enlaces dedicados

4. Elementos de transferencia

Page 7: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

13

Bus de datos: transferencia de datos entre elementos.

∗ Ancho del bus de datos: ancho del computador (suele coincidir también con el ancho de la palabra de memoria).

• Bus de direcciones: transferencia de direcciones.

∗ Ancho del bus de direcciones: fija el tamaño máximo de la memoria.

• Bus de control: transferencia de señales de control (carga, selección, lectura o escritura de memoria, etc.)

BUS

Bus del sistema: constituido por los tres buses anteriores (datos, direcciones y control).

Buses

Estructura de un computador: conceptos básicos

14

Cuando varios elementos pueden poner información en un mismo enlace (bus), es preciso interponer buffers triestado con señales de control excluyentes para evitar que dos elementos intenten enviar información a la vez.

Módulo conconexión

bidireccional

Bus

Módulo conentrada desde el

bus

Módulo con salidahacia el bus

Ejemplo de conexión en bus

Page 8: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

15

•Microoperaciones: operaciones elementales que pueden realizarse con los elementos de la ruta de datos.

•Tipos de microoperaciones:Transferencia.

–Registro-registro.–Registro-memoria.

Proceso: a través de la UAL.–Lógicas.–Aritméticas.

•Un programa se compone de una secuencia de instrucciones.

•En el modelo Von Neumann, un programa se encuentra listo para ser ejecutado cuando sus instrucciones se encuentran almacenadas consecutivamente en memoria principal.

•Los datos del programa se encontrarán también almacenados en la memoria principal.

–Registros: contienen datos temporales intermedios.

5. Ciclo de instrucción y ejecución de programas

Estructura de un computador: conceptos básicos

16

•Una instrucción de máquina consta de varios bits agrupados en campos:Un código de operación (también llamado código de instrucción).Uno o varios operandos (o incluso ninguno).

•El código de operación indica qué tiene que hacer la instrucción (sumar, restar, mover datos, etc).

•Los campos de operandos indican cuáles son los datos sobre los que hay que realizar la operación.

Origen o fuente: los que participan en el cálculo.Destino: donde se almacena el resultado.Los campos de operandos no suelen contener los datos en sí, sino que indican cómo

encontrar los datos (modos de direccionamiento).–Registro no transparente.–Memoria.–Instrucción (operando inmediato).

•Una instrucción de máquina ocupará un número de bits equivalente a una palabra de memoria o un múltiplo de una palabra.

A veces los campos de operando no caben dentro de una sola palabra junto con el código de operación (palabras de extensión o ampliación).

Instrucciones de máquina

Page 9: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

17

•La UC es la unidad funcional que organiza y coordina a los restantes elementos del computador.

–Para ello utiliza las señales de control.

•Funciones de la UC:–Lectura de las instrucciones (fetching).–Decodificación de las instrucciones.–Ejecución de las instrucciones.–Resolución de situaciones particulares (interrupciones, trampas).

•Para ejecutar un programa, la UC va leyendo y ejecutando las instrucciones una por una.

–La ejecución de un programa se compone de una secuencia de ciclos de instrucción.

Unidad de control (UC)

Unidad decontrol

Bu

s d

e c

on

tro

l

Señales de controlhacia el bus

Señales de controldesde el bus

Señales de controlinternas para la CPU

IR

Indicadores de estado

Reloj (Clk)

Estructura de un computador: conceptos básicos

18

•La UAL es el elemento de proceso que realiza la operación requerida en la instrucción.

•La UAL se compone del operador y de sus registros y caminos de transferencia y elementos asociados (banco de registros, acumulador, etc.)

•Unidad central de proceso: UCP = UC + UAL

Unidad de control

Registros

Indicadores

Registros

Registros

ALU

Unidad aritmético-lógica (UAL)

Page 10: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

19

•Para llevar a cabo un ciclo de instrucción, la UC cuenta con la siguiente información:

Instrucción en ejecución (inicialmente en memoria y apuntada por el PC).

Registro de estado.

Contador de fases y señal de reloj.

Señales de control externas (emitidas por otras unidades funcionales).

•Fases en un ciclo de instrucción:

1) Lectura y decodificación de la instrucción en memoria.

2) Ejecución de la instrucción.

3) Ciclo de interrupción.

Ciclo de instrucción

Estructura de un computador: conceptos básicos

20

• Un programa consta de un conjunto de instrucciones y datos almacenados en memoria principal.

• La ejecución de un programa implica la ejecución de sus instrucciones en secuencia.

• La ejecución de una instrucción se denomina ciclo de instrucción.

• Un ciclo de instrucción consta de varias fases (lectura, decodificación, ejecución).

• Cada fase del ciclo de instrucción consta de una o varias microoperaciones.

• Las microoperaciones se pueden solapar en el tiempo si no se estorban unas a otras.

Ejecución de programas: resumen

Page 11: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

21

ARQUITECTURA VON NEUMANN

U.A.L.

REGISTROS

CIRCUITOS

MEMORIA PRINCIPAL

UNIDAD DE CONTROL PUNTERO

PERIFÉRICOS

PERIFÉRICOS

PERIFÉRICOS

PERIFÉRICOS

UNIDAD

DE

E/S

El computador se comunica con el exterior mediante dispositivos de E/S.

6. Entrada / Salida

Estructura de un computador: conceptos básicos

22

• Bus dedicado (E/S aislada).

Buses diferentes para acceder a memoria y a E/S.

Espacios de direcciones diferentes para memoria y E/S.

• Bus único (E/S localizada en memoria).

Espacio de direcciones único para memoria y E/S.

Esquemas de entrada / salida

Page 12: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

23

Ejemplo: conexión mediante bus único

Estructura de un computador: conceptos básicos

24

• Alternativas para gestionar la entrada/salida:

– Espera activa (E/S controlada por programa).

– Interrupciones.

– DMA (robo de ciclo).

• Todos los computadores modernos cuentan con las tres alternativas.

Gestión de entrada / salida

Page 13: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

25

• La última fase del ciclo de instrucción consiste en que la UC comprueba si hay alguna petición de interrupción pendiente sin atender.

• Si es así, se produce un salto a la rutina de servicio de interrupción.

• Trampas: excepciones generadas explícitamente por los programas (instrucción TRAP #n).

Suelen utilizarse para realizar llamadas explícitas desde los programas a los servicios del sistema operativo.

Ciclo de instrucción

Estructura de un computador: conceptos básicos

26

7. Introducción a los microprocesadores

• Microprocesador: UCP en una sola pastilla incluyendo:

Unidad de control.

Unidad aritmético-lógica y banco de registros.

Buses internos de datos, direcciones y control.

• Limitaciones en la tecnología de microprocesadores:

Tecnología de integración (número de transistores).

Tecnología de encapsulamiento (número de patillas).

• Actualmente los microprocesadores incluyen:

Unidades de proceso para datos en coma flotante.

Múltiples unidades de ejecución de instrucciones.

Memoria caché.

Unidades de lectura anticipada de instrucciones.

Tablas de anticipación de saltos.

• Los computadores actuales se basan en microprocesadores.

Page 14: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

27

Características de los microprocesadores

• Repertorio de instrucciones ejecutado.

• Frecuencia del reloj.

• Anchura de los buses internos.

• Tamaño de los registros.

• Tamaño de la memoria caché si la incluye.

• Tecnología de fabricación.

• Número de transistores.

• Número de patillas del encapsulamiento.

• Ancho de un microprocesador: ancho de su operador,

que normalmente coincide con el ancho del bus de

datos.

Estructura de un computador: conceptos básicos

28

Microprocesadores más conocidos

• Fabricantes más conocidos: Intel, AMD, Motorola, MIPS, IBM, DEC,

Zilog, Hewlett-Packard, Fujitsu, Texas Instruments, etc.

• Microprocesadores de 4 bits: 4004.

• Microprocesadores de 8 bits: 8008, 8080, 6800, Z-80, 8085.

• Microprocesadores de 16 bits: 8086, 68000, 80286.

• Microprocesadores de 32 bits: 68020, 68030, 68040, 80386, 80486,

Pentium, PowerPC, K6, K7, R2000, R3000.

• Microprocesadores de 64 bits: Alpha, SPARC, UltraSPARC, R4000,

R5000, R10000, R12000, Itanium.

Page 15: Estructura de un computador frankie ruiz (1)

Estructura de un computador: conceptos básicos

29

Microcontroladores y procesadores de propósito específico

• Microcontroladores:Son computadores en una sola pastilla, incluyendo memoria e interfaz para

entrada / salida.

La memoria incluye parte EPROM y parte RAM, así como varios registros.

Ejemplos: 8051, PIC 16X84.

• Procesadores digitales de señal (DSP):Adaptados para realizar tratamiento de señales digitales (audio, vídeo, etc).

Diseñados para ejecutar rápidamente bucles muy repetitivos con operaciones de

suma y producto con accesos a estructuras de datos de tipo vector.

Suelen incorporar memorias caché y tratamiento separado de instrucciones y

datos (arquitectura Harvard).

Ejemplo: familia TMS320 de Texas Instruments.

• Otros procesadores de propósito específico:Procesadores de entrada/salida.

Aceleradores de gráficos.

Controladores de red local.