Sie sind auf Seite 1von 5

Embedded Systems Zusammenfassung:

Rechnerarchitekturen:

von Neumann(PC) Harvard(DSP)


Vorteile: - günstiger - schnell
- Strom sparend - bei Datenspeicherausfall sind
noch Befehle möglich
Nachteile: - langsam - teuer
- Strom verbrauch

- kann Befehle nur


sequentielle abarbeiten
- lädt Befehle aus dem
Speicher
- dekodiert und
interpretiert sie

Befehlszählregister:(Programcounter)
- Speichert Adresse des nächsten Befehls
- Inhalt wird nach Befehlsausführung um 1 erhöhen

Mikroprogrammeinheit:(FSM)
- erzeugt eine Folge von Signalen zur Ausführung des Befehls mit dekodierten
Infos des OP-codes
-
Data Hazard bei Pipelines:
- Read after Write (RAW):
o Instr j versucht zu lesen bevor Instr i schreibt
- Write after Read (WAR):
o Instr j schreibt bevor Instr i liest
- Write after Write (WAW):
o Instr j versucht Operand zu schreiben bevor Instr i schreibt

CISC  Complex Instruction Set Controller


- viele unterschiedliche Befehle (256 + )

RISC  Reduced Instruction Set Controller


- nur wenig Befehle
- 80/20 Regel: 20% der Befehle erledigen 80% der Arbeit

Was ist eine ALU?


− elektronisches Rechenwerk welches in Prozessoren zum Einsatz kommt
− Eine ALU kann meistens zwei Binärwerte mit gleicher Stellenzahl (n) miteinander
verknüpfen. Man spricht von n-Bit ALUs.
− Typische Werte sind 8, 16, 32, 64 Bit's
− Die n-Bit ALU ist meist aus einzelnen 1-Bit ALUs zusammengesetzt, die jeweils an
die höherwertige ALU ein Carry-Bit weiterreichen, mit dem ein Übertrag an der
jeweiligen Stelle gekennzeichnet wird. Um die in Reihe geschalteten 1-Bit ALUs in
die geforderte Funktionsart umzuschalten hat jede 1-Bit ALU zusätzlich zu den
Eingängen für die zu verknüpfenden Werte und das Carry-Bit noch einen Eingang
für einen Steuervektor (Op.-Code), der aus dem Steuerregister
(Operationsregister, OR) gelesen wird.

ALU (Arithmetic Logical Unit)


- die ALU erledigt:
o Arithmetische Operationen:
 ADD, SUB, INC, DEC, PASS, NOT
o Logische Operationen:
 AND, NAND, OR, NOR, XOR, NXOR, PASS, NOT
o Shift/ Rotate Operationen:
 sll (shift left logic), srl
 sla (shift left arithmetic), sra
 rol, rar

Akkumulator/Maschine:

Ein Akkumulator ist ein Register innerhalb einer CPU, in dem Ergebnisse der
Recheneinheit (ALU) gespeichert werden. Meist ist das Akkumulatorregister fest mit
dem zweiten Eingang der ALU verschaltet. Einzelne Akkumulatoren spielen heute
fast nur noch in kleineren Mikroprozessoren eine Rolle. Die meisten 16- oder 32-bit-
Prozessoren (oder breiter) verwenden eine größere Anzahl von Akkumulatoren, die
man dann als Datenregister bezeichnet.

Pipelining:
Beim Pilelining werden mehrere Befehle, welche die gleichen Stationen durchlaufen
müssen, hintereinander abgearbeitet. Ist Befehl 1 z.B. fertig mit der Dekodierung
wird er in den nächsten Teil z.B. Excecute weitergeführt. In dieser Zeit wäre der
dekodierungs- Teil allerdings unbenutzt. Durch Pipelining wird nun aber der
Dekodierungsbereich von Befehl 2 genutzt. So kann die
Verarbeitungsgeschwindigkeit von Daten und Befehlen stark erhöht werden.

Pipelining hat mehr Hardwareaufwand, höheren Stromverbrauch und die Ergebnisse


von vorher sind nicht mehr einsehbar.
Cache:
- kleiner, sehr schneller Zusatzspeicher
- teuer !!!
- Identische Kopien des Hauptspeichers: Zuletzt benutzte Speicherstellen
- kleinere Latenzzeiten
- hohe Bandbreite
- mehrere Ebenen (L1, L2, …)
- wird nur durch HW verwaltet
- organisiert in Blocks von linearen Speichern

Speicherzugriff:
- zuerst im Cache:
- Cache HIT:
o Wort im Cache
o wird an CPU gegeben
- Cache MISS:
o Wort nicht im Cache
o gesamten Block aus L2 Cache holen
o alten Block aus Cache entfernen (Regeln)
o neuen Block in Cache speichern

Cache Organisation:
- Zahl der Levels
- Assoziativität (Direct Mapped, Mehrweg/Voll-Assotiativität)
- physikalische oder virtuelle Adressierung
- Write through/Write back Policy
- Verdränungsstrategie: Was wird entfernt?
o Bei Direct Mapped Cache nicht nötig
o Wichtig bei kleinen Caches
o Least Recently Used (LRU)
o Least Frequently Used (LFU)
o Random
-Ersetzungsstrategien: FIFO
Optimale Ersetzungsstrategie
LRU
Assoziativität:
- Direct Mapped  schnell
- Fully associative  aufwendig, langsam
- Set associative  Kompromiss aus beiden

Write Through (IMMER mit Write Buffer)


- Informationen in Cache und lower Level Memory schreiben
- (CPU  Cache  Hauptspeicher)

WB

Write Back:
- Informationen nur im Cache
- Cache wird erst in den Hauptspeicher geschrieben wenn dieser aktualisiert
wird
Arbeitsspeicher:
- statisches RAM
- dynamisches RAM

Programm Speicher:
- ROM
- EEPROM/EPROM Speicher für Programme in C oder BIOS im PC
- Flash

DRAM:
- brauch nur wenig Transistoren
- Speichert Informationen nur für begrenzte Zeit
- Information wird beim auslesen zerstört
- Variationen
o Page Mode DRAM
o Static Column DRAM
o Nibble Mode DRAM
- Weniger Stromverbrauch

SRAM:
- benötigt keine Refresh Logic
- Informationen gehen beim Auslesen nicht verloren
- benötigt vergleichsweise viele Transistoren (teuer)

ROM:
- Zelle kann durch einen Transistor verwirklicht werden
- kein Transistor bedeutet eine logische NULL, sonst 1
- Information ist nicht veränderbar

Definition: Echtzeitsystem:
- produzieren korrekte Informationen innerhalb eines definierten Zeitlimits
- werden die Zeitlimits überschritten entstehen Leistungseinbußen und/oder
Fehlfunktionen
- wenn ein richtiges Ergebnis zur falschen Zeit vorliegt ist dies ein Fehler
Klassifikationen:
- Hard Real-Time-System
- Soft RTS
- Firm RTS
- Non RTS

N ut zen H RT- Task SR T- Task FRT- Task

t t t

Schaden
St art Deadl ine St ar t Deadl ine St art Deadl ine
Architektureigenschaften eines RTOS:(RealTimeOperatingSystem)
- deterministische Verfahren
- Multitasking
- Zeitsteuerung
- prioritätsbasierte preemtive Ablaufssteuerung
o preemtive (prioritätsbasiert)
o non preemtive (nicht prioritätsbasiert)
- Kommunikation und Synchronisation (PLL ???)
- Interruptbehandlung, Exceptions
- objektbasierte Architektur

JTAG:
JTAG steht für "Joint Test Action Group" und ist ein Verfahren zum Testen und
Debugging von elektronischer Hardware .

- ursprüngliche Schnittstelle zum testen der HW durch Boundary Scan


- erlaubt die sicherstellung der Boundary Scan Testschritte
- oft die Programmierschnittstelle bei programmierbarer Logik
- Kernstück ist ein TAP (Test and Application Port) Controller

Interrupt:
- HW löst physikalisch ein Interruptsignal aus
- CPU speichert Register + Status + PC auf Stack
- CPU holt Sprungadresse aus Interrupt Vektortabelle
- CPU führt Sprung an die Stelle des Speichers, wo Interrupt Service Routine
(ISR) liegt, aus
- ISR wird ausgeführt und mit Return from Interrupt (RTI) beendet
- Register + PC + Status von Stack holen
- weiter machen wie zuvor… …

UART :
- asychrones Übertragungsprotokoll: Startbit ist :halten der Übetrtragungsleitung
auf Null-Pegel für festgelegte Zeitdauer = Bitbreite. Muss vor der ersten
Übertragung der sendenden und empfangenden UART-Einheit bekannt sein
(durch Programmierung initialisiert)
− Universal Asynchronous Receive/Transmit
− Übertragungsart: irgendwann (asynchron)
− Schiebt Byteweise auf Leitung

USART
− Universal Synchronous/Asynchronous Reseive/Transmit
− Übertragungsart : sofort (synchron)
− Schiebt um ganzes Byte weiter
− serielle Schnittstelle: Baudrate 9600 – 115200 Bit/sec ; Stopbit, Startbit,Parity
(gerade/ungerade)
− kann auch als UART betrieben werden. Durch bestimmen des SYNC-Bits
entweder asynchrone (0) oder synchrone(1) Übertragung

Das könnte Ihnen auch gefallen