3. Componentes físicos. El hardware
Se pueden clasificar:
Unidad aritmético-lógica( UAL)
Unidad de Control (UC)
Memoria Central (MC) o RAM
Unidad de entrada/salida (E/S)
Controladores
Buses
Unidades periféricas o periféricos de
entrada/salida
SIMM 2009-2010
7. Unidad Central de proceso ( CPU)
Cerebro del ordenador
Unidad donde se ejecutan las
instrucciones de los programas y se
controla el funcionamiento de los
distintos componentes del ordenador.
Suele estar integrada en un chip
denominado microprocesador.
SIMM 2009-2010
9. Se suele llamar erróneamente CPU
a la caja del ordenador donde van
alojados los componentes básicos
del mismo, es decir, además de la
CPU en sí, la placa base, las
tarjetas de expansión, el disco duro,
la fuente de alimentación, etc.
SIMM 2009-2010
10. La
potencia de un sistema informático se
mide sobre todo por la de su CPU.
SIMM 2009-2010
11. CPU compone:
o Unidad de Control (UC)
o Unidad Aritmético-lógica (ALU)
SIMM 2009-2010
13. Pero para que el procesador pueda
trabajar necesita:
La memoria (MC)
Los periféricos de entrada/salida.
SIMM 2009-2010
14. Unidad de control (UC)
Interpreta y ejecuta las instrucciones
maquina almacenadas en la memoria
principal y genera las señales de control
necesarias para ejecutarlas
SIMM 2009-2010
16. La UC interpreta y ejecuta las
instrucciones en el orden adecuado para
que cada una de ellas se procede en el
debido instante y de forma correcta.
Para realizar todas estas operaciones, la
UC dispone registros (espacios
almacenamiento)
SIMM 2009-2010
17. Además otros componentes
Registro de instrucción.-Contiene la
instrucción que se esta ejecutando.
Consta diferentes campos:
CO : Código de la operación que se va a
realizar.
MD: Modo de direccionamiento de la memoria
para acceder a la información que se va a
procesar.
CDE: Campo de dirección efectiva de la
información SIMM 2009-2010
18. Decodificador de instrucciones
Extrae y analiza código de operación de
la instrucción en curso.
SIMM 2009-2010
19. Registro contador de programas.-
Contiene la dirección de memoria de
la siguiente instrucción a ejecutar.
SIMM 2009-2010
20. Secuenciador
Genera microordenes elementales,
sincronizadas impulsos de reloj hacen se
ejecuten paso a paso y de manera
ordenada instrucciones cargadas en él.
SIMM 2009-2010
21. Reloj
Sucesión de impulsos eléctricos a
intervalos constantes.
Marca tiempos ejecución de los pasos a
realizar para cada instrucción.
Velocidad reloj en megahercios (MHz)
SIMM 2009-2010
22. Controlador de instrucciones
Controla el flujo de instrucciones de la
CPU e interpreta la instrucción para su
posterior procesamiento.
SIMM 2009-2010
24. Unidad Aritmético-lógica (ALU)
Recibe los datos sobre los que efectúa
operaciones de calculo y comparaciones,
toma decisiones lógicas.
Realiza operaciones aritméticas y lógicas
sobre la información.
SIMM 2009-2010
25. Elementos componen ALU
Circuito combinacional u operacional.
Realiza las operaciones con los datos de
los registros de entrada.
Registros de entrada.
Contienen los operandos de la operación.
SIMM 2009-2010
26. Registro acumulador.
Almacena los resultados de las
operaciones.
Registro de estado.
Registra las condiciones de la operación
anterior.
SIMM 2009-2010
28. Etapas ejecución instrucción
Vamos a ver las etapas como se ejecuta
una instrucción cualquiera en el
ordenador:
SIMM 2009-2010
29. La CPU extrae de memoria la siguiente
instrucción a ejecutar y la almacena en el
registro de instrucción. La posición de
memoria en la que se encuentra esta
instrucción la almacena el registro contador
de programas.
SIMM 2009-2010
30. Se cambia el registro contador de
programas con la dirección de memoria
de la siguiente instrucción a ejecutar.
Se analiza el código de operación (CO) de
la instrucción, que esta contenido en el
registro de instrucciones.
SIMM 2009-2010
31. Se determina a que datos de memoria
hay que acceder, y como hay que
hacerlo. Para ello se analiza el modo de
direccionamiento de memoria (MD) para
acceder a la información que se va a
procesar, así como el campo de dirección
efectiva de la información.
SIMM 2009-2010
32. Se extraen los datos, si los hay, de la
posición de memoria especificada en el
campo de dirección efectiva, y se cargan
en los registros necesarios de la CPU
para ser procesados.
SIMM 2009-2010
33. El ordenador almacena de su memoria los
programas y datos con los que vamos a
trabajar.
SIMM 2009-2010
34. Funcionamiento de un ordenador
programado
Para que un ordenador pueda funcionar
debe estar programado, es decir debe
ejecutar un programa.
Este programa es consecuencia del
análisis detallado de las acciones que
debe llevar a cabo, la secuencia de las
mismas, la repetición sistemática de un
conjunto de ellas, así como la elección de
una alternativa llegado el caso. En
definitiva, la obtención de un algoritmo.
SIMM 2009-2010
35. Posteriormente, este algoritmo es
codificado según la sintaxis de un
lenguaje de programación.
Una vez escrito y codificado este
programa se deberá compilar es decir
traducirlo a lenguaje máquina que es
entendible por la unidad de control
ordenador.
SIMM 2009-2010
36. Una vez realizado el proceso de
compilación, es conveniente almacenar
en disco tanto el programa ejecutable
como el fuente, por si quisiéramos hacer
un cambio respecto a las especificaciones
iniciales. Así el programa ejecutable
estará dispuesto para llevar a cabo la
finalidad decrecido construido.
SIMM 2009-2010
37. Para poder ejecutar el programa
previamente deberá ser cargado en
memoria y residir durante su ejecución.
SIMM 2009-2010
38. La ejecución consistirá en un proceso
repetitivo de dos fases:
fase de búsqueda
fase de ejecución.
SIMM 2009-2010
39. Durante la fase de búsqueda la unidad
de control interpretara la acción que debe
ejecutarse e identificara el lugar en que se
encuentran los datos que intervienen en
las operaciones.
Una vez identificados estos datos serán
depositados en los diferentes registros a
tal efecto
SIMM 2009-2010
40. En la fase de ejecución se procederá a la
ejecución propiamente dicha que será
generalmente un cálculo aritmético, un
cálculo lógico, o una operación de
transferencia de datos
SIMM 2009-2010
41. Caso práctico 1.
Suma de dos datos
Realizar la suma de un dato A, más un dato B, y
el resultado se guardará en un dato C. La
instrucción de suma se representará así: C = A +
B. Suponemos que A=10 y B=15, la situación
inicial de la memoria quedaría:
SIMM 2009-2010
42. Situación de la memoria. Almacenamiento
de A, B y C.
SIMM 2009-2010
43. Ejecución de la instrucción
La UC interpreta el código y genera una
secuencia de tres microinstrucciones
elementales que afectan al registro
acumulador. En éste es donde se almacenan
los resultados de las distintas operaciones.
Las tres operaciones son:
SIMM 2009-2010
44. Carga del primer operando
A. Cargar el registro acumulador con el primer operando
SIMM 2009-2010
45. Suma del segundo operando.
B.Suma el segundo operando al contenido del acumulador.
SIMM 2009-2010
46. Carga a la dirección del resultado
C.Carga el contenido del acumulador en la dirección del
resultado
SIMM 2009-2010
47. Caso práctico 2.
Ejecución de una instrucción
Nos imaginamos la memoria como una
serie de casillas con su dirección
asociada. El mapa de memoria se
muestra a continuación:
SIMM 2009-2010
48. Memoria
Programa Datos
Las instrucciones del programa 1 9 17 25
comienzan en la dirección de
memoria 4. Los datos se van a
2 10 18 26
almacenar en las posiciones 3 11 19 27
Dato A
27, 28 y 29, tal y como se 4
Leer A 12 20 28
Dato B
muestra en la tabla. 5
Leer B 13 21 29
Dato C
Cada instrucción tiene su fase
de búsqueda y su fase de
14 22 30
6
Calcular C=A+B
ejecución: 7
Visualizar C 15 23 31
8 16 24 32
SIMM 2009-2010
49. Instrucción LEER A.
Fase de búsqueda:
1. En el CP se almacena la dirección de memoria
de comienzo del programa, la 4.
2. La UC envía una orden para que el contenido
del CP, que es la dirección de la instrucción que
estamos analizando, se transfiera al RDM
(registro de dirección de memoria).
SIMM 2009-2010
50. 3. El selector de memoria localiza la posición
4, y transfiere su contenido al RIM (registro de
intercambio). El RIM contiene: LEER A.
4. La UC da la orden de transferir el contenido
del RIM al registro de instrucción RI, en el que
deposita el código de la instrucción a ejecutar.
SIMM 2009-2010
51. 5. Seguidamente el decodificador de
instrucción (DI) analiza el código contenido en
el RI (en el ejemplo, la operación es Leer A) y
genera las señales de control para ejecutar
correctamente la instrucción.
6. El CP se incrementa en uno y apuntará a la
siguiente instrucción; en este caso es la 5: LEER
B.
SIMM 2009-2010
53. Fase de ejecución:
7. Una vez conocido el código de operación, la UC
establece las conexiones con el dispositivo de
entrada, para aceptar el dato A.
8. La UC da la orden de que el dato leído se cargue
en el RIM, y en el RDM se cargue la dirección de
memoria donde se va a almacenar el dato leído; en
el ejemplo esta dirección es la 27.
SIMM 2009-2010
54. 9.El selector de memoria es el encargado de
guardar en la dirección indicada por RDM, la
27 el contenido del RIM.
SIMM 2009-2010
57. Instrucción
CALCULAR C = A + B.
Fase de búsqueda:
1. El CP contiene la dirección 6.
2. La UC ordena que el contenido del CP pase al
RDM.
3. El selector de memoria localiza la posición 6, y
transfiere su contenido al RIM. El RIM contiene:
CALCULAR C = A + B
SIMM 2009-2010
58. 4. La UC da la orden de transferir el contenido del
RIM al registro de instrucción (RI).
5. Seguidamente el decodificador de instrucción
(DI) analiza el código contenido en el RI y
genera las señales de control para ejecutar
correctamente la instrucción.
6. El CP se incrementa en uno y apuntará a la
siguiente instrucción, en este caso es la 7,
VISUALIZAR C.
SIMM 2009-2010
59. Fase de ejecución:
7. Se transfiere la dirección del primer
operando A (27) desde el RI hasta el RDM.
8. El selector extrae el contenido de la
posición 27 y lo deposita en el RIM.
9. El contenido del RIM se carga en el
registro acumulador de la UAL.
SIMM 2009-2010
60. Carga en el acumulador el dato A.
SIMM 2009-2010
61. 10. Se transfiere la dirección del segundo operando
B (28) desde el RI hasta el RDM.
11. El selector extrae el contenido de la posición
28 y lo deposita en el RIM.
.
SIMM 2009-2010
63. 12. Se envía una orden para que el contenido del
RIM se sume al contenido del registro
acumulador de la UAL, y el resultado se
almacene en el acumulador .
13. Este resultado es enviado desde el registro
acumulador al RIM para almacenarlo en
memoria, pero antes hay que localizar en qué
dirección se va a almacenar.
SIMM 2009-2010
64. 14. Se transfiere desde el RI (recuerda que en el
RI está la instrucción del cálculo de la suma, es
decir el código de operación y la dirección de los
operandos), al RDM la dirección donde se va a
almacenar el resultado, es decir la dirección de C
(29).
SIMM 2009-2010
65. 15. Finalmente se transfiere el resultado
desde el RIM a la dirección indicada por
el RDM, el resultado C queda
almacenado en la posición 29.
SIMM 2009-2010
66. Carga en el dato C el acumulador que contiene la suma.
SIMM 2009-2010
67. Instrucción VISUALIZAR C.
Fase de búsqueda:
1. El CP contiene la dirección 7.
2. El contenido del CP se transfiera al RDM.
3. El selector de memoria localiza la posición 7,
y transfiere su contenido al RIM.
SIMM 2009-2010
68. 4. La UC da la orden de transferir el contenido del
RIM al registro de instrucción (RI).
5. El decodificador de instrucción (DI) analiza el
código contenido en el RI y genera las señales de
control para ejecutar la instrucción
6. El CP se incrementa en uno y su valor es 8, fin
de programa.
SIMM 2009-2010
69. Fase de ejecución:
7. Una vez conocido el código de operación, la UC
establece las conexiones con el dispositivo de
salida para visualizar el dato C.
8. La dirección del dato a visualizar (la 29) se
carga en el RDM
SIMM 2009-2010
70. 9. El selector de memoria selecciona esa
posición y guarda en el RIM el contenido del
dato C.
10. Se generan las órdenes para que el
contenido del RIM salga por la unidad de
salida.
SIMM 2009-2010
72. Buses de comunicación
Líneas eléctricas u ópticas a través de las
que se comunican las distintas unidades de
un ordenador.
Cables por los que circulan los bits en
forma de información.
SIMM 2009-2010
73. Tipos de Buses
Bus de datos
Intercambio de datos entre la CPU y el resto
de unidades.
Cada instrucción de un programa y cada
byte de datos viaja por este bus.
SIMM 2009-2010
74. El intercambio de datos se realiza a
través de un conjunto de líneas
eléctricas , una por cada bit .
Se transmiten todos a la vez deforma
paralela.
El tamaño del bus se mide en bits
SIMM 2009-2010
75. Si tienen un bus:
Nºbits Transfieren cada ciclo de reloj
8 1 byte
16 2 bytes
32 3 bytes
64 4 bytes
SIMM 2009-2010
77. Bus de direcciones
Transmite direcciones entre la CPU y la
memoria.
Esta sincronizado con el de datos
Necesario saber direcciones de los datos envían/
reciben por el bus de datos
Cuanto >nº bits forma bus direcciones > rango
memoria direccionable
SIMM 2009-2010
78. El tamaño bus direcciones
Si bus direcciones :
Bits Accede posiciones memoria
10 210
16 216
36 236
SIMM 2009-2010
82. A medida que evoluciona la
electrónica evolucionan los
microprocesadores y se han
incorporado dentro del micro
componentes que hacen que sean
mas potentes y rapidos.
SIMM 2009-2010
83. A medida que la informática
evoluciona el software es cada vez
mas complejo y eso hace que los
equipos sean mas rápidos y mas
complicados
SIMM 2009-2010
84. Los últimos micros sobrepasan la
barrera de los gigahercios, lo que es
justificable por lo siguiente :
Los nuevos S.O. utilizan muchos
recursos de la maquina
SIMM 2009-2010
85. Losnuevos formatos de audio y
video comprimido (divX y MP3) se
descomprimen en tiempo real
SIMM 2009-2010
86. Diagrama de bloques de las CPUs
actuales
El núcleo del procesador es la parte
de la CPU que funciona a la misma
velocidad de reloj que la UAL.
Añade los siguientes elementos:
SIMM 2009-2010
87. Unidad de coma flotante (FPU)
Es la encargada de manejar todas
las operaciones en coma flotante.
Estas operaciones involucran
aritmética con números
fraccionarios, operaciones
matemáticas trigonometriítas y
logarítmicas.
SIMM 2009-2010
88. La caché del procesador, de nivel
1 y de nivel 2.
Las memorias caché se utilizan para
guardar las posiciones de memoria
de la memoria principal mas
utilizadas.
SIMM 2009-2010
89. Cuando la caché contiene los datos
que necesita la CPU, no hay
tiempos de espera y se denomina
acierto de la caché .Cuando la
caché no contiene los datos, se
denomina fallo de la caché y la
CPU tendrá que esperar un tiempo
hasta que la memoria principal
entregue los datos.
SIMM 2009-2010
90. Las primeras cachés surgieron en la
época del micro 386 de Intel (1986).
Los diseños de esta placa base
llevaban una caché de 64 kb.
SIMM 2009-2010
91. Con el 486 (1989) se incluyo una
pequeña caché dentro del chip del micro
(caché del procesador).
Los fabricantes de placas incluyeron
también una caché en la placa base
(caché de nivel 2 - L2) y la integrada
en el micro paso a llamarse ( Cache de
nivel 1 – L1).
SIMM 2009-2010
92. Cuando la CPU solicita un dato, el primer
lugar donde busca es la caché L1
SIMM 2009-2010
93. Bus frontal (FSB). Bus que conecta la
CPU con la placa base.
Es la interfaz entre la caché de nivel 2
del procesador y la placa base. El ancho
de este bus es de 64 bits
SIMM 2009-2010
94. BUS posterior (BSB).
Es la interfaz entre la caché de nivel
1, el numero del procesador y la
caché de nivel 2. El ancho de bus es
de 256 bits.
SIMM 2009-2010
95. Instrucciones especiales.
La aparición Pentium de Intel en 1992
incluía nuevas características: cachés
independientes de 8 bits, una para
guardar datos y otra para
instrucciones y una unidad de coma
flotante muy rápida.
SIMM 2009-2010
96. También incluyo la arquitectura
superescalar que permitía ejecutar
mas de una instrucción en un ciclo de
reloj; es decir admite mas de una
orden a la vez, como si trabajasen dos
micros juntos.
SIMM 2009-2010
97. Se incluye la técnica de pipelining
(segmentación), que consiste en
que la CPU comienza a ejecutar
una instrucción antes determinar de
ejecutar la anterior.
SIMM 2009-2010
98. La ejecución de una instrucción requiere
dos pasos: la búsqueda y la ejecución .
Originalmente la CPU tenia que completar
una instrucción entera antes de comenzar
a comenzar a ejecutar la otra, pero ahora
todo es diferente: existen circuitos que
manipulan instrucciones separadas.
SIMM 2009-2010
99. El primer Pentium tenia una ALU con una
pipeline de doble ejecución, podía ejecutar
dos instrucciones al mismo tiempo.
SIMM 2009-2010
100. Con la aparición del Pentium MMX surge
la tecnología MMX (Multimedia
extensión).
Paralelamente la empresa AMD saca el
K6, con su especificación 3D Now; esta
tecnologías intentan aumentar el
rendimiento de las aplicaciones
multimedia y en 3D.
SIMM 2009-2010
101. Lo forman un conjunto de instrucciones
incorporadas en la CPU que utilizan la
matemática matricial para soportar los
algoritmos de comprensión y
decomprensión de gráficos (como jpeg,
gif y Mpeg) y presentaciones graficas en
3D.
SIMM 2009-2010
102. MMX permite que la FPU (unidad de
coma flotante) actúa con varios datos
simultáneamente a través de un
proceso llamado SIMD (instrucción
única, datos múltiples) caso en el que
una sola instrucción puede llevar a
cabo varias operaciones, pudiendo
hacer hasta 4 operaciones en coma
flotante en cada ciclo de reloj.
SIMM 2009-2010
103. Con la llegada del Pentium III en 1998 se
incorpora al micro 70 instrucciones,
llamadas SSE, también conocidas como
MMX-2. Sus ventajas son las siguientes:
Las instrucciones SSE permiten realizar
cálculos matemáticos con números con
coma flotante, al contrario que las MMx, que
solo las realizan con números enteros.
SIMM 2009-2010
104. Las instrucciones SSE pueden utilizarse
simultáneamente con la FPU o con
instrucciones MMX.
SIMM 2009-2010
105. Algunas de estas nuevas instrucciones
optimizan el rendimiento en apartados
multimedia, como la reproducción de
video MPEG-2 o el reconocimiento de
voz, mientras otras aceleran el acceso a
memoria.
SIMM 2009-2010
106. El Pentium IV añade las instrucciones
SSE2 , 144 nuevas instrucciones, algunas
de ellas capaces de manejar cálculos de
doble precisión de 128 bits en coma
flotante. La idea es reducir el numero de
operaciones necesarias para realizar las
tareas.
SIMM 2009-2010
107. Actualmente el mercado de
microprocesadores esta monopolizado
por dos grandes marcas Intel y AMD.
SIMM 2009-2010
108. AMD fabrico una línea de procesadores
X86 equiparables a los de Intel. Hasta la
aparición del 486DX, AMD fue
prácticamente un distribuidor de Intel, a
partir de aquí empezó las
desavenencias y la competencia entre
ambas compañias.
SIMM 2009-2010
109. En la misma época que aparece Pentium,
por el 1992 , AMD saca al mercado el K5.
Con la aparición del Pentium MMX, AMD
lanzo el primer K6 con tecnología MMX y
con una caché L2 integrada de 64 k, una
desventaja es que generaba bastante calor
y por ello tenia un encadenado diferente.
SIMM 2009-2010
110. Pentium III con tecnología MMX2, AMD
lanza el K6-2 con tecnología 3Dnow,
superior al MMX
Paralelamente al Pentium III, AMD lanza el
K6-3, que incorporaba una L2 de 256 k, el
rendimiento era similar.
SIMM 2009-2010
111. Después del K6-3, AMD lanza Athlon,
Thunderbird y Duron. Con mejor caché,
mayor FSB, mejoras en las FPUs y mayor
velocidad.
SIMM 2009-2010