Beruflich Dokumente
Kultur Dokumente
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
Dispositivos de almacenamiento
Ventajas
Inconvenientes
CPU
Conexin
E/S
Perifricos
CPU
CPU
Memoria
Memoria
E/S
E/S 11
E/S
E/S 22
BUS (Conexin)
6
Memoria
Entrada/Salida (E/S)
Sistema de conexin
Contenidos
Estructura bsica del ordenador
Unidades funcionales
Dispositivos de almacenamiento
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
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
Puente
VGA
Discos
Red
Puente
E/S 1
E/S 2
Bus ISA (8MHz, 16 bits)
11
BUS
DIR
0000
DATO
00
M/I
R 0
W 0
ACK 0
12
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
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
E/S
01
H
BUS
19
Entrada/Salida
Ejemplo: teclado
QWERT YUIOP
ASDFG HJKL
ZXCVB NM,.** ***** ***
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
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
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
Dispositivos de almacenamiento
27
Almacenamiento. Clasificacin
Ubicacin
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
28
Almacenamiento. Ubicacin
Registros de la CPU
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
Volatilidad
voltil
M. de slo lectura
(ROM)
Operaciones
lectura / escritura
Borrado
por bytes
lectura
Escritura
elctricamente
mscaras
no posible
ROM programable
(PROM)
chip completo
(luz ultrav.)
no-voltil
sobre todo lectura
elctricamente
por bytes
elctricamente
Memoria FLASH
por bloques
elctricamente
31
32
33
Memoria cach
CPU
CPU
Cach
Cach
Memoria
Memoria principal
principal
34
gran capacidad
lectura/escritura
alta velocidad
memoria secundaria
CD/DVD
capacidad moderada
velocidad media
distribucin de programas y
documentacin, copias de
seguridad, 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
http://commons.wikimedia.org/wiki/Image:Cilindro_Cabeza_Sector.svg
cola
datos
cabecera
Cabecera:
Datos:
Cola:
Archivos
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
DVD
42
CD/DVD-ROM
43
CD/DVD-R
44
CD/DVD-RW
45
Contenidos
Estructura bsica del ordenador
Unidades funcionales
Dispositivos de almacenamiento
46
Interrupciones
En muchas ocasiones es necesario "avisar" a la CPU de un
acontecimiento:
47
Interrupciones
Programa
principal
*
RETORNO
Ejecucin
si
interr?
Salvar
contexto
Ejecutar
interrupcin
Recuperar
contexto
no
no
fin?
si
FIN
49
Mtodos de entrada/salida
Entrada/salida programada
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:
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:
53
Mtodos de entrada/salida
Ejemplo
PIO
Int.
DMA
Proceso A
Proceso B
CPU bloqueada
Interrupcin
54