Mikroprozessoren - mit.eit.h-da.demit.eit.h-da.de/Vorlesung/0100_Grundlagen.pdf · Mikroprozessor...

Preview:

Citation preview

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

Recommended