ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES

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...

14 downloads 379 Views 389KB Size
Universidad Rey Juan Carlos

ESTRUCTURA Y TECNOLOGÍA DE 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

Programa 1. 2. 3. 4. 5. 6. 7.

Introducción Elementos de almacenamiento Elementos de proceso Elementos de transferencia Ciclo de instrucción y ejecución de programas Entrada / Salida Introducción a los microprocesadores

2

Estructura de un computador: conceptos básicos

Bibliografía  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.

3

Estructura de un computador: conceptos básicos

1. Introducción Unidades funcionales de un computador •Memoria •Unidad central de proceso (UCP)

Líneas de comunicaciones

Periféricos COMPUTADOR

ƒUnidad aritmético-lógica (UAL) ƒUnidad de control (UC) •Entrada/Salida (E/S) •Interconexiones Tipos de elementos •Elementos de almacenamiento

E/S

Memoria

Interconexiones

•Elementos de proceso •Elementos de transferencia

UCP

4

Estructura de un computador: conceptos básicos

Introducción UCP

MEM

MEM

E/S

E/S

Sistema de conexiones

Buses

Control Datos Dirección

Flanco de bajada Nivel alto

Sincronismo: reloj

Clk Nivel bajo Flanco de subida Ciclo de reloj (medido entre dos flancos de subida)

Ciclo de reloj (medido entre dos flancos de bajada)

5

Estructura de un computador: conceptos básicos

2. Elementos de almacenamiento Tipos de elementos de almacenamiento: •Biestables. •Registros. •Memoria.

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

C Q

D

C

_ Q D

Q

6

Estructura de un computador: conceptos básicos

Registros en un computador 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

n bits Control

n-1

1

0

Salida

7

Estructura de un computador: conceptos básicos

Tipos de registros en un computador 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. 8

Estructura de un computador: conceptos básicos

Tipos de registros en un computador 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). C_Dato_A

C_Dato

Dato

Dato_A

n

Activo

n

Inactivo

C_Dato_B

Dato_B

n

9

Estructura de un computador: conceptos básicos

Memoria •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. 10

Estructura de un computador: conceptos básicos

3. Elementos de proceso 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

ALU control

Zero ALU ALU result

11

Estructura de un computador: conceptos básicos

4. Elementos de transferencia •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

12

Estructura de un computador: conceptos básicos

Buses BUS

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 del sistema: constituido por los tres buses anteriores (datos, direcciones y control). 13

Estructura de un computador: conceptos básicos

Ejemplo de conexión en bus

Módulo con conexión bidireccional

Módulo con entrada desde el bus

Módulo con salida hacia el bus

Bus 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.

14

Estructura de un computador: conceptos básicos

5. Ciclo de instrucción y ejecución de programas •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. 15

Estructura de un computador: conceptos básicos

Instrucciones de máquina •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).

16

Estructura de un computador: conceptos básicos

Unidad de control (UC) •La UC es la unidad funcional que organiza y coordina a los restantes elementos del computador. –Para ello utiliza las señales de control.

Señales de control internas para la CPU

Bus 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).

IR

Indicadores de estado Señales de control hacia el bus Señales de control desde el bus

Unidad de control Reloj (Clk)

•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.

17

Estructura de un computador: conceptos básicos

Unidad aritmético-lógica (UAL) •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 Registros

Unidad de control

Registros

ALU

Indicadores

Registros

18

Estructura de un computador: conceptos básicos

Ciclo de instrucción •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.

19

Estructura de un computador: conceptos básicos

Ejecución de programas: resumen •

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. 20

Estructura de un computador: conceptos básicos

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

ARQUITECTURA VON NEUMANN PERIFÉRICOS

REGISTROS

MEMORIA PRINCIPAL CIRCUITOS

U N I D A D

PERIFÉRICOS

PERIFÉRICOS

D E

U.A.L.

E / S PERIFÉRICOS

UNIDAD DE CONTROL

PUNTERO

21

Estructura de un computador: conceptos básicos

Esquemas de entrada / salida •

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.

22

Estructura de un computador: conceptos básicos

Ejemplo: conexión mediante bus único

23

Estructura de un computador: conceptos básicos

Gestión de entrada / salida •

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.

24

Estructura de un computador: conceptos básicos

Ciclo de instrucción •

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.

25

Estructura de un computador: conceptos básicos

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. 26

Estructura de un computador: conceptos básicos

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. 27

Estructura de un computador: conceptos básicos

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. 28

Estructura de un computador: conceptos básicos

Microcontroladores y procesadores de propósito específico •

Microcontroladores: ƒ ƒ ƒ



Procesadores digitales de señal (DSP): ƒ ƒ ƒ ƒ



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. 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.

29