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.

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.0 Komplexe Schaltwerke

9.0 Komplexe Schaltwerke 9.0 Komplexe Schaltwerke Die Ziele dieses Kapitels sind: Lernen komplexe Schaltwerke mittels kleinerer, kooperierender Schaltwerke zu realisieren Verstehen wie aufgabenspezifische Mikroprozessoren funktionieren

Mehr

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION

EIN NEUES KAPITEL: SPEICHERUNG UND INTERPRETATION VON INFORMATION Auf diesem Computerschirm sieht man verschiedene Arten von Information dargestellt. Wie wird sie eigentlich im Computer abgespeichert. Was man sieht, ist nur eine Graphik! EIN NEUES KAPITEL EIN NEUES KAPITEL:

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

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

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

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar 3. Kodierung Wir wollen Kodierung nicht als Verschlüsselung zum Zwecke der Geheimhaltung auffassen, sondern als Mittel zur Darstellung von Sachverhalten so, daß eine Rechner mit diesen Sachverhalten umgehen

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

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

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

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

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 von John von Neumann

Das Rechnermodell von John von Neumann Das Rechnermodell von John von Neumann Historisches Die ersten mechanischen Rechenmaschinen wurden im 17. Jahhundert entworfen. Zu den Pionieren dieser Entwichlung zählen Wilhelm Schickard, Blaise Pascal

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

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

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

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

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

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

Inhalt: Binärsystem 7.Klasse - 1 -

Inhalt: Binärsystem 7.Klasse - 1 - Binärsystem 7.Klasse - 1 - Inhalt: Binärarithmetik... 2 Negative Zahlen... 2 Exzess-Darstellung 2 2er-Komplement-Darstellung ( two s complement number ) 2 Der Wertebereich vorzeichenbehafteter Zahlen:

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

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

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert Binäre Repräsentation von Information Bits und Bytes Binärzahlen ASCII Ganze Zahlen Rationale Zahlen Gleitkommazahlen Motivation Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Mehr

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-42331-2 Leseprobe Taschenbuch Mikroprozessortechnik Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN: 978-3-446-4331- Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-4331-

Mehr

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () 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

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

Fehler in numerischen Rechnungen

Fehler in numerischen Rechnungen Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Thema: Grundlage Informationseinheiten Zahlensysteme Zahlendarstellung im Computer Digitaltechnikgrundlagen Halbleiterspeicher Rechnerarchitektur Informationseinheiten BIT NIBBLE MSB

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Arithmetik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Arithmetik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Zahlendarstellung Addition und Subtraktion Multiplikation Division Fest- und Gleitkommazahlen

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

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

Fachinformatik. Inhaltsverzeichnis. Meinhard Kissich Fachinfomatik 1

Fachinformatik. Inhaltsverzeichnis. Meinhard Kissich Fachinfomatik 1 Fachinformatik Inhaltsverzeichnis 1. Mikrocomputer 3 1.1 Allgemein 3 1.2 Prinzipielle Programmablauf 5 2. Zahlensysteme 7 2.1 allgemein 7 2.2 Umrechnen 7 3. Zahlendarstellung 8 3.1 Zahlenkreis 8 3.1.2

Mehr

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS Gleit komma zahlen Gleitkommazahlen in vielen technischen und wissenschaftlichen Anwendungen wird eine große Dynamik benötigt: sowohl sehr kleine als auch sehr große Zahlen sollen einheitlich dargestellt

Mehr

Binäre Division. Binäre Division (Forts.)

Binäre Division. Binäre Division (Forts.) Binäre Division Umkehrung der Multiplikation: Berechnung von q = a/b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom Dividenden a subtrahiert:

Mehr

3. Codierung. 3.1 Einführung in die Codierung

3. Codierung. 3.1 Einführung in die Codierung 3. Codierung... 2 3. Einführung in die Codierung... 2 3.2 Zahlencodes... 3 3.2. BCD-Code (Binary Coded Decimal Code)... 6 3.2.2 Aiken-Code... 8 3.2.3 3-Exzess-Code... 9 3.2.4 Gray-Code... 3.2.5 Zusammenfassung...

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

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren: Daten und ihre Codierung Seite: 1 Zur Universalität der Informatik Gott ist ein Informatiker Die Grundordnung der Welt läßt sich mathematisch formulieren: Naturgesetze, wie wir sie in der Physik, Chemie

Mehr

Übung -- d001_7-segmentanzeige

Übung -- d001_7-segmentanzeige Übung -- d001_7-segmentanzeige Übersicht: Der Steuerungsablauf für die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer speicherprogrammierbaren Steuerung realisiert werden. Lehrziele:

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

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3:

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3: #2 Abend 3: Alexander Neumann e.v. http://koeln.ccc.de Köln, 3.11.2008 Gliederung 1 Zahlendarstellung n-adische Darstellung natürlicher Zahlen negative Zahlen 2 Logikfunktionen 3 Register

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

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 15.11.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Review / Organisatorisches o Probleme bei Foliendownload?

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

3. Informationsdarstellung

3. Informationsdarstellung Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit WS 204/205 3. Informationsdarstellung Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 3 Informationsdarstellung Bitfolgen

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Computer-Systeme. Teil 4: Weitere Datentypen

Computer-Systeme. Teil 4: Weitere Datentypen Computer-Systeme Teil 4: Weitere Datentypen Verbesserte Version Computer-Systeme WS 12/13 Teil 4/Datentypen 31.10.2012 1 Literatur I [4-1] [4-2] [4-3] [4-4] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen

Mehr

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2 Codierung und Fehlerkorrektur Kapitel 4.2 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design Technische Informatik - Meilensteine Informationstheorie Claude Elwood Shannon (geb. 1916)

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

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

Wozu wird ein Rechensystem genutzt? Informationsverarbeitung Information. Information. Interpretation, Abstraktion. Repräsentation.

Wozu wird ein Rechensystem genutzt? Informationsverarbeitung Information. Information. Interpretation, Abstraktion. Repräsentation. Wozu wird ein Rechensystem genutzt? Wunsch: Informationsverarbeitung Information Repräsentation Daten Informationsverarbeitung Datenverarbeitung Wirklichkeit: Datenverarbeitung Information Daten Interpretation,

Mehr

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Vorlesungsziele Mit gängigen Begriffen etwas anfangen können In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Die Grundkomponenten eines Mikroprozessor - Systems und ihr Zusammenwirken

Mehr

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern Automation und Prozessrechentechnik Sommersemester 20 Prozess I/O Prozessrechner Selbstüberwachung zu und von anderen Rechnern Prozessrechner speziell Prozessrechner auch im Büro D A D A binäre I/O (Kontakte,

Mehr

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

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 5 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 5: Themen Speicherarchitekturen RAM-, ROM-Speicher Flash-Speicher Logikimplementierung

Mehr

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128)

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128) Darstellung von Text ASCII-Code 7 Bit pro Zeichen genügen (2 7 = 128) 26 Kleinbuchstaben 26 Großbuchstaben 10 Ziffern Sonderzeichen wie '&', '!', ''' nicht druckbare Steuerzeichen, z.b. - CR (carriage

Mehr

Repräsentation von Daten Binärcodierung ganzer Zahlen

Repräsentation von Daten Binärcodierung ganzer Zahlen Kapitel 3: Repräsentation von Daten Binärcodierung ganzer Zahlen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Repräsentation von Daten im Computer (dieses und nächstes

Mehr

Lösung 1. Übungsblatt

Lösung 1. Übungsblatt Fakultät Informatik, Technische Informatik, Professur für Mikrorechner Lösung 1. Übungsblatt Konvertierung von Zahlendarstellungen verschiedener Alphabete und Darstellung negativer Zahlen Stoffverteilung

Mehr

1 : Die Rechnungsarten

1 : Die Rechnungsarten 1 von 22 23.10.2006 14:08 0 : Inhalt von Kapitel DAT 1 : Die Rechnungsarten 2 : Die Worte 3 : Hilfsprozessoren 4 : Binäre Zahlendarstellung 5 : Interpretationen 6 : Division mit Rest 7 : Horner Schema

Mehr

Grundlagen der Betriebssysteme

Grundlagen der Betriebssysteme Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 2 Zahlendarstellungen

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Funktionsweise von Computern Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhalt 1. Ein Blick zurück 2. Stand

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

Informatik I: Abschnitt 7

Informatik I: Abschnitt 7 Informatik I: Abschnitt 7 Inhalt: 7. Interne Informationsdarstellung 7.1 Ganzzahlige Datentypen 7.2 Gleitkomma-Datentypen Die Folien basieren zum Teil auf einen Foliensatz von R. Großmann und T. Wiedemann

Mehr

Lektion 1: Von Nullen und Einsen _ Die binäre Welt der Informatik

Lektion 1: Von Nullen und Einsen _ Die binäre Welt der Informatik Lektion 1: Von Nullen und Einsen _ Die binäre Welt der Informatik Helmar Burkhart Departement Informatik Universität Basel Helmar.Burkhart@unibas.ch Helmar Burkhart Werkzeuge der Informatik Lektion 1:

Mehr