Red de conocimiento informático - Conocimiento informático - ¿Puede el sistema operativo funcionar normalmente incluso si el rendimiento de la frecuencia de la CPU se reduce a un nivel extremadamente bajo?

¿Puede el sistema operativo funcionar normalmente incluso si el rendimiento de la frecuencia de la CPU se reduce a un nivel extremadamente bajo?

La respuesta es, por supuesto, sí, pero requiere múltiples adaptaciones. Estos obstáculos son superados por los ingenieros de BSP. A continuación se presentarán los efectos de iniciar Linux en diferentes frecuencias principales equivalentes, de mayor a menor. 1. 24MHz Hace unos meses, me tomé el tiempo para hacer un simple pastel de frutas Cortex-a8 desde cero (placa de desarrollo Litchi Pi_Cortex-A8 basada en el núcleo Cortex-A8 - una plataforma de financiación colectiva exclusiva para ingenieros - Electronic Enthusiast Network, Litchi Descripción general de Pi - [Guía completa del proceso de Lichee Pi] - Kanyun), desde el diseño de hardware a nivel de placa, las pruebas de producción hasta la adaptación de arranque, la adaptación de Linux, Android y otros obstáculos. En el proceso, para depurar DDR y probar el consumo de energía a una frecuencia principal baja, bajé el reloj ddr y la frecuencia principal al nivel más bajo de 24 M. En el reloj ddr de 24 M, incluso generé con éxito un diagrama de ojo con un nivel de entrada. Osciloscopio de ancho de banda de 100M... El resultado real de la medición es que el sistema puede iniciarse sin mucha adaptación, pero la velocidad es mucho más lenta. Originalmente tardó menos de 20 segundos en iniciarse en la frecuencia principal de 1g, pero ahora lleva más de. cinco minutos (olvidé el tiempo específico, recuerdo otro) Se necesitan 122 segundos cuando los datos son 96 M), y debido a que el reloj es demasiado lento, la pantalla de 800 * 480 no se puede actualizar y se produce un rebote o fluctuación grave de la imagen. No se puede garantizar la sincronización de la pantalla... pero se estima que la matriz de puntos de 128*64 aún puede escapar en la pantalla (

En realidad, esto se parece un poco al efecto de desactivar icache/dcache. Después de apagarlo, incluso el eco del terminal serie no es bueno... Parece que el resultado no es nada especial en 24M Sí, es solo docenas de veces más lento... De hecho, esta es básicamente la frecuencia principal de 286 ¿No era muy fluido 286 en ese entonces? ¿Por qué es 24M? ¿No puede ser más bajo? Porque el chip que uso El oscilador de cristal externo es 24M y la frecuencia principal se multiplica por él, pero no se puede dividir. ..

2.10KHz, que es dos órdenes de magnitud menor que la anterior. Esta vez, es tres órdenes de magnitud menor. Algunos niños deberían haber adivinado cuál es la frecuencia principal equivalente: sí, cuando ejecuta el simulador de brazo en un microcontrolador avr de ocho bits con una frecuencia principal de solo 24 M para iniciar Linux, la frecuencia principal equivalente obtenida no es de 10 KHz, eche un vistazo a la evaluación del propio autor: uARM ciertamente no es un demonio de la velocidad. Se necesitan aproximadamente 2 horas para iniciar desde el indicador bash (línea de comando del kernel "init=/bin/bash") Luego, 4 horas más para iniciar todo Ubuntu ("exec init" y luego iniciar sesión X lleva mucho más tiempo). La velocidad efectiva de la CPU emulada es de aproximadamente 6,5 KHz, que está a la par de lo que se esperaría al emular una CPU y MMU de 32 bits en un miserable micro de 8 bits. Curiosamente, una vez iniciado, el sistema es algo utilizable. Puede escribir un comando y obtener una respuesta en un minuto. Es decir, de hecho, puede usarlo. Yo lo usé hoy para formatear una tarjeta SD, por ejemplo.

Así que ahora. Tenemos una nueva comprensión de las tarjetas de computadora y también podemos comprender que adaptando adecuadamente el sistema, no importa cuán lento sea U, puede funcionar.

Así que cuando vuelvas a mirar esta pregunta, no encontrarás nada extraño.

3. <5Hz se reduce nuevamente en tres órdenes de magnitud, directamente a la frecuencia objetivo. Esta es la frecuencia principal equivalente que estimé con base en los datos anteriores. Tomémosla como yy. La mayoría de la gente conoce las CPU de 32/64 bits, las CPU de 16 bits en la era DOS y ha oído hablar de los microcontroladores de ocho bits. Es posible que algunas personas también conozcan los microcontroladores de cuatro bits de menor costo (que solo se pueden programar con). montaje), pero necesitan alcanzar varios Hz de frecuencia principal equivalente, estos todavía son demasiado rápidos... De hecho, en la era DOS, todavía había una flor extraña activa en el campo del control industrial: la computadora de un bit, representado por MC14500B. MC14500B: la frecuencia principal de Wiki es 100 KHz, además solo tiene un octavo del ancho de banda de una máquina de ocho bits. Si ejecuta un simulador avr en esta máquina de un bit y luego un simulador de brazo, la frecuencia principal equivalente definitivamente será. dentro de 5 Hz.

Si realmente comienza a funcionar, puede tardar menos de medio año en iniciarse, casi un año en iniciar sesión y varios años en iniciarx...

4. , ya no puedo editar... Si es mHz, ¡el circuito redstone de MC debería estar bien! En ese momento, puede llevar toda una vida ver el inicio de Linux...

Por supuesto, si no ejecuta el simulador, ¡es posible que pueda ejecutarlo tan rápido como una computadora!

5. De hecho, el desarrollo de las computadoras comenzó con relés con decenas de Hz al principio. ¡Mirando hacia atrás, mi respuesta es la historia del desarrollo de las computadoras!

Este problema que la mayoría de la gente piensa que es revelador es en realidad el problema que enfrentaron los científicos hace más de medio siglo. La memoria convencional durante la era del alunizaje del Apolo dependía incluso de menos de 1 KB. sistema con esta capacidad y frecuencia principal (no había una CPU real en ese momento), fue posible completar la misión de alunizaje. En comparación, ¿las pruebas de estrés realizadas por los programadores de hoy son débiles?

Entonces, la mayoría de los programadores de esa época podrían llamarse científicos informáticos, mientras que la mayoría de los programadores de hoy solo pueden llamarse científicos informáticos.