>> Technologie Électronique >  >> Audio pour la maison >> Amplificateurs et préamplis

Pourquoi le microprocesseur Intel 8085 est une architecture à accumulateur

L'Intel 8085 (1976) est classé comme microprocesseur **à accumulateur** (ou "accumulateur unique") car son **registre A (Accumulateur)** est l'opérande implicite, central, pour la grande majorité des opérations arithmétiques, logiques, et de mouvement de données. Ce design reflète les contraintes des années 70 : budget transistors limité, encodage d'instructions simple, et modèle de programmation optimisé pour code à registres rares.

Cinq raisons pour lesquelles l'accumulateur est central

1. Destination principale Arithmétique/Logique

Presque toute instruction ALU utilise l'accumulateur comme une source ET la destination :

ADD B ; A ← A + B SUB M ; A ← A - (HL) ANA C ; A ← A AND C XRA A ; A ← 0 (effacement) ORA M ; A ← A OR (HL) CMP D ; Définit drapeaux selon A - D (A inchangé) 

Résultat **toujours** dans A. Drapeaux (S, Z, AC, P, CY) reflètent résultat de A.

2. Maintien données temporaire

L'accumulateur tamponne résultats intermédiaires pendant calculs multi-étapes :

LDA 2050H ; Charge opérande 1 dans A MOV B, A ; Sauvegarde dans B LDA 2051H ; Charge opérande 2 dans A ADD B ; A ← A + B (résultat dans A) STA 2052H ; Stocke résultat 

Sans opérations ALU registre-registre générales, A est l'"espace de travail".

3. Opérations Registre-vers-Accumulateur dominent

Mouvement données tourne autour de A :

  • Chargement vers A : LDA addr, LHLD addr (vers HL), MOV A, r, MVI A, data
  • Stockage depuis A : STA addr, SHLD addr, MOV r, A, MOV M, A
  • Échange : XCHG (HL↔DE), mais pas de move reg-reg direct sauf via A ou mémoire.

4. Accumulateur comme source pour opérations Mémoire/Registre

MOV M, A ; Stocke A en mémoire (HL) MOV B, A ; Copie A vers registre STA 3000H ; Stocke A à adresse directe 

A est le **seul** registre qui peut écrire directement en mémoire (via STA, MOV M,A). Autres registres doivent passer par A ou utiliser HL indirect.

5. Conditions branchement dépendent drapeaux accumulateur

Sauts/appels/retours conditionnels testent drapeaux définis par opérations sur accumulateur :

JC BOUCLE ; Saut si Retenue (dernier ADD/SUB/ANA sur A) JZ EGAL ; Saut si Zéro (résultat A était 0) JP POS ; Saut si Positif (bit signe A 0) JPE PAIR ; Saut si Parité Paire (parité A) 

Pas d'instructions "test registre B" direct — doit déplacer vers A d'abord (MOV A,B puis ORA A).

Contexte : Pourquoi ce design ?

  • Budget transistors : ~6 500 transistors. Registre général multi-port avec accès ALU était trop coûteux.
  • Encodage instructions : Opcode 1 octet (ex: 0x80 ADD B) utilise 3 bits pour champ registre — efficace pour ops centrées accumulateur.
  • Modèle logiciel : Programmeurs assembleur attendaient flux centré accumulateur (comme 8008, 8080, Z80, 6502).
  • Jeu registres : Six registres 8-bit généraux (B,C,D,E,H,L) + A. Paires (BC, DE, HL) pour 16-bit/adressage. A est le registre "principal".

Contraste : Architectures riches en registres

CPU ultérieurs (8086, 68000, ARM, RISC-V) fournissent ALU registre-registre (ADD R1, R2, R3) et registres généraux multiples, réduisant goulot accumulateur. La centricité accumulateur du 8085 est une marque de sa génération.

En essence : L'accumulateur du 8085 n'est pas juste un registre — c'est le **fulcrum architectural** autour duquel pivotent tout le jeu d'instructions, flux de données, et modèle de programmation.

Amplificateurs et préamplis