Je suis un développeur de logiciels (utilisant des langages de haut niveau comme .NET, C, C ++, etc.) essayant de comprendre comment les ordinateurs fonctionnent à un niveau inférieur.
Je connais ce schéma:
J'essaie d'obtenir un aperçu de haut niveau sur la façon dont le diagramme du lien correspond à un schéma de circuit comme celui-ci:
Par exemple, jetez un œil à l'instruction du langage d'assemblage:
ADD 1,2
J'essaie de comprendre comment le processeur produit «3» en sortie. Je me rends compte qu'il peut être difficile de répondre à cette question en termes simples. Si c'est le cas, alors un lien aiderait, peut-être à un livre.
microprocessor
w0051977
la source
la source
Réponses:
Le problème est que pour comprendre comment l'ordinateur atteint 1 + 2 = 3, vous devez comprendre environ 2 niveaux plus profondément que vous ne l'avez fait.
Grosso modo, un ordinateur est organisé (en termes de domaines d'étude) du niveau d'abstraction le plus élevé à la réalité la plus physique:
Pour bien comprendre pourquoi l'ordinateur peut produire 2 + 1 = 3, vous devez d'abord décider ce que vous êtes prêt à accepter "sur la foi" et ce que vous ne croirez pas avant de l'internaliser. Cette information sera au niveau deux en dessous de ce que vous comprenez. Donc, si vous voulez comprendre un circuit additionneur au niveau logique, vous devrez comprendre les bases des transistors "numériques" (en particulier CMOS).
En utilisant votre ancien site comme exemple, considérez cette ressource . Il traite de la "pleine addition" - le circuit minimum tout à fait général capable d'addition / soustraction, y compris les entrées et sorties.
Vous devrez également comprendre comment les nombres sont représentés dans le complément à 2 (le système numérique utilisé dans les ordinateurs modernes pour l'arithmétique des nombres entiers).
Si vous voulez vraiment un cours d'introduction de classe mondiale, je ne saurais trop recommander le professeur Scott Wills de Georgia Tech. Il est décédé l'an dernier d'un cancer, mais son parcours continue . Le cours Georgia Tech ECE2030 (introduction à l'ingénierie informatique) a son manuel et ses exercices en ligne.
Bonne chance!
la source
J'ai dû apprendre la même chose à l'université et nous avons utilisé le livre Computer Organisation and Design qui était très détaillé (mais peut-être qu'il est trop détaillé pour vos besoins).
Patterson et Hennesy ont utilisé un processeur MIPS "simple" et ont montré toute la fonction du CPU avec un exemple de code dans Assembler.
En général, je pense que ce serait une bonne idée de prendre un processeur "simple" (Arduino ou plus) et d'essayer de comprendre la fonction, car les différences entre cela et le plus complexe sont plus dans la taille des codes d'instructions implémentés.
PS Peut-être que le microprocesseur élémentaire de Google Code serait utile. Il s'agit d'un microprocesseur simulé en Java.
la source
Le livre gratuit How Computers Work - Processor and Main Memory de Roger Young répondra à votre question, il utilise des relais au lieu de transistors pour une meilleure compréhension.
la source
J'ai trouvé ma réponse ici . Il s'agit d'un aperçu de haut niveau du processus d'ajout de numéros.
la source