Que é unha barreira da memoria?

Históricamente as CPU foron máquinas perfectamente secuenciais. Isto é moi lóxico e fácil de entender, pero pode ser un problema de rendemento. Ao longo dos anos, houbo moitos axustes enxeñosos nos deseños da CPU para extraer o máximo rendemento posible das obleas de silicio. Un dos máis interesantes, porén, é a execución fóra de orde. Nas CPUs de execución fóra de orde, as instrucións non precisan ser executadas necesariamente na orde na que se emiten.

Parado en orde

O principal problema de rendemento ao que se enfronta unha CPU en orde chámase atasco de canalización. Isto ocorre cando unha instrución depende dalgunha memoria, pero esa memoria non está dispoñible directamente nun rexistro. Neste caso, a CPU debe atopar ese valor na memoria. A caché da CPU compróbase primeiro xa que estes son o nivel de memoria máis rápido. Se o valor non está alí, compróbase a memoria RAM do sistema. Durante este tempo, a CPU debe permanecer inactiva, xa que a instrución dependente da memoria debe completarse en orde antes das seguintes instrucións.

O impacto no rendemento dunha parada dun gasoduto pode non ser tan malo, pero tamén pode ser relativamente grave. Por exemplo, a caché L1 normalmente pode devolver un resultado da orde de magnitude de 5 ciclos de CPU. A caché L2 pode levar 20 ciclos, L3 uns 200 ciclos e a RAM do sistema uns 400 ciclos. Dado que unha CPU pode funcionar a uns 5 GHz, é dicir, 5 mil millóns de ciclos de reloxo por segundo, ata 400 ciclos non son tan malos (0,000008%). Pero se tes moitas instrucións que precisan facer referencia a datos máis abaixo nos niveis da caché, o efecto acumulativo pode provocar unha desaceleración notable.

Execución fóra de orde e cambio de nome do rexistro

A execución fóra de orde é unha técnica que permite ao planificador reordenar as instrucións na súa cola. A través desta reordenación, pode optar por priorizar fíos específicos sobre outros. Tamén pode mover as instrucións de volta á cola cando teñen unha dependencia de datos que aínda non se cumpriu. Deste xeito, prevénse atascos de gasodutos na medida do posible, minimizando os ciclos de inactividade.

A execución fóra de orde require unha función chamada cambio de nome do rexistro. A CPU pode acceder aos datos almacenados en rexistros dentro dun único ciclo. Os rexistros úsanse para almacenar os datos que se leen e se escriben. Non obstante, é esencial asegurarse de que o ordenador en xeral vexa todo o que acontece na orde lóxica, non na orde desordenada e optimizada para o ciclo da CPU. Para facelo, as CPU teñen moitos máis rexistros lóxicos dos que esixe a arquitectura da CPU.

Os datos que deben escribirse, pero que teñen unha instrución "anterior" que aínda non se completaron, colócanse nun rexistro de retención. Estes datos non se transfiren a outro rexistro cando o pedido se solucionou. En cambio, o nome do rexistro de explotación cámbiase polo rexistro no que debería estar. Isto é algo parecido a preparar unha sobremesa antes do prato principal, pero despois gardalo na neveira ata que chegue o momento de servilo.

Estes rexistros lóxicos están totalmente sen abordar. A CPU só pode dirixirse realmente aos rexistros lóxicos que actualmente comparten o nome dos rexistros arquitectónicos. Dito isto, a CPU tamén é consciente deles o suficiente como para que se outras instrucións reordenadas dependen dos datos do rexistro de retención lóxico, poden usalos en lugar dos datos "desactualizados" do rexistro arquitectónico nese momento empírico particular.

Barreiras da memoria

Unha barreira de memoria, tamén coñecida como membar, valado de memoria ou instrución de valado, é unha instrución en código informático. Permite que un programador faga cumprir unha restrición de orde nas operacións de memoria emitidas antes e despois da barreira de memoria. A barreira de memoria indica ao planificador da CPU que se asegure de que todas as instrucións se procesan antes de calquera instrución despois da barreira. Isto faise para garantir que as operacións importantes se completan na orde correcta.

Xeralmente, nos ordenadores modernos, isto non debería ser necesario. A execución fóra de orde e o cambio de nome do rexistro son campos ben establecidos e maduros. Non obstante, unha barreira de memoria pode ser útil para procesadores máis antigos, menos sofisticados e fóra de servizo ou que se usan en operacións de memoria críticas.

As barreiras de memoria poden vir con algún detrimento do rendemento. Isto débese a que impiden activamente que o planificador da CPU optimice partes específicas do fluxo de instrucións. Isto aumenta a posibilidade de que se produza unha paralización da canalización.

Conclusión

Unha barreira de memoria é unha instrución que garante unha restrición de orde nas operacións de memoria. Isto é importante porque os procesadores de execución fóra de orde poden reordenar instrucións específicas. Aínda que o cambio de nome do rexistro está ben establecido como método para garantir a integridade da memoria neste ambiente, pode ser útil aseguralo manualmente.

A barreira de memoria obriga ao planificador da CPU a asegurarse de que as instrucións se completan antes de calquera instrución despois da barreira. Isto evita que as operacións de memoria sexan reordenadas. Tamén impide que a CPU optimice o fluxo de instrucións, o que pode afectar o rendemento.


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.