Stap 3: Gedachten over platforms
Hoort u mensen praten over hoe sommige architecturen beter dan anderen zijn. Ik veronderstel dat dit geldt. Maar ik ga om te beweren dat het grotendeels irrelevant is voor de typische hobbyist. Als u voorkomen dat de architectonische grillen van een bepaalde familie van microcontrollers wilt, kunt u een hogere programmeertaal. Als u bereid te programma in assembler bent, je het op een niveau van belang waar leren en het overwinnen van de grillen is partij van de dingen die je moet leren. Bovendien, we niet praten hier over de evaluatie van enkele nieuwe architectuur dat sommige bedrijf voorstelt. Alle van de chips die ik noem in dit instructable ongeveer lang genoeg geweest dat ze bewezen hebben dat hun platforms goed genoeg voor vele echte applicaties zijn.
Hier zijn een aantal architectonische "functies" kun je lezen over en enige uitleg van wat ze betekenen.
CISC/RISC. Complex Instruction Set Computer. Reduced Instruction Set Computer.
In de oude dagen, CPU ontwerpers kregen slim en wilde hun CPU's ter ondersteuning van high-level taalfuncties in hardware, wat leidt tot cobol-achtige string manipulatie instructies die argumenten in blokken van 8 registers geaccepteerd. IIRC, bleek het Berkeley en IBM die merkte dat compiler schrijvers niet echt hoe weten met dergelijke ingewikkelde instructies van een compiler, de hoeveelheid silicium onroerend goed gebruikt door deze instructies kreeg groot, en in feite was de hardware implementatie soms niet zo snel als het doet het zelfde ding in software toch. Dus ze zei "Ik wed dat we kunnen de CPU een stuk sneller gaan als we het weglaten van deze complexe instructies en het silicium aan meer registers of cache-geheugen of iets wijden", en daarmee de uitvinder van de RISC CPU. "RISC" wordt tegenwoordig veel gebruikt door marketingafdelingen te betekenen "we hebben niet veel instructies", zelfs als de rest van de architectuur is niet heel erg zoals de originele RISC-onderzoekers had voor ogen.
Harvard-architectuur.
In een Harvard-architectuur, de instructie-geheugen en het geheugen van de gegevens zijn gescheiden, gecontroleerd door verschillende bussen, en soms hebben verschillende maten. De instructies worden meestal opgeslagen in "read only"-geheugen voor microcontrollers, en gegevens zich in RAM of registers. Een voorbeeld is de
PIC microcontroller, waar instructies in 12, 14 of 16-bits breed flash, en gegevens is in 8 bits
breed RAM.
Von Neuman architectuur.
In een von Neuman architectuur, gegevens en instructies aandeel geheugenruimte, dus je kon doen dingen als dynamische compilatie te genereren van instructies in RAM en vervolgens uit te voeren. De TI-MSP430 is een voorbeeld van een architectuur van von Neuman.
Accu op basis
In een "accumulator gebaseerd" architectuur is er meestal één "speciale" register waar allermeest naar de eigenlijke berekening (wiskunde, logica, etc) plaatsvindt. Enige inspanning moet worden besteed om operanden in de accumulator en resultaten terug naar waar u ze nodig hebt. Het tegenovergestelde is een processor met "general purpose" registers, waar elk van verschillende registers kan worden gebruikt voor math/etc.
Laden/Store
Een belasting/winkel architectuur meestal betekent dat operanden ALU bewerkingen worden in de registers, moeten zodat u ze vooraf uit het geheugen laden en opslaan van hen terug wanneer bewerkingen voltooid zijn. Het tegenovergestelde waarop doorgaans bewerkingen tussen een register of
buffertank en direct een locatie in het geheugen. RISC-architecturen zijn doorgaans laden/store, omdat veel of de CISCness van CISC processors uiterlijk vertoon opwaarts ter uitvoering van complexe "adressering modes" voor toegang tot het geheugen operanden. In een RISC-architectuur heeft al die complexiteit alleen ten uitvoer worden gelegd in het laden en opslaan van instructies (of helemaal niet.)
Registers
Memory-Mapped I/O