Einchipmikrorechner und Signalprozessoren

Aus II-Wiki
Version vom 26. Juli 2008, 12:15 Uhr von Sonne (Diskussion | Beiträge) (Segmentierter Datenzugriff)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Einordnung

  • Einchipmikrorechner (EMR, µC)
  • Digitaler Signalprozessor (DSP)

Gemeinsamkeiten

  • Einchip-Konzept: wesentliche Bauteile alle auf einem Chip (CPU, Speicher, IO, Taktgeber)
  • minimierte (minimale) Außenbeschaltung: Abblockkondensator, Quarz
  • autonomer Betrieb: Unbeaufsichtigter Betrieb, ohne (nur mit applikationsspezifischem) Bedienereingriff
  • aufgabenspezifisch angepasst: "Nur soviel (Hardware) wie nötig"
  • große Typenfamilien: viele Typen mit jeweils mehreren Ausführungen, Unterschiede in Speicher/Pins
  • Crosswerkzeuge: Entwicklung auf PC, aber Code für Chips
  • Software: muss sich nicht mehr verändern (ist in sich geschlossen)

Unterschiede

EMP DSP
Leistung niedrig bis mittel mittel bis hoch
Datenbreite 4, 8, 16, 32 16, 32, 64
Speichergröße
* intern sehr wenig bis mittel meist nur mittel
* extern wenig bis mittel groß bis sehr groß
Besondere Befehle Bit-Befehle,
Bit-Adressierung
MAC (Multiplikation und Addition in einem Befehl),
zirkuläre Adressierung,
Saturation (Festkomma-Arithmetik)
Typische Anwendungen Steuergeräte in Industrie und Kraftfahrzeugtechnik,
Haushaltselektronik,
tragbare Geräte (MP3, Handy)
digitale Filter/Regler,
Bildverarbeitung und Mustererkennung,
Messgeräte, Messtechnik,
Audioeffektgeräte, Modems

Bauteile

Rechnerkern

  • RISC oder CISC
  • Harvard oder von-Neumann (Princeton)
  • viele Spezialregister (SFR)
  • allg. Register häufig verbunden mit internem RAM

Speicher

Dies ist eine Grafik mit Rahmen und Knoten, die Hyperlinks enthalten könnten.

ROM

  • Masken-ROM
  • PROM/OTR
  • EPROM
  • EEPROM
  • FLASH-EEPROM
  • FRAM
  • "Bontout"
  • "ROM-less"

Ein- und Ausgabe

Dies ist eine Grafik mit Rahmen und Knoten, die Hyperlinks enthalten könnten.

Sonstiges ("Hilfs"-baugruppen)

  • Reset
  • Takt
  • Power-Management
  • Interruptsystem
  • DMA
  • Watchdog

Typenbeispiele

(nicht prüfungsrelevant)

Mikrocontroller am Beispiel der C166 Familie

  • 16bit Datenbreite
  • CISC-Kern
  • Intelähnlicher Befehlssatz
  • von-Neumann-Architektur
  • bis 30 Mhz Taktfrequenz
  • Addresbreite 16bit/24/bit
  • Mehrfachnutzung von Pins

Befehlssatz - Architektur

Allgemeiner Registersatz

  • 16x16bit Register R0-R15
  • Register R0-R7 lassen sich auch über H und L ansprechen

Spezialfunktionsregister (SFR)

  • es existieren sehr viele Register

u.a. in:

  • Prozessorkern
  • Peripherieeinheiten
  • Interruptsystem
  • Chipsteuerung
  • Adresseinheit
  • ...

SFR im Prozessorkern

  • PSW (Prozessor Status Word, "Flag-Register"); 16bit breit
Beispiele für Flags:
Statusflags:
  • C: Carry (Übertrag)
  • V: Overflow (Überlauf)
  • Z: Zero
  • N: Negativ
  • ...
Steuerflags:
  • IEN: Interrupt Enable
  • USRO: frei verfügbar
  • SP (Stackpointer)
  • STKUV (Stackunderflow)
  • STKOV (Stackoverflow)
  • SYSCON: Systemkonfiguration
  • ...

Speichermodell

  • von-Neumann: ein Adressraum
  • interner ROM
  • interne RAMs
  • SFRs (reservierte Speicheradressen)
  • allgemeine Register
  • reservierte Bereiche
  • Rest: externer Speicher

kleines Speichermodell

  • nicht segmentiert
  • logische 16 Bit-Adresse wird umgesetzt auf physikalische 16 Bit-Adresse
  • Speicherraum: Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^{16}} Byte = 64 KiByte

großes Speichermodell

  • segmentiert
  • logische 16 Bit-Adresse erhält zusätzliche Segmentbeschreibung (Länge variiert)
  • wird ungeformt auf physikalische 24 Bit-Adresse
  • Speicherraum: Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle 2^{24}} Byte = 16 MiByte

Vorteil:

  • mehr Speicherplatz
  • Segment = Grobpositionierung
  • Änderung davon seltener (wird nicht bei jedem Zugriff geändert)
Segmentierter Datenzugriff

Segemntierter Datenzugriff.jpg

Segmentierter Programmzugriff
Adressraumstruktur
Allgemeine Register: Mapping in den Speicherraum

Befelssatz

Transportbefehle

Stackbefehle

Arithmetik/Logik

Multiplikation/Division

Schieben/Rotieren

Steuerfluss-Befehle

Sprungbefehle

Intrasegment
Intersegment

Unterprogrammbefehle

Bit-Befehle

Sonstige Befehle

SW-Entwicklung

Details zur internen Peripherie

Interrupt-System

Arten von Interrupts

Interrupttabelle

SFR für HW-Interrupts

DSP am Beispiel der Familie C6000 (Ti)

Beispiele zum Befehlssatz

weitere Arithmetik/Logik

Konvertierung

Vergleiche und Bedingungen

Transportbefehle

Adressierung

Stack

Warteplätze

Sprungbefehle

Beispiele

SW-Entwicklung

Hilfsmittel auf höherer Ebene

DMA-Einheit

Datensatz eines DMA-Auftrages

DMA-Beispiel 1: Ausgabe eines Blocks

DMA-Beispiel 2: Block-Kopieren mit Spiegelung der Byte-Reihenfolge

Typische Systeme mit C6000