Sie sind auf Seite 1von 28

Computadores y Comunicaciones

Tema 4: Arquitectura y funcionamiento


bsico del ordenador

Febrero, 2011
Jorge Juan Chico <jjchico@dte.us.es>, Julin Viejo Corts <julian@dte.us.es>
Departamento de Tecnologa Electrnica
Universidad de Sevilla
Usted es libre de copiar, distribuir y comunicar pblicamente 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 bsica de un ordenador
Comprender cmo 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 mtodo para mejorar las
prestaciones de las operaciones de entrada y salida

Contenidos
Estructura bsica del ordenador
Unidades funcionales

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

Dispositivos de almacenamiento

Jerarqua. Memoria interna. Memoria externa: tipos. Discos


magnticos. Cintas. CD/DVD.

Interrupciones y mtodos de entrada/salida

Estructura bsica del ordenador.


Modelo de Von Neumann
Un ordenador consiste en una serie de componentes bsicos
capaces de realizar tareas simples: operaciones lgicas,
operaciones aritmticas, 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 "fsicamente" sus componentes en la
forma requerida.
Programa almacenado (software): en la actualidad, la
programacin se realiza mediante el almacenamiento de
instrucciones en una "memoria" siguiendo el modelo de Von
Neumann.

Estructura bsica del ordenador.


Modelo de Von Neumann
Principios bsicos:

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 programacin, flexibilidad, cdigo reutilizable.

Inconvenientes

se dedica tiempo y recursos a la captacin y ejecucin de las


instrucciones almacenadas en la memoria.

Estructura bsica del ordenador


Memoria

CPU

Conexin

E/S
Perifricos

CPU
CPU

Memoria
Memoria

E/S
E/S 11

E/S
E/S 22

BUS (Conexin)
6

Estructura bsica del ordenador


CPU (Unidad central de proceso)

cerebro del ordenador, ejecuta instrucciones, realiza operaciones


lgicas y aritmticas

Memoria

almacena datos y programas

directamente accesible por la CPU

Entrada/Salida (E/S)

comunica la CPU con dispositivos "externos" (perifficos): monitor,


teclado, red, modem, discos, etc.

Sistema de conexin

comunica la CPU con la memoria y los mdulos de E/S

Contenidos
Estructura bsica del ordenador
Unidades funcionales

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

Dispositivos de almacenamiento

Jerarqua. Memoria interna. Memoria externa: tipos. Discos


magnticos. Cintas. CD/DVD.

Interrupciones y mtodos de entrada/salida

Unidades Funcionales. El Bus


Conjunto de lneas elctricas que permiten la comunicacin
entre los componentes del ordenador.
Tipo de lneas:

Direccin (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 operacin a realizar

CPU

Memoria

E/S 1

direcciones
datos
control
9

El bus. Arbitracin
Bus Master (maestro del bus): dispositivo que controla el bus en
un momento determinado.
rbitro: dispositivo que concede el control del bus a los dems

REQ#: peticin de uso del bus (request)


GR#: cesin 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. Jerarqua
No hay un slo bus que cubra todas las necesidades: velocidad,
extensin, coste, compatibilidad, etc.
Los puentes se encargan de que la estructura "lgica" 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

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 posicin de memoria) se identifica con una
direccin unvoca.
Cada posicin de memoria almacena un dato que puede ser
leido o escrito.

al leer una posicin de memoria, el dato no se modifica


al escribir en una posicin de memoria el dato antiguo se borra

La memoria se conecta con el exterior mediante:

lneas de direccin (A): identifican la posicin de memoria a la que


se quiere acceder.
lneas de datos (D): trasmiten el dato a almacenar o el leido.
lneas 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

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

R 0

W 1

ACK 1
15

Entrada/Salida. Funcionamiento bsico


Anlogo a la memoria
Activada cuando la operacin en el bus es de entrada/salida
Cada dispositivo responde a una o varias direcciones
Los dispositivos no direccionados permanecen inactivos

Perifrico A

Perifrico B

Perifrico C

E/S
00-03

E/S
04

E/S
A8-AF

BUS
16

Entrada/Salida. Lectura

Perifrico A

Perifrico B

E/S
Puerto 0003

E/S
Puerto 0005

7F

BUS

DIR

0003

1234

DATO

7F

M/I

R 1

W 0

ACK 1

17

Entrada/Salida. Escritura

Perifrico A

Perifrico B

E/S
Puerto 0003

E/S
Puerto 0005

54

BUS

DIR

0003

1234

DATO

54

M/I

R 0

W 1

ACK 1

18

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

Dispositivo slo de salida


Puerto de E/S (direccin): 01
Recibe datos de 8 bits e imprime
en la pantalla el smbolo
correspondiente segn la
codificacin 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 slo de entrada


Puerto de E/S (direccin): 02
Enva datos de 8 bits
correspondientes a smbolos de la
codificacin Latin-1 (ISO-8859-1)
Dispone de un buffer interno para
almacenar 4 smbolos
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 instruccin
La tarea de la CPU es ejecutar
intrucciones almacenadas en la
memoria.
Para ello repite incesantemente el
"ciclo de instruccin"
Para realizar la ejecucin, la CPU
cuenta con:
Unidades de procesamiento
Registros internos
Unidad de control

Captacin

Ejecucin

no
fin?

si
FIN

21

CPU. Estructura bsica


CPU
Unidad de control

Unidad de
Procesamiento

Registros

Unidades de procesamiento:
operaciones lgicas,
aritmticas, punto flotante, etc.
Registros internos:
almacenamiento temporal de
operandos y resultados
Unidad de control: gestiona
todo el proceso de captacin y
ejecucin 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 direccin de la prxima
instruccin a ejecutar.
IR (16 bits): registro de instruccin
(Instruction Register). Almacena el cdico de
la prxima instruccin a ejecutar.
A,B,C y D (16 bits): registros de propsito
general.
Z (1 bit): bandera de cero. Se pone a 1
cuando el resultado de una operacin lgica o
aritmtica es 0.
OV (1 bit): bandera de overflow. Se pone a 1
cuando hay desbordamiento en un operacin
aritmtica.

23

CPU
Instrucciones
Lenguaje (cdigo) mquina: cdigo binario de las instrucciones
que ejecuta la CPU
Lenguaje ensamblador: representacin del lenguaje mquina
mediante palabras clave fciles 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 nmeros
nmeros 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 cdigo
cdigo

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
;; nmero
nmero 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

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 bsica del ordenador
Unidades funcionales

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

Dispositivos de almacenamiento

Jerarqua. Memoria interna. Memoria externa: tipos. Discos


magnticos. Cintas. CD/DVD.

Interrupciones y mtodos de entrada/salida

27

Almacenamiento. Clasificacin
Ubicacin

CPU, memoria interna,


memoria externa, ...

Capacidad

tamao de la palabra,
nmero de palabras.

Unidad de transferencia

palabra, bloque

Tecnologa de fabricacin

semiconductor, magntica,
ptica, ...

Tipo de acceso

secuencial, aleatorio

Caractersticas fsicas

Volatil/No-volatil,
borrable/no-borrable

Prestaciones

tiempo de acceso, velocidad


de transferencia

28

Almacenamiento. Ubicacin
Registros de la CPU

usados como argumentos en las operaciones lgicas, aritmticas,


etc.
almacenamiento ms prximo a la CPU y de acceso ms rpido.

Memoria Interna (o Memoria Principal)

accesible directamente por la CPU (instrucciones de acceso a


memoria)
acceso rpido
medio semiconductor (circuito electrnico)

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 magnticos, CD-ROM, cintas, etc.
29

Almacenamiento. Jerarqua
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 magnticos
magnticos
Cintas/discos
Cintas/discos pticos
pticos

30

Memoria interna. Tipos


Tipo
M. de acceso aleatorio
(RAM)

Volatilidad

voltil

M. de slo lectura
(ROM)

Operaciones

lectura / escritura

Borrado

por bytes

lectura

Escritura

elctricamente

mscaras
no posible

ROM programable
(PROM)

PROM borrable (EPROM)

chip completo
(luz ultrav.)

no-voltil
sobre todo lectura

elctricamente

PROM borrable elctr.


(EEPROM)

por bytes
elctricamente

Memoria FLASH

por bloques
elctricamente

31

Memoria interna. Ejemplo

32

Memoria interna. Evolucin

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 ms recientes y que sern
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
mxima.
Puede haber varios niveles de cach:
interna, externa, etc.

34

Memoria externa. Tipos


Discos magnticos

gran capacidad
lectura/escritura
alta velocidad
memoria secundaria

CD/DVD

capacidad moderada
velocidad media
distribucin de programas y
documentacin, copias de
seguridad, etc.

Unidades Flash (llave USB,


etc.)

equivalente al disco
magntico pero con
tecnologa Flash
fiable
alta velocidad

Cintas magnticas

gran capacidad
acceso secuencial
copias de seguridad

35

Discos magnticos
Una unidad de datos (sector) se
accede indicando tres
parmetros:
C-H-S

Cilindro (C): proporciona la


posicin 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 magnticos. Sector

cola

datos

cabecera

Cabecera:

contiene informacin de localizacin y estado del sector

Datos:

bloque de datos almacenados

Cola:

cdigo de deteccin y correccin 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 ms o
menos ordenada.
38

Discos magnticos. 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 mxima (burst rate)

velocidad de lectura de datos cuando se lee un sector


depende de la velocidad de rotacin, el nmero de sectores en una
pista y el tamao 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 fragmentacin
~ 20-60 MB/s

39

Cintas magnticas
datos

cabezal

cabecera

Acceso secuencial
Estructura en bloques
Mltiples cabezas/pistas

40

CD-ROM/R/RW

Tecnologa 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

Tecnologa 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)
Diseado para ~2 horas de vdeo MPEG2 a resolucin PAL
CD

DVD

42

CD/DVD-ROM

43

CD/DVD-R

44

CD/DVD-RW

45

Contenidos
Estructura bsica del ordenador
Unidades funcionales

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

Dispositivos de almacenamiento

Jerarqua. Memoria interna. Memoria externa: tipos. Discos


magnticos. Cintas. CD/DVD.

Interrupciones y mtodos de entrada/salida

46

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

llegada de un paquete de red


presin de una tecla
avisos peridicos: actualizar un reloj, multitarea, etc.

Esto se consigue mediante el mecanismo de "Interrupciones".


Al recibir una interrupcin (activacin de la seal de
interrupcin), la CPU:

Deja de ejecutar el programa actual


Salta a un programa de servicio a la interrupcin
Vueve a ejecutar el primer programa donde lo haba dejado.

47

Interrupciones
Programa
principal

Durante la ejecucin de una instruccin,


se activa una lnea de interrupcin (*)
Gestor de
interrupcin

*
RETORNO

La CPU guarda la informacin necesaria


sobre el programa principal (contexto) y
salta al "gestor de interrupcin".

El gestor de interrupcin hace las


operaciones necesarias para atender la
interrupcin.
Una instruccin de "retorno de
interrupcin" devuelve el control al
programa principal y contina la
ejecucin.
48

Interrupciones. Ciclo de instruccin


Captacin

Ejecucin

si
interr?

Salvar
contexto

Ejecutar
interrupcin

Recuperar
contexto

no
no
fin?

si
FIN
49

Mtodos de entrada/salida
Entrada/salida programada

se realiza al ejecutar una instruccin de E/S


la CPU permanece bloqueada mientras se completa la operacin
de entrada/salida

Entrada/salida mediante interrupciones

emplea interrupciones para evitar tiempos de espera de la CPU

Acceso directo a memoria (DMA)

el mdulo de E/S transfiere datos directamente a la memoria


mediante mltiples operaciones, sin intervencin de la CPU

50

Mtodos de entrada/salida
E/S programada
La operacin se realiza al encontrar una instruccin de E/S en el
programa (E/S programada)
La CPU permanece bloqueada mientras se completa la
operacin de entrada salida
Esto es un problema en operaciones con dispositivos ms lentos
que la CPU, que son la mayora.

51

Mtodos 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 operacin de E/S sobre un mdulo


Mientras el mdulo procesa la operacin, la CPU pasa a ejecutar
otra tarea (proceso) que est pendiente de ejecucin.
Cuando el mdulo completa la operacin de E/S, activa una seal
de interrupcin.
La CPU recibe la seal de interrupcin y finaliza la operacin de
E/S.

52

Mtodos de entrada/salida
Acceso Directo a Memoria (DMA)
Libera a la CPU de toda transferencia de datos, la cual es
realizada directamente por el mdulo de E/S hacia o desde la
memoria.
Procedimiento:

La CPU inicia la operacin indicando al mdulo de entrada salida


los parmetros de la transferencia, entre otros:
direccin de memoria inicial
nmero de bytes a transferir
El mdulo realiza la operacin 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
ejecucin.
Cuando el mdulo ha transferido todo el bloque de datos, activa
una seal de interrupcin.
La CPU recibe la seal de interrupcin y finaliza la operacin de
E/S.

53

Mtodos de entrada/salida
Ejemplo
PIO

Int.

DMA

Proceso A

Proceso B

Proceso A durante E/S

CPU bloqueada

Interrupcin
54

Das könnte Ihnen auch gefallen