Que é un pipeline de instrucións?

Que é un pipeline de instrucións?

Calquera instrución do procesador ten varias etapas para o seu funcionamento. Cada unha destas etapas leva un único ciclo de CPU para completar. Estas etapas son a obtención de instrucións, a decodificación de instrucións, a execución, o acceso á memoria e a reescritura. Estes reciben respectivamente a instrución que hai que completar, separan a operación dos valores que se están a operar, executan o proceso, abren o rexistro no que se escribirá o resultado e escriben o resultado no rexistro aberto.

Procesadores históricos en orde

Nos primeiros ordenadores, a CPU non utilizaba unha canalización de instrucións. Nestas CPUs, cada operación dun ciclo debía suceder para cada instrución. Isto significaba que tardaron cinco ciclos de reloxo para que a instrución media fose procesada por completo antes de que se puidese iniciar a seguinte. É posible que algunhas operacións non necesiten escribir ningún resultado nun rexistro, o que significa que se poden omitir as etapas de acceso á memoria e escritura de reescribir.

Que é un pipeline de instrucións?

Nun procesador subescalar sen canalización, cada parte de cada instrución execútase en orde.

Non obstante, hai un problema á espreita ao executar unha instrución completa en orde antes de poder pasar á seguinte instrución. O problema é a falta de caché. A CPU almacena os datos que está procesando activamente no rexistro. Pódese acceder a isto cunha latencia dun ciclo. O problema é que o rexistro é pequeno porque está integrado no núcleo do procesador. A CPU debe ir á caché L1 máis grande pero máis lenta se os datos aínda non se cargaron. Se non está alí, debe ir á caché L2 máis grande e máis lenta de novo. O seguinte paso é a caché L3; a última opción é a RAM do sistema. Cada unha destas opcións leva máis e máis ciclos de CPU para comprobar.

Agora, esta latencia adicional engadida pode ser un gran problema nun sistema que debe completar cada instrución na súa totalidade antes de comezar a seguinte. O que fora un procesador de 5 ciclos por instrución, de súpeto pode quedar colgado nunha instrución durante decenas ou centos de ciclos de reloxo. Durante todo o tempo, non pode ocorrer nada máis no ordenador. Tecnicamente, isto pódese aliviar un pouco tendo dous núcleos independentes. Non obstante, nada lles impide facer o mesmo, potencialmente simultáneamente. Polo tanto, baixar pola ruta multinúcleo non soluciona isto.

The Classic RISC Pipeline

RISC son as siglas de Reduced Instruction Set Computer . É un estilo de deseño do procesador que optimiza o rendemento facilitando a decodificación de cada instrución. Isto é en comparación co CISC ou Complex Instruction Set Computer, que deseña conxuntos de instrucións máis complexos que permiten que sexan necesarias menos instrucións para realizar as mesmas tarefas.

O deseño clásico RISC inclúe unha canalización de instrucións. En lugar de executar calquera das cinco etapas de instrución nun ciclo determinado, a canalización permite que se realicen as cinco etapas. Por suposto, non pode executar as cinco etapas dunha instrución nun ciclo. Pero podes poñer en cola cinco instrucións consecutivas cunha compensación dunha etapa cada unha. Deste xeito, pódese completar unha nova instrución cada ciclo de reloxo. Ofrece un potencial aumento de rendemento 5 veces para un aumento relativamente baixo da complexidade do núcleo.

Que é un pipeline de instrucións?

Nun procesador escalar canalizado, cada etapa da execución dunha instrución pódese realizar unha vez por ciclo de reloxo. Isto permite un rendemento máximo dunha instrución completada por ciclo.

Os procesadores que non teñen unha canalización só poden ser subescalares, xa que non poden executar unha instrución completa por ciclo. Con esta canalización principal de cinco etapas, podes facer unha CPU escalar que poida completar unha instrución para cada proceso. Ao crear canalizacións aínda de maior alcance, podes facer CPU superescalares que poidan executar máis dunha instrución por ciclo de reloxo. Por suposto, aínda hai problemas potenciais.

Aínda Secuencial

Nada diso resolve o problema de esperar moitos ciclos por unha resposta cando hai que consultar os diferentes niveis de caché e RAM. Tamén introduce un novo problema. E se unha instrución depende da saída da instrución anterior? Estes problemas resólvense de forma independente cun despachador avanzado. Planifica coidadosamente a orde de execución para que ningunha instrución que dependa da saída doutro estea demasiado próxima. Tamén xestiona as faltas de caché aparcando unha instrución e substituíndoa na canalización por outras instrucións que estean listas para executarse e que non requiren o seu resultado, retomando a instrución cando estea lista.

Estas solucións poden funcionar en procesadores sen canalización, pero son necesarias para un procesador superescalar que executa máis dunha instrución por reloxo. Un predictor de rama tamén é moi útil xa que pode tentar predicir o resultado dunha instrución con máis dun resultado potencial e seguir asumindo que é correcto a non ser que se demostre o contrario.

Conclusión

Unha canalización permite que todas as capacidades distintas do procesador se utilicen en cada ciclo. Faino executando diferentes etapas de diferentes instrucións simultaneamente. Isto nin sequera engade moita complexidade ao deseño da CPU. Tamén abre o camiño para permitir que máis dunha instrución realice unha única etapa por ciclo.


Que é SMPS?

Que é SMPS?

Aprende o que é SMPS e o significado das diferentes clasificacións de eficiencia antes de escoller un SMPS para o teu ordenador.

Que é a seguridade baseada no illamento?

Que é a seguridade baseada no illamento?

Imos afondar nun tema cada vez máis importante no mundo da ciberseguridade: a seguridade baseada no illamento. Este enfoque para

Como usar o clic automático para Chromebook

Como usar o clic automático para Chromebook

Hoxe imos afondar nunha ferramenta que pode automatizar tarefas de clic repetitivos no teu Chromebook: o Clicker automático. Esta ferramenta pode aforrar tempo e

Roomba detén, pégase e dá a volta - Solución

Roomba detén, pégase e dá a volta - Solución

Resolve un problema no que o teu robot aspirador Roomba se detén, se pega e segue xirando.

Por que o meu Chromebook non se acende

Por que o meu Chromebook non se acende

Obtén respostas á pregunta Por que non se acende o meu Chromebook? Nesta guía útil para usuarios de Chromebook.

Como cambiar a configuración gráfica en Steam Deck

Como cambiar a configuración gráfica en Steam Deck

O Steam Deck ofrece unha experiencia de xogo robusta e versátil ao teu alcance. Non obstante, para optimizar o teu xogo e garantir o mellor posible

Como cambiar a cara do reloxo nun Fitbit Versa 4

Como cambiar a cara do reloxo nun Fitbit Versa 4

Cambia a esfera do teu Fitbit Versa 4 para darlle ao teu reloxo un aspecto diferente todos os días de forma gratuíta. Mira o rápido e sinxelo que é.

Como denunciar estafas de phishing a Google

Como denunciar estafas de phishing a Google

Aprende a denunciar a un estafador a Google para evitar que estafe a outros con esta guía.

Como eliminar unha GPU do PC con Windows en 2023

Como eliminar unha GPU do PC con Windows en 2023

Necesitas eliminar a GPU do teu PC? Únete a min mentres explico como eliminar unha GPU do teu PC nesta guía paso a paso.

Que é o Shoulder Surf?

Que é o Shoulder Surf?

O hombro surf é unha clase de ataque de enxeñería social. Implica que un atacante recompila información mirando a túa pantalla.