Rechnernetze und Organisation - IAIK

Werbung
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Rechnernetze und Organisation
Rechnern
netze und O
Organisatio
on
Dr. Johannes Wolkerstorfer
Konstruktionsübung
g SS2009
Vorbesprechung
RNO Sommersemester 2009
RNO_KU1
1
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Übersicht
Einleitung
Assignment A1
– Motivation
– Administratives
Ad i i t ti
– Generelles zur KU
– Vorbereitung
Johannes Wolkerstorfer
– Vorstellung
Rechnern
netze und Organisatio
on
Michael Hutter
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
2
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Motivation
RNO Üb
RNO-Übung
lüft
lüftett d
das M
Mysterium:
t i
#include <stdio.h>
int power(int num, int power) {
__asm
asm {
mov eax, num
; Get argument 1
mov ecx, power ; Get argument 2
shl eax, cl
; EAX = EAX*(2^CL)
}
/* Return with result in EAX */
}
Rechnern
netze und O
Organisatio
on
void main( void ) {
printf( "3*(2^5) = %d\n", power(3, 5));
}
Fotos © Intel
– Wie funktioniert ein Prozessor?
• Was kann ein Pentium-4? Wie erreicht er es? Wie nützt man ihn?
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
3
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Assignments
3A
Assignments
i
t
(100 P
Punkte)
kt )
– Assignment A1: Gleitkommaausgabe in Assembler
– Assignment A2: Pentium Instruktions-Set
Instruktions Set Simulator
– Assignment A3: Netzwerk-Simulator
Rechnern
netze und O
Organisatio
on
Assignment
Teamgröße
Präsentation und
Framework-Vorstellung
Abgabe
A1
1
27.2.2009
19.3.2009
A2
3
20.3.2009
07.5.2009
A3
3
08.5.2009
04.6.2009
(20 Punkte)
(40 Punkte)
(40 Punkte)
Alle Assignments in C/C++ mit GCC
– Aus Strukturierte Programmierung bekannt
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
4
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Gruppen, Teams und Studienassistenten
A
Anmeldung
ld
iim TUG online
li
< 06.3.2009
06 3 2009
– 1. Anmeldung zu Übung 705.009
3er Teams (für A2
3er-Teams
A2, A3)
< 27.3.2009
27 3 2009
– 2. Teammitglieder selbst suchen
Rechnern
netze und O
Organisatio
on
• Keine 2er- oder 4er-Teams
http://www.iaik.tugraz.at/content/teaching/
• Newsgroup zur Partnersuche bachelor_courses/rechnernetze_und_orga
nisation/practicals/
nützen
– 3. Melden des 3er-Teams
• 3 Team-Mitglieder nennen
– Name
– Matrikelnummer
• Eingabemaske am
Web benützen!
• Antwortmail von TUG-Online
Dr. Johannes Wolkerstorfer
– Teamnummer
T
RNO Sommersemester 2009
RNO_KU1
5
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Computer und Accounts
A
Accounts
t
IAIK A
IAIK-Accounts
t
– Subzentren-Accounts ausreichend
– auf Anfrage:
• pluto.tugraz.at als Referenz
• [email protected]
– Software
– Eigener Rechnerraum
im Inffeld (CR)
• Eclipse + MinGW
• GCC – GNU C-Compiler
Wiese
Fussballplatz
Rechnern
netze und O
Organisatio
on
Sandgasse
Dr. Johannes Wolkerstorfer
CR
SR
IAIK
IICM
i13
RNO Sommersemester 2009
RNO_KU1
6
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Support
1 W
1.
Website
b it
– http://www.iaik.tugraz.at/teaching/
• -> bachelor_courses -> rechnernetze_und_organisation -> practicals
2. Studienassistenten
Rechnern
netze und O
Organisatio
on
– A1: Michael Hutter
<[email protected]>
– A2: Horst Possegger
<[email protected]>
– A3: Raphael Straßnig
<[email protected]>
3. Newsgroup
– Hauptquelle
pq
aktueller Information
– Hauptziel für Fragen
4. Email
– Für individuelle Fragen
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
7
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Arbeitstechnik
Eigenmotivation
KU Journal
– RNO KU bietet Rahmen
• Studierende nützen ihn
Rechnern
netze und O
Organisatio
on
– Eigene Leistungen einbringen
– Selbst machen vs. davon
lesen/hören
• Arbeitsumfang
• Notizen zur laufenden Arbeit.
– Verpflichtend!
Spielregeln
Gruppenarbeit
– Fördert Softskills
– Hat Positives und Negatives
• Gemeinsame Sprache lernen
Dr. Johannes Wolkerstorfer
– Collegeblock
g
((o.ä.)) mit
laufenden Aufzeichnungen
– Plagiate führen zu Ausschluss
– Study-Groups
– Siehe auch RNO-Web
RNO Sommersemester 2009
RNO_KU1
8
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Rechnernetze und Organisation
Rechnern
netze und O
Organisatio
on
Dr. Johannes Wolkerstorfer
Assignment
g
A1
Vorbereitung
RNO Sommersemester 2009
RNO_KU1
9
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Einleitung / Motivation
P ti
Pentium
A
Assembler
bl
– Warum Assembler, wenn es C/C++ gibt?
Assembler für
– Hardware-Treiber
Rechnern
netze und O
Organisatio
on
• Direkter Zugriff auf Hardware
Bekannte
A
Assembler
bl
– Performance-kritischer Code
• Handoptimieren
p
– Verständnis von Computern
• Wie funktioniert Prozessor
– Verständnis von Hochsprachen
• Welchen Code wird Compiler erzeugen
• Was macht Compiler
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
•MASM
•NASM
•TASM
•C/C++ inline
RNO_KU1
10
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Aufbau einer CPU
V N
Von-Neumann
M
Maschinen
hi
– Vorbild für alle Computer
– General
General-Purpose
Purpose Prozessor
– Jede Information wird binär gespeichert
• Auch auszuführende Software
Rechnern
netze und O
Organisatio
on
Speicherarchitektur (Neumann)
– Gemeinsamer Speicher
p
• Für Daten
• Für Programme
Dr. Johannes Wolkerstorfer
CPU
Input
Daten
Output
Daten
Input
Output
Computer
Programm
Memory
– Sequenz
q
von Prozessor-Instruktionen
RNO Sommersemester 2009
RNO_KU1
11
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Fetch-Execute Algorithmus
Jeder Prozessor führt Fetch / Execute Algorithmus aus
– Zur Abarbeitung von Instruktionen
– Sehr schnell: 2 Mrd / Sekunde (2 GHz)
F t h
Fetch
Computer
CPU
Rechnern
netze und O
Organisatio
on
– Aktuelle Instruktion aus Speicher lesen
– Instruktion dekodieren
• Aufgabe der Control Unit
Control Unit
Memory
ALU
• Befehl für ALU auswählen
– Operanden aus Speicher holen
• Wenn benötigt
g
Execute
– Operation ausführen
• Aufgabe
g
der Arithmetic-Logic
g Unit ((ALU))
1.
Fetch
2.
Execute
– Ergebnis speichern
... Fetch
– Mit nächster Instruktion fortfahren
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
12
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
x86 Instruktions-Set
P ti
Pentium-Instruktionen
I t kti
Rechnern
netze und O
Organisatio
on
–
–
–
–
–
–
–
–
–
–
data transfer instructions(MOV)
binary arithmetic(ADD
arithmetic(ADD, SUB)
logical instructions(AND, OR)
shift and rotate(ROR, SAR)
bit and
db
byte
t iinstructions(BTS,
t ti
(BTS SETE)
control transfer instructions(JMP, LOOP, CALL)
string
g instructions(MOVS,
(
SCAS))
flag control instructions(STD, STI)
segment register instructions(LDS)
miscellaneous instructions(LEA
instructions(LEA, NOP
NOP, CPUID)
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
Foto © Intel
RNO_KU1
13
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Vorbereitung: x86-Assembler
Einführung ins Pentium
Pentium-Assembler
Assembler Programmieren
– Literatur: Paul A. Carter „PC Assembly Language“
• Online verfügbar: http://www.drpaulcarter.com/pcasm/
Ziele
– Einlesen in die Thematik
Rechnern
netze und O
Organisatio
on
• Was ist Assembler? Wie sieht so was aus?
• Wie geht das?
• Elementare Pentium-Befehle
– Vorbereitung auf Assignment A1 und A2
#include <stdio.h>
int power(int num, int power) {
__asm {
mov eax, num
; Get argument 1
mov ecx, power ; Get
G t argument
t 2
shl eax, cl
; EAX = EAX*(2^CL)
}
/* Return with result in EAX */
}
void main( void ) {
printf( "3*(2^5) = %d\n", power(3, 5));
}
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
14
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
IA32 (x86): Intel Manuals
Li t von möglichen
Liste
ö li h IInstruktionen
t kti
– 32-bit Protected Mode für KU
Varianten von Instruktionen
– Adressierungsarten
Rechnern
netze und O
Organisatio
on
• Immediate
MOV EAX, 17
– EAX-Register wird mit Wert 17 (dec) geladen
• Register
MOV EAX, EBX
– EAX-Register erhält selben Wert wie EBX
• Memory direct
MOV EAX, [12345h]
– EAX-Register = Wert in Hauptspeicher
an Adresse
Ad
12345 (h
(hex))
• Register indirect MOV EAX, [EBX]
Dr. Johannes Wolkerstorfer
– EAX-Register = Wert in Hauptspeicher auf den das EBX-Register zeigt
RNO Sommersemester 2009
RNO_KU1
15
IAIK – Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie
Zusammenfassung
RNO Üb
RNO-Übung
– Wertvolle Inhalte und Erfahrungen fürs SEW-Studium
– Nur Selber-Machen
Selber Machen macht schlau
Nächste Schritte
Rechnern
netze und O
Organisatio
on
– Anmelden zur KU
– Assignment A1 Abgabe
– 3er-Team suchen und anmelden
(06. 3. 2009)
(19. 3. 2009)
(27. 3. 2009)
Lit t
Literatur
– Paul A. Carter, PC Assembly Language,
http://www.drpaulcarter.com/pcasm/, 2006.
– Intel®64 and IA-32 Architectures Software Developer's Manual,
Instruction Set Reference (2 Teilig, A-M, N-Z)
http://www.intel.com/products/processor/manuals/index.htm
Dr. Johannes Wolkerstorfer
RNO Sommersemester 2009
RNO_KU1
16
Herunterladen