Computadores y Comunicaciones. Tema 4: Arquitectura y funcionamiento básico del ordenador

Computadores y Comunicaciones Tema 4: Arquitectura y funcionamiento básico del ordenador Febrero, 2011 Jorge Juan Chico , Julián Viejo Cortés Depart

4 downloads 165 Views 1MB Size

Story Transcript

Computadores y Comunicaciones Tema 4: Arquitectura y funcionamiento básico del ordenador

Febrero, 2011 Jorge Juan Chico , Julián Viejo Cortés Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons. Puede consultar el texto completo de la licencia en http://creativecommons.org/licenses/by-sa/3.0/

Objetivos Conocer la estructura básica de un ordenador Comprender cómo funcionan los principales componentes del ordenador Conocer los distintos dispositivos de memoria y almacenamiento existentes y valorar ventajas e inconvenientes de cada uno Comprender la utilidad de los mecanismos de interrupciones y acceso directo a memoria como método para mejorar las prestaciones de las operaciones de entrada y salida

2

Contenidos Estructura básica del ordenador Unidades funcionales –

El bus. La memoria. Dispositivos de entrada/salida. La CPU.

Dispositivos de almacenamiento –

Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

Interrupciones y métodos de entrada/salida

3

Estructura básica del ordenador. Modelo de Von Neumann Un ordenador consiste en una serie de componentes básicos capaces de realizar tareas simples: operaciones lógicas, operaciones aritméticas, movimiento de datos, etc. Cuando estos componentes se organizan para realizar una tarea determinada se dice que el ordenador está "programado" para esa tarea. –



Programa cableado (hardwired): los primeros ordenadores se programaban conectando "físicamente" sus componentes en la forma requerida. Programa almacenado (software): en la actualidad, la programación se realiza mediante el almacenamiento de instrucciones en una "memoria" siguiendo el modelo de Von Neumann.

4

Estructura básica del ordenador. Modelo de Von Neumann Principios básicos: – – –

Los datos y las instrucciones se almacenan en una misma memoria de lectura y escritura. Tanto los datos como las instrucciones se acceden de una misma forma (las instrucciones pueden ser tratadas como datos). Las instrucciones se ejecutan secuencialmente salvo que se de una orden especial

Ventajas –

facilidad de programación, flexibilidad, código reutilizable.

Inconvenientes –

se dedica tiempo y recursos a la captación y ejecución de las instrucciones almacenadas en la memoria.

5

Estructura básica del ordenador Memoria

CPU

Conexión

E/S Periféricos

CPU CPU

Memoria Memoria

E/S E/S 11

E/S E/S 22

BUS (Conexión) 6

Estructura básica del ordenador CPU (Unidad central de proceso) –

cerebro del ordenador, ejecuta instrucciones, realiza operaciones lógicas y aritméticas

Memoria –

almacena datos y programas



directamente accesible por la CPU

Entrada/Salida (E/S) –

comunica la CPU con dispositivos "externos" (periféficos): monitor, teclado, red, modem, discos, etc.

Sistema de conexión –

comunica la CPU con la memoria y los módulos de E/S

7

Contenidos Estructura básica del ordenador Unidades funcionales –

El bus. La memoria. Dispositivos de entrada/salida. La CPU.

Dispositivos de almacenamiento –

Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

Interrupciones y métodos de entrada/salida

8

Unidades Funcionales. El Bus Conjunto de líneas eléctricas que permiten la comunicación entre los componentes del ordenador. Tipo de líneas: – – –

Dirección (bus de direcciones -AB-): indican el origen o destino de los datos Datos (bus de datos -DB-): contienen el dato a transferir Control: determinan el tipo de operación a realizar

CPU

Memoria

E/S 1

direcciones datos control 9

El bus. Arbitración Bus Master (maestro del bus): dispositivo que controla el bus en un momento determinado. Árbitro: dispositivo que concede el control del bus a los demás – –

REQ#: petición de uso del bus (request) GR#: cesión del bus (grant)

Árbitro Árbitro REQ1

REQ2 GRT1

CPU CPU

GRT3

GRT2 REQ3

E/S E/S 11

E/S E/S 22

Memoria Memoria BUS

10

El bus. Jerarquía No hay un sólo bus que cubra todas las necesidades: velocidad, extensión, coste, compatibilidad, etc. Los puentes se encargan de que la estructura "lógica" siga siendo de bus único CPU

Memoria

Bus del sistema (133MHz, 64 bits)

Puente

VGA

Discos

Red

Bus PCI (33MHz, 32 bits)

Puente

E/S 1

E/S 2 Bus ISA (8MHz, 16 bits)

11

Unidades Funcionales. El bus Ejemplo de bus simple: – – –



Direcciones: 16 bits (0 .. FF) Datos: 8 bits Control: Memoria/ES (M/I): Memoria=0, E/S=1 Lectura (R): activa=1 Escritura (W): activa=1 Transferencia reconocida (ACK): activa=1 Reloj: activo en "flanco de bajada"

BUS

DIR

0000

DATO

00

M/I

0

R 0

W 0

ACK 0 12

Unidades Funcionales. Memoria La memoria está compuesta por un conjunto de registros de una anchura determinada (p. ej. 8, 16 o 32 bits). Cada registro (o posición de memoria) se identifica con una dirección unívoca. Cada posición de memoria almacena un dato que puede ser leido o escrito. – –

al leer una posición de memoria, el dato no se modifica al escribir en una posición de memoria el dato antiguo se borra

La memoria se conecta con el exterior mediante: – – –

líneas de dirección (A): identifican la posición de memoria a la que se quiere acceder. líneas de datos (D): trasmiten el dato a almacenar o el leido. líneas de control: seleccionan una de las dos posibles operaciones: lectura (R) o escritura (W). 13

Memoria. Lectura Memoria

BUS

DIR

0003

0000 0001 0002 0003 0004 0005 0006

D2 A6 61 34 24 3C F1

. . .

. . .

FFFF

7872

DATO

34

M/I

0

R 1

W 0

ACK 1 14

Memoria. Escritura Memoria

BUS

DIR

0005

0000 0001 0002 0003 0004 0005 0006

D2 A6 61 34 24 17 F1

. . .

. . .

FFFF

7872

DATO

17

M/I

0

R 0

W 1

ACK 1 15

Entrada/Salida. Funcionamiento básico Análogo a la memoria Activada cuando la operación en el bus es de entrada/salida Cada dispositivo responde a una o varias direcciones Los dispositivos no direccionados permanecen inactivos

Periférico A

Periférico B

Periférico C

E/S 00-03

E/S 04

E/S A8-AF

BUS 16

Entrada/Salida. Lectura

Periférico A

Periférico B

E/S Puerto 0003

E/S Puerto 0005

7F

BUS

DIR

0003

1234

DATO

7F

M/I

1

R 1

W 0

ACK 1

17

Entrada/Salida. Escritura

Periférico A

Periférico B

E/S Puerto 0003

E/S Puerto 0005

54

BUS

DIR

0003

1234

DATO

54

M/I

1

R 0

W 1

ACK 1

18

Entrada/Salida Ejemplo: terminal de texto Hello World! Hola Mundo

Dispositivo sólo de salida Puerto de E/S (dirección): 01 Recibe datos de 8 bits e imprime en la pantalla el símbolo correspondiente según la codificación Latin-1 (ISO-8859-1) Dispone de un registro interno para almacenamiento temporal.

E/S 01 H

BUS

19

Entrada/Salida Ejemplo: teclado QWERT YUIOP ASDFG HJKLÑ ZXCVB NM,.** ***** ***

Dispositivo sólo de entrada Puerto de E/S (dirección): 02 Envía datos de 8 bits correspondientes a símbolos de la codificación Latin-1 (ISO-8859-1) Dispone de un buffer interno para almacenar 4 símbolos Emite un sonido cuando se pulsa una tecla y el buffer está lleno

789/ 456* 1230.=+

E/S buffer 02 H O L A

BUS

20

CPU Ciclo de instrucción La tarea de la CPU es ejecutar intrucciones almacenadas en la memoria. Para ello repite incesantemente el "ciclo de instrucción" Para realizar la ejecución, la CPU cuenta con: Unidades de procesamiento Registros internos Unidad de control

Captación

Ejecución

no ¿fin?

si FIN

21

CPU. Estructura básica CPU Unidad de control

Unidad de Procesamiento

Registros

Unidades de procesamiento: operaciones lógicas, aritméticas, punto flotante, etc. Registros internos: almacenamiento temporal de operandos y resultados Unidad de control: gestiona todo el proceso de captación y ejecución de instrucciones

BUS

22

CPU de ejemplo Registros –

CPU PC IR

D2 A6

A B C D

34 24 3C F1

Z OV

1 0



– –



PC (8 bits): contador de programa (Program Counter). Almacena la dirección de la próxima instrucción a ejecutar. IR (16 bits): registro de instrucción (Instruction Register). Almacena el códico de la próxima instrucción a ejecutar. A,B,C y D (16 bits): registros de propósito general. Z (1 bit): bandera de cero. Se pone a 1 cuando el resultado de una operación lógica o aritmética es 0. OV (1 bit): bandera de overflow. Se pone a 1 cuando hay desbordamiento en un operación aritmética.

23

CPU Instrucciones Lenguaje (código) máquina: código binario de las instrucciones que ejecuta la CPU Lenguaje ensamblador: representación del lenguaje máquina mediante palabras clave fáciles de entender para el programador

MOV MOV ADD ADD MOV MOV

A,5 A,5 A,6 A,6 A,7 A,7

0011001011000101 0011001011000101 1101001010000110 1101001010000110 0011001011000111 0011001011000111

24

CPU. Instrucciones Ejemplo ;; ejemplo ejemplo introductorio; introductorio; suma suma los los números números de de una una lista lista SECTION SECTION .data .data global global xx x: x: dd dd dd dd dd dd dd dd sum: sum:

;; comienzo comienzo del del segmento segmento de de datos datos

11 55 22 18 18

dd dd

00

SECTION SECTION .text .text

;; comienzo comienzo del del segmento segmento de de código código

mov mov eax,4 eax,4 mov mov ebx,0 ebx,0 mov mov ecx, ecx, xx

;; EAX EAX servirá servirá de de contador contador para para el el ;; número número de de datos datos que que quedan quedan por por sumar sumar ;; EBX EBX almacenará almacenará la la suma suma ;; ECX apunta al siguiente elemento ECX apunta al siguiente elemento ;; aa sumar sumar

top: top: add add ebx, ebx, [ecx] [ecx] add ;; mueve add ecx,4 ecx,4 mueve el el puntero puntero al al siguiente siguiente elemento elemento dec ;; decrementa dec eax eax decrementa el el contador contador jnz ;; si jnz top top si el el contador contador no no es es 0, 0, repetir repetir done: done: mov mov [sum],ebx [sum],ebx ;; hecho, hecho, almacena almacena el el resultado resultado en en [sum] [sum]

25

http://heather.cs.ucdavis.edu/~matloff/50/LinuxAssembly.html

Computador simple Memoria

CPU PC IR

D2A7 A610

A B C D Z OV

BUS

341C 2470 3C30 F100

0000 0001 0002 0003 0004 0005 0006

D2 A6 61 34 24 3C F1

1 0

. . .

. . .

FFFF

7872

DIR

0000

DATO

00

M/I

Hello World! Hola Mundo

E/S 01 H

0

E/S 02

R 0

W 0

H O L A

ACK 0

QWERT YUIOP ASDFG HJKLÑ ZXCVB NM,.** ***** ***

789/ 456* 1230.=+ 26

Contenidos Estructura básica del ordenador Unidades funcionales –

El bus. La memoria. Dispositivos de entrada/salida. La CPU.

Dispositivos de almacenamiento –

Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

Interrupciones y métodos de entrada/salida

27

Almacenamiento. Clasificación Ubicación –

CPU, memoria interna, memoria externa, ...

Capacidad –

tamaño de la palabra, número de palabras.

Unidad de transferencia –

palabra, bloque

Tecnología de fabricación –

semiconductor, magnética, óptica, ...

Tipo de acceso –

secuencial, aleatorio

Características físicas –

Volatil/No-volatil, borrable/no-borrable

Prestaciones –

tiempo de acceso, velocidad de transferencia

28

Almacenamiento. Ubicación Registros de la CPU – –

usados como argumentos en las operaciones lógicas, aritméticas, etc. almacenamiento más próximo a la CPU y de acceso más rápido.

Memoria Interna (o Memoria Principal) – – –

accesible directamente por la CPU (instrucciones de acceso a memoria) acceso rápido medio semiconductor (circuito electrónico)

Memoria externa (o Dispositivos de Almacenamiento) – – –

acceso indirecto: primero hay que transferir los datos a la memoria principal accesible mediante dispositivos de entrada/salida diferentes medios: discos magnéticos, CD-ROM, cintas, etc. 29

Almacenamiento. Jerarquía No existe un tipo único de memoria que cubra todas las necesidades Es necesario combinar varios tipos

Externa

Interna

Registros Registros CPU CPU Memoria Memoria caché caché Memoria Memoria principal principal

menor coste mayor capacidad mayor tiempo acceso

Discos Discos magnéticos magnéticos Cintas/discos Cintas/discos ópticos ópticos

30

Memoria interna. Tipos Tipo M. de acceso aleatorio (RAM)

Volatilidad

volátil

M. de sólo lectura (ROM)

Operaciones

lectura / escritura

Borrado

por bytes

lectura

Escritura

eléctricamente

máscaras no posible

ROM programable (PROM)

PROM borrable (EPROM)

chip completo (luz ultrav.)

no-volátil sobre todo lectura

eléctricamente

PROM borrable eléctr. (EEPROM)

por bytes eléctricamente

Memoria FLASH

por bloques eléctricamente

31

Memoria interna. Ejemplo

32

Memoria interna. Evolución

33

Memoria caché –

CPU CPU





Caché Caché



Memoria Memoria principal principal –

Memoria de alta velocidad situada entre la CPU y la memoria principal Guarda los datos más recientes y que serán accedidos por la CPU con mayor probabilidad. Se base en el "principio de localidad": los datos/instrucciones accedidos recientemente tienen mayor probabilidad de ser accedidos en el futuro. Permite que la CPU opera a su velocidad máxima. Puede haber varios niveles de caché: interna, externa, etc.

34

Memoria externa. Tipos Discos magnéticos – – – –

gran capacidad lectura/escritura alta velocidad memoria secundaria

CD/DVD – – –

capacidad moderada velocidad media distribución de programas y documentación, copias de seguridad, etc.

Unidades Flash (llave USB, etc.) –

– –

equivalente al disco magnético pero con tecnología Flash fiable alta velocidad

Cintas magnéticas – – –

gran capacidad acceso secuencial copias de seguridad

35

Discos magnéticos Una unidad de datos (sector) se accede indicando tres parámetros: C-H-S –





Cilindro (C): proporciona la posición radial de las cabezas. El conjunto de cabezas se desplaza el cilindro seleccionado. Cabeza (H - Head): activa una cabeza de lectura/escritura. Selecciona una cara concreta. Sector (S): selecciona un sector dentro de una pista. El sector se lee al pasar por debajo de la cabeza de lectura/escritura. 37

http://commons.wikimedia.org/wiki/Image:Cilindro_Cabeza_Sector.svg

Discos magnéticos. Sector

cola

datos

cabecera

Cabecera: –

contiene información de localización y estado del sector

Datos: –

bloque de datos almacenados

Cola: –

código de detección y corrección de errores (CRC)

Archivos –

los archivos empleados por el Sistema Operativo se construyen a base de listas de sectores distribuidos por el disco de forma más o menos ordenada. 38

Discos magnéticos. Propiedades Tiempo medio de acceso – –

tiempo medio que se tarde en mover las cabezas y rotar el disco hasta comenzar a leer un sector ~ 10ms

Velocidad de transferencia máxima (burst rate) – –

velocidad de lectura de datos cuando se lee un sector depende de la velocidad de rotación, el número de sectores en una pista y el tamaño del sector

Velocidad de transferencia media – – –

velocidad de lectura de datos media considerando tiempos empleados en cambiar de un sector a otro disminuye cuando aumenta la “fragmentación” ~ 20-60 MB/s

39

Cintas magnéticas datos

cabezal

cabecera

Acceso secuencial Estructura en bloques Múltiples cabezas/pistas

40

CD-ROM/R/RW – – – –

Tecnología óptica Una única pista en espiral (5km) 20000 pistas aparentes Disco original audio: 1.2 m/s 73 min 774.57 MB 176.4 B/s (650MB efect.)

41

DVD-ROM/+-R/+-RW – – – –

Tecnología similar al CD pero con mayor capacidad Mayor densidad por capa: 4.7GB (7 CD's) Hasta 4 capas (dos por cara): 17 GB (26 CD's) Diseñado para ~2 horas de vídeo MPEG2 a resolución PAL CD

DVD

42

CD/DVD-ROM

43

CD/DVD-R

44

CD/DVD-RW

45

Contenidos Estructura básica del ordenador Unidades funcionales –

El bus. La memoria. Dispositivos de entrada/salida. La CPU.

Dispositivos de almacenamiento –

Jerarquía. Memoria interna. Memoria externa: tipos. Discos magnéticos. Cintas. CD/DVD.

Interrupciones y métodos de entrada/salida

46

Interrupciones En muchas ocasiones es necesario "avisar" a la CPU de un acontecimiento: – – –

llegada de un paquete de red presión de una tecla avisos periódicos: actualizar un reloj, multitarea, etc.

Esto se consigue mediante el mecanismo de "Interrupciones". Al recibir una interrupción (activación de la señal de interrupción), la CPU: – – –

Deja de ejecutar el programa actual Salta a un programa de servicio a la interrupción Vueve a ejecutar el primer programa donde lo había dejado.

47

Interrupciones Programa principal

Durante la ejecución de una instrucción, se activa una línea de interrupción (*) Gestor de interrupción

* RETORNO

La CPU guarda la información necesaria sobre el programa principal (contexto) y salta al "gestor de interrupción".

El gestor de interrupción hace las operaciones necesarias para atender la interrupción. Una instrucción de "retorno de interrupción" devuelve el control al programa principal y continúa la ejecución. 48

Interrupciones. Ciclo de instrucción Captación

Ejecución

si ¿interr?

Salvar contexto

Ejecutar interrupción

Recuperar contexto

no no ¿fin?

si FIN 49

Métodos de entrada/salida Entrada/salida programada – –

se realiza al ejecutar una instrucción de E/S la CPU permanece bloqueada mientras se completa la operación de entrada/salida

Entrada/salida mediante interrupciones –

emplea interrupciones para evitar tiempos de espera de la CPU

Acceso directo a memoria (DMA) –

el módulo de E/S transfiere datos directamente a la memoria mediante múltiples operaciones, sin intervención de la CPU

50

Métodos de entrada/salida E/S programada La operación se realiza al encontrar una instrucción de E/S en el programa (E/S programada) La CPU permanece bloqueada mientras se completa la operación de entrada salida Esto es un problema en operaciones con dispositivos más lentos que la CPU, que son la mayoría.

51

Métodos de entrada/salida E/S mediante interrupciones Evita los estados de bloqueo de la CPU en las operaciones de E/S Procedimiento: – – – –

La CPU inicia una operación de E/S sobre un módulo Mientras el módulo procesa la operación, la CPU pasa a ejecutar otra tarea (proceso) que esté pendiente de ejecución. Cuando el módulo completa la operación de E/S, activa una señal de interrupción. La CPU recibe la señal de interrupción y finaliza la operación de E/S.

52

Métodos de entrada/salida Acceso Directo a Memoria (DMA) Libera a la CPU de toda transferencia de datos, la cual es realizada directamente por el módulo de E/S hacia o desde la memoria. Procedimiento: –



– –

La CPU inicia la operación indicando al módulo de entrada salida los parámetros de la transferencia, entre otros: dirección de memoria inicial número de bytes a transferir El módulo realiza la operación haciendo todas las transferencias que sean necesarias de forma directa, tomando el control del BUS. La CPU pasa a ejecutar otra tarea (proceso) que esté pendiente de ejecución. Cuando el módulo ha transferido todo el bloque de datos, activa una señal de interrupción. La CPU recibe la señal de interrupción y finaliza la operación de E/S.

53

Métodos de entrada/salida Ejemplo PIO

*

Int.

*

*

*

DMA

t

*

Proceso A

Proceso B

Proceso A durante E/S

CPU bloqueada

Interrupción 54

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.