¿libro de diseño de microcontrolador / CPU? [cerrado]

6

Estoy buscando un libro de introducción al diseño de la CPU / microcontrolador / microprocesador. ¿Algunas ideas? ARM o x86 son grandes. Tengo un gran libro de idiomas de ensamblador, pero estoy buscando algo más en el nivel de ingeniería. O tal vez son lo mismo? Tal vez no exista, o tal vez deba refinar mi pregunta pero cualquier cosa ayudaría. Gracias.

EDITAR: migrado desde superusuario

EDIT: vengo de un fondo de programación básico, pero estoy buscando algo en un nivel más de ingeniería eléctrica.

    
pregunta kalaracey

6 respuestas

6

Resulta que estoy trabajando en algo como esto pero todavía no estoy listo para lanzar nada de eso. (al menos no públicamente)

Sin embargo, creo que necesitas editar / refinar tu pregunta. Tomando una puñalada general a la pregunta. Comenzaría con algo más simple que ARM y x86, y evitaría x86 por completo.

Tener un libro de ensamblador implica que usted es un programador o que tiene algunas habilidades de programación. No sé si su pregunta es más desde el punto de vista de programación o diseño digital.

Si vienes del lado del programador, empezaré por aprender el ensamblador para el msp430 y el brazo o el pulgar (no te metas con x86 todavía, no es una buena arquitectura), tal vez PIC (foto más antigua, no la dspic ni el pic32). Luego escriba un desensamblador y / o un simulador de conjunto de instrucciones. Si solo es un desensamblador, elija un conjunto de instrucciones de longitud de palabra no variable como ARM o pulgar (sí, si lo piensa, puede manejar esa instrucción de bifurcación) o el PIC. Finalmente, escriba un simulador de conjunto de instrucciones, al menos lo suficiente como para implementar un puñado de instrucciones y una rama, haga que un bucle lo vea ejecutarse. Luego vaya a estudiar las máquinas de estado y vuelva a escribir el simulador utilizando máquinas de estado. Tengo un simulador de conjunto de instrucciones, no necesariamente, completamente, basado en una máquina de estados, pero podría darle la sensación de lo que estoy hablando. búsqueda de thumbulator en github. Mi nombre de usuario es dwelch67 allí.

si se está acercando a esto desde la perspectiva de un ingeniero eléctrico, es posible que desee ver los opencores. La legibilidad y otras características del hdl pueden ser difíciles pero están disponibles para ser consumidas. verilator y icarus verilog son buenos simuladores de verilog. Me gusta verilator más en parte porque es muy rígido con el análisis de registros y, en segundo lugar, es muy fácil cruzar el límite C / C ++ y HDL para escribir software para hablar con el hardware que se está simulando y otras cosas de tipo reutilizable. Hay una pequeña llamada mcpu o algo parecido que encaja en una página de papel si está impresa. Realmente tienes que envolver la cabeza en cómo escribir un programa con solo una o dos operaciones reales (creo que solo tiene un NOR). Si usted es ingeniero eléctrico y necesita un curso intensivo en digital, los transistores siempre están saturados, básicamente se utilizan como interruptores controlados eléctricamente. Tome un par de ellos con un poco de cableado y otros componentes y puede hacer puertas AND, y OR, agregar un transistor inversor y hacer una puerta NOT que permita NAND y NOR. Querrá aprender sobre máquinas de estado si no lo sabe.

En general, debe comprender la lógica básica Y, O, NO, etc. Conozca las máquinas de estado que funcionan bien con software o hardware, el concepto es el mismo. El restablecimiento y la sincronización son en realidad parte del aprendizaje automático de estados, hacer que la máquina de estados funcione y pensar en términos de cada paso a través de la lógica / código es un ciclo de reloj en la CPU y las variables de estado se usan en cada pase para indicar qué hacer durante ese ciclo de reloj, cuál es el estado actual, y en función del estado actual y las entradas, cuál será el próximo estado, etc.

    
respondido por el old_timer
8

Sugeriría Construyendo una computadora moderna a partir de los Primeros Principios . Como lo sugiere el título, pasa por el proceso de construir una computadora a partir de las puertas lógicas fundamentales en adelante. Echa un vistazo a los comentarios en amazon aquí .

El sitio web del autor en realidad tiene mucha información, por lo que puede decidir por sí mismo si parece que satisfaría sus necesidades.

    
respondido por el Tim
3

En el dominio de los libros de texto, Organización y diseño de computadoras es uno de los clásicos. Sin embargo, no estoy seguro de qué tan bien funciona para el autoestudio.

    
respondido por el Andy
2

Para ARM, recomiendo Arquitectura ARM de sistema en chip .

    
respondido por el stevenvh
1

Para la arquitectura ARM, segundo libro de Furber (ARM System-on-chip Architecture), pero es posible que no se ajuste a "introducción". (Lo usamos como referencia en la clase de ensamblaje ARM, para el cual es menos adecuado). Para la arquitectura general de computadoras me encantan los libros de Hennessey / Patterson. Tampoco es exactamente 'introductorio' :)

    
respondido por el Wouter van Ooijen
1

Prueba la organización de computadoras por Carl Hamacher. Lo usamos en nuestra universidad para estudiar computadoras digitales y sistemas de microprocesadores.

    
respondido por el rrazd

Lea otras preguntas en las etiquetas