Que é un cambio de contexto?

Nos primeiros tempos da informática, as CPU eran máquinas puramente secuenciais. Isto axudou a manter os deseños sinxelos. Non obstante, tamén limitou o rendemento. Moitos procesos necesitarán solicitar datos da memoria RAM do sistema ou do disco duro. Aínda que a RAM do sistema é rápida, aínda non é tan rápida como a CPU, deixándoa inactiva, esperando os datos ata que a resposta volva da RAM. A situación é aínda peor para os datos solicitados desde o disco duro, un dispositivo de almacenamento moito máis lento que a RAM. Aquí a CPU pode estar inactiva durante períodos significativos, esperando unha resposta. Desafortunadamente, con procesadores secuenciais, este problema é simplemente inevitable.

Afortunadamente, as CPU modernas xa non son secuenciais. Ofrecen moitas funcións avanzadas, como a execución fóra de orde e varios fíos. A execución fóra de orde permite á CPU analizar as próximas instrucións e reordenalas para maximizar a eficiencia. O multi-threading permite que a CPU teña en execución numerosos fíos ou procesos diferentes.

Ademais de ter varios núcleos, a CPU non pode executar máis de un á vez. Non obstante, pode facelo parecer cambiando entre eles regularmente para garantir que cada un teña unha cantidade apreciable de tempo de CPU constante. O proceso de cambiar entre fíos chámase cambio de contexto.

Como funciona un cambio de contexto?

Un cambio de contexto consta de dúas partes, cambiando o fío anterior e cambiando o novo. Para cambiar o fío antigo, a CPU debe gardar o seu estado actual nun bloque de control de procesos ou marco de cambio. Isto inclúe os valores de calquera rexistro de CPU relevante e sempre consiste no valor do contador do programa. Unha vez que o fío foi almacenado, pódese engadir un identificador a unha cola lista para permitir que se restaure cando sexa necesario.

Cambiar no seguinte fío é o mesmo proceso ao revés. Selecciónase un fío da cola lista, dependendo da ponderación. Alternativamente, pódese elixir mediante unha interrupción que indica que un evento polo que estaba agardando agora está listo ou completo. A continuación, os datos do fío cópiase nos rexistros correctos e o fío é restaurado. Neste punto, o novo fío está listo para continuar a operación desde onde se detivo.

Impacto no rendemento

O proceso de lectura e escritura de datos ao conectar ou desconectar un fío leva algún tempo, aínda que non moito, xa que a memoria utilizada normalmente é de alta velocidade. Non obstante, hai máis custos de rendemento. Ao cambiar de fío, é posible que os datos da caché e dos búfers da CPU do fío anterior non sexan relevantes para o novo fío. Isto pode levar a un aumento significativo de TLB ( Translation Lookaside Buffer ) e erros de caché.

Este efecto non é significativo se os dous fíos foron xerados polo mesmo proceso, xa que é probable que compartan elementos de memoria considerables. O TLB debe lavarse por completo ao cambiar entre fíos de diferentes métodos. Isto leva a unha taxa de fallos TLB do 100% mentres que a taxa de acertos da caché da CPU tamén se reduce significativamente.

Aínda que as CPU ofrecen soporte de hardware para cambiar de contexto, os sistemas operativos normalmente non usan isto. O cambio de contexto de hardware carece de conciencia da relevancia dos datos. Polo tanto, necesita almacenar e restaurar todos os rexistros, aumentando o tempo necesario e o espazo de almacenamento necesario.

Ademais, o cambio de contexto de hardware non almacena os datos dos rexistros de punto flotante, funcionalidade que pode ser necesaria. Polo tanto, úsase xeralmente o cambio de contexto de software. Permite manter os datos de todos os rexistros, incluídos os de punto flotante. Os cambios de contexto do software comprenden a relevancia dos datos. Isto significa que pode escoller e escoller cales almacenar segundo sexa necesario.

Conclusión

Un cambio de contexto é un proceso polo cal unha CPU moderna cambia o fío que está a executar. O proceso implica almacenar os datos relevantes do fío actual e restaurar os datos pertinentes do novo fío. O cambio de contexto ten un custo de rendemento relacionado co tempo necesario para realizar o cambio e o aumento da taxa de caché e TLB non se almacenan. Os cambios de contexto ocorren para garantir que todos os fíos teñan unha boa oferta de tempo de CPU ou por mor dunha interrupción que indica que se completou un evento polo que a liña estaba esperando.


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.