Digitaltechnik und Rechnerarchitektur Vorlesung

Größe: px
Ab Seite anzeigen:

Download "Digitaltechnik und Rechnerarchitektur Vorlesung"

Transkript

1 Digitaltechnik und Rechnerarchitektur Vorlesung Kapitel : Einführung FH Osnabrück

2 Vorlesung Rechnerarchitektur Inhalt des Abschnitts EINFÜHRUNG DIE HISTORISCHE ENTWICKLUNG DER RECHENAUTOMATEN Die Entwicklung der Rechner-Hardware Von Rädchen, Hebeln und Webstühlen Von Bits, Relais und Röhren Mainframe goes electronic Small is beautiful Die Rechner fürs Volk Was nun? Geschichte der Betriebssysteme Einführung UNIX: Welche Maschine hätten's denn gerne? MS-DOS, MS-Windows: Wie konnte das passieren? Die Evolution der Netze Peer to peer Netzwerke Store-and-forward Netzwerke USENET: Anarchie im Cyberspace Entwicklung der Zahl am Internet angeschlossenerrechner Übertragene Datenbytes im Internet ABSTRAKTIONSEBENEN VON RECHNERN Warum Abstraktionsebenen? Aufwärtskompatibilität, Portabilität Ebenen der Abstraktion... 9 Seite 2 von Kapitel_Einfuehrung.doc

3 Vorlesung Rechnerarchitektur Einführung. Die Historische Entwicklung der Rechenautomaten.. Die Entwicklung der Rechner-Hardware... Von Rädchen, Hebeln und Webstühlen 3 v.chr.: Erste Rechenhilfen: Erste Rechenhilfen in Mesepotamien und Babylonien um 3 vor Christus. 7. Jahrhundert: Maschinen für Grundrechenarten: Prof. Wilhelm Schickard (Tübingen) entwirft um 624 zahnradgetriebene Maschine, die sechsstellige Zahlen addiert und subtrahiert. Blaise Pascal präsentiert 642 eine Maschine, die achtstellige Zahlen addiert und subtrahiert. Gottfried Wilhelm Leibniz erfindet 673 die Staffelwalzen-Rechenmaschine, die alle vier Grundrechenarten ausführen kann. 9. Jahrhundert: Programmsteuerung: Joseph-Marie Jacquard baut um 8-88 lochkartengesteuertenwebstühle Charles Babbage entwickelt 833 eine lochkartengesteuerte Rechenmaschine mit mechanischen Speichern. Seine Freundin Ada Lovelace schreibt dafür die Programme. Hollerith baut 882 eine Lochkartenmaschine....2 Von Bits, Relais und Röhren 859: Das Zahlensystem: Der Mathematiker Georg Bool entwickelt die Boolschen Algebra. Zahlen werden durch Kombination der beiden Ziffern und dargestellt. Eine Ziffer kann durch eine einfache Ja/Nein Entscheidung oder Schaltzustand Ein/Aus repräsentiertwerden. Dies ist die mathematische Grundlage für die Arithmetik in heutigen modernen Rechnern. 938: Der erste binäre Computer: Bauingenieur Konrad Zuse baut Rechenmaschine ZUSE Z mit mechanischem Speicher, die auf binären Zahlen basiert. Nachfolgemodell ZUSE 3 arbeitet relaisgesteuert. 944: Theorie der Programmsteuerung: Mathematiker von Neumann schafft eine umfassende Theorie zur Programmsteuerung. Idee: Programme und Daten in gleicher Form und im gleichen Speicher ablegen. 945: Der erste elektronische Computer: John Eckert und John Mauchly bauen den ersten vollelektronischen Computer ENIAC für das amerikanische Militär. ENIAC füllt einenraum von 4 m 2, besteht aus 8, Elektronenröhren und verbraucht 5kW Strom. Einsatz für Berechnungen zum Bau der ersten Atombombe....3 Mainframe goes electronic 948: Der Transistor: William Schockley, John Bardeen und William Brattain entdecken in den Bell Laboratorien die Halbleitereigenschaften von Silizium und Germanium und bauen ersten Transistor. 956 erhalten sie dafür den Nobelpreis für Physik. 955: Fa. Bell: Erste Rechner mit Transistoren: Starke Erhöhung der Verarbeitungsleistung, Senken des Leistungsverbrauchs. Auftraggeber: amerikanisches Militär. 95: Die Diskette Der Japaner Yoshiro Nakamats erfindet die Diskette. 959: Der integrierte Schaltkreis: Jack Kilby erfindet bei Texas Instruments den integrierten Schaltkreis (IC): Mehrere Transistoren bilden auf einer Siliziumscheibe elektronische Schaltung. Zunächst nur wenige Transistoren, heute mehrere Millionen auf ca. -3cm 2. 6er Jahre: Großrechner und Minicomputer: Aufbau von Großcomputern (mainframes) mit ICs: Verkleinerung der Hardware bei Abnahme des Leistungsverbrauchs und Steigerung der Rechengeschwindigkeit. Speicherung der Daten in Ringkern-, Seite 3 von Kapitel_Einfuehrung.doc

4 Vorlesung Rechnerarchitektur später in Plattenspeichern. Ende der 6er Jahre: Minicomputer (PDP, VAX) für wenige Benutzer oder zum Steuern industrieller Anlagen und Maschinen....4 Small is beautiful 969: Der Mikroprozessor: Ted Hoff (Intel) entwickelt Chipsatz für japanischen Büromaschinenhersteller Busicom zur Steuerung eines programmierbaren Tischrechners. 44 Chipsatz ist so universell, dass einfacher Aufbau unterschiedlicher Systeme (Ladenkassen, Geldautomaten, Ampeln etc.) mit gleichartiger Hardware möglich ist. 23 Transistoren auf cm 2. 6 Instruktionen/sec. Intel erwirbt Nutzungsrechte von Busicom zurück. Vermarktung entwickelt sich nur zögerlich, da Anwender breite Unterstützung durch Entwicklungswerkzeuge, Programme, Entwicklungsbeispiele und Schulungen benötigen. 97: RAM - Der Arbeitsspeicher Bob Abbott (Intel) entwirft dynamisches RAM. Der 3 Baustein speichert 24 Bytes. 97: ROM - Der Programmspeicher Intel stellt EPROM (UV-löschbar) vor. Ursprünglich als Prototyp-Speicher konzipiert. 7er Jahre: Die 8-Bit Mikros IC-Herstellern bieten 8-Bit-Mikroprozessoren und Peripherie-ICs samt Entwicklungssoftware an. Bekannteste Typen: 88 (Intel, 974), 68 (Motorola, 974), Z8 (Zilog), 652 (Rockwell). Verwendung zunächst für intelligente Geräte....5 Die Rechner fürs Volk 975: Die ersten Mikrorechner Januar 975: POPULAR ELECTRONICS stellt Altair Computer von MITS vor. Weitere Firmen (Apple Computer, Commodore und Atari, uvam.) bieten bald auch Personal Computer an. Manche Firmen sind im Elektronikbereich etabliert (z.b. Atari als Hersteller von Videospielen), andere beginnen im Wohnzimmer mit Entwicklung und Herstellung (z.b. Apple Computer, Steve Jobbs). 979: 6-Bit Mikros Vorstellung erster 6-Bit Prozessoren: Intel 886, Motorola 68 (int.,32-bit), Zilog Z8,... 98: Der IBM-PC IBM stellt eigenen Personal Computers, den IBM-PC vor. Konzipiert als intelligentes Terminal für eigenen Großrechner, zunächst Massenmarkt nicht im Auge. Intel 6-Bit Prozessor 888. Intel übernimmt Marktführerschaft bei Prozessoren. PC-Nachbau, insbesondere in Fernost. Die PC-Alternative 68 basierte Systeme, Bedienung grafikorientiert. Atari Rechner häufig von Schülern und Studenten gekauft. Apple Rechner verbreitet im Desktop-Publishing Bereich. Marktanteil gegenüber IBM- Systemen eher klein. 8er Jahre: Hin zu 32 Bit Ende 985: Intel 8386 Prozessor vor. Es folgen 683, 8486 (989), Was nun? Bisher: CISC Prozessoren Bisherige Prozessoren sind Complex InstructionSet Computer (CISC), d.h. Maschinenbefehle sind komplex und leistungsfähig. Abbildung von Hochsprachenprogramme (C, Pascal, etc.) auf Maschinenbefehle nutzt nicht vollständig deren Komplexität. Ende der 8er Jahre: Alternative RISC Reduced Instruction Set Computer (RISC) besitzen für Hochsprachenprogramme optimierte Maschinenbefehle. Statt komplexem CISC Befehls können in gleicher Zeit mehrere einfache RISC Befehle ausgeführt werden. 9er Jahre: Situation heute Wettbewerb um Marktführerschaft zwischen CISC (Intel: Pentium) und RISC (IBM, Motorola, Apple: PowerPC; Digital: ALPHA) wieder offen. Hohe Rechenleistungen für Personal-Bereich auf allen Seiten. Marktführerschaft entscheidet sich eher im Softwarebereich: Verfügbarkeit von modernen Betriebssystemen und Softwarepaketen, Kompatibilität zur Software-Vergangenheit. Seite 4 von Kapitel_Einfuehrung.doc

5 Vorlesung Rechnerarchitektur..2 Geschichte der Betriebssysteme..2. Einführung Was ist ein Betriebssystem? Programm zur Verwaltung eines Rechners. Aufgaben: - interaktiver Dialog mit Benutzer, - Verwaltung Plattenspeicher, - Ansteuerung von Drucker, Bildschirm, etc. - Zeitlich verschachtelte Ausführung mehrerer Programme mehrerer Benutzer, (multi-user/multi-tasking) Ermöglicht sinnvolle Bedienung von Rechnern. Die Anfänge Anfang der 5er Jahre Betriebssysteme für die Großcomputer (IBM). Ende der 6er Jahre Echtzeitbetriebssysteme für Minicomputer (PDP, VAX). Abhängig von einem Computertyp, in Maschinensprache programmiert, nicht auf andere Typen übertragbar UNIX: Welche Maschine hätten's denn gerne? 969: Ein Spiel wird portiert ATT, Bell Laboratorium. 969 schreibt Kenneth Thompson Betriebssystem UNIX für PDP-7 Computer, um sein Spiel Space Travel, geschrieben für GE,645 Rechner, dort lauffähig zu machen. Er entwirft Sprache B und portiert UNIX in dieser Sprache auf PDP- Computer. Dennis Ritchie stößt zu Bell und formt aus B in kürzester Zeit C. 973: Reimplementierung von UNIX in C durch Ritchie, damit weitgehend maschinenunabhängig. 975: UNIX etabliert sich UNIX Version 6 wird 975 breiter Öffentlichkeit vorgestellt. Bis 978 ca. 6 Installationen. Vermarktung eher zögerlich, Preis 43,,Dollar. Billige Lizenzen für Universitäten, dort erfolgt Weiterentwicklung. 979: Version 7 Zeitgleich auf dem Markt mit 6-Bit Mikroprozessoren. Viele Lizenznehmer (Microsoft, Onix, Zilog,...), Namensvielfalt (Venix, Cromix, Xenix, Unidos, Idris,...). Mitte der 8er Jahre: Vernetzung und Grafik Network File System, grafische Oberfläche X entsteht. UNIX wird führendes Betriebssystem für Minicomputer und Workstations. Free Software Foundation: Freiheit für Software Richard Stallman ruft 985 GNU Projekt (GNU is Not Unix, mit Betonung auf dem G.) und die Free Software Foundation (FSF) ins Leben. Ziel ist die Freiheit der Software. Vorhandene Softwarepakete werden nachprogrammiert und neue Pakete entwickelt, z.b. Emacs Texteditor, GCC C-Compiler. Alle Pakete können frei weitergegeben werden und sind im Programm- Quelltext verfügbar. GNU Projekt basiert auf vielen Programmierer weltweit; Koordination durch Internet möglich. Linux: UNIX für PCs 99 beginnt der Student Linus Torwald UNIX für PCs zu entwickeln. Er verwendet Minix (UNIX Lehrsystem für PCs) und GNU C-Compiler. Nach einem halbem Jahr ist Linux Version. entstanden, Quelltext über Internet verfügbar. Unterstützt durch freie Software vom Internet umfasstversion.2 (Januar 992) Kommando- Interpreter, Editor, C-Compiler, viele weitere Hilfsprogramme. Zahl der Programmierer, Tester und Unterstützer wächst sehr stark. Newsgruppemboxtt alt.os.linux wird zur Koordination im Internet eingerichtet. Innerhalb kurzer Zeit entsteht Betriebssystem mit voller UNIX Funktionalität MS-DOS, MS-Windows: Wie konnte das passieren? 98: David programmiert für Goliath Die Firma Microsoft von Bill Gates und Paul Allen gewinnt den Auftrag von IBM, ein Betriebssystem PC-DOS für IBM-PCs zu liefern. Gates und Allen erwerben DOS Kernprogramme mit unkündbaren Nutzungsrechten.Mit IBM schließen sie einen nichtexklusiven Lizenzvertrag ab, können daher auch anderen PC-Herstellern das MS-DOS-Betriebssystem anbieten. Microsoft besitzt auch die Verkaufslizenz für einen BASIC-Interpreter. Seite 5 von Kapitel_Einfuehrung.doc

6 Vorlesung Rechnerarchitektur MS-DOS macht David zu Goliath DOS-Funktionalität ist sehr einfach, schränkt PC-Ausbau ein (z.b. nur 64 kbytes Hauptspeicher). Verbunden mit IBM-PC trotzdem MS-DOS Siegeszug, es macht Microsoft zum erfolgreichsten Softwarehaus unserer Zeit. Der Erfolg hält bis heute an. MS-Windows Zweite Hälfte der 8er Jahre: Microsoft versucht MS-Windows als grafikorientierte Oberfläche für PCs einzuführen. Erst mit Version 3. gelingt 99 der Durchbruch. Die Stabilität lässt noch Wünsche offen, trotzdem entstehen viele Programme, z.b. Textverarbeitung, Zeichenprogramme. Mit Version 3. beginnt 992 die große Verbreitung auf PCs. Weiterentwicklung: Windows 95, Windows NT, Windows 98, Windows 2, Die Evolution der Netze..3. Peer to peer Netzwerke ARPANET: Überleben beim nuklearen Angriff Förderung von Rechnernetzen in den 6er Jahren durch amerikanisches Militär. Motivation: Gesucht wird ein Kommunikationsnetz, in dem nach einem nuklearen Angriff verbleibende Knoten selbständig mögliche Verbindungen wieder herstellen. Vorgeschlagen werden peer to peer (Gleicher zu Gleichem) Netze. Oktober 967: Die Entwicklung des ARPANET beginnt. Erster Knoten wird am. September 969 inlos Angeles (UCLA) installiert. Es folgen Knoten in Stanford (SRI), Santa Barbara (UCSB) und Utah. In Utah ist erstmals ``remote login'' möglich. Oktober 972:First International Conference on Computer Communications in Washington.ARPANET wird mit 4 Rechnern vorgeführt. Gründung derinternetwork Working Group, um Protokolle zu definieren. Vision für internationale Netzwerke: Unabhängige lokale Netze, die über standardisiertegateways verbunden sind. gewinnt im ARPANET große Beliebtheit. Der Aufwand zum Schreiben elektronischer Texte ist gering im Vergleich zum korrekt aufgesetzten Brief. Auch braucht der Empfänger weniger perfekt und förmlich angesprochen werden. 983: ARPANET wird getrennt in ARPANET und MILNET. MILNET wird in dasdefense Data Net integriert. 99 löst das NSFNET verbleibendes ARPANET ab Store-and-forward Netzwerke Unix-to-Unix Copy: Computer unterhalten sich Parallel zum ARPANET werden Netzwerke entwickelt, welchenachrichten von Rechner zu Rechner kopieren. Basis dieser Systeme ist das Unix-to-Unix Copy Protokoll (UUCP). Es wird 976 von Mike Lesk in den ATT Bell Laboratorien entwickelt und 977 mit UNIX Version 7 ausgeliefert. UUCP- Netzwerke sind langsamer als das ARPANET und werden auch alsnetzwerke des armen Mannnes bezeichnet. CSNET: Kommunikation über Grenzen 979 organisiert Lawrence Landweber (Univ. Wisconsin) ein Meeting mit DARPA, NSF und Computerwissenschaftlern. Die Entwicklung eines Computer Science Research Network (CSNET) wird vorgeschlagen. Es soll auf UUCP, Modems und dem vorhandenen Telefonsystem aufsetzen. Universitäten ohne Anschluss am ARPANET erwarten damit Verbesserungen der Infrastruktur für Forschung und höhere Attraktivität als Studienstandort. CSNET ist zunächst als lokales Netzwerk geplant, doch bald wird eine Schnittstelle zum ARPANET vorgesehen. Die Kopplung zwischen ARPANET und CSNET soll für den Anwendertransparent werden, d.h. Netzdienste erscheinen auf beiden Netzwerken gleich. Dazu wird das TCP/IP Protokoll entwickelt, das Internet ist ``geboren''. Die Implementierung des CSNET erfolgt in der ersten Hälfte der 8er Jahre USENET: Anarchie im Cyberspace USENET: Unix User Network Nachrichtenartikel ( News) werden zwischen Rechnern kopiert und weltweit Anwendern verfügbar gemacht. Anwender können Artikel schreiben, lesen und beantworten. Artikel sind in Gruppen zusammengefasst. Gruppen werden hierarchisch einer Hauptgruppen zugeordnet: comp, misc, news, rec, sci, soc, talk und andere. Seite 6 von Kapitel_Einfuehrung.doc

7 Vorlesung Rechnerarchitektur 979 erstellt Steve Bellovin(Student an deruniv. North Carolina) UNIX Kommandodateien und automatisiert die Kommunikation mit der Duke Universität. Diese Dateien werden in C umgeschrieben und erweitert (news A-Version). 98 folgt B-Version. Neben UUCP Verbindungen entstehen im USENET Datenverbindungen über ARPANET. Im TCP/IP wird einnet News Transfer Protocol (NNTP) vorgesehen und damit das USENET in das Internet integriert. Weltweite Verteilung dernews ist hierarchisch organisiert. Das hierarchischebackbone (Rückgrad) wird 983 von Gene Spafford eingerichtet. Neue Newsgruppen werden in die hierarchischen Backbone- Struktur eingefügt. Aber: Keine autoritäre Struktur.Der Administrator jedes Rechners im USENET kann selbständig entscheiden, welche Nachrichten transportiert oder unterdrückt werden. USENET:The backbone cabal Mit wachsender Zahl von Anwendern entsteht der Ruf nach demokratischen Entscheidungen im USENET. Es werden Regularien zum Einrichten neuer Gruppen festgelegt. Richard Sexton schlägt eine Gruppe rec.sex vor, eine Gruppe rec.drugs wird vorgeschlagen, und beide Gruppen werden von den Anwendern gemäß Regularien gewählt. Die Betreiber desbackbone verweigern die Einrichtung und Verteilung dieser Gruppen ( backbone cabal ). Anwender gründen daraufhin eine neue Hauptgruppe tt alt und richten alt.sex und alt.drugs ein. Die alt Verteilung wird unabhängig vombackbone organisiert und etabliert sich im USENET. Die Revolution der Anwender untermauert die Demokratie (oder Anarchie) im Netz. Trotz Weigerungen wird Gene Spafford, der Vater desbackbone, als Autorität im Netz bestätigt und bleibt für das Einrichten neuer Gruppen zuständig. USENET:Flame wars Flame wars (Flammenkriege) sind ein Phänomen zur Meinungsbildung im USENET. Flammenkriege entzünden sich an kontroversen Diskussionen in einer Newsgruppe und schaukeln sich langsam hoch.lurkers und Newbies beteiligen sich plötzlich an der Diskussion. Ein Flammenkrieg kanntagelang andauern, oder er kann nach kurzer Zeit im Sande verlaufen Entwicklung der Zahl am Internet angeschlossenerrechner Jan 8 Jan 82 Jan 84 Jan 86 Jan 88 Jan 9 Jan 92 Jan 94 Jan 96 Abbildung : Anzahl der am Internet angeschlossenen Hosts (Quelle: ftp://nic.merit.edu/statistics/nsfnet/history.hosts)..3.5 Übertragene Datenbytes im Internet. Im Zeitraum von März 99 bis April 995 war eine Messung der auf dem Internet übertragenen Datenbytes möglich. Die Messdaten sind in Abbildung 2 dargestellt. Ab Ende 994 wurde eine neue Netzinfrastruktur in Betrieb genommen und ab Mai 995 die alte Netzhardware außer Betrieb genommen. Daher rührt der Abfall der übertragenen Bytes am Ende des Diagramms. In der neuen Netzhardware waren keine Messungen der übertragenen Datenbytes mehr möglich. Seite 7 von Kapitel_Einfuehrung.doc

8 Vorlesung Rechnerarchitektur 2E+3 2E+3 2E+3 E+3 E+3 E+3 8E+2 6E+2 4E+2 2E+2 Jan 9 Jan 92 Jan 93 Jan 94 Jan 95 Abbildung 2: Messung der Datenübertragung im NFSNET von März 99 bis April 995 (Quelle: ftp://nic.merit.edu/statistics/nsfnet/history.bytes).2 Abstraktionsebenen von Rechnern.2. Warum Abstraktionsebenen? Einen Rechner kann man, so wie alle komplexe Systeme, auf verschiedenen Abstraktionsebenen betrachten. Die Ebenen reichen von der Sicht des unbedarften Anwenders bis herunter auf die Ebene der Transistoren und der darunterliegenden Physik. Der große Erfolg im Einsatz von Rechnern ist, dass ein Bedienen des Rechners in einer Ebene weitgehend unabhängig von den darunterliegenden Ebenen ist und somit ein Benutzer nur die für ihn relevante Ebene kennen muss. Ein Anwender eines Textverarbeitungssystems benötigt keinerlei Programmierkenntnisse und ein Programmierer braucht sich nicht um die Logikstruktur (Gatter, Flipflops) der Hardware zu kümmern, von denen sein Programm ausgeführt wird..2.2 Aufwärtskompatibilität, Portabilität Die Einführung von Abstraktionsebenen ermöglicht es auch, unterschiedliche Rechner ab einer bestimmten Ebene gleich erscheinen zu lassen. Ein wichtiger Aspekt ist dabei die Aufwärtskompatibilität, sie ermöglicht die Benutzung vorhandener Programme auf einem neuen Rechner (Investitionsschutz). Neue Features des Rechners können natürlich nur durch neue Programme und nur auf dem neuen Rechner genutzt werden. Der erste Anbieter aufwärtskompatibler Rechner auf Maschinencode-Ebene war IBM mit seiner 36 Serie. Leistungsfähigere, neuere Modelle der Familie konnten die Programme der älteren Modelle direkt und ohne Modifikation ausführen. Ein weiteres gutes Beispiel für Aufwärtskompatibilität auf Maschinencode-Ebene ist Familie der X86- Prozessoren. Viele für den 886-Prozessor unter DOS geschriebenen Programme sind heute mit Pentium-Prozessor und Windows-Betriebssystem weiterhin ohne Änderungen einsetzbar. Ein zweiter Aspekt ist die Portabilität. Bietet man das gleiche Programm auf unterschiedlichen Rechnern an, zeigen diese Rechner auf der Benutzerebene das gleiche Verhalten. Dies ist besonders hilfreich, wenn Anwender auf wechselnden Plattformen arbeiten müssen. Der Anwender spart dann Einarbeitungszeit und gewinnt intensiver Erfahrung mit nur einem Programm. Notwendige Voraussetzung für für Portabilität ist, dass man sich eine Abstraktionsebene (Application Programmers Interface, API) schafft, auf der das Programm bei allen Rechnern aufbaut. Diese Abstraktionsebene muss dann bei allen unterstützten Rechnern realisiert werden. Beispiele für Programme, die auf unterschiedlichen Plattformen lauffähig sind und dort ein (nahezu) gleiches Verhalten zeigen, sind heute sehr vielfältig. Beispielhaft sollen hier der Internet-Browser von Netscape, die Textverarbeitung von Star-Office, Entwicklungstools der GNU-Software und das Betriebssystem Linux angeführt werden. Seite 8 von Kapitel_Einfuehrung.doc

9 Vorlesung Rechnerarchitektur.2.3 Ebenen der Abstraktion In der Tabelle sind die verschiedenen gängigen Abstraktionsebenen, auf denen Rechner betrachtet werden, aufgelistet. Betrachtet man die Ebenen von oben nach unten, so nimmt die Abstraktion ab und es werden immer mehr Details eines spezifischen Rechners sichtbar. Tabelle : Abstraktionsebenen eines Rechners Abstraktion Beschreibung Zugehörige Vorlesungen Hoch Niedrig Benutzerebene, Applikationsprogramme Hochsprachen (C, C++, Pascal, Java) Assembler Sprachen, Maschinencode Mikroprogramme, Hardware-Steuerung Funktionseinheiten (ALU, Speicher, etc.) Logikgatter Transistoren, Leitungen, Physik Autorensysteme, Einführung in Word,... Informatik, OOP, Algorithmen und Datenstrukturen, Software-Engineering, Benutzeroberflächen,... Mikrorechnertechnik Digitaltechnik und Rechnerarchitektur Physik, Elektronik, Entwurf integrierter Schaltungen Benutzerebene: Auf Benutzerebene sind Rechner heute vielen Menschen bekannt. Auf dieser Ebene startet man Applikationsprogramme, die dem Benutzer ein der Aufgabe angepasstes Erscheinungsbild präsentieren. Vom darunterliegenden Rechner ist wenig zu sehen. Hochsprachenebene: Auf dieser Ebene erstellen die Softwareentwickler ihre Hochsprachen-Programme z.b. in C, Pascal, Fortran oder Java. Der Entwickler sieht die von ihm verwendete Hochsprache, deren Datenstrukturen und Objekte. Er braucht sich nicht damit beschäftigen, wie seine Funktionen, Objekte und Daten auf die jeweilige Maschine abgebildet werden. Diese Aufgabe wird ihm vom Übersetzer (Compiler) abgenommen, der die Objekte, Daten und Funktionen von der Hochsprache auf den gewählten Rechnertyp abbildet. Programme einer Hochsprache können mit einem anderen Compiler auf einen anderen Rechner abgebildet werden, und sollten dort (hoffentlich) das gleiche Verhalten zeigen. In diesem Fall spricht man von Quellcode-Kompatiblilität. Assembler/Maschinencode Ebene: Die Hochsprachen haben relativ wenig mit der darunterliegenden Maschine zu tun. Der Übersetzer erzeugt aus den Hochsprachenprogrammen die zu einer Maschine gehörigen lauffähigen Instruktionen. Instruktionen beschreiben, wie Daten in der zugehörigen Maschine transferiert und verarbeitet werden. Die Menge aller Instruktionen einer Maschine wird als Instruktionssatz bezeichnet. Instruktionen lassen sich direkt auf eine Sequenz von und abbilden. Auf diese Weise sind die Instruktionen im Speicher kodiert. Diese Beschreibung wird als Maschinencode oder Binärcode bezeichnet. Da ein Programmieren mit Maschinencode mühsam und fehlerträchtig ist, werden die Instruktionen zusätzlich mit Mnemocodes beschrieben. Mnemocodes sind Beschreibungen der Instruktionen, welche eingängiger als die binäre Instruktionssequenz und somit leichter zu merken sind als die Maschinencodes; sie entsprechen diesen jedoch :. Ein mit Mnemocodes formuliertes Programm wird als Assembler-Programm bezeichnet. Es muss vor der Ausführung mit einem als Assembler bezeichneten Programm übersetzt werden. Dieser Assembler übersetzt die Mnemocodes in die zugehörigen Maschinencodes und ersetzt symbolische Adressen durch reale Speicheradressen. Gemäß den Abstraktionsebenen existieren unterschiedliche Rechner mit gleichem Instruktionssatz. Diese Rechner sind somit Maschinencode-kompatibel. Sie unterscheiden sich jedoch ab der darunterliegenden Steuerungsebene (Siehe Abschnitt.2.2). Steuerungsebene (Mikroprogramm, Hardware): Auf der Sterungsebene werden die Instruktionen sequentiell nacheinander interpretiert und in Einzelschritte zerlegt. Diese Schritte sind Transfers zwischen Speicher und Registern, direkt zwischen Registern und notwendige Verarbeitungsschritte. Die Steuerungsebene lässt sich unterschiedlich realisieren. Früher waren in mittleren und großen Rechnern häufig Mikroprogrammsteuerungen zu finden. Heutige moderne Rechner besitzen aus Gründen der Performance und des Hardwareaufwands festverdrahtete Steuereinheiten. Seite 9 von Kapitel_Einfuehrung.doc

10 Vorlesung Rechnerarchitektur Funktionseinheiten Ebene: Auf der Ebene der Funktionseinheiten werden die Datenpfade, Register und Verarbeitungseinheiten (ALU) zur Verfügung gestellt, die durch die Steuerungsebene in der zur Instruktionsausführung notwendigen Reihenfolge angesprochen werden. Logikebene: Die Logikebene umfasst alle Gatterfunktionen, die zur Realisierung der Funktionseinheiten benötigt werden. Transistorebene: Die Transistorebene ist die physikalische Schicht, mit der die Logikfunktionen realisiert werden. Seite von Kapitel_Einfuehrung.doc

11 Digitaltechnik und Rechnerarchitektur Vorlesung Kapitel 2: Logische Funktionen FH Osnabrück Prof. Dr.-Ing. B. Lang. Version vom 2.7.4

12 Inhalt des Abschnitts 2 LOGISCHE FUNKTIONEN GRUNDBEGRIFFE Eigenschaften einer Hardware Abbildung von Zahlen und Codes auf Hardware Ein erster Ansatz: Abbildung von Zahlen auf analoge Spannungen Abbildung einer Binärziffer auf ein Signal Abbildung von Dualzahlen auf binäre Signalvektoren Analoge und digitale Größen Analoge Signale Wertdiskrete Signale Zeitdiskrete Signale Wert- und zeitdiskrete Signale Beschreibung von Funktionseinheiten Tabellen Boolesche Gleichungen Schaltsymbole Hardwarebeschreibungssprachen BOOLESCHE ALGEBRA Elementare boolesche Operatoren: UND, ODER, NICHT Null und Eins Gesetze Idempotenzgesetze Komplementgesetze Boolesche Funktionen Funktionen mit einem Eingang und Ausgang Funktionen mit zwei Eingängen und einem Ausgang Boolesche Funktionen mehrerer Variabler Rechenregeln der Schaltalgebra Kommutativgesetze Assoziativgesetze Distributivgesetze Kürzungsregeln De Morgansche Gesetze Dualitätsprinzip, Shannonsches Gesetz Vollständige Logiksysteme Vollständiges System aus UND, ODER, NICHT Vollständige Systeme mit NAND- und mit NOR-Operator Mehrstufige Schaltungen NORMALFORMEN Minterm Disjunktive Normalform (DNF) Maxterme Konjunktive Normalform Realisierung von Normalformen mit Invertierung der Ausgänge MINIMIEREN BOOLESCHER FUNKTIONEN Minimierungsverfahren KV-Diagramm KV-Diagramm für zwei Eingangsvariable KV-Diagramm für 3 Eingangsvariable KV-Diagramm für 4 Eingangsvariable KV-Diagramme mit 5 und 6 Eingangsvariablen Implikanten Definitionen Lokalisierung von Implikanten im KV-Diagramm Minimierung boolescher Funktionen mittels Primimplikanten Minimierung unter Ausnutzung von Redundanzen Minimierungsverfahren von Quine und Mc Cluskey HAZARDS Signalverläufe von Hazards Beispiel eines Hazards Eliminieren von Hazards Regeln zum Eliminieren von Hazards... 8 Seite 2 von 4 Kapitel2_Logische_Funktionen.doc

13 2 Logische Funktionen 2. Grundbegriffe 2.. Eigenschaften einer Hardware Eine Hardware besteht aus Funktionseinheiten und aus Signalen, welche diese Funktionseinheiten verbinden. Signale: Auf den Signalen werden Werte übertragen. Signale reichen somit Werte von einer Funktionseinheit zu anderen Funktionseinheiten weiter. In elektronischen Schaltungen werden Signale durch elektrische Leitungen realisiert. Funktionseinheiten: Funktionseinheiten verknüpfen die Werte der Eingangssignale und erzeugen daraus Ausgangswerte, welche über die Ausgangssignale ausgegeben werden. Eine Hardware arbeitet nebenläufig und ereignisgesteuert. Weiterhin benötigt jede Funktionseinheit eine endliche Berechnungszeit zur Verknüpfung von Eingangssignalen zu Ausgangssignalen: Nebenläufigkeit: Alle Funktionseinheiten arbeiten nebenläufig. Das bedeutet, dass alle Funktionseinheiten einer Hardware gleichzeitig ihre Berechnungen durchführen. Ereignissteuerung: Eine Berechnung in einer Funktionseinheit findet dann statt, wenn ein Ereignis auftritt. Ereignisse treten an den Eingängen einer Funktionseinheit auf, wenn sich der Wert eines Eingangssignals ändert. Ereignisse bewirken eine Neuberechnung der Ausgangswerte durch die Funktionseinheit. Bei der Ausgabe der Werte werden dann neue Ereignisse auf den Ausgangssignalen der Funktionseinheit erzeugt. Endliche Berechnungszeit: Nach Änderung eines Signals am Eingang einer Funktionseinheit dauert es eine von der Funktionseinheit und dem Ereigniseingang abhängige Zeit, bis sich diese Änderung an einem Ausgang auswirkt. Diese Zeit wird als Verzögerungszeit bezeichnet. Für eine Funktionseinheit bestehen in Abhängigkeit der Ein- und Ausgänge eine Vielzahl von Verzögerungszeiten. Eine Software wird im Gegensatz zu einer Hardware sequentiell und gesteuert vom Programmcode abgearbeitet. Eine Ereignissteuerung ist in modernen Programmiersprachen wie C oder C++ nicht direkt vorgesehen. Wird eine Ereignissteuerung benötigt, muss sie aufwendig durch das Betriebssystem eines Rechners mittels Unterbrechungen (Interrupts) und Bibliotheksfunktionen bereitgestellt werden. Damit arbeitet eine Hardware völlig anders als eine Software. Beispiel: Eine einfachen Hardware zur Berechnung von E=(S+S2) P In Abbildung ist die Hardware-Realisierung der Gleichung E=(S+S2) P in einem einfachen Hardwaremodell aus Signalen und Funktionseinheiten dargestellt. Signal S Signal S2 Funktionseinheit Addierer Signal tmp Funktionseinheit Multiplizierer Signal E Signal P Abbildung : Erstes Hardwaremodell zur Berechnung der Gleichung E=(S+S2) P. Die Hardware besteht aus zwei Funktionseinheiten: einem Addierer und einem Multiplizierer. An den Addierer sind zwei Eingangssignale S und S2 angeschlossen, über welche Werte für S und S2 an den Addierer gegeben werden können. Das Ergebnis wird auf ein internes Signal tmp ausgegeben. Dieses interne Signal wird zusammen mit dem Signal P als Eingangssignal auf den Multiplizierer gegeben. Dieser berechnet die Ergebniswerte der Gleichung und gibt diese auf dem Signal E aus. Wir wollen für die Funktionseinheiten die folgenden festen Verzögerungszeiten td zwischen einem Ereignis an einem beliebigen Eingang und dem resultierenden Ereignis an einem Ausgang annehmen: Addierer: td Add (S,tmp) = td Add (S2,tmp) = td Add = 5 ns Multiplizierer td Mult = 2 ns Seite 3 von 4 Kapitel2_Logische_Funktionen.doc

14 Im Beispiel wollen wir festlegen, dass die Eingangssignale S und S2 zum Zeitpunkt die Werte einnehmen und das Signal P den Wert,2 einnimmt. Folgende Ereignisse sollen anschließend auf den Eingangssignalen auftreten: S wechselt auf 7 zum Zeitpunkt 4 ns S2 wechselt auf 5 zum Zeitpunkt ns P wechselt auf,35 zum Zeitpunkt 9 ns Mit den beschriebenen Eigenschaften und Ereignissen kann ein Zeitdiagramm für das Hardwaremodell aus Abbildung erstellt werden, welches für die vorgegebenen Ereignisse die zeitliche Abfolge der Signale zeigt. Dieses Zeitdiagramm ist in Abbildung 2 dargestellt. S 7 S2 5 tmp 5 22 P,2,35 E 3 4,4 7, t[ns] td Add td Add td Mult td Mult td Mult Abbildung 2: Ein Zeitdiagramm mit Signalverläufen zur Hardware von Abbildung. Man erkennt, dass das zeitlich erste Ereignis, welches den Wert von S2 ändert, erst mit der Verzögerung td Add = 5 ns ein Ereignis auf dem Ausgangssignal tmp des Addierers (Wechsel von nach 5) hervorruft. Dieses Ereignis auf tmp bewirkt am Multiplizierer mit der Verzögerung td Mult = 2 ns ein Ereignis auf dem Ergebnissignal E (Wechsel von auf 3). Entsprechend wirken auch die beiden anderen Ereignisse auf S und P mit Verzögerung auf das Ergebnissignal ein. Die Abläufe können der Abbildung 2 entnommen werden Abbildung von Zahlen und Codes auf Hardware Es stellt sich nun die Frage, wie die in Abschnitt Datenrepräsentation dargestellten Zahlen und Codes auf Signale einer Hardware abgebildet werden können. Dann können die auf den Zahlen benötigten Operationen durch Funktionseinheiten realisiert werden und man erhält die ersten Grundbausteine zum Aufbau eines Rechners Ein erster Ansatz: Abbildung von Zahlen auf analoge Spannungen In der analogen Signalverarbeitung bildet man Signalwerte auf Spannungen ab. Man führt dazu eine Zuordnung zwischen den Zahlenwerten und den Spannungswerten durch. Dabei kann eine kontinuierliche Zuordnung durchgeführt werden. Die Genauigkeit der Darstellung ist nur durch Rauschen auf den Signalen begrenzt. Mit elektrischen und elektronischen Bauelementen lassen sich dann Funktionseinheiten aufbauen, welche aus Eingangssignalen gewünschte Ausgangssignale ermitteln. Bis Anfang der 8er Jahre wurden nach diesem Prinzip Analogrechner aufgebaut, welche neben der Ausführung von Grundrechenarten auch in der Lage waren, schwierige Aufgaben (z.b. Lösen komplexer Differentialgleichungen) zu bearbeiten. Beispiel: Analoges Rechnen Aufgabe: E = Z C. Multiplikation einer Zahl <Z<255 mit einer Konstanten C< zum Ergebnis E. Als Wertebereich für die Zahlen wird..255 vorgegeben. Als Spannungsbereich wird..v vorgegeben. Vorgehen:. Abbildung des reellen Wertebereichs..255 auf den Spannungsbereich..V. Umrechnen der Zahl Z auf die Eingangsspannung Ue: Ue=Z/ Lösungsmöglichkeit für die Funktionseinheit: Anlegen der Spannung Ue an einen unbelasteten Spannungsteiler. Seite 4 von 4 Kapitel2_Logische_Funktionen.doc

15 R Ue R2 Ua= Ue (R2/(R+R2)) Die Widerstände R und R2 des Spannungsteilers sind so dimensioniert, dass C = R2/(R+R2) gilt. Dann errechnet sich die (unbelastete) Ausgangsspannung zu Ua = Ue R2/(R+R2) = Ue C. 3. Ergebnis ermitteln: Abbildung des Spannungsbereichs auf den vorgegebenen, reellen Wertebereich der Zahlen. Umrechnung der Ausgangsspannung: E = Ua 255. Dann gilt: E = Ua 255 = Ue R2/(R+R2) 255 = Ue C 255 = Z/255 C 255 = Z C Abbildung einer Binärziffer auf ein Signal Logikzustand Eine Zahlendarstellung mit Basis b=2 (Binärdarstellung, siehe Abschnitt Datenrepräsentation) benötigt nur die Ziffern und (Binärziffern) zum Aufbau von Zahlen. Ordnet man eine einzelne Binärziffer einem Signal zu, darf dieses Signal nur die Werte oder annehmen. Solch ein Signal wird als binäres Signal oder Binärsignal bezeichnet. Der Wert des Signals wird als Logikzustand bezeichnet. Er dient zur Beschreibung des mathematischen Verhaltens. Der Wert eines Signals ist keine statische Größe, sondern er ändert sich über der Zeit. Der Wert eines Signals kann also entweder als Wert zu einem festen Zeitpunkt oder als Funktion des Wertes über der Zeit angegeben werden Logikpegel In einer realen Hardware muss der Wert eines Binärsignals auf eine physikalische Größe abgebildet werden. Geeignete physikalische Größen sind z.b. Spannung, Strom, Licht, Luftdruck, etc. Da nur die Werte und abzubilden sind, brauchen diese Werte nicht exakt einem Wert der physikalischen Größe zugeordnet werden, sondern es reicht die Zuordnung eines Wertes zu einem Wertebereich. Solch ein Wertebereich wird als Pegel oder Logikpegel bezeichnet. physikalische Größe H L TTL, CMOS H H L L ECL V24 Abbildung 3: Pegelbereiche von Logik-Technologien Abbildung 3 zeigt qualitativ die Pegelbereiche einiger digitaler Logikfamilien. Es ist zu beachten, dass sich die Pegelbereiche nie überlappen, vielmehr ist ein Spannungsabstand zwischen beiden Bereichen vorgesehen. Somit ist bei gültigen Pegelwerten immer eine eindeutige Zuordnung eines Pegels zu einem Logikzustand möglich. Bei TTL und CMOS 2 liegen beide Pegel im Bereich positiver Spannung. Der Pegelbereich L beginnt bei Volt bis zu einer maximalen Spannung (z.b.,8 V), nach einer Lücke schließt sich dann der positive Pegelbereich an. Bei schneller ECL-Logik 3 liegen beide Pegel im negativen Spannungsbereich. Dort schließt sich der H-Pegel an Volt an. Der L-Pegel liegt weiter unten im negativen Bereich. TTL: Transistor-Transistor Logic 2 CMOS: Complementary Metal Oxide Semiconductor 3 ECL: Emitter Coupled Logic Seite 5 von 4 Kapitel2_Logische_Funktionen.doc

16 Die mit V24 bezeichneten Pegelbereiche gelten für serielle Schnittstellen. Dort sind die Pegelbereiche symmetrisch um Volt angeordnet. Die Bezeichnung V24 rührt daher, dass die Spannungsdifferenz zwischen der oberen Grenze des H-Pegels und der unteren Grenze des L-Pegels maximal 24 Volt beträgt Zuordnung von Logikpegeln zu Logikzuständen Die Zuordnung von Logikpegeln zu Logikzuständen muss in einer Schaltung eindeutig festgelegt werden. Dazu gibt es zwei Möglichkeiten: Einheitliche Logikvereinbarung: Es erfolgt eine eindeutige Zuordnung der Pegel zu Zuständen in der gesamten Schaltung. Dabei kann zwischen zwei Zuordnungen ausgewählt werden. Die erste Zuordnung (H,L) (,) wird als positive Logik bezeichnet, die zweite Zuordnung (L,H) (,) als negative Logik. Für die einzelnen Signale muss dann keine Zuordnung mehr angegeben werden. Direkte Angabe der Logikzuordnung: Für jedes extern zugeführte Signal wird die Zuordnung zwischen den externen Logikpegeln und den intern zugeordneten Logikzuständen angegeben. Soll für ein Signal negative Logik spezifiziert werden, wird dies mit einem Polaritätsindikator gekennzeichnet. Fehlt der Polaritätsindikator gilt positive Logik für die Zuordnung dieses Signals. Eingänge Funktionsblock Ausgänge E Logikpegel (extern) E2 H L H L Interne Beschreibung durch Logikzustände H L H L A Logikpegel (extern) A2 Abbildung 4: Individuelle Spezifikation der Logikzuordnung In Abbildung 4 sind diese Zusammenhänge nochmals veranschaulicht. Im Inneren des dargestellten Funktionsblocks gelten die Logikzustände und, außerhalb gelten die Logikpegel H und L. Für die Signale E und A gilt negative Logik, beide sind daher mit dem Polaritätsindikator gekennzeichnet. Für die Signale E2 und A2 gilt hingegen positive Logik, daher ist kein Polaritätsindikator vorhanden Bezeichnung von Binärsignalen In der Digitaltechnik vergibt man Signalnamen so, dass in der internen Beschreibung einem Signal bei Gültigkeit der Wert und ansonsten der Wert zugeordnet wird. Dem -Zustand entspricht dann die Aussage Wahr, der -Zustand markiert die Aussage Falsch. Beispiele sind Signale mit der Bezeichnung Start, Löschen oder Setzen. Wenn das betreffende Signal den Wert annimmt, soll die mit dem Signalnamen assoziierte Funktion ausgeführt werden, bei bleibt die Funktion deaktiviert. In realen Schaltungen haben Binärsignale aus technischen Gründen häufig die umgekehrte Polarität, d.h. wenn ein Signal den Logikzustand annimmt ist die Aussage Wahr und es soll eine assoziierte Funktion ausgeführt werden. Logikzustand bezeichnet dann die Aussage Falsch. In diesen Fällen fügt man dem Signalnamen eine Negation hinzu und erhält einen Signalnamen in Komplementdarstellung. Gebräuchlich sind unterschiedliche Markierungen der Negation, z.b. Überstrich über dem Signalnamen, Vor oder Nachstellen des / -Zeichens, Voranstellen des -Zeichens, Nachstellen des #- Zeichens und weitere. Beispiel: Folgende Bezeichnungen beschreiben alle das Signal Start in Komplementdarstellung: /Start, Start/, Start, Start, Start# Abbildung von Dualzahlen auf binäre Signalvektoren Zur binären Darstellung einer Zahl in einer Hardware muss jede Ziffer der Zahl einem Binärsignal zugeordnet werden. Es ist sinnvoll, bei der Beschreibung einer Hardware die einzelnen Binärsignale zu höherwertigen Signalstrukturen zusammenzufassen. Damit ist eine übersichtliche und kompaktere Beschreibung von Hardware möglich. Beim späteren Betrieb der Hardware ist diese Zusammenfassung jedoch nicht von Belang, dort arbeitet jedes Signal unabhängig von anderen Signalen Darstellung von Festkommazahlen Festkommazahlen lassen sich durch einen Vektor von Binärsignalen darstellen. Die Größe des Vektors entspricht der Stellenanzahl der Zahl. Jedem Element des Signalvektors wird eindeutig eine Ziffer des repräsentierten Zahlenformats zugeordnet. Seite 6 von 4 Kapitel2_Logische_Funktionen.doc

17 Beispiel: Repräsentation einer Festpunktzahl durch einen Signalvektor Nachfolgende Abbildung zeigt eine Hardware mit einer Funktionseinheit, an welche ein Signalvektor Z als Eingangssignal angeschlossen ist. Z 3 = Z 2 = Z = Z = Z - = Z -2 = Z=() 2 Funktionseinheit Wir wollen annehmen, dass der Signalvektor am Eingang eine Festkommazahl aus 4 Vorkomma- und 2 Nachkommastellen repräsentiert. Daher besteht der Vektor aus 6 Einzelsignalen, welche sich logisch zur Beschreibung der Hardware zu einem Vektor zusammenfassen lassen. Zum dargestellten Zeitpunkt hat der Signalvektor den Wert, was bei einer Interpretation als Festkommazahl den Wert (,)=,25 ergibt. Von einem beliebigen Signalvektor kann man ohne Kenntnis der Zuordnung zwischen Ziffern und Binärsignalen nicht auf die repräsentierten Zahlen zurückschließen. Ein Signalvektor an sich hat kein Zahlenformat. Erst durch die Interpretation des Vektors als Festkommazahl und die richtige Zuordnung der Vektorkomponenten zu den Ziffern ergeben sich sinnvolle Zahlenwerte. Ein Signalvektor nimmt, wie auch andere Signale, keinen konstanten Wert an, sondern ändert sich über der Zeit Darstellung von Codes Zu jedem Zeichen eines Codes gehört ein Codewort, welches in einer binären Form dargestellt werden kann. Die binären Codeworte bestehen aus einer festen Anzahl von Binärstellen und können somit direkt analog den Festkommazahlen auf Signalvektoren abgebildet werden Darstellung von Gleitkommazahlen Gleitkommazahlen können durch einen Vektor für die Mantisse, einen Vektor für den Exponenten und ein einzelnes Signal für das Vorzeichen dargestellt werden. Somit erhält man eine Signalstruktur aus den drei genannten Elementen, welche sich in 2 Stufen bis auf die Binärsignale auflösen lässt. m - m -2 m -m... Mantisse m e e e x... Exponent e F VZ Abbildung 5: Aufbau einer Signalstruktur F zur Repräsentation von Gleitkommazahlen 2..3 Analoge und digitale Größen Signalwerte stellen physikalische Größen dar, die sich über der Zeit verändern. Physikalische Größen lassen sich unterteilen in analoge und digitale Größen: Analoge Größe: Eine analoge Größe kann innerhalb eines Wertebereichs jeden beliebigen Wert annehmen. Digitale Größe: Eine digitale Größe kann innerhalb des Wertebereichs nur fest vorgegebene, diskrete Werte annehmen. Physikalische Größen liegen zur Weiterverarbeitung in einer Hardware in unterschiedlicher Form vor: Analog Wertdiskret Zeitdiskret Wenn Signalwerte in einer Hardware verarbeitet werden sollen, muss diese Hardware entweder im Hinblick auf die vorliegende Repräsentation der Signale entworfen werden oder die Signale müssen in die benötigte Repräsentation gewandelt werden. Zur Wandlung analoger Werte in digitale Signale dienen Seite 7 von 4 Kapitel2_Logische_Funktionen.doc

18 Analog /Digitalwandler, zur Wandlung digitaler Werte in analoge Größen dienen Digital-/Analogwandler. Ob eine Verarbeitung analoger oder digitaler Signale sinnvoller ist, muss eine jeweilige Applikation entscheiden. Vorteile einer analogen Verarbeitung sind die hohe Geschwindigkeit bei der Verknüpfung der Signale. Auch braucht, wenn die Signale analog vorliegen, keine Wandlung vorgenommen werden. Vorteile der digitalen Verarbeitung sind die Realisierung komplexer Algorithmen und die einfache Speicherung digitaler Signale. Mit fallenden Preisen und höherer Komplexität von Digitalbausteinen ist ein stetiger Trend hin zur digitalen Verarbeitung zu beobachten Analoge Signale Bei analogen Signalen kann die Amplitude jeden beliebigen Wert innerhalb des Definitionsbereichs annehmen. Weiterhin erfolgt die zeitliche Änderung der Signale kontinuierlich. Daher bezeichnet man diese Signale als zeitund wertkontinuierlich. In der Natur existieren meist analoge physikalische Größen, die durch analoge Signale repräsentiert werden. Beispiele für analoge Signale sind Spannungen, Temperatur, Geschwindigkeit, etc. Amplitude Zeit Abbildung 6: Analoges Signal. Kontinuierliche Amplitude, kontinuierlicher Zeitverlauf. Abbildung 6 zeigt ein beispielhaftes analoges Signal Wertdiskrete Signale Möchte man Amplitudenwerte durch Zahlen darstellen, muss man einen kontinuierlichen Amplitudenwert auf die erlaubten Zahlencodes einer Zahlendarstellung abbilden. In Abschnitt Datenrepräsentation wurden unterschiedliche Zahlendarstellungen vorgestellt. Allen gemeinsam ist, dass nur bestimmte Werte dargestellt werden können. Amplitudenwerte die zwischen darstellbare Werte fallen, müssen zu einem benachbarten darstellbaren Wert gerundet werden. Amplitude Zeit Abbildung 7: Wertdiskretes Signal. Diskrete Amplitudenwerte, kontinuierlicher Zeitverlauf. Abbildung 7 zeigt ein wertdiskretes Signal, welches aus dem kontinuierlichen Signalverlauf von Abbildung 6 hergeleitet wurde Zeitdiskrete Signale Bei der Verarbeitung von Signalen durch synchrone Hardwareschaltungen (z.b. Digitalrechner) kann man nur zu diskreten Zeitpunkten Werte einlesen. Zwischenzeitlich benötigt man die Zeit, um die gelesenen Wert durch Hard- oder Software zu verarbeiten. Um das Einlesen der Werte von der Laufzeit der Software unabhängig zu machen, liest man Werte zu festen, äquidistanten Zeitpunkten ein. Diesen Vorgang nennt man Abtasten. Man erhält als Ergebnis des Abtastvorgangs ein zeitdiskretes Signal. Seite 8 von 4 Kapitel2_Logische_Funktionen.doc

19 Amplitude Zeit Abbildung 8: Zeitdiskretes Signal. Kontinuierliche Amplitudenwerte, diskrete Abtastzeitpunkte. Abbildung 8 zeigt ein zeitdiskretes Signal, welches durch äquidistantes Abtasten aus dem kontinuierlichen Signalverlauf von Abbildung 6 erzeugt wurde. Rückwandlung eines zeitdiskreten Signals in ein analoges Signal Amplitude Zeit Wert- und zeitdiskrete Signale Bei der Verarbeitung von Signalen durch Digitalrechner benötigt man Signale, welche einen wert- und zeitdiskreten Verlauf aufweisen. Die Signale müssen wertdiskret sein, da sie durch eine Zahlendarstellung repräsentiert werden können. Weiterhin müssen sie zeitdiskret sein, da ein Rechner nur eine endliche Anzahl von Werten innerhalb einer festen Zeit verarbeiten kann Beschreibung von Funktionseinheiten Die Beschreibung von Funktionseinheiten kann auf vielfältige Arten erfolgen. Im folgenden werden die Betrachtungen eingeschränkt auf Funktionseinheiten mit Binärsignalen als Ein- und Ausgänge. Zur Beschreibung eines Funktionsblocks gibt es die folgenden wichtigen Formen: Umgangssprachliche Spezifikation Tabellen Boolesche Gleichungen Schaltsymbole Hardwarebeschreibungssprachen Die umgangssprachliche Spezifikation ist die wichtigste Form, wenn ein Nicht-Fachmann eine Hardware spezifizieren muss (z.b. Fahrkartenautomat, Fernseher, Handy, etc.). Sie ist aber auch für die fachliche Spezifikation wertvoll, um Funktionen festzulegen und einzuschränken. Auf diese Form der Spezifikation wird aber im Folgenden nicht eingegangen. Die übrigen Spezifikationsformen unterstützen den Entwickler, einen Entwurf in technischer Hinsicht auszuarbeiten und durchzuführen. Sie werden nachfolgend kurz vorgestellt und in den folgenden Abschnitten noch ausführlich behandelt Tabellen Betrachtet man eine Funktionseinheit, so besitzt diese eine Anzahl von Eingängen X, X2,..., Xn und Ausgängen Y, Y2,..., Ym. Wenn man annimmt, dass eine Funktionseinheit keine internen Speicher und Rückkopplungen besitzt, kann der Wert jedes Ausgangssignals als Funktion der Eingangssignale ermittelt werden: Yi = fi(x, X2,...,Xn) Da die Betrachtung der Funktionseinheiten auf Binärsignale eingeschränkt wird, kann man diese Funktion in Tabellenform schreiben. Nutzt man die Logikzustände und zur Beschreibung der Tabellenwerte, wird die zugehörige Tabelle als Wahrheitstabelle bezeichnet. Nutzt an die Pegel H und L wird die Tabelle als Pegeltabelle bezeichnet. Trägt man in die Tabelle physikalische Größen ein handelt es sich um eine Arbeitstabelle. Seite 9 von 4 Kapitel2_Logische_Funktionen.doc

20 Beispiel: Beschreibung einer Funktionseinheit aus 2 Eingängen in Tabellenform. Annahme: Eingänge X und X2, Ausgang Y. TTL-Logik. Arbeitstabelle Pegeltabelle Wahrheitstabellen X X2 Y X X2 Y X X2 Y X X2 Y,2 V,2 V,2 V L L L,2 V 3,4 V,2 V L H L 3,4 V,2 V 3,4 V H L H 3,4 V 3,4 V,2 V H H L Positive Logik Negative Logik Boolesche Gleichungen Das Rechnen mit binären Signalen basiert auf der booleschen Algebra, die auch als Schaltalgebra bezeichnet wird. Dort sind Operationen auf booleschen Werten und ihre Eigenschaften definiert. Die bekanntesten Operationen sind die UND- und die ODER-Verknüpfung (Konjunktion und Disjunktion) boolescher Werte sowie die Negation. Beispiel: Beschreibung einer Funktionseinheit aus 2 Eingängen durch boolesche Gleichung. Annahme: Eingänge X und X2, Ausgang Y. Die nachfolgende boolesche Gleichung beschreibt die gleiche Funktion wie die Wahrheitstabelle mit positiver Logik des vorhergehenden Beispiels: Y = X X2 Die Gleichung beschreibt, dass der Wert X mit dem negierten Wert von X2 UND-verknüpft werden muss. Die Negation ist somit durch einen Überstrich und die UND-Verknüpfung durch das -Zeichen gekennzeichnet. Die Beschreibung von Funktionen durch boolesche Gleichungen wird im folgenden Abschnitt 2.2 ausführlich behandelt Schaltsymbole Zur Spezifikation komplexer Schaltungen mit Schaltplänen sind den unterschiedlichen Operatoren der booleschen Algebra Schaltsymbole zugeordnet. Somit können komplexe Schaltungen grafisch durch Zusammenschaltung einfacher Schaltsymbole entwickelt werden. Die Ausgänge der Schaltsymbole werden durch Signalverbindungen mit den Eingängen anderer Symbole verbunden. Damit werden aus einfachen Symbolen hierarchisch komplexe Schaltungen entwickelt. Für Schaltsymbole existieren drei gebräuchliche Standards. Diese sind DIN-Norm 49, bzw. IEC (neue Norm) ANSI bzw. IEEE (amerikanische Norm) DIN (alte Norm) Alle drei Normen werden heute noch angewendet, zum Teil auch in gemischter Form in einem Schaltplan. Daher werden die Grundsymbole aller drei Normen in Abschnitt 2.2 dargestellt. Beispiel: Beschreibung einer Funktionseinheit aus 2 Eingängen mittels Schaltsymbolen. Annahme: Eingänge X und X2, Ausgang Y. Die nachfolgende Schaltung beschreibt die gleiche Funktion wie die boolesche Gleichung des vorhergehenden Beispiels in Schaltsymbolen nach DIN-Norm 49: X X2 Y Der Signalwert X2 wird an ein Schaltsymbol geführt, welches die Invertierung des Signals spezifiziert. Das nachfolgende Schaltsymbol mit zwei Eingängen steht für die UND-Verknüpfung seiner beiden Eingangssignale zum Ausgangssignal Y Hardwarebeschreibungssprachen Die Beschreibung von Funktionseinheiten durch Hardwarebeschreibungssprachen erscheint zunächst ähnlich wie die Programmierung in modernen Hochsprachen wie Pascal, C, C++ oder ähnlichen Sprachen. Die in den Hardwarebeschreibungssprachen eingesetzten Sprachkonstrukte erinnern auch an die Konstrukte dieser Sprachen. Seite von 4 Kapitel2_Logische_Funktionen.doc

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Geschichte Folie 1 Lernziele Sie kennen die wichtigsten Punkte in der Geschichte des Computers Sie sind mit einigen Begriffen vertraut Folie 2 Seite 1 Computer als elektronische Rechenmaschine:

Mehr

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute)

Informatik Mensch Gesellschaft. Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Informatik Mensch Gesellschaft Historische Entwicklung der Informationstechnik (von Anfang bis Heute) Algorithmen-Automat Schritt-für-Schritt-Anleitung zum Lösen mathematischer Probleme kann immer wieder

Mehr

Algorithmus, siehe (1)

Algorithmus, siehe (1) Der Computer als elektronische Rechenmaschine entstand in den vierziger Jahren des 20. Jahrhunderts. Die Gedankenwelt der Informatik lässt sich aber bedeutend weiter zurückverfolgen. Mit diesem Kapitel

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

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

Geschichte der Informatik

Geschichte der Informatik Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Geschichte und Einteilung der Informatik 01101101 01011001 11010011 10011000 00000011 00011100 01111111 11111111 00110100 00101110 11101110 01110010 10011101 00111010 2 Der

Mehr

Formelsammlung. Wahrscheinlichkeit und Information

Formelsammlung. Wahrscheinlichkeit und Information Formelsammlung Wahrscheinlichkeit und Information Ein Ereignis x trete mit der Wahrscheinlichkeit p(x) auf, dann ist das Auftreten dieses Ereignisses verbunden mit der Information I( x): mit log 2 (z)

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Grundlagen der Computertechnik

Grundlagen der Computertechnik Grundlagen der Computertechnik Aufbau von Computersystemen und Grundlagen des Rechnens Walter Haas PROLOG WS23 Automation Systems Group E83- Institute of Computer Aided Automation Vienna University of

Mehr

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik. Kursleiter : W. Zimmer 1/24 Digitale Darstellung von Größen Eine Meßgröße ist digital, wenn sie in ihrem Wertebereich nur eine endliche Anzahl von Werten annehmen kann, also "abzählbar" ist. Digital kommt

Mehr

Signalverarbeitung 1

Signalverarbeitung 1 TiEl-F000 Sommersemester 2008 Signalverarbeitung 1 (Vorlesungsnummer 260215) 2003-10-10-0000 TiEl-F035 Digitaltechnik 2.1 Logikpegel in der Digitaltechnik In binären Schaltungen repräsentieren zwei definierte

Mehr

Rechnenund. Systemtechnik

Rechnenund. Systemtechnik Rechnen- und Systemtechnik 1 / 29 Rechnenund Systemtechnik Skript und Unterrichtsmitschrift April 22 Rechnen- und Systemtechnik 2 / 29 nhaltsverzeichnis 1. Grundbausteine der Digitaltechnik... 4 1.1. UND-Verknüpfungen

Mehr

Die Geschichte des Computers

Die Geschichte des Computers Inhaltsverzeichnis Der Vorbote des Computers... 3 Der Erfinder des ersten Computers... 3 Die Computer... 4 Der erste Computer Z1... 4 Der zweite Computer Z3... 5 Der Mark I... 6 Der ENIAC... 7 Der SSEC...

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

Übungsaufgaben für "Grundlagen der Informationsverarbeitung" (mit Lösungen)

Übungsaufgaben für Grundlagen der Informationsverarbeitung (mit Lösungen) Übungsaufgaben für "Grundlagen der Informationsverarbeitung" (mit Lösungen). Erläutern Sie die Begriffe Bit, Byte und Wort bezogen auf einen 6 Bit Digitalrechner. Bit: Ein Bit ist die kleinste, atomare,

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

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

ODER I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN. Marcel Götze

ODER I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN. Marcel Götze GRUNDKURS INFORMATIK ODER WIE DENKEN INFORMATIKER? I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN Marcel Götze Überblick 1. Organisatorisches 2. Themen und Ziele der Vorlesung 3. Übungen 4. Wb Web 5. Literatur

Mehr

Computer-Generationen

Computer-Generationen (K.Zuses Z3, 1941) (Vorschlag) Generation Beispiel Technologie Geschw./Speich. Software Vorgeneration Z3 Elektro- 0,0002 MIPS Verdrahtet 1941-1944 Mark1 mechanik 1.Generation ENIAC, Z22 Elektronen- 0,02

Mehr

GESCHICHTE DER COMPUTERTECHNIK

GESCHICHTE DER COMPUTERTECHNIK GESCHICHTE DER COMPUTERTECHNIK Rebekka Mönch Projekt ://reisefieber WS 2005/06 Bauhaus-Universität Weimar Ich glaube, dass es auf der Welt einen Bedarf von vielleicht fünf Computern geben wird. Künftige

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

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

Studienvertiefungsrichtung Informationstechnik

Studienvertiefungsrichtung Informationstechnik Studienvertiefungsrichtung Informationstechnik Prof.Dr.-Ing. Ulrich Sauvagerd Lehrgebiet Informationstechnik Nov. 2006, Seite 1 www.etech.haw-hamburg.de/~sauvagerd Lehrgebiet Informationstechnik Nov. 2006,

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

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Johannes Schemmel Forschungsgruppe Electronic Vision(s) Lehrstuhl Prof. K. Meier Ruprecht-Karls-Universität Heidelberg Mitarbeiter:

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 1 Vom Abakus bis zum Personal Computer... 1-2 1.1 Einleitung... 1-2 1.2 Geschichte der Informatik... 1-3 1.2.1 Rechenhilfsmittel... 1-3 1.2.2 Mechanische Rechenmaschinen... 1-3 1.2.3 0. Generation

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte

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

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

Mehr

4 DIGITALE SCHALTUNGSTECHNIK

4 DIGITALE SCHALTUNGSTECHNIK Digitale Schaltungstechnik 59 4 DIGITALE SCHALTUNGSTECHNIK Um Daten zu verarbeiten, verwenden Computer als grundlegende Größen logische Variablen, die genau zwei Zustände annehmen können, nämlich den Wert

Mehr

1. Entwicklung der Datenverarbeitung

1. Entwicklung der Datenverarbeitung 1. Entwicklung der Datenverarbeitung 1.1. Vom Abakus zum Pentium Schon im Altertum war man bestrebt, sich Hilfsmittel zu schaffen, die das Zählen und Rechnen erleichterten. Formulierung mechanischer Abläufe

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

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

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

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

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

Vorlesung Technische Grundlagen der Informatik ( TGI)

Vorlesung Technische Grundlagen der Informatik ( TGI) Vorlesung Technische Grundlagen der Informatik ( TGI) Prof. Dr. Rudolf Latz Fachbereich Informatik & Kommunikation Westfälische Hochschule Gelsenkirchen Bocholt Recklinghausen Die Unterlagen sind als Arbeitsgrundlage

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

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

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

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

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 22 September 2014 1 / 24 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte des Computers 4 Komponenten eines Computers 5 Aufbau eines

Mehr

Inhaltsverzeichnis. Inhalt. 1 Einleitung

Inhaltsverzeichnis. Inhalt. 1 Einleitung Inhalt 3 Inhaltsverzeichnis 1 Einleitung 1.1 Digitale und analoge Signale... 9 1.2 Digitale Darstellung... 12 1.3 Datenübertragung... 14 1.4 Aufgaben digitaler Schaltungen... 17 1.5 Geschichte der Digitalrechner...

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

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

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

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

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

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

1. Geschichte des Computers

1. Geschichte des Computers 1. Geschichte des Computers Als erster Computer galt "Abakus", der vor rund 5 000 Jahren von den Chinesen erfunden wurde. Blaise Pascal (1623-1662): erfand 1643 einen Apparat, mit dem man einfache Additionen

Mehr

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

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Sequentielle Logik Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Schaltwerke Flip-Flops Entwurf eines Schaltwerks Zähler Realisierung Sequentielle

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

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

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

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

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer?

Computeria Urdorf. Treff vom 16. Januar 2013. Was ist ein Computer? Computeria Urdorf Treff vom 16. Januar 2013 Was ist ein Computer? Der Vater des Computers Charles Babbage (26.12.1791 18.10.1871) Erfinder der mechanische Rechenmaschine Die Entwicklung des Computers Karl

Mehr

Programmiersprachen gestern, heute, morgen

Programmiersprachen gestern, heute, morgen Programmiersprachen gestern, heute, morgen Einleitung Sie kennen sicher die heute gängigen Sprachen wie C, Java oder Pascal. Doch wie kam es dazu? Wer hat diese Programmiersprachen erfunden? Und - noch

Mehr

Kapitel 3: Boolesche Algebra

Kapitel 3: Boolesche Algebra Inhalt: 3.1 Grundlegende Operationen und Gesetze 3.2 Boolesche Funktionen u. u. ihre Normalformen 3.3 Vereinfachen von booleschen Ausdrücken 3.4 Logische Schaltungen 3.1 Grundlegende Operationen und Gesetze

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

Die Geschichte von Linux

Die Geschichte von Linux Die Geschichte von Linux Erstellt durch: Benedikt Trefzer Datum: 20.2.2007 Zeittafeln und Referenzen siehe: http://www.a2x.ch/vortraege/linux_zeittafeln.pdf Unix Stammbaum Wikimedia Commons Bestandteile

Mehr

2004, Thomas Barmetler Automatisierungstechnik - Einstieg. Das EVA-Prinzip

2004, Thomas Barmetler Automatisierungstechnik - Einstieg. Das EVA-Prinzip Das EVA-Prinzip 1 Steuerungsarten Steuerungen lassen sich im Wesentlichen nach folgenden Merkmalen unterscheiden: Unterscheidung nach Art der Informationsdarstellung Diese Unterscheidung bezieht sich auf

Mehr

4 Binäres Zahlensystem

4 Binäres Zahlensystem Netzwerktechnik achen, den 08.05.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 achen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 4 inäres Zahlensystem 4.1 Codieren

Mehr

Asynchrone Schaltungen

Asynchrone Schaltungen Asynchrone Schaltungen Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 Asynchrone Schaltungen 1/25 2013/07/18 Asynchrone Schaltungen

Mehr

Digitaltechnik. Schaltkreistechnik (Elektronik)

Digitaltechnik. Schaltkreistechnik (Elektronik) Grundlagen Christian Siemers Die Digitaltechnik hat in den letzten Jahrzehnten außerordentlich an Bedeutung gewonnen. Dieses Gebiet hatte mit den ersten mechanischen Rechenmaschinen im 7. Jahrhundert bereits

Mehr

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1 9 Codes 9.1 Charakterisierung und Klassifizierung Definition: Das Ergebnis einer eindeutigen Zuordnung zweier Zeichen- bzw. Zahlenmengen wird Code genannt. Die Zuordnung erfolgt über eine arithmetische

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

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

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

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

Computermuseum WSI. Prof. Dr. Herbert Klaeren

Computermuseum WSI. Prof. Dr. Herbert Klaeren Computermuseum WSI Prof. Dr. Herbert Klaeren http://www.wsi.uni-tuebingen.de/fachbereich/wilhelm-schickard-institut-fuer-informatik/computermuseum.html 1 Herbert Klaeren WSI TÜBIX, 13. Juni 2015 IBM 7090

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

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

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

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 1.1 analoge Messgeräte Fließt durch einen Leiter, welcher sich in einem Magnetfeld B befindet ein Strom I, so wirkt auf diesen eine

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

Programmierung mobiler Kleingeräte

Programmierung mobiler Kleingeräte Programmierung mobiler Kleingeräte Computergeschichte und Ubiquitous Computing Wolfgang Auer, Patrick Ritschel Automation Urzeit Wildfallen Griechisches Altertum Tempeltor des Heron Automatentheater Arabische

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

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

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

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

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

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 VHDL Verhaltensmodellierung 1/26 2008-10-20

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

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10 FB ET/IT Binäre Rechenoperationen WS 9/ Name, Vorname: Matr.-Nr.: Zugelassene Hilfsmittel: beliebiger Taschenrechner eine selbst erstellte Formelsammlung Wichtige Hinweise: Ausführungen, Notizen und Lösungen

Mehr

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen. . Das Programm- Icon Auf dem Desktop deines Computers siehst du Symbolbildchen (Icons), z.b. das Icon des Programms Rechner : Klicke mit der rechten Maustaste auf das Icon: Du siehst dann folgendes Bild:

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

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr

Spannungen und Ströme

Spannungen und Ströme niversität Koblenz Landau Name:..... Institut für Physik orname:..... Hardwarepraktikum für Informatiker Matr. Nr.:..... Spannungen und Ströme ersuch Nr. 1 orkenntnisse: Stromkreis, Knotenregel, Maschenregel,

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

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Programmierung mit NQC: Kommunikation zwischen zwei RCX Programmierung mit NQC: Kommunikation zwischen zwei RCX Teil : Grundlagen Martin Schmidt 7. Februar 24 Teil : Grundlagen Zahlensysteme : Binärsystem Ziffern: und Bit = binary digit (Binärziffer) Einfach

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Codierung. H.-G. Hopf

Codierung. H.-G. Hopf Codierung H.-G. Hopf Inhalt Informationsübermittlung Codierung von Zeichen GDI: Codierung / 2 Inhalt Informationsübermittlung Codierung von Zeichen GDI: Codierung / 3 Ideale Kommunikation Übertragungskanal

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

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

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5 Personal Computer in Betrieb nehmen 1/6 Weltweit setzen die Menschen alltäglich das Zehnersystem für Zählen und Rechnen ein. Die ursprüngliche Orientierung stammt vom Zählen mit unseren 10 Fingern. Für

Mehr