Martin schrieb:
> Erstmal vielen Dank für eure Antworten.
> Werden die Prozessoren und µC dann noch per Hand "optimiert"? Meine
> Frage zielt darauf, dass ich mir nicht vorstellen kann, dass diese Art
> von Design wirklich "sauber" ist. Wenn man beispielsweise µC in C
> programmiert, wird wohl nicht so optimiert sein, wie wenn man das Gerät
> in Assembler programmieren würde. Findet hier also noch eine Optimierung
> der Schaltung per "Hand" statt? (Also wirklich auf Transistor bzw.
> Gatterebene?)
Der Vergleich mit c_Compiler und assembler führt dich eher in die Irre.
Verkürzt ist es so:
Man entwirft die CPU auf mehreren Abstraktionsebenen, also RTL, Gatter,
Transistor. Auf jeder Ebene prüft man ob die auch das macht was, was sie
soll, also man vergleicht sie mit der nächsthöheren. Den Übergang von
einer höheren zu einer niedrigeren nennt man Synthese. Das können tools
machen, da kann man per Hand eingreifen, oder man macht es komplett neu.
So ne CPU wird zuerst modelleirt, das kann ein Algorythmus in C sein,
oder in einer Hardwarebeschreibungssprache (HDL). Hat man die
Beschreibung in der HDL kann man die auf verschiedenen "Architekturen"
umsetzen. z:B. FPGA, ASIC-Gatarray oder komplettdie Transitoren selbst
zeichnen (Full Costum).
Für einen FPGA wird man ein Nand-Gatter mit einer LookUp-table
realisieren, ebenso OR etc.. Dan man mit einer LUT verschiedenste
Gatterfunktionen realisierenkann ist sie auch größer und langsamer als
eine klassischen CMOS-NOR Gatter. Intel wird also bei der Synthese aus
RTL ein Element NAND aus seiner Bauteibibliothek nehmen. etc also
optimierte Elemente. Dann muss dann noch extra Kram rein, für Tests
(Scan-Path. JTAG-BSCAN) und um Fehler bei der Fertigung auszugleichen
(sewing gates). hat das dann alles zusammengeschaltet (als Netzliste)
fällt Platzierung und Routing an (so wie beim PCB).
Optimierung wurde ich das nicht nennen, es ist eher ein kompletter
neuentwurf aus den gleichen VHDL-Code. So also ob du einen tollen
Algorithmus zum Kantenglatten hast (als Formel beschrieben) und denn
setzt du einmal in Basic zur Ausgabe auf einer superschnellen GraKa um,
und dann nochmal , dann läuft er auf einem LowPower Mikrocontroller und
kleckst Tinte sparend auf einem Drücker glatte Linien.
MfG