El microprocesador debe ser de dieciséis bits (justificación formal)
Tome todo el conjunto infinito e indeterminable de posibles implementaciones de microprocesador y seleccione los parámetros clave que determinan su arquitectura:R - bit (ancho de unidad de memoria en bits)A - número de unidades de memoria direccionables (espacio de dirección de volumen)C - número de comandos ejecutables (espacio de comando de volumen)Preguntar La condición clave que contribuye a la integridad y la integridad del modelo de información (y como resultado, la eficiencia y la facilidad de uso del dispositivo implementado sobre esta base):A = C = 2 ^ REl cumplimiento de esta condición significa que cualquier celda puede acomodar la dirección de cualquier otra celda y también contiene información completa sobre la acción que se está realizando. La reducción del espacio de direcciones está cargada de enlaces a memoria inexistente, y un aumento de la información redundante necesaria para garantizar la capacidad de direccionar toda la memoria. Lo mismo con el espacio de comando. Por lo tanto, nuestro conjunto hipotético no deja de ser infinito, pero se vuelve más definible.¿Existen otras condiciones que satisfacen los criterios anteriores y son obvias sin profundizar en los detalles del desarrollo de una arquitectura de bajo nivel? Sí, existe al menos una de estas condiciones:R = 2 ^ n Elcumplimiento de esta condición significa que para especificar el número de bits en una celda, se requiere un número entero de bits (de nuevo, un exceso o falta aquí no es deseable por razones de facilidad de escritura y la fiabilidad del código de máquina )Obviamente, n = 4 es el valor mínimo aceptable, ya que 256 bytes de memoria con n = 3 solo son adecuados para programar guirnaldas de Navidad. En n= 5 obtenemos la cantidad de memoria correspondiente a los últimos avances en TI. Pero si asumimos que el propósito principal de la memoria dirigida por el procesador es almacenar el código de la máquina (motor), y los datos que este motor manipula se sacan del espacio de direcciones (es decir, si asumimos que los dispositivos externos serán sus portadores), entonces esta cantidad de memoria (16 GB) será claramente redundante. De hecho, en la RAM de las computadoras modernas, solo una pequeña parte de la memoria corresponde a la parte del código de la máquina, el resto son datos. Además, la separación de código y datos a nivel de hardware es coherente con la idea de un buen estilo tanto en el diseño de microprocesadores como en su programación en lenguaje ensamblador. En megabits de código de máquina escrito en acme efectivo (siempre que los datos se extraigan de la dirección de la RAM dirigida por el procesador),Puede acomodar un eje completo. Si esta memoria no es suficiente (por ejemplo, para implementar la multitarea), puede usar varios procesadores, porque la "división del trabajo" en el campo de TI también, por regla general, contribuye a la conveniencia de desarrollar programas y la efectividad de su funcionamiento. En principio, para implementar la multitarea, nada puede funcionar con un procesador: podemos, por ejemplo, implementar una interfaz rápida para intercambiar datos entre la RAM y la memoria externa; afortunadamente, una pequeña cantidad de RAM le permite actualizarla no secuencialmente, sino en paralelo (en un "marco"), por lo que que cualquier parte de la memoria del procesador puede sobrescribirse en unos pocos tics.Como regla, contribuye a la conveniencia de desarrollar programas y la efectividad de su funcionamiento. En principio, para implementar la multitarea, nada puede funcionar con un procesador: podemos, por ejemplo, implementar una interfaz rápida para intercambiar datos entre la RAM y la memoria externa; afortunadamente, una pequeña cantidad de RAM le permite actualizarla no secuencialmente, sino en paralelo (en un "marco"), por lo que que cualquier parte de la memoria del procesador puede sobrescribirse en unos pocos tics.Como regla, contribuye a la conveniencia de desarrollar programas y la efectividad de su funcionamiento. En principio, para implementar la multitarea, nada puede funcionar con un procesador: podemos, por ejemplo, implementar una interfaz rápida para intercambiar datos entre la RAM y la memoria externa; afortunadamente, una pequeña cantidad de RAM le permite actualizarla no secuencialmente, sino en paralelo (en un "marco"), por lo que que cualquier parte de la memoria del procesador puede sobrescribirse en unos pocos tics.para que cualquier parte de la memoria del procesador pueda sobrescribirse en unos pocos tics.para que cualquier parte de la memoria del procesador pueda sobrescribirse en unos pocos tics.Estoy convencido de que cualquier obstáculo causado por la limitación de la cantidad de memoria direccionable a un megabyte se puede sortear fácilmente mediante la implementación de hardware de intercambio de datos con memoria externa. La ventaja de usar una arquitectura de dieciséis bits, además de las consideraciones anteriores, puede tener una justificación formal, a saber:R % n = 0 Elcumplimiento de esta condición significa que se puede colocar un número entero de valores en el rango [0 .. R -1] en una celda de memoria (por ejemplo, para n = 5 esta condición no se cumple; en este caso, Rigual a 32 bits no es divisible por 5 sin resto). Dado que la capacidad del procesador es un parámetro fundamental, dicha propiedad puede resultar muy útil en el futuro.Y finalmente, el argumento principal a favor del número 16, que es la base de la arquitectura de bajo nivel, es el hecho de que establece la cantidad óptima de espacio de comando: el procesador PDP-11 puede servir como ejemplo (así como la mayoría de los procesadores modernos, la expansión de la capacidad de bits que prácticamente no afectó en su sistema de comando).Para mayor claridad, daré una secuencia que refleje la naturaleza fundamental de las justificaciones anteriores:2 ^ 0 = 12 ^ 1 = 22 ^ 2 = 4 (= n )2 ^ 4 = 16 (= R )2 ^ 16 = 65536 (= A = C )También vale la pena mencionar que, dado que TI comenzó a desarrollarse a un ritmo frenético, tal vez no se haya propuesto una sola solución completa. Incluso es poco probable que PDP-11 (en mi opinión, la implementación más exitosa) use el espacio de comando en más de un 50%, una parte bastante significativa de esto es el código de respaldo, así como los métodos de direccionamiento que son formalmente válidos (ya que caen bajo las reglas generales), pero sin usar, porque conducen a la congelación garantizada del programa (MOV - (PC), ...), o simplemente son inútiles (MOV R1, R1).En otras palabras, en el campo de la tecnología de la información, la "rueda" aún no se ha inventado, o bien, o todas ellas no son completamente "redondas", lo que hace que el "ciclismo" no sea del todo conveniente. Quizás por esta razón, las computadoras "primitivas" (BK, DVK, Spectrum, ...) todavía tienen una gran demanda hasta el día de hoy. Por ejemplo, como una persona con experiencia en programación, las tecnologías modernas de software, con todo su poder y confiabilidad, le recuerdan a Frankenstein, causando contradicciones estéticas. Aunque esto es más agradable que molesto, la invención de ruedas no inventadas es mi pasatiempo. Quizás no soy el único que está pensando en esta dirección y alguien más encontrará esa actividad interesante. Source: https://habr.com/ru/post/es383567/
All Articles