Question:
livre de conception de microcontrôleur / cpu?
kalaracey
2011-04-24 21:05:04 UTC
view on stackexchange narkive permalink

Je recherche un livre d'introduction à la conception CPU / microcontrôleur / microprocesseur. Des idées? ARM ou x86 sont tous deux excellents. J'ai un excellent livre sur le langage assembleur, mais je cherche quelque chose de plus au niveau de l'ingénierie. Ou peut-être sont-ils les mêmes? Peut-être que cela n'existe pas, ou peut-être que j'ai besoin d'affiner ma question, mais tout peut aider. Merci.

EDIT: migré depuis Superuser

EDIT: Je viens d'une formation de base en programmation, mais je recherche quelque chose à un niveau plus électrotechnique.

Cherchez-vous un livre sur la conception des processeurs ou sur l'utilisation des processeurs?
Microchip [(lien)] (http://www.microchip.com/) est une société qui vend des circuits intégrés. Un microcontrôleur [(lien)] (http://en.wikipedia.org/wiki/Microcontroller) est un type de microprocesseur qui ajoute des périphériques tels que la mémoire volatile et / ou non volatile, les E / S à usage général et d'autres périphériques matériels. J'ai modifié votre question car je pense que vous aviez l'intention d'utiliser le "microcontrôleur", mais n'hésitez pas à annuler le changement si vous voulez en savoir plus sur l'entreprise (même si j'imagine que vous aurez besoin d'un emploi là-bas pour en savoir plus sur leur processeurs ...)
Merci reemrevnivek - l'architecture du microcontrôleur est définitivement sur le même sujet
Six réponses:
Tim
2011-05-06 01:44:03 UTC
view on stackexchange narkive permalink

Je suggère de Construire un ordinateur moderne à partir des premiers principes. Comme le titre l'indique, il passe par le processus de construction d'un ordinateur à partir des portes logiques fondamentales. Consultez les avis sur amazon ici.

Le site Web de l'auteur contient en fait beaucoup d'informations, vous pouvez donc décider vous-même s'il semble répondre à vos besoins.

old_timer
2011-04-25 22:06:46 UTC
view on stackexchange narkive permalink

Il se trouve que je travaille sur quelque chose comme celui-ci, mais je ne suis pas encore prêt à en sortir. (du moins pas publiquement)

Je pense cependant que vous devez modifier / affiner votre question. Prendre un coup de couteau général à la question. Je commencerais par quelque chose de plus simple que l'ARM et le x86, et j'éviterais tous ensemble x86.

Avoir un livre d'assembleur implique que vous êtes un programmeur ou que vous avez des compétences en programmation. Je ne sais pas si votre question concerne davantage la programmation ou la conception numérique.

Si vous venez du côté programmeur, je commencerais par apprendre l'assembleur pour le msp430, et le bras ou le pouce (ne jouez pas encore avec x86, ce n'est pas une bonne architecture), peut-être PIC (plus ancien pic, pas le dspic ni le pic32). Ensuite, écrivez un désassembleur et / ou un simulateur de jeu d'instructions. s'il ne s'agit que d'un désassembleur, choisissez un jeu d'instructions de longueur de mot non variable comme le bras ou le pouce (oui si vous y réfléchissez, vous pouvez gérer cette instruction de branche) ou le PIC. Éventuellement, écrivez un simulateur de jeu d'instructions, au moins assez d'un pour implémenter une poignée d'instructions et une branche, faites une boucle le voir s'exécuter. Ensuite, étudiez les machines à états et réécrivez le simulateur en utilisant des machines à états. J'ai un simulateur de jeu d'instructions, pas nécessairement complètement basé sur une machine à états, mais qui pourrait vous donner une idée de ce dont je parle. recherchez thumbulator sur github. Mon nom d'utilisateur est dwelch67 là-bas.

si vous abordez cela du point de vue d'un ingénieur électricien, vous voudrez peut-être regarder les ouvertures. La lisibilité et les autres fonctionnalités du hdl peuvent être difficiles, mais elles sont là pour être consommées. verilator et icarus verilog sont de bons simulateurs verilog. J'aime plus verilator en partie parce qu'il est si rigide avec l'analyse de verilog et deuxièmement, il est super facile de franchir la limite C / C ++ et HDL pour écrire un logiciel pour parler au matériel simulé, et à d'autres choses de type réutilisables. Il y en a un minuscule appelé mcpu ou quelque chose comme ça sur lequel tout tient sur une page de papier s'il est imprimé. Vous devez vraiment comprendre comment écrire un programme avec seulement une ou deux opérations réelles (je pense qu'il n'a qu'un NOR). Si vous êtes un ingénieur électricien et avez besoin d'un cours intensif en numérique, les transistors sont toujours saturés, ils sont essentiellement utilisés comme interrupteurs à commande électrique. Prenez-en une paire avec du câblage et d'autres composants et vous pouvez créer des portes ET et OU, ajouter un transistor inverseur et créer une porte NON permettant NAND et NOR. Vous voudrez en savoir plus sur les machines à états si vous ne le savez pas déjà.

En général, vous devez comprendre la logique de base ET, OU, PAS, etc. En savoir plus sur les machines à états qui fonctionnent très bien avec le logiciel ou le matériel , Le concept est le même. La réinitialisation et la synchronisation font en fait partie de l'apprentissage automatique d'état, faire fonctionner la machine à états et penser en termes de chaque passage à travers la logique / code est un cycle d'horloge dans le processeur et vos variables d'état sont utilisées à chaque passage pour indiquer ce qu'il faut faire pendant ce cycle d'horloge, quel est l'état actuel, et en fonction de l'état actuel et des entrées quel sera l'état suivant, etc.

Sensationnel. merci - j'apprécie toutes les informations. Venant certainement d'un fond de programmeur, mais j'étais intéressé par la perspective de l'ingénierie électrique. J'avais entendu dire que x86 n'était pas le meilleur et qu'il "aurait" dû "être remplacé il y a quelque temps.
Andy
2011-04-24 22:14:17 UTC
view on stackexchange narkive permalink

Dans le domaine des manuels, Computer Organization and Design est l’un des classiques. Je ne sais pas si cela fonctionne bien pour l'auto-apprentissage.

J'ai utilisé ce livre dans un cours où c'était la première fois que le professeur enseignait (c'était donc un enseignement assez difficile au début).Néanmoins, j'ai trouvé le livre extrêmement utile et exceptionnellement compréhensible.
Wouter van Ooijen
2011-06-29 02:59:04 UTC
view on stackexchange narkive permalink

Pour l'architecture ARM, j'appuie le livre Furber (ARM System-on-chip Architecture), mais il pourrait ne pas correspondre à une «introduction». (Nous l'avons utilisé comme référence dans la classe d'assemblage ARM, pour laquelle il est moins adapté). Pour l'architecture informatique générale, j'adore les livres Hennessey / Patterson. Pas vraiment "d'introduction" non plus :)

rrazd
2011-07-02 02:22:07 UTC
view on stackexchange narkive permalink

Essayez Computer Organization par Carl Hamacher. Nous l'avons utilisé dans notre université pour étudier les ordinateurs numériques et les systèmes à microprocesseurs



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...