Was steht hier eigentlich in den Räumen rum?

Slides:



Advertisements
Ähnliche Präsentationen
Bauteile des PC´c Werden vorgestellt: PC-Gehäuse Prozessor Tastatur
Advertisements

CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Eine dynamische Menge, die diese Operationen unterstützt,
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Programmieren mit LISP
Kapselung , toString , equals , Java API
der Universität Oldenburg
SAP R/3 - Speichermanagement
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Gliederung Motivation / Grundlagen Sortierverfahren
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Atmel AVR JTAG Einführung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
Garbage Collection Maik Theisen Betreuer: Guido Tack
ARRAY oder FELD oder VEKTOR
V AdresseWert public static void main(...){ int[] v; v=new int[2]; } Was veranlasst diese Anweisung im Arbeitsspeicher ? Es wird im Arbeitsspeicher.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
GESCHICHTE DER INFORMATIK
Studiengang Informatik FHDW
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Introducing the .NET Framework
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Von: Antoni Gazali Clarkson Laryea
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Open Services Gateway Initiative
So arbeitet ein PC.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Warum brauche ich ein CMS – Content Management System?
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Das Betriebssystem.
Informatik 1 Letzte Übung.
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
HORIZONT 1 XINFO ® Das IT - Informationssystem Assembler HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
Microsoft Student Partners
Wer macht was beim Einschalten des Rechners?
Versuche alle Fragen richtig zu beantworten!
Systemsoftware und Betriebssysteme
Verarbeitung und Computerinneres
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
TypoScript.
Nik Lutz, Stefan Feissli, Christof Seiler
The Interlisp programming environment Serife Sancar – December.2004.
5 Memory Leaks, die auch in Ihrer.NET Anwendung sein könnten André Krämer Softwareentwickler, Trainer, Berater.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Tutorium Software-Engineering SS14 Florian Manghofer.
Brian Harvey (UC Berkeley) und Jens Mönig (deutscher Jurist (
Vom HW-Automaten zum Prozessor
Implementieren von Klassen
 Präsentation transkript:

Was steht hier eigentlich in den Räumen rum? LISP Hardware Was steht hier eigentlich in den Räumen rum?

Was ist LISP? Eine der ersten Programmiersprachen 1958 von McCarthy am MIT erfunden Sehr viele Varianten LISP 1.5, MacLISP, ZetaLISP, Scheme, Common LISP, Franz LISP, etc… Basiert auf dem Lambda Kalkül Sowohl funktional als auch imperativ Später auch noch OO

Warum ist LISP cool? Alles ist dynamisch: LISP verarbeitet Listen Code schreiben, in das laufende Programm einfügen, testen, anschauen LISP verarbeitet Listen Aber! LISP-Code ist selber eine Liste LISP-Code kann LISP-Code generieren Überleetes Macrosystem

LISP ist doch gestorben! Emacs LISP AutoCAD Yahoo Store Prozessordesign Web-Applikationen

Wie sieht LISP aus? Alles ist eine Liste (oder fast, auch Arrays, Hashtabellen, usw…) Funktionen definieren: (defun blorg (x) (mach-was-mit x)) (defun blorg2 (&key (x 5) (y ‘symbol) &rest body) (mach-was-mit x y body))

Wie sieht LISP aus? Variablen definieren: Aber auch lokale Variablen: (defvar *variable*) (setf *variable* 5) Aber auch lokale Variablen: (let ((x 5) (y 6)) (mach-was-mit x y)) (let* ((x 5) (y (+ 5 x))) (mach-was-mit x y))

Wie sieht LISP aus? Listen sind wichtig (erstaunlicherweise!) Liste besteht aus Paaren Das zweite Element des letzten Paares ist die leere Liste (nil): (cons 1 (cons 2 nil)) Oder auch: (list 1 2) Mit cdr und car auf Paare zugreifen

Was ist an Listen cool? Man kann über Listen prima iterieren: (dolist (I ‘(1 2 3 4)) (princ I)) = 12345 (mapcar #’princ ‘(1 2 3 4 5)) = 12345 (loop for I in ‘(1 2 3 4 5) collecting (+ I 1)) = (2 3 4 5 6) Usw… Man kann Listen als ADTs benutzen: Stacks, queues, etc…

Warum ist Emacs cool? Programm läuft unten, Code oben Evaluieren von Code in das laufende Programm Aufrufen von Dokumentation Completion, usw…

Symbolics Geschichte von Symbolics aus wikipedia holen

Symbolics 3600 Zetalisp Coole Hardware (Grafik, Maus, Netzwerk, Sound) Flavors (Objektorientierung) Coole Hardware (Grafik, Maus, Netzwerk, Sound) Windowsystem Unterstützung von LISP in Hardware Tagged Data Hardware Garbage Collection

Programmierumgebung Editor (Zmacs) Listener Debugger Indentierung (!) Dokumentation, Completion Kompilierung von geändertem Code Listener Debugger Inspector, Class Browser

Zetalisp Common LISP noch nicht standardisiert Loop-Konstrukt Objekt-orientierung Macros Package-System Aber auch andere Sprachen: Interlisp, Fortan, LIL

Macsyma System Anfang der 1960er, Mathematik Software 1 Gbyte VRAM Hochauflösende Grafik

Symbolics 3600 Hardware 32/36 bits Prozessor 4 bit Tagging MC68000 als Front-End Prozessor Instruction Prefetch Microtasking 20 Mbytes/s I/O Leistung 1 Gbyte virtueller Speicher

Hardware Typchecking Tagfield in jedem Datenwort Beispiel: int:5, real:4,2 Add int:5 real:4,1 = real:9,1 Generische Assemblerbefehle Effiziente Kodierung von Listen CDR Packing

Kellerspeicherarchitektur Kellerspeicher benutz für: Funktionsaufruf (control stack) Variablenbindings (binding stack) Datenspeicher (data stack) Data stack wird benutzt, um Garbage Collection zu vermeiden

3600 Instruction Set Kein Assembler, dafür zeigt der Debugger LispM Assembler 17 bits Instruktionen (9 Opcode, 8 Operande) Mischung aus Hardware und Microcode Werden 2 ints addiert: Hardware 2 bignums: microcode

Microtasking Gleichzeitig I/O und Rechnen: Microtasks für Plattenzugriff Zetalisp Emulator Netzwerk Sound Front-End Kommunikation DMA

Memory Management 44-Bit Wörter: Virtueller Arbeitsspeicher 36 Bit Daten, 7 Bit ECC, 1 Bit bl0rg Virtueller Arbeitsspeicher Cache Architektur

Garbage Collection Pointertyp in Hardware checken Markieren von Speicherpages Markiert temporären Speicher Einswappen von Seiten die temporären Speicher haben