Concepto de segmentación del procesador

Arquitectura y Tecnología de Computadores URJC
26 Mar 202023:58

Summary

TLDREl guion trata sobre el concepto de segmentación en la arquitectura de computadoras, explicando cómo la ejecución de instrucciones tradicionalmente se realiza en cinco fases, lo que puede generar ineficiencias. Se introduce la segmentación para mejorar la productividad, permitiendo que cada parte del circuito trabaje continuamente en diferentes fases de múltiples instrucciones. A pesar de los posibles problemas de sincronización y control, la segmentación, inspirada en la revolución industrial, aumenta la eficiencia y se relaciona con la producción de automóviles en cadena, reduciendo costos y mejorando el rendimiento.

Takeaways

  • 🔄 El concepto de segmentación se refiere a la ejecución de instrucciones por ciclos, permitiendo que cada parte del circuito trabaje en cada ciclo.
  • ⏱️ La segmentación busca mejorar la eficiencia al eliminar el tiempo de espera en que no se realiza trabajo activo, como ocurre en ciclos más cortos.
  • 🛠️ Aunque algunas instrucciones solo necesitan cuatro fases, la segmentación permite que el circuito trabaje continuamente en todas las fases.
  • 📈 La segmentación se compara con la revolución industrial, donde la producción en cadena y la especialización en tareas específicas incrementan la productividad.
  • 🏭 La historia de la segmentación está relacionada con la fabricación de automóviles, y se atribuye a Henry Ford por su aplicación en la producción de la Ford Model T.
  • 🔩 La segmentación implica que varias instrucciones compitan por recursos, lo que puede causar problemas de sincronización y control.
  • 📊 En un ejemplo práctico, la segmentación se compara con el proceso de empaquetado de productos, donde la división de tareas reduce el tiempo total de producción.
  • 🔄 La segmentación se ejemplifica con la cadena de montaje, donde cada fase de la instrucción se ejecuta en paralelo, permitiendo que una nueva instrucción comience antes de que la anterior termine.
  • 💾 La arquitectura Harvard se menciona en relación con la segmentación, destacando la importancia de tener memorias separadas para instrucciones y datos.
  • ⏲️ Los registros de desacople son esenciales en la segmentación para gestionar la información de una instrucción a otra sin mezclarla con la de otras instrucciones.

Q & A

  • ¿Qué es la segmentación en el contexto de la instrucción de un procesador?

    -La segmentación, también conocida como pipeline, es un concepto que permite que diferentes fases de la ejecución de instrucciones se superpongan en tiempo, permitiendo que múltiples instrucciones estén en diferentes etapas de su ejecución en paralelo, lo que aumenta la eficiencia y el rendimiento del procesador.

  • ¿Cuál es la principal desventaja de no utilizar segmentación en la ejecución de instrucciones?

    -Sin segmentación, cada instrucción debe completar todas sus fases secuencialmente antes de que comience la siguiente, lo que puede causar tiempos de espera ineficientes y una utilización del circuito de datos no continua.

  • ¿Cómo se relaciona la segmentación con la revolución industrial?

    -La segmentación en la fabricación de procesadores es similar a la división del trabajo en la revolución industrial, donde cada trabajador se especializa en una sola tarea, permitiendo una producción más eficiente y rápida.

  • ¿Por qué se introducen problemas de sincronización y control en sistemas con segmentación?

    -Con la segmentación, varias instrucciones pueden estar en ejecución al mismo tiempo, lo que puede llevar a conflictos por el acceso a recursos compartidos, como registros o memoria, y a problemas de control en la gestión de instrucciones como bifurcaciones.

  • ¿Cómo se compara el tiempo de ejecución de una instrucción en un sistema con segmentación versus uno sin segmentación?

    -En un sistema sin segmentación, cada instrucción debe esperar a que todas las fases de la anterior terminen antes de comenzar, mientras que en un sistema con segmentación, las instrucciones se superponen en tiempo, lo que reduce el tiempo total de ejecución de instrucciones consecutivas.

  • ¿Qué es un 'retraso en los registros de desacople' en un sistema de segmentación?

    -Los registros de desacople son componentes que se utilizan en un pipeline para gestionar la información de una instrucción mientras esta se mueve de una fase a otra, introduciendo un pequeño retardo en la ejecución para asegurar que la información se mantiene ordenada y aislada de otras instrucciones.

  • ¿Cuál es la ventaja principal de utilizar segmentación en la arquitectura de un procesador?

    -La principal ventaja es la mejora en la productividad y el rendimiento, ya que permite que múltiples instrucciones estén en diferentes etapas de ejecución al mismo tiempo, lo que reduce los tiempos de espera y aumenta la eficiencia general del procesador.

  • ¿Cómo se determina la duración del ciclo en un sistema de segmentación?

    -La duración del ciclo en un sistema de segmentación se establece en función de la fase más lenta de la ejecución de las instrucciones, para asegurar que todas las fases puedan completarse antes de avanzar al siguiente ciclo.

  • ¿Qué es la memoria Harvard y cómo se relaciona con la segmentación?

    -La memoria Harvard es una arquitectura de computadora que tiene memorias separadas para instrucciones y datos. Esto se relaciona con la segmentación porque permite que los datos y las instrucciones se manejen de manera más eficiente en un sistema de pipeline, ya que se pueden acceder de manera paralela sin interferir entre sí.

  • ¿Cómo se calcula el rendimiento de una máquina con segmentación en comparación con una máquina sin segmentación?

    -El rendimiento se calcula como la inversa del tiempo de ejecución. En una máquina con segmentación, aunque cada instrucción puede tardar más en ejecutarse individualmente debido a los retardos en los registros de desacople, el tiempo total para completar varias instrucciones es menor, lo que resulta en un rendimiento mayor.

Outlines

00:00

🔄 Eficiencia en la ejecución de instrucciones

El primer párrafo explica la importancia de la segmentación en la ejecución de instrucciones de una CPU. Se menciona que tradicionalmente, las instrucciones se ejecutan en cinco fases, lo que puede causar ineficiencia ya que no todas las instrucciones requieren todas las fases. Se introduce el concepto de ciclo de datos multi-ciclo, que busca mejorar esta eficiencia al ejecutar cada fase en un ciclo separado, eliminando así los tiempos de espera. Además, se compara con procesos industriales, como la fabricación de automóviles, para ilustrar cómo la segmentación puede mejorar la productividad.

05:00

🏭 La revolución industrial y la segmentación

El segundo párrafo profundiza en la analogía entre la segmentación en la fabricación de automóviles y la ejecución de instrucciones en una CPU. Se explica cómo la especialización de los trabajadores en una fase específica del proceso de producción, tal como fue implementada por Henry Ford, mejora la eficiencia y reduce los costos. Este concepto se aplica a la segmentación de instrucciones, donde cada parte del circuito trabaja en una fase específica de la ejecución de una instrucción, permitiendo que múltiples instrucciones se ejecuten simultáneamente en diferentes fases.

10:00

⚙️ Funcionamiento del segmentado de instrucciones

El tercer párrafo describe el funcionamiento detallado del segmentado de instrucciones, también conocido como pipeline. Se explica cómo cada fase de la ejecución de una instrucción se puede ejecutar en paralelo con las fases de otras instrucciones, permitiendo una mayor eficiencia. Se ilustra con un ejemplo de cómo la carga de una máquina sin segmentación requiere que todas las fases de una instrucción se completen antes de comenzar con la siguiente, mientras que en una máquina con segmentación, una nueva instrucción puede comenzar en cada fase una vez que la instrucción anterior ha avanzado a la siguiente.

15:01

💡 Implementación del circuito segmentado

El cuarto párrafo se centra en la implementación física del concepto de segmentación en un circuito de datos. Se discute cómo se organizan las diferentes etapas del proceso de ejecución de instrucciones dentro del circuito y se introducen los registros de desacople, que son esenciales para gestionar la información entre las diferentes etapas sin mezclarla. Se menciona también el impacto de estos registros en el tiempo de ejecución de las instrucciones y cómo se calcula el rendimiento de la máquina.

20:02

⏱️ Consideraciones de rendimiento y tiempo de ciclo

El último párrafo aborda la importancia de la planificación del tiempo de ciclo en una máquina con segmentación. Se destaca la necesidad de establecer el tiempo de ciclo basado en la etapa más lenta para garantizar que todas las fases se ejecuten eficientemente. Se discute cómo la lectura y escritura en el banco de registros se realiza en diferentes mitades del ciclo para permitir que los resultados de una instrucción sean utilizados inmediatamente por otra. Finalmente, se calcula el rendimiento teórico de la máquina con segmentación y se compara con el rendimiento de una máquina sin segmentación, demostrando una mejora significativa en el rendimiento.

Mindmap

Keywords

💡Segmentación

La segmentación, también conocida como pipelining en inglés, es una técnica utilizada en la arquitectura de computadoras para mejorar la eficiencia en el procesamiento de instrucciones. Se refiere a la división del ciclo de vida de una instrucción en varias fases, permitiendo que múltiples instrucciones se ejecuten simultáneamente en diferentes fases. En el guion, se menciona que la segmentación busca que todo el circuito trabaje en cada ciclo, en lugar de tener un tiempo de espera inactivo, lo que aumenta la productividad y se compara con la revolución industrial y la fabricación en cadena.

💡Ciclo de datos

El ciclo de datos es el proceso por el cual una instrucción pasa por las diferentes fases de ejecución en una CPU. Se compone de varias fases como la fetch, decode, execute, memory access y write-back. En el guion, se discute cómo el ciclo de datos se ve afectado por la segmentación, ya que permite que cada fase del ciclo trabaje de manera paralela con otras instrucciones en diferentes fases.

💡Fase de ejecución

Las fases de ejecución son los pasos individuales que una instrucción debe completar durante su ciclo de vida en una CPU. Estas incluyen la adquisición de la instrucción, su decodificación, la ejecución de la operación, el acceso a la memoria y la escritura de los resultados. En el guion, se destaca cómo la segmentación permite que cada fase de ejecución de una instrucción se active en un ciclo, mejorando la eficiencia general del sistema.

💡Ineficiencia

La ineficiencia en el contexto del guion se refiere a la falta de optimización en el uso del tiempo y los recursos del procesador. Se menciona que el ciclo de datos tradicional puede tener fases inactivas donde no se realiza trabajo, lo que resulta en una utilización del tiempo y los recursos no óptima. La segmentación busca solucionar esta ineficiencia al asegurar que el circuito trabaje continuamente en cada ciclo.

💡Multi ciclo

El multi ciclo es una arquitectura de CPU donde cada fase del ciclo de datos se ejecuta en un ciclo de reloj separado. Esto contrasta con la segmentación, donde se busca que cada ciclo de reloj ejecute todas las fases de una o más instrucciones. En el guion, se menciona que el multi ciclo intenta paliar la ineficiencia del reloj más corto, pero aún así no es tan eficiente como la segmentación.

💡Reloj

En el guion, el término 'reloj' se refiere a la señal de tiempo que coordina las operaciones en una CPU. Se discute cómo la segmentación elimina el tiempo de espera inactivo, ya que cada fase del ciclo de datos se ejecuta en un ciclo de reloj, en lugar de tener un reloj más corto que limita la eficiencia.

💡Ejecución paralela

La ejecución paralela es el proceso de ejecutar múltiples instrucciones en paralelo, aprovechando diferentes fases del ciclo de datos. En el guion, se destaca cómo la segmentación permite la ejecución paralela, ya que diferentes partes del circuito trabajan en diferentes fases de instrucciones diferentes, lo que aumenta la productividad.

💡Problemas de sincronización

Los problemas de sincronización surgen cuando varias instrucciones compiten por el mismo recurso en paralelo, lo que puede causar conflictos. En el guion, se menciona que la segmentación puede dar lugar a estos problemas, ya que varias instrucciones pueden necesitar acceder a los mismos registros o recursos al mismo tiempo.

💡Control de flujo

El control de flujo se refiere a la gestión de la secuencia en la que se ejecutan las instrucciones en una CPU. En el guion, se discute cómo la segmentación puede complicar el control de flujo, ya que se deben gestionar múltiples instrucciones en diferentes fases, lo que puede requerir una mayor complejidad en la lógica de control.

💡Desacoplar

Desacoplar en el contexto del guion se refiere a la técnica de usar registros intermedios para transferir la información de una fase a otra en el ciclo de datos segmentado. Esto ayuda a mantener la información de las instrucciones separadas y evita la mezcla de datos. Se menciona que los registros de desacoplar son necesarios para gestionar la información en el circuito segmentado.

Highlights

Se discute el concepto de segmentación en el ciclo de datos de la instrucción.

Se menciona la ineficiencia en el ciclo de datos tradicional debido a que no todas las instrucciones requieren las cinco fases.

Se introduce la idea de multi ciclo para paliar la ineficiencia del reloj más corto.

Se explica cómo el concepto de segmentación mejora la productividad al terminar una instrucción por ciclo.

Se describe el problema de sincronización y control que surgen con la segmentación.

Se utiliza el ejemplo de la fabricación de cajas para ilustrar la eficiencia de la segmentación.

Se detalla la fase de decodificación y búsqueda de operadores en el ciclo de datos.

Se explica la fase de ejecución de operaciones y su importancia en el ciclo.

Se discute la fase de acceso a memoria y su rol en el ciclo de datos.

Se menciona la fase de escritura de resultados y cómo se almacenan los resultados en el banco de registros.

Se compara el rendimiento de máquinas con y sin segmentación en términos de tiempo de ejecución.

Se introduce la revolución industrial y su relación con el concepto de segmentación.

Se atribuye el crédito de la segmentación a Henry Ford y su aplicación en la fabricación del Ford Model T.

Se discute cómo la segmentación reduce los costos de producción y mejora la eficiencia en la fabricación de automóviles.

Se explica cómo la segmentación permite la ejecución paralela de operaciones en el camino de datos.

Se mencionan los problemas que surgen con la segmentación, como la competencia por recursos y la sincronización.

Se describe la organización del circuito en una arquitectura Harvard con memoria para instrucciones y datos.

Se discuten los retardos introducidos por los registros de desacople en el camino de datos segmentado.

Se calcula el rendimiento teórico de la máquina con segmentación y se compara con la máquina sin segmentación.

Transcripts

play00:00

vamos a abordar en el texto del tema

play00:03

para el mismo nivel de instrucción el

play00:05

concepto de segmentación

play00:09

hasta la fecha se ha visto el camino de

play00:12

datos un ciclo en el que ya se vio que

play00:15

las instrucciones se ejecutan en cinco

play00:16

fases sin embargo el ciclo es único y

play00:21

tiene tamaño suficiente suficientemente

play00:23

largo para ejecutar esas cinco fases

play00:26

esto nos lleva a una cierta ineficiencia

play00:28

dado que

play00:29

no todas las instrucciones cubren esas

play00:32

cinco fases lo hacen las instrucciones

play00:35

lw pero en el resto de las instrucciones

play00:38

sw y tipo de ocupan cuatro fases

play00:44

edificación estrés etcétera por lo tanto

play00:48

se produce una deficiencia desde el

play00:50

punto de vista de que hay un tiempo de

play00:52

espera en el que no se hace trabajo

play00:55

activo hasta que se termina

play00:58

después vimos la

play01:00

después vimos determinados multi ciclo

play01:03

en el que la idea es intentar paliar esa

play01:06

ineficiencia del reloj más corto que en

play01:09

este caso es del tamaño

play01:12

una fase por lo tanto cada fase se

play01:14

ejecutará en un ciclo esto elimina ese

play01:17

tiempo de espera

play01:20

en el que no se puede hacer nada dado

play01:22

que sin instrucción su edificación

play01:25

termina su ejecución en tres fases en el

play01:28

siguiente ciclo se podrá iniciar la

play01:30

ejecución

play01:31

una nueva instrucción

play01:34

así como el camino un ciclo dentro de un

play01:37

ciclo se ejecutan todas las fases y está

play01:41

activo de alguna manera todo el circuito

play01:44

en el camino datos multi ciclo por

play01:46

contra en cada ciclo solo trabaja una

play01:50

parte del camino de datos una parte del

play01:52

circuito el que corresponde a la fase

play01:54

que está en ejecución

play01:56

en contraposición con ambos pues aparece

play01:59

el concepto de segmentación

play02:02

la segmentación es lo que nos hace es

play02:04

pensar en términos de productividad se

play02:07

trata de terminar una instrucción por

play02:11

ciclo se trata de que todo el circuito

play02:15

trabaje en cada ciclo no solo la parte

play02:19

correspondiente una fase de ejecución de

play02:21

una instrucción sino intentar que

play02:23

trabaje todo el circuito durante todos

play02:26

los ciclos y para eso hay que tener

play02:29

que las fases de ejecución de las

play02:32

instrucciones guardan cierto equilibrio

play02:34

esto es bueno para lograr un buen

play02:37

resultado y además vamos a ver que

play02:39

aparecerán problemas que antes no

play02:40

existían

play02:42

porque tendremos varias instrucciones

play02:43

compitiendo por un mismo recurso podemos

play02:47

tener problemas de sincronización en el

play02:49

acceso a los datos

play02:51

que se quiere utilizar un dato que hago

play02:54

está generado y podrán aparecer

play02:57

problemas de control

play02:58

en la gestión de las bifurcaciones y los

play03:01

altos

play03:03

vamos allá

play03:07

si pensamos en un proceso por ejemplo el

play03:12

relleno de cajas con un determinado

play03:14

producto y su envoltorio y apilamientos

play03:18

/ también de este proceso en cinco fases

play03:21

y suponiendo que queda la fase 6 que

play03:23

tarda en realizar 10 segundos en un

play03:26

concejo segmentado tendríamos una

play03:29

primera fase en la que se monta a caja

play03:31

vacía perfectamente abierta

play03:34

en los 10 segundos siguientes se

play03:35

rellenan en la siguiente fase se cierra

play03:40

hermética algo que también tiene

play03:43

segundos la siguiente fase se envuelve

play03:45

se tardará también tiene segundos y en

play03:48

la siguiente fase

play03:49

se apila y está lista con lo cual

play03:53

establecemos que aceptar los 50 segundos

play03:55

pero esa caja termina

play03:58

cuánto se tarda en tener la siguiente

play04:00

caja terminada pues

play04:02

el proceso no ha segmentado hasta que no

play04:04

se termina la primera caja no se puede

play04:06

empezar la siguiente y por lo tanto la

play04:08

siguiente caja estará terminada en 50

play04:11

segundos a partir de los primeros 50 que

play04:13

tardo la primera caja por lo tanto total

play04:15

dos cajas terminadas en 50 segundos

play04:19

porque ahora tendremos 10 segundos nueva

play04:22

caja abierta

play04:24

rellenarla 10 segundos cerrarán otros 10

play04:27

segundos

play04:28

10 segundos y finalmente apilar los

play04:31

otros 100 en total dos cajas terminadas

play04:38

vamos a repasar entonces de la misma

play04:40

manera que hemos visto el proceso no

play04:42

segmentado las fases de ejecución de una

play04:43

instrucción en primer lugar está en la

play04:47

fase de ser del color de programa sale

play04:50

la dirección de memoria en la que está

play04:54

almacenada la instrucción y se tiene que

play04:58

ir a memoria buscarla y se puede

play05:00

almacenar un registro de estudios y

play05:02

siete en cualquier caso se le envía

play05:05

segunda fase de codificación y búsqueda

play05:09

de operados código de operación y que

play05:12

están los 6 bits de mayor peso de la

play05:15

instrucción

play05:16

se envía a la unidad de control y además

play05:18

se accede al banco de registros para

play05:20

aislar los operados que se quieran

play05:21

utilizar durante la fase de ejecución

play05:23

fase 3 fase de ejecución operación en la

play05:27

que se hará una operación larga resta

play05:30

operación psicológica lo que corresponde

play05:34

tercera fase cuarta fase perdón acceso a

play05:38

memoria

play05:39

se lee o se escribe

play05:42

operando

play05:44

valor de memoria

play05:47

finalmente right back escritura de los

play05:50

resultados se almacenan resultados en el

play05:53

banco estas son las cinco fases que

play05:55

habíamos estado viendo

play05:59

hemos hecho coincidir también en el

play06:01

símil anterior de la caja con cinco

play06:03

fases

play06:04

vamos a ver cómo sería el trabajo con

play06:07

las cajas pero

play06:10

segmentar el concepto de segmentación

play06:13

tiene mucho que ver

play06:16

la revolución industrial de hecho emana

play06:18

de la

play06:19

industrial se trata de buscar la

play06:22

fabricación en cadena donde tenemos

play06:24

diferentes operarios pero cada uno está

play06:26

únicamente especializado en una fase de

play06:29

la elaboración

play06:31

en un paso muy concreto

play06:33

así pues seguimos teniendo una primera

play06:36

fase en la que se

play06:38

plantea se pone una caja abierta y se

play06:42

prepara

play06:44

en una segunda fase la primera caja pasa

play06:47

a un segundo individuo que también es 10

play06:50

segundos la rellena pero además el

play06:51

primer individuo puede ir preparando una

play06:54

nueva caja abierta cuando la primera

play06:56

caja pasa a la tercera fase y un

play06:59

operario la tierra

play07:01

la segunda caja pasa a la segunda fase y

play07:03

se puede rellenar y se puede iniciar una

play07:06

tercera caja que se puede ir preparando

play07:09

a dieta

play07:11

cuando la primera caja pasa a la cuarta

play07:13

fase y es envuelta la caja se cierra la

play07:17

tercera se rellena y se puede

play07:20

en el proceso una nueva cuarta caja

play07:24

para ir construyendo la dieta y

play07:27

finalmente en una quinta fase aplicamos

play07:31

la primera caja mientras la segunda de

play07:33

segunda la tercera cerrada la puerta

play07:36

rellena la quinta

play07:39

una nueva quinta caja

play07:42

abierta total en 50 segundos tenemos la

play07:47

primera caja pero a diferencia del caso

play07:49

anterior donde hasta que no pasan otros

play07:52

50 segundos

play07:54

no se tiene otra caja terminada

play07:57

que no se comienza con ella ahora la

play08:00

siguiente caja estará terminada en tan

play08:02

sólo 100 segundos por lo tanto cuando

play08:04

tardaremos en tener dos cajas terminadas

play08:06

60 segundos y en los 10 segundos

play08:09

siguientes podremos tener una tercera

play08:11

caja por tanto 70 segundos tendremos 3

play08:15

80 segundos tendremos cuatro en 90

play08:18

segundos tendremos 5 y así sucesivamente

play08:22

es decir cada 10 segundos

play08:25

una caja

play08:28

esta es la ventaja del concepto de

play08:31

segmentación en inglés pipeline

play08:35

y que me de eminem en términos de

play08:37

producto

play08:39

la segmentación

play08:41

tiene que ver con la revolución

play08:42

industrial como hemos dicho antes y se

play08:44

atribuye a henri ford

play08:48

para la fabricación del forte que se

play08:51

fabricó desde 1908 hasta 1920

play08:55

existe documentación que indicaría que

play08:58

posiblemente rams haber el jules para la

play09:03

fabricación de

play09:04

modelo vehículo oldsmobile en 1901

play09:08

patentó un sistema muy similar sin

play09:11

embargo el crédito se lo ha llevado

play09:14

henri ford por cuestiones históricas la

play09:18

cuestión es que el forte fue el coche

play09:20

que el automóvil que hacer con

play09:23

precisamente el automóvil del público de

play09:25

masas hasta la llegada del fuerte

play09:28

el automóvil era artículos

play09:31

y esto tiene que ver con este concepto

play09:33

de segmentación de fabricación en cadena

play09:36

y la reducción de costes que supone

play09:39

por ejemplo muy muy simple si uno tiene

play09:42

a todos los operarios de la fábrica

play09:44

ocupados en fabricar un coche y en un

play09:46

día se fabrica un coche es el coche

play09:49

tiene que pagar el salario de todos esos

play09:51

operarios y del mantenimiento de la

play09:53

fábrica etcétera etcétera de ese día

play09:57

y uno logra fabricar más de un coche en

play10:00

ese día

play10:02

precio de los coches puede ser menor

play10:06

para poder pagar a todo el mundo si uno

play10:09

logra fabricar unos cuantos coches el

play10:12

precio va bajando y esto es lo que se

play10:14

consigue

play10:16

el procesado segmentado de acuerdo

play10:20

entonces básicamente la segmentación o

play10:24

timeline es una técnica que permite

play10:26

solapar la ejecución de operaciones en

play10:30

un camino de datos entonces como ya

play10:32

hemos visto que tenemos la ejecución

play10:34

dividida en fases pues vamos a

play10:37

establecer

play10:38

y cada parte del camino de datos que

play10:42

ejecuta esas fases va a ser nuestro

play10:43

operario especializado de la cadena de

play10:46

montaje y por lo tanto vamos a tener una

play10:49

parte del circuito con el la circuitería

play10:51

necesaria para ejecutar unas fases de

play10:53

esa instrucción y lo que vamos a hacer

play10:55

al igual que ocurre en la cadena de

play10:57

montaje es que cuando la instrucción

play10:58

pasa a la siguiente fase cargaremos

play11:02

una nueva instrucción en la fase

play11:05

anterior dentro del circuito

play11:08

en un instante determinado te tendremos

play11:11

que cada parte del camino de datos está

play11:14

procesando una fase de ejecución de una

play11:17

instrucción de una etapa de una

play11:19

instrucción distinta

play11:23

y de esta manera lograremos que todas

play11:25

las partes del circuito se encuentren

play11:28

por eso lograremos ese objetivo que se

play11:32

había planteado

play11:34

el lograr que todos los elementos del

play11:36

camino datos trabajen de manera continua

play11:38

problemas los que anunciamos antes un

play11:42

ejemplo

play11:44

si tenemos a la vez una instrucción en

play11:46

fase de escritura de los resultados

play11:47

puede estar escribiendo un valor en un

play11:50

registro del banco de registros pero si

play11:52

tenemos a la vez una instrucción en fase

play11:54

de decodificar de codificación

play11:56

pueden chocar en el acceso a los

play11:58

registros intentando acceder al mismo

play12:02

registro por ejemplo

play12:03

y este es un problema que no aparecía

play12:08

disponíamos 511 segmentado

play12:13

como es la ejecución de una máquina sin

play12:16

segmentación pues ya lo hemos visto el

play12:18

set de codificación ejecución memoria

play12:20

escritura de resultados y cuando se

play12:23

termina la escritura de resultados se

play12:24

comienza el fecha de una segunda

play12:26

instrucción y cuando termina la

play12:29

ejecución tras una instrucción se

play12:30

comienza el fecha de la tercera

play12:32

instrucción y así sucesivamente

play12:36

como logramos una carga de ocupación del

play12:39

circuito del canal instante del tiempo

play12:40

nunca use segmentado bueno pues lo mismo

play12:44

que ocurre en la cadena de montaje

play12:45

comienza la ejecución de la primera

play12:47

instrucción y pasa a la etapa de fecha

play12:50

cuando esta instrucción pasa a la

play12:52

segunda etapa que es la de codificación

play12:54

podemos introducir una nueva instrucción

play12:56

una segunda instrucción en la primera

play12:58

etapa cuando la primera instrucción pasa

play13:00

a la tercera etapa a la fase de

play13:02

ejecución la segunda instrucción pasa a

play13:03

la fase de codificación podemos

play13:05

introducir una nueva tercera y esto

play13:09

la primera instrucción pasa a la fase de

play13:11

memoria la tercera pasa a la fase de

play13:13

ejecución la segunda la tercera la

play13:16

segunda fase de ejecución la tercera

play13:18

pasa a la fase de decodificación

play13:22

y cuando la primera instrucción pasará a

play13:24

la fase de escritura de resultados la

play13:26

segunda pasa a la fase de memoria la

play13:29

tercera a la fase de ejecución la cuarta

play13:31

a la fase de codificación y la quinta

play13:35

quinta instrucción en fase de fecha a

play13:38

partir de ese momento tendríamos el

play13:40

cauce completamente cargado

play13:44

siempre que termina una instrucción en

play13:47

fase de rollback podemos introducir una

play13:49

nueva instrucción en fase de fecha

play13:53

lo que se puede ver también en este

play13:55

gráfico es que a partir de la

play13:57

finalización de la primera instrucción

play13:58

en la máquina sin segmentación tienen

play14:01

que volver a pasar cinco ciclos cinco

play14:04

fases

play14:05

para lograr tener una nueva instrucción

play14:07

terminada es decir

play14:11

si nosotros consideramos

play14:14

cuando termina la ejecución de la

play14:16

primera instrucción aquí

play14:19

pues tienen que pasar cinco fases de

play14:23

ejecución de otra instrucción para

play14:25

lograr tener una nueva instrucción

play14:26

completada y otras cinco para lograr

play14:29

tener una nueva instrucción completada

play14:30

sin embargo en el cauce se ha inventado

play14:33

nosotros tenemos que terminar la

play14:35

ejecución de la primera instrucción

play14:38

la segunda instrucción se termina en tan

play14:41

sólo una fase y la tercera se termina

play14:46

sólo después se tiene completado la

play14:48

cuarta un ciclo después

play14:51

y se tiene que completar la quinta un

play14:54

ciclo después

play14:57

por lo tanto

play14:58

y la ganancia

play15:01

ese bien

play15:07

cómo se traslada esto el circuito bueno

play15:09

pues una pequeña organización de nuestro

play15:12

circuito de camino datos un ciclo que

play15:15

hay que recordar que es una arquitectura

play15:17

harvard con una memoria para

play15:19

instrucciones y una memoria para datos

play15:20

pues nos lleva a esta organización donde

play15:23

se pueden ver las etapas los elementos

play15:26

que corresponden a cada una de las

play15:27

etapas del circuito y se pueden ver las

play15:29

cinco etapas separadas lógicamente el

play15:32

registro el banco de registros que forma

play15:35

parte de la segunda etapa pero también

play15:37

de la quinta de escritura de resultados

play15:46

sin embargo como hemos visto el camino a

play15:48

datos multi ciclo cuando pasamos un

play15:50

ciclo a otro necesitamos elementos de

play15:53

almacenamiento además

play15:56

y tengamos cinco instrucciones ya en

play15:59

ejecución diferentes dentro de este

play16:01

camino de datos cada una de ellas

play16:05

una fase distinta vamos a necesitar

play16:08

llevar de una fase a otra toda la

play16:09

información

play16:11

de la instrucción cuando nosotros

play16:14

obtenemos

play16:18

cuando nosotros obtenemos la

play16:20

identificación de una instrucción al

play16:22

final de esta etapa

play16:24

después del fecha

play16:26

no necesitamos todavía la información

play16:28

esperando del resultado de escritura

play16:32

identificación del registro de destino

play16:34

para escribir un resultado esa la

play16:36

necesitamos aquí y esa información por

play16:38

lo tanto tiene que viajar desde esta

play16:41

etapa

play16:44

hasta esta que está

play16:47

cinco siglos después

play16:51

43 después

play16:56

es decir tiene que viajar durante cinco

play16:58

ciclos en el tiempo esto implica

play17:04

en los espacios están estas líneas

play17:06

verticales de separación lo que se

play17:08

coloca son los registros del desacople

play17:10

que permiten gestionar todo lo que

play17:14

ocurre en el banco en el camino de datos

play17:17

segmentado

play17:18

además de ayudar

play17:21

a llevar la información de un punto a

play17:24

otro del circuito en total orden y sin

play17:26

mezclar información de unas

play17:28

instrucciones con otras

play17:32

la utilización de estos registros tiene

play17:34

forzosamente que introducir que añadir

play17:37

retardo de ejecución en el circuito por

play17:40

lo tanto tenemos que tener en cuenta

play17:44

en la realidad la ejecución de una

play17:47

instrucción va a tardar un poquito más

play17:50

de lo que tarda en un cauce normal dado

play17:53

que ahora tenemos que contar con el

play17:54

retardo dentro de los registros que

play17:56

antes no existían

play18:00

por lo tanto el tiempo de ejecución de

play18:03

una instrucción en un cauce se ha

play18:05

comentado en la realidad es un poco

play18:07

mayor que en un cauce sin segmentar

play18:10

aunque en la teoría y en muchos de los

play18:11

problemas no consideraremos los retardos

play18:16

en los registros del xacobeo por

play18:18

simplicidad sin embargo si una vez más

play18:22

nos paramos a mirar en términos de

play18:24

productividad aunque se tarde en

play18:26

ejecutar cada instrucción

play18:28

individualmente un poquito más tenemos

play18:32

completadas escalas hitos y por lo tanto

play18:35

ahí es donde realmente ganamos

play18:41

si echamos un vistazo al cronograma y

play18:43

tenemos en cuenta qué

play18:47

como hemos estado viendo

play18:49

con la pérdida

play18:51

el acceso a memoria suponen 22 segundos

play18:56

el acceso al banco de registros 1 el

play18:58

acceso a la salud 2 el acceso

play19:02

memoria 2 y nuevamente la se salvan los

play19:05

registros 1

play19:07

las cinco fases de una instrucción que

play19:09

pase por esas cinco fases se ejecute en

play19:11

81 segundos

play19:13

tiene un cauce se ha inventado todas las

play19:16

instrucciones deberán pasar forzosamente

play19:18

por las cinco fases por lo tanto el

play19:21

tiempo al máximo será ocho nosotros en

play19:23

un cauce no se ha inventado

play19:27

tendremos completada una instrucción a

play19:30

los 16 nudos y una tercera

play19:34

y así sucesivamente en el cauce

play19:36

segmentado tendremos

play19:39

la primera instrucción

play19:42

completada

play19:44

a los

play19:48

10

play19:51

la segunda los 12 y los 16

play19:55

la tercera de los 14

play19:57

y así sucesivamente

play20:00

y este cronograma también hay que tener

play20:02

en cuenta un aspecto muy importante

play20:04

hay que fijarse en qué

play20:08

no abordamos la etapa de decodificación

play20:12

el acceso al banco de registros se hace

play20:13

en la segunda parte del ciclo y no en la

play20:16

primera

play20:17

segunda parte del ciclo y no la primera

play20:21

segunda parte del ciclo y no la primera

play20:23

sin embargo en la etapa de escritura de

play20:25

resultados se hace en la primera parte

play20:28

del ciclo y no en la segunda

play20:33

marcar esto así para que se vea

play20:38

en la primera parte del ciclo

play20:42

y no en la segunda y así sucesivamente

play20:44

esto es porque en el banco de registros

play20:47

para facilitar las cosas

play20:50

en el cáncer es inventado y esto más

play20:53

adelante se verá la importancia que

play20:55

tienen las lecturas del banco de

play20:58

registro siempre se harán en la segunda

play20:59

mitad del ciclo y las escrituras en la

play21:02

primera mitad del ciclo esto permitirá

play21:04

que

play21:07

una instrucción escriba los resultados y

play21:10

se pueden utilizar

play21:13

del mismo ciclo

play21:16

desde otra instrucción porque se

play21:18

inscribirán en la primera mitad del

play21:19

ciclo y se leerá en la segunda

play21:24

así pues con este tipo de retardos pues

play21:29

siendo un ciclo es decir los ruedos de

play21:31

los segundos dado que es la longitud lo

play21:35

que tarda

play21:37

más lenta en el candidato segmentado

play21:40

pues tenemos que buscar cuál es la etapa

play21:42

más lenta para situar ese tiempo de

play21:44

reloj no podemos situarlo en 1 segundo

play21:47

si tenemos etapas que duran dos o tres

play21:49

en este ejemplo serían dos

play21:55

la duración de las etapas más lentas y

play21:57

por lo tanto estableceríamos el ciclo

play22:00

tiempo de ciclo en 22 segundos igual que

play22:02

caminatas

play22:05

recuerdo

play22:08

como decía antes todas las instrucciones

play22:09

tardarán 10 segundos en ejecutar porque

play22:12

realizan todas las fases

play22:14

insisto despreciando el

play22:17

tiempo de retardo de los registros de la

play22:19

salud

play22:22

bien en cuanto al rendimiento

play22:24

conviene recordar que el régimen es

play22:27

rendimiento es la inversa del tiempo de

play22:29

ejecución

play22:30

por lo tanto el rendimiento de la

play22:31

máquina con segmentación respecto al

play22:33

rendimiento de la máquina sin

play22:34

segmentación tenga en cuenta que

play22:37

rendimientos como partido por tiempo de

play22:38

ejecución será igual al tiempo de

play22:42

ejecución de la máquina sin segmentación

play22:43

partido por el tiempo de ejecución de la

play22:46

máquina con segmentación y la fórmula es

play22:49

ésta que se puede ver aquí dado que el

play22:53

tiempo medio ejecución con una máquina

play22:55

no segmentada

play22:56

para cada una de las instrucciones es de

play22:59

82 segundos y que tenemos tres etapas el

play23:04

resultado es de 24 mientras que la

play23:09

duración del ciclo de la máquina

play23:11

segmentada tal cual lo hemos definido en

play23:14

el ejemplo es de 29 segundos tenemos

play23:17

cinco etapas y tenemos tres

play23:19

instrucciones

play23:21

menos 137 por 214 y por lo tanto el

play23:27

resultado final este

play23:32

24 partido por 14

play23:36

lo que supone

play23:41

con 70 lleno de aceleración que es más

play23:44

de uno con cinco y por lo tanto no está

play23:46

una idea también nuevamente

play23:49

el incremento en el rendimiento con esto

play23:53

terminar este vídeo sobre el concepto de

play23:56

segmentar

Rate This

5.0 / 5 (0 votes)

Связанные теги
SegmentaciónProcesadoresEficienciaCiclo de datosMulti cicloRevolución industrialFabricación en cadenaHenri FordRendimientoTecnología
Вам нужно краткое изложение на английском?