¿Qué es un modelo de programador?

6

El manual de un procesador de computadora generalmente incluye una descripción de algo llamado modelo de programador . Esta sección normalmente presenta los registros principales del procesador, los modos de funcionamiento, la endianness y el conjunto de instrucciones.

Creo que el término se refiere a un modelo abstracto que describe cómo un programador debería usar los componentes centrales del procesador para programarlo. Pero no estoy seguro de si tengo razón o no, por lo que estoy buscando una definición formal.

    
pregunta

2 respuestas

11

Lo describiría de la siguiente manera ...

En un sistema informático, el modelo de programadores muestra lo que la CPU tiene disponible para un programador para la ejecución de programas informáticos. Cubre los recursos de la CPU para la ejecución del conjunto de instrucciones de la CPU.

Este modelo de programadores no detallaría el hardware, como el funcionamiento de los circuitos electrónicos de la CPU, la forma en que los buses transportan los datos o los periféricos de E / S disponibles. En otras palabras, el modelo de los programadores no cubriría funciones que no puedan ser observadas por las instrucciones de la CPU. Este último excluye los programas que intentan detectar operaciones de hardware, como el comportamiento de la memoria caché, las variaciones de lectura / escritura debido a diversos retrasos en el bus, etc.

Me imagino que esto podría ser debatido, pero sigue siendo una definición continua para mí en todos los sistemas de CPU que he visto a lo largo de los años.

    
respondido por el TonyM
6

Básicamente, el "modelo del programador" muestra todos los elementos de la computadora (variables de estado, registros AKA) que pueden afectar (o verse afectados por) la ejecución de instrucciones.

Ese modelo es a lo que se refieren las descripciones de las instrucciones al explicar exactamente lo que hace cada instrucción.

Los detalles subyacentes de cómo se logra realmente todo eso están ocultos al programador.

Por ejemplo, si observa el modelo del programador para la arquitectura M68K, nunca podrá saber si la implementación física subyacente utilizó rutas y registros de datos de 8, 16 o 32 bits. Ha habido ejemplos de los tres, pero están programados de manera idéntica. Esto es importante para la reutilización del software, incluidas las herramientas de desarrollo de software.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas