/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-01/informatik2/lex-yacc-bash-etc/new00003.txt


pipeline
pipeline-stufe = pipeline-segment
pipeline-register
pipeline-maschinentakt
durchsatz einer pipeline

Befehl holen
Befehl dekodieren
Operanden
Befehl ausführen
Resultat zurückschreiben

IF
ID
EX
MEM
WB

IF = Instruction Fetch 
ID = Instruction Decode/Register Fetch 
EX = Execute
MEM = Memory Access
WB = Write Back

IF = Instruction Fetch = Befehlsholephase 
ID = Instruction Decode/Register Fetch = Befehlsdekodierphase/Operandenholephase
EX = Execute = Ausführungsphase
MEM = Memory Access = Speicherzugriffsphase
WB = Write Back = Resultatzurückschreibephase

Pipeline-Konflikte
Pipeline-Hemmnisse = Pipeline-Hazards

1.) Datenkonflikte
2.) Struktur- und Ressourcenkonflikte
3.) Steuerflusskonflikte

Datenkonflikte
1.) Echte Datenabhängigkeit - Lese-Nach-Schreibe-Konflikte - Read after Write - RAW
2.) Gegenabhängigkeit = Anti Dependence - Schreibe-Nach-Lese-Konflikte - Write after Read - WAR
3.) Ausgabeabhängigkeit = Output Dependence - Schreibe-Nach-Schreib-Konflikte - Write after Write - WAW

1.) Behandlung durch den Compiler
2.) Erkennung durch die Hardware: Leerlauf einer Pipeline, Sperren einer Pipeline, Pipeline Stalling, Pipeline Interlocking

Steuerflusskonflikte

BTAC - Branch Target Adress Cache - Sprungzieladresscache
Branch Adress Cache
BTB - Branche Target Buffer
Return Adress Cache - Rücksprungadressstapel bei CALL

Einfache Sprungvorhersagetechniken
1.) Predict always not taken
2.) Predict always taken 
3.) Predict backward taken, forward not taken 

1-Bit-Prädiktor
1.) Genommen - T - Taken 
2.) Nicht genommen - NT - Not Taken 

2-Bit-Prädiktor
1.) Predict strongly taken 
2.) Predict weakly taken 
3.) Predict weakly not taken 
4.) Predict Strongly not taken 

PHP:
array_key_exists
in_array
ksort
sort
krsort
ksort
natcasesort
natsort
explode
implode
arsort
sort

C
printf
scanf
fprintf
fscanf
sprintf
sscanf
puts
gets
fputs
fgets
putc
getc
getch
fputc
fgetc
ungetc
fseek
rewind
ftell
fopen
flcose
feof
ferror
strerror
perror
fflush
fsetpos
fgetpos
rename
unlink
remove
mkstmp

HTML
html
head
body
title
base
link
meta