Paso 3: Pensamientos acerca de arquitecturas
Escuchará a personas hablar acerca de cómo algunas arquitecturas son mejores que otros. Supongo que esto es cierto. Pero voy a afirmar que es en gran medida irrelevante para el aficionado típico. Si usted desea evitar los caprichos arquitectónicos de una particular familia de microcontroladores, puede utilizar un lenguaje de alto nivel. Si estás dispuesto a programa en ensamblador, estás en un nivel de interés donde aprender y superar los caprichos es parte de lo que debe aprender. Además, no estamos hablando aquí sobre la evaluación de una arquitectura nueva que propone cierta compañía. Todas las fichas que menciono en este instructable han sido tiempo suficiente que he demostrado que sus arquitecturas son suficiente para muchas aplicaciones reales.
Aquí están algunos "arquitectónicos" usted puede leer sobre y alguna explicación de lo que significan.
CISC/RISC. Conjunto de instrucciones complejo computadoras. Computadora de conjunto de instrucciones reducido.
En los viejos tiempos, CPU diseñadores conseguían inteligentes y querían que sus CPUs para admitir características de lenguaje de alto nivel en hardware, a las instrucciones de manipulación de cadena de cobol-como que aceptan argumentos en bloques de 8 registros. IIRC, fue Berkeley e IBM que notó que escritores de compilador no saben realmente cómo utilizar dichas instrucciones complicadas de un compilador, la cantidad de silicio los inmuebles utilizados por estas instrucciones conseguía grandes, y de hecho la implementación de hardware a veces no tan rápida como hacer lo mismo en el software de todos modos. Por lo que dijeron "apuesto a que podemos hacer que la CPU vaya mucho más rápido si dejamos estas instrucciones complejas y dedicar el silicio a más registros o memoria caché o algo" y así inventó la CPU RISC. Hoy en día "RISC" es ampliamente utilizado por departamentos de marketing en el sentido de "no tenemos muchas instrucciones," incluso si el resto de la arquitectura no es mucho como los investigadores RISC originales habían previsto.
Arquitectura de Harvard.
En una arquitectura de Harvard, la memoria de instrucciones y la memoria son separadas, controladas por diferentes autobuses y a veces tienen diferentes tamaños. Para microcontroladores, las instrucciones son generalmente almacenadas en la memoria de "solo lectura" y datos estan en RAM o en registros. Un ejemplo es el
Microcontrolador PIC, donde las instrucciones están en 12, 14 o 16 bits de ancho flash y datos estan de 8 bits
amplia memoria RAM.
Arquitectura de von Neuman.
En un espacio de memoria compartido arquitectura, datos e instrucciones de von Neuman, así que podía hacer cosas como compilación dinámica para generar instrucciones en la memoria RAM y luego ejecutarlos. El TI MSP430 es un ejemplo de una arquitectura de von Neuman.
Acumulador basado en
En una arquitectura de "acumulador basado", hay generalmente un registro "especial" donde ocurre la mayor parte de la computación real (matemáticas, lógica, etc.). Algún esfuerzo tiene que ser gastado para entrar operandos en el acumulador y da vuelta hacia fuera a donde usted los necesita. Lo contrario es un procesador con registros de "propósito general", donde se puede utilizar cualquiera de varios registros para matemáticas, etc..
Carga/almacenamiento
Una arquitectura del almacén de carga típicamente significa que operandos para las operaciones de la ALU en registros, por lo que tienes que cargarlos previamente de la memoria y almacenarlos cuando las operaciones son completas. Lo contrario normalmente permite operaciones entre un registro o
acumulador y una posición de memoria directamente. Arquitecturas RISC tienden a ser carga/almacén, ya que mucho o los CISCness de CISC procesadores demuestra para arriba en la aplicación de complejo "modos de direccionamiento" para acceder a los operandos de memoria. En una arquitectura RISC, toda esa complejidad sólo debe aplicarse en la carga y almacenar las instrucciones (si en todos.)
Registros
Memoria asignada E/S