Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Entwurf einer 68030 compatiblen CPU

Entwurf einer 68030 compatiblen CPU

Entwurf des digitalen Modells eines 68030 kompatiblen Complex Instruction Set Computer in VHDL. Beleuchtung von Aspekten aus Programmierer-, Anwender und Ingeniueurssicht und daraus resultierende Anforderungen an das digitale Design.

Wolfgang

May 26, 2014
Tweet

Other Decks in Education

Transcript

  1. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU 68K30 - Digitale Modellierung einer 68030 kompatiblen Complex Instruction Set Computer CPU Der 68030 von Motorola war Mitte der 90er Jahre eine weit verbreitete, leistungsfähige CISC-CPU. Merkmale wie On-Chip Cache, Memory Management Unit, Coprozessor-Schnittstelle, Dynamic Bus Sizing und ihre quadratische 32 Bit Register- Architektur in Verbindung mit einem umfangreichen Befehlssatz waren ihr Erfolgsrezept. Im Vortrag wird beleuchtet, wie diese CPU aufgebaut ist, und welche Konsequenzen dies auf die digitale Modellierung hat. Es wird vermittelt, wo die Grenzen und die Chancen eines solchen Intellectual Property IP-Core liegen.
  2. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU VCFe 15.0 München, 2014 68K30 - Digitale Modellierung einer 68030 kompatiblen Complex Instruction Set Computer CPU
  3. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Gliederung • Die 68xx CPUs • Architektur der 68030 im Vergleich zur 68000 • Die digitale Modellierung von CPUs • Details zur Modellierung des 68K30 (68K30 im FPGA) • Validierung der modellierten Hardware • Projektfortschritt / Ergebnisse • Chancen und Grenzen der abstrakten Modellierung • Ausblick
  4. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU • Die 68xx CPUs Prozessoren • 68000 16 Daten, 24 Adressen • 68008 8 Daten, 20/22 Adr. • 68010 16 Daten, 24 Adressen • 68012 16 Daten, 32 Adressen • 68020 32 Daten, 32 Adressen • 68030 MMU intern • 68040 MMU, FPU intern • 68060 Superscalar (ALU x 2) • Dragonball 68K mit Peripherie • Coldfire 2004 bis heute Coprozessoren • 68451 MMU (16MB) • 68851 MMU(4GB) • 68881 FPU, 1st Gen. • 68882 FPU, 2nd Gen.
  5. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU MC68000 vs. MC68K30
  6. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Die Hardware-Software Schnittstelle
  7. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Programmiermodell des 68000
  8. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Programmiermodell des 68030 Die Software Schnittstelle
  9. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Die 68030 Hardware-Schnittstelle
  10. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Architektur der 68030
  11. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Herausragende Eigenschaften der 68030 • Quadratische A/D-Register • Dynamic Bus Sizing • On Chip Instruction Cache • On Chip Data Cache • On Chip Memory Management Unit • Barrel Schifter • Coprocessor Interface • Pipelined Structure • 118 Integer Instruktionen • Hardware Division • Hardware Multiplikation • Coprozessor Instruktionen • Via FPU 62 Fließkomma Instruktionen • 18 Adressirungsmodi inklu- sive PC relative / speicher- indirekte Adressierung
  12. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Die 68K30 im FPGA
  13. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Ergebnis Digitaler Modellierung
  14. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Modelliersprache VHDL • VHDL = Very High Speed Integrated Circuit Hardware Description Language • Erste Veröffentlichung 1998 als Ergebnis der Zusammenarbeit zwischen IBM Texas Instruments und Intermetrics. • Standardisiert nach IEEE 1976.1 erstmalig 1987 dann 1993... • Heute: in Europa weit verbreitete Sprache zur Modellierung und Simulation digitaler Schaltungen. • Alternativen: Verilog, eher in USA verbreitet.
  15. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU VHDL Codebeispiel 1
  16. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU VHDL Codebeispiel 2
  17. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Eigenschaften des 68K30 IP-Core • Modularer Aufbau (ALU, Exception Handler, Bus Controller, MMU, Cache... • Pipelined Architektur. • Parametrierbare Caches. • Vollständiger, dem Original entsprechender Entwurf (MMU, Icache, Dcache, Coprozessor-Schnittstelle) • Derzeit (Stand Mai 2014) ca. 15.000 Codezeilen. • Stand Mai 2014: • Alle Module sind fertig modelliert. • Alle Integer Instruktionen außer MMU und Coprozessor Interface sind validiert. • Die CPU hat derzeit einen Ressourcenbedarf von 4.382 Flip Flops, 19995 kombinatorischen Funktionen und RAM für die Caches.
  18. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Validierung komplexer Designs • Modellierung von digitalen Schaltungen in VHDL (Hardware). • Entwurf einer Mini-Prozessorumgebung (Hardware) • Einarbeiten der Prozessorumgebung in eine Simulations- Testbench (Validierung) • Schreiben von Testprogrammen (Software), die auf dem Prozessor Funktionen abprüfen. • Durchführen der Simulation und Auswertung der Ergebnisse. • Gegebenenfalls Schaltung verändern / korrigieren.
  19. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Simulationsergebnis
  20. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Chancen und Grenzen der Implementierung Chancen • Erweiterung zum 68K40 • Parametrierbare Caches • Erweiterung um maßgeschneiderte Peripherie • Nahezu hardwareunabhängiges Design • Ergänzung des Befehlssatzes um CPU32 oder IO Funktionen • Erweiterung zu SOPCs (Suska) • Funktionselektronik (generisch) Grenzen • Maximal erzielbare Taktfrequenzen geringer als bei konventionellen CPUs • Aufwand der digitalen Modellierung für komplexe CPUs ist sehr hoch • Validierung komplexer Prozessoren ist aufwändig.
  21. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Chancen: Parametrierbare Caches
  22. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Chancen: Parametrierbare Caches
  23. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Chancen: Parametrierbare Caches
  24. VCFe 15.0 3./4. Mai 2014 Wolfgang Förster, [email protected] 68K30 -

    Digitale Modellierung einer 68030 kompatiblen CISC-CPU Ausblick Durch die digitale Modellierung von Systems on Programmable Chips ist es möglich geworden, die Funktionen klassischer Hardware auf modernen FPGAs abzubilden und mit neuen Funktionen zu kombinieren. Im Beispiel rechts: Zielhardware eines Atari Falcon mit WLAN, Bluetooth und GPS Empfänger. 89mm Suska-III-T2