Embedded Systems Engineering 1. V2.00 Release 0.60 WS 2012/2013

Größe: px
Ab Seite anzeigen:

Download "Embedded Systems Engineering 1. V2.00 Release 0.60 WS 2012/2013"

Transkript

1 Embedded Systems Engineering 1 V2.00 Release 0.60 WS 2012/2013 Prof. Dr. Christian Siemers TU Clausthal, Institut für Informatik

2

3 Inhaltsverzeichnis 1 Einführung in die Thematik Allgemeines Aufbau der Vorlesung Kurzeinführung zu Mikrocontrollern und zum ATmega Von-Neumann-Rechnermodell Grundkonzept Sequenzielle Befehlsausführung und Befehlstypen Sequenzielle Befehlsausführung Befehlsgruppen Datentypen und Datenrepräsentation Polyadische Zahlensysteme Umrechnung zwischen Zahlensystemen Zahlen- und Informationsdarstellung im Rechner Ein kurzes Beispiel zu der (imperativen) Sprache C und der Programmierung von Mikrocontrollern Kurzeinführung in C Beispielprogramm Die Einbindung der Peripherie Speichertechnologien und bausteine Dynamische RAMs (DRAM) Statische RAMs (SRAM) Nur-Lesespeicher (PROM, EPROM, EEPROM) Nichtflüchtige RAMs (Non-Volatile RAMs) NVRAMs Ferroelektrische RAMs (FRAM, FeRAM) Magnetoresistive RAMs (MRAM) Zusammenfassung der verschiedenen Speichertechnologien Der Mikroprozessor Atmel ATmegaXXX Allgemeines zu Bussystemen bei Mikroprozessoren Synchrone, semi-synchrone und asynchrone Systembusse Der synchrone Systembus Der semi-synchrone Systembus Der asynchrone Systembus Der Mikroprozessor ATmega Das Pinout des ATmega Der externe Bus-Modus (External Memory Interface)... 51

4 II Embedded Systems Engineering Speicherbelegung im ATmegaXXX Zugriff auf das EEPROM Aufbau eines Rechnersystems auf Basis ATmega Aufbau der Hardware Konfiguration in der Software Einführung in die ATmega8-Assemblersyntax Das Programmiermodell der ATmega8-CPU Speichermodell und Einbindung der Peripherie Das Stack-Konzept Die Adressierungsmodi Adressierungsmodi für Datenoperationen Adressierungsmodi für Kontrollflussbefehle Die Assemblernotation für die ATmega8-Familie Transferbefehle Bitverarbeitungsbefehle Befehle zur logischen Verknüpfung Arithmetische Verarbeitungsbefehle Sprungbefehle Unterprogrammbefehle Sonstige Befehle Serielle und parallele Interfaces in Mikrorechnern Einleitung und Unterteilung General-Purpose Interfaces GPIOs im ATmegaXXX Der Parallel-Input-Output-Baustein Allgemeine parallele Interfacebausteine Serielle I/O-Systeme: Von RS232 bis SPI RS EIA I²C-Bus Serial Peripheral Interface (SPI) Timer in Mikrorechnern Allgemeines zu Timern Timer im ATmega Interrupt-Requests Die Integration von IRQs im ATmega Anwendungen von Interrupt Requests Weiterentwicklung des IRQ-Managements Literatur 121

5 Inhaltsverzeichnis III Sachwortverzeichnis

6

7 1 Einführung in die Thematik 1.1 Allgemeines Eingebettete Systeme, engl. Embedded Systems, sind in der Praxis außerordentlich häufig anzutreffen. Praktisch jedes elektronische System wird durch mindestens einen Mikrocontroller gesteuert, geregelt oder unterstützt, so dass die Anzahl der Mikrocontroller in eingebetteten Systemen diejenige der Mikroprozessoren in Rechnern, engl. so genannten Self-Contained Systems, bei weitem übersteigt. Doch was sind eingebettete Systeme überhaupt? Unter einem eingebetteten System versteht man ein elektronisches System, das aus Hardware und Software besteht und in komplexe technische Umgebungen eingebettet sind [Sch05]. Diese Umgebungen sind meist maschinelle Systeme, in denen das eingebettete System mit Interaktion durch einen Benutzer arbeitet oder auch vollautomatisch (autonom) agiert. Die eingebetteten Systeme übernehmen komplexe Steuerungs-, Regelungsund Datenverarbeitungsaufgaben für bzw. in diesen technischen Systemen. Die nächste Frage ist den Mikroprozessoren und Mikrocontrollern gewidmet. Unter einem Prozessor versteht man die Central Processing Unit (CPU) aus dem Von-Neumann-Modell, ein Mikroprozessor ist die monolithisch integrierte Variante, also diejenige, bei dem die komplette CPU auf einem Chip integriert ist. Ein Mikrocontroller besteht aus mindestens einem Mikroprozessor, auch als Core bezeichnet, und einem weiteren Teil des Von-Neumann-Modells, also Speicher oder Input/Output (Peripherie). Mikrocontroller führen daher die Integration auf einem Chip noch weiter als Mikroprozessoren. Das wesentliche Merkmal von eingebetteten Systemen ist die enge Verknüpfung des Mikrocontrollers/Mikroprozessors mit der umgebenden Maschine. Hieraus resultiert, dass das eingebettete System Randbedingungen erfüllen muss, die durch die Maschine vorgegeben sind, häufig z.b. Echtzeitverhalten, besondere Zuverlässigkeit etc.. Dies stellt besondere Anforderungen an den Entwicklungsprozess, sowohl Hard- als auch Software betreffend. Im Rahmen des gesamten Curriculums der Informatik an der TU Clausthal wird für die Entwicklung eingebetteter Systeme eine dreiteilige Veranstaltung angeboten. Diese Vorlesung mit dem Titel Embedded Systems Engineering 1 ist als Einführung konzipiert und behandelt exemplarisch das Design solcher Systeme am Beispiel von 8-Bit-Mikrocontrollern. Die zweite Vorlesung wird im Master angeboten und beinhaltet die systematische Entwicklung für eingebettete Systeme einschließlich Test, Verifikation und Optimierung. Die dritte Vorlesung Embedded Systems Engineering 3 ist Hard- und Softwareoptimierungen gewidmet, also dem Engineering, um an gegebene Randbedingungen anzupassen.

8 2 Embedded Systems Engineering Aufbau der Vorlesung Die zahlenmäßig am häufigsten eingesetzten Mikrocontroller sind 8-Bit-Mikrocontroller. Die Preise hierfür bewegen sich etwa im Segment von 1 bis 10, sie sind damit häufig billiger als mechanische Komponenten wie Kabel, Steckverbinder usw. Komplexere Geräte wie Mobiltelefone enthalten durchaus mehrere Mikrocontroller, auch in deren Spezialform als Digitaler Signalprozessor (DSP). In der Klasse der 8-Bit-Mikrocontroller mit der Angabe 8 bit wird die intrinsische Datenverarbeitungsbreite angegeben, also diejenige Breite, die in einem Durchgang berechnet werden kann zählen die Derivate der Atmel ATmega8- Baureihe zu den häufigsten. Diese Vorlesung befasst sich nun mit Hard- und Software, exemplarisch an einem Mitglied der ATmega8-Familie, um zu zeigen, wie mithilfe dieser Mikrocontroller Applikationen gebaut werden können. Während sich in der Vorlesung die Themen Hardwarearchitektur, Hardware/Software-Interface und Software die Waage halten, liegt der Schwerpunkt im Praktikum auf der Erstellung von Applikationen, also der Entwicklung hardwarenaher Software. Um diesem Praktikum eine Basis zu geben, wird im ersten Teil der Vorlesung ein Abschnitt eingefügt, der sich mit dem Von-Neumann-Modell, der Ausführung von Befehlen, Zahlendarstellungen, Übersetzungsvorgang usw. befasst. Dies ist in Kapitel 2 dieses Skripts konzentriert. Kapitel 3 befasst sich mit den Speichertechnologien und den zugehörigen Bausteinen. Diese Speicherbausteine sollen binärwertige digitale Werte speichern können, und dies bei diversen Randbedingungen wie Preis, Verlustleistung, Datenerhalt, Zuverlässigkeit usw.. Wichtigste Vertreter sind dynamische und statische RAMs sowie die EPROMs in diversen Ausführungsformen. Kapitel 4 ist der Hardware der ATmega8-Mikrocontrollerfamilie gewidmet, speziell dem Mikroprozessorkern (auch als Core bezeichnet) und beginnt mit den Bussystemen. Weitere Themen sind das Speichermodell und dessen praktische Auswirkung auf die Gestaltung eines kompletten Mikrorechners und der Ablauf einiger Maschinenbefehle. Kapitel 5 gibt eine (kurzgehaltene) Einführung in die Assemblerprogrammierung der ATmega8-CPU und behandelt damit das so genannte Hardware-Software-Interface (HSI). Hinzu gehören auch Themen wie Stack und Interrupt Request Behandlung. Kapitel 6 schließlich behandelt die Schnittstellen zur parallelen und seriellen Schnittstelle, zum Timer, Interrupt-Request-Controller und zu weiteren Komponenten, die zur Peripherie gezählt werden.

9 2 Kurzeinführung zu Mikrocontrollern und zum ATmega8 2.1 Von-Neumann-Rechnermodell Grundkonzept Die kennzeichnenden Merkmale eines Rechners nach dem Von-Neumann-Prinzip sind: 1. Ein (zentralgesteuerter) Rechner ist aus den drei Grundbestandteilen Zentraleinheit (Central Processing Unit, CPU) Speicher (Memory) Ein-/Ausgabeeinheit (Input/Output Unit) aufgebaut. Hinzu kommen noch Verbindungen zwischen diesen Teileinheiten, die als Busse bezeichnet werden. Die CPU übernimmt innerhalb dieser Dreiteilung die Ausführung von Befehlen und enthält die dafür notwendige Ablaufsteuerung. Im Speicher werden sowohl die Daten als auch die Programme in Form von Bitfolgen abgelegt. Die Ein-/Ausgabeeinheit stellt die Verbindung zur Außenwelt in Form des Austausches von Programmen und Daten her. 2. Die Struktur des Rechners ist unabhängig von dem zu bearbeitenden speziellen Problem. Die Anpassung an die Aufgabenstellung erfolgt durch Speicherung eines eigenständigen Programms für jedes neue Problem im Speicher des Rechners. Dieses Programm enthält die notwendigen Informationen für die Steuerung des Rechners. Dieses Grundkonzept der Anpassung hat zu der Bezeichnung programmgesteuerter Universalrechner (engl. stored-program machine ) geführt. 3. Der Speicher besteht aus Plätzen fester Wortlänge, die einzeln mit Hilfe einer festen Adresse angesprochen werden können. Innerhalb des Speichers befinden sich sowohl Programmteile als auch Daten, zwischen denen als Speicherinhalt grundsätzlich nicht unterschieden wird. Dem Speicher kommt im Von-Neumann-Modell eine zentrale Bedeutung zu, da sowohl Daten als auch Programminformationen darin gehalten werden. Wie in Bild 2.2 dargestellt, ist die Hardware dieses Rechners eigentlich fixiert. Die Auswahl der momentanen Aktion erfolgt durch den Kontrollfluss (die Instruktion), und diese Aktion wirkt auf den Datenfluss.

10 4 Embedded Systems Engineering 1 Zentraleinheit (Central Processing Unit, CPU) Steuerwerk (Control Unit, CU) Rechenwerk (Arithmetical Logical Unit, ALU) Verbindungssystem (Bussystem) Speicher (Memory) Ein-/Ausgabe (Input/Output) Bild 2.1: Prinzipieller Aufbau eines Von-Neumann-Rechners Aus den genannten Grundprinzipien können die wesentlichen Charakteristika des Von-Neumann-Rechners abgeleitet werden: 1. Zu jedem Zeitpunkt führt die CPU exakt einen Befehls aus. Die Steuerung der Bearbeitung liegt im Steuerwerk (Control Unit, CU), das in der Lage sein muss, alle notwendigen Schritte zur vollständigen Behandlung einleiten zu können. Innerhalb eines Befehls kann höchstens ein Datenwert bearbeitet, d.h. neu berechnet werden. Dieses Prinzip wird Single Instruction - Single Data (SISD) genannt. Kontrollfluss Eingangsdaten Hardware: Fixiert Algorithmus: Variabel Ergebnis Bild 2.2: Ablaufprinzip des Von-Neumann-Rechners

11 2 Kurzeinführung zu Mikrocontrollern und zum ATmega Alle Inhalte von Speicherzellen, im Folgenden Speicherwörter genannt, sind prinzipiell als Daten oder Befehle interpretierbar. Die Daten wiederum können als eigentliche Daten oder als Referenzen auf andere Speicherzellen (Adressen) genutzt werden. Die jeweilige Verwendung eines Speicherinhalts richtet sich allein nach dem momentanen Kontext des laufenden Programms. 3. Als Konsequenz aus der vorgenannten Eigenschaft können Daten und Befehle nicht gegen ungerechtfertigten Zugriff geschützt werden, da sie gemeinsam ohne Unterscheidungsmöglichkeit im Speicher untergebracht sind. 2.2 Sequenzielle Befehlsausführung und Befehlstypen Sequenzielle Befehlsausführung Ein Von-Neumann-Rechner zeigt unter den beschriebenen Voraussetzungen einen typischen Verlauf einer Befehlsbearbeitung. Exemplarisch ist in Bild 2.3 der Ablauf, insbesondere der Signale auf dem Bussystem, für einen Transferbefehl zwischen Speicher und Register ( ST, store) dargestellt. Die Befehlsnotation in der Assemblersprache könnte etwa ST Z, R18 lauten. Die korrekte Interpretation dieses Befehls lautet: Kopiere den Inhalt des Registers R18 an diejenige Stelle im Speicher, auf die Z (als Pointerregister) zeigt. Im Rahmen dieser Befehlsbearbeitung können zwei grobe Phasen identifiziert werden. In der Phase 1 lädt die CPU, gesteuert durch Abläufe in dem Steuerwerk CU, das Befehlswort aus dem Speicher einschließlich aller benötigten Zusatzinformationen wie Operanden, die in diesem Fall aus der (Daten-)Speicheradresse bestehen. Die Codeadresse, an der dieses Befehlswort steht, wird im Programmzähler (Program Counter, PC, auch Instruction Pointer, IP) festgelegt. Diese Phase wird auch mit Fetch bezeichnet. Diese Phase zeigt sich am Bussystem, indem zwei lesende Zugriffe je einer für das Befehlswort und den Operanden zeitlich sequentiell ablaufen. Das Steuerwerk speichert die Inhalte in dafür vorgesehene Befehlsregister und interpretiert sie für die weiteren Aktionen. In der zweiten Befehlsphase wird nun der Inhalt des Registers, hier mit R18 bezeichnet, in die adressierte Speicherzelle kopiert. Das oder die Register gehören zur CPU, können aber wie Datenspeicher beliebige Datenwerte (zwischen-)speichern. Für diesen Vorgang wird der Inhalt aus dem Registerblock des Rechenwerks auf den Datenbus kopiert, während der Adressbus die Information über die gewünschte

12 6 Embedded Systems Engineering 1 Speicherzelle trägt (aus Z). Adress- und Datenbus sind Teilsysteme der Verbindungseinrichtung im Von-Neumann-Rechner. Steuerbus Datenbus Adressbus Steuerwerk Ablaufsteuerung Program Counter 1 1 Opcode Befehlsregister Adressfeld CPU Status Register Rechenwerk Register Block ALU Speicher Input/Output Bild 2.3: Befehlsablauf im Von-Neumann-Rechner Das hier exemplarisch gezeigte Verfahren zweier Phasen in der Befehlsbearbeitung ist die technische Lösung für das grundsätzliche Problem des Von-Neumann-Rechners, nur eine Verbindungseinrichtung zu zwei verschiedenen Speicherinhalten

13 2 Kurzeinführung zu Mikrocontrollern und zum ATmega8 7 Programm und Daten zu besitzen. Im Allgemeinen gilt hier folgendes Konzept des zeitlichen Multiplex des Bussystems: 1. In der sogenannten Fetch- und Interpretationsphase wird aufgrund der durch den Befehlszähler angezeigten Adresse der Inhalt einer Speicherzelle geladen und als Befehl interpretiert. Zu dieser Phase zählt im Allgemeinen auch das Laden von Operanden, zumeist von Adressen oder unmittelbaren Daten. Dieser Vorgang wird durch die Interpretation des Befehls gesteuert. 2. In der darauffolgenden Ausführungsphase wird der Befehl nunmehr vollständig interpretiert und ausgeführt. Die Ausführung kann verschiedene Teile der CPU und des Bussystems sowie der angeschlossenen Einheiten in Anspruch nehmen, dies wird durch das Steuerwerk entsprechend gesteuert. Gemeinsam ist diesen Vorgängen, dass alle Speicherzelleninhalte, auch aus dem Ein-/Ausgabesystem, als Daten interpretiert werden. Dieser zweistufige Ablauf muss für einen Befehl streng sequentiell ablaufen, da eine Abhängigkeit zwischen den verschiedenen Phasen existiert. Spätere Variationen der Von-Neumann-CPU, z.b. die RISC-Architekturen, beinhalten ein Phasenpipelining, das eine scheinbare Parallelität der Aktionen zueinander bewirkt. Dies stellt keinesfalls einen Widerspruch zu dem bisher Gesagten dar, denn die Parallelität im Phasenpipelining bezieht sich auf verschiedene Befehle, während die Bearbeitung eines Befehls weiterhin streng sequentiell bleibt. Der Zeitmultiplex der Busnutzung ist notwendig geworden, da wie aus dem Beispiel bereits ersichtlich wurde das Bussystem für den Zugriff auf mehrere Arten von Speicherzelleninhalten genutzt wird. Dies wiederum hat seine Ursache darin, dass der gleiche Speicher fast immer im Mittelpunkt der Operationen steht, unabhängig davon, ob es Programm- oder Dateninhalte sind, auf die zugegriffen werden soll. Die CPU-Speicherkommunikation wird daher die Leistungsfähigkeit des Gesamtsystems entscheidend beeinflussen, was auch als Von-Neumann- Flaschenhals (von Neuman bottleneck) bezeichnet wird. Das von Neumann-Rechnermodell kann als optimal im Sinn von minimal bezeichnet werden. Die in- und externen Ressourcen, die hierbei zur Anwendung kommen, sind nicht weiter minimierbar, ohne eine sehr wesentliche Einschränkung der Funktionalität bis hin zur Sinnlosigkeit des Einsatzes hinzunehmen Befehlsgruppen Die im vorletzten Abschnitt bereits verkündete Universalität des Von-Neumann- Rechners (und auch des Harvard-Rechners, dessen Unterschied in der Trennung von Code- und Datenbereich liegt) kann natürlich nur gelten, wenn entsprechende Instruktionen existieren, um alle Algorithmen auszuführen. Es lässt sich nun nachweisen, dass ein einziger Befehl SUBBEQ X, Y, Z

14 8 Embedded Systems Engineering 1 (subtract and branch if equal) für diesen Zweck genügt. Dieser Befehl wird so ausgeführt, dass X = X-Y zugewiesen und an die Programmstelle Z gesprungen wird, wenn das Ergebnis 0 ist. Als einzige arithmetisch/logische Operation ist also die Subtraktion erforderlich, daneben muss es die Möglichkeit geben, den Programmfluss zu ändern (so genannte Sprünge). Beide Aktionen sind in obigem, nicht Praxis-relevanten Beispiel vereinigt, ein solcher Befehl würde als komplex bezeichnet werden. Andere notwendige Operationen wie die Wertzuweisung an eine Variable können auf diese Basisoperationen zurückgeführt werden. In der Praxis wird ein Mikroprozessor bzw. Mikrocontroller mit mehr Befehlen versehen, weil dies zu kürzeren, schnelleren und auch verständlicheren Programmen führt. Folgende Befehlsgruppen und weitere Details sind in Mikroprozessoren zu finden: Interne Rechen- und Zwischenregister. Alle Berechnung können zwar auf Speicherinhalten durchgeführt werden, dies ist aber sehr aufwendig (durch viele Buszyklen). CPU-interne Register mindern den Aufwand stark. Das Registermodell für die ATmega8-CPU ist in Bild 2.4 dargestellt. Bild 2.4 Registermodell ATmega8 Befehlsgruppe der Transferbefehle: Diese Befehle kopieren Daten zwischen Registern, zwischen Register und Speicher und ggf. sogar zwischen verschiedenen Speicherstellen. Beispiele im ATmega8: mov R0, R2; Kopie von R2 in R0

15 2 Kurzeinführung zu Mikrocontrollern und zum ATmega8 9 lds R1, $12; (load Direct from SRAM), Lade den Inhalt der ; Speicherzelle $12 (dezimal 18) in R1 st Y, R6; Speicher den Inhalt von R6 an die Stelle im SRAM, ; deren Adresse in Y (R28/29) steht Befehlsgruppe der arithmetischen und logischen Befehle: Hier sind die arithmetischen (Addition, Subtraktion, meist Multiplikation, seltener Division) und die logischen (bitweises AND, OR, XOR) sowie die Shift- und Rotations-Operationen integriert. Beispiele hierfür sind: adiw R8, 5; (Add immediate to word): Addiere die Konstante ; 5 zum Registerpaar R8/R9. Die Flags C, Z, N, V ; und S sind anschließend gesetzt/gelöscht, ; abhängig vom Ergebnis sbc R6, R7; (subtract with carry): Subtrahiere mit Berück ; sichtigung des Carry-Bits (R6) (R7) und ; schreibe das Ergebnis in R6. or R17, R21; logisches OR von (R17) und (R21), Ergebnis ; nach R17 lsl R5; Logischer Shift nach links, um 1 bit Befehlsgruppe der Kontrollflussbefehle: Hier sind alle bedingten und unbedingten Sprungbefehle zusammengefasst, deren Aktion die Beeinflussung des Program Counters beinhaltet. Beispiele: ijmp; Jump indirect to location in Z (R30/31): Dies ist ein unbedingter Sprungbefehl an die (16-bit-)Stelle, die im Registerpaar R30/31 (= Z) steht. brne Label2; Branch if Z-Flag (zero) is zero: Springe, wenn das Zero- Flag 0 ist (ein Vergleich also Ungleichheit feststellt), an die bezeichnete Stelle. rcall Routine1; Relative call: Rufe ein Unterprogramm auf, dessen Einsprungstelle relativ zum aktuellen PC-Wert gegeben ist. ret; Subroutine return, springe an die gespeicherte Rücksprungadresse zurück und bearbeite das Programm dort weiter. Wie deutlich zu sehen ist, sind hier nur einfache Befehle zu finden. Eine ausführlichere Darstellung des Befehlssatzes der ATmega8-CPU ist in Kapitel 5 dieses Skripts zu finden.

16 10 Embedded Systems Engineering Datentypen und Datenrepräsentation Polyadische Zahlensysteme Zunächst jedoch einige grundsätzliche Anmerkungen zum verwendeten Zahensystem. Das Dezimalsystem gehört zur allgemeinen Klasse der polyadischen Zahlensysteme, in denen eine beliebige Zahl n in der Form n K = i= 0 i bi B mit bi, B N U {0}, B 2 (2.1) darstellbar ist. B heißt dabei Basis des Zahlensystems, wobei B = 10 als Dezimalsystem, B = 8 als Oktalsystem, B = 2 als Dualsystem und B = 16 als Hexadezimal- oder (richtiger) Sedezimalsystem bezeichnet wird. Die Koeffizienten b i können nur zwischen 0 und B-1 variieren, dies ist die jeweils gültige Menge der Ziffern pro Zahlensystem. Im Fall des Hexadezimalsystems können zwar 10 bis 15 als gültige Ziffern angesehen werden, zur Vermeidung von Problemen beim Lesen werden hier jedoch die Ziffern {0,...9, A, B, C, D, E, F} gewählt. Als allgemein übliche Konventionen bei der Darstellung von Zahlen gelten: 1. das Fortlassen von führenden Nullen 2. keine Kennzeichnung der Basis Falls das Fortlassen zu Interpretationsproblemen führt, wird die Basis üblicherweise eingeklammert und als tiefgestellter Index am Schluss beigefügt. Programmiersprachen enthalten jeweils eindeutige Darstellungen der Zahlenbasis Umrechnung zwischen Zahlensystemen n/b = q 0 + r 0 q 0 /B = q 1 + r 1 q 1 /B = q 2 + r 2 q 2 /B = q 3 + r 3... Zahlendarstellung zur Basis B q K-1 /B = 0 + r K Bild 2.5 Algorithmus zur Berechnung der Zahlendarstellung

17 2 Kurzeinführung zu Mikrocontrollern und zum ATmega8 11 Die Umrechnung von einem Zahlensystem in ein anderes polyadisches System kann grundsätzlich in zwei Schritten erfolgen. Gleichung (2.1) kann zunächst benutzt werden, um den dezimalen Wert der Zahlendarstellung zu berechnen. Um hieraus dann die Zahlendarstellung zur Basis B zu gewinnen, wird die ganzzahlige Division (im Dezimalsystem) benötigt: Zahlen- und Informationsdarstellung im Rechner Während die Darstellung von Daten im Rechner immer in binärer Form erfolgen wird, müssen verschiedene Datentypen unterschieden werden. Die Interpretation der Datendarstellung im Rechner ist hierdurch vom Kontext abhängig. Zu den grundlegenden (intrinsischen) Datentypen zählen Zeichen, natürliche und ganze Zahlen, Gleitkommazahlen (den rationalen Zahlen entsprechend) und boolesche Größen. Während die binäre Codierung im Speicher zwischen den einzelnen Datentypen nicht zu unterscheiden ist, werden diese im Hochsprachenprogramm sehr wohl unterschieden. Die Sprache C bietet beispielsweise char, int, unsigned int und float (neben anderen) als grundlegende Datentypen an Zeichen Die Zeichen werden zumeist verwendet, um Texte darzustellen. Ein Text entspricht demzufolge aus einer Folge von Zeichen eines Alphabets. Low High 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x00 NUL DLE SP P p 0x01 SOH DC1! 1 A Q a q 0x02 STX DC2 2 B R b r 0x03 ETX DC3 # 3 C S c s 0x04 EOT DC4 $ 4 D T d t 0x05 ENQ NAK % 5 E U e u 0x06 ACK SYN & 6 F V f v 0x07 BEL ETB 7 G W g w 0x08 BS CAN ( 8 H X h x 0x09 HT EM ) 9 I Y i y 0x0A LF SUB * : J Z j z 0x0B VT ESC + ; K [ k { 0x0C FF FS, < L \ l 0x0D CR GS - = M ] m } 0x0E SO RS. > N n 0x0F SI US /? O o DEL Tabelle 2.1 ASCII-Tabelle zur Interpretation als alphanumerische Werte

18 12 Embedded Systems Engineering 1 Die (nahezu) einfachste Definition eines zur Textdarstellung geeigneten Alphabets ist in Tabelle 2.1 dargestellt. Der ASCII-Code benötigt 7 Bits, um alle definierten Zeichen zu codieren, das 8. Bit (8 Bits werden üblicherweise zu einem Byte zusammengefasst) könnte als Zeichensatzerweiterung oder als Paritätsbit genutzt werden. Um allen gebräuchlichen Alphabeten gerecht zu werden, wurde der 32-Bit Unicode [unicode] eingeführt. Zurzeit sind hier ca Zeichen definiert. NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI NULL value Start Of Heading Start of Text End of Text End of Transmission Enquiry Acknowledge Bell Backspace Horizontal Tabulation Line Feed Vertical Tabulation Form Feed Carriage Return Shift-Out Shift-In DLE DC NAK SYN ETB CAN EM SUB ESC FS GS RS US SP DEL Data Link Escape Device Control Negative Acknowledge Synchronous Idle End of Transmission Block Cancel End of Medium Substitute Character Escape File Separator Group Separator Record Separator Unit Separator Space Delete Tabelle 2.2 ASCII Steuerzeichen Festkommazahlen Die Verknüpfung eines Stellenwerts mit den Stellen im Binärwort ermöglicht die Darstellung von Festkommazahlen, bei denen die Stellung des Kommas fest definiert ist. Die allgemein gängige Interpretation ist jedoch diejenige, bei denen ausschließlich ganze Zahlen bzw. Integer-Zahlen dargestellt werden. Hierzu wird dem niederwertigsten Bit die Wertigkeit 1 (= 2 0 ), den nächstfolgenden 2 1, 2 2 usw. zugeordnet, so dass bei k Bits der darstellbare Bereich k -1 beträgt, für 8 Bit Wortbreite als Diese Darstellung wird auch als UINT8, UINT16 bzw. UINT32 bezeichnet, um unsigned integer mit entsprechender Bitbreite zu kennzeichnen. Während diese Interpretation noch sehr eingängig erscheint, ist die Einführung vorzeichenbehafteter Zahlen auf mehrere Arten denkbar. Die einfachste Variante, das höchstwertige Bit als Vorzeichen zu interpretieren und den Betrag der Integerzahl durch die verbliebenen Bits zu bestimmen, führt einerseits zu einer doppelten Darstellung der Zahl 0, andererseits zu einer komplexen Arithmetik im Prozessor,

19 2 Kurzeinführung zu Mikrocontrollern und zum ATmega8 13 die mit Hilfe von Fallunterscheidungen sowie verschiedenen Schaltnetzen für Addition und Subtraktion die Operationen durchführen kann (siehe hierzu [Sie99]). Bitvektor: Wertigkeit: Ergebnis: = 92 Bild 2.6 Interpretation des Bitvektors als ganze Zahl 92 Für die vorzeichenbehaftete Darstellung und Arithmetik ist es sehr vorteilhaft, eine andere Variante auszuwählen, die mit der Komplementdarstellung von Bitvektoren arbeitet: Definition 2.1 Sei X = (x k-1,... x 0 ) 2 B k eine k-stellige Binärzahl. Dann gilt mit Hilfe der binären Antivalenzoperation ^ (XOR): 1. K 1 (X) = (x k-1 ^ 1,... x 0 ^ 1) 2 heißt Einer-Komplement (One s Complement) von X. 2. K 2 (X) = (x k-1 ^ 1,... x 0 ^ 1) heißt Zweier-Komplement (Two s Complement) von X. Das Zweier-Komplement einer (positiven) Zahl in Binärdarstellung wird nunmehr als die Darstellung der zugehörigen negativen Zahl gewählt. Um Überschneidungen der beiden Bereiche zu vermeiden, werden die positiven Integerzahlen auf den Bereich mit höchstem Bit = 0 beschränkt, wodurch sich automatisch die Darstellung für negative Zahlen mit höchstem Bit = 1 ergibt. Bitvektor: Einer-Komplement: Zweier-Komplement: (dezimal 92) (dezimal -92) (92) (-92) (1) (0 mit Übertragsflag) Bild 2.8 Vorzeichenbehaftete Addition Bild 2.7 Einer- und Zweier-Komplement der Zahl 92

20 14 Embedded Systems Engineering 1 Mit der hier gewählten Darstellung für negative Zahlen wird eine eindeutige Darstellung der 0 sowie eine vereinheitlichte Implementierung der Arithmetik im Prozessor erreicht. Die binäre Addition der Darstellungen für 92 und -92 beispielsweise liefert bis auf den Übertrag den (erwarteten) Wert 0, wie in Bild 2.8 dargestellt ist. Hieraus ergibt sich die Schlussfolgerung, dass für vorzeichenbehaftete Arithmetik nach wie vor eine Fallunterscheidung für die Interpretation der Flags durchzuführen ist Darstellung von Gleitkommazahlen Die Interpretation von Binärzahlen als ganze Zahlen lässt sich ohne großen Aufwand auf rationale Zahlen mit feststehendem Komma erweitern, indem die Lage des Kommas definiert wird. Dies bedeutet, dass das niederwertigste Bit nicht eine Wertigkeit von 2 0 besitzt, sondern von 2 w, wobei w < 0 eine negative ganze Zahl darstellt. Diese Interpretation wird als Festkommaformat bezeichnet. Der dynamische Bereich der Zahlendarstellung, d.h. das Verhältnis zwischen (Betrags-) kleinster (ungleich Null) und größter darstellbarer Zahl wird durch die Einführung eines Festkommas nicht verändert. Um hier eine Erhöhung zu erreichen, muss innerhalb der Darstellung der Exponent, auf den sich die eigentliche Zahl bezieht, eingetragen werden. Diese Interpretation wird Gleitkommaformat genannt und ist nach IEEE-754 für 32, 64 und 80 Bit genormt. 8-Bit 23-Bit s e m Bild Bit-Gleitkommadarstellung nach IEEE-754 Das Sign-Bit s gibt hierbei das Vorzeichen der Zahl an (0 = positiv, 1 = negativ). Die Zahl selbst ist in der Mantisse m in einer sogenannten normalisierten Form gespeichert, die als höchstwertiges Bit eine 1 führt. Da dies für alle Zahlen mit Ausnahme der Null möglich ist, wird dieses Bit fortgelassen und als hidden bit automatisch zur Mantisse hinzugezählt, woraus sich die effektive Anzahl von 24 Bit für die Darstellung ergibt. Der Exponent e wird bezüglich der Basis 2 angegeben. Der zulässige Wertebereich für e ist 1 e 254, der tatsächliche Wert wird durch e berechnet. Diese Darstellung ist für alle Zahlen im zulässigen Bereich mit Ausnahme der Null möglich. Die Null wird durch eine nicht normalisierte Gleitkommazahl angegeben, bei der die Mantisse den Wert Null annimmt. Mit Ausnahme der Null nimmt also die gemäß IEEE-754 gebildete Zahl den Wert z = (-1) s 2 e-127 ( m) an. Dies entspricht dem darstellbaren (absoluten) Bereich von

21 2 Kurzeinführung zu Mikrocontrollern und zum ATmega ( ) k z k= 1 In der Gleitkommadarstellung sind mit Hilfe der möglichen, aber normalerweise unzulässigen Werte für den Exponenten folgende Ausnahmen der normalen Interpretationsregel vorgesehen: m 0, e = 255: Die dargestellte Zahl ist keine gültige Gleitkommazahl (NaN, Not a Number) und wird z.b. zur Darstellung des Divisionsüberlaufes (Division durch 0) gewählt. m = 0, e = 255: Überlauf des darstellbaren Zahlenbereichs (Overflow), z = ± (mit Vorzeichenbit s) m 0, e = 0: Darstellung einer nicht normalisierbaren Gleitkommazahl (Underflow). m = 0, e = 0: Darstellung der Null. 2.4 Ein kurzes Beispiel zu der (imperativen) Sprache C und der Programmierung von Mikrocontrollern An dieser Stelle soll versucht werden, einen ersten Einblick in die Programmierung von Mikrocontrollern zu geben. Hierzu wird sehr häufig die Sprache C genutzt, die sich allein durch das imperative Programmierparadigma deutlich von objektorientierten Konzepten wie Java unterscheidet. Eine ausführlichere Beschreibung der Syntax und der Semantik ist z.b. in [Sie12, Kap. 7] gegeben. Dieses Skript kann vom Server der Informatik heruntergeladen werden Kurzeinführung in C Ausgehend von objektorientierter Programmierung kann man ein Programm in C so beschreiben, dass es lediglich eine einzige Klasse gibt und von dieser Klasse auch nur eine Instanz (das gesamte Programm nämlich). Innerhalb dieser Klasse gibt es dementsprechend Daten (und zwar Programm-globale und Funktions-lokale mit einigen Untertypen) und Funktionen (= Methoden) auf diesen Daten. Ein C-Programm hat demnach den in Bild 2.10 gezeigten Aufbau.

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Zahlen und Zeichen (1)

Zahlen und Zeichen (1) Zahlen und Zeichen () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Escape-Sequenzen. Dr. Norbert Spangler

Escape-Sequenzen. Dr. Norbert Spangler Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D

Mehr

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)

Mehr

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände 1 2 Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände 3 Die Zuordnung der Himmelsrichtungen zu den dreistelligen Binärzahlen, also Norden 000 Süden 001

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation natürlicher Zahlen (Wiederholung) Repräsentation von Texten Repräsentation ganzer Zahlen Repräsentation rationaler Zahlen Repräsentation

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Informatikgrundlagen I Grundlagen der Informatik I

Informatikgrundlagen I Grundlagen der Informatik I Informatikgrundlagen I Grundlagen der Informatik I Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Programmieren in C Einführung

Programmieren in C Einführung Programmieren in C Einführung Aufbau eines Programms Einfache Programme Datentypen und Vereinbarungen Das Entwicklungswerkzeug Seite Einfache Programme Kugeltank-Berechnung #include void main

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 9 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Kapitel 2. Zahlensysteme, Darstellung von Informationen Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten

Hauptspeicherinhalt. Ton. Vektorgrafik Bitmapgrafik Digit. Video. 1. Darstellung von Daten im Rechner. Abb. 1.1: Einteilung der Daten Hauptspeicherinhalt Programmcode Daten numerisch logisch alphanumerisch Ton Grafik Ganze Zahlen Gleitkommazahlen Zeichen Zeichenketten vorzeichenlos mit Vorzeichen Vektorgrafik Bitmapgrafik Digit. Video

Mehr

Darstellung von Informationen

Darstellung von Informationen Darstellung von Informationen Bit, Byte, Speicherzelle und rbeitsspeicher Boolesche Operationen, Gatter, Schaltkreis Bit Speicher (Flipflop) Binär- Hexadezimal und Dezimalzahlensystem, Umrechnungen Zweierkomplement

Mehr

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Das Rechnermodell - Funktion

Das Rechnermodell - Funktion Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil II: Wat iss ene Bit, Byte un Word?

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 8 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 8: Themen Zahlensysteme - Dezimal - Binär Vorzeichen und Betrag Zweierkomplement Zahlen

Mehr

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner Institut für Telematik Universität zu Lübeck Programmieren Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 8/9 Prof. Dr. Christian Werner 3- Überblick Typische Merkmale moderner Computer

Mehr

Informationsdarstellung im Rechner

Informationsdarstellung im Rechner Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer

Mehr

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1 IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Grundstrukturen: Speicherorganisation und Zahlenmengen

Grundstrukturen: Speicherorganisation und Zahlenmengen Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen

Mehr

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung WS 06/07 Thema 4: Zahlensysteme / Codierung 1 Übung zur Winfo I - Themenplan - Informationsverarbeitung in Unternehmen Tabellenkalkulation Anwendungen PC-Komponenten Zahlensysteme / Codierung Boole sche

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate

Mehr

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 1. Zahlensysteme Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Digitaltechnik

Mehr

Technische Informatik I

Technische Informatik I Technische Informatik I Vorlesung 2: Zahldarstellung Joachim Schmidt jschmidt@techfak.uni-bielefeld.de Übersicht Geschichte der Zahlen Zahlensysteme Basis / Basis-Umwandlung Zahlsysteme im Computer Binärsystem,

Mehr

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

21.10.2013. Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer? Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Modul 114. Zahlensysteme

Modul 114. Zahlensysteme Modul 114 Modulbezeichnung: Modul 114 Kompetenzfeld: Codierungs-, Kompressions- und Verschlüsselungsverfahren einsetzen 1. Codierungen von Daten situationsbezogen auswählen und einsetzen. Aufzeigen, welche

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr

UART-Kommunikation mit dem Atmel AVR

UART-Kommunikation mit dem Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier UART-Kommunikation mit dem Atmel

Mehr

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Modbus-Master-Treiber

Modbus-Master-Treiber Modbus-Master-Treiber 1. Einleitung MODBUS ist ein offenes serielles Kommunikationsprotokoll, das auf einer Master/Slave Architektur basiert. Dabei greift der MODBUS-Master (Touch Panel PC) auf die fest

Mehr

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Statt positive Zahlen von 0 bis 2 n -1mit einem Bitmuster der Länge n darzustellen und arithmetische Operationen darauf auszuführen,

Mehr

Informatik für Ingenieure

Informatik für Ingenieure Informatik für Ingenieure Eine Einführung Von Prof. Dr. rer. nat. Wolfgang Merzenich Universität-Gesamthochschule Siegen und Prof. Dr.-Ing. Hans Christoph Zeidler Universität der Bundeswehr Hamburg B.

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

D A T E N... 1 Daten Micheuz Peter

D A T E N... 1 Daten Micheuz Peter D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter

Mehr

Zähler- und Zeitgeber-Baugruppen

Zähler- und Zeitgeber-Baugruppen Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung 1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen,

Mehr

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1 4. WICHTIGE SCHALTNETZE (c) Peter Sturm, University of Trier 1 Wichtige Schaltnetze Häufig verwendete Grundfunktionen Umwandeln (Decoder) Verteilen (Multiplexer) und Zusammenfassen (Demultiplexer) Arithmetisch-

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

Alle Speicherplatinen können als Programm- bzw. Arbeitsspeicher

Alle Speicherplatinen können als Programm- bzw. Arbeitsspeicher -1-1. Überblick Das System.009 umfaßt programmierbare binäre Steuereinrichtungen für den industriellen Einsatz. Charakteristisch ist, daß die BOOLEschen Gleichungen, die den konkreten Steueralgorithmus

Mehr

Technischen Informatik I, WS 2004/05

Technischen Informatik I, WS 2004/05 PHILIPPS-UNIVERSITÄT MARBURG Fachbereich Mathematik und Informatik Prof Dr R Loogen, Dipl-Inform J Beringer D-3532 Marburg Hans-Meerwein-Straße Lahnberge Klausur zur Technischen Informatik I, WS 24/5 3

Mehr