MMX: Grundidee. SIMD: Media processing. x86: Register. SIMD: Literatur. Medientechnik SIMD-Befehlssätze 1. "Media processing" mit dem PC?!
|
|
- Innozenz Heidrich
- vor 6 Jahren
- Abrufe
Transkript
1 SIMD: Media processing "Media processing" mit dem PC?! steigende Anforderungen für Audio, Video, Image, 3D grosse Datenmengen aber oft mit geringer Genauigkeit (8 bit.. 6 bit, 32 bit FP) x86-fpu ausgereizt Trick: vorhandene ALUs/Datenpfade für SIMD verwenden Befehlssatzerweiterungen: MMX 3Dnow! ISSE AltiVec ISSE2 2 SIMD: Literatur MMX: ISSE: 3D Now! "multimedia extension" 996 "internet SIMD streaming extension" (PowerPC G4, Macintosh) "The MMX technology page has been removed" developer.intel.com/drg/mmx/manuals/ developer.intel.com/drg/mmx/appnotes/ Linux "parallel-processing-howto" IEEE Micro 8/96 S.42, c t /97 S.228ff Intel website: developer.intel.com/software/idap/resources/technical_collateral/pentiumiii/ c t 4/ S.34 (ISSE/3Dnow/Altivec) AMD website: c t 5/98 S.86 ff MMX: Grundidee 32/64-bit Datenpfade sind "overkill" ALUs aber leicht parallel nutzbar: carry-chain auftrennen SIMD leicht implementierbar ~% Fläche beim Pentium/MMX Performance 2x.. 8x für MMX Ops Performance.5x.. 2x für Apps Pentium/MMX: press release größerer L-Cache als Pentium-I x86: Register 3 5 EAX AX AH AL accumulator ECX CX CH CL count: String, Loop EDX DX DH DL data, multiply/divide EBX BX BH BL base addr ESP SP stackptr EBP BP base of stack segment ESI SI index, string src EDI DI index, string dst CS code segment SS stack segment DS data segment ES extra data segment FS GS 32 bit ALU 6 bit ALU 6 bit ALU 8 bit 8 bit 8 bit 8 bit 886 Exx ab FPR FPR7 Medientechnik SIMD-Befehlssätze IEEE Micro 3/4-99 S.37ff EIP EFLAGS IP PC status FP Status
2 MMX: Entwurfsentscheidungen Kompatibilität zu alten Betriebssystemen / Apps: keine neuen Register möglich keine neuen Exceptions bestehende Datenpfade nutzen möglichst wenig neue Opcodes alte Prozessoren und neue Software Test-Applikationen: (audio/image/mpeg-/3d-graphik/...) keine Tools optimierte Libraries verfügbar MMX: Register MMX.. MMX7 8 Register a 64 bit in den FP-Registern FP NaN FP TOS = tag = valid.. FP-Register nutzen Überlauf ignorieren saturation arithmetic 64 bit Code doppelt MMX DLLs 6 bit dominiert Assembler 3 TOS tag FP7 FP MMX7 MMX: Datenformate 64-bit Register, 4 Datentypen: packed byte 8 / packed word 4 / packed doubleword 2 / quadword Zugriff abhängig vom Befehl b7 b2 b b w3 w2 w w 63 d d 63 q MMX: Befehlssatz EMMS (FSAV / FRESTOR) clear MMX state (handle FP regs) MOVD mm, mm2/mem32 move 32 bit data MOVQ mm, mm2/mem64 move 64 bit data PACKSSWB mm, mm2/mem64 pack 86 into 88 signed saturate PUNPCKH mm, mm2/mem64 fancy unpacking (see below) PACKSSDW mm, mm2/mem64 pack 432 into 46 signed saturate PAND mm, mm2/mem64 mm AND mm2/mem64 / auch OR/XOR/NAND PCMPEQB mm, mm2/mem64 8a==b, create bit mask / auch GT PADDB mm, mm2/mem64 8add 8 bit data PSUBD mm, mm2/mem64 2sub 32 bit data / signed wrap PSUBUSD mm, mm2/mem64 2sub 32 bit data / unsigned saturate PSLL mm,mm2/mem64/imm8 shift left mm / auch PSRA/PSRL PMULL/HW mm, mm2/mem64 4mul 66 store low/high 6 bits PMADDWD mm, mm2/mem64 MAC 46 -> MMX Medientechnik 63 MMX TOS= insgesamt 57 Befehle (Varianten B/W/D S/US)
3 MMX: "Saturation Arithmetic" was soll bei einem Überlauf passieren? wrap-around..., 25, 26, 27, -28, -27,... saturation..., 25, 26, 27, 27, 27,... Zahlenkreis "aufgeschnitten" gut für DSP- Anwendungen ff 8 7f ff 8 7f MMX: "packed multiply add word" für Skalarprodukte: vector_x_matrix_4x4( MMX64 v, MMX64 m ) { MMX64 v, v2323, t, t, t2, t3; } v = punpckldq( v, v ); // unpack v/v v2323 = punpckhdq( v, v ); // unpack v2/v3 t = pmaddwd( v, m[] ); // v v first 2 rows t = pmaddwd( v2323, m[] ); // v2 v3 first 2 rows t2 = pmaddwd( v, m[2] ); // v v last 2 rows t3 = pmaddwd( v2323, m[3] ); // v2 v3 last 2 rows t = paddd( t, t ); // add t2 = paddd( t2, t3 ); // v = packssdw( t, t2 ); // pack 32->6, saturate paddw (wrap around): a3 b3 a3b3 a2 b2 a2b2 a b ab paddusw (saturating): a3 a2 a b3 b2 b a3b3 a2b2 ab 7FFFh 4h 83h 7FFFh pmaddwd a3 a2 a b3 b2 b a3b3a2b2 3h 7FFFh a b abab MMX: "packed compare" Vergleiche / Sprungbefehle: pcmpgtw: schlecht parallelisierbar Pipeline-Abhängigkeiten keine Sprungbefehle in MMX compare-operationen setzen Bitmasken Bitmasken für logische Ops verwendbar Beispiel: chroma-keying MMX: packssdw / punpckhbw packssdw: pack with saturation 32 -> 6 signed data: punpckhbw: 8h D2h h 8h > > > > h FFFFh h h FFFFh 82h h FCh 8h 7FFFh 82h FCh punpcklbw: lower 32 bits Medientechnik MMX 3
4 MMX: pmulllw / pmullhw pmull[lh]w: multiply 4 words, write low/high byte of results: FFFFh h h 2h 4 x 6 bit 2h D2h h 2h 4 x 6 bit FFFFh FFFEh h h h h h 4h 4 x 32 bit pmullhw pmulllw FFFFh h h h 4 x 6 bit high words entsprechend die low words mit Packbefehlen kombinieren, wenn 32-bit Resultate gewünscht MMX: Chroma Keying () "Wetterbericht": MMX berechnet 4 Pixel / Takt keine Branch-Befehle Schritt : Maske erstellen (high-color: 6 bit/pixel) MMX: Chroma Keying (2) MMX: Zufallszahlen x(t) = (x(t-) 47989) & xffff; QuadWord DithMultVal = x4f34f34f34f3; QaudWord DithRegInit = x4f3994d2379bb75; Init: MOVQ mm, DithRegInit; Loop: // x(t) -> x(t) PMULLW mm, DithMulVal // 3 clocks MOVQ [result64], mm // clocks PMULLW latency 3, throughput (on Pentium) bis zu vier Zufallszahlen pro Takt (U/V pipelines genutzt) 4 MMX-Beispiele Medientechnik [Intel MMX appnote]
5 MMX: tolowercase() str mask = A - str s lowercase aber: Probleme mit Umlauten... e 4 [aus Intel MMX appnote] r 4 pcmpgtb pand padd Dnow! Motivation P e stark wachsende Bedeutung von 3D-Spielen h T 4 pcmpgtb pand a b c d e f 2! " # $ % & ( ), -. / : ; < = >? A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ ] ^ _ 6 a b c d e f g h i j k l m n o 7 p q r s t u v w x y z { } ~ mask str 32-bit Gleitkommaoperationen nötig für Geometrie-Transformationen FPU im AMD K6 vergleichsweise langsam MMX unterstützt nur Integer-Datentypen SIMD-Befehle für 32-bit float Datentypen schnelle Add/Mult/MAC/Sqrt-Befehle muß ohne OS-Unterstützung nutzbar sein MMX-Register verwenden MMX zwei-operanden Adressierung je zwei float-datenwerte pro MMX-Register 3Dnow! Spezifikation (vergleiche Motorola Altivec / Intel ISSE) 2 = [ = Z Dnow! Entscheidungen SIMD-Befehle für 32-bit float Datentypen: MMX-Register verwenden, zwei Datenworte pro Register zwei-adress-befehle keine Status-Flags, keine Exceptions MMX-Befehle nutzbar (logische, Vergleiche,...) belegt nur einen einzigen x86 Opcode (FF... subobcode) möglichst wenig Chipfläche: keine Unterstützung für NaN/INF/... nur round-to-nearest-even Modus, - LSB Saturation-Arithmetik statt Überlauf Approximation für Division und Quadratwurzel 3Dnow! Befehlssatz Medientechnik 3Dnow! 5
6 3Dnow! Prefetch Speicherzugriffe in Multimedia-Applikationen: reguläre Speicherzugriffsmuster ungewöhnliche Lokalität viele Daten werden (pro Frame) nur einmal benötigt aber regelmässig (in jedem Frame) Performance stark von optimaler Cache-Ausnutzung abhängig prefetch-befehl quasi normaler Ladebefehl, aber ohne Zielregister gewünschte Daten werden in L/L2-Cache geladen löst keine Exceptions / Page Faults aus "memory streaming" auch für andere Anwendung gut nutzbar (etwa Numerik) 3Dnow! Division / Quadratwurzel Rechenwerk für Division / Sqrt ist sehr aufwendig möglichst wenig Chipfläche für 3Dnow! teilweise nur geringe Genauigkeit benötigt etwa Shading/Beleuchtungsberechnung für 3D-Graphik Division und Quadratwurzel per Approximation erster Befehl liefert 4/5 bit Approximation aus Lookup-Table und Interpolation mit vollem Takt zusätzliche Befehle für Newton-Iteration quadratische Konvergenz: zwei Iterationsschritte für volle Genauigkeit wenig Hardwareaufwand voll in Pipeline integriert, maximaler Durchsatz 3Dnow! Division / Quadratwurzel Hardware-Dividierer ist sehr aufwendig oft wird nicht die volle Genauigkeit benötigt, z.b. Beleuchtungsberechnung bei 3D-Graphik Iteration zur Berechnung von /b: x = x (2 - bx) 3Dnow! Quadratwurzel Iteration zur Berechnung von /sqrt(b): x =.5 x (3 - bx²) separate Befehle zur ersten Schätzung (4 bit) zwei weitere Befehle zur ersten und zweiten Iteration Resultat mit 24-bit Genauigkeit abschließende Multiplikation für sqrt(x) statt /sqrt(x) 6 3Dnow! Medientechnik
7 3Dnow! Div/Sqrt-Applet 3D Now! Apfelmännchen Eingabeparameter: Argument x Startwert x Ausgabe: Iterationswerte x,x,... exakte Lösung quadratische Konvergenz stark abhängig vom Startwert Function IterPasD (I,R :Double; Grenze, Tiefe :Paratyp):Paratyp; var A,B,C:double; Begin Count:= ; A:=; B:=; Repeat C:= SQR(A) - SQR(B) R; B:= 2AB I; A:= C; INC (Count); Until (abs (A) >Grenze) or (Abs (B) > Grenze) or (Count=Tiefe); IterpasD:=Count; End; 3D Now! Apfelmännchen ; Quadriere (A jb)2 = A2 - B2 j 2AB ; Entry MM ;A B ; MM ; - ; MM2 ;R I ; loop: MOVQ MM3,MM ;MM3=A B MOVQ MM4,MM ; oh weh PSLLQ MM3,32 ; das Vertauschen ist PSRLQ MM4,32 ; sehr mühsam... POR MM3,MM4 ;MM3=B A PFMUL MM3,MM ;MM3= AB AB PFMUL MM,MM ;MM= A2 B2 PFMUL MM,MM ;MM= A2 -B2 PFACC MM,MM3 ;MM= A2 - B2 ABAB PFADD MM,MM2 ;MM= A2 - B2 R 2ABI ; = A(n) = B(n) PF2ID MM4,MM ;ia = INT(A) ib = Int(B) MOVQ ia,mm4 ; Sieh nach, ob A oder B > GRENZE ist... dec CX ; iteration counter jnz loop ISSE: Homepage / Literatur Medientechnik 3Dnow! 7
8 ISSE: Entwurfsentscheidungen Markt fordert 3D mindestens doppelte FP-Performance notwendig 2-fach oder 4-fach SIMD? 28-bit machbar (FP bereits 8-bit) bereits 2 64-bit ALUs auf dem Prozessor 4-fach SIMD "already register-starved IA32 architecture" neue Register, 28-bit erfordert OS-Unterstützung 7 neue Befehle sowohl "packed" als auch "scalar ISSE instructions" ISSE: "Streaming" typisch für Medienverarbeitung: ALUs müssen auf die Daten warten Streaming: hohe Datenmenge / Datenrate geringe Lokalität: viele Daten (Pixel) werden nur x benötigt Cache-"Pollution" herkömmliche Cache-Strategien nutzlos GHz, 8x SIMD, nsec Speicher: 8 OPs / Zugriff Cache-Nutzung anpassen Prefetch: Daten rechtzeitig anfordern Speicherlatenz fast perfekt versteckt (für Media-Apps.) Performance leidet (extrem) ISSE: Prefetch-Befehl ISSE: Register ISSE 27 xmm xmm7 SIMD: src op src2 op op op op Scalar: FP/MMX 79 op fp fp7 8 SSE Medientechnik dst
9 ISSE: Register Viewing Tool Softwareentwicklung für MMX / ISSE / 3Dnow: nur rudimentäre Compiler- und Tool-Unterstützung oft handoptimierter Assembler wg. bester Performance ISSE: Programmierung Intel VTune Performance Enhancement Environment: optimierender Compiler mit ISSE-Unterstützung: Intrinsics C-Funktionen, Compiler inlining Vector Class Library Klassen, inlining durch Compiler Vectorization optimierender Compiler Intel Performance Library Suite erfordert 6-Byte Alignment aller Datentypen umfangreiche Profiling-Tools sehr teuer ISSE: Programmierung mit "Intrinsics" float xa[size], xb[size], xc[size]; float q; void do_c_triad() { for( int j=; j < SIZE; j ) { xa[j] = xb[j] qxc[j]; } } ISSE-Programmierung mit "Intrinsics" und VTUNE: #define VECTOR_SIZE 4 declspec(align(6)) float xa[size], xb[size], xc[size]; float q; void do_intrin_triad() { m28 tmp, tmp; tmp = _mm_set_ps(q); for( int j=; j < SIZE; j= VECTOR_SIZE) { tmp = mm_mul_ps( (( m28 ) &xc[j]), tmp ); ( m28 ) &xa[j] = _mm_add_ps(tmp, (( m28 ) &xb[j]; } } ISSE: AoS / SoA Array of Structures: Daten lokal Anordnung schlecht für SIMD Structure of Arrays: Anordnung optimal für SIMD aber im Speicher "verstreut" Hybrid SoA - SIMD struct { float A[8],B[8],C[8]; } Hybrid_data[25]; struct { float A, B, C; } AoS_data[]; struct { float A[],B[],C[]; } SoA_data; Medientechnik SSE 9
10 ISSE: FIR-Filter Nutzen von MMX/ISSE für Filter? MMX und ISSE für 6-bit Integer ISSE für 32-bit Gleitkommawerte maximal vierfache Leistung gegenüber skalarem Code aber: erfordert Operanden-Alignment (6-Byte Grenzen) z.b. durch Duplizierung der Daten/Koeffizienten-Arrays Arraygrößen Vielfache von 4 Multiplikation parallel, aber Akkumulation schwierig siehe Intel Appnote "32-bit FP FIR Filter implemented using SSE" ISSE2: mux-befehl (IA64) ISSE2: psad-befehl (IA64) ISSE2: pavg2-befehl (IA64) SSE2 Medientechnik [IA64 databook]
steigende Anforderungen für Audio, Video, Image, 3D grosse Datenmengen geringe Genauigkeit (8 bit.. 16 bit) x86-fpu ausgereizt
56 SIMD-rweiterungen PC-Technologie SIMD: Media processing "Media processing" mit dem PC?! steigende Anforderungen für Audio, Video, Image, 3D grosse Datenmengen geringe Genauigkeit (8 bit.. 6 bit) x86-pu
MehrSIMD: Media processing. SIMD: Literatur. SIMD: Flynn-Klassifikation. Amdahl s Gesetz. 40 SIMD-Erweiterungen PC-Technologie MMX:
SIM: Media processing "Media processing" mit dem PC?! steigende Anforderungen für Audio, Video, Image, 3 grosse atenmengen aber oft mit geringer Genauigkeit (8 bit.. 6 bit, 32 bit P) x86-pu ausgereizt
MehrModul IP7: Rechnerstrukturen
64-040 Modul IP7: 15 Parallelrechner Norman Hendrich & Jianwei Zhang Universität Hamburg MIN Fakultät, Vogt-Kölln-Str. 30, D-22527 Hamburg {hendrich,zhang}@informatik.uni-hamburg.de WS 2010/2011 Hendrich
MehrEinführung in die Programmierung mit C++
Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten
MehrUmsetzung in aktuellen Prozessoren
Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme
MehrTIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
MehrAssembler - Variablen
Assembler - Variablen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Variablen 1/30 2008-04-21 Variablen Variablen
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
MehrSeminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1
\ Inhalt Seite 1 \ Inhalt SIMD Kurze Rekapitulation 3Dnow! (AMD) AltiVec (PowerPC) Quellen Seite 2 \ Wir erinnern uns: Nach Flynn s Taxonomie kann man jeden Computer In eine von vier Kategorien einteilen:
MehrKarlsruher Institut für Technologie
Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
Mehrx86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013
x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle
Mehr6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten
6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6.1 Gegenstand der Vorlesung Interne Organisation - Architektur - Register - Statusbits - Speicherstruktur Basis-Adressierungsarten - direct - absolute
MehrDie Intel MMX-Technologie
Die Intel MMX-Technologie Günter Jannach, Klaus Leopold SEMINAR AUS PRAKTISCHE INFROMATIK Leiter: Prof. Hermann Hellwagner Inhaltsverzeichnis 1 Einleitung 4 1.1 Ziel.........................................
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Zentralübung
MehrHinweise 80x86-Architektur
Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrRechnernetze und Organisation
Pentium 1 Übersicht Motivation Architektur Instruktions-Set Adressierungsarten Geschichte Verbesserung und Erweiterungen 2 Motivation Verständnis von Prozessoren: Warum Pentium statt kleiner CPU? Pentium
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
MehrMMX Varianten der Arithmetik
MMX Varianten der Arithmetik Arithmetik wahlweise im Wraparound-Modus: Unter- bzw. Überläufe werden abgeschnitten und nur die niederwertigen (dargestellten) Bits abgebildet F000h a2 a1 a0 + + + + 3000h
Mehr1. Grundlagen der Informatik Organisation und Architektur von Rechnern
1. Grundlagen der Informatik Organisation und Architektur von Rechnern Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen, Darstellung
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente
Mehr10. Die Adressierungsarten des MSP 430
10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung
MehrPC-Technologie. Norman Hendrich. Universität Hamburg Fachbereich Informatik Vogt-Kölln-Str. 30 D 22 527 Hamburg hendrich@informatik.uni-hamburg.
PC-Technologie Norman Hendrich Universität Hamburg Fachbereich Informatik Vogt-Kölln-Str. 30 D 22 527 Hamburg hendrich@informatik.uni-hamburg.de . INHALTSVERZEICHNIS Inhaltsverzeichnis i Allgemeines 1
MehrDie 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.
MehrAssembler Integer-Arithmetik
Assembler Integer-Arithmetik Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Integer-Arithmetik 1/23 2008-04-01 Arithmetik
MehrDATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE
D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrMikroprozessor als universeller digitaler Baustein
2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen
MehrRechnernetze und Organisation
RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen
MehrInstruktionssatz-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
MehrKap.2 Befehlsschnittstelle. Prozessoren, externe Sicht
Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen
MehrCPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:
MehrAMD 3Dnow! Bernhard Penz, Ronald Sowa. Institut für Informatik. AMD 3DNow! Leiter: o. Univ.-Prof. DI Dr. Hermann Hellwagner
Institut für Informatik Seminar aus praktischer Informatik AMD 3DNow! Leiter: o. Univ.-Prof. DI Dr. Hermann Hellwagner Autoren: Bernhard Penz, Ronald Sowa Termin: 4. April 2000 Seminar aus Praktischer
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Assignment A2 1 Motivation Übersicht Pentium Instruction-Set Simulator Mit Floating-Point Unit Aufgabenstellung 2 Motivation Instruction-Set Simulation Funktionales Modell
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31 Einführung Die folgenden Folien geben einen Überblick über die weit verbreitet x86 Architektur
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26 1 Geschichte 2 Programmiermodell 3 Befehlssatz 4 Konventionen 5 Beispiele 6 SSE 7 Literatur Einführung
Mehr2. Aufgabenblatt Musterlösung
2. Aufgabenblatt Musterlösung Technische Informatik II Sommersemester 2011 Problem 2: Assembler Syntax Register eines 32-bit Intel-Prozessors: 16 bits 8 bits 8 bits general purpose registers EAX Accumulator
MehrStruktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register
Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control
Mehr8. Intel IA-32 Prozessoren: Befehlsübersicht
8. Intel IA-32 Prozessoren: Befehlsübersicht Ganzzahlarithmetik Kontrollstrukturen Bitmanipulation Schieben und Rotieren 20.10.2007 Meisel 1 8.1 Ganzzahl-Arithmetik 8.1.1 Übersicht add adc sub sbb imul
MehrMikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005
Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist
MehrKap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
MehrNeues vom STRIP Forth-Prozessor
Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz
MehrArbeitsfolien - Teil 4 CISC und RISC
Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik
MehrBefehle zur Verarbeitung von Daten ( data processing ):
ARM: Befehlssatz Befehle zur Verarbeitung von Daten ( data processing ): Register/Register-Befehle: ,, (Achtung! Andere Interpretation: ) Transport-Befehl: MOV ,
Mehri386 Interrupt-Deskriptortabelle (IDT)
Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Konstruktionsübung SS2009 Vorbesprechung 1 Übersicht Einleitung Motivation Administratives i ti Generelles zur KU Assignment A1 Vorbereitung Johannes Wolkerstorfer Vorstellung
Mehr7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung
7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung Inhalt: Schichtenmodell x86-architektur und x86-assemblerprogrammierung Assemblersprache und Einbindung in C 1 Schichtenmodell Strukturierung
Mehr7 Ein einfacher CISC-Prozessor
7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge
MehrWiMa-Praktikum 1. Woche 8
WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und
MehrHinweise C-Programmierung
Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung
MehrHigh Performance Embedded Processors
High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
Mehrmoderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de
moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de Übersicht FachChinesisch SPARC - UltraSparc III/IV PowerPC - PowerPC 970(G5) X86 - Pentium4(Xeon), Itanium, (Pentium M) X86 - AthlonXP/MP,
MehrDas Assembler-Buch. Trutz Eyke Podschun. Grundlagen und Hochsprachenoptimierung. 4., aktualisierte Auflage ADDISON-WESLEY
Trutz Eyke Podschun Das Assembler-Buch Grundlagen und Hochsprachenoptimierung 4., aktualisierte Auflage ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park,
MehrBetriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung
MehrDer Toy Rechner Ein einfacher Mikrorechner
Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte
MehrÜbung zu Betriebssystembau (Ü BS)
Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrAssembler (NASM) Crashkurs von Sönke Schmidt
Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher
MehrU23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides
Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides
MehrMusterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
MehrComputergrundlagen Geschichte des Computers
Computergrundlagen Geschichte des Computers Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 1641: Rechenmaschine von B. Pascal B. Pascal, 1632-1662 mechanische Rechenmaschine
MehrKlausur zur Mikroprozessortechnik
Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
MehrCPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017
CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit
MehrJava-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.
Die Java Virtual Machine spezifiziert... Java Instruktions-Satz Datentypen Operanden-Stack Konstanten-Pool Methoden-Area Heap für Laufzeit-Daten Class File Format 26 Die Java Virtual Machine Java Instruktions-Satz
MehrEvolution des x86 Befehlssatzes und seiner Erweiterungen
Technische Universität Dresden Evolution des x86 Befehlssatzes und seiner Erweiterungen Peter Ebert Dresden, 15.07.2009 Einführung Überblick & Historie Konkurrierende Befehlssatzarchitekture n Befehlsarten
MehrComputergrundlagen Geschichte des Computers
Computergrundlagen Geschichte des Computers Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2011/12 1641: Rechenmaschine von B. Pascal B. Pascal, 1623-1662 mechanische Rechenmaschine
MehrOpenCL Implementierung von OpenCV Funktionen
Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL
MehrVorlesung 5: Interrupts
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen
MehrAssembler Unterprogramme
Assembler Unterprogramme Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Unterprogramme 1/43 2008-06-03 Unterprogramme
MehrPraktische Übungen zu Computertechnik 2. Versuchsprotokoll
Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: C2 Parallelrechner Versuchsdatum und -zeit: Donnerstag, 03. Juni 2010, 10-13 Uhr Betreuer: Adrian Knoth Name, Studiengang, Mat.-Nr.: Ralf
MehrBetriebssysteme (BS) IA-32. Überblick. das Programmiermodell der Intel Architektur. Historie der Intel x86 Prozessoren. 8086: Programmiermodell
Betriebssysteme (BS) alias Betriebssystembau (BSB) IA-32 das Programmiermodell der Intel Architektur Überblick Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz "Tasks" Zusammenfassung
MehrCompiler: 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
MehrRaytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)
Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers
MehrBetriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.
BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie
Mehr2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis
MehrDas Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrBeispiel: A[300] = h + A[300]
Beispiel: A[300] = h + A[300] $t1 sei Basisadresse von A und h in $s2 gespeichert. Assembler Code? Maschinen Code (der Einfachheit halber mit Dezimalzahlen)? op rs rt rd adr/shamt funct Instruktion Format
MehrWeitere Arithmetik. Grundlagen der Rechnerarchitektur Assembler 33
Weitere Arithmetik Grundlagen der Rechnerarchitektur Assembler 33 Die speziellen Register lo und hi Erinnerung: ganzzahliges Produkt von zwei n Bit Zahlen benötigt bis zu 2n Bits Eine MIPS Instruktion
MehrPentium. Die Intel-Pentium CPU. AK Pentium. Packaging. Pentium Busse. RISC oder CISC?
Pentium Die Intel-Pentium CPU Äußerst komplexes Ding IA-32 Intel Architecture Software Developer s Manual Vol 1: Basic Architecture: 426 Seiten Vol 2: Instruction Set Reference: 976 Seiten Vol 3: System
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrJohann Wolfgang Goethe-Universität
Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory
MehrRechnerorganisation. IKS 2016 H.-D. Wuttke, K. Henke
Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau
MehrDaniel Betz Wintersemester 2011/12
Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register
MehrImplementierung: Direkt abgebildeter Cache
Implementierung: Direkt abgebildeter Cache Direkt-abgebildeter Cache von 64 KB mit 16-Byte-Linien (Adress- und Wortlänge 32 Bit, Byteadressierung) Address (showing bit positions) 31 30 29 28..... 19 18
MehrBekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software
Bekannte Druckfehler im Buch Embedded Controller Eine Einführung in Hard- und Software Stand. September Seite 9 Bild. Am Ausgang des Multiplexers fehlt ein D, um ihn als Datenausgang zu kennzeichnen. Seite
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)
MehrInstitut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.
Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.
MehrDas Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,
Mehr