Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

FUNCIONAMIENTO PROCESADOR - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 24 de noviembre de 2020 por Enrique Jose N.

62 visualizaciones

Descargar la transcripción

Hola de nuevo. Bueno, pues en este segundo vídeo vamos a ver la otra parte que quería explicar con detenimiento y que tuviera bien bien clara, que sería el funcionamiento del procesador y la estructura de Von Neumann, que es importante recordarla, ¿de acuerdo? 00:00:00
pero sobre todo como contribución a este genio de la informática y de las matemáticas 00:00:18
que es uno de los padres de la informática, junto con Alan Turing, del que ya habréis oído hablar 00:00:23
en el documental que vimos de la informática. 00:00:31
Este señor von Neumann describió esta estructura que estáis viendo aquí ahora mismo 00:00:35
y lo importante del asunto es que fue una descripción teórica. 00:00:41
o sea, él no llegó a construir ningún ordenador, sino que aventuró, describió, como digo, que los ordenadores se iban a hacer de esta forma, ¿vale? 00:00:48
¿Y cuál es esta arquitectura? Pues la que vosotros conocéis y la que se mantiene a día de hoy, porque básicamente es la misma que consiste en una CPU, 00:01:01
una unidad central de proceso, que es la que tenemos aquí abajo, formada por la unidad de control y la unidad aritmético-lógica, de las que vamos a hablar ahora mismo con detalle. 00:01:11
Una memoria principal, que es la memoria RAM de la que hemos hablado en el vídeo anterior, que es la que va a guardar datos e instrucciones en diferentes direcciones de memoria 00:01:23
para que en todo momento el procesador acceda a ellos y a ellas para utilizarlas. 00:01:31
Una serie de dispositivos de entrada o periféricos de entrada y unos periféricos de salida que conocéis perfectamente 00:01:37
y además una memoria masiva que sería lo que es hoy en día el disco duro magnético y ahora ya el disco duro de estado sólido. 00:01:43
Bueno, pues esta estructura efectivamente se mantiene a día de hoy porque a día de hoy los ordenadores tienen una CPU, tienen una memoria RAM, tienen periféricos de entrada y de salida y tienen un disco duro exactamente así, ¿de acuerdo? Luego, fijaos si es importante. 00:01:55
Pues ahora basándose en esta arquitectura precisamente vamos a describir un procesador y vamos a estudiar el ciclo de trabajo tanto de la carga de una instrucción como de la ejecución de una instrucción con dos ejemplos diferentes para que lo tengáis claro. 00:02:12
Y de nuevo intentemos entrar hasta un cierto detalle para poder entender lo más importante quizá es la comunicación entre la RAM y el procesador y qué está ocurriendo, dónde van y además para rescatar otros componentes, circuitos electrónicos en este caso que estudiamos a la hora de ir viendo los diferentes niveles de estudio de los ordenadores. 00:02:37
que eran los registros, los biestables y el contador de programa, que al fin y al cabo es un registro. 00:03:07
Bien, pues fijaos, voy a revisar aquí todos los elementos que hay y después nos ponemos a trabajar con ellos. 00:03:16
Del puntero de pila vamos a prescindir, no digo nada para no confundirnos, de los biestables, de los flip-flops, el de acarreo, el de paridad, 00:03:22
también vamos a prescindir porque no lo vamos a utilizar y nos vamos a centrar en lo siguiente. 00:03:29
Aquí tenemos la unidad de control con su lógica de control, su circuitería, el reloj que marca la velocidad de trabajo del ordenador, que ya sabéis que hoy en día está en el orden de 10 elevado a 9 ciclos por segundo, 00:03:33
dice 9 Hz, porque tenemos 3,2 o 2,4 o lo que sea gigahertz. Bien, pues reloj, lógica y control, y aquí los dos registros que nos interesan. 00:03:50
El registro de instrucciones y un registro especial que es el contador de programa, que es el que va a tener la dirección de memoria de la siguiente instrucción a ejecutar. 00:04:02
Aquí lo vamos a ver en este ejemplo de forma consecutiva, secuencial 00:04:13
Primero una instrucción, luego la siguiente, luego la siguiente 00:04:17
Por eso prescindimos del puntero de pila 00:04:19
Bueno, pues entonces aquí tenemos dos registros 00:04:21
Recordad que un registro es más que una serie de vía estables 00:04:23
Un circuito electrónico formado por varios vía estables 00:04:26
En este caso van a ser 16 porque vamos a trabajar con 2 bytes 00:04:28
Y que un vía estable es un circuito electrónico que puede almacenar un bit 00:04:32
Y se llama vía estable porque tiene dos estados 00:04:37
el estado en el que almacena un 0 y el estado en el que almacena un 1. 00:04:40
Los biestables, aquí los tenemos de ejemplo, pero como digo, no los vamos a utilizar. 00:04:44
Sin embargo, los registros sí, vamos a trabajar para ver el flujo de información 00:04:48
y vamos a ver dónde se van almacenando en cada registro correspondiente. 00:04:51
Bueno, pues registros, recordad, en este caso serían 16 biestables en serie 00:04:56
sobre los que se puede escribir, porque todos pueden valer, 00:05:01
cada una de las posiciones de ese registro, cada uno de los biestables de ese registro 00:05:05
podría valer 0 o 1. Y así es como grabamos la información aquí. 00:05:09
Bueno, pues, registro de instrucciones, contador del programa. 00:05:13
Aquí, ¿qué tenemos? Fijaos, ALU es la unidad aritmético-lógica. 00:05:16
Mirad que tiene aquí representado, esto es una representación esquemática, 00:05:21
dos entradas, ¿verdad? Y aquí una salida. 00:05:24
Bien podría ser que aquí tenemos la entrada de un dato, aquí la entrada de otro dato, 00:05:27
y aquí la salida del resultado de la operación. Imaginad, una suma. 00:05:30
Y ese resultado se guardaría aquí. ¿Qué es esto? 00:05:34
Pues esto es un banco de registros que van numerados del registro 0 al registro F, numerados en hexadecimal, es decir, que serían 16. No es que tenga que haber 16, es como digo, una representación esquemática para entender el funcionamiento de un procesador, ¿vale? 00:05:38
Pues aquí tenemos registros, ¿para qué? Para guardar datos o para guardar direcciones de memoria, ¿vale? 00:05:54
Aquí tenemos otro registro, registro temporal, y aquí dos muy importantes, el registro de direcciones, que por tanto va a guardar direcciones de memoria RAM, 00:06:00
y el registro de datos, que va a guardar datos o instrucciones, ¿vale? 00:06:10
Si son datos, generalmente irán para acá, y si son instrucciones, pues irán finalmente al registro de instrucciones, ¿vale? 00:06:15
Bueno, pues estas son las diferentes partes en este esquema que tenemos que tener claras. 00:06:21
La repito, registro de instrucciones, contador de programa, registro de direcciones, registro de datos, banco de registros y aquí la unidad de metodología que es la que voy a hacer el trabajo. 00:06:26
Bueno, aquí tenemos un esquema de la unidad de metodología y lo que acabo de comentar, esto me lo voy a saltar y aquí está la presentación describiendo lo que yo acabo de explicar, me lo voy a saltar. 00:06:39
todo esto, esto es una diapositiva que puse de repaso para que lo tengáis claro antes de empezar 00:06:50
y ahora sí vamos a ver cómo se ejecuta un programa 00:06:55
y la primera fase es la carga de la primera instrucción 00:06:58
vamos a suponer que esto es un programa cuya primera instrucción es A73C 00:07:03
que está en la dirección 100A, esta es una dirección en hexadecimal y esto es una instrucción en hexadecimal 00:07:08
Vale, pues el primer paso del proceso es cargar desde la memoria RAM esta dirección de inicio 100A aquí en el contador de programa, porque el contador de programa me va a decir cuál es la instrucción que hay que ejecutar. 00:07:15
Pues lo primero que hacemos es que esto tiene que ir al contador de programa y sería lo que tenemos aquí. 00:07:31
Aquí empieza el proceso de nuevo explicado. Paso a paso, quiero decir, las diapositivas. Entonces, se carga en el contador de programa la dirección de la primera instrucción. 00:07:39
El siguiente paso es que, como esto es una dirección, tiene que ir desde el contador de programa al registro de direcciones. Todo esto es el procesador, luego es una comunicación interna. 00:07:53
No necesitamos un bus, sin embargo, sí que necesitamos un bus para que esta dirección, a través del bus de direcciones, me permita localizar en la memoria RAM qué instrucción hay. 00:08:05
¿De acuerdo? ¿Para qué? Para que esa instrucción A73T venga después a través del bus de datos y se almacene aquí en este registro que, si recordáis bien, es el registro de datos. 00:08:16
¿Cuál sería el último paso? Registro de datos y de instrucciones se podría llamar porque esto es una instrucción, ¿verdad? 00:08:27
pues el último paso es que esa instrucción que está en el registro de datos se lleve hasta el registro de instrucciones 00:08:33
y ahora ya una vez que está en el registro de instrucciones se ejecutaría. 00:08:40
Así que aquí arriba si veis viene todo el proceso de esta forma. 00:08:45
La dirección de inicio o la que sea, en este caso comenzamos por el inicio, se carga en el contador de programa 00:08:51
luego ya el contador de programa va a ir uno a uno, uno a uno, uno a uno avanzando de uno a uno 00:08:57
que es lo que hace el contador de programa, almacenar bytes que van en orden consecutivo, salvo cuando se los tenga que saltar y entonces intervendría el puntero de pila. 00:09:01
Bueno, después la dirección va del contador de programa al registro de direcciones. El registro de direcciones va a hacer o nos va a servir para que a través del bus de direcciones 00:09:11
vayamos a la memoria a buscar qué es lo que hay en esa dirección y lo vamos a llevar a través del bus de datos hasta el registro de datos 00:09:23
y por último del registro de datos al registro de instrucciones. Esto que viene aquí no lo he explicado, se me ha olvidado comentarlo, 00:09:32
sería lo que va a ocurrir en el contador del programa, se va a incrementar en 1, ya no hace falta que se cargue de la siguiente dirección, 00:09:40
simplemente se incrementa en 1. ¿Para qué? Pues para coger la siguiente instrucción. 00:09:47
La siguiente instrucción sería la que está en 1.0.0.b y es la instrucción 7.c.4.d y se repetiría el proceso. 00:09:52
Bueno, pues esto es el proceso de carga de una instrucción en el registro de instrucciones. 00:09:59
Y ahora vamos a ver el siguiente ejemplo, que sería, o perdón, el siguiente proceso, que sería la ejecución de la instrucción, de una instrucción. 00:10:03
¿Vale? Entonces suponemos ahora que vamos a ver cómo se ejecuta la instrucción 0700 que está en la dirección 0039. ¿De acuerdo? Entonces ya se ha cargado, ¿verdad? Ya se ha realizado el proceso que acabo de explicar antes y por eso el contador de programas se ha incrementado en 1 y ya está la siguiente 003A. 00:10:13
Pero ahora la dirección 0700, veis que estuvo aquí y se ha cargado en el registro de instrucciones, se va a ejecutar. ¿Vale? Pues ¿en qué consiste esta instrucción? Pues en llevar un dato cuya dirección está indicada en el registro del banco de registros RD, ¿vale? 00:10:32
que sería el equivalente al registro 14, si lo numeramos de 1 en 1 hasta llegar a 16, entonces en este registro, en RD, tenemos una dirección de memoria y la instrucción, como digo, 0700 consiste en llevar un dato cuya dirección está indicada aquí a este registro, al R7, 00:10:50
es decir, buscar en la memoria RAM un dato cuya dirección se indica en uno de los registros del banco de registro 00:11:17
para coger lo que hay en esa dirección de memoria, ese dato, y llevarlo a otro registro 00:11:23
en este caso los registros RD y R7, ¿de acuerdo? 00:11:28
bueno, pues entonces, ¿cuál sería el primer paso de ejecución de esta instrucción 0700? 00:11:32
pues si la dirección está aquí en el registro RD, el primer paso va a ser cargar esa dirección en el registro de direcciones 00:11:38
obviamente hacia aquí abajo, ¿de acuerdo? Se carga la dirección 54C2. El siguiente paso sería que a través del bus de direcciones vamos a la RAM a buscar qué es lo que hay en esa dirección, 00:11:46
en la 54C2, y lo que hay es el dato de 7A2, este dato. Este dato de 7A2 va a volver a través del bus de datos y se va a conectar, perdón, se va a grabar en el registro de datos, 00:11:59
que para eso está claro, ¿y cuál sería el último paso? Muy sencillo, pues tenemos que llevarlo aquí, ¿verdad?, al registro R7, porque es en lo que consiste la instrucción 0700, pues entonces, del registro de datos al registro R7, ¿para qué?, pues no lo sabemos, probablemente, para ejecutar una operación con él, podría ir después de aquí al registro temporal, y la siguiente instrucción es coger otro dato, y la siguiente instrucción es realizar la suma, y claro, imaginar que aquí hablamos de una instrucción tan sencilla como cargar un dato en un registro, 00:12:12
Pero imaginad la de miles de millones de operaciones que puede realizar un procesador. Es una simplificación de un proceso, de una microinstrucción. Sería en realidad una microoperación, lo tenemos indicado en las diapositivas, que es la parte que podemos ver más fácilmente. 00:12:42
¿De acuerdo? Anteriormente, efectivamente, en estas diapositivas tenéis explicado lo que es una microoperación y las microoperaciones básicas que podrían ser estas, ¿verdad? El movimiento de datos y instrucciones de la RAM al procesador. 00:13:01
Bueno, pues estas dos cosas, lo que expliqué en el anterior vídeo de la RAM y ahora el procesador, son muy importantes para que podamos entender un poquito, atisbar un poco, cuál es el funcionamiento de estos dos componentes que son los más importantes del ordenador. 00:13:19
Muy bien, pues eso es todo respecto al procesador. Muchas gracias. 00:13:36
Autor/es:
Enrique Neira
Subido por:
Enrique Jose N.
Licencia:
Dominio público
Visualizaciones:
62
Fecha:
24 de noviembre de 2020 - 11:28
Visibilidad:
Público
Centro:
IES AVENIDA DE LOS TOREROS
Duración:
13′ 44″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
22.93 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid