tema1.pdf
DESCRIPTION
tema 1 computadoresTRANSCRIPT
-
Estructura de Computadores
Tema 1. Introduccin a los computadores
Departamento de Informtica Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas
UNIVERSIDAD CARLOS III DE MADRID
-
ARCOS Estructura de Computadores 2
Contenido
1. Qu es un computador? 2. Concepto de estructura y arquitectura 3. Elementos constructivos de un computador 4. Arquitectura Von Neumann 5. Instrucciones mquina. Programacin 6. Fases de ejecucin de una instruccin 7. Parmetros caractersticos de un computador 8. Evolucin histrica
-
ARCOS Estructura de Computadores 3
Qu es un computador?
?
-
ARCOS Estructura de Computadores 4
Qu es un computador?
-
Industria de los semiconductores
ARCOS Estructura de Computadores 5
Fuente: embedded.com
-
Tipos de procesadores
ARCOS Estructura de Computadores 6
Fuente: embedded.com
! Procesadores: 2% de la industria de los semiconductores
! Procesadores para PC: 2 % de todos los procesadores
! Un coche de tipo medio tiene una docena de microprocesadores ! Un BMW serie 7 tiene ms de 65
-
ARCOS Estructura de Computadores 7
Qu es un computador?
Procesador datos
Instrucciones
resultados
! Mquina destinada a procesar datos.
-
ARCOS Estructura de Computadores 8
Qu es un computador?
Procesador datos
Instrucciones
resultados
! Desde el punto de vista matemtico es una mquina abstracta que evala
}{ }{ mnf 1,01,0:
-
ARCOS Estructura de Computadores 9
Estructura y arquitectura
! Estructura " Componentes de un computador " Organizacin de los componentes
! Arquitectura: atributos visibles para un programador " Juego de instrucciones que ofrece la mquina " Tipo y formato de datos que es capaz de utilizar el
computador " Nmero y tamao de los registros " Tcnicas y mecanismos de E/S " Tcnicas de direccionamiento de la memoria
! Tecnologa: cmo se construyen los componentes
-
Conceptos de repaso
! Sistema binario ! Elementos constructivos de un computador " Transistores " Puertas lgicas " Principales bloques conbinacionales " Principales elementos secuenciales
ARCOS Estructura de Computadores 10
-
Sistema binario
! Binario X = 1 0 1 0 0 1 0 1 ... 27 26 25 24 23 22 21 20
" d31d30 ... d1d0 : n de 32 bits (dgitos binarios) " Valor = d31 231 + d30 230 + ... + d1 21 + d0 20
! Hexadecimal Y = 0x F 1 F A 8 0 ... 165 164 163 162 161 160
" De binario a hexadecimal: ! Agrupar de 4 en 4 bits, de derecha a izquierda ! Cada 4 bits es el valor del dgito hexadecimal ! Ej.: 1 0 1 0 0 1 0 1
ARCOS Estructura de Computadores 11
0x A 5
-
Pregunta
! Cuntos cdigos distintos se pueden codificar con 8 bits?
! Cuntos bits hacen falta para representar 512 cdigos?
ARCOS Estructura de Computadores 12
-
ARCOS Estructura de Computadores 13
Transistor
E
A
B
E
A
B
N-MOS P-MOS
E funcionamiento 1 Conecta A con B (circuito abierto) 0 No conecta A con B (circuito cerrado)
E funcionamiento 0 Conecta A con B (circuito abierto) 1 No conecta A con B (circuito cerrado)
(valores lgicos)
-
Puertas lgicas. Inversor (NOT)
ARCOS Estructura de Computadores 14
E S
V3,3
E S E S 3.3 0 1 0 0 3.3 0 1
-
Puertas lgicas. NOR
A B C 0 0 1 0 1 0 1 0 0 1 1 0
ARCOS Estructura de Computadores 15
-
Puertas lgicas. OR
A B C0 0 00 1 11 0 11 1 1
ARCOS Estructura de Computadores 16
-
Puertas lgicas. NAND
A B C0 0 10 1 11 0 11 1 0
ARCOS Estructura de Computadores 17
-
Puertas lgicas. AND
A B C 0 0 0 0 1 0 1 0 0 1 1 1
ARCOS Estructura de Computadores 18
-
ARCOS Estructura de Computadores 19
Bloques constructivos
! Circuitos combinacionales " La salida depende de los valores de entrada " Sin estado
! Circuitos secuenciales " La salida depende de la entrada y del estado actual " Almacenan informacin
-
ARCOS Estructura de Computadores 20
Decodificador
! N entradas, 2N salidas
-
ARCOS Estructura de Computadores 21
Multiplexor
! Selecciona con n bits, 2n entradas
A B C D
MUX S1 S0
S
-
ARCOS Estructura de Computadores 22
Elementos de memoria Biestables R-S
! Elemento que almacena un bit
-
ARCOS Estructura de Computadores 23
Elementos de memoria Biestables D
! Elemento que almacena un bit
Q
Q C
D Q C
-
ARCOS Estructura de Computadores 24
Elementos de memoria Registro
! Elemento que almacena un conjunto de bits
-
ARCOS Estructura de Computadores 25
Esquema de un registro
Registro
Entrada
Carga
Salida
-
ARCOS Estructura de Computadores 26
Memoria
k = 2n posiciones
m bits
Espacio de direcciones: Nmero de posiciones
Tamao de cada posicin: Nmero de bits por posicin
-
ARCOS Estructura de Computadores 27
Componentes de un computador
Procesador Memoriaprincipal
Mdulo de E/S Mdulo de E/S
Perifrico Perifrico
Bus de controlBus de datosBus de direcciones
-
Computador von Neumann
! Mquina capaz de ejecutar una serie de instrucciones elementales: instrucciones mquina " Instrucciones almacenadas en
memoria " Ledas " Ejecutadas
ARCOS Estructura de Computadores 28
-
ARCOS Estructura de Computadores 29
Arquitectura Von Neumann
Procesador Memoriaprincipal
Mdulo de E/S Mdulo de E/S
Perifrico Perifrico
Bus de controlBus de datosBus de direcciones
-
ARCOS Estructura de Computadores 30
Memoria
Procesador Memoriaprincipal
Mdulo de E/S Mdulo de E/S
Perifrico Perifrico
Bus de controlBus de datosBus de direcciones
Almacena: ! instrucciones ! datos
-
ARCOS Estructura de Computadores 31
Memoria
Memoria
direccin Dato/instruccin
L E
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111
MAR MBR
Registro de direcciones de memoria Registro de datos de memoria
-
ARCOS Estructura de Computadores 32
Procesador
Procesador
Memoriaprincipal
Mdulo de E/S Mdulo de E/S
Perifrico Perifrico
Bus de controlBus de datosBus de direcciones
Registros
Unidad decontrol
ALU
Estructura que almacena un conjunto de bits
Realiza las operaciones
Ejecuta las instrucciones
-
ARCOS Estructura de Computadores 33
Registros especiales
Procesador
Memoriaprincipal
Mdulo de E/S Mdulo de E/S
Perifrico Perifrico
Bus de controlBus de datosBus de direcciones
Registros
Unidad decontrol
ALU
PC: contador de programa RI: registro de instruccin
-
Unidad aritmtico-lgica
! Realiza operaciones elementales sobre los datos: " Operaciones aritmticas " Operaciones lgicas
ARCOS Estructura de Computadores 34
-
ARCOS Estructura de Computadores 35
Programa
! Secuencia consecutiva de instrucciones mquina
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111
-
ARCOS Estructura de Computadores 36
Programa
! Secuencia consecutiva de instrucciones mquina
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001 01011000000010011100011010101111
temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;
-
ARCOS Estructura de Computadores 37
Ejecucin de un programa
Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
Disco
Memoria principal
Procesador
PC RI
-
ARCOS Estructura de Computadores 38
Ejecucin de un programa
Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
Disco
Memoria principal
Procesador
PC RI
-
ARCOS Estructura de Computadores 39
Ejecucin de un programa
Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
Disco
Memoria principal
Procesador
PC RI
-
ARCOS Estructura de Computadores 40
Ejecucin de un programa
Fichero ejecutable 00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
00001001110001101010111101011000 10101111010110000000100111000110 11000110101011110101100000001001
01011000000010011100011010101111
Disco
Memoria principal
Procesador
PC RI 00001001110
-
ARCOS Estructura de Computadores 41
Ejemplo
! Conjunto de instrucciones con las siguientes caractersticas: " Tamao de una posicin de memoria: 16 bits " Tamao de la instruccin: 16 bits " Cdigo de operacin: 3 bits ! Cuntas instrucciones diferentes puede tener este
computador? ! Nmero de registros de propsito general: 4 ! Identificadores simblicos:
" R0 " R1 " R2 " R3
! Cuntos bits se necesitan para representar estos 4 registros?
-
ARCOS Estructura de Computadores 42
Ejemplo
! Conjunto de instrucciones con las siguientes caractersticas: " Tamao de una posicin de memoria: 16 bits " Tamao de la instruccin: 16 bits " Cdigo de operacin: 3 bits ! Cuntas instrucciones diferentes puede tener este
computador? 8 instrucciones ! Nmero de registros de propsito general: 4 (2 bits) ! R0 (00) ! R1 (01) ! R2 (10) ! R3 (11)
-
Ejemplo. Juego de instrucciones
Instruccin Descripcin
000EFABCDXXXXXXX Suma el registro AB con el CD y deja el resultado en EF 001AB00000000101 Almacena en el registro AB el valor 00000000101 010AB00000001001
Almacena en el registro AB el valor almacenado en la posicin de memoria 00000001001
011AB00000001001
Almacena en la posicin de memoria 00000001001 el contenido del registro AB
1000000000001001
Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001
101ABCD000001001
Si el contenido del registro AB es igual al del registro CD se salta a ejecutar la instruccin almacenada en 000001001
ARCOS Estructura de Computadores 43
Siendo A,B, C, D, E, F = 0 o 1
-
Formato de una instruccin mquina
ARCOS Estructura de Computadores 44
001 AB 00000000101
-
Formato de una instruccin mquina
ARCOS Estructura de Computadores 45
001 AB 00000000101
Cdigo de operacin
-
Formato de una instruccin mquina
ARCOS Estructura de Computadores 46
001 AB 00000000101
Cdigo de operacin
Operandos Registros Direcciones de memoria Nmeros
-
Ejemplo. Juego de instrucciones
Instruccin Descripcin
000010010XXXXXXX Suma el registro 00 con el 10 y deja el resultado en 01
0010100000000101 Almacena en el registro 01 el valor 00000000101 0100100000001001
Almacena en el registro 01 el valor almacenado en la posicin de memoria 00000001001
0110100000001001
Almacena en la posicin de memoria 00000001001 el contenido del registro 01
1000000000001001
Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001
1010100000001001
Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin almacenada en 000001001
ARCOS Estructura de Computadores 47
-
Ejemplos
! Instruccin que almacena un 5 en el registro 00
! Instruccin que almacena un 7 en el registro 01
! Instruccin que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10
! Instruccin que almacena el resultado anterior en la posicin de memoria 1027 (en decimal)
ARCOS Estructura de Computadores 48
-
Ejemplos
! Instruccin que almacena un 5 en el registro 00
! Instruccin que almacena un 7 en el registro 01
! Instruccin que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10
! Instruccin que almacena el resultado anterior en la posicin de memoria 1027 (en decimal)
ARCOS Estructura de Computadores 49
Instruccin Descripcin
000010010XXXXXXX Suma el registro 00 con el 10 y deja el resultado en 01 0010100000000101 Almacena en el registro 01 el valor 00000000101 0100100000001001
Almacena en el registro 01 el valor almacenado en la posicin de memoria 00000001001
0110100000001001
Almacena en la posicin de memoria 00000001001 el contenido del registro 01
1000000000001001
Se salta a ejecutar la instruccin almacenada en la posicin de memoria 0000000001001
1010100000001001
Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin almacenada en 000001001
-
Ejemplos Solucin
! Instruccin que almacena un 5 en el registro 00 " 0010000000000101
! Instruccin que almacena un 7 en el registro 01 " 0010100000000111
! Instruccin que suma el contenido del registro 00 y el registro 01 y deja el resultado en el registro 10 " 000100001XXXXXXX
! Instruccin que almacena el resultado anterior en la posicin de memoria 1027 (en decimal) " 0111010000000011
ARCOS Estructura de Computadores 50
-
ARCOS Estructura de Computadores 51
Ejemplo de programa
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
-
ARCOS Estructura de Computadores 52
Inicio de la ejecucin del programa
PC
RI
00 01 10 11
000100
? ? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
?
-
ARCOS Estructura de Computadores 53
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000100
-
ARCOS Estructura de Computadores 54
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000100
000100
-
ARCOS Estructura de Computadores 55
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000100
000100
-
ARCOS Estructura de Computadores 56
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000100
000100 0010000000000000
-
ARCOS Estructura de Computadores 57
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
-
ARCOS Estructura de Computadores 58
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
0010000000000000
-
ARCOS Estructura de Computadores 59
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
0010000000000000
-
ARCOS Estructura de Computadores 60
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
0010000000000000
-
ARCOS Estructura de Computadores 61
Ejecucin de instrucciones
0010000000000000 RI
R0 0000000000 Se carga en R0 el valor 0
-
ARCOS Estructura de Computadores 62
Ejecucin de instrucciones
0100100000001001 RI
R1 MP[00000001001]
00000001001 0000000000000101 Direccin Contenido
Se carga en R1 el contenido de la posicin de memoria 00000001001
-
ARCOS Estructura de Computadores 63
Ejecucin de instrucciones
1000000000001000 RI
PC 0000000001000
Se modifica el PC con la direccin 0000000001000 de forma que la siguiente instruccin a ejecutar es la que se
encuentra en 0000000001000
-
ARCOS Estructura de Computadores 64
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
0010000000000000
-
ARCOS Estructura de Computadores 65
Fases de ejecucin de una instruccin
! Lectura de la instruccin (ciclo de fetch) " MAR PC " Lectura " MBR Memoria " PC PC + 1 " RI MBR
! Decodificacin de la instruccin
! Ejecucin de la instruccin ! Volver a fetch
PC
000100 0010000000000000 Direccin Contenido
Memoria
MAR MBR
RI
000101
000100 0010000000000000
0010000000000000
-
ARCOS Estructura de Computadores 66
Ejecucin del programa
PC
RI
00 01 10 11
000100
? ? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
?
Fetch
-
ARCOS Estructura de Computadores 67
Ejecucin del programa
PC
RI
00 01 10 11
000100
? ? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010000000000000
Fetch Lectura de la Inst.
-
ARCOS Estructura de Computadores 68
Ejecucin del programa
PC
RI
00 01 10 11
000101
? ? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010000000000000
Fetch PC PC + 1
-
ARCOS Estructura de Computadores 69
Ejecucin del programa
PC
RI
00 01 10 11
000101
? ? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010000000000000
Decodificacin
-
ARCOS Estructura de Computadores 70
Ejecucin del programa
PC
RI
00 01 10 11
000101
? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010000000000000
Ejecucin R0 00000000000
00000000000
-
ARCOS Estructura de Computadores 71
Ejecucin del programa
PC
RI
00 01 10 11
000101
? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010000000000000
Fetch
00000000000
-
ARCOS Estructura de Computadores 72
Ejecucin del programa
PC
RI
00 01 10 11
000101
? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010100000000100
Fetch Lectura de la Inst.
00000000000
-
ARCOS Estructura de Computadores 73
Ejecucin del programa
PC
RI
00 01 10 11
000110
? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010100000000100
Fetch PC PC +1
00000000000
-
ARCOS Estructura de Computadores 74
Ejecucin del programa
PC
RI
00 01 10 11
000110
? ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010100000000100
Decodificacin
00000000000
-
ARCOS Estructura de Computadores 75
Ejecucin del programa
PC
RI
00 01 10 11
000110
00000000100 ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010100000000100
Ejecucin R1 00000000100
00000000000
-
ARCOS Estructura de Computadores 76
Ejecucin del programa
PC
RI
00 01 10 11
000110
00000000100 ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0010100000000100
Fetch
00000000000
-
ARCOS Estructura de Computadores 77
Ejecucin del programa
PC
RI
00 01 10 11
000110
00000000100 ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011000000000001
Fetch Lectura de la Inst.
00000000000
-
ARCOS Estructura de Computadores 78
Ejecucin del programa
PC
RI
00 01 10 11
000111
00000000100 ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011000000000001
Fetch PC PC +1
00000000000
-
ARCOS Estructura de Computadores 79
Ejecucin del programa
PC
RI
00 01 10 11
000111
00000000100 ? ?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011000000000001
Decodificacin
00000000000
-
ARCOS Estructura de Computadores 80
Ejecucin del programa
PC
RI
00 01 10 11
000111
00000000100 00000000001
?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011000000000001
Ejecucin R2 00000000001
00000000000
-
ARCOS Estructura de Computadores 81
Ejecucin del programa
PC
RI
00 01 10 11
000111
00000000100 00000000001
?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011000000000001
Fetch
00000000000
-
ARCOS Estructura de Computadores 82
Ejecucin del programa
PC
RI
00 01 10 11
000111
00000000100 00000000001
?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011100000000000
Fetch Lectura de la Inst.
00000000000
-
ARCOS Estructura de Computadores 83
Ejecucin del programa
PC
RI
00 01 10 11
001000
00000000100 00000000001
?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011100000000000
Fetch PC PC +1
00000000000
-
ARCOS Estructura de Computadores 84
Ejecucin del programa
PC
RI
00 01 10 11
001000
00000000100 00000000001
?
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011100000000000
Decodificacin
00000000000
-
ARCOS Estructura de Computadores 85
Ejecucin del programa
PC
RI
00 01 10 11
001000
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011100000000000
Ejecucin R3 00000000000
00000000000
-
ARCOS Estructura de Computadores 86
Ejecucin del programa
PC
RI
00 01 10 11
001000
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
0011100000000000
Fetch
00000000000
-
ARCOS Estructura de Computadores 87
Ejecucin del programa
PC
RI
00 01 10 11
001000
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch Lectura de la Inst.
00000000000
1010001000001100
-
ARCOS Estructura de Computadores 88
Ejecucin del programa
PC
RI
00 01 10 11
001001
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch PC PC +1
00000000000
1010001000001100
-
ARCOS Estructura de Computadores 89
Ejecucin del programa
PC
RI
00 01 10 11
001001
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Decodificacin
00000000000
1010001000001100
-
ARCOS Estructura de Computadores 90
Ejecucin del programa
PC
RI
00 01 10 11
001001
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Ejecucin Si el contenido del registro 01 es igual al del registro 00 se salta a ejecutar la instruccin almacenada en 000001100
00000000000
1010001000001100
-
ARCOS Estructura de Computadores 91
Ejecucin del programa
PC
RI
00 01 10 11
001001
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch
00000000000
1010001000001100
-
ARCOS Estructura de Computadores 92
Ejecucin del programa
PC
RI
00 01 10 11
001001
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch Lectura de la Inst.
00000000000
0001111100000000
-
ARCOS Estructura de Computadores 93
Ejecucin del programa
PC
RI
00 01 10 11
001010
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch PC PC + 1
00000000000
0001111100000000
-
ARCOS Estructura de Computadores 94
Ejecucin del programa
PC
RI
00 01 10 11
001010
00000000100 00000000001 00000000000
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Decodificacin
00000000000
0001111100000000
-
ARCOS Estructura de Computadores 95
Ejecucin del programa
PC
RI
00 01 10 11
001010
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Ejecucin R3 R3 + R2
00000000000
0001111100000000
-
ARCOS Estructura de Computadores 96
Ejecucin del programa
PC
RI
00 01 10 11
001010
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch
00000000000
0001111100000000
-
ARCOS Estructura de Computadores 97
Ejecucin del programa
PC
RI
00 01 10 11
001010
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch Lectura de la Inst.
00000000000
0000000100000000
-
ARCOS Estructura de Computadores 98
Ejecucin del programa
PC
RI
00 01 10 11
001011
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch PC PC +1
00000000000
0000000100000000
-
ARCOS Estructura de Computadores 99
Ejecucin del programa
PC
RI
00 01 10 11
001011
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Decodificacin
00000000000
0000000100000000
-
ARCOS Estructura de Computadores 100
Ejecucin del programa
PC
RI
00 01 10 11
001011
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Ejecucin R0 R0 + R2
00000000001
0000000100000000
-
ARCOS Estructura de Computadores 101
Ejecucin del programa
PC
RI
00 01 10 11
001011
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch
00000000001
0000000100000000
-
ARCOS Estructura de Computadores 102
Ejecucin del programa
PC
RI
00 01 10 11
001011
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch Lectura de la Inst.
00000000001
1000000000001000
-
ARCOS Estructura de Computadores 103
Ejecucin del programa
PC
RI
00 01 10 11
001100
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Fetch PC PC +1
00000000001
1000000000001000
-
ARCOS Estructura de Computadores 104
Ejecucin del programa
PC
RI
00 01 10 11
001100
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Decodificacin
00000000001
1000000000001000
-
ARCOS Estructura de Computadores 105
Ejecucin del programa
PC
RI
00 01 10 11
001100
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Ejecucin Se salta a ejecutar la instruccin
almacenada en la posicin de memoria 0000000001000
00000000001
1000000000001000
-
ARCOS Estructura de Computadores 106
Ejecucin del programa
PC
RI
00 01 10 11
0001000
00000000100 00000000001 00000000001
000100 000101
000110
000111
001000
001001
001010
001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
Ejecucin PC 0000000001000
00000000001
1000000000001000
-
ARCOS Estructura de Computadores 107
Ejecucin del programa
PC
RI
00 01 10 11
0001000 000100 000101
000110
000111
001000
001001
001010 001011
001100
0010000000000000
0010100000000100
0011000000000001
0011100000000000 1010001000001100
0001111100000000
0000000100000000
1000000000001000
0111100000100000
Direccin Contenido
1000000000001000
Contina la ejecucin
00000000001 00000000100 00000000001 00000000001
-
ARCOS Estructura de Computadores 108
Algoritmo del programa anterior
i=0; s = 0; while (i < 4) { s = s + 1; i = i + 1; }
El programa almacena en la posicin de memoria 00000100000 el valor: 1 + 1 + 1 + 1
-
ARCOS Estructura de Computadores 109
Lenguaje ensamblador
li R0, 0 li R1, 4 li R2, 1 li R3, 0 bucle: beq R0, R1, fin add R3, R3, R2 add R0, R0, R2 b bucle fin: sw R3, 100000
-
ARCOS Estructura de Computadores 110
Secuencia de ejecucin de instrucciones
Lectura de la instruccin
Arranque
Parada
DecodificacinEjecucin dela instruccin
-
Microprocesador
! Incorpora las funciones de la CPU de un computador en un nico circuito integrado
ARCOS Estructura de Computadores 111
-
ARCOS Estructura de Computadores 112
Ley de Moore
-
ARCOS Estructura de Computadores 113
Ley de Moore
! Doblar la densidad implica reducir las dimensiones de sus elementos en un 30%
! En 1971 el Intel 4004 tena 2300 transistores con tamaos de 10 micrometros
! Hoy en da se consiguen chips con distancias de 45 nanometros
! Para cumplir la ley de Moore se necesita tecnologa cuyo precio se dobla cada 4.4 aos
-
ARCOS Estructura de Computadores 114
Proceso de fabricacin
-
Mejoras en la tecnologa
! Memoria " Capacidad de DRAM: 2x / 2 aos (desde 96);
64x en la ltima decada ! Procesador " Velocidad: 2x / 1.5 aos (desde 85);
100X en la ltima decada. ! Discos " Capacidad: 2x / 1 ao (desde 97)
250X en la ltima decada.
ARCOS Estructura de Computadores 115
-
Parmetros caractersticos de un computador
! Juego de instrucciones ! Ancho de palabra: tamao que el computador puede transferir
y procesar "Coincide con el tamao de los registros, buses, ALU
! Mapa de memoria: "Espacio de memoria accesible por un computador "Si la memoria se direcciona por bytes (es decir, cada
direccin representa un byte), el tamao de memoria accesible es de 2n bytes
! Frecuencia de reloj: frecuencia del reloj que gobierna el funcionamiento del procesador (MHz, GHz) "Nmero medio de ciclos por instruccin
ARCOS Estructura de Computadores 116
-
Parmetros caractersticos de un computador
! Ancho de banda: nmero de bits transferidos por unidad de tiempo.
! Latencia: tiempo transcurrido entre la emisin de una peticin y la recepcin de la respuesta.
! MIPS: millones de instrucciones por segundo ! MFLOPS: millones de operaciones en coma flotante por
segundo
ARCOS Estructura de Computadores 117
-
Ejercicio
! Considere un hipottico computador con un ancho de palabra de 20 bits con 60 registros que direcciona la memoria por bytes. Responda a las siguientes preguntas:
a) Cuntos bits se emplean para las direcciones de memoria? b) Cul es el tamao de los registros? c) Cuntos bits se almacenan en cada posicin de memoria? d) Cuntas posiciones de memoria se pueden direccionar? Exprese el resultado en KB. e) Cuntos bits se necesitan para identificar a los registros?
ARCOS Estructura de Computadores 118
-
ARCOS Estructura de Computadores 119
Prefijos
Nombre Abr Factor SI
Kilo K 210 = 1,024
103 = 1,000 Mega M 220 = 1,048,576
106 = 1,000,000 Giga G 230 = 1,073,741,824
109 = 1,000,000,000 Tera T 240 = 1,099,511,627,776
1012 = 1,000,000,000,000 Peta P 250 = 1,125,899,906,842,624
1015 = 1,000,000,000,000,000 Exa E 260 = 1,152,921,504,606,846,976
1018 = 1,000,000,000,000,000,000 Zetta Z 270 = 1,180,591,620,717,411,303,424
1021 = 1,000,000,000,000,000,000,000 Yotta Y 280 = 1,208,925,819,614,629,174,706,176
1024 = 1,000,000,000,000,000,000,000,000
-
Ejercicio
! Cuntos bytes almacena un disco duro de 250 GB ?
ARCOS Estructura de Computadores 120
-
ARCOS Estructura de Computadores 121
Prefijos
! 1 KB = 1024 bytes, pero en el SI es 1000 bytes
! Los fabricantes de disco duros y en telecomunicaciones emplea el SI.
" Un disco duro de 30 GB almacena 30 x 109 bytes
" Una red de 1Mbit/s transfiere 106 bps.
Nombre Abr Factor SI
Kilo K 210 = 1,024
103 = 1,000 Mega M 220 = 1,048,576
106 = 1,000,000 Giga G 230 = 1,073,741,824
109 = 1,000,000,000 Tera T 240 = 1,099,511,627,776
1012 = 1,000,000,000,000 Peta P 250 = 1,125,899,906,842,624
1015 = 1,000,000,000,000,000 Exa E 260 = 1,152,921,504,606,846,976
1018 = 1,000,000,000,000,000,000 Zetta Z 270 = 1,180,591,620,717,411,303,424
1021 = 1,000,000,000,000,000,000,000 Yotta Y 280 = 1,208,925,819,614,629,174,706,176
1024 = 1,000,000,000,000,000,000,000,000
-
ARCOS Estructura de Computadores 122
Evolucin histrica
! http://history.sandiego.edu/GEN/recording/computer1.html ! http://www.computerhope.com/history/ ! http://www.computerhistory.org/ ! http://www.computersciencelab.com/ComputerHistory/
History.htm ! Museos de informtica ! Buscar en google: Computer history