Mikroprozessoren - mit.eit.h-da.demit.eit.h-da.de/Vorlesung/0100_Grundlagen.pdf · Mikroprozessor...
-
Upload
truongtram -
Category
Documents
-
view
223 -
download
0
Transcript of Mikroprozessoren - mit.eit.h-da.demit.eit.h-da.de/Vorlesung/0100_Grundlagen.pdf · Mikroprozessor...
MikroprozessorenGrundlagen
Aufbau, BlockschaltbildGrundlegende Datentypen
AVR-ControllerAnatomieBefehlssatzAssemblerSpeicherzugriffAdressierungsartenKontrollstrukturenStack
Input / Output (I/O)Parallel I/OSeriell I/OTimerZusammenfassung I/O
InterruptMathematische Operationen
Erster Mikroprozessor 4004
4 Bit Mikroprozessor Intel 4004 (1971)�
Personal Computer (PC)�
Single Chip Microcontroller
Labor–Hardware
Mikrorechner (Z80)�
ROMRAM
CPUCPUTakt
IO-Port
Mikroprozessorvon Neumann Architektur
µP ROM RAM I/O
MikroprozessorHarvard Architektur
µP ROM RAM I/O
Programm Bus
Daten Bus
MikrocontrollerSingle Chip Computer
µP RAM ROM I/O
+ -Quarz Batterie
Daten und Adreßbus
µP RAM ROM I/O
Adress-
Daten-
Steuerbus
Busleitung
L (Gnd)�
H H
L
H
1/2 1/2
Busverbindungen
Anschluss von Bausteinen an den Systembus
CPU liest: RD=0CPU schreibt: WR=0
Dn sind Tri-State-Anschlüsse
S
S
E
E
Datenbit Dnvom/in Register
Dn
RD
WR
Steuerwerk
CPU
Datenbit Dnvom/in Speicher
RAM
RD
WR
CS0
Dn
SE
Datenbit Dnvon/in Port
I/OCS1
Dn
Datenbus: n. Datenleitung
Teil vom Steuerbus
RD
WR
1
1 0
Tri-State Busanschluss
0
hochohmig1
PinCS
nD
0CS =
0RD = 0WR =
1nD =0nD =
• jedes Daten-Pin kann drei Zustände einnehmen– High ( )�– Low ( )�– hochohmig
• Datentransfer-Richtung kann eingestellt werden (hier mit
• oder )�• nur eine Komponente wird von
der CPU freigeschaltet (hier mit Chip-Select )�
• die Daten-Pins aller anderen Komponenten sind hochohmig
Bus Signal
L
H
Signal OKTristate Buffer Hochohmig
SpeicherRAM = Random Access MemoryDer Speicher kann beliebig oft in beliebiger Reihenfolgegelesen und geschrieben werden.ROM = Read Only MemorySpeicher kann im normalen Betrieb nur gelesen werdenEEPROM = Electrically Erasable PROMNur-Lese Speicher der elektrisch gelöscht werden kann.FLASH ROMSpeicher kann blockweise (z.B 64 kByte) gelöschtund wortweise geschrieben werden. Die Anzahl der Löschvorgänge ist begrenzt (105– 106) �
NOR FLASH verhält sich beim Lesen wie RAM und ist daher für Programmspeicher geeignetNAND FLASH kann nur blockweise (z.B. 512 Byte)gelesen werden. Beispiele: USB Stick,
Speicherkarten.
RAM Zelle (“Flipflop”) �
Quelle: Wikipedia.org
D3
0
014
D2
0
014
D1
1
114
Prinzip Speicher-Matrix
1100101000111101
11
01
1 aus 4 Multiplexer
1 au
s 4
Mul
tiple
xer
A1 A0
A2
A3
x3 x1x2 x0
y0
y1
y2
y3
D0
00123
4567
8910
15
11
14 13 12
Typische Anschlussbelegung von Speicherbausteinen
256 4⋅
A7...A0D3...D0
Adressen Daten
SteuerleitungenCS
R/W*
Speicher
Speicher-kapazität
Wortbreite[Bit]
(1kBit) �
*1 für Read, 0 für Write
FLASH Zelle
Quelle: Wikipedia.org
FLASH Zelle (1 Bit NOR)�
Fowler
-Nor
dheim
Tun
nelin
g
Erase = 0V
NAND FLASH
Design-Kriterien für Prozessoren
Architektur
• Anzahl der Gatter• Taktfrequenz• Anzahl Arbeitsschritte pro Takt• Parallelisierung• Integrierte I/O und Speicher-Ansteuerung• Integrierter Speicher
CISC-Architektur• Complex Instruction Set Computing
– Maschinenbefehle werden in mehreren Schritten abgearbeitet (Mikroprogramm) und benötigen deshalb meist mehrere Takte
– verschiedene Befehle greifen auf den Zentralspeicher zu– Befehle benötigen unterschiedlich viel Speicherplatz
• Vor- und Nachteile+ flexibel
• neue Befehle sind leicht auf die CPU zu bringen, da durch Software realisiert (Mikroprogramm)�
+ Fehlerbeseitigung einfach• Design-Fehler-Behebung durch Einspielen neuer
Mikroprogramme– Aufwand
• Dekodierung der Befehle benötigt aufwändige Hardware(bis zu 70% der Chip-Fläche einer CPU)�
– Geschwindigkeit• CPUs wurden gegenüber RAM und Bussystem immer
langsamer je komplexer der Befehlssatz ist
RISC-Architektur• Reduced Instruction Set Computing
– wenige, einfache Maschinenbefehle werden direkt durch Hardware abgearbeitet und benötigen (meist) nur 1 Takt
– nur mit zwei Befehlen kann auf den Zentralspeicher zugegriffen werden (Load/Store-Architektur)�
– großer Registersatz– Befehle benötigen alle gleich viel Speicherplatz und haben
ähnliches Format (regelmäßiger Befehlssatz)
• Vor-/Nachteile: + hohe Geschwindigkeit
• wenig langsame RAM/ROM-Zugriffe, alle Operationen arbeiten nur mit Registern, direkte Hardware-Realisierung der Befehle, schnelle Befehlsdekodierung
– vergrößerter Programmieraufwand (Assembler-Ebene) und Speicherverbrauch
• komplexe Befehle müssen durch Programmierer realisiert werden (z.B. Division), einheitliches Befehlsformat vergrößert Speicherbedarf
Prozessorfamilien
Gleiche oder sehr ähnliche CPU
• CPU Kompatibilität oder• Upgrade path • Unterschiedliche Taktfrequenzen• Unterschiedliche Speicherausstattung• Anderer Peripherie Mix
Prozessorfamilien
ARMdiv.
X86INTEL, AMD,div.
68000/COLDFIREFreescaleAVR
ATMELTMS320TI
MSP430TI
(unvollständig)�
8051INTEL, div.
HC05/08/11/12/16Freescale
C166Infineon
V850NEC
ParallelisierungParallelität auf Instruktionsebene
IF: Instruction FetchID: Instr. DecodeEX: Exec/Addr. Calc.MEM: Memory readWB: Write back
SoC System-on-a-Chip
Spezialprozessoren
• Mikroprogrammierung• FPU: Floating Point Units• DSP: Digital Signal Processor• GP: Graphics Processoe (-Engine)�
• ... beliebiges
DSP: Digital Signal Processor• CPUs, die speziell an Anforderungen der Verarbeitung
digitalisierter Signale (z.B. Audio-, Video-, Sensor-Signale) angepasst, z.B.:– Datenaustausch zwischen digitaler und analoger Welt– hohe Rechengeschwindigkeit
• Beispiele: – integrierte AD- und DA-Wandler– spezielle Befehle für Rechenoperationen, die häufig
angewendet werden • Realisierung von Filtern
erfordert Multiplikation mit anschließender Addition zum vorhergehenden Ergebnis -> MAC-Befehl (in Hardware) „Multiply-Accumulate“
– RISC-Prozessoren mit modifizierter Harward-Architektur mit einem Programm- und zwei Datenspeichern, um Befehl und zwei Operanden parallel aus RAM laden zu können