Springers Lehrbücher der Informatik Herausgegeben von o. Univ.-Prof. Dr.-Ing. Gerhard H. Schildt Technische Universität Wien
SpringerWienNewYork
Gerhard H. Schildt, Daniela Kahn, Christopher Kruegel, Christian Moerz Einführung in die Technische Informatik Unter Mitarbeit von Johann Klasek, Heinrich Pangratz, Alexander Redlein, Ulrich Schmid, Stefan Stöckler Zweite, überarbeitete und erweiterte Auflage
SpringerWienNewYork
o. Univ.-Prof. Dr.-Ing. Dipl.-Ing. u. Ing. (grad.) Gerhard H. Schildt Daniela Kahn Christopher Kruegel Christian Moerz Institut für Rechnergestützte Automation Technische Universität, Wien, Österreich e-mail:
[email protected]
Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdruckes, der Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder ähnlichem Wege und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. © 2003 und 2005 Springer-Verlag/Wien Printed in Austria SpringerWienNewYork ist ein Unternehmen von Springer Science + Business Media springer.at Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürfen. Produkthaftung: Sämtliche Angaben in diesem Fachbuch/wissenschaftlichen Werk erfolgen trotz sorgfältiger Bearbeitung und Kontrolle ohne Gewähr. Eine Haftung der Autoren oder des Verlages aus dem Inhalt dieses Werkes ist ausgeschlossen. Satz: Reproduktionsfertige Vorlage der Autoren Druck und Bindung: Grasl Druck & Neue Medien, 2540 Bad Vöslau, Österreich Gedruckt auf säurefreiem, chlorfrei gebleichtem Papier – TCF SPIN: 11377511
Mit 254 Abbildungen
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
abrufbar.
ISSN 0938-9504
ISBN-10 ISBN-13
3-211-24346-1 SpringerWienNewYork 978-3-211-24346-6 SpringerWienNewYork
ISBN 3-211-83853-8 1. Aufl. SpringerWienNewYork
! " !
Vorwort
! " # $ " % " & '( ) # $ * # " " # " + ,
( - ' ' # ." ) ,
% # ' / , ( % + , # " * 0 # # " Æ " " # 1
) " " - " ( 2
( % # )
( # ( # " 3" '" " )
,
. * ( '"
# * ( " '" *( 1 ( 1 ( ( " & ) !1 ' 4 !, 1 + 1 ' 5 2 "( . . ., 1 " / # " "( ., . ( * & ( + , # )" *( (, , ( ( # 2 % ( # ( (, # " . (, 1 ( ( 1 $ $ "
Ú
!" # $
%
" & ' ( ) * " % " +
" , *
- " ( *
-
% !. %
&
' / ( . 0 ! ! [email protected]
$ ( 1 2 3 4 0 . 3
0 ! ( ) % ! +
- % 7 7 ) 899:
5 6 $
$ -
Vorwort zur 2. Auflage
! " #$ " %
&
#$ & "
! ' ( ! ) * "*
+ ! ' "
, $
- & " * ! % [email protected]
. & # - ! ) ' ! ( ! " .') ' ! ' / $ ! % " "$ . ) +
$ ! 1 $ # 1 / 0 '! " ) #
Inhaltsverzeichnis 1 Einleitung
1
Hardware
5
2 Logische Schaltungen " # % &' ( ! % ' ( ) * + + -. ' . /' 0 10
- 1# 1% ! 3 2 4 1% 13 * ' 0 ' 0 ' ' 1# 1 ' ' 546#7
, $ 2 2 , !, ! ! !
3 VHDL 89 89 : 4 8 10 18
69 !$
7
! $
Ü
& & * && &
4 Mikroprozessoren ! $ # " " / # " " 0 % ( 1$ 0 % 2 $ ' )4 4 0 3 3 1 $ # " , ( , ! & , $ " " # ," # ," # ," 0 % # ,# .$ $5$ . 6 1 # ," 7 8 " ! ! ! -
91 $ 8 2 : ( % ; 8 #9$$ , + '+)
87 & * * * * *& **
-
-
&
*
*
*
5 Computersysteme 91 # ; 9 ( 2 ;+; ( 2+; % + ( # $, ; # $, '#)
143
&
*
!" !" # $ % # % '( ) $ +%, . !% " (
!! "#$ % & "#$ ' !! "#$ ( )
* + "#$ ,--+ % &
Netzwerke
.
205
6 Aufbau 207 / 0 ) +1 . / + #)! . / # ! . 7 Architekturen 2# 3 4 5 ,' # + $0 6 6) 37 8*0 &*0 *3*06 % 6+ 3! &9 8*0 ! #'' 8 : #8; %+) $ * #8 # #8
213 . /
8 Protokolle :; 6 " 9/
229 /
Betriebssysteme und Systemsoftware ¨ 9 Ubersicht < %+ 9 $ '1 - $ '1 - ) $ $ '1 -44 $ '1 - #+ , #! =+ #! # - 10 Prozesse
241 - 1
243 / 251
ÜÚ
11 Interprozess-Kommunikation ! " $% " &
"$ '! " ( )
275 #
12 Speicherverwaltung * ' !) ' +%% $
293 #
13 Ressourcen-Management 311 ,-) . ! $ ( / ) 0 "$ 14 Sicherheit 12 12) ( % 3 $% 15 Schlussbetrachtung
329 339
1 Einleitung
! " # $ $ %
$ " & ' ' $ ( ) $ ! $ $ " # &
' % " !*
+
" ! +
$ $ " & +
)"" ! " ) " )$ #
,$ ) # !
" - $ &
. $ " /
. " # $ ) "! " ) / # 0 ( +/ + /
" # % . # " 1 / $ $ " 1 -
# ! 2 " !
$ . / 3 45 . $" "
$ " & . $ 6 • •
7 8
• •
•
. $ # . 9 ! "
! " # # $" % & $'(! ) * & $ ! ' + ' , * & ! - " ' . " " / " , , , " ' . ! ! ) ' . ' 0 " " # $ % & , 1 ( - ' ( " ( 2 2 ' ' 0 " +% 3 " 4 3 5 5 ) " 4 6 64 466 7 3 ( ("8 4 ("9 2 2'( !( 2 " ) ' ( ) " * 3 " ! ) . ) . : ) . - ; ) . < * 3 *+ % ) . " ) .
) . $ # # :' ' & 2 *+ ,- .( - * / # * +- *+ - *++/ " ( +%
" 4 * = . " ( ! ) " ) . # / ( " $ & " $ ( & $*+ & : ( ) . : .
- *
! " # ! $ % & ' ("% )
" * *
+, ' !
- " " ! %
& ' " "
Hardware
! "
#
$ % $ $ & %
' " & (
Rechenwerk:
) * $ +
Speicherwerk: Steuerwerk:
$ $ %
$ "
,
Ein-/Ausgabeeinheiten:
- % ,
.&,/" ) 0
Bussystem:
- 1
$ + ,
Rechen− werk
Speicher− werk
...
... Bussystem Ein−/Ausgabe− einheiten
Steuer− werk
" 22(
" +
$
. 0'
"
)
, # 3
' 4 $ 5 , ' %
' 6 +
" &
" '
,
, , $ % $ % 1 $ ' , $
¨ Ubersetzung:
(
* " % 7 ,
,%
#
! "
$ %
& ' (
Interpretation:
) #
* * !
" ( #
2 Logische Schaltungen
2.1
Grundbegriffe
! " # " $ %& ! ' "
( $ , ,, -" $ )* )+ $" $' , &. / 0, $'
, !
ue . ua $'
'
+VCC /+VDD (z.B. +5V) ue
ua
GND .$$ +1 " )VCC/ )
VDD
0, /
! 2 (" + ' & (" ' " $
ULOW ( UHIGH
( + ' 3 #'$ ' ,
ULOW
&
4 '
UHIGH
ULOW
( +
( $' ( 3
.$$ '
ua +5V
11 00
01
5
1
4
HIGH
3 "verbotene Zone" 2
0110
1 0
0V
1
2
3
4
ue
5
01
LOW
ua fue ! " #$ % $ & $ ! ' " & $ " ! ( )$ * $ & $ ! , + - " & $ $ )! " + $ ! )$ U p pp pp
UHIGH
ULOW
U p pp pp
....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ......................................................................
p....................................................................... ...................................................................... ...................................................................... ....................................................................... ......................................................................
...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... .......................................................................
....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... .......................................................................
p p p p
.......... .......
....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ...................................................................... ....................................................................... ......................................................................
.......... .......
. / $ $ (
& " $ $ & ! $ "0 "$ 1 ∧ 2! ∨ 134 ¬ 21% 5 ) " 0 "$ 6 $ $ $ 1 1 $ 7" " 2" "" $ " &$ 3 $ & ! $ $ 8 " ) ! $ ')" 9 9 ) 4 $ 8 2! 134 2:6% 9
AND
OR
e½ ∧ e¾
a
e½
e½ ∨ e¾
a
≥
e½
a
e¾
NOT ¬e
a
a
e
pppppppppp
a
e¾
! "# $% ! $% "#
NAND a
NOR
¬ e½ ∧ e¾ "
e½
pppppppppp
a e½
a
e¾
¬ e½ ∨ e¾ " ≥ pp p p p p pp p p a
e¾
& ' $%'
( )
* +* , *! ) !!) - .! ), /*, , -!#
AND a e½
e¾
≥ p ppp p pp p ≥ ppp pp pp p
NOT
OR
e½ ∧ e¾
≥ p p ppp pp p a
a
e½ e¾
e½ ∨ e¾
≥ pp ppp p pp
≥ pp p p p p pp a
a
e
¬e ≥ ppp p pp pp a
0 1!!) $2! $%# -
AND
e½ e¾
NOT
OR
a e½ ∧ e¾
a e½ ∨ e¾ e½
pppppppp
pppppppp
pppppppp a
a ¬e
e pppppppp a
e¾
pppppppp a
pppppppp
! " ! !# ! $ % "& % ' (
e½
pppppppppp
)
(
pppppppppp
e½ a
e¾
ppppppppppp
)
pppppppppp
a
e¾
* + ! , ¬-¬½ ∧ ¾ . $/ "& 0! (! $/# & " '" 1/"/ + (! $ # & ( ! &# 1" 02 & $ 0 ! -1" (. 3 '4 " 0! $ 5 $ " # 0! $ " " (! 0! p R
R
pppppppppppppp
R
p
6 (! 0! $/ $ ! ' / 1 " 2 ' & 7" ! + # 8# 8
8 &
Power dissipation:
Fan out: ! " # Propagation delay:
2.1.1
Fan Out
! ! $ " !
#% & ' ( )* (
" & ! &+ , ! ,-.,# - / 01 / - 0 23 & !2 ' ( )* ( "4 &# - 0 $ 4 5 ! a#
b#
V
Ri
...... ... ...
........ H ..........ppppppp p...p....... .. ..
Ri ..... ............ .
....
L
.. ...... ...... ....
.. ...... ...... ....
p p p pppppppppp ppppp ppppp p ppp pp pp pp p p ppp p p p p pp
ua ... .. ...... . ... ..... ...... ....
V
67'% $ E s b " # $ 82 82 "2 #% 1 , 4 2 9 2 $ ! % , 1 : ! $ ; RE 82 CE
Eingang
RE
CE
0V
677%
C C ! ! C C " # $ E½
E¿
L½
r
CE ½
CL ½
r
L¿
r CL ¾
....... ....... ...... ....... .......
CE ¾
r
Cges
CE ½ CE ¾ CE ¿ CL ½ CL ¾ CL ¿
CE ¿
CL ¿
%&%$ ' ( ) #* " # #
" u +t, -* # .* # $ C
- $
+ ,/
uC t
&−e U . . . 0 U¼ ·
− τt
¼
$
+ ,/
uC t
U¼ · e− τ U¼ . . . t
#
τ / R·C 1 +2 . . . 3,τ + 2 · τ 456 3 · τ 446 , u+t, ges
. ..... ... ...
U¼
... . . ..... ... .... . .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .. ..... . .. . ... .. ... .. .. ... t ... ... ... τ . ... . . . .... ... . . . .. ... . . . . .. ... ... . ... ... .... ... ... ... . .... . .. ... ... . . . ... . .... ... . . . ... . .... . . ... ... . . . .. ... . ... ........... .. . ....... ... . ... . ... . ... . ... . . ............. ................... ....... .. .. .. ... ... .
p p pp p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ppp pp p p p ppppp pp p p ppppp pp pp pp pp p pp p p p p p pp p p p p p p p p p p p p p p p p p − p p p p ut U¼ · − e pp p p p p pp p p pp pp p pp p p pppp p pp p p ppp pppp pppp ppp p p pp p pp ppp pp pp
+ ,/
+&
,
t
τ
%&7$ " # + - ,
! " τ # R · C $%
&' u$t& . ..... ... ... ... ... ... . ... ... ... . . ............... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .. ... . ... ... ... . ... ... ... ... . ... ... ... ... . ... ... ... . ... ... .... ... ... ... ... . ... ... ... ... . ... ... ... ... . ... ... ... t . ... ... ... τ ... . ... .. ... ... .. ... ... ... . .... ........... .. . ....... ... . ... . ... . . ... .. . . ............. ................... ....... .. . .. ... ... .
U¼ pppppppp pp p p pp pp pp p p pppp ppp p pp pp p pp pp p pp pp p p pppp p p ppppppp p pp p p p p p p p p p pp pp p p p p p p p
$
−
U¼ · e p p p p pppppp pp p p p p ppp p pp p u t p pp pp pp ppppppp p pp pppp pp pp p pp pp ppp ppp pppppp ppp pp ppppppppppppp pppp pppp ppp ppp ppp pppppppppp p pp pp ppp pp p ppp ppp pp p pp p ppppp ppp ppp pp p p p pp
t
τ
(!! ')*+ , - ! $. & /
0 1
2 , 3 3 "' 4 (- . !3
" ! -5 ," !! ' 4 ! - 0 " ! !
( . ( "
- " ! " ' 6 7 " ( " 8! . ( $( - "&' 9 ' ' ) - ( 7 . "
' ! "
"' 9 " ! ! "
. ( " ," - ' ! ," - ' . : " -
0 , ' 2.1.2
Schaltkreisfamilien
" +
+ 4 8
- $; <& " ' " $' ' " .
,"<4& ! " != " ! " " .
' ECL (Emitter Coupled Logic)+ 4 > ? - $ <& ! , " ? " 8 > " 2 !' MOS (Metal-Oxid Semiconductor)+ - " :"
@ A" ! " ," ' CMOS (Complementary MOS)+ 4 " 0
- 8 !
!" " ! TTL (Transistor-Transistor Logic)
! "#" $ %& " " ! '# ( "" ) ) "" *" "
""
2.1.3
Signalnamen und Signalverbindungen
" + '
) " ) " " " " K1
& =1
>1 K1
'
" , -. "
/ * " "
! ) .
Verbindungen
keine Verbindung
' " , -0. ) "" " " $ )"# 1 *" "2 3 # #
" $ 1 4 " 5"" 2 '" #
$ . 8
' " , -6. " "
3 8
8
5
!
# $ % " ! & LSB
1 0
5
1 1 MSB 1
'
2.2
Realisierung von Funktionen
( ! ) *
+
,&- . e½ ⊕ e¾ * /0! &- /&1 + )
2¬e½ ∧ e¾ 3 ∨ 2e½ ∧ ¬e¾ 3 . e½ ⊕ e¾ . a t
e½ e¾
pppppppppp
4
t
≥
a
4 pppppppppp
.
5 ! % e½ ! e¾ e¿ ! 6 +
!
e½ e¿
e½ e¾ e¿ ! " # $
a
%
& ' ( )& &* a + fe½ , e¾ , e¿ + ¬e½ ∧ ¬e¾ ∧ ¬e¿ ∨ ¬e½ ∧ ¬e¾ ∧ e¿ ∨ ¬e½ ∧ e¾ ∧ ¬e¿
, - .-/, && % & 0 12 3 4& a + f e½ , e¾ , e¿ + ¬e½ ∧ ¬e¾ ∨ ¬e½ ∧ ¬e¿
, % 5 4 & 6 ( 7 e½
pppppppppp
t
8
ppppppppppp
e¾
≥
e¿ pppppppppp pp p .pppp pppp
a
8
% * 5 & 6 ( 7
2.2.1
Halbaddierer
% 9 & , 4& : :
&& )& 6 / ; < && & = -
& 7 & -
& =
& 4
* e½
e¾
e½ > e¾
e½
e¾
S
C
! S "
!#$ %
e½ ⊕ e¾
C
"
e½ ∧ e¾
#$ %
& "'
t
e½
"'
t
e¾
(
)
***+ ,
2.2.2
Volladdierer
- . / 0 e½.i e¾.i
i " ', *, . . . , n / ,
. i " '
. . 0
Ci−½ i " *, 1, . . . , n
i
- , 2
Ci i
½.i
¾.i
)i−½
)i
i
3
3
3
3
3
3
3
'
3
'
3
'
3
3
'
3
'
'
'
3
'
3
3
3
'
'
3
'
'
3
'
'
3
'
3
'
'
'
'
'
! ¬e½.i ∧
Si " ∨
e½.i ∧
¬e¾.i ∧ Ci−½ ∨ ¬e½.i ∧ e¾.i ∧ ¬Ci−½ ∨ ¬e¾.i ∧ ¬Ci−½ ∨ e½.i ∧ e¾.i ∧ Ci−½
Ci "
¬e½.i ∧
e¾.i ∧ Ci−½ ∨ e½.i ∧ ¬e¾.i ∧ Ci−½ ∨ ∨ e½.i ∧ e¾.i ∧ ¬Ci−½ ∨ e½.i ∧ e¾.i ∧ Ci−½ .
Si
S
S ! " ! # S $ e ⊕e ⊕C # % " & ' C $ (e ∧ e ) ∨ (C ∧ (e ⊕ e )). # * & ( )
++, r e $! r $! i
i
i
i
.i
.i
.i
.i
i−
i−
.i
.i
.i
e.i
r
Si
Ci−
r
-
≥
-
!
Ci
++,. /
++,
"
/ 0 " #
?? & e ⊕ e ⊕ C e ⊕ e ⊕ C ( ) e ⊕ e ⊕ C 1 /
0 " 1 " % & & "
# ' # .i
.i
i−
.i
.i
i−
i−
p
pppp
ppp
ppp
ppp
pppp
p
pppp
ppp
ppp
ppp
++2. / ( ) 3 ( ) #
( ++4)
.i
.i
e1.n
e1.3
e1.2
e2.n Cn
FA
e1.1
e2.3 Cn−1
C3
FA
Sn
e2.2 C2
S3
e2.1 C1
FA S2
Binärzahl 1 Binärzahl 2
HA S1
Summe
! " n − # S $ B½ % B¾ B½ B¾ & # '( ) n $ * pp p pppp
ppp
B½ p pp p p ppp pp p ppp ppp ppp ppp
B¾ p pp p p p pp ppp ppp ppp
pp p
pp p
pp p pp p pp p p pp p p pp
+ & *!! ! ,( - . / & . 0 1 2 & & 1 2 ! 2.2.3
Codierer
3 n ei 1i $ ", #, . . . , n − #2 m $ 1n2 & aj 1j $ ", #, . . . , m − #2 4 & n . 1 #2 3 & ei & aj ) ) 3 n $ 5 ( m $ 6
e
e
e
e
e
e
e
e
a
a
a
a e ∨ e ∨ e ∨ e a e ∨ e ∨ e ∨ e a e ∨ e ∨ e ∨ e
! " #$ $ " % & !$ e e 'a a a ( '( ')( $ '*( + " & $ $ " $ e , $ -" . / #$ %0 $1 " . . + 'e e 2!( e $" V $ $ $ ' " ( " 3, $ 4 $ 4 , !$ 4 ' 3, (" , e
e
e
e
3
3 3
3 3 3
a
a
V
5$ $ &2$ ! 6/
7 + + " ! $ 2$ $ 8 " % + 7 4 2 + $9:. ; 3, ; " % 6/ & $ +" 5 , $ 4 / &2$ 2" % & a $ 6/ "
¬ e2 e2 ¬ e2 1 1
0 0 1 1 0 0 1 1 0 1 1 1 0 1
¬ e0 e0 ¬ e0
e3
¬ e1 e1
¬ e3
a¼ e ∧ ¬e ! ∨ e a e ∨ e V e ∨ e ∨ e ∨ e "# $ % & ' ( ( $ ) * pp p p pp pp p
r r r
) *
p pp ppp p p pp
) % ) ' *!+$ 2.2.4
Decodierer
, - ' $ , " n ( ai i ., /, . . . , n − /! ' ( n! /( %'( ( 0 !+ 1 e
. . . . / / / /
e
. . / / . . / /
e
. / . / . / . /
a
. . . . . . . /
a
. . . . . . / .
a
. . . . . / . .
a
. . . . / . . .
a
. . . / . . . .
a
. . / . . . . .
a
. / . . . . . .
a
/ . . . . . . .
! E " # E $ % & % E
e½
% ( ( ( (
' % % ( (
e¼
' % ( % (
a¿
% % % % (
a¾
% % % ( %
a½
a¼
% % ( % %
% ( % % %
& ))* + pp p p pp ppp
, -
ppp
r r r
ppp p ppp
& ))*. + ", -#
2.2.5
Multiplexer
/ 0 1 m ei "i $ % ( . . . m − (# 2 3 "Sn−½ . . . S½S¼#¾ Sj "j $ %, (, . . . , n − (# & & + " &
. # s
¼ ½
ppppppp
s
¼ s
½ ¾ ¿
s
pppppp s
s
..... ......
& ),%. "4 (# / 0
½ ¼
¼ ½ ¾ ¿
S S
! "# $ e % % &' (# # %
) ! * $! e i , , +, , %- % & . $! # (# # $ e % / #% % ) % $ -# # S S 0 1 # " ! * E ! % % - ! $ % % ( E # % % . # "
% # 2 !#% " $! " ! % % 3# # !# ! (# # ! % ! -!# . " % + 405 - # % !# e # e ! a i , , +, , % % 6 % % - # S -
# % (" 7 - 7 % % # " $ -# % 4 8
% $ ½ ¼
¾
¾
i
¼
½ ¼
½.i
¾.i
i
e1.0
&
e1.1
&
e1.2
&
e1.3
&
e2.0
&
e2.1
&
e2.2
&
e2.3 S
& 1
1
1
a0
1
a1
1
a2
1
a3
E
S
ai
0 1 1
X 0 1
alle 0 e1.i e2.i
i = 0, 1, 2, 3
E
+,9 : + 4 8 +, % "% + 4 8 ' # % % ! % +, $ #
! / ; 0 -!# 0 / #% "# % $ -# ! % (" "# * !2 % ! %- % !# .#%- % +,+ . : + 4 8 <
# # S % * $ ! 0 % " %
! # =# ##%- #% .#%- .%
pp p pppp pp pp p pppp
¾º¼
pp p
½º¼
p
½º½ ¾º½ ½º¾ ¾º¾ ½º¿ ¾º¿
¼ ½ ¾ ¿
2.2.6
Demultiplexer
! "# $# Sii % &, , . . . , n − ' ( ) ajj % &, , . . . , n − *( + e ) + ,
+ + + # )' - ' , S½S¼ % && $ . + e a¼ )' # / ! ! ( e S0
S1
&
a0
&
a1
&
a2
&
a3
1
1
0!
2.3
Sequenzielle Logik
) ( $ + 1 2 . +# # ' # 2 0 # ( ( ) ( "( ( 3 - 1 . 4 ' *( 2 # ' # ! 2 4(# !(# # ! $ !'
!! " #
! $ ! % & ' ( ) *
+ ! & , "
& -./ 0!
!
log. 1 log. 0
t
-./1 2&
2.3.1
Latches
!
# 0 ! 3 # 4 # 3!3! 6 # 6 5 5
7 !
0 3!3!
# 0 ( 0 # 8 8 0 ! 3
R S
! ! 9 ) * : ) * ! 9 : ;# <=;> R S Q Q Q
! Q 0 0 ! 8 ?
=! @
$ 3 A 0 -.B ;#
<=;>
...... .....
Ê
½ pp ppppp
s
É
............. . .............. .................... ................................................. ........ ..................... ............. ............. ............. . ...... .....
Ë
½ ppppppp
s
É
! " !# $ #$ $ % Q % Q & ' ( ) ! * $!# ! '!## ) +! $ ' %) , # Q - ./ * Q % ! . +! ./ * Q & " ...... .....
Ê
Ë
½ ppppppp
s
É
qqqqqqqqqqqqqqqqq qqqqqqq ................................. ...........q.q.qqqqqqqqqqqqqqq ............. qqqqqqqq ............. ...... ..... ½ p pp s p ppp
É
0 +# R 1 S 1 % 2 "! 3 R 1 % S 1 Q & + ./ * " Q 1 % ' ( ) & # ' ) 4 + S $ $!# ! S 1 % R 1 % 2 "! !## " Q $" # 56 '( ) Ê
...... ....
½ ppppppp
s
...... ....
Ê
É
qqqqqqqqqqqqqq qqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqq ..... ......
Ë
½ ppppppp
s
½ ppppppp
s
É
qqqqqqqqqqqqqq qqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqq
............. ............. ............. ............. ............. .........
............. ............. ............. ............. ............. ......... ..... ......
É
Ë
½ ppppppp
s
É
+ +# " S 1 % R 1 2 & Q 1 % Q 1 '( 7) & $ '( ) Ê
Ë
...... .....
½ pp ppppp
s
É
qqqqqqqqqqqqqqqqq qqqqqqq .................................. ...........q..qqqqqqqqqqqqqqqq ............. qqqqqqqq ............. ...... ..... ½ ppp p ppp s
É
R S
Q Q ! " ¬"
# $
% & ' ( & ( $ ) $ * C + , ( % ) ( $ # $ - % $ + ./0, 1 1 123 $ 4 3 ) * C $ S
&
&
Q
C &
&
Q
R
./05 * 6 ) - * C
- R S ) ( $ ) 7 C 8 # $ - R S ) %
$ R S $ 35 6 1 ( - " 9 9 * * "8: "8: 1 1 * ( % ) # $ % ( ) ( % ) - ( R 8 S 8 - D % 1 1 1 3
R S & - $
C D D
&
&
Q
C
D
Nächster Zustand von Q
Q
0 1 1
X 0 1
Keine Änderung Q=0; Reset−Status Q=1; Set−Status
C &
&
1
!" pp pp
pp pp
pppppppppppppppppppp
ppppppppppp pp
# $ % & ' ( ( ( C ) ' * + , ( % D ' + % "
( + -+ * . ) * )
./ % & $ + & ' * . ) * ) .
*- #/ 0 + + 1 ( + ( + & , &
# ' + ( * * " % + , - 1 $ ( * 0 / S
Q
D
Q
R
Q
Q
RS−Latch
D−Latch
D
Q Q
D−Flip−Flop mit Trigger−Eingang
2 & "
R S ! "# $ • % •
& '%'% ' & Q Q &
& % ! &&%% ( !)* + & J K
&
S
Q
R
Q
(1) JK−Latch
J
Q
K
Q
J
Q
K
Q
(3) JK−Latch mit Trigger−Eingang
(2) JK−Latch
!
,-.$ "# J K / Q 0 Q 1% 0% & t +
2 t−½
t
" . . . .
# . . . .
Qt−½
. . . .
Qt
. . . .
/ 3 0 J K ! Q "# ( '& 4&5 0 6 %
2.3.2
Register
n
! " # # n $ # " % & # #
& # ' ( # " ) *&# + a3
a2
a1
a0
D
D
D
D
R
R
R
R Clear Clock
e2
e3
e1
e0
% ,(-. () / $ # 0 # n # $ n 0 ) # $ ( & # % ,(- 0 $ # 0 % " 1 $ & & ) 2 0 + Clock & e0
1
D
a0
1
D
a1
1
D
a2
1
D
a3
&
& e1
&
& e2
&
& e3
Load
1
& 1
% ,(,. ()
! ! " # $ ! " % ! ! & " ' ()(
$* + % , ! + !
- ! ) .
Clear C
Load C
D
D
4 Bit Register
4 Bit Register mit parallelem Laden
' ()/0 % ) .
' ! 1 ! ! 2 % , +
Schieberegister
. . + # + 3 4
5 % ,! 5 ' ' !
% 6
2 . ! & % ' ()7 ! ! % 2 . ! & ! ! ' . ' ! R¼ R¿ 6 & !8 $ + ' 3 % ! !9 : ' % 2 - . % !
serial input
D C
D C
D C
serial output
D C
clock (1) logische Schaltung D SRG 4
serial input
serial output clock
C (2) Blockschaltbild
!" # $ % & ' ( % ) % * + ,% # - . SRG 4
pppppppp pp
¼
q
pppppppp pp
ppp pp p pp pppppp pppppp ........ ........ ........ ........ .... pp p ppp pp p p p p pp
½
q
pppppppp pp q
q
pppppppp pp
q
pppppppp pp
q
q
q
.....
...... .
...... .
...... .
. ....
.....
qqqqq
qqqqq
qqqqqq
qqqqq
0/ $ "% "/ & T 1 )*)) R 1 **)* + % /% +"%%2 #% !" & % ,
R¼
R½
R
R
!" # $ % & ' S , S %
( i ei ( i ai "$ "
)*+ , -, % . $
/ ,
........
ei
pppppppppp
.......... .......
p pp pp p pp ...p... ppp ............ pppp .........ppppppppp ppp ppp ppp ppp p
.......... .......
..........
ppppppppp
t pppppppppp
t..........a
t..........a
i−½
i
... .... ... ... .. .... .... ... .... .
tai−½
........
4 to 1 MUX
..... .....
t ppppppppp
t ai
........
.................................
pppppppp pp
..........
..........
.......... .......
t pppppppppp
t...........
ai·½
t
pppppppp pp
tai·½
..........
)*+' 0 0 0 0 # !" % S ' S
S
1 %
S
$
! " #
$ % & clear
R 0 S 1
clock
C
serial in e serial out
D D D D
a
'()* &
2.3.3
Z¨ ahler
! "#$
+ , -%% . # /
- # ! % # . / 0 1 n 'n 0 .
# . . 2 0 + , # %% / 3 . # % 4 5 6 0 3 . # 7 # + , & $ # 8 % $ 9 : 0 9#
a0
clock
a1
a2
a3
L0 J C K
L1 J C K
L2 J C K
L3 J C K
R
R
R
R
clear log. 1
! " # $ #$ ai i % &, . . . , ' & " ( )"* ( + C L& " ( "$ a¼ "" , - . / L& #$ a¼ # / - ( & . #" ( L- $ # a½ ( - / # , # " a¿a¾a½a¼ $ # 0 &&&&¾$ &&&-¾ &&-&¾ . 0"" * " " ." 1 # clock a0 a1 a2 a3 t1
t2
t3
t
2 " ."
, " " " ." 0* ($ t½ 0 ( &&&&¾ % &½¼$ t¾ ( &-&&¾ % ½¼ t¿ ( &-&-¾ % 3½¼ + " #$ 0 0 / &&&&¾ % &½¼ ----¾ % -3½¼ ( 4 " 0 ----¾ ( # &&&&¾ +# ! ( n " & n − - ( # . # 4 0 $ 5 " # # . "" ( 0 0# # " 0 &---¾ *# " " )"* -&&&¾ # 6 ( 0# . / " + # L& / - ( & 7( ( L- " 0 &--&¾ . ! !( (( , &-&&¾$ &&&&¾ " $ + -&&&¾ . 0
! " #
$ % & '
(#
) ( * + , - ' '- ' ' ! .
'
& /
% #
01#*
#
' 2 3 $ 0 1 Ki 4 ' i - ' Ji i 2, 3, . . . , n − 3% 4 " an−½ an− . . . a a % an− an− . . . a a % .
% 4 "
Ki Ji
4 *
ai 5
( 4 & an− . . . a a % * 5
$ #) #'-
6 #
%
$
)
"
* 5
a
' . J K 3 / ) 2222% 3333% " !
)
a
a
a
a
a
a
a
a
2
2
2
2
2
6
3
2
2
2
3
2
2
2
3
=
3
2
2
3
7
2
2
3
2
32
3
2
3
2
8
2
2
3
3
33
3
2
3
3
9
2
3
2
2
37
3
3
2
2
:
2
3
2
3
38
3
3
2
3
;
2
3
3
2
39
3
3
3
2
<
2
3
3
3
3:
3
3
3
3
5 .
'
3 J K a ' $ 3 J K a ∧ a % ' >
J J J J
K K K K
3
a a ∧ a a ∧ a ∧ a
' / 5 ' '
s J Q ppppppppppp C
s
s
J Q ppppppppppp C
K
s
a¿
a¾
a½
a¼
s
s
s
J Q ppppppppppp C
K s
s
s
J Q ppppppppppp C K
K s
! ! " " #$ % &' ! ( ' ) $ * ) $ '$$% $ + % $ ,! '% * $ $ . ' , - " ( ,/// . . . /-¾ ! , . . . -¾ $' " (! * 0'1 $ % $ $$ $$ ! . 2 ! $ ! % ' ( % $ , . 3$4&' 5 ! ! % ! , - ( ! . 6 *'$ 2.4
Signalverarbeitende elektronische Schaltungen
. $ $ !% 7 ( $ ( &' *% ! ! . ! ( ' $ * 4*('% $ ! 2.4.1
Operationsverst¨ arker
! " # $ % & ! '##" !$ ( $ $ ) !# !# !%
8 ' 9 9 4* (' 4*(' , % ' - :('% *
! vu ... " # $ %
" & " ' ' (' $ ' & " " # $ % # ' ) *+ % (++ ,- $ + ( R¾ ...........
i¾ R½
i½
............
.......... ..
s
i ≈ ¼ pp ppp ppp ppp ppp ppp pp p .......... ..
uD ..... ...
ue .. . ..... ............
ppp p pp pp ppp p pp ppp ppp ppp p pp pp ppp ppp pp p pp p p p pp ppppppp p p pp ppppp p p p p p p p p p p p pppppppppp p ppppppppp pppppppppp
s
ua .. . ..... .............
s
uD ≈ . i ≈ −i .
............
ue ua ua R ≈ − . vu ≈− R R ue R
(++ ,-/ 0
(' + 1 / 1 1 ' 1 + 2 ' 1" ' ( " + ' 1 ( 1 $ (++ ,-, ' / R¾ ...........
i¾ ............
uD ≈ ¼
ue
..... ...
pp ppp ppp ppp p pp ppp pp ppp pp p ppp ppp ppp pp p pp ppp ppp ppp ppp ppp ppp ppp ppp pp p p pppppppp p p p p p p p p p pp p p p p p i ≈ ¼ p p p p .......... s pppppp . pp pppp pppp pppppp pppp
s
............
ua R½
.. . ..... .............
i ≈ . uD ≈ .
s
.. . ..... ............
ua ua ue R 3 R ≈ ≈ . vu R 3 R R ue R
(++ ,-,/ 2
uD R¾ R½ ! ! " # vu $
ua R½ % R¾ ≈ ue R
& vU ≈ R % R/R ' &
( & ' & ()* ( * ' ' +, ) ' 2.4.2
Komparatoren
! " #
Komparatoren f¨ ur analoge Signale
- !& .! ! " & / ! ' 0'12 - & & !&
ue / ! U ua' & & ue & / ! U ' pp p p pp p pp p pp p p pp p pp p p p p pp p p p p p pp p pp p p pp p pp p pp p p pp p pp p pp p pp p p pp p pp p pp p pp p pp p p pp p p pp p p p p p p pp p p pp p p p pp p pp p p p p p p pp p p p p p pp p p pp p pp p pp p p pp p pp p
..... ...... ..... ..
..... ..... ..... ...
... .. ...... .
ue
... .. ...... .
... ..... ...... ....
... .. ...... .
uRef
ua
0'12# - !&
ua $
ue > U Uamax !& Uamin !& ue < U
' 0'13 - !& 4 & / ! ut'
ue ´tµ, uRef ´tµ . ..... ... ...
ue ´tµ¸ ppp pp pp p pp p p p p pp p pp pp p pp p p pppp p pp p p p p p p p pp p p p p pp p ´.....t.....µ...........................................p....p..p.p..p..........................................p....p.p..p.p..p.................................................................... pppp ppp ppp p .................u Ref . . . . . . . . . . . . p . . . . . . . . . . . . . . . pp . . . p . . . . . . . p . . . . .. pp p p ........p..p..p................................................... ..pppp .. pp p .. pppp ... pp pp .. p p .. ppp .... pp p ... p pp p p pp pp p p p p p pp p pp pp p p p p p pppp p pp p pppp p p p p p pp p p pppp p pppp p p p pp p p p p p p pp p p p p p p p p p ppp pp pppp
.......... .......
Ø
ua ´tµ .. ...... .. ..
ppp ppp ppp ppp ppp ppp ppp ppp ppppppppppppppppppppppppppppppppppppppppppppppp
ppp pp ppp pppp pp ppp ppp pppp
ua,max
ua,min pppppp
........... .......
Ø
u t! Komparatoren f¨ ur digitale Signale
" # $ % & ' ' $ & ( ) # $ * $ x≡y+z
, & x y $ - . / 0 x y
1 1 2 2
z +
1 2 1 2
x ∧ y! ∨ ¬x ∧ ¬y!
Ü
..........
Ý
..........
r
z
2 1 1 2
34 ²
r ≥½ pppppppppppp
ppppppppppp
..........
Þ
²
3
2.4.3
Torschaltungen
! " # Torschaltungen f¨ ur analoge Signale
$ % & " # '&% % ue"t# ua"t#
()*
.........
ue"t#
ua t
......... ... .. ...... .
.........
... .. ...... .
... .. ...... .
Ct
ue."t# . ...... ... ..
... . ... . ... . . ... ... ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ½.... ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ...
... . .
... pppp ... . pp ppp pp p p p p pp pp ppppp p pp p p pppppp ..... pp pp ppppp p p p p p p p p p p ppp p p p ... p ppppp ppp p p p p p p p p p p p ppp p p p p p p p pppp pp ppp pp ... p p p p p pp p p p ppp p ppp . p p p pp pp ppp pp ... ppp pppp pp ppp p p p pp . ppp pp p pp p p pp ppp ppp ... . p p pp p
uC"t# ... ...... .. ..
p p p p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p pp p p p p p p p p p p p p p p p p p p p p p t
ua"t# ... ...... .. ..
... . ... . ... . ... . ... . ... . ... . ... . . .. ... . ... . ... . ... . ¾... ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ... . ...
pppppppppppppppppppppppppppppppppppppppppppp
t
ppp pp ppp pp pp ppp p p p p pp p ppppp pp p p p p ppp ppp pp pp ppp pp ppp pp pp p p
.......... .......
.......... .......
.......... .......
()*+ , " # % & - ue"t# "# - '&% uC"t# "# - ua"t# "# Torschaltungen f¨ ur digitale Signale
!
% . & '&
- % !&/ - / x '&
2.4.4
Schmitt-Trigger
! #"
uet USO " $ %
USU USO > USU
" $ & ! ' UL% USO UH% USU #
!"
"
#" uaue
$ ! &
& ( ") * * UHST #" uaue % " UHST
UHST
+ USO − USU
& * ! ,
-
*
. " /
0 ue t
US¼ USU
.. ......
ue t pp p p p ppp p p p pp pp pppp ppp ..... ..... ..... ..... .p.p..p..ppp.p...p.ppp.p.p..p.p pp pp.p..p.p..pqp ..... ..... ..p.p..p p........ ..... ..... p p p p ... .. p p pp p . ... p p p p p p . p p p p p p p p p p p pp pp p p p p p p . .. ... ppp ... . . pppp p p p p p pp .. .
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... .. ... ... . ... . ... .
.. ... . .
US¼
... ... .
USU .......... .
¼
ua t
ua t pppppppppppppppppppppppppp
UH
¼
pppppppppppp
ppppppp pppppppppppppp
ppp p p pp ppp pppp pp p p p ppppp p p p p p p p ..... ..... ..... ..... ..... ..... ..... ..... ..p.p.... ..... ..... ..... .p.p.p.. ..... ..... ..... ..... ..... ..... ..... ....p..pp .. p.. p.. p p p p p p p . . p p p p p ppp pp pp pp p p p p p p p p p ...... pp ... ppp pp ... ... pp pp ..... . p ... ... p pp . pp ... ... ppp . . p p p p p pp ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....qpp ..... ..... ..... p ..... ..... ..... ..... . p p pp p pp p p p p p p p ppp p
... ....
ppppppppppppppppppppppppppppppppp
UH
.......... .
.......... .
¼
.... ....
... ....
UL ppppppppppppppppppppppppppppppppppppppppppp ppp ¼
.......... .
123, -
4 !
! USU+ USO+ &
5 & USO USU 6) " !"
#" "
# " ! * &
" ! 7
uet !" & 4 !
!
Invertierender Schmitt-Trigger
R½ R¾ ! ! " # $
ua
! % Ua #
ue # & '
ua ! % Ua #
ue
& R¾
p p p pp p p p p pp p pp p pp p p pp p pp p pp p pp p pp p p pppp p p p p pp p pp p p p p p p p p p p p p p pp p pp p p pp p pp p p
..........
r u e t
r
..........
u a t
R½ .... ...
.... ...
( )" #
*
# (
Ueein +
(
Ueaus +
* (
UHST
+
R · Ua R , R R · Ua R , R R · -Ua − Ua . R , R
/ & 0 " Ua ....... p p ppp
pppp p
ppp pp
Ua, pppp Ue
Ue, pppp
Ue, ppp pp Ua,
p pppp
..........
pppp p
/( 0 1 ! #
23
" Ueein Ueaus
ppp pp pp p p uet p uat pp pp pp pp pp pp pp pp pp ppppp pp p p p p p ppppp pp pp pp pp ppppp pp p p p p p ppppp pp p p p ppp ppppp p p p p p ppp pp p pppppppp pp pp p ppppppp p pp p pp p pp p pp p Upppeaus ..... ....p.pp ..... ..... ...p.p.p ..... ..... ..... ..... ..p..p.p ..... ..... .p..p.p.p ..... ..... ..... ..... .p..p..p ..... ..... .p.p..p. ..... ..... ..... ..... p..p.p.. ..... ..... pp..p.p. pp p p p pp pp p pp pp ppp pp ppp ..........p p p pp pp pp pp pp p pp ppp ppp ....p.p pp..... ..... ..... ..... .p.p..p.pp ..... ..... ...p.p.pp ..... ..... ..... ..... p.p.p..p.p ..... ..... .p..p..pp ..... ..... ..... ..... pp..p.p.. ..... ..... p..p..p.p ..... ..... .................ppppp p p p p p pp p p pppp pp pp p p pp pppp p pp p ppp pppp p ppp pppp p ppp p ppp pppp p p pp p Ueein pp p pp pppp p pp p pp pp p p p p p ppp p pp pp p p pp p pp p p p p p pp p p p pp p p pp pp pp p pp pp pp ppp
u
. ..... ... ...
uat
uet
Nicht-invertierender Schmitt-Trigger ! uet R½ "R¾ # $ % & #' (
R¾
..... .... .............
R½
i s
........... ½ ..
uD ue t
i¾
.... ....
..... ....
pp p pp p p p p pp p pp p pp p pp p pp p pp p p p p pp p pp p pp p pp p pp p pp p p p p p pp pp p p pp p pp p p p p p pp p p p p p p p pp pp p pp p p p pp p pp p pp p p pp
s
..............
ua t ..... ....
( &
% )*
R½ · Ua R R − · Ua R R · Ua − Ua R
Ueein + −
Ueaus +
)*
UHST
+
% , -
Ua
... ....
Ua,
pp p pp
p pp pp pp p pp
pppp
Ue .........
Ue,
U ppp e,
p p ppp ppp pp
ppp pp
Ua,
! Ueein Ueaus
pp pp pp p ue t pp pp ua t pp ppp pppp p pp pp ppp p p p pppppp ppp pp p pp pppp ppp p pp pp pppp pp p ppp pp p pp pppp ppp p pp pp pppp ppp p p p pppppp p pp p p pp p p ppp p p p p p p p p pp U pp pp pp pppeein ..... .p.p..p.p ..... ..... ...p.p.ppp..... ..... ..... ..... p.p..p.p. ..... ..... ..p.p..ppp ..... ..... ..... .....pp..p.p.. ..... ..... p..p.p.p.p ..... ..... ..... .....pp p..p... ..... ...........p..p.p.p.p ppp ppp pp pp pp pp ppp ppp ppp p pp p ppp ........... pp p p p p p p pp p pp p p p p p p p p pp p ppp ..p.p.. ..... ..... ..... ..... .....ppp ..... ..... .p.p... ..... ..... ..... ..... ....p.pp ..... ..... p.p.... ..... ..... ..... ..... ..p..p.pp ..... ..... pp..... ..... ..... ..... .... pppp p pp p p p Ueaus pppp pp pp ppp p p ppp pp ppp p pp p ppp p p p pp p ppp pp pp ppp ppp p p p ppp pppp p pp p ppp pp p pp p p p pp p p p pp pp pp pp pp pp p p pp p p pp ppp
u
. ..... ... ...
"#
"#
ue"t# ua"t# !
Pr¨ azisions-Schmitt-Trigger
$ %& ' ( ( Ua Ua ) ( $ ) * ' + , - . ./ . ' ) - 0 1' ! ' ! , 2 ' 3 ue 0 1
K½
... ......
½
pp pp p pp p p pp p pp p pp p p pp p pp p pp p p pp p p K¾ pp pp pp p p pp p p p p p p p p p pp p pp p pp p pp p p pp
........
U¾
.... ..
ue
² pppp r
........ .... ...
K¾
.........
ua
.... ..
....... .. ....... ....... ....... ...... ....... ............ .. ... ................ . . . . . ....... ....... ....... ....... ...... ....... .
pp pp p pp p p pp p pp p pp p p pp p pp p pp p p pp p p K½ p pp p pp p p pp p p p p p pp p p p p p p p pp p pp pp p p p
.... ..
U½
¼
r
.........
... . ... . .. . .. . .. . .. . .. . .. . ... . .. . .... ... . .. . ... ... . .. . ... ... . .. .
. .... .. ..
½ ¼ ua
² ppppp
... ......
½ ¼
............
U½
.......... ...
ue
U¾
.............
..... ....
.......... ...
... . ... . .. . .. . .. . .. . .. . .. . ... . .. . .... ... . .. . ... ... . .. . ... ... . .. . .... . .. .
.......... ...
ue
........... ..
.............
.......... ...
.......... ...
ue
Ue ein U¾ U¾ > U½ Ue aus U½ r
r
R½ CK
ue t
·U B
RL
r
..........
..........
r
..........
R¾ ..... . .........
r
..... . .........
r
u a ´t µ
...
Ue t ....... Uthr
pp pp pp pp pp pp ppp pp ppp ..p..p. ......pp..... ..... ..... .......pp ..... ..... ..... pp ppp pp p...... ......pppp pp p pppp pp p.... .......... . t ppp p p ... ... ppp p p ... ¼ pp p ppp pp p ... ... ppp pp p ... p pp .... .... ppp .... pp . . .
ua t
..... ..... ....... ........ ..... ..... ..... . . ... ... . ... ... . . ... ... . . ... ... . . ... ... . . ... .. . . .... ... ... . .... ... ... . . .. .. .......... . ............. . .. i .. .. .. .. ..
τ
¼
pp ppppp ppp pp ...p .
.. ............. . .. .
T
.. ... . ... . ... . ... . ... . ... . ..
.. ... . ... . ... . ... . ... . ... . ..
... . ... .............. ..
.. ... . ... . ... . ... ... . ... . ..
...
uat ......... .......... ......
.......... .
τi ...............
........... ...... .......... ......
T
t
...............
t
! "# "# $Uthr
Uthreshold%
Beispiel. " # # &# ! "# ue$t% "# ' " & g τT (" i
CK Fensterdiskriminator
! " # $ % ue " UGO UGU ! ## &'' (# ! " % ue # UGU UGO ) p pp pp p p p p pp p pp p pp pp p p p p pp p pp p pp pp p p pp p p pp pp p p p p p p p p p p p p p p p pp p p pp p p V ½
........
U GU
..... .
........
ue t
.... ...
pp pp p pp p pp pp p p p p pp p pp p pp pp p p p p pp p pp r p p pp p pp p p p p pp p p p p p p p p p p p V p ¼ pp pp p p
ppppp r
¡U½
p pp pp p p p p pp p pp p pp pp p p p p pp p pp p pp pp p p pp p pp pp p p p p p p p p pp p p p p p pp p pp p pp p V ¾
v u
........
U GO
ppppp
½
G
r
..... .
½
.... u ao ...
........
¾
.... u ai ...
ppppp r S
ppppp
¾
G
... ...
uao
........
r
G
¡U¾
.... ..
S
.........
¿
..... u au .
.... .....
UH UL
¼ uai .......
........... ..
ue
........... ..
ue
........... ..
ue
.. .
UH UL
¼ uau .......
.. .
UH UL
¼
UGU
UG
## &''* ! % uet + UGU UGO " , uao" uai uau # % ue
# % ue # , V¼ vu - . % % / V½
V¾ / V½ # 0 1U½ - UGU − ue
/ V¾ 0 1U¾ - ue − UGO ( 0 S½ S¾ # + G½ # G¿ S½ S¾ " " # $ % ue " UGO
UGU
! " # !$ !
2.4.5
Zero-Crossing-Detector
! " #
$
% &'( ' ) ' " %
ue*t+
,
! %
, # % '
ue*t+
' % ) *+
- . ! -! ) % ! " ' ! / ) %
r
R .........
pp p p pp
pppppp p p p p pp p
r
p ppp ppp p · pp ppp ppp pp ppp ppp ppp ppp ppp p p pp p p p p p p p pp p p p p p pp p p p p pp p p p
r
ue*t+ ... .. ...... .
p p p p p pp
... .... ... ...
BG
r
........
ua
UD
0
........... ......
r
ue
........
... .. ...... .
−UD
ua*t+
.......
*+
*+
. 1 234 ) 5 */ 6 /!
7
ua 6 f*ue++
7 / . 5 ! ! "! ! ! % ' . !
!
/! .
ua
. 1 23 !
8 ! 7 )
2.4.6 %
Univibrator
" ! & -
& & & $ '
& - !
T¼
9
% "! " ! % "
!
!" # $ %$
ue t
......
......
Tr
.... .....
Tr
Tr
........... ..
¼ ua t
t
..... .. ..
........... ..
¼
ue t
......
......
.............
........... ..
T¼
.... .....
... . ... . ... . ... . ... . ..
t
.......... ..
... . ... . .
¼ ua t
........... ..
T¼
Tr
Tr
.... .....
.............
.............
t
pp pp pp pp pp pp pp ppp ppp ppp ppp ppp ppp ppp pp
........... ..
t
........... ..
T¼ .............
........... ..
T¼
!"& # %$ '( '( %$) *
UCP t
... .....
..........
¼
.. .....
t ...........
.. .....
..........
...... ...
... ....
...........
p p p p p pp p p ppp p pp pp pppppp pp pp CP ppppp pppp ppppppppppppp pppp
uCP t t
... ....
..... ... ...........
!+& , %$ - ./0 1#22
!" # $ " % ! " " % #
& " ' " % " ( # " $ # " $ )* + & $ # ,%-. % / 0 &12 2 " )
# #
23 2 # $% Univibrator f¨ ur kurze Schaltzeiten
3 # $ 1 " 4 % / " 1 55/ $" + $ % 1 x 6 7 " 5/ 7% 8 6 9 " 5/$# 9" $ % "
% 7 # $" 5/$# #
%
,%:7; # $ 1 " t % ,%:7 $" # / % d
2.4.7
Signalgeneratoren
1
' % +# $# <$ * ; 1 $ %4%
=%4% '#> % 1 ? $ ' " $ 1#
3 % 1 " * %
Rechteckgeneratoren
! ppppppp
A ppppppp
t
R ua t t
.............
uC t .. .. ...... .
C
...... .... .
" # $ " ! % U U ! C U & u 't( U U C ! U U ) ! * ! + u 't( u 't( a
SU
a
C
SO
a
SU
a
C
a
´µ
uC t
... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
Ua,max US¼
ppp ppp p pp p p p p p p pp p p p p p p p p p pp p p p p p p ppp p ppp p p p p p p p p p pp p p p p p p p p p pp p p p pp p p pp pp p ppppp ppp pp pp p ppp pp p ppp p p p p ppppp p pppp p p p pp p p p p p p p p p p p p p p p p p p p p p p p p p p pp p p pp ppp p p p p pp pp p p p pp ppp p ppp pp pp pp p p p p p p pp p p p p p p p p p p pp p p p p pp pp p p p p p pp p p ppp p p p p p p p p pp p p pp pp p p p pp ..p.p.. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... p p..p..p.pppp..p... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....p p p.p..p.p.p p ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
USU Ua,min
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....
¼ ua ´tµ
T½
.... .....
T½
........... ..
t
........... ..
t
· T¾
Ua,max
Ua,min
¼
.............
............
T½
..................... .. ..
T¼
T¾
........... ..
........... ..
" , + u 't( u 't( C
a
! " #$ $ ! " # $ ! Quarzoszillator
" %$ $ $ ! &f/f ! " ! " 'Æ $ ( )*−½¼ ≤ +&f/f, ≤ )*− ! -!./ 0 ''1' 22" $ ! " G G 3 CK 0 CQ 4 CS ! " $ 0 4 CS ! CQ
&f/f ≈
- · CS
" G %$ %$ ! r
ppppppp p pp G½
CK
r
rr
ppp pppp pp
r
r
G¾
ppppppp pp p
..........
G¿
r
r R
p pp p pp p pp pp CQ
ua t
R
CS
r C
..... ...
-!./5 0 22" $ 6 6
3 ! % $ $ "7.. +2$ 1 , 8 + ! , ! " 6 &f/f < )*−! " 86 6 (
9 $ 6 $ ( $
!
S¨ agezahngenerator
! " # $ % $ ppSpp ppppppp ppppppppppppppppp s iC
.. .. .....
ppp pp p p p p pppp p pp p pp p ppp pppp p p p p p p p pp p pp pp p p p p ppp
C
s
.............
R
U¼
........... ..
i
........... ..
s
ie ...≈ ppp¼ uC ´tµ .......... pppppp
u ½ ´t µ
pppp ppppp pppppppp p ppppppp ppp pp pppppp pp p pp ppppppp p p p p p p p p p pp p p p p p p p p p ´v u µ p pppppp
s
ppppppp u¾ ´tµ
..... ....
.... ....
ppppppp
s
!& '
( ) * + , $ Re → ∞ ie ≈ - " .
# & / u½0t1 ≈ - $ u¾ 0t1 ≈ uc0t12 $ du¾ /dt ≈ duC/dt / 3 * C iC0t1 4 C · duC/dt.
, $ " u½0t1 ≈ -" i0t1 ≈ UR¼ , i0t1 4 iC0t1 U¼ R
¾ 4 C · du . dt
( % u¾ 0t1 4
U¼ ·t R·C
( 5 6
73 $8 9
RB
............
T
uSt ´tµ ...... ...
.......................... .... ... ... . ... . ... .... .... .... ... .. . ............ ... ... ... ..... ...... . ............ . . . .................
r R
................... ... .. .... . ... ... ...................
r
U¼ .... ....
r C
........ ........ ....... ........ ........ ........ ....... ........ ........ ..... ....... ........ ....... . . . . . . . ....... . . . . . . . ........ ....... ....... .......
r
............
u¾ ´tµ .... .... ............
r
!" # ! $ % &
& u % " % ' % ( )% % uSt*t+ u *t+ ¾
¾
uSt t
... ....
..........
¼ u ¾ t
t ... ....
qqqqqq qqqqqq qqqqqq qqqqqq qqqqqq qqqqqq qqqqqq qqqqqq qqqqqq q q q q q q q q q q q q q q q qqqqq qqq qqq qqq qqqqqq qqqqqq qqqqqq qqqqqq qqqqq qqqqqq qqqqqq qqqqqq
¼
..........
t
( , )% uSt u *t+ ¾
Programmierbarer Funktionsgenerator
) -' %" " . %"
, /" %" , , 0t *n · 0t 1 T + & 2 % & 3 # & * + " , /" %" & & %" 2 , " 4 5" ' # ' # % & 6" ' # 2 " % "
ft
. .... ......
pp pp p ppp p ppp p p p p p pp p p pp p pp p p pp pp p p p p pp p p pp pp ppp p pppp pppp
pp p p ppp ppp ppp ppp ppp ppp ppp ppp
¡t .............
.......... ...
pp ppp p pp p p p p p p p p p pppp pp ppp p ppp p pp p p p pppp p p pp p pp p p p p p pp p ........... p pppp pp p p ... pp p p pp ppp p ppp p p p t p ppp p p p p p pp pp p p p p ppp pp p pp pp ppp pp p pppp p ppp p ppp p p pp pp p pp
.............
.......... ...
n · t T
ft 2.4.8
Analog-Digital-Umsetzer
! " # ! $ ! % & # " $ ' !$ !% $ ! !% ue ´tµ...
....
URef .... ...... .. .... ..
R
q R .........
ue ´tµ .......
q q R
q R
pppppppppp pppp ppppp p p p p p p pp p p p pppppppp pppp ppppp pppppppppp pppppp ppp pp pppppp p p p p p p pp p p ppp p p pppppppppp pppp ppppppppp ppppp pppp pppp ppppp p p p p p p pp p pp p pppppppp p p p p p p p p p pppppp ppp
......... .... ...
......... .... ...
......... .... ...
u¾¿ ´tµ
.........
¾
¾
¼
ppppp ppppppp pp p ppp p p p p p p p p p p ppppppp p pppppppppp pppppppp pp p p p p p p p p p ppppppp ........ pppppp ppp t
u¾½ ´tµ...
....
u¾¾ ´tµ
.........
¾
½
¼
........
t
........
t
........
t
u¾¾ ´tµ ...
...
.........
u¾½ ´tµ
¾
¼ ¼
u¾¿ ´tµ...
....
¼
( !$ !% ) * & + uet , rt& - ! * A-/D-Wandler
+ !$ !% ) & # * ! ( + uet $ .
! " ue#t$ % &.'URef! &.'URef &.'URef ( % ! ) & * + " ue#t$ , ! & * " - - URef
D-/A-Wandler
. / 0 ) 1 2 .. .... ... ... .. .... .... ... .... ... .... ....
URef ..... ...
p pp p pp p p p p pppp p ppp pp p p pp pppp p pp p p pp p p p p pppppp..ppppppp ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
r
r
R p ppppp p pp p pp pppp z
r
R
R .. ... .
R ... ... ..
pp pp p pp p pp p ppp z
ppp p pp p pp p pp pppp z
p ppp pp p pp p p p pppp z
r
r
r
½
¼
Rgegen R
.......... .
r
pppp pp ppp ppp p pppp ppppp p ppp pppp pppp p pppp pppp ppp p ppp ppp ppppp pp ppppppp p p p p p p p p p p p p p p p p p pppppppppp pp ppppppp
r
ppppppppp
ua ppppppp
..... ...
13 / 0%4%) 0 ) ! 56! 7 0 !
7 * 0 8, 9 % , ) Rgegen , . ) : +5 ) + z ! Ua ; ULSB ; −
Rgegen *
) R ; Rgegen ! =+ Ua ; − URef 0 zz zz / 3 * * * * > *< URefz ? @ , ! 9 , + + " ! : "
2 ! ( , " 0 %
A = Ua ; − URefz − URefz − URefz −
2.5
Halbleiterspeicher
!"
Tabellenspeicher: Funktionsspeicher:
2.5.1
Tabellenspeicher
! " " " #
$ % & ' '" () *+ $ , , ' $ *+--% . /$ , 0 -# $ -# 1 2 3 4 2 " $ 5 !06 -#
" !76 ! 0
6/ $ % !06 $ , 0 3 " 0 #
$ 0 " 2 2 $ 5 02
$ , 8 " #2 $ # 4 0 " " 0 $ 9 $ 9 $ % $ : 9 " 0 " 9 " # $ 5 0 - " $ 7 9 %$ " " " 0 - $ # " $ 0 " 9 , " !06 $ ,
3 " " # 0 $
select
select
&
&
S
input 1
output
R
&
BC
input
output
1 read/write
read/write
(2) Blockschaltbild
(1) logische Schaltung
!"## $ %# " & '( ' & % () * + $ ) (" & ,-,''. / , %# 0 , + $ )## 1,-, 2 # $ 34 " %# & +# & %# $ &" & ( !"## + 5 . /6 # ! #& #+ # 3 data input
2 to 4 decode BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
address inputs
memory select
EN
read/write 1
1
1
data output
7 ,-, #
1
! " # $ % % & " n ' (n & )* # (½¼ + )*( , & - .) × -/ 0 1 #
( -) % 2. % 1 $ / 3 , " ,
4 , 5 $ $ % $ $ , & * $ ! 6 " 7 $ 8, # " # 2 "
! , #
, ) × - 9# 2 # $ #" % ' % " RAM 1K x 8
... ...
... ...
.. ...
#
( -(: ) × - 9# address lines 0−9
lines 10,11
10
input data 8
memory select read/write
2 to 4 EN decoder 3
2
1
RAM 1K x 8 0
DATA ADR CS RW
0−1023
RAM 1K x 8
DATA ADR CS RW
1024−2047
RAM 1K x 8
DATA ADR CS RW
2048−3071
RAM 1K x 8
DATA ADR CS RW
3072−4095 8
output data
#
( -;: - 9# 1 " " "$ $ $ " %
½¾ ! " # × $ %& ' ( ) % * + × $ "" ) " ,- ) ) !
2.5.2
Tristate Outputs
& . " / " , " 0 " ! / 12 ' 3 0 ' 03 ! ,3 4 ! " " " # " 5 6 7 "" ) 3 " 3 " " " 0 8 9 : "3 8 ; 9 , )" " : , ! / 0 a) I
1
b)
Q
EN
+U B
c) I
d)
EN H H L L
+U
I L H L H
Q H L hochohmig hochohmig
B
& R1
R2
Q
R3
T5 T3
D1
& EN
I
T1
Q
T2
EN
T4
R4
R5
0V
"" $< 6 7 ; , 73; 6 7 ) 3 ; 8 9 ) ) "
! !
"# $
%
&'( '( ! '( ) * '( '( & +, -, "# & ! '(
2.5.3
Open-Collector-Schaltungen
. ! , ! ! /(
!
0 ! '( '( . ,
0 ) . , ! (
0 . ! ( '( ( ! '( 1 . , 0 . ! '( !
1 !
"
! '( '( . , ! ! 2'( '( '( , '( &
3 ! '(
! # 4,
% , . 1 $ % 4 '( ,
$
( ! ( &'( ! '( 4 '(
0
UB .... .....
RC
r ...... .......
...... .......
.......... .........
.......... .........
G½
r
G¾
q
q
q
r
Ua
...... ....... .......... ........
...........
..... ..... ......
Gn
05 * '( ! # 4
ua 6
'( ) 33,* ,
'( ! 33 (
)7,* ( '( ,
'( )7,* 6 & '( ! ) 8/,9! ! $
:%
1
,&'( '( '( .
,9!
! ( # 4 '( '(
'( /'( 1 '(
x½ ∨ x¾ ∨ · · · ∨ xn ; x½ ∨ x¾ ∨ · · · ∨ xn ; x½ ∧ x¾ ∧ · · · ∧ xn . '( &'(
<
1
8/,9! ! '( / ,
. ,9! 7 .,/, 7 ., ,& = '(
$")%
U B ... .. ....
Rc
q ...........
♦
...........
...........
♦
...........
x½
G½
q
x¾
······
...........
♦
...........
G¾
..........
a
xn
Gn
x ∧ x ∧ · · · ∧ xn
a
♦ !"#$ U .. B .. ....
RC
r x½ ...........
♦ ..........
...........
...........
G½
.........
..........
a
xn
······
♦ ..........
...........
r x¾ ...........
♦ ..........
...........
G¾
Gn
a
x ∨ x ∨ · · · ∨ xn
% & ♦ !"#$ 2.5.4
Speicherbausteine
&'(#"! ) * !!! " "!#!" *" &' $ + *! # *, - ) #" +. !) ! /0/ ' - ! 1#! *" ##! " # """# *! #" *#!! ), ! 2#! *#! + &'" ". * #! # * * 3+* # 4!
2* ! ! # * 5#*# * + #" * &' )"! * + 46"+! *- 1"#! "!* #" ** 7" 3" *#!, #"" " *! " * * !# ", * , ) 8 +#* . (#! *! " . "!#!" * *+ # !! *#!" 2$ !# *! ), ) " #" * &' 9# "!
#" * &'" $ " * 2#! *! 1#! *" " : "#! :##+!#! !#! ) !9## ! "!*! ;<−$ #" * &'" "" + 3*#! #! !)# # " !!" +"#!+ * *#! " #! **, " *! 2#! = *+ #"" " * ) 9 +! * ! " &"* ! " ' *! #! ) ! * # *+ &"* *+* #* " 4! "! 46 # * *, )"*# *- 1"+6 *" *!! # #
Cycle Stealing: > # ( + ., # # &"*.# + ? " *" !! **
Burst Refresh:
Transparent Refresh:
Halbleiterspeicher
Funktionsspeicher
Tabellenspeicher
RAM statisch
ROM dynamisch
M ROM
PLD PLA
PAL
P ROM
P PAL
EP ROM
EP PAL
EEP ROM
EEP PAL
LCA
Flash−EPROM
! " # $ %& ' ( ) * + , . *& # $" / 0" %& ,"" 1 * # + $" 2 3 4 5 $" " 3 $ 6 7 * %& $" 6 6 6 * , $ , # #(- + 6 6 8(9: 2 : ( ; <: ( = " ¾¼ ; : >8 ?@A
B 4 55 $" 6 C ' , C # # + $ 1 # 1 0( 6 " ( $ " D -1 # *" (- " $ , n B E9 * # , 1 , 0( # / (0( 4 5 ! + $" ! E 6 " / , # 3 6 . 2 $ 6 4 :>>>> $ 65
ROM (Read Only Memory):
! EPROM (Erasable PROM): "#$%&
' #$%& ' ! ( ! # ) !
* + ,
& " - . "#$%& " .
! #$%& !! EEPROM (Electrically EPROM): . ! ! "#$%&
/0 # * 1 0 ! "
""#$%& $& ! " ) 2! 0
34 1 ' ) 2! $& 5 6 ""#$%& ' ! !
! +5 $&, 7 ! $& ""#$%& " ""#$%& $& Flash-EPROM: 7 ! "#$%& ""#$%& ! 0 ""#$%&
! * / "#$%& # ( ! PROM (Programmable ROM):
2.5.5
Funktionsspeicher (ASICs)
8 + , ! 8 ( * " # !
) ( ! * ! ! 8 * ! -
.
!
*
! " ! +#, " ! +#,
5 %$. # " ! 5 ! " 15. & 9 7
! 7
7 ! ! & 9
! 15 %"$.
: - 7 ! %"$.
# & ! 8 # %"$& 9 ( : #
7
e1
1
e2
1 & & & 1 f1
1 f2
! " #$%& ' ! ! " #%( " '!" " !! ) " *" ) + *!! ,,!" '!" " " ! " ! " ! " *!! " ! - . !! " "" / ! ',! !" 01 !! 2"!" 01 3 "," ,! 4 ! " 3! 4¼ " 4¿ ',! !" " ' " !" 4¼ ∧ 4¿ ! ! ! " ',! !" 01 ! !" " 1 ! 113 "," " 3! ! !! 11511'"" 1 - . !! " + / 6! !" !! " " 2"!" " 01 " ! " 11 4 ! ! & 01 " 3 ."" ," ! ! !" 72! 8 $ 3! ! " !" ! " " ! " ."" ," 015 * " 6 " " !! " 11511'"" ! + !" ! " !! " 9" 3! 4¿ " 3 " : ! " 3 " 4¼ ',! : " ',! !" ! !! ! ! 3 " ! "" ' " " "! " 9 . ,,!" " 3 " ," "! ' 3 " " " ;!!"" ! ! " ! & <
7 ! 8&
3 "
"
" ;!! !!
"
! " #
$ $ $ % & 5V
(A) I0 (B) I1 (C) I2 UND − Matrix
(D) I3 I4 I5 I6 I7
5V
(F1) (F2)
ODER − Matrix
' () *'&
& + , -
'*&. / 0 $ 1 2 2 0 & 3'.*4 . 5 6 7 8
!" #""" $ % &
&'(
) & * + , - ./ PLDs (Programmable Logic Devices) ) % . 0
& 1 & LCAs (Logic Cell Array)
e
PLA
f latches
#234 1 5 5 * + ) 1 6 1
/ & 7 '( & $ * 3""" !"""" 88 )$+ $ * 9 .:; + 6 - % 7 ( ) < (1) * + '( 7
& 1 -
& / = & ' & , &'( , ) #""""" $ = 1 ( ## .
Weiterf¨ uhrende Literatur
- 7 &) > ? 322> % &) 32@A . . . )7
1 ( B 32@>
! " #$%& '%
!((( ) #%$ % * +,- ./(01!2 3 # 4 5 !((! +,- ./1(1!10
3 VHDL
! "
! " # # $ #
% % # & ' ( ) * " + , - +
$
+ %.
" + % $ "
/ "
' / 0
1 - & 2345 # 67 %
2348 -""" - 2346 #
-""" 29682348 % 2344
+ , " : #; + $ % < % -"""
& %
-""" 2968233= > ; 233= ?<@@ " 2339 # % + " % A % 233= , " % ; #
" B " #
" 3.1
Entwurfssichten
; " % + % ! +
!" # " $ %& & & ' & "" " $ & & " ( &
Verhalten
Struktur
Systemebene Algorithmische Ebene Register− Transfer−Ebene
Systemspezifikation
CPUs, Speicher Subsysteme, Busse
Algorithmen Register−Transfers Boolesche Gleichungen Differentialgleichungen
Logikebene
Module, Leitungen
Schaltkreis− Ebene
Gatter, Flip−Flops, Leitungen Transistoren, Leitungsstücke
Masken, Polygone Zellen Floorplan Cluster Partitionierung
Geometrie
)* $"" !+ ," & & - ! . / "
" 0 1# " " ' " ," !
& & & "" & ! " " $ /" " . , " & $ !2 3"" 4 4, 4
& ," 5 6 7 &
# 6 7
&# " $"" $ -$& 8 & 5 9" #
"" : & 8+ !& ! ! . " & " & $ " & &
" "+! & ;" & ! & !! " 0 $ 1 07 1 & & " 2
3.2 3.2.1
Entwurfsebenen Systemebene
! " !
# ! " " $ %
3.2.2
Algorithmische Ebene
& ' &
! " ( & ) *
3.2.3
Register-Transfer-Ebene
' & !
) )
+ , " % -
)! (
3.2.4
Logikebene
! . ! / "0 12 " 3 4554 & " / /
6 " ! ) /
7 ! / & , / % /! , 2
7 ! +! ! ! / +! . +! / & & " 8 9
2 / 0 ! , ! ! , . . ! & . ! ! #% . 2
, " / + 7 ! , , ! # 0 &
3.2.5
Schaltkreisebene
! "
! # $ % & '
(
)* +
, ! -
. /
0 1 - 23 !
- 45
Systemebene
Speicher
CPU
I/O
Control
Algorithmische Ebene A := 3 * B + C IF (D=TRUE) THEN A := A + 1 ELSE A := A − 1
Register−Transfer−Ebene
ENDIF
Register
RAM
Logikebene (Struktur) ALU
RAM
1 D Q
MUX
>1
Schaltkreisebene
&
(Struktur) A A B
A
OUT C
Schaltkreisebene (Geometrie)
450 - -
" ! - 6 0 &
!"! # ! $ " % & ' ( (
& ' 3.2.6
Der Aufbau einer VHDL-Beschreibung
) *+#!, , ! $ $ - Schnittstellenbeschreibung
% , . ! / 0 * 1 / Entity: eine Schnittstelle
Black Box
Verhaltens− beschreibung Architecture: Verhalten oder Struktur; eine oder mehrere Alternativen
Configuration: beliebige Anzahl von Konfigurationen
Struktur− beschreibung
A2
A1
C1−1 C1−2 Configuration C1−3
kombinierte Verhaltens− und Struktur− beschreibung A3
Default− Architektur (zuletzt compiliert)
C3−1 Configuration C3−2
/ 22 3 4
Architektur
- , . * ! 5 - , . / !
Konfiguration
!!
3.3
Bestandteile einer VHDL-Beschreibung
" #$%&' ( ')& *+ ( , - ' & . /
(
0 % ) -& % . &
* !1
0 ( -
, ( . & -
. - # . 2 -
0 ( . - !1.
VHDL-Beschreibung
(34
5' '6
73$ '3'"7
3*5, 4"7' *5
!18
#$%&
4
8 &
#$%& "5&4 -
.
- !:. #$%&) 9 0
3.3.1
Entwurfssichten in VHDL
0 6& !; #$% # -<0 =.
-< =.
# # 7 &
in1
& and_out
in2
Schnittstellenbeschreibung (Entity) ENTITY and IS Port (in1, in2: IN bit; and_out : OUT bit); <definiere Pins als Signale vom Typ "bit"> END and; Architektur (Architecture) ARCHITECTURE number_one OF and IS BEGIN and_out <= in1 AND in2; END number_one; Konfiguration (Configuration) CONFIGURATION and_config OF and IS FOR number_one END FOR; END and_config;
!" !" #$ !" #$ " !" " % !$& '"# 3.3.2
Entwurfsebenen in VHDL
' !" ( !" ) " ( *+ " # , ' !" " ' • • •
" !" - . #
# # !" *+ !" #$ * !" !" / !" '0 !" !" $!" (1 2$ / ) 2-) 32-) 2. 0 * ) 1 2$ , !" !" 4 4 5 " ' !" # / " 60
ARCHITECTURE logic level OF halfadder IS BEGIN sum <= sum a XOR sum b AFTER 15 ns; carry <= sum a AND sum b AFTER 10ns; END logic level
3.3.3
Design-Methodik mit VHDL
! " # $! ! $!% ! & ' $ ()* '% & $ + ,% & - . $ / + ,% * ' 0 1* 2 Entwurf
Beschreibungsebenen
Verifikation
Aufgabenstellung, Spezifikation
Erfassung der Aufgabenstellung
manuelle Überprüfung Verhaltensbeschreibung auf algorithmischer Ebene (z.B. Ablaufdiagramm)
Verfeinerung des Entwurfs
Verhaltens− simulation Verhaltensbeschreibung auf Register−Transfer−Ebene (z.B. VHDL−Modell)
Synthese Netzliste auf Logikebene (herstellerunabhängig)
Technology− Mapping Erzeugung Test− bitmuster Place & Route, Layout
Logik− Simulation Netzliste auf Logikebene (herstellerspezifisch, z.B. VHDL, EDIF)
Fehler− simulation
Layout
Fertigung
3 &
3.3.4
Die Sprache VHDL
!"#" $ % & & ' %()*+,)--./$' &" Grundzeichenvorrat Lexikalische Elemente Sprachkonstrukte Design−Einheiten VHDL−Modell
!"#0 3.3.5
Der Aufbau eines VHDL-Modells
1 % '2 % ' 34 % '" Simulations− ergebnisse VHDL−Code
Compiler
Working Library
Simulator
Resource− Libraries
!"-0 3 $ $ 2 3 $ & &" $
! " # $%&' $%& ( &
# $%& ( &
) $ * &
# + , -.
3.4 3.4.1
Beispiele (2-von-3) Voter
!/-" $ $%& 0 !/-" $ ' * 1 -/ ) ! $%& 2 " !/-" $ 3 4 1 ( * 0 * -/ ) !$%& 25 " , 6 7 !/-" $ $ + ( ( ( !/-" $ 8 **9* !$%& 25 " 8 , + * : , 3 **9* : # ! $%& " ! $%& " !/-" $ $%& entity 2−von−3−voter is port ( A, B, C: IN integer; R: OUT integer; ERROR: OUT bit; ) end 2−von−3−voter; architecture vote of 2−von−3−voter is vote_proc process (A, B, begin if (A = B) then R <= A; ERROR <= elsif ( A=C ) then R <= A; ERROR <= elsif ( B=C ) then R <= B; ERROR <= else R <= 0; ERROR <= end if; end vote_proc; end vote;
C)
0; 0; 0; 1;
3.4.2
Siebensegment-Decoder
! " # $ $ % % ! & ''() * + * + library IEEE; use IEEE.std_logic_1164.all; entity binaertosiebenseg is port (data: in std_logic_vector(2 downto 0); digit: out std_logic_vector(7 downto 0) ); end binaertosiebenseg; architecture behaviour of binaertosiebenseg is −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− −− Darstellen v. Binaerzahl auf einem Digit (0 bis 7) −− Ausgefuehrt als asynchrone Logik −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− −− Zuordnung der Bussignale zu den LEDs −− Die LEDs sind LOW−Aktiv −− __5__ −− | | −− |4 |0 −− |__6__| −− | | −− |3 |1 −− |__2__| .7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− begin CONVERT : process(data) begin case data is when "000" => digit <= "01000000"; when "001" => digit <= "01111100"; when "010" => digit <= "00010010"; when "011" => digit <= "00011000"; when "100" => digit <= "00101100"; when "101" => digit <= "00001001"; when "110" => digit <= "00000001"; when OTHERS => digit <= "11011100"; end case; end process CONVERT; end behaviour;
! , - .
8
3
Ergebnis der Synthese
!"#$! %
& ' " % " ( ) * +
, ) -. ' +) .
/ +) ('0
3.4.3
Input-Synchronisation
) * 1
( ) 2 *
- 0 3 - 0
library IEEE; use IEEE.std_logic_1164.all;
entity synch is port (clk : in std_logic; reset : in std_logic; valid : in std_logic; data : in std_logic_vector(2 downto 0); valid_synch: out std_logic; data_synch : out std_logic_vector(2 downto 0) ); end synch; architecture behaviour of synch is −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− −− Synchronisation von externem Signal & Datenbus −− Ausgefuehrt als synchrone Logik −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− begin synchronisation : process(clk,reset) begin if reset = ’0’ then valid_synch <= ’0’; data_synch <= (others => ’0’); elsif clk’event and clk = ’1’ then valid_synch <= valid; data_synch <= data; end if; end process synchronisation; end behaviour;
Synthese
! " # $ % % &'() $ % %"
logic_1
3
<2:0>
3 data(Z)
DFF
data_synch<2:0>
data_synch<3>
logic_1
data(1)
DFF
data_synch<1>
logic_1
data(0)
data_synch<2> DFF
logic_1
valid_synch DFF
valid clk reset
3.4.4
Tasten-Entpreller
! "# $ % & ' ( ( ) * * + ,, - % ) % ! . / ! + / %
! " # $ % # $ &" ' & # $ % # $
entity entprellen is port (clk reset taster taster_int end entprellen;
: : : :
in in in out
std_logic; std_logic; std_logic; std_logic);
architecture behaviour of entprellen is signal synchreg : std_logic_vector(2 downto 0); signal taster_last : std_logic; begin synchtaster: process(clk,reset) begin if reset = ’0’ then synchreg <= (others => ’0’); elsif clk’event and clk = ’1’ then synchreg(0) <= taster; synchreg(1) <= synchreg(0); synchreg(2) <= synchreg(1); end if; end process synchtaster; gleicherWert: process(clk) begin if reset = ’0’ then taster_last <= ’0’; elsif clk’event and clk = ’1’ then if synchreg = "111" then taster_last <= ’1’; elsif synchreg = "000" then taster_last <= ’0’; else taster_last <= taster_last; end if; end if; end process gleicherWert; taster_int <= taster_last; end behaviour;
Ergebnis der Synthese ( ) *+,-* . " + . + / # 00$
1 ) "/
logic_1
logic_1
logic_1
taster DFF
DFF
DFF
clk reset
logic_1
DFF
taster_Int
3.5
Bewertung von VHDL
! " # ! $% $$ & '! " ! (% ! " # )$ * ! " +! $ # ! # ,- " ! .$ , ) / ,$ # ,- ' )$ # / - $ , 0 " ! ! " / ,$ ! $ ! # " ! " ! - " # ,- ! ,. # ,- $ $ " 1( 2 # ,- , " +$ 3 0 ( "!4 5 !
$ $ 1
! " #$ # %& # ' (% ) % * ! % + % , # % - $ ( ) # ! ! " % ' (# ' ( - . / ( % 0" ! % ! # 1 # ( ! # % ! ! 2 ! # % ! % ! ! # ! # 34 5 # $ # # 6 5 ! #$ ! % . ! % ( % . % ! 7 8 % % # # ' 6 ! ' 9.:,9! -.;-.<= / # 0 > 1! ' / #% % % % #( 7 ( & & 8 % 0 1 ?@@@ < ?4AB? # % % #(# ! % # (% % ! #
#(# #( ( ! # ! % !
Weiterf¨ uhrende Literatur
! " # $% &' ( ) * & "+ , -../ 0 $" " $" " $ ! "#$%''()* 1% 2 + ( # + #! #! , ! " / -..- "+ ,3 -..-
Internetverweise
#4 ,-((+ (+ (
4 Mikroprozessoren !
"
# $ %
& % $ '# ( ) * + ,( # ( $ '# $ - . ( / 0 " ( # # # $ & . / . -
0 # . !
1 ( ' 2 # 1 # . ) * # 1 . # ( *
! #( # 2 #
4.1
Endliche Automaten
" 3 4
Automat:
- 0 5( " 6 "
#
Endlicher Automat:
" ( ( (
Deterministischer Automat:
(
# %
Endlicher deterministischer Automat:
#
*
# + & & 7 (
! "
#
$ % & ' & # '%
Z¼ Z½ (
" e=1 e=0 Z0
Z1 e=0 e=1
)*+
*
Z¼ Z½ $ #
, - #
. / Z¼ . *
Z½ '
( % #
+ S
E
Startzustand S
Endzustand E
)0+ ,1 , $ 2 # Z¼
# e=1 e=0 Z1
Z0
e=0 e=1
)3+
! "Z¼ Z½ # $
% && ' ( ' ' e
a ) a
e
J
Q
K
Q
R
a
e
a
Nächster Zustand von a
0 0 1 1
0 1 0 1
0 1 1 0
&&* + ! , , , - !. ! / , !. ' . ! ! $ , , $. ' $ $ 01 ' % - ' ( ' $ . 2 ' 3 $
' 4 0 1 1 0 01 0 1 0 1 ⎫ 00 0 1 0 0 ⎪ ⎪ ⎪ ⎪ 05 0 0 1 1 ⎬ > 01 06 0 0 1 0 ⎪ ⎪ 0& 0 0 0 1 ⎪ ⎪ ⎭ 07 0 0 0 0 ' ' ' &$! 01 ) 8 1 ! ( 01 9 9 "! :# 2 8 0 $ $ ( 0 ! ; 01 "! :%#/ ' <
1;0 KG 0 1
S
0
0 Z1
0
Z2 1
Z3
1
GR
1
1;0
!"
#$
→
%$
%$→#$
&
' ( #$ $%) *
+ &, #
- ,
D¾ D½
D¼
- % ( , ,
D¾
'#$ $%)
¾
½
¼
-
-
.
.
.
½
/
.
.
/
¾
0
.
/
.
¿
1
.
/
/
#$
/
.
.
%$
/
.
/
-
2
3
¾ ½ ¼
¾ ½ ¼
½ ½ ¾ ¾ ¿ ¿
→ → ½ → ¾ → → → ¿ → → → → → →
! " # $ $!
i % & ¾ ' ½ ' ¼ ' (
! i % , , )
$ # D¾ ! * + , - . D¾ $ , - . D¾ ' D½ ' D¼ e ". /! ! 01 !! ¾
¬D¼ D¼ ¬D¼
p p p ppp p ppp
¬D½ D½ ¬D½
ppp pp p e ppp ppp pp p ¬e ppp ppp pp ppp ppp ppp ppp pp ppp
ppp pppp ppp
D¾
D¾ % D¾ ∨ &D¼ ∧ e( ∨ &¬D ∧ ¬e( ∨ &D½ ∧ ¬e(
¬D¾
. 213 1 ' , ' 4! ! 5 6 4 7 ! , " . ! !! # *
¼
½
¾
% % %
& ¾ ∧ ¼ ( & ½ ∧ ¬ ¼ ∧ (
¾
∨&¬ ¾ ∧ ( ∨&¬ ¾ ∧ ¬ ½ ∧ ¼ ∧ ¬( ∨& ¼ ∧ (
∨&¬ ¼ ∧ ¬( ∨ & ½ ∧ ¬(
7 4 89 4 : 5! + ' ' ' . ! , ! 5 ' ! ! 1#
& &
1
D2
D C
e
&
& 1 &
D1
D C
& 1 &
D0
D C
clock
! " # " " $ $ % & ' 4.2
Das Moore-Schaltwerk
( ( & ) * + " , - " !+ ' !+ " $ " + , " " . . $ / " 0 1)
4.2.1
Schaltwerk
! " # # $
% ! % " & % ' (# # ) & !# * % %+ %
(# & $ , $ + - . - %# +
$ ,
# , & ! " # # $ # , % ! % , # % %& # % $ , #
% $ %
! /
01 # , &+ $ # & 2 / * / + 0 % ! 2 , % $ ,3) 4 ! 0 + , 0 # ! , & & $ # 05 6 % % # $# ( % 0 + $ # * % & /+
4.2.2
Die Grundschaltung des Moore-Schaltwerkes
!
& -# $
( # ! ( & %
Takt Über− gangs−
D Zustands− code
funktion Eingangs− signale
D
"%% 78
, , ! ! " # ! , ! , %
! " #
$ # % & # # & $# # &
' (
q q q
........... .... ........... ....
........... ....
r
q q q
q q q
...... ......
q q q ........... ....
........... ....
........... ....
q q q
........... ....
r
........... ....
q q q
........... ....
........... ....
# )*( +,
a)
b)
C D
rot
1
1
0 0
(rot)
D
gelb
0
1
0 1
(gelb)
D
grün
0
0
1 0
(grün)
d)
c) P
Q
Farbe
0 0
0 1 0 1
Grün Gelb Rot Rot−gelb
1 1
C D
P
rot
D
Q
gelb >1
grün
# )-( # #,
. #/ " #, %
0 & 1 1 +, 2 #,
3 0 , & &
#, , 2 4 # 5
! " # $ % !& ! ' ( ) ( 4.2.3
Schaltwerksbeschreibung durch den Zustandsgraphen
) ( " " * %'
& + ) + ) , " - ./ * + .- * F W Z
Schaltwerk ST
R
0./ , ) " , " 1 .
%1 & , ) " ) , )
( 2 ( " 1 3 ( . , " ! 4 + 1 5 1 + ( # 4(
6 4 ( % & , ) + )3 +7 . + ' 4 )3 7 . % ) & ' 4 1 ( % & 5 ! 1( " ( * 3 " ( * 8 ( % & * 4 , ) 2 ) ( 8 9 ( ( " 5 : 1 ( 2
! "# $% &' ( ) # ( )
& ( ( * ( + * ( , # - , . / ) - ) # ! , # ) , # ! 0 & & $1 1 &1& ' # ! # ) ( 2% $!3 ' ( # ! ) # ! & - %*# XX1
Cancel 01
XX1
000 1 100
0
X
X
1
XX
000
01
Reset
100
Five 00
100
Ten 00
0
0,
01
0
0,
,11
01
0
11
100
10
010
010
000
110
Idle 00
XX1
000
000 110
Paid 10
110
) 4#"" , 0 , # 0 5 0 6 & # ! % # ! % 5 ( ) & 777# - $ & "77' % (# ! ) # $ & 7"7' % 8 # ! 6 # + 8 777 5 # - ( % ( ( & 2 2 " # ! . & " ( #
! " " " # ! # # $
!
! %
# & " ! ' ( ! ) * + " ! )
! , !
# - ! #
# & . * / ! ' ( ! # * / 0 -
1 + & Cancel 01
R F
Z
R
R R
Z
R
Idle 00
F
Z
R
Five 00
Ten 00
R
R
R
(F R
Z
Z)
Z
F
F Z
Z
R
Z
R
F
F
F
F Z
F Z
R
Z
F Z
F
R F
F
R
R
Z
Z
R
F
R
Reset
R
Z
R
R
Paid 10
F Z
2/3& ! 4 ! 5 6 '* 1 4 ! 4 $ + 4 ! ' ( ! ( 1 * 7 ! ! & ( #
R
Z
Z
! " # $% & & & ' & ( & ) % " & ) * # % % ) & + & & & ( + % , - " ) & # . # )
4.2.4
Alternativen zum Zustandsgraph
* / & % / (& # ( / & / & 0 & 1 , 3 1 0 4 5&
2 2 2 3 1 0 3 3
2 2 1 0 4 1 1
2 2 0 4 4 0 0
2 4 4 4 4 4
2 2 5& 5& 5& 5& 5&
2 5& 5& 5& 5& 5&
2 5& 5& 5& 5& 5&
5& 5& 5& 5& 5&
0 0 " 1 % # 2 2 2 2
0 2 2 2 2
3 7 6 17 6 07 6 4 7 6 5& 7 6
0 8 0 % # & / & +& !/ 9 ( & &$% : ( & * % & & ; & ( & -;*< ! & $ &
4.2.5
Realisierung mit (1 aus n)“ und dichter“ Zustandscodierung ” ”
!"# $ % & '#( )*+ , - ) . % ! #( % + ( "/ 0 1 ( $ + 2 + 3 + 4 25 3 2 3 # $ 2 3 # $ ( # 6f ≥ n 2 3 $ . # 0 - % $ % 4
Idle Five Ten Paid Cancel F Z R
C Über− gangs− funktion
D
Idle
D D
Five Ten
D D
Paid Cancel
W ST
(
7574 ) 0
( #( ( 0 8$ 4 8 % ) 69: 8 ; < 25 3 ( 0 & % # ' ( 0 ' & % - 8 '# 5 = % >
Cancel
110
Idle
Five 110
Ten 100, 010, 110
010, 110
Paid
110
!" # " $%&'" ( ) " ) ≤ *¿ ' + ," & - . ) + ' )
, /
/
/
/ /
/
& / / / /
) 012 02 032 0#2 042
3 5 ) 0 42 0 2
6 ) 7 63 ) # 4 # 89 !" 4 ! & 9 :
C
K Über−
L M
D D D
gangs− funktion
F Z R
K L M
&
W ST
!" # # $" % & '&& ( ) *& + , ) ) *& # - ) % . / $" 0 + 0 # +&
% # + . ! + " 0 *& !& + "!
DK DL DM
!
"
#
$
%%% %%% %%%
1 1 + / 2 ) *&% $" + % 1 3"4"* 5 # 0 % # 6 7 $ 0 / * 80 6 , # % ( 80 0 0 + 5 0 (% *# # 0 6 ( # # % 5& # &0 0 ( !( " # % # # 0 & 9 9:; (#" × 2 " 9:; # × " 9:; % # 0# *1 9:;
F Z R
A0 A1 A2
C Über− gangs− funktion
A3 A4 A5
D D D
D0 D1 D2 D3 D4
K L M
W ST
! " " # $ %%& ' % ( " ! !) * ( " +, $ ( % ( " + + + + +
++
++
++++
A¼ 1F2 A½ 1Z2 A 1R2
A 1K2 A 1L2 A 1M2
+ + + +
++
++
++++
. + + + +
++
++
++++
/ + + + +
++
++
++++
0/ ≥ + + + + + ++
++
++++
++++++++
++++++++
++++++++ ++++++++ ++++++++
++++++++ ++++++++ ++++++++ ++++++++ ++++++++
34 ' 5 * D 1DK2 + + ++++ +
++++ +
++++ + + ++++ + + ++++ D 1DL2 ++
++++ +
++++
++++ ++
++++ ++
++++ D 1DM2 ++++
++++
++++
++++
++++
D 1W 2 ++++++++ ++++++++ ++++++++
++++++++ D 1St2 ++++++++ ++++++++ ++++++++ ++++++++
' 6 ' 7
+ + + + +
" " (" 8 7 $( 4 ! 1 2* % 9 * : % :; " " < !$ ( : "$ % /. 7 ! " 1 2* /. 9& * 6 9 " % 3 1 2* = 3$ ! 3& " # 4 " > 5$ 8 4 % 4 : & (% "$ 4" " 3 "$ % ( 7 " ! 1 2 7 % ! 1 2* % 9& # $ = ( #% * ! # $ (" $ $ " ?& 59
4.2.6
Der zeitliche Ablauf im Moore-Schaltwerk
Eingangs− signale
Über− gangs− funktion
DK
K
DL
L
DM
M
Zustands− code
Takt
! " # $ " # $! % " ! # $ " & ' ( # $ " ! ) * + ! ' "
) ' , , - % ( ) . " # $ ' " ! / # + # " .
! "! / # * ! / # / ! ' % ' "! # $ ' ' . +
' ( ( ' , + " ! # / ( # " 0
1 " " ! 2 3 # " ! 4 # $ , # $ ! ( ' # $
Takt F (Z,R=0)
DK DL DM K
000
Idle
100
Five
100
L Ten
M t
! "#$ % & "' $ () $ * %+ ) ,$ "' " "min "min - Latch . Gate . setup Latch ),$$ ( ( $ / ( %
Gate ),$$ * * + setup ,$ ( $ ! "#$ /$ max - /"min & " % $ ( $ * (),$ * (), "' 0 % $ * (),$ 1 $ "' $ " $ 1 , $ ,
4.2.7
Synchronisierung von asynchronen Eingangssignalen
% / 2 $ " % % % $ ) ) $ "' 0 2) % " 2 & $ 2 $$ )( $
asynchroner Eingang
D
Q
synchroner Eingang
zum Schaltwerk
C
Takt async. Eingang sync. Eingang
?
t
!" # $ % $ ! & !" '( ))* " ' * !#
% # )" % + # $ , # ! " % ) # % )- % %# " . # .# # #/ 4.2.8
Systematische Schaltwerksentwicklung
+ % !" 0$ % % 1 # $ % ) % " % 2 3 ! . 4 %# % Der Entwicklungszyklus eines Schaltwerkes
% % # % )% )" ! % )# + ) %$ 3 ! ) ) ) ) ) +$ # 5 # # 6 % 0 )
Aufbereiten der Aufgabenstellung.
! "
# $ $ Entwurf des Zustandsgraphen. %
&
' ! (
#
' ( ) * + , ' & # ( % & * '-
* .
( "
# $ , $ /
Minimierung der Zustandsanzahl. "
0 1 ! 2 #
. $
#
3 - ' 4 + $
Festlegen der Zustandscodierung.
! 3 & & 15 2 3 3 & 3
$
& $ # . 6 7
* $ + ' 8
$ & 9 8 # !
" $ 15 2 3 ) ) !
5 & $ "
(
¨ Ubergangsund Ausgabefunktion.
!" # $% &'(& )
* + &
Dokumentation der Gesamtschaltung.
,
-! # . . ! . ! . / 0 ! + ! 1 )
Berechnung der maximalen Taktfrequenz.
' ! 2
3 ! / ! . / ! . ! 1 ! /
& )
3-Bit-Z¨ ahler mit JK-Latches 455 1 . ! . ! / / + *0%
Aufgabenstellung.
! ! ( - 2
6 777 888 / / *0% * 0 - 9 % 2: *;0;8) *;0;7) # ! . < 2 3 ! 9
# ! *0% 9
, , '&# )9 ! 2 9
8=
>=
+ !9
=
?!9
4
< 2 3 !9
Aufbereitung der Aufgabenstellung.
4=
(?!
6
@ 888 777 . A ! !6 7 B ! / # C 9
Über− gangs−
J K J K J K
funktion
A B C
C
! " " # # # "$
Entwurf des Zustandsgraphen.
Z ABC
0
1
2
3
4
5
6
7
000
100
010
110
001
101
011
111
% ! & " ' " ( ) #"* Festlegen der Zustandscodierung. " " + " , " " - + . . . . / / . .
. / . % / / . 0 / / / ' )
" " 1
¨ Ubergangsund Ausgangsfunktion.
! ! ! ! " !! !! # !!!! $ ! ! ! !
" !! !! # !!!! %A ! ! ! ! ! ! ! ! ! ! ! ! %B %C ! !
&'( )
" Dokumentation der Gesamtschaltung. * $ $
+ , $ '-- . + $
, +
/ 0 $
1 +
!
1
&
J K J K J K
A B C
Übergangs− funktion
&'2 * 3 4 5 6
$ 57 + &( !( ( + 2( 87 $ 4 3 6 !(& .9 / 4 5 6 '( .9 $ 0 9 8 Erkennung einer Eingangsfolge Aufgabenstellung. + $
! ! !!
! " # "
! $
%$ &
'() %$ ! *
Aufbereiten der Aufgabe.
! *
+ ! !
)
!
!
! * ! , " - # , *
!
.
*
# , +
Takt E Idle Idle
Zustand
1
10
101 1011 Idle Idle
A
/01+ # 2
3 #!
!
$! 4 #!
(
6 7 * 5 * -
# 3 #!
7 * 7 7 * 5 5 5 #!
#
Entwurf des Zustandsgraphen.
7 5
!
7 * 5 !
# +
#!
* " , 8 ,!
2
9 # +
! , - 9
9 ! * ! * ! !
!
, * " +
: ;
:#
" * <;
:#
" ! 8 <;
:
" ;
) !
! !
#, * # !
Z
E
A
0
Idle
1
0
"1"
0
0
"10"
1
0
"101"
1
"1011"
0
0 0
Reset 1
0
Idle 0
1
"1"
0
0
"10"
1
0 0
"101"
1
0
"1011" 0
0 0 1
Reset
! "#$%& ! ! ! $ ' ( $ ) ( $ ) ! * * * +% , * * ,% * , * ,*% , , * ,*,% * * , ,*,,%
Festlegen der Zustandscodierung.
- . " ! ! ! " +%# ' " / 0' ' ! 1#$ " )#$ ! ,*,,% " 2 ) 0 2 ! ¨ Ubergangsund Ausgabefunktion. 3 # )#$ " 4! ! " !' ( 2 ( $ ) ' "5# 0 ! ! 6$ #1 7 ) ! " ! "5# 0 ' 2&
K
L M
! "# $ # %&' (
) *' (+ ,+-. / " '0 ! + %&' ( " 1 02 ) *' ( " +
Dokumentation der Gesamtschaltung.
PLA E
1
K
1
L
1 &
&
&
& >1
DK
K
>1
DL
L
>1
DM
M
C
R
A
Reset
,+-.3 / " * ' 4 + # " 5 " "" 1 + Arbitrationsschaltung
6 ! " " ' 6# ! ! %# ! 0 27 0 7 8 + "2 ' 6 5 3 6 " / # 9 :
5 " 2 "" " ; 4# ! ! ! 5 " "" + <
!+ ' ! =! 4# ' +
Aufgabenstellung.
Bus
ACK3
Gerät 3 REQ3
ACK2
Gerät 2 REQ2
ACK1
REQ1
Gerät 1
Arbitrations − Steuerung
! " #$ % '( #') #'* +, , - , % &.( .) .* / % , - 0
#$ % - #- - , % - % 0 1-% - ,
1 - - 1 ' 2 (* , 1 &. 2 (* 1 -
, , , 1 - ' 2 * 1 - &. 2 * 0 3 &( * 4 , ,
5 - 67 Aufbereiten der Aufgabe.
#'( #') #'
........... .......
.......... .......
........... .......
........... .......
.......... .......
........... .......
.( .) .
( 8
,
, ,
#$ % ( , 9 # -
( 6
, 4
Entwerfen des Zustandsgraphen.
!" # $ ! %& '
( ) #
* +
!,
# "
$ !
'
" ( '
)! #
$
-$ !
- $ !
)'
000 Z ACK1 ACK2 ACK3
REQ1 REQ2 REQ3 Idle 000
000
000
Reset
001
01X 000
1XX
X1X
1XX
DEV1 100
01X 10X
DEV2 010
001 010
DEV3 001
XX1
001 1X0 .', # *
/-
! ! 0
-$
* ) * ' - )
- 1
" (
-)2' ) / "( $ !
$ !"
!
' #
"
), ''' ''''
Takt REQ1 REQ3 REQ3 Zustand
Id
Id
D1
D1
D1
D2
D2
D2
D3
D3
D3
D3
Id
ACK1 ACK2 ACK3
! " # $ # % & '
Festlegen der Zustandscodierung.
( %! ()& ()* () + ",& ",* ", - . / - & (
¨ Ubergangsund Ausgabefunktion.
0 0 # 0 #* 0 # 0
∨ ∨ ∨
%( ∧ ¬1(2 ∧ ¬1(2* ∧ ¬1(2 ∨ () ∧ ¬1(2 ∧ ¬1(2* ∧ ¬1(2 ∨ ()* ∧ ¬1(2 ∧ ¬1(2* ∧ ¬1(2 ∨ () ∧ ¬1(2 ∧ ¬1(2* ∧ ¬1(2 0 ¬1(2 ∧ ¬1(2* ∧ ¬1(2
∨
%( ∧ 1(2 ∨ () ∧ 1(2 ∨ ()* ∧ 1(2 ∧ ¬1(2* ∨ () ∧ 1(2 ∧ ¬1(2
∨
%( ∧ ¬1(2 ∧ 1(2* ∨ () ∧ ¬1(2 ∧ 1(2* ∨ ()* ∧ 1(2* ∨ () ∧ ¬1(2 ∧ 1(2* ∧ ¬1(2
∨
%( ∧ ¬1(2 ∧ ¬1(2* ∧ 1(2 ∨ () ∧ ¬1(2 ∧ ¬1(2* ∧ 1(2
()* ∧ ¬1(2 ∧ ¬1(2* ∧ 1(2 ∨ () ∧ 1(2
3 4% 5 1 !+ % 6 ! / ! " & 6 + # 7 !% ( / // ' ! - # $ 8 1 % 6 &
Dokumentation der Gesamtschaltung.
∨
..............
...............
....... . .......
t t t
...............................
........... ......
........... ......
.......... .......
! " ! #$ !% &% &% '% ! % ( #%)* % ! +$ % ' , #,
% ! #*
- !
% ! #* . → / ,%%* 0 1 * 2 ( #%)* 3 21*
4 , % ! #*
5
% ! 6%, * 7 7 · 5 7 0 8 00 ( #%)* * 0 21* ( #%)* % ! &% , ! !%$ 1 * ! ! !
4.3
Das Mealy-Schaltwerk
9 &% !: ! ;, 2,,%-9 ! &% % % ! % #, % ! ! % , %% !: 2,,%-9 ! &% ! $, ! 4 ! % %$ % 2 <-9 ! &% ! &%
: & 2 <-9 ! &% 2,,%-9 ! &% & #, &% 9 ! &%6
4.3.1
Die Schaltung eines Mealy-Schaltwerks
'* ! 2 <>-9 ! &% ! # %?% ,% 2 < *%$ % #,= * % ! 2,,%-9 ! &% 2 <-9 ! &% $ %
Moore
Eingänge
Über− gangs− funktion
Zustands− speicher (D−Latches)
Über− gangs− funktion
Zustands− speicher (D−Latches)
Ausgangs− funktion
Ausgänge
Mealy
Eingänge
Ausgangs− funktion
Ausgänge
! " ! # ! $ % # & ! $ & ! $' ( ) * + , - # & ! $ & ! . $ ' ' / ' $ %( ' ' ( # 0 1 % ! # $ 2 , # 02 ' $ !' 0 *+ 3' & ! ' " ' & 4 #( 02 5 02 ! 5 $ 0 6 1)7 0 ' (4 8 9 5 ' ' $ 0 ! : ' - # ! / # 0
4.3.2
Beschreibung des Mealy-Schaltwerkes durch den Zustandsgraphen
! " ! ! # $ % $ ! & ! & & ! ' ( ' ( ) $ * E1 E2 / A1 A2
Z
01 / 11
A
B
00, 1X / 00
10 / 00
+,-* &
Takt E1 E2 Zustand
A
B
A1 A2 t
+,.* "$
/ ! $ * 0 1 & 2 3! & '45! (4' !
!
!" # $! ! %&' ( ) !"* ! + !! ! , )
" ! " # " ) . ! ( ! * ) ! !! ! ! /!0- ! /! ! 1 ! 2 3 ! "! ! !! ) 4 $ 5 6 E1 E2 / A1, A2
A
E1
E2 / −
B
E1
E2 / −
! %&76 # /!0- ! 8! /!0- ! # ! / - ! $ 59 ! ( ; : : ;* + "! "! $ !! " " < / - ! "
- .- ! /!0- ! 4 ! ! ! .- ! ! $ )-. .-0$ ! ! 8! ! 4 = >. 8?/
4.3.3
Mealy-Moore-Transformation
/ - ! /!0- ! ! ! ) / - ! " "!! /!0- !
) ! /!0- ! / - ! ! ) /!0- ! /! ! 6 ! ) 0$ ! /!0- ! (" 8 " * / - ! < 3 " ! < ! " ! ! ! @ !! @ ! " 3 /!0- ! / -8! 1 ) > $ /!0-/ - ! " /!0- ! ! / - ! " ) -
1
1/000
Mealy
Moore A
A
Z
E / A1 A2 A3
000 Z
0/101
E
0
A1 A2 A3
1/000
B B
101 0
1 1/100
0/010
C
D
0/110
C
D
100
010 1
0
1/000 0 1/001
0/001
1
C’
1
0
D’
110 E
000 1
0 E
1
001
0/001
0
!"#$ %
& & ''' ('( ''' )
&
('( )
*
('(
+ ,-
& ('' '('
& . ) ' . ((' . & / (''
((' .0 & .0 1 ) . 1 ) ( ''' &
/ '('
0 ) + % 2) )
4.3.4
Die maximale Taktfrequenz des Mealy-Schaltwerkes
* & 3 % +
! "! # $ % %
% & %
%
% ' ( )
* ' ! + ( )
4.3.5
¨ Uberwachung einer Einschaltreihenfolge
, ) , % ' % -. % / " 0% ' 12 % ! ' / & 3 % -. ' / 4 , " /
, 1 , 3 *%
Aufgabenstellung.
-.% ', / 5 ( )
Aufbereiten der Aufgabe.
% 4
-. 1 ,
% ' 0 2 1 % % 6 -.
,
% 6 4 7 3 3
" % % ' 3 , 4 11 %
% 881 ! 3 % 4 , 1
, 1 9 ,
Entwurf des Zustandsgraphen.
+ " ! 5 + ,
%
)! 3 !
Z
A B / ON
00/0 00/0
10/0
00/0
11/1 10/0
Wait
11/1
Half
Full
01,11/0 Reset
01/0 01,10/0
00/0 Fault 01,10,11/0
!"# $
Festlegen der Zustandscodierung.
%
%
% %
&$ ' '
( ) $ *
$ + $" $
¨ Ubergangsund Ausgabefunktion.
, DP DQ
-.
% %
%%
%%%
%%
% %
%% %%%%
&$
%%
%%
%
% %
%%
%%%% '
%%
%%%
%
% %
%% %%%% %%%% '
%%%
%%%
( / ( + $" *
$ 0 *
D D
PLA C
C R
Reset
A B
ON
4.3.6
Erkennen der Eingangsfolge 1011
!" # !" $ % & !' ( ) * + +,! !
(( * & % ! & . /) /) 0/ - 0 / # !"
&-- 0
/ - " - ) !1 % &
Aufbereiten der Aufgabe.
Entwurf des Zustandsgraphen. E/A
Z
Reset
0/0
1/0
Idle
1/0
"1"
0/0
"10"
1/0
"101"
0/0
0/0 1/1
2 &( . & - 0 / ) " -. / & 1 ! ( () % 3 & 1 # %
Takt E Zustand
Idle
Idle
"1"
"10"
"101"
Idle
A t
!" # $%& ' ! ()(( ()((+ ()((+ , ! * * - . + ) , . +/ * * ( ,
(+ ()((+ 0 * * / ( 1!2 ( ()(+ - * - ()(+ . + (+ * * *
Festlegen der Zustandscodierung.
3
4
) ( ) (
) ) ( (
. (+ * ()+ * ()(+ *
¨ Ubergangsund Ausgabefunktion. 56"!7 ! / 0 -/ 6"8,5!
5 !
Dokumentation der Gesamtschaltung.
, - 6"8,5 56"856" / 9 - 2 : 5 ;
E
1
L
1
K
1
>1 >1
>1 >1
Reset
>1
DK
K
DL
L
C R
>1
>1
A
Maximale Taktfrequenz.
!"
#$%
!&
( → ) " !" * " + ,& +* -
. / % + . #$% - 0 " % 0 Latch1Gate1setup 2 " 1" 1!" 2 3" !!4! +* / ' . %'
4.4
Prozessoren
5 0 ! . 4 . * 4 * *. %6. 4 . 6 4 6. $ % 7 *. % . 89 . 4 7 / . .
: . 6. ;. ; : 4 : . < 0 4 . =
< . .
4.4.1
Arithmetic Logic Unit
!
" # $ %
$ %
& ' ( % # $ ( R¾ )H* ( R¾ )L* % + +,' - -#.-
ʽ ´½µ
´¾µ
$ //01
.2 3 3 $ ! $
2 )45 67 * ' 45
. $ + % - 8 9 .
$ + : )$+:* % " ! % ; ' % $+: ! 1 Parallele Addition + 45 bitweise UND-Verkn¨ upfung + 45 bitweise Komplementbildung ) %* unver¨ andertes Durchschalten
! $ 7
: F¼ F½ !
"
16 15
16 0
15
A 16
F0 2
F1
0 B 16
N Z
ALU 16 R
! " " # $ $ % & Nullanzeige (engl. zero status flag): ! % ' ( )
¨ Ubertragsanzeige (engl. carry):
! $ * # ( ! # " " % + % ) # " % " " % "
Vorzeichenanzeige (engl. sign):
! $ F¼ F½ " " ( ,& ! # + ( - ! $ . " / ( & /& (0# & ' / ( & & /1& . *1& 2 3&(#($ 4 . 5 / (3 . . ! " & 1 6 . " . ,¼ ,½ )) ) )
" ∧(" &#.
1 ← ← 7 ← ∧ ← ¬
¬ ! "# $% ! & ' "# $ ( ) $ ( * + , , , , , , , , & +
,,,,,,,, -! .- $ A ∧ B F¼F½ + , ! ' ) +
, , , , - - $ */" - - - - % & % ! 0) *#(1%*/0#2 - 3 - ! 0 ! $ 4 ! -
- - ! 4 0!- &! 5 - .- $6 - - */" - - ! * ! $) 7- # 8 - 0 $
*/" 16 15
16 0
15
0
A
B 16
N
F0
ALU
F1 4
S0 S1
16
Z
16 15
0 Shifter 16
* 99:' */" ! 8 " - - * !$ * - - ¼½ ! ! ( 2 & ) ) */"
&
¼ ½
←
←
nicht g¨ ultig
←
−
!" # $ % !
' ( !
' ) * # + " $ !
!
& &
← ,
& &
← ,
← , ← ,-
← ,-
← ,-
. * ,(/ 0
← ,
∧
← ,
← , ←
¬,
←
←
∧ ∧
¬ , ¬ ,
$ # * * $
4.4.2
Register File und Busverbindungen
1 * 2 * 3 , # $ 41/ 0 $ * * 5 3 * 2 # 2 ,(/ 0 3 $ 6 * # *
3) $ "
, *$ $ 7 ( * ,* 53) 3 $ * * ( * 2 8 # $ * 3 ( " 3 ' ( !
' # , *$ $ 3 3 $ ,(/ 9 !
*
* 3 *$ # 2 9 3 ( $ / : # 2
( $ 0 ( 2 * 3 $
$ 5 3 ; ; * $
% 53) , 0 $
!0 * 6 # $ 0 < !" " 2 * 0 !
* $ / 2 ( 2 2 0 ! , *$ 3 $
•
•
!!
" # !! $% &'
( &' !) # ! !
! ! * + ! # ! ! !!# + ! , ! ! # -
enable(S-Bus) S-Bus
enable(B-Bus) enable(A-Bus)
A-Bus B-Bus
R1
! ,,. !
*
!# !
/
)% ! # ) &' 0 1!2 * $ !! -3 ! " &' &4 # ! 1 5# 6&
−&
! 7 8 ! 9!! 1 5 :5;½¼ # <6&< :&;½ # <&< :=; $ :!; :&>; % / ( !# 9! # ( * )% ! 7 ! 1?
! 8
!! !!# ! ,,@ # !! ! !A! ! $ # $ $ ! ,,@ + ! ! 8! ! # ! ! # / )% + ! ! !# ! / 7 ! # ! / & & %
← & 6=
16
4
A−Bus decoder
16
4
S−Bus decoder enable
B−Bus decoder
enable
4
enable enable
A−Bus
B−Bus
13
0 +1
S−Bus
−1 B 16
PC R0
A S
R9
F S
R10 AC
C4 C2 C1
load A
B N
2
Z
ALU
2
C
Shifter
!½ !¾ ! " # $ %&
q q q
pp pp pp pp pp pp pp pp ppp ppp ppp
pp pp pp pp pp pp pp pp ppp ppp ppp
qqqqq
%& $ !'' $ $ !'' ( ' ' )' • $ !* + ,+' +' - (-( ' +'
• • •
! !"# $% &' ( ) * (# " "
+ ,! -% " "! "
!. " 4.4.3
Speicheranbindung
#/" +!". (%" 0,"1 " /!"" +# $+# 23 /"4"! 5 "" ( "" (% 6 " ! +"" 0" 1 0" 1 - 7 " "
! / . (%
# "# (% 0" 8%" 231 &
. - + " '! %"" &#(" . / "# ! % . ""
( " 9 : " * "" ( " ! +:# "#& % - # "" ( "
address load read/write memory select
data out data in
15
0 MAR
address bus
MBR
data bus
zum Speicher
" )23 +: " " + ;!
&! 3< "
= ½ − 3 0 % <)81
> & !. ?
@4 (
.
!
/ ."! !.
3< " * . "
& " " !. 3
! (%"" + ;" " . 8"" : "
!" #
$ %
& ' (" (
!" # ) *
$
("
!" $
+ ) , # .# / 0
# # 1 ' 20/ " ## $ # ) * + 3 # 3
' 20/ ) # ( # 4 % - ( (
- ,(2* ' + # ! , 3 5 -( 67 ! 3 #1 $
' ! 3 8
0
3 3 1 / # 8# %
• 4 (
! "
• 4 "
! " )
• 4
! " " -
9 (# 9
%
S-Bus address bus
MAR
data bus
MBR
A-Bus
B-Bus
A
B
ldMAR A0 ldMBR rd/wr
A-MUX
F
ALU
S
N Z
Shifter
!"# $ % & ¼ ' % (& ! % )% ) ( * ) $ +)% ,,# & ) -(%% % .& )$ ! $ (& ! / & $% 0! / $% )$ ! - (! ' ( -(%%1 & )%!-)% % ' $ ) .&) 2)( 3% 4 - & )%% )%!-)%
¼
¼
½
¼
½
5 )%!-)% % %( ' / % 6/27 $ 8%)!9 3) &%' (% )%!(1 (&
← i k ← ← i ← j
! " #$ i, j. . .% " & &"'& ( k. . .%" " & &"'&
& &( . . . " & " " ) " " ( . . . " & " " (
* +"&" % , -& *& " "" " " # -& "#& . " -"& / ) " ""( /#& ' & 0' &" " " " " & + &-& %#&"% "&" & ) " " % "' 1 " % &( 4.4.4
Control Unit
*& 2(32 %" & 4&' 5'" 6&"%'"( . " "& " 1)&" -# " - " "" "( , ) -& & & 0 " ' # ""( 0&"#& & " -( *& &" " & & ' -# )" " " % & 7"%" " ( *& 189 &% "#& & " & +& &"( / " / "#& : " ( 9 -" & " ." ; 1" 9" ; " - -&$ ( . #&" - )1 & "" 2(2(3 ( * - & " *&" ( " & %" -"" - & & 5'"
A-Bus
13
S-Bus decoder
4
16
B-Bus decoder
4
16
A-Bus decoder
4
B-Bus
4 3 2 1
16 Regs.
address bus
clock in
4 phase clock
A-MUX
A
MBR
B
ALU SH
MBR MAR RD/WR MS
MIR MAR
data bus
S-BUS
B-BUS
A-BUS
A-MUX
ALU
N Z
2 2
S-Bus
Shifter
read/write memory select
! " # $ % & ' (& ) & ! * +& , *-) ! ) # . /# ( /) ) 0 % -1 2 /# 3 4 .) 5 - ) ! 4 .) $ )& 6 ' - 2 7) 6 - 7) #) " ' 2 ) #) 2 - - 7 - 7) 2 #) ! # * 4 - 2 ) *
4 - /# 0 / 2 7 . 3 25 ! " - & % - ) 2 ' # % % #) ! & - 8 9 3 :" < ; 5 , ! & - . 9 3 :" 9 ;5 < ! : 7) * & ) - - = *+82 3 5 = / 2 3 5 /& 8 . " * & - - / #) 3 ! 5 ! 7&
!" # $ % & ' ( )* + & & ,- & & $ ,- .& / $ 0 ,- ( ,- (* ,- !(* ! (* ,- 0(* 0 (** & ,- & ,- % - $ $ &- 1& &$ - & $ $ $ 2& 1!, ," & $ 3 && 455 &$ + 1& 6 $ ' /$ ' $ $ 789 36 " ' % $ + $ & & 2$- /$ + ' , $ "- , & 1 1' $ " $ /$ + , & &$ $ / 1 : % , / ,- & & ¾
! "#$ %
memory select
read/write
data bus
address bus
MBR
MAR A
S-Bus
A-MUX
16 Regs.
Shifter
ALU
B
N Z
A-Bus B-Bus
16
16
2
micro sequen. logic
A-Bus decoder
B-Bus decoder
MIR A-MUX
S-Bus decoder
4 phase clock
2
CO ND ALU SH
4 3 2 1
4
4
4
7 MIC
clock in
8
0
S-BUS
B-BUS
32
A-BUS
256 x 32 Bit control store Micro-Programm-Speicher
MBR MAR RD/WR MS ENS
13
8
ADR
4.4.5
Mikro-Programm
! !
" # $ " $
% # & '
$ ! ( ( ) * +, ) + %-..-' + ! / + # ! n ( 0 -n ( ! ,
1...- − 23 4!
# " " ! ! .... .... 5555 5555
5 ∈ . 2 " "2. "6 ! #
* " "7 ( ! 8 7 *
# ! *
2 ( ! # 7
*
" "9 % ' "9 : −2 "
%-' ! ; * ! # 8 .
5 ( " "9 < . *! (
"= • >
# "7 • "9 : %7'
,
?@?*/ 8 :
# $ A /
: " >
B , "
A*! % "4
'
1. 2. 3. 4.
R7←lsh(1+1) R7←R7+R7 R8←0
# # # #
im ersten Schritt wird in R7 mit 1+1=2=(10) und mit lsh((10) =(100) =(4) erzeugt R7=4+4=8 Null ins Ergebnisregister laden
, * 4! " ! " , "C 8 ! , (!
4! %D' %E' #
*!! %6' %
' ( $ 4! =
5. 6. 7. 8. 9. 10. 11. 12. 13.
R6←(1+1) R6←R6+1 MAR←R6; rd rd R9←MBR R6←R6+1 MAR←R6; rd rd R10←MBR
# # # # # # # # #
R6=(2)½¼ R6=2+1=(3)½¼ Laden des ersten Operanden von der Speicherzelle (3)½¼ warten, bis der Wert anliegt Speichern des Operanden in R9 R6=3+1=(4)½¼ (Adresse des zweiten Operanden) Laden des zweiten Operanden von der Speicherzelle (4)½¼ warten, bis der Wert anliegt Speichern des Operanden in R10
14. 15. 16. 17.
R9←lsh(R9+R9) R9←lsh(R9+R9) R9←lsh(R9+R9) R9←lsh(R9+R9)
20. 21. 22. 23. 24. 25. 26. 27.
R8←lsh(R8) (¬R9); if N goto 21
! " # $%" ! & ! ' " # dies entspricht zwei Shift-Kommandos nach links
# insgesamt ( Shift-Operationen: R9=xxxx xxxx 0000 0000 ) # " ! * " & &
! ! + ,# , " - #
,.
" 18. (R7); if Z goto 24 # Test, ob (R7/ 0): wenn ja Sprung auf Zeile 24 19. # bloßer Test ohne Speicherung: ENS/ 0
R8←R8+R10 R9←lsh(R9) R7←R7-1 goto 17
# # # # # # # #
Ergebnis um eine Stelle nach links shiften wenn das msb im Multiplikator R9 0 ist, wird die folgende Zeile u¨bersprungen wenn das msb im Multiplikator R9 $ ist, wird der Multiplikant R10 zum Ergebnis R8 addiert n¨ achstes Bit des Multiplikators ins msb schieben Z¨ ahler R7 um $ vermindern unbedingter Sprung an den Schleifenbeginn
! # ( 1 $0·" " 2 3 & 4 " 28. 29. 30. 31. 32.
R6←R6+R6 R6←R6+1 MAR←R6 MBR←R8; wr wr
# R6=4+4=(8)½¼ # R6=8+1=(9)½¼ # Schreiben des Ergebnisses R8 auf die Speicherstelle (9)½¼ # warten, bis der Wert verarbeitet ist
$ 5 " * 6 ' ,7,.
8 " 1 " 1 ,#
" ! # 9 : ; <" 1 , 8 ,1 : : ,# ;
+ , / . & - 2 * + , / . & - 2 +* + ++ +, + +/ +. +&
"&←' ( ) "&←"&("& "-←* ".←' ( ) ".←".(
"←".0 1 1 "2← !" ".←".(
"←"/0 1 1 " *← !" "2←'"2("2) "2←'"2("2) "2←'"2("2) "2←'"2("2) '"&)0 3 4 5 + "-←'"-) '¬"2)0 3 5 + "-←"-(" * "2←'"2) "&←"& 5 & ".←".(". ".←".(
"←".0 !"←"-0 6 6
* ** * * * ** * ** * ** ** ** * ** * ** * ** * ** * ** ** ** * ** ** ** ** ** ** * ** * ** * ** ** ** * ** ** ** ** ** ** * ** * * * ** * * * ** * * * ** * * * * ** ** * ** ** * * * ** * ** * ** * ** ** * * ** * ** * ** ** * ** * ** * ** * ** * ** ** ** * ** ** **
"
% # ! ! $ ! ! ! " " " * * * * * *** *** * * * * * * * * * * * ** **** **** * * * * * * *** *** * * * * * * *** * * * * **** * * **** * * * **** **** **** * * * * * **** **** * * * * * * *** * * * * **** ** **** * * * **** **** **** * * * * * **** **** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **** **** * * * * * ** **** ** * * * * * **** **** * * * * * ** * ** * * * * * **** * * * * * * ** * * * * * * * **** **** **** * * * * * * * * * * * * * * * * *** * * * * **** * * ** * * * * **** **** ****
" **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** *** *** **** **** *** * * **** **** **** **** **** **** *** *** **** **** **** **** **** **** **** ****
!
" ! # $ % & '( ) !* ! ) ! +, " - $ .* !* * /!!( ! !! 0 $1
# 2 $
*! (*!! &* ! - ! * ! ! ! !* # $3
! ( ! * "! ! ! ! &* !* %*! %* 4 1 !! * #& ! $1
! ! 5 & ! " !& ! !* ! 6 * & -! ! & !! ( !! !! ! !* (&*! * 2 2 & % ! $
!! !* %*7 !! !*8 !! &!! -&* " %9 ! & * ! " 3 41 !! %* ! * !* & *
!*!! ! * * *!* /! ! * 1 !!
4.4.6
Very Large Scale Integration (VLSI)
!
" # $ %
&
' ( % &) * ( " # + ,-- . /
&01 / ( % 2 # " 2
$ # / 3 " % & 4 ( 2 /
/ " . + 3 5 ' ( 4 2 ! / " #
% -6" 7
# % % .
% . 8 .
" 1- 2 9 .
" "
Weiterf¨ uhrende Literatur
4 / % 3 / ,::8 2 4 7 % 3 / ,::8 . 4 # ; ,:<< % 2 ! . 4 # ; ,:<8 2 # % "# % 3 / 1--1 4 . $ " # 2 1--, % & ' ( . ! ) .
,1:,=0 ,:=> + 4 ) ( ) ' / %) 2 ? 3 08 ,-8=,-6: ,:==
5 Computersysteme
•
!"# $ " %
•
&
•
' ( )
5.1
Prozessoren
" *
+
) '
)
+
* ) ) & + ,
5.1.1
Maschinen-Code
-
. * / * ) ' &0 * *
- -
* ) . +
) ) ) & * )
.
1 . 1
+
'
2 ) .
! % 3 )
&0 * ) 4 ) . + ) & !
3% *
+
5 ) 4
!
" #$ %& ' ' ' ( ) ) * ) + ) ,
+
,
) -
. ) / 0 1 2
1 +
3 ) 4 + % 1 .
4
4
)
) *
+
4
) 4
) 5 052 5 0 52 + 0 2 6
) 5 052 4 * 5 0 52 + 7 +4 ) 4 0 + 2 ) $ 6 8 ! + & ) + 5 &
4 4
0 2 5 052
5 & & + 4 ) * 8 4 * + ) 0 +5 +52 ) 4
$ +
+ ) 8 8 + 9) * ) 1
) 4 ! +
+5 * ) $: 9) + # : ) )
) 5 ) 6) ) () ) : / ;
) +5
! " ! !
#$
% & ' & $
(
$ % *
% ) Transfer-Operationen
+ , &
- + , . + , & $ % & $ ! ! & / ( 1 % 1 0 0 . % * % (
&
2 +3 ! , % +! , & $ 4 3 5 3 # 6 $ ! 7 8 $ $ 8 # 9 +
:, ;, <, = :> 3 , & 9 % 2 ? % 9 3 % & % 8 # 3 $ * ( . + $ Input/Output-Operationen
& ( $ &
+6 "
, . & @#$ ! 8 ! A &
% % . % $$ 6 ! @
9 $ % %7 : @4 % 2 & " @B (
& 9 ) 9 & ; 4 @ % % % % 9 & $ ) 3 2 @! % ( %
Arithmetische Operationen
! " # $ % &' (! )! *+++" ) !%! !! ,* , -..-/! 0
) + # (! / ! 0 * ( #/ ( #/!
*
&'! & )
! +
0 1 " !
! * " 2 ) 3
1 4 - 5 )6 ! * # ! ! % # ! )
0 " 7 )
, 8 (! / 9 #! '
(! /! ) 1
: ) ! )
' (! / ! +
0 !
"
! +
2
;
(! )! /! + $ 0 ) ! ) " ) 3 ! Logische Operationen
$
2 + ) ! #
0 ) 1
< (! /
. (! / 3 (! /! 0 ) ( ! " ! " / " ) (! )! " # /
! * " : ) !! &" : ) = $
(>
/! # " ? 0$ @0$! : ) 0 (
/ ! Shift-Operationen
*
! "# $% &' ( $ ' ) ) * ( , + * + - )
* . ( ) ( * ( ) ( ) / 01( / ) 01 ) * 2 ( )( & !( 34 * ) ) / ( ( * 5 6 &
pp pp
p pp p
ppp
p pp
p pp p
pp pp
p pp p
p pp p p pp p
p pp p
pp pppppp
ppp ppppp
ppp ppppp
ppp ppppp
ppp ppppp
ppp ppppp
ppp ppppp
pp pppppp
ppp ppppp
pp pppppp
pp pppp p
ppp ppppp
pp ppppp
ppp pppp p
p pp p
p pp p
p pp p
pppp pp p
ppp p pp p
pp pp
ppp
p pp p
pp pp
ppp
pp pp
pp p
5 6 &7
Flow-Control
!5/ ) ( ( 8 9 , + +
)
Spr¨ unge
! " #
$ #
#
% & $ % '
$ (
)# " (
' " (
#
#
) %
#
)
$
* $ ' ' +
Subroutine Calls
, #
, ' $
# -
. / '
0 ! 0 # # #
# ' '
,
! #
#
1 0 # # $
! !
' 2 $# ! # #
, $ 3 . 4 /
5 6 ( ' 1 ) , (x) #
#
ln adr
x
4 $
ln adr
! -
Speicher Beginn des Programms
Startadresse der Prozedur P1 Startadresse der Prozedur P2
"hohe Adresse"
Ende des Programms Beginn der Prozedur P1 Ende der Prozedur P1 Beginn der Prozedur P2
Ende der Prozedur P2
748 . !
Speicher Programmbeginn Speicher call P1
Begin von P1
call P1 return
Ende von P1 Begin von P2
call P2 return call P1 return call P2
Ende von P2
Programmende
!" # $ % # & ' ( )% "# ) $ * + , ** #" $ - $ . *" / +* ! " 0 # + 1 . *" # % 2/ 3 2 * .#"3 $ + 4 "" 2 3 " % * $ # % / 2 53% ( #"* 1 . " " 2 3 6# 4* 7 (# +% *# ! % " 40" 8 ' , + " 9: . (# # $ + 2 +; - !" 3 # < 4 # Call-Subroutine:
/ +'%
6 + 2 = 3 > !* Return-from-Subroutine:
/ ' +'
! "
Interrupts
# $% & & ' '
' &
%
( ) ( ' #
* ) & # +& % + , * -
' + & % #' /0 1% 0 . .
' " % ' * % & , + 2 #& ' %3 4 5 " % 0 &
6 . & ' *' + * % % & 7 /
+ % &
% 5 ( ( 8 , + ' ' & & #' ) 3 + )
& % ' 4 & ) % ' ) )
'& & + & , )9 #& $% 7 • * ) % % # ) & 9 % ' • # &6 & % & :
* • : 9 ; /
% +3 #
* % ' &
; #
' + ) < = )+ & 9
# > % ? + ) + 7 Fixe Zuordnung: : 9
) ;, + + )
! "# $ % & " '()
Interruptvektor:
!# ' ) * %+
,$ " $
! , & $ + !
' ) ' ) - "# $# . ! # " $ , # $ , ( / # ,$ 0 1 2 $ / $ 3 1 '! ,)
') ! $ 1 ! , $ $#
4 $
! / 4- $# /
& $ /
5
$ ! "#
/ # * #$ / 5$
# # 4 5
$# $ "#$
! $
$ $ Stack-Operationen
6 7
6
" ' ) + " . "/ + ! & # / %4 '! ) # 7$ $ 8 # 1 , 4 ## 1 # ( / $ ! & #$ 7
# 1 # , " #$! '" #$ ) !# 7 #$ $ ! 9 0 ,$ # 2 7 ' !# ) 0 ,$ #
!
push Reg# pop Reg#
"
! $ % " & ' (
(
! ' )
(
* ' $+
! * & !
$
* $
,
' $ $
"- # . $+ / * 0 ' & $ ' $ "
#
$ * $ 1 ! * (
$ '
1 & $
* * & $ $
* 45 !
% 2
$
3 $ "$# * "
FFFF#½
*
1 $ & 6 .
' 6 $ 1 1 $ "
#
!
' '
$
push 16
0
pop 16
' 7
*
889
% $ 2
!
% - %
pop 16
push 16
'
← memory[address] : 1 ' $ address * 1 * address . $ * "reg#
)
& * ' " * 94;# % % -
push 16(reg) 1.
memory[SP] ← reg
< <
2.
SP←SP-1
<
Das Register reg unter der im SP angegebenen Adresse im Speicher ablegen. SP um 1 erniedrigen
pop 16(reg) 1.
if (¬SP=0) goto 3
2. 3. 4.
Interrupt Stack-underflow SP ← SP+1 reg ← memory[SP]
Falls im SP nicht (FFFF)½ gespeichert ist, springe zu 3 Interrupt Stack-underflow ausl¨ osen SP um 1 erh¨ ohen Das Element, das unter der im SP angegebenen Adresse im Speicher abgelegt ist, im Register reg abspeichern
1. 2. 3. 4. 5. 6. 7. 8.
R1←1 R2←2 R3←4 push 16(R1) push 16(R2) push 16(R3) R3←1 pop 16(R3)
9. 10. 11. 12. 13. 14. 15.
R1←0 R2←0 push 16(R2) R2←4 pop 16(R2) pop 16(R2) pop 16(R1)
Transferoperation: Register R1 mit 1 belegen Transferoperation: Register R2 mit 2 belegen Transferoperation: Register R3 mit 4 belegen R1 auf den Stack legen R2 auf den Stack legen R3 auf den Stack legen Transferoperation: Register R3 mit 1 belegen R3 ist das oberste Stack-Element und wird mit diesem Befehl geholt Transferoperation: Register R1 mit 0 belegen Transferoperation: Register R2 mit 0 belegen R2 zum zweiten Mal auf den Stack legen Transferoperation: Register R2 mit 0 belegen R2 das erste Mal vom Stack holen R2 das zweite Mal vom Stack holen R1 vom Stack holen
! "#$ # % & ' ( !# ) * + , # !+ + # . # , ! # / 0 -( # 1 1 2 3# 4 ! + + + - # 1 4 + ( + ! + 2! 3 # ( ( # ! * 2 3# 5 6 * 7 ' # * + 8 ( # ! ( + ! 8+ ! -# 4 ! 1 # 1 4 - 2 %! 3 #
RAM (2)
R1 R2 R3 SP
(0000) 16 (0000) 16 (0004) 16 (FFFD)16
(0002) 16 (0001) 16 RAM (5)
Register des Scratchpads
pop_16(R3) R1 0 R2 0
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
(0000) 16 (0004) 16 (0004) 16 (FFFC)16
(0000) 16 (0002) 16 (0001) 16 RAM (6)
16 16
RAM (3)
push_16(R2) R2 4 R1 R2 R3 SP
16
R1 R2 R3 SP
(0001) 16 (0002) 16 (0001) 16 (FFFC)16
(0004) (0002) (0001)
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
16 16 16
RAM (4) pop_16(R2)
pop_16(R2)
pop_16(R1) R1 R2 R3 SP
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
1
(0000) 16 (0000) 16 (0004) 16 (FFFC)16
(0002) 16 (0001) 16 RAM (7)
R1 R2 R3 SP
(0001) 16 (0002) 16 (0004) 16 (FFFF) 16
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
Register des Scratchpads
RAM (1)
(0004) (0002) (0001)
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
R3
Register des Scratchpads
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
(0001) 16 (0002) 16 (0004) 16 (FFFC)16
Register des Scratchpads
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16
R1 R2 R3 SP
Register des Scratchpads
(0001) 16 (0002) 16 (0004) 16 (FFFF) 16
push_16(R1) push_16(R2) push_16(R3)
Register des Scratchpads
R1 R2 R3 SP
1 2 4
Register des Scratchpads
R1 R2 R3 SP (FFFF) 16
Register des Scratchpads
R1 R2 R3
(FFFA)16 (FFFB)16 (FFFC)16 (FFFD)16 (FFFE) 16 (FFFF) 16 RAM (8)
!" #! $ % #& ' " # !
5.1.2
Adressierungsarten
( )* " ' +! , " - . ! / ( )0 ! ! + $ •
+ " ! 1 # +
•
•
! " !
! # $ % & ' " &( )
* ! "
) * ! )+ &
, * % ! ' -
* '
.
# ! & $
)
*
$ / 0
1 "
% 2
" &( 3 4 " ! !
Implied Mode !
"
)
*
5
# 6
' $
6 %
#
8 7 ) .
$
( % *
Register Mode ! '
" &( & ) 99:* ! % " &( &
$
2 % ) %;
←%9
< %:*
Immediate Mode
! " # $ " ← %& # $ ! ' &
Direct-Addressing Mode
$ #( ) & ' * +) ! , ' - - $ ' .' / • 00% ½ 1' 23 #00%&½ • ← 4%% #4%%& " "5 $ ' #4%%& R6
memory R6
address (04FF)16
0 (17A4) 16
memory[(500)16 ]
(0500) 16 (0501) 16
R6
memory
address
(17A4) 16
(04FF)16 (0500) 16 (0501) 16
(17A4) 16
Register-Indirect Mode
$ ' " )$ ( ' " $ * $( #2& ' * $ ' )$ ), 6 ( " # & $ 2 ' " ( # ! & $ " ! &
' $ $ * ' $ 7 , ) ' !8)" # $ 9 & ' ' 2 ' !8)"
R6
R5 R6
(0500)
memory
address
(17A4) 16
(04FF)16 (0500) 16 (0501) 16
16
0
memory[R5]
R5 R6
memory
address
(17A4) 16
(04FF)16 (0500) 16 (0501) 16
(0500) 16 (17A4) 16
! R6
memory R5 R6
memory[(500)16 +R5]
address
(0001) 16 0 (17A4) 16 (4711) 16
(04FF)16 (0500) 16 (0501) 16
memory R5 R6
(0001) 16 (4711) 16 (17A4) 16 (4711) 16
address (04FF)16 (0500) 16 (0501) 16
"# # $ % # & ' ( ) * + , % # # # ! . ADD (A0)+, D3 . ADD -(A0), D3 / # / " ( . !
011 .! .+ !2 )++ --* $ int i, j = ++i, k = j++; Program-Counter-Relative-Addressing Mode
$ # 2(
.
3 .!
' ( 2( # # " "#
Indirect-Addressing Mode
! " # $! % & % ' " !( ' $ & ) ! " * + , & ( - memory[memory[address]] . $ address
( ' " " / R6
R6
memory[memory[(500)16 ]]
memory
address
(17A4) 16
(04FF)16 (0500) 16 (0501) 16
0
(0815) 16
(17A3) 16 (17A4) 16 (17A5) 16
5.1.3
R6
memory
address
(17A4) 16
(04FF)16 (0500) 16 (0501) 16
(0815) 16
(0815) 16
(17A3) 16 (17A4) 16 (17A5) 16
Architekturen
" ' (
0 '
& 1 , ' '
* ! ( 2 1 - 3 ( ( ( # ( " ' 45 ' ' , & (
! " #
$
% & $ !' %
( ! %)
% * ( & +
, $ %) % %-
# . ( & ' * ) * % ( / + # $ . & 0 * 1 ' *
$ & ,! & )*) # . $*) # . $*) & 0 $ ! #234 $ . )*)% 5 26 $
!
"
/ %
7 0 & + & :3 9 % $ $
5 0 & 5 ;
# 8 9 & #$
< = # . % + 9 & 3 : 5+ 5 < = 5 > , 9 < ,
%&
+ % & ) 9 ? & 9 ' < ? , %
7 $< # .
0
'
() ) '
* < % % & $ $*)
5.1.4
Parallelverarbeitung innerhalb eines Rechners
!
" # $ % & ' ($ ) * * + ,- .$/$ $ 0 $
!$ $ 1 2
Vektorverarbeitung
* $ $
3 4 !
5 6 7 8 7 $ $
9 ! 8 !15 ( 6 $ : $ +$- 0 $ 0
2 0$ +! !15 - ;
< !15 0
. $ Superskalare Verarbeitung
$ 0 2 ! = =$ 0
$ 2
$ 0 0
! > 0 0 $ $ ! ,
2 < 2
$ 2 < 7 $ 3 $ / 6 8 $( !/ + - * ? 7 .
2 7;$ $ ! ! $ $ $( ! $
6 8 $ 0$ 1 ! $ $;$
! " ! #$ % &$ % " " #$
' # ($) )
#$ *% ( + # ( #$ ) " Partiell sichtbare Anbindung: # ($) " ) #$ , # ( #$ % $ Transparente Anbindung: # ( #$ #$
% # ( #$ $) #$ " # ( Vollst¨ andig sichtbare Anbindung:
Instruction-Pipelining
+ % ) $ % & -
. /$ (
( , Æ + % % "0 & / % , &% %
.. Station 4: Motor & Elektrizitat
.. Station 3: Rader
.. Station 2: Turen und Sitze
Station 1: Karosserie
12' "0 % % 3
4 % ' " ( , $ , Aus dem Blickwinkel einer Person am Ende des Fließbandes: " ) , " , $
5 + Aus der Sicht des Autos:
, "
,
(
$ "
! " # $ % & ! " % ' ( " ) # "" # " * % + " ! , - . / 0! 1 2 3 & % 4 ..... .
...... .
...... .
...... .
...... .
...... .
! " # $
2 24 ! ! 5 " 6 7 .0% 1/ % * 8 % " " % % ! 9 : 6 !; : ) # % + 7 5 % # 6 # 7
+ 7 # . ! / 9 : 8 8 9 6 ! < 7 943 = " > ! % - " : ? #
....... ...........
! " #
!
$% & ' ( "
) $* $* (
$% $+ ! $* & # '
,
( $- ( . $/ ( 0 1 2 3 ( 0 .
4 ! ) ( ( 5( 0 6 # 3 ( ( $ !
( 37 ) # 8 9 ( Æ :
;7 6 " 6 1 ( ; . Processor
Main Memory
Processor
Instruction memory
Data memory
(1) Von-Neumann-Architektur
(2) Harvard-Architektur
# </ ) ! #
! &$%( $- $/'
! " # $ % " &"'("
! " ! ) *+" , • - . / 0
)1 " 0 2 ! 3 . % ("
• - # 4 .
0 " 5 5 " ! ) "
• 6
% ( "
! 2 ! 7 3
0 % ( 8 " 5 % 6 (
89 6 :" / ; " ! * 0 " ! 0 * " # $ , • # < ; <
" ! 2 * " 6 " ! "
• ! )
< " # $ = 0 3 2 " !
1 " ! " ! "
• *
" ! < ! ) " ! % . ?( ; > " ! - " ! = . " # 2 " ! 6 # 8+= "
•
!"# $
5.1.5
CISC versus RISC
% & ' $ ( )***+ , - . $ / , . 0 0 ( + " .
1 $ % 2 & 3 ' 3 ' 4 • •
$ ( )** 5**+ 0 6 % , $ 0 ' $
' ' 70 ( 8 70 0 $ $
4 +
•
• • • •
70
$ . ' 0 8 70 $ % -
" ( 81 + 07 $
7 . $ 9 $ : Æ ; & $ $ < 7 % < ' 7 ; 0 - ' 07
( +
• !" " # " $ % & ' ( )** + " , - . * '/ % 0 . 123 • 4 . . 56 "5 " 7 " 8 ( 56 "9"6 ", , : 6 $/ ( 4 ; 6 56 " 6 "6 " 4 ' ( ' 6 56 "< : SPARC-Architektur: (5" 8 / . . 56 " . ; & + (0 5 . . $ MIPS-Architektur: ' . . ( ; & ( )*+ 8 56 " "6 " . ( , 56 " "6 " 7 ' , !" " " 6 # 6 "6 " = ( 56 " ( - ( 56 "' 4 6 4 : & " . 6 + •
5.2
Speicher
6 ( $ ( ' > ? 0 . % . 5 $ ; ? ; . @!
!
" # $ # % & ' # (
) # $) ) # # # $ *++ &*++ , ) - *++ · *+− $)' " % # ./ # # ./+ $) 0+ #!1
# ) 2 $ 3
3 $ $ 4 $ &$5' &5' # 6 4 ,5 3
$ 3 4 # 7 2 3
7 8 ) (
$ ) 93 : " % ) ) 8 3 $
; • )
$ • < = • )
4 $ 4 />*
5.2.1
Interleaved Memory
4 ? $ % # @
$ # & ' #) " / *A #3) >B 3 # ) # = 3 ) )
$ )
3 ( $ ( @ 3
) & +' 3
$ & >C' $ 0 )
Data Bus
(0000) 16 RAM (0004) 16 (0008) 16
(0001) 16 RAM (0005) 16 (0009) 16
...
...
(0002) 16 RAM (0006) 16 (000A)16 ...
(0003) 16 RAM (0007) 16 (000B)16 ...
Address Bus Control Bus
Data Bus
(0001) 16 RAM (0003) 16 (0005) 16 ... ms Address Lines 0...n
Line n Address Bus
(0000) 16 RAM (0002) 16 (0004) 16 ... ms
&
&
... Line 0
1
memory select
! " #$ % & ' ( ) & ($ * + & ) *& * + & ! , - + ($. & % * ! + + . / & 0 % ' '& ' " 0. 1 * ! + & * ($$ + ** %$ %$ ($. ! " ($$ ' ($ $ ,& + % ' $ '*
5.2.2
Caches ! # ! " # $ % # $ & ' ! $ ( " ! # # * % ) # # #
" #
! " #$ % & ' ()* + , . -/ + 0 ! 1 $ - & & # % # % 2 $ ! '3 # % $ -"3 & & 4 56 7( & #3!% -"3 * 8 · 9 #: − % · " "3 $ '3 $ "3 # % $ 3! "3 ! '3 , $ . ;
1< = & > > =
1 , 1 $ 1 $ = $ (7 $ -0 3 ! 2 !
Address Bus Cache Processor
Comparator
Miss
Logic
Main-RAM
Hit Tag-RAM
Data-RAM
Data Bus
! " # $ % ! & '() * +$ , % # + ! % - * &+!
& $ , . % , - ,
!
$ & &, & + / + , 0, & , & + & &! 1 & % 23 , + (4711) 16 Tags
Address
(17AL)16
00, 20, 32, FF, AF, FE, BC, CC
(17AH)16
AF, 00, F3, 4E, 15, 6F, DE, D1
(471L) 16
9B, C5, ...
(081L) 16
0F, ...
Hit, Miss
Data
Data
(C5) 16
23 ( & $ % ! 4 & 15 3 6 '70) - ! 15 8 9 '- :-) ';622)½ , !, 1 ';62)½ % " # $ ';623) ';626) ! ' ), + % # , & 0 1 ';62) !
½
!"
&" !" !"$ ' !" (!" '
#½
# !" $ % " "
)!" '
%*+,
& (!" !" !" $'
- !"
LRU:
/ $ ,"
0
LFU:
1
RANDOM:
.
!"
"
' !$ '
!"
- '
!" 0
' $
/" !" , " !" ( !"
0' )!" !" $
" '
'
/ + )!" " * !" )!"* !" % & "' (
%"
!"
2*+, " "'
"
$ 3 4
!" !"
(
!" 4 !"
(FF00) 16 (0100) 16 (CC)16 (00) 16 (01) 16 (02) 16 (03) 16
(0000) 16
(01) 16 (CC)16 (47) 16 (47) 16 (47) 16
(FF00) 16
(FF)16 (B6)16 fixed
Tags
Data
Main Memory
Cache Memory
3. )!" !
/ 5 " 1 !" 6
!" 6
(!"
!" !" )!" " 7 2 (!" "
"
% !" &'
$'
' !"
% " " ,"
!"
- -' & % -"
- 4
1 & '
!" !"
4
'
(!"
!" '
8
*)!"
(00) 16
Way 1 (00) 16
LRU
Way 2 (00) 16 (E8)16
(01) 16 (02) 16
(47) 16 (47) 16
(03) 16
(47) 16
(01) 16 (48) 16 (02) 16 (48) 16 (03) 16 (59) 16
(FF)16
(B6)16
(FF)16 (3C)16
! ! " ! # $% & '"! % ! & (!
) ""! ! ! * ! ! ) ! ! + ! !% ! #! , $!"!$+ ! ' ! " ! ! $ '- +$!
! ./ ($ ! ! ! "! "! !% ! &! ! '!"!! $ ! ! ! (% ! !% ! + 0!+! # + % ) ""! ! % ! "! 1 !!2 ! 3!+ ! ' 3! !% ) "! 4 " % ! & ! !+$ % !! 0! ! ) ""! 5 67 ! 3! ! 4 ! +% '!"! ! 3! ! # ! % % ! $ & ! '!!$ & 8" ! '! $
+$! # 9 ! ! 8 + ! ! ! ! % #!$ ) ""! !!! ! 5 7 ! + !! 0!! + !+ ! * ! $ ( ! 8 + 3! ! 8" 5 $ ! '!"! 7 ! & 3!+ ! ! ! (! % "! 50:!"! ! 7 ! ($ ! ! 0!! ! ! ! ! 0!! +!+ ! % ! ":! ) ""! $!! + ( $ ! ! ;! * % !! '!"! ! + !+ ! 0:! ! ) ""! $!! ! % ! 0!! ! ! #$ !+ ; * ! 0!! + ! 9! 5 % <7 8" ! !% ) ! ! !! ! 0! / ! ! 5 !! ! ! !7 ! 0!! " !! $ !: "!!! ! ' 4 0 !$ " $ $ = !$ ,-" (! > &- 6 8&- ?+ ! 5! " ! #
Processor 1
Main Memory
Cache 1
Processor 2 Cache 2
Processor
Instruction Cache
Main Memory
Data Cache
! "# $
5.2.3
Direct Memory Access (DMA)
! ! $ % " # &# # ' &# ! () *
+ ! ! , * - ! " ! "
% ! * & # ./. % %
! Main Memory
DMA I/OController Device 1
I/ODevice 2
I/ODevice n
Data-, Address- & Control Bus
Processor
./.0 1 %
234( ( ! 0 / & 5
!$ !
&#
6 & ! ! +
! & ( 7 8 " # 2
234( % 9 * 0 / () % ! *
! & *
# 9 % : ; 1 6 ) & * ! 1
*
! "!# $ % " & 5.2.4
Controller und Co-Prozessoren
' %" # ()% " ()%" * + , - %." / * # / $ 0 # - 1 * . " %' + + " 2 '
3 " #
$ 0 2 + - 454. 6 " # + , % #
$ "
Externspeicher:
" # ' % + %" # ' ' , ' # # 6 - . '% ' ! ' - . ' ! / ' " # % ! + 7 /
Graphik I/O:
/ " " # %3 - % #. " % % " #70 - ! " . ' '
Serial I/O:
* 3 # % -"" . "
Netzwerke:
6
! "
# !
Graphik-Co-Prozessoren: $ # % & ! ' ( "
Signalprozessoren: ) * ) + ,! - $ !
#. . * / 0 1 % & 2 ,! 3 ! # !* $ 2 (
* ,
. (
! *
* 456
" %*7 *5 *8& $ - $ ' ! $ ' % 9 : -& " ;
"
<! % & <! % & % & 3
*
,*$ ! ;= *
! 0 ,($ ! ,
+
;= ,*$ ,($ * /
;= " % - *! *
4>>& "
9 ?
"
% &
# ! 2 * !
$ ' * 9 - ! * " * *
- @ • %$& • • , ! 0 * 456 0
) ! #. Mathematik-Co-Prozessoren:
!"
# $ % &' # ( ) *( + ( ) , - + Eingangs− Verstärker
Sensor
technischer Prozeß
Ausgangs− Verstärker
Signalprozessor CPU analoger MUX
A0 A1 A2 A3 A4 A5 A6 A7
S&H
DAC
ADC
RAM
ROM
DAC
./01
Multimediaprozessoren:
,
- 2 ) 3 ) , * ,
% , & $ 4 5 2 % , 6 2 # 7, 8 9::9' ; 2 < $- ' % , , =4 > & ;, )! =
5.2.5
Interconnection
)* $ ', > , 6 * 1 Paralleler Bus: 8 ! 4 4 ? ?
Serieller Bus:
! " # $ %# & '( ) * '( + , EISA: $ % - .* /0 1 $ 2!- % MICROCHANNEL: . +!3 /0
.*! - . + 4 5 Local Bus: /0! 2! 6 5* $ % ! .* .*! 2 7 2.! PCI: & $ % 5 1 * 2 SCSI $ % !
* ) 2 $ + !
% PCMCIA: & ! $ %
4 & 7 ) * 2 ! 8
$ % & & '( & 9 :
/0! * ISA:
& 5
6 - & 8 * " $ % 2 2 5.3
Periphere Ger¨ ate
+
6 *
; - 2 6 7 # ; + & . 6 1
& *
7 $ 4%
5.3.1
Externspeicher
! " # $ %
& % &
' ( )% ! * +", - ./( Magnetische Speicher
0 1& 2 & 0 0 -
3 4 )% " % 5 & 0 & 6 # 4 3
7 & $ 5 1&
0 Aufzeichnungsverfahren bei magnetischen Speichern
* 6 3 8 4 2 & 3
7 & & 8 2 0 1 3
2
3 # - &
' 3 Schreib- Lesekopf
1111111111 0000000000
Magnetschicht mit Magnetisierungsrichtungen Trägermaterial
Lesespannung
0
.9( 3
Speicherparameter
! " •
# $ % # & '( )(
•
* + # * ,
•
& ) # ( % -. ( % ( +
Magnetbandspeicher
* / ( # 0 # 1-2 # 34. * &5)
, ,
# 6 , # 0 / 7 # ( 8 * + 9 # # #
( : ; % '( ; ( 322 322.222 ' p ppp pppp
pp pp pp pp p p
p p p ppp p p p
p p p pp
p ppp pppp
% -3<" 8 % # * &
) 6 &
)( # & ) %
& ) ( ; ' &= ) 3 ! > # ! ; ( * !
% # ' & ( ,?)) ; ( :> ( 5 : A & , .22.) ??, @ /
0 ??! &! ( ?) )
Frame n
Frame n+1
Bewegungsrichtung
Track 9 Track 8 Track 7 Track 6 Track 5 Track 4 Track 3 Track 2 Track 1 Schreib-
Leseköpfe
Querprüfzeichen (VRC) 9 8
2 1
01
01
Frame
Längsprüfzeichen (LRC)
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 01 1 01 1 0 1
Prüfzeichen CRC
! "# $ % && $ ' ()*%& $ ! " + , $ & ) ) # & ! -%& . "# % % , # / 01 2 % % % D A T ! 3" & & &$ / - 4 5 % &
!"#$" " %" Magnetplattenspeicher
&
' #
( ) * - ( # + ) !" , ) .
! # " - !" . ' + !"
Zylinder
Schreib- Leseköpfe Achse
Achse
Sektor Bewegungsarm
Schreib- Lesekopf (1)
(2)
/001 ' " " 23* ' " 20* " 4 !
! # " ) 6 ( ) 5
" ( )
& !" &
! !7
2 * 8 %
# ! 2 9 !" : ! * 8 . "
!
# ! 9 2 * " # 8 . ' "
'
' "
:
)
! " # $ % $ & R L ' T ()* # + , - . / 0 1 - . 2 3 & , , ! 4 5678 9 56:8 0 , & * 2 3 ! ; < = 0 " ! ! - . > " Disketten
# & ? * @ ! , A ; B ! @ " - . C . ! 9 56: - ?
! , # A C ! 5D A% # = E # ! , @ @, ' B(2, ! CD-ROM-Speicher
A F 5GHG ' # B ! 0 I 554 57 3 C ! DJ , 0 ' 5D % ! H7 , # ; C G ' ! @! C B(2, & ! * ! 5:J # B(2, 5: 0 ' 0
!! " # $ % & '$( µ ! )
'*+, - . / !! '$+ µ 0 ,$1 µ - $ ( µ 2 ! 3 ,$' µ # 4 ! "! 2 ! " $ 2 # ! #!!
1(5 ! Reaktive Aluminium− oberfläche
Vertiefungshöhe
Polycarbonat
11111111111111111111 00000000000000000000 über 1mm Durchmesser Laserstrahl Land
Unterseite
Pit
#!!
1(56 # $ ! 2 " $ 7 7 ! 7 - ',− # 8 $ ! ! $ $ ! - ! 9++, ! ! : ; !
7 " $ " 9++, - 2 - -: - 2 8 $ ! 4 2 0 4 - 2 $ ! 2 $ 4 $
!
"
! # $! % ! & ! '(( %) * + " !
# , &# # Digital Versatile Disk (DVD)
" - - , , # , " " &
, # . /
/ /) #! " ! , ! , " & , % ! * ! !
/ 0 ! (1 * )0! 2
/) ,
, !
, 34
"" + ) 5# 6 56 " 7 & "" 560
%* $7, "
" %* $7 ,," , ,) # % # !
, ! #
6 , 8 ! / *% 91
:' 5.3.2
Dialogger¨ ate
- ; & % ! .
%%2 #
& & % % # ,
%
2
$! 2 Tastatur
! 0 # 04 . , & 0 ! # " , # 04 0 # # , ! ! !
! 0 & ! 0 & # 0
6 # !
Touchscreen
! " # $ % &## ' ( # ' ) Infrarot Sender
Bildschirm (Screen) Bleistift
Infrarot Empfänger
*+,- & Joystick
## . / ' $ . ' ( 01 . ) $ 2 ' ) " $ #! . $ ( ' . ## # 3 01 ( 01 01 ' #' / 1 ' )' # ' 3 01 . 4 # . 4 ) 01 ) 01 . ' 4 ( Maus
4 $ $ ' ## ' $ 4 ' / ' 5 ) # 6 3 7 7 & $ $
! " # $$ % & ' (& % ) " * + " ,) (. ) / '&
' / 0/ 01/2 + . 3 ) 04& 5 -(6 '014 ('2-' 4 ('-' ' ' &" 1', 72 8) % 1%2 ', 5 % " ', " 9 8,' 1 8 & '2 : & 7 " ; Mausgehause LE
D
CMOS−Sensor
t
ch
Li
Untergrund
7 : & Digitizer
" # %" ) + 1! 2 , <) < 1 2 * #"& ' &) + & &) = ' 6 1 .2 , # !5& ) " & •
#" " % +
•
> ) ) () "
•
" " ( 3 ?- + )
hand held puck codierte Signale für die y-Richtung
Tablett codierte Signale für die x-Richtung Signale zum Decoder
Belegleser
! " # ! " $!" % & ' !( $ ! )% *+," *+,") *+, - . *+," "$
/ *+," "$
. ! & % ! 0" " 1! ! ! . %3 . ! . # 2 !! $
4 ! 5 67/ !! +8+""$ 9 . ) ' !( ) %! . ! E% An!! ' :( ! $ *+,")"$ & ! & ! $%! Scanner
! ! ! ! -;" )!" & &% < = & % $ #!% 4 ! = >/ ) % & . . < =!
! " ! # $ % & ! Bildschirme (Displays)
' ( ) #$ '$ $ * $ C R T + '$ $ #$ & * +! $ '$ $$, ! - . $$ ' /$ $ $$ )$ ) 0 $ 1 #$ % $ $ $ $ 0 $$3 2 * # $ 45 0 67+
pp p ...p..p. ...p..p p ......pp .....pp ......p ppp . p . . . p .. p.p.p..p..p.... ppp ..p.p... ...p..p .....p.p .....p p ....p..pp p . . . . pp.p..p........ppppp p..p.p..p..... p pp.p..p...
pp p pp pp p p p pp p p pp p p p p p p p p p pp p p pp p p p pp p p p p p p p p p p pp
8$$ ! 9 $
# $$ & ! $ $ $! ! & $ $ $ $ % 0 ! $ )$
)$ :5;< ), #$
$ $$ $ ! $ % $ % = ,
#$ ! > : 7 $ % $ Liquid Crystal Displays
- * $ L C D + ! ) ?$ $ & ) $?-$ $ & ' ?$ '@ -$ $$ ' ! # $ $ A $ ! $$ % $! -$ , B % -$ $$ C! D E $$ $ $ - $ , ' & E $$ $ & ! , &F $ 0 % & $$ $$ * # A " +! "
& > $$ $$ )$
t
!
"# $ %&' ( ) ) *+"# ' ++ '!, + $ ) * "# - #
. # "# # # /
*
'+0 $% 1 % ' / 2!
# &
# / "# ' 3 #
0"# #/ / . / 45 × 56 '!, 56 1 '# "# - 3 /# "#"# 7+1
TFT-Bildschirm ' +#+ '!,
++ "# / &8 ,
++ "# $% "# "# # 7 &
# ' # ! + ' + "# $ / 9 "#
"# ' ' ! "## / ! &"# ' : $ 2 / &"# / "# . &"# # # $ "# &' "# / ; &"# / % "# 1 ' < + / &"# # # ! "# &"# # "# $ "# ; 9 = ; "# $ ; 0 % &"# # "# # 7
"# $% # $ ;
; /
Drucker "# 2 !# "# + !/ ' ' " !/ ! 3
" #
! " # !$
! % ! & ' "
( ! ) *! + ,-
) . * /!0 ! * 1 2 ! 344 + 5 60 ! 244 ! 3244 7 & ' 6
! % , Plotter
6 ! 8 + +! ! ! &
' 5
! + 1 6! ! 9 ! + : ( ") + ! + ! 60 ; !)
6 " ! ! 6 ! ! <
! +! 6 9 + 7 <
) ! 60 ! 6 ! 5.4
USB und FireWire
8 ,
, = 6 6 =
!
! 6 7 > ? + ( ?+(+ ( 6 ; 5 5 + ! ! ! + ! 6 +!
! <
! 1 "! *! 6 ! ( 1 = ! ! ?+((
# ! # ! ! + ; 1 "
! "# $ % ! # & ' $ ($ ) & ! * # + !! !# ! & ' ,- & . # # / 0! ! 1 $ 2 & ! , # 0 ! 2 3 4 4 !& # " & ### # $ 5 6 $ "# 7 $ 2& ! ! . ! # 5 8 9 ! & : ! # ; ! * # ! & # $ ! " # $ 5 *! & ) # " ! * # ! 2 < . # 9 # 0 & # $ ! / & ! . #
=#(>8 / ! .
! " #
$ %&%
' " $ (% )*
' + # , "
, $
+" !
!
-.
Geschwindigkeitsklasse
Applikation
/"
-# )# 1 2
(0 (00 * )
-!#
300 (0000 *
" #
#
4# #
5
1" #
%3 300)*
! # 4"
/
42 #
1
- 3&. +"
" +" 6 # " ! 5 7
,,, (&89 " " +" . (#3
)* /") (% )* 7) /") " " )# - " "# " ! 6 1 :,)1; :
;
< + " # !
. ' (%> ? :% "
"
− (;
" =
2 + "
" # " )!$
:
"
# =
;
<
+ 7 1 " 5# 5 + " 6 ' / $ 3 " 6 !
! /
5.4.1
USB-Daten¨ ubertragung
" # (88& 7 @ " " 4 1 # 6@ $ 1 # , ! # " 4 2 = + / , @
!
" # , ! A'
$ B " @ + !
! C" D +
/ " 5 $ , 5 "
,
$ + !
! " #
•
$ % %
&
" '
•
( " ' ) * + % %
) ,*
•
& % (
+
%
&
•
' - - %
.
-
/
+
& &
- ( -
&
0
- / 1
2 / 3. 4 #
Control-Transfer
& - %& 4 1
2 &
5 '6 % )
7 '
(
Interrupt-Tranfer
-
%
%
& -
%
& %
5 %
5
% 4 12
. - %
" & 4 &
Bulk-Transfer
- $ %
4
&
Isochronouos-Transfer
&
- 4
& % 4 - 8 &
9 % &
&
!
& '
"& 4 & 4 &
:
Fehlererkennung
! " # $ % #$ & & % '$ ( ! % ) %! ! % % & #$ ! & * $# + )
$ + & ) $ & ) % ) $ , #! ) $ & + & ) $ ! ! % ) + - .. &! % % + / & ! ! $ # & 0 & ! % 12 $ '$ & 3 #
$ )$#! (# #$ # ! & ) $ % #$ & # %! 4& # 5 $ ) ) & '$3 ) $ 6 1 7 8 5 # )$# # $ & # $ (9 #$ ! & 5 % )$# # 3 $! % '$ ($ +%! ) 5.4.2
USB-Hardware-Architektur
9 $ $ :% ! $ (!
! ! " ! # !$! %& '() *( − '+ # , !$! - . % USB-Hub
/% %! & #%0 & % . & 1! % . ! & ( 2 %% 3 & % 4 & 3 0 & 5!0" % ! & * + # & * + " ! 6 4 & ! % "& !3 2 0 % ! 4 7 . ! *
+ ! 4 ! & 0 ! . & 5 0 Hot-Plug-and-Play-Mode
" 331 & & 1!& 8 & % 9 1! 4 & :
USB Host-Controller-Treiber
! ! ! " ! ! # " ! ! ! $ % ! ! & " ! ! '! ( ) ! * ! ! '! ( + ! ! % ! ( ,! ( -. & * %! 5.4.3
USB Kommunikation
- /%0 * 1& ! % +!! 2* & & ! % -+ ! 34+* &! 35+! & 1& 3 * ( & 4 !! & Signal-Pegel und Slew-Rate-Begrenzung
D D− & 6 * ! * & D +!! (* & 4 " D− ! ( 78! ! ! %!. / 0 & 9%4 : *
D D− U , V
V
... ... . . ... ... . . ... ... . . ... ... . . .. . ....... . ...... .. . ......... .......... .. ... ... . . ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ......... ..... ..... ..... ..... ... ... . . . ... .. . ... ... . . ... ... . . ... ...
ppp pp pp
½¾
½
∼ $ %
,
#
qqq qqq q q qq qqq qq qqq qqq qqqq qqq qqqq qqq qq qqq qq qqq qq qqq qqq qqqqq qq q qqqqqqq qq qqq qq qq qqq qqqq qq qqq q qq q qq qq qqqq D− qqqq qqqqq qq qqq q q q ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .q.... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ........q..... ..... ..... . .
D
... . ... . ... . . ............ ....... .. ..
... . ... . ... . ... ............. ... ..... .
ppppppppppp
t
!,"#
& ' '(
U , V
V
... ... . . ... ... . . ... ... . . ... ... . . . ... ....... ... . ........... .......... ... ... ...... . . ... ... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ... ... ... ... . . ... ... . . ... ... . . ... ... . .
$ ,,,,,,# , ∼
p ppp ppp
qqq qqq qq qqq qqq qqq qq qqq qqqq qqq qqq qqq qq qqq qqq qqq qqq qqq qq q qqqq qqqq q qqq qqqq qq qq qqq qqqqq qq qqq qq qq qq qq q qqq D− qqqqq qqqqq qq qq qq q ..... ..... ..... ..... ..... ..... ..... .q.... ..... ..... ..... ..q... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...q..... ..... ..... .....q........ ..... ..... ppppppppppp . .
D
... . ... . ... . . ............. . . . . ... .. . ..
... . ... . ... . .. . .................. .. ..
t
)*' . . . +# & ' ,( - #. D D− / ## 0. 1#0. 2#0. # 3 . # / #1 & 4# 5 # 61 #. #1 & 0. 51 # )# 2. 1 #. 0. 78 0. : #0.19 2 );<%*+ . + 7 97 &## & #0. !# "# 7 #0. *' # # Connect- und Disconnect-Erkennung
3. ## / 5 # 8 4 =#0. . #/ 0. . # # # > # 1 / - 7 #01 # # >0 #00 1 1#0. #(
D D− !"#$ % !&" ' ()*) # + "&$ D ' * ' "&$ D− ' % # , "-. % / -0 + "& ' "&$ ...........
D
... ... ... .. . ... ... ... . . .. ... . . ... .... ... ... ... ..
r
D−
r
D
r
D−
FS USB Transceiver
1 )23 / -0 + "&$ ...........
D
D−
... ... ... .. . ... ... ... . . .. ... . . ... .... ... ... ... ..
r r
D
r
D−
FS USB Transceiver
1 )43 / -0 ' "&$ / -0 % % 3 -. D D− 5 !"#$ -. * ,. ' % & 6 % . + "&$ -. * & % D ' 5$ "& -. 7* µ 5$ % D ' / -0 %. 0 - !"#$ $-. . % / - 0 ' "&$ 0&-. -. - -0 $. ' " % , - . . 7* µ "& *
Buszust¨ ande ! " # D $ %& D− $ " & # ' " & % ()*)% + , "
, -D − D− . > /mV
" , -D− − D . > /mV
Low-Level-Datencodierung * ()*
& ( + *
-)
# 0.
( + +
) *)" 1 234# " 5 * + 234# 23 4 #& #
& & 6 234# 7
* 7
& + ' + * % + + 8 ' 7
7 $ $% -7$$. 9 *
* + & 234# * )
4 + * % ' )9 & & & 234# *)" & *)" & *)" 2 234# 7
%
+
234# * " + % 2 * " ) *)"2 )
2+ + : * + : *)Æ
;<=, *)Æ
Stromversorgung ¨ uber das Buskabel
! ! " ## $ ! % % " # $ '( ) * + , -# . -/ . ' D D− $ * 0 Leitung
- . D− - . D - . 3 -,. VCC
Pin-Nummer am Stecker
Adern-Farbe
&
1 2 )
0 )+ $ - )&. ' 2 4 - . $ ' ' 1% $ 5.4.4
FireWire
56 , 5 4 4777 &28)% , 3 9 :4 % ' $ 7 6 56 ( ; % 5 " 1##) ; 6 56 ; $ *9 - $*. 56 4777 <#1&2 6 $ 3 -6 $3. 9 9 Firewire Busstruktur
, =2 > -1 − &. % ? - . 56 4777&28) ?  % =### $ )%% @1 56 4777&28) ( ; % ( # $ ' -'. 56
Entwicklung
! " #$$# %"& '((( )*+, -$$. )!$$ *#$$ #$$* -$$ +/ "
"
" -$$ 01 2 )$$ & -)$ " " '0 / & . - & )$ 3 // & . " . )$ 4 "& 5 & . "
4 " 6 " . 3 // " & 7 & 7 8 9 % ( & 8 " . " "& 5 &
"& 4 " & " : " #;< & ¨ Ubertragungsrate
6 : & 5 & 01 5" " *),;.=#- 01 Einsatzgebiete
( . / " 3" 3. " 7 " 2 0 / "
. / / 8'% Hauptmerkmale
/ '((( " . . . IEEE 1394a
• )$$. #$$ ,$$ 01 "
•
& " "
" 45" • ( & /
"
- ,$ "/
2 ).; 7 • ( 7 " & >5? –
92 ! >, 7 & &. # & ? – , >, 7 & ? • 7" @ & "
• • • • •
!! "# $ %&' − ( ) * # (!&'½¼ − ( # # ) + ,+ -
IEEE 1394b • • • • • •
•
" + . (&/ 0 1 2!! "# $ + (-%!! &-!! "# $ / 3 4 0 . 5 #
#644 # 6 + $ 4+. $ 4 4 4 + 0+ (&/ . 3 - #- 7 8 5 7859
(!! : * ) 4 0 . 3 3.
-
Weiterf¨ uhrende Literatur
;- # - 4+ < (// ,-=- #- >+ 4 5 . "? 740 (/2! 8- @ ;- = - 4+ < # (// 3- = - 4+ < # (/2A "- "- "- 5
; > B (/22 <- "- " .
- >+ 4 5 . "? 740 (/2/ - 4 "- 4- 0 C? 740 (/2A - ;- 4 -- - 0D 4+ < C E F !!( ;- 4- 4- ! 0 C? 740 (/2A 0- 4- 8- " 5
; > B (///!!! ;-,- 3 ; -- #$ # $ @ < (/// G4#EE- &AA&A/%(
Internetverweise •
Netzwerke
!" # $ " $ % & '( &( ) " * + ! ! , - + , *
". ' ! . . # /0
- " * 1 * * # * / " , " 2 ! .* * 1 $ " ! / 1 3 ' ! ! '3 ,
4 , . / " 2 " 5 + " 6. , 7* + ! / - & - 8 ! (9 : - " # - ; ! * , / - 3 " 0 * & ( 9
# % ! ' & $ -)": /< ( $ " % 4 = " / ! !: ' !: &A D S L ( !: &S D S L ( & ." ' >!: ( ! 4 ? 2 ? $ 4 9
! " # $ % & $' ' " (% & ) !
* ( ) + , - . /) # ) 0 ) 1 " ) ( # ) 2 3 - . . ) 4 0 $ 5 / & 4
6 Aufbau
! " # $ " ! %
# & ' " " ! ( # ( # ) )
# ( & # * +, + % - & .
, # / - ' - !
0 , ) 1 , ! ! " - +, + # , !
" ! & , ! " , , ( 2
+, + % # 6.1
Netzwerktypen
* " 3 4 ! " # $ • L
A N ! 5 ! ## ' 4 !
A N ! " 67 ! ##
• M
! '8 " 5777 ! ## 9
• W A N
# * & .
3
3 ! : ! : ) " & ! .
" # ! # 9 ! 9 3 + ; < 3 # =#5 & ) #
Host Host
Host
IMP IMP IMP IMP IMP IMP IMP
Host
IMP
Host Host
6.2
Circuit- und Packet-Switching
! ! ! " ! ! ! #! $ % &! ! ! ! ' ( ! ! !" ! %" ) ! *! + , - !!! ! % ./ 0 " ! $ 1 (! ) ! !" ! ! #! * + # ! + ! & ! 3 - !!! ! *2 ' 4 5 !!6! &
&! ! $ 27 ,! . 8 #! 9 + !: % 9 % ! !! ! ) ,! %* 0# 0#. 5 ;! 3 - !!! ! 0# #! ! ! " ,
. - ! ! % #!< ! !7 ! $! #! !! = ! % 0 " ! - ! % ! 0#/ 1 0# ! ! ! - ! & -
% #! % 0# ! - ! 0# *3 0#+ ! !" #! , 2!. !" = > ! 7 &! ! ! ! ? ! ! '
Point-to-Point Subnets:
! " #$ &$ '( ! ) $ $ ! % &!! * + , * -* . /
Broadcast Subnets:
! , $ 0 * '! - / 1 $ ! * - / '' 2 * -F 3 4'D M/ $ -T!'D M/ . * 5 6 ) ! ) % 7 8 -9::9/ %
% % . ! '#$ $ ; # 1 # ! ! !' - / ! -! $ ! / $ #' $ ! . 5 ! '#$ 5 , ! ! $ $ #$ ' $ $
6.3
Standardisierung
.$ $ ! ! $' .$ , - ' / ! ! ! $ ( . ! $ % ! #$ ( ! 2 ! ! < ! ' % $ $ < ! ! ; ' 2!! $ $' $ 0! ! "
# "" $% ""$ % &' ( -I T !! U/ .! + 2' !!' $ ' . * 22'.! )*+, - .+/+ ' #$ - !/ $ ' $ * $ #$ - / ! '< ! -$ */ = 4! !! ! + #$ ! - 0>/ = 6 ! ( " % * >
! " # $ % &'() I O
$ S * &(+ , - .
/ )!&. *# 0 1 *# ! 2++ / T C 3 1$ - /'4 $ % * $ ! 5 / Sc W G % ! 6 ) 2& # 7! 0 *# # *// Æ 8 ! 0 9 $ 1 % 1 , 3 ! 0 : $ $ 1 ! " ;0 <
$ ! 0 9
3 1 = 5 ! " 6 *# =$ , #* > O S7 I
! *# # ! . I $ E E E ? $ 9 $ $ $ % " $! 0
*""" @+2 A1 6
*# ! 18 $ ; < $ .
# #$
" # # $
/ )!2. *
!
Weiterf¨ uhrende Literatur
!!
Internetverweise • • • • • • • •
"### $
%&''( " $
%&''( $
%&'' ( ) )()'* '+, ! $
%&''( ', !', ! $ $
%&''-% ( ' ( ' %$%',!+ $
%&''% (. ( '( (' ' $
%&''$ /( '/( %0/( /1 23 $
%&'' ( ' 0 1 & 32+!4 %15)6(
7 Architekturen
! " ! # $% n &! ! " ' (! ) '
$% n # * , $% n-. + (! n-
!! /0 !! + , "' $% n-1 # ! 2#. !! " $%# Layer 3 Protokoll
Layer 3
Layer 3
Layer 3/2 Interface
Layer 3/2 Interface Layer 2 Protokoll
Layer 2
Layer 2
Layer 2/1 Interface
Layer 2/1 Interface Layer 1 Protokoll
Layer 1
Layer 1 Übertragungsmedium
! 2#.3 !! " !! 4 0 5! 6 ! '!! !, ) ! $% n !! +$% n $% n / 7!! n 8.# ! 0 9 !! %! * # & : ! $% n0 !! ! /! ' / ! '! 5 ! $% n−. # '! $% n−. !! ! ! !! &# +"!, ! !;! $% . # * $% . / ' $% n + , # : ! ' ! /! ! "!! " ' & <0 + $,3 : / 0 + , ' = 5 ! ' > ! ? !# / ! " ! %! "' 0 9 ! $% 1# * ; & :! 9 07 $% . # 5 /! 7 ! " #$ ! !!
! " # $ % &
' ( )* +
, & - .
/ # ! " & ,
% 0 $
$ ! & 1 2/
$ 3 " $ $ &
0 & $ % " ! )
& $ 4 " 5$ ( )5 ) 8 6 7 5 0! & # & 3
4 / ! / & #
' ! $ $ 9
!: ! $ & $ $ ! n
n
3
' 2 ; . !
$ /
&
) n < & /
n n
8 $ ( / ' 0 / n−+
7.1
OSI Reference Model
3 % $ $ %
) *! ) $ /
5 % = +>?@ 307 3 0 O! S I A %$ % )
B = 0 (
C Application Layer
7
Application Layer Protokoll
7
Presentation Layer
6
Presentation Layer Protokoll
6
Session Layer
5
Session Layer Protokoll
5
Transport Layer
4
Transport Layer Protokoll
4
Network Layer
3
Data Link Layer Physical Layer
2 1
Network Layer Protokoll Data Link Layer Protokoll Physical Layer Protokoll
3
Network
2
Data Link
1
Pysical
Anwendungen
3 2 1
Network Layer Protokoll Data Link Layer Protokoll Physical Layer Protokoll
3 2 1
Subnet (nur für WANs nötig) Übertragungsmedium HOST A (Sender)
IMP A
IMP B
Betriebssystem (Software)
HOST B (Empfänger)
% C; 703 8 (
*! ) $
Betriebssystem (Hardware)
! " #$ %& $ ! ! '$ % & ( ) * ) '$
+ ,- .) / 0 ) 1 #) '$ # $ (
,# & ( $ $ % %& # ( $ 2) ! ) ) ) +#1 " + .
3 31 ) ) " ) #) " % $ % ) ) ' $ $ ) 2 4 !) ( $ ) 4 !) # !) ( 4 2 /$ " 5 !) $ 4 ) ) /$ 6 6 " ( 0 ) /! ! 7 8 9 % 8 % 3 : + ;; 1 % $ #%
Layer 1 – Physical Layer:
! 8 $ # 4) ! ) # ! $ % & $ +! (!1 9 . #< 8 ) + 1 ( 0 ) * +) ( %& "$ 9 !1 $ $) !"! = + ( % 8 & %0 =&1 " 0 0 ) + 9 # /! !1 2) "$ / $ " ) # $ > " 2 / ) $ ! '$ / ? ,# # 0 +) / / !1 %
" * & / , @) # 4) * '$ " ) 2 ! $ # ) / 0 $ ) 4$ # $ $ < # A ) 9 ) /! ! ! ) #
Layer 2 – Data Link Layer:
M A
C
! " ! # $
%! ! & ! % ' ( !
# )
* ' ! ( ) " " + % ' ! ( ( " ( , " ! -
"
" '
!
)
'
" -% (
/ .
0"
1 " ! )
'
! " -% ! 2 +! ) 3 '
Layer 3 – Network Layer:
" ! 0!"' ! 0" 4 %
!" 5
+ ! ! $' 6 7
6 '- /
' ) . 4 % 8 " " ) " '( ( 2" ' 5 4 4 %
!
, 69'4
N" S A
P
4 / " : 0 . !"" 4/ ! . 2" 5 - 0" ; # !" !" 0 & 3
% 0 '
) (' 0" * "
" ' 5% 0"
) " 6 Æ! ! 3 " !
! # !" < %
!" 0 "
)
" =% !
6 + ! ! "
2
'
& -% '0 $ '
7 6 3 #"
!" ! " 6 ( = * "# ) ' >?
; 3
0
+ ) -% ' -
- % "
$ ) !" "
" " )
Layer 4 – Transport Layer:
!"
!" # !" $
% & $ '
!" ( − )
*& + % + , - % . & !"
/ 1 - / 2 0
1 # !" 3 0
!" % 4 !"% T & S A P
&
# &
5 + . 4
. & !" . & '
# !" '
% + & . 4 1 4 0
2 & +
. & !" 6 / 2 % . 7 . & '
#& 2 8 . & !" 4 - % '
. & '
!"
9 3 !" : − ; & 1 %
0 . & !"
% 7 &
Layer 5 – Session Layer: !" * 4
2
< < = > % !"
?& & 8 &=
> !" 4 & %
% / #
# 8
&
@ + & 7 @ - +
7 / %
" / #&
Layer 6 – Presentation Layer: !"
"
?
$
!" ( − : + % 4
!"
'&
% A% ' %
%
& *
5 B # C &
% ' = 4
!"
! " # $ "
%
Layer 7 – Application Layer:
% & !
' (
" )( * & !+ (
(
7.2
" (
Kabel und Stecker
, "
( - $
" , "
. "(
/( */+0 $ ( ( 1234
" " ( 2 " / ,
* + % ( ( " 5
$
7.2.1
BNC und Thin Ethernet
, " $ ( (
/ , %
/ * + ( * " "
+ 6(
/ (" 7 / , "( $ " ! /
)( $ ( )
* ! )
8 '
) " &
/
+
' 9:; )
7.2.2
Twisted Pair und RJ-45
/(
8
" 2
/ %
% %
"< = % ' $<
! #" $ $ " % % $ & '( ') Shielded Twisted Pair (STP) ) *
+ % $ ') ' , - $
Unshielded Twisted Pair (UTP) .
- / %$ '% $ & 0') - $ 1 ( % # 0') # ( 2$ 1 #/'2"$ "
0') , % 3% ,452 6,4 % $ 8 # $ 1 # 3
$ 0') & 9 . % # # ( 2$ 1 : % 1 %
" " $ $ % ) ; ) ; ) < ) < $ & = #" #/'2 # " 3 $ $ + # 1 $ 1 /-+ #/'2 & % - +/>'+/2?: 1 + % $
7 % (
7.3 7.3.1
LAN und WAN ARPANET
1 % 0$$ 1 % 1% # - $ 1 )( 4 ;@?@ 7 % 3$ 3 - % 3$ 1 +) # 6 3 ( 11) 2;? ;< 7 8 2? 7> ' $ 1 /,)/- ' % 6
7.3.2
Ethernet
Host Transceiver Ethernet-Kabel (Segment 1)
Repeater
Host
Ethernet-Kabel (Segment 2)
! " #$$$ %&'( )*+,)- $ . / - - 0 12 $ + 3 * - - ! " $ 4 5 6 7 2 6 $ 1 ) - 2 -1 8 # 72 2 7 . 1 9 7 2 32 : 4 5 6 3 + 1 1 1 /2 9 * 7 2 9 " # 7 1 . 3 - 1 9 "0 1 6 - 9 1 * - *" 3" 3 1 ; $ 1 ) * ) - 18 <1 8 ! 9 2 1 )" 1 $ 6 $2 $ $ ! * 1 ! - 7 1 " !" # 9 1 9 2 + )*+,)-9 - 6 ; 9 3 - * %&'( )3 <1 =& + ,> ? 1 3? @&& 1 + ! 9 1 '&& 1 - *1" 1 *2
U qqq qq qq
U
....................................................................................................................................................... ........................................................................................................................................................ .... ........................................................................................................................................................ ....................................................................................................................................................... ....................................................................................................................................................... ........................................................................................................................................................ .... ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ . ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ...... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ . ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ ....................................................................................................................................................... .... ........................................................................................................................................................ ....................................................................................................................................................... .... ........................................................................................................................................................ ....................................................................................................................................................... ........................................................................................................................................................ .......................................................................................................................................................
p pp p p p p p pppp pp p p p p pp p p p ppp p p p p pppp pp pp p p p p p p p p pp ppp ppp pp p pp p p pp ppp p p p ppp p pp p p pp p p p p p p pp p p pp p p p pp p pp p pp p pp p p p p p p p p pp pp pp p pp p p p p p pp p p pp p p p p pp pp pp p p p p pp p p p p p pp p p p p p p p p p p pppp pppp pppppp pp ... ... p p p pp p p p p p p p p pp p p p p p p .. . p p p ppp ppp p pp p pp p p p p pp pp p p p pp p pp p p p p . .. p ...
ux
. ...
! U · e−αx
qqqqqqqqqqq
x
"#$ α ! % &' ( ) * + , . ( x % / / / 0 & 1 / / 7.3.3
Fast Ethernet
1 -( % ( 2 /& & / % 3 2 4 5& ' 2 6 ((( 789 1 -( & 6 5' -5 / ( /% : / / / / ( 6 % -( -+ 2 & / ; < 0 % ( -6 / / = / / > / ; % / > / / + 1 / * , % 1 / > % &% > > & / / > % / + 7.3.4
Token Ring
( & / ((( 78# / > ?+
@ / +. %
! " n # $ "% $& n ' ( % )!* $ +(( ,- $ +( Host Ring - Interface
Datenrichtung
+(( ,-. / $ +( 000 1234 5$ 6 #
( 8 9( " % 7 $ 9 ( 0 9 5$
$ %
% # $ ' ($ : . ;
! 9( % $ 9 % "( !% " $ 0
< ( 0 8 7 $ 9 < % ' !
$ = = + ( 9( % #
! ( ;
<$ :
( % 9 $ +( $9% $
> "
'( $ ( ( %
<$8 ; <
7 ! % ( $" "9 :"
("9 " %
$ < = 9 # > ( % $9 8 ! 7 0 ' %
$ $ 0 $9 ! 9 "
( /( 9 ? > % 9 @( 5$ ! 000 1234 + ( $ 9 #
!"#$ % & '
' (
&
) *''' ! +,-&.
% / 0 1 "2 $ 3 "2 $ & '
! 4 5 *' '' +,-&. 67 8 4#9
% ' ( #
1,, "2 $ 4#9 '
-,, : 9 " 4
0 ; < 9 : = > 4> "# !> +,-&? +,-&.%
6 7 *''' ! & # =
' @ ! 9 4> &&
!"#$ 9 ' > 4 4> +,-&?% 2
+,-&.% : =
% 4> 8 *" % 6 7& 7.3.5
WaveLAN
= = ; A 9 5 = A ! Wi
Fi >% A *''' ! +,-&11 < ( ) 6116 +,-
! # 11 &
+,-&11A
>5 +,-&11> +,1&11>6 % +,-&11 +,-&11 +,-&11 +,-&11 6 ( & 802.11-legacy
+,-&11> ! 8 = A A 1BBC *''' D & '
1 - "2 $ ) 0 * -3 82 & *
!
* # * #
% & !
9 +,-&11 & 802.11a
( E 1BBB +,-&11 . 82 .3 "2 $ & !
! $' +,-&118 F F +,-&11 ! &
9 +,-&11 +,-&11
-, "2 $ ?, "2 $ & *''' +,-&11 1-
@6% ;& # ! 9 6 ;& !
802.11b
!" #$ % ! & '
( '
)
*% ( + ) , -&*).-/ * )
- + 0 /
1!2 3! *%. 4 5
! * ! ( * * 56 + - 7 ! % 8 !
7 / " 9 *$ ! ++ : / 9 ( ; ;! &7 & ++ 9 : 7 ! 56 9 : 802.11g
< = > ? < & / !" #$% 1" *%. @ "!3 *%. A " : & 7 +7! # 8 # B !
802.11n
/ < ) " & / 7/7 &
*%. * )
, / & C ? Wi-Fi Netzwerktrennung: SSID
! 0 5 & :! ! 5 0 : : # / @&& + 4 D 9 5 ( / # !
&&
Betriebsmodi
Infrastructure Modus:
! "# $ %
&$ ' % & $ ! ( ) (*+ ! ad hoc Modus: , - ! ). (*+ ! (* ! . (* # # / / !
7.4
(*'
Digital Subscriber Line (DSL)
* & 0 1 * & 2 1# ) + 0#! * 3 * & 4 5677 1 . & # * 8 0 1# ! * *# 1# ! $ 9 : 9 9! * 7;4 # 1# * $0 1# ! . 1# 8 ! ( * 9 ! < < = /. / 1 $ 3 1 ( 0 ! * # . & 00 # * = * & > < 1 00 4 ! > * & ? # < # (. ! 7.4.1
Funktionsweise
* ; 5@ >! 0 1# # A;; > AA > #8 & ' 0 ! * 1# 8 # B;; > 7;; > ! * # . ># * & # * ! * 1# 1# %$ ? 0# ? !
! " # $ % & ' ( " )
* +( ) * +(
( #
) ( ) ,, -) % . / 0 " ) ) . +) /+1 $ +# +
+#1) . ) ) %
+# )
+#2 * #3 4) ( #+ ) )# 3 4) ) 0 & 1 5 + / ' )
) 6 " ( + 7 8 & 5 2 '
! 9
# +# * ) "
+#
. & +'
7.4.2
Bluetooth
3 /: 9 3 3 $ 3 4) ) ;<=; ;<= "-) $ ) 5 ) ( +( * ) + > %
+ = 2 ) $% ) " - 9 ? 2 2 5 3 4) 1) $#.
* $ 3 4) @A B ( ==# ( + ) . C 6 . > $#. * + >1#1) ) 3 # 4) >3#1) ) $#. )) $ >3#1) D ? 0
. > ) $ + + 1 .
3 4E#-(( ) " 9 < $ + + C ) / ) 1) C + ! 2$F # G# 5+1 $ " #1) 2 () 2 + == > ) == 2
7.4.3
ADSL und SDSL
!
" # $ % & ' &
' ( ' ADSL SDSL
Lokaler PC
Download−Stream
Server
Upload−Stream
Download−Stream
Upload−Stream
Server
Lokaler PC
))* % Weiterf¨ uhrende Literatur
$ !+& , -"& .//0 $ !+& , -"& 0112 $ & !+& , -"& 0111.//0
8 Protokolle
! " # $ %
% % " & '
( ! " ( ! )) & * + &( ,&(- . " Midlevel Networks: + / &( %
" LANs: 0 1 $ " % " Backbones:
(/ 2 + % + ! 0 " ( & 3 " 8.1
Internet Protocol (IP)
4 % % ,&-/ .(& % 56 7 , 56-" , -
* &8 , )& 8)- 3 % &9 " &9 ( )! ) & ( 3 : % &8 ; % % " & % &% < % *" ! 56 =
= 56 % " % 98 4 6 >"?@@ +6 " # %
! " # $ %
32 bit
Version
IHL
Type of Service D M F F
Identification Time to live
Total length
Protocol
Fragment Offset Header checksum
Source address Destination address Options
Payload = Nutzdaten
" # $& '( ! ! )
%* ! +, - ! % & '(( . % ( % . /
IHL: ! ! 0 % ) * ! % -
Type Of Service: " 1 / "% 2/ 2/ 3
Total Length: !
Identification: " ' 4 *
Version:
DF:
! " #
#
# # $
% % & " & #
MF:
Fragment Offset: # ' ' (
) ( * # +,,! # - & ! .
%
) * ( # /
) # 0# (
( % ) 1 &
( " 1 - 2 ( '
3 4
# '# .
Time To Live:
Protocol: # 5 & 67 1 "
1 # # 58 !
Header checksum: # 8 # & 9
Source address: :
# Destination address: "
#
& % #
% 3
#
Options:
' & # # ; # < 0
# %
; ( & 3 #
3 < ;
# 0# & #(
# # ; # ; = 6& 0 # %
# 5# 4 0 ( 3 ( ; 3
%
/ #
9 3 > ( # ( ( = & ) ( ( # ( ) ( : " % 3 1 # 3 1 3 & ( 0 0;%5 & & (
0 #
#
3 5 # 2 > - # # #
? # &
!
Router
Netzwerk 3 Netzwerk 1
Host
Host
Host
Host
Host
Host Router
Router Host
Host
Host
Host
Router
Netzwerk 2 Switch
Host
Host
Host
Host
Host
" #$% &
" #$
' ) *( ( ' ) +) *, ) $ ) - . & / '
!
0 ' ) * 1 ' / 2
& / ) / 1 ' ) 0 & ' ) / &
& 2
0 ) & 3 & " 4 !
+ " #5
, 6 / ' / & . 3" + 4 7, 4 3 / 0 0 8 $55 " '3 ) 9
' ) )
Class A
0
Network
Host
Hostadressen von 1.0.0.0 bis 127.255.255.255
Class B
10
Network
Host
Hostadressen von 128.0.0.0 bis 191.255.255.255
Class C
110
Host
Network
Hostadressen von 192.0.0.0 bis 223.255.255.255
Class D
1110
Multicast address
Hostadressen von 224.0.0.0 bis 239.255.255.255
Class E
11110
Reserviert für zukünftige Verwendung
Hostadressen von 240.0.0.0 bis 247.255.255.255
Klasse A: ! " # # $ %&' ( $ ) %' * + $ , Klasse B: -, . $ %'& ( $ ) $ '//' + Klasse C: 0 $ & * ( $ $ &/1 + 2 34!# 34!5 34! .
6 & 5 7 $ 8 $ # ( $ $ " 9 # 5 $ !
9 ( $ 7 $ 6 $
6 + $
( $ . : ; $ # -< $ . ==== &//&//&//&// !$ 9 . . + $ 7 > &//&//&//&// 9 . 7 ( $ , + ! ==== + ? . ! 5 . ? . # + $
6 ! . ? ? @ # 6#
• %&ABBB • %=BBB • %C&%'BB • %A&%'== %A&%&//&//
! " ! # $ % & ' ( ) % ! * " * + , $ - . ! " / 0 ' 1 2 " !3 ! 454 &( ) " '" ' ( 6 5 78 4 6 ! " 78 9 4 ( 6 ! ( 78 ( 5 5 78 - 1 % " ( 9 2 : 5 , ( 78 , 44 & -!) & " ) & ) 7 ( : , '" ( 6 ' " 9 ( ( 9+3 ; < &9+3 = ( " ) 9 ( 4 1 4 9 ' > ' > ! : & )( " 7 '5 ! " 1 " ( 1 &( " !3 ) ( % ( % ? ! 2 !3 : " $ $ :! ( 6 ! 5 : @ A 6 'B :! ! %' 6 :@ 7 9 2 ' ( > A : 6 9 ' % 2 ' $'0 : B !( > $ * ' " * # ## # ## CC @ > 9 $ ( 9 $ : @ <D " 2 ' '
Subnet 1 10.10.0.1−10.10.0.127 Subnet 10.10.0.0
Host
Host
Host
10.10.0.2
10.10.0.3
10.10.0.4
Subnet 2 10.10.0.129−10.10.0.255 Subnet 10.10.0.128
Host
Host
Host
10.10.0.130
10.10.0.131
10.10.0.132
! "#$ % & ' #$ #$ $ ()*+% ,#* -#$$ #$ $ *( . . . . . . . •
. . . () / . . . .
•
. . . 0 () / . . .
1 %2 ( * - % & % 3 "#$ % 0 ( % 4 % ) 4 + 4 * * #$ #$ % 2 " 5 " % #$ (% -#$ #$ " + 6$ ) % ' 4 ( 78* $ & #$ #$ ) 8 4 9 $:#$ 4 9 ( #$ #$ % % 4 " *, •
. . . . → 7%#
•
. . . ; → 7%#
•
. . . → 7%# <
•
. . . 0 → 7%#
Subnet 1 10.10.0.1−10.10.0.63 Subnet 10.10.0.0
Host
Host
Host
10.10.0.2
10.10.0.3
10.10.0.4
Subnet 2 10.10.0.65−10.10.0.127 Subnet 10.10.0.64
Host
Host
Host
10.10.0.66
10.10.0.67
10.10.0.68 Router
Subnet 3 10.10.0.129−10.10.0.191 Subnet 10.10.0.128
Host
Host
Host
10.10.0.130
10.10.0.131
10.10.0.132
10.10.0.1 Interface 1 10.10.0.65 Interface 2 10.10.0.129 Interface 3 10.10.0.193 Interface 4 Default Route
Zweigstelle
Subnet 4 10.10.0.193−10.10.0.255 Subnet 10.10.0.192
Host
Host
Host
10.10.0.194
10.10.0.195
10.10.0.196
8.1.1
TCP
! !" # ! # $ # % & % % # # ! " ' ( ) # % !" !*" + , # ! % - ,# - , *" , " IP−Header
TCP−Header
IP−Daten TCP−Daten
weitere Protokollheader, Bytedaten
. / 0 " 1 # /2 " #" / * " % 3 1 % 0 ! !*2
! " !
! #
$% & ! '
) ( '
!
! 2 3 ! , ,% * + ,% -./ 0,% 1
4455
6 ,% 4/5- # $ %
) , !
3
3
# ) ! 7 8 ! ! ! '
$%
!
7 '
! $% 3
8 ! 4 495:
6
7;7 0 ! " # 2 ! + ! # * $ <4
$
54
, $
55
" "
5/
$
5=
" >
449
?/
$
<4@ 7 7;7 +
#
$% * 7
8.1.2
! !
UDP
! $% > * 3 A $% ,% -B< +
$ % $% 6
0 ! !
2 3 C " ! 7 D 7
8 3 ! C 7 # 3 !
0
#" 2
7 ; ;
! " # " ! $
8.2
IPv6
% "& ' ( $ % )* + * )# " " * , )* * " $ "& " - * ' " )* " * $ + " ,)* . *
"$ * / * * ' *$ * " * 0 $ / 1223 ) " "& ' 4 + 5 6"57$ % * "8 * "5 $ % + 5 * ! " " " ! ( 4 •
* " " -
•
9 9
•
+ - 9 ' * *
• •
- * / '
( * "
•
* -
•
*:
•
, ;* "
9 " "5 "& ! '# % ! " *$ % < "5 15 = $ 0 " > & -;*( * 333433334333343333431&4&81?4#%4#% * " @ 4 •
)
•
• !"# $%# '
&&& ( ")**+
# , - ,
. / / 0 1 #
) 2 # 3
• 4 5 0 5 / 6
• 0 .
• 2 / 5 / 6 , 6 # . $ # . $ ' 7 / 6 6 . 8 9 + : # / 3 2 0 / 0 / + / # 3 / 7
/ + : 3 ; / < ; / #
32 bit
Version
Traffic Class Payload Length
Flow Label Hop Limit
Next Header
Source address (16 Byte)
Destination address (16 Byte)
%#= $
Version: - / $ 3 $# Traffic Class: +
Flow Labels:
Payload length:
$ %
! " #
& ' & $#
(
Next Header:
Hop Limit:
) ) *#
Source address: + , - Destination address:
.
Weiterf¨ uhrende Literatur
#! + 01 2334 5 / #! +
(/ ) 01 2336
(/ ) 7 / #! + 01 8998
Internetverweise • : 2326 # ,;;; ; 2326<= >2326
Betriebssysteme und Systemsoftware
! "# $
% & ' # "
" (
$
¨ 9 Ubersicht
•
•
•
•
•
! "
# 9.1
Ziele und Funktionen von Betriebssystemen
$ %
& # '
( !
% ) * &
+ , - . /
#
Mensch-Maschine-Schnittstelle:
! Æ & % % . 0# 1#
Effizienz:
%
$ # 2 0#
1$ (%
0#
1
0#
1 #
Aspekte der Weiterentwicklung von Betriebssystemen:
9.2
Betriebssystemschnittstelle zwischen Benutzer und Computersystem
! " # $ # $ % & ' $ % & ( # ) ' #
# " # * + , -
# " , * # . % / # # # & ' User Programmierung der Hilfsprogramme Anwendungsprogramme Hilfsprogramme, Utilities Betriebssystem
Programmierung des Betriebssystems Programmentwicklung an der Schnittstelle zur Computerhardware
Computerhardware
!- # $0
1 # " 2 . " # # %# # )
# # , 3 * # # # # * " , &, ' #
Prozessmanagement:
, " " # , 4
Interprozess-Kommunikation:
* # 3 % , # / " # , $ ,
Speichermanagement:
$
) " $ 5 + #
Zugriff auf E-/A-Ger¨ ate:
! "
Zugriff auf Dateien:
# $ % ! &
' ( ) ) % * + ! , ) ! ) ) * % - &
* & + ) +) %
) *
* &
)
Fehlerbehandlung:
) & ! . ! $ % ) ) ! / ) +) * $0 ( ) 1 2%% 23 . % ! ) ) * .)
- & $ % .) # !
. )
Accounting:
9.3
Betriebssystemaufrufe
& * )
1 3 $ - ) 0
+ %
+ % ) $ ) -
% 1 3 ! ) 4 5 % ) # ) -
%* *
4' 0 ) . 6 2 ) 7 0 $ ) + 8 0
*
% 5 % ) 0 7 ! 5 % * 1 # ! 0
'3 - *
-
% 0
% $ * )
# 0 ! )
+0- 9 ! & 0 * ) +0-9 9 0
% 1 $3 # ) % ! : 4 5 & - ) $ * ) % ! & # % 0
% & * & ;04.19 * 3 ! * ( * & &.
!
" #" $ % &' " ( "
) #' *
+,- " +!% #' * . +/ +!%
( #' * ,(/ . . ( & &" ' #' * 0 1 $%2+!% . )$!32+!% % . + ," ! +( % #' * #42+ !% ( ( 5 6
! 7 , ! $% )$!3 " # ( 8 6 #4 5 " 9 : +( #' * *:$$(,#2+!% . ) #' * *,#2+!%
&' ; &" . ; #' * ) - + . ( ( *" "5 #' * " #' * 2 :/!< % % #' * : % ' • open , . % • creat . % • close # • read • write # • unlink . %
% #' * . % " 2
9.4
Betriebssystem-Struktur
/ &' &' + : . # &'
9.4.1
Konsistente Schichtung
! " n # $" %n − &' " % ' • # • $"
%n ( &'
) # "
9.4.2
Quasikonsistente Schichtung
* + , - $ # +
9.4.3
Schichtenmodell
) - * . / 0 1 - 2
-- / 0 - 2 * . 1 0 - 2
1 0 - 3 , 2 * . 2 14 0 - 0 2 205 " 6 * . 2
!- API Betriebssystem HAL
0 78 * . 0 * . 1 - * . . , - 0 ) ) 0 - . 9 2 - 6 0
!" # $ % & ' ( % ) % * +
% $ %
& , % * -. ( + /!0 & 1 2 - $ !" 3 3 $ % + + % & % , -4 & % 5/-' ( / ( ' %
& ' % $ ' 6 7 (#/8!' & 9 % $ $ % " ! & ! ( $ :; &&& :;; . 2 -9 & 1 ( % & % $ !
& ' 1 % .< & !% ( % &
Assemblersprachen F_OPEN
(parallele Prozesse)
S_P
Prozeß−Interface
Betriebssystem
Resource−Management
Speicherverwaltung Interprozeß−Kommunikation Prozeß−Management Interrupt Handling Page−Fault Interrupt
Clock Interrupt
Maschinen−Codes
%% =&> ( ( % ' ( % + % & & '% ( % & % & + $ !
% 5+ % $ . 8 , & 9 -. ( % % ' ( % &
Weiterf¨ uhrende Literatur
"")(&'"
! "# $% % &'##('
* $ * + , - . /0 . ' 1 % 2, & -3 ( $%'% &'"')")('4 1
$%'% &')"5&'5&'"
- 6 $%'% '&'&#"#)'
. .
0 # -3 "" 0 (
* 0 70 8
6 %9. 6
: 6 -/ 6 -/ $ . ;< $%'% &')'4)4'4
10 Prozesse ! " # $ "! % % & & ' ( ! ) * " & $ & # ' +,- -
. ! / 01 2 ' 2 & ) ) 30 ) + ' " ! ) 4 % ' ' / 1 ! Æ ) $ & ! % / 1 5 6 ) ( ' % ' 6 ! ) & " & 6 ! ) 1! 5 + 4 / 4% )-% $ ! 7 8 4 4 ' / 1 ! - ' " & / ' 1 %
' & ! ) 2
9 % 3 9 & 4 ! : " & " 0 + ; & ! . & ' " 4
+ 7 & # ! ) & 4 /* 1 " ' ! ) ' 5 & /! Sv C Sv C 1 ! :
& 3 ' ( ! 4
< & " %
& 4 ! + 2 ' ' & =! ' ( ' % & " '! : ' & " ; ! & : / ) 9 '
! " # ! $ % # & & '( ' Programm
Register
Program Counter Stack Pointer
Daten
Variablen Stack
& '( ') #
10.1
Parallelit¨ at
* + ,! "- . # . ! + /! ! $ ) 0 * ! " + 1" 2 ! + ! * ! "! ! . ! 3 & + ! * " 4 1 , * + #5 6 ! ! 7 * "" ! "! ! 9":! ; ! " + 8 ! " ! 4 1 , 0<=#+ ! ; 8 + ! & . *- 5 * > ! . & ! ! & - 1" n ! n ! * & . '( ((( (((# ; 8 7 " " . ! " %
!"# $ # & ' % ( ) * + # , - . )) / # $ 0 1 2 ( , # 1 ,- 3 ) 4 5 3 6 ,) ( * ) , ) ,) '( ( % , $ 1 ' , ( * # 7# . ) % ) 2 3 ) ) ) 3 2 ( 2 3 8 9: 2 2 + ) ( *) , # 8 ( 3 $ )
, ( ' ) %
( ; 6 ( 3 3 , < , ( # ) ( 0 3 5 5 7 ( ) ,) 3 , ) ( ( / 5 7 / & ) . ) ( / & ( /
01 1 0 1 01 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 01 1 0 01
1 01 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 01 1 0 1 0 1 0 1 0 1 0 01 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 01 1 0 1
0 0 01 1 01 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 01 1 01 1
11 00 00 11 00 11 00 11
!=< 3: 3 )
! "
# $ % & '' ( & %
) & echten #) % ) * + ,- + . / ) 0
1 ) 2 3 4 1 5 3 ) - ) &) ,6 7. # & &) 0 8 , &) #). , &+ ) - 2 . 1 &) % " ,) 2 . - 9
3 )
!
: - #) ) ;- < ; ) =
6" 0* 0 &) 0 , # . - #* 0 ) "
= * = ) 1 0 , ". & * , . ) < " - & - 0 &Æ #* > 0 < )
9 #*) 6 0 - & 1 - 0 - < ) 4) 4 ) 3 )
10.2
Prozesshierarchien
? ) 0 - 9)
9)
,. %
= d 9) ) & 6
Prozess 1
Proz 1a
Proz 1aa
PARENT
Proz 1b
CHILD PARENT
CHILD
! " #$ % & " '#$ ( ) * + , " -$ ( #'# ( .# / 0 # * '# 0 * 0 # * '##)
Vererbung der Prozess-Umgebung: ( - ) * 1 - '#2 # * - "0 3 $ ' 4 # * '# - # . - 3 ' 1 5 5 * 4 .
( '# * . # 4 # & '# - . 4 ) ' 4 * % #- ! 06 ' ( * . " 7$ *
Einheitliche Kontrollm¨ oglichkeit eines Jobs (Unterbaumes):
8 ) 49 *
( * : ; *# ( +), 4 6 ) "* $ ( % . * 4 < ; ' " 6 <$ )# 4
!"# $ $
%
INIT
SHELL 1
SHELL 2
Proz 1
Proz 1a
SHELL 3
DATE
Proz 1b
Proz 1aa
!"#& '
% (
) * $
$
' ' ' + $
) $ !"#
%
$ $ ,
$
!"# - % ! +. ' % / 0 % $
$ 1 $ 2 ' 3 - 4 %+ 4 / 5 $
%+ % + 4 ) $
$
$ + 0 + 6 ' 8 7 ' % %+( $
10.3
Prozesszust¨ ande
9 : 4 $ !""#"$ % &' ! " * / ( ( !"; )
,
<
Terminierung
Terminierung CREATED
DEAD
Prozessor− zuteilung
RUNNING
Blockierung Start Terminierung Prozessor− wegnahme
Deblockierung BLOCKED
READY
Deblockierung
Suspend
Suspend
Resume
Resume
SUSPENDED
! " #$"% & ' " ( " #& )$"% #$" " *' % + ""
) (+ , & + -$".+ / 0 % " CREATED % , + , ' ) ' "" 1 " 2.+ " + % % '
Zustand READY: " READY % ' +""
Zustand RUNNING: ) " RUNNING " # % " #$" 3% % 4" ,"" 5"( + "" " RUNNING % ( *&$" ,
Zustand BLOCKED: BLOCKED ( ""% ( )6+ + % " ' ) 6 ) ( " + " #& ) ," 7" 7" 4 % , Zustand CREATED:
!
Zustand SUSPENDED:
RUNNING
BLOCKED
BLOCKED
"
SUSPENDED
# $
" %# # &" ! ! RUNNING READY ' ( ) $ )
*
PENDED
$ + ,
& '
Zustand DEAD:
(
DEAD
SUS-
& & -
" & ! * (& .$ / -0 12 3 4
$ +
5 &" & ) ! 4 & &
&6
$ - . 7
CREATED → READY:
( 0 ' )& .
( 0
CREATED READY
8
"
READY → RUNNING:
&
.& / 0
7 !
$
.RUNNING 0 . & 0 / READY
& / / . $ # 0
RUNNING → READY:
RUNNING → BLOCKED: .
&
0
&
* /+ 9 &
* . # - 0 & & *
/+ 2 .+# /
# %# ::0 ; $ &
&
% /
/
& ; -
< / / .; &0 $
BLOCKED → READY, BLOCKED → RUNNING:
/ &
* & . # & 0
BLOCKED
READY
RUNNING
! " ! Æ
RUNNING ! ! $ % # + ( & ' pSOS BLOCKED RUNNING (
) &
BLOCKED → SUSPENDED, READY → SUSPENDED: % * BLOCKED READY SUSPENDED
( + %
BLOCKED % , ( ! -
! ( . !' / , -
SUSPENDED → BLOCKED, SUSPENDED → READY:
( !
RUNNING, READY, BLOCKED → DEAD:
( % 0 & ( $ 1 # * 0 % ' ( . &
* 0 2 ! 3 % ' 0
" / 4 & , ( 556
SUSPENDED → DEAD:
!
1 ! 7 8 1 * 0 DEAD
3
( &, 1 $ % ' # ( . ' $ 9 : # ( % (/
; " . . / ; 0 /
< & : % = = / " .
+
; &
% ' * - $ # 3 % '
)
! " # $
" # % & ' ()* Prozess Identification Prozess ID (PID)
Process State Information Prozesszustand (RUNNING, READY, ...) Priorität Registerinhalte (Register Save Area)
Process Control Information Besitzer (User ID) Zugriffsrechte (effektive User ID) Liste von offenen Dateien (File Handles) Verweise auf Programmcode und Daten Accounting Information
' ()*+ & % ! ,
- .
/
! $
' ()0 $
. - # ! 10(( # BLOCKED READY ! 2 / 10(( 3 &/ ' " ! . READY / ! RUNNING ' ' 4 3
/ " #
5 /
! ! / - ! ! " !
! 6 ! #
3
-
" ! 3 3 3 7 7 5 ! 5 9 2 ! ! ! 8 ' #
' ():
# ' 7 # 2 & $
7" ; 7 5 " # <3 $ = " 4 &
Prozessdeskriptor
RUNNING
1234
READY BLOCKED SUSPENDED
0815
1017
1042
4711
! "
#$ % & ' ( ) *$ ( ' + , - . P CREATE(program,parameter,attributes) .+ ! " / #$ ( * # # + ! " +) . +
' P WAIT() + 0 . ! + .+ 1" *( + & BLOCKED +) . 2 ' 3 *$ . 4 5 - *$ . P EXIT() # #$ ( 0 6 1 ! " P WAIT + 7 7 + !" - P WAIT ( .+ & DEAD - P WAIT 8 7 8 2 ! #- /9): - & ZOMBIE ( DEAD "
* *$ . )+ 7 ; < - - - *$ *$ . -+ ) #$+ - ' - # - ( )- .- +=-
PC: (82A0) 16 R1: (2A00) . 16 .
PC: (D310) 16 R1: (A000) . 16 .
PC: (82A0) Prozeßdeskriptor 16 R1: (2A00) . 16 .
PC: (D310) Prozeßdeskriptor 16 R1: (A000) . 16 .
PC: (82A0) Prozeßdeskriptor 16 R1: (2A00) . 16 . Instruktionen PC: (8A0E) Prozeßdeskriptor 16 R1: (341A) . 16 . Instruktionen (8000) Prozeßdeskriptor 16 Instruktionen (8000) 16 Daten (8000) Instruktionen 16 (8000) 16 Daten (8000) 16 (8000) 16 Daten (8000) 16
Execute Prozess P2 Restore Context P2 Save Context P1
Execute Prozess P1
PC: (D311) 16 R1: (A000) . 16 .
PC: (D310) 16 R1: (A000) . 16 .
PC: (82A0) 16 R1: (2A00) . 16 .
PC: (82A0) 16 R1: (2A00) . 16 .
PC: (D310) Prozeßdeskriptor 16 R1: (A000) . 16 . Instruktionen PC: (D310) Prozeßdeskriptor 16 R1: (A000) . 16 . Instruktionen (8000) Prozeßdeskriptor 16 Instruktionen (D000) 16 Daten (2000) Instruktionen 16 (D000) 16 Daten (A000)
16
Prozeß-Image P1
16
(D000)
16
Daten
(A000)
16
Daten
Daten (2000)
t
(A000)
16
Prozeß-Image P2
! " # $ %! & ' #( ) $
* ' + " ) , P SLEEP(event) ! " # $ ) RUNNING BLOCKED P SIGNAL(process-ID,event) - ,! #) " ) & ' $ process-ID . " * * event / ! 0 + READY 1 2! 3 ) ) 4 " / & ( " )
10.4
Threads
& ) " 5 6 1 #7 $ " " 8 ) 2 ( 506 ! 8 , ! ) " 1 3 & ' % 8 2 3 # "9: 2 $ !
1 ) " 3 42 &-
Ressourcenverwaltung.
! " # " $ % " # % " $ & & " # " ' (
) % ( $ $ #
% # $ # * + + ,-- * %. /
% 0
1 % ( " # " " # "
2" -3 / "
) " # " 4 5 % 6 # % ) " #
/ % 1 # #
/ Programmausf¨ uhrung. ) 4 " 5 )
7 8 9
4 # -:, ; (
< ; # 7 ! 7 ( ; # 1 ! 1 < " % + 2" =-- $ * ( !
# & $ ! + * (
$ . 2 " 5
7
# # " #
1 * # * 5 L w P ! 1 8 9 $ % ! ; ( $ " ' 8 > " " 9 # % ; (
Multi−Processing
Multi−Threading
Register
Register DATEN
DATEN
PROGRAMM
PROGRAMM
Prozess 3
Register Thread 3
DATEN PROGRAMM
Register Thread 2
Prozess Register Thread 1
Register
Prozess 1
Prozess 2
DATEN PROGRAMM
! " # $ ! % & ' ! ! (
) * + " $
$ ! # ! & ! , -! - . $ ( / ! 0 # ! Threads
Prozess 1
Rechner
Prozess 2
Prozess 3
! 1! 2 ! / ! 3 ! 4 / ! " ($
3 $ ! 4 " " " 4 5 ! 6 ! *% +$ ! -! !! & ! 7" 8 ! " 9 " : Æ $ 7" ; $ 4 / !< ,
$
!
" # $ % &' " " !
$ "
( #
#
) * +
( $ " # $
%(
( # *
,
& - # ( $ " $ ( .
# . # " ! ( *
$
# / . . + ( 0 1 ( + *
" . $' % L I F O&
% & 2 ( $ " 2 ! ( # 0
# $ ! # 4 3
$ ! # (
,
/
2 # ( .
5
•
( 2 %
$ & $6 " % . 2 $ &
• ( # /
$ " %
&
( ( / 2 7 + 2 ( 0 ( .
• 1 2 ( $ • " 8 ( Æ % $ / $
&
• " !
(
.$ %# 9:9&
• ( $1
( $0 "
$ !
( $
•
! " # " $ ! % # & ' ( ) * ! " + ,- . ! # / / % + 0 1 1 2 ! 2 ! ! #! ( *3 2 !
" 2 4
* & + * Æ , "* ) . ' $ ( * " + ! !
Thread-Funktionen ausserhalb des Betriebssystems:
! 2 "* * " + ! * ( + / / ( ! )
- 5 6 + ! # 7 * , . 8 # * ! $ #! 2 ! 2 +! ! "* " $ 8 ' 2! + 8 " , . 8 4 3 # # , + . # 0 ! # , . ! , . ! # ! & ! ! 0 )!! ! #
Threads als integraler Bestandteil des Betriebssystems:
Æ Prozess
Kommunikationskanal
Anforderungen
WORKER n
WORKER 2
WORKER 1
DISPATCHER
! " # #
$ " %
' (
) *
#+ #
%
#, *
& ' ) Æ ) & " )
' #
$ ) *
& ) *
& #
- . )
) *
& #
/ ' *0 '
)
*0 1 2 %
& 3 2 * # *
& ' & 4%+ -C M U &. *
& - $ . - 453+$ $& 6 .
10.5
Scheduling
2 ) *
& %
- . #
& # " 3
$
$& )
$ * ' # ) 7 -
.
! " ! #! ! $ % & ' & ( ) ! & * 10.5.1
Prozess-Scheduling
% ! ( ! + * %
, - ! ! ' READY . !! !! ' !! / ' RUNNING 0 ' . $ ! 1213
READY ! RUNNING Prozeß 3 READY RUNNING Prozeß 2 READY RUNNING Prozeß 1 READY
t
1213, $ + ! ! - ' / 0 / /12 1220 !0 # (4 ! ! * 5
" !
RUNNING READY 6 ( & !! (4 % READY !! RUNNING $ + ! READY 7 ' !! ! !! ( #8 / 0 + * 9 ! ! - $
/ ! 0 ! ' BLOCKED #! * / " 0 ( 5 + 4 " / 0
% Effizienz (engl. !Æ "): ! ! Fairness (engl. ):
):
Antwortzeiten (engl. ): ! " #" Prozessorwechselzeit (engl. ): "# %
&' ( ) $ ( # * + & ,
" # - * & .!
/01 Durchsatz (engl.
2 "
3 # 3 3 "# ' '
4 ' " + #
5 )" # 3 # #6 # 2#7 &
"# # 8 - , 3 " ) " # ! &+ F C F S ' 2 + #7 3 & &+ "# 9 * ) : 3
# # * " + " 3 &
" 8 ; Round Robin Scheduling (RRS):
# 8 2 < READY "# ( 5#" = ( RUNNING BLOCKED & )
/01 ' ! 9&5 > " +
7 # ' &5 ) < : ! 9&5 # " ) " : 5 : * : ! 9&5 7 9 "#
+ RUNNING ' 8# # < # # # #
) & :# # < ( RUNNING " "# + 3 "# # : * : : ( READY 7 # ( # # " /0/1 ? "# ! ! 5# + > &
- #
" 8 # + " + ( RUNNING First Come First Served (FCFS):
Zeitscheibe abgelaufen aber Prozess darf "weitermachen"
Prozess terminiert
DEAD
RUNNING Zeitscheibe abgelaufen und neuer Prozess wird RUNNING PID: 0815
Prozess blockiert PID: 4711
PID: 1017
READY
BLOCKED
!"# $ $ $ % # &! ! ' ( & " ) % *# $ " * & + *, # '- &$ *
' ! +#
. /# & RUNNING 0 # 1 $ READY $# & # $ % !!* # $ !# & $ !# ! &# %2&# $
Static Priority Scheduling (SPS):
$& & "( * . "/ $ ' ( & + & $ ! * ( .(%!# 3# $ / 4 ( &! ' 5& $ . / % & ! 0 (* $ ' & ./ * $# & ' $ ( ! + (* & 1(* 0
' ! !* (
Dynamic Priority Scheduling (DPS):
!
RUNNING " # b READY
# a $ b % −& a % '
( ) $ b < ' a > '
" * + , - . / , , - " # $ 0 / 1
" "
# - ,
10.5.2
Thread-Scheduling
( / " &'2 3 / 1 4 0
5 0 6 READY "
1
READY 4
" " &'&7
Threads
Prozess 1
Thread−Queue
Prozess 2
Prozess 3
Prozeß−Queue " &'&78 9 3
5 : 0 :
! " #
# # READY $ %&%'
( # ! )
Threads
Prozess 1
Prozess 2 Prozess 3 Thread−Queue
%&%'* +
, -
+"
$ . + $ -
!
/0
+ ! # !
1 1
2 " # ! 10.5.3
Job-Scheduling
,
3 # + 4 !5 / 6 0 # 7 6 !
/# 0 %8
$ 9 #
# : # 9 1 ; # " <
SUSPENDED P SUSPEND P RESUME P SUSPEND P RESUME " $ 9 5 4 9 / # 0 6
9 -
Weiterf¨ uhrende Literatur !" # $%&' ( ) * + " , - .* $%/0 * ! 1 2 # # 1 2 345 6* 5 2 $%&/ ! + ( 6 !" # $%&& ! 7 6 - + 899$ " 2 6 - + 899$ " ) ! : " - .* $%%% 61;<= ; $99> $ " # $$
Internetverweise •
;
61;< =44 44 ?4
11 Interprozess-Kommunikation
! " #
$ % " & ' " ( ) " ' % ( ) * + & " # ,
& " # ' - " &
" # . ,
/ 0 " 11.1
Server-Prozesse
& . 1 ( 2,3% )" # 0 " # , # 0 " 2 # (2) ( ) +4 .
" 5 + 6 " 5 7 +4 1 8 BLOCKED" & +4 9 :
: 8 READY " 6 +4 5
" & * +4 ( ) " 0
( ;<"= ) " # ( % ;<"=)" >
.
Æ ! " #$ # $ % " & " $ $ ' & ()(( * " Æ " & + & $ # * $ & $ & $ * , & $ $ - $ & $ . / PRINTER *+ 0 % - F OPEN("PRINTER",attributes)' -+ 1 / $ #$ 2 & F CLOSE &$ $ &$ - 4 5) 6 3 ( 7 ( 8 9 (.) 7 (.) 8 (.::::::::::::4 3 * & ; * / % ' &$ <$ * ! * = F OPEN("PRINTER",attributes) ! $ & $ $ !2 % # / - ./"/">?(()@):(@(>(A>5' % ' 1 $ . *! % ' F CLOSE B % " !' * ! * CD * % 4 ' 3 $ $ 2 ! & ! "E
/ % ' ! %& ; * C ' . * CD *! 1 * - &$ $ / - * $ $ $ * $ ; $ ; ! *..F G/6/6 2 *! $ * B F CLOSE = *..F G/6/6 2 *! . % - ./"/">?(()@):(@(>(A>5' B * $ & $ 6 & ()5 *+ 0 P SLEEP(event) P SIGNAL(process-ID,event) 6 $$ 6 %E ' 6 event ; BLOCKED P SIGNAL % ' 6 6
P SIGNAL ! P SLEEP ! "# !$$% &'('( ) * + , OUTPUT.4567.890912131418
OUTPUT.7816.890911191511
Spool-Queue OUTPUT.4567.890912131418 OUTPUT.7816.890911191511
Prozeß-ID 4711 OUTPUT.3333.890912183012
Prozeß-ID 0109
Printer Server-Prozeß
Drucker
OUTPUT.1234.890912183012
Prozeß-ID 1234
ClientProzesse
Spool-Files
---, ! ! *
) F CLOSE ) *.* / + +, 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
fd := F OPEN("SPOOL QUEUE",READ+WRITE); (* SPOOL QUEUE Lesen und Schreiben *) F SEEK(fd,0); (* Aktuelle File-Position auf den Anfang des Files setzen *) REPEAT (* Suche nach einem freien Eintrag *) FOUND := TRUE; (* Default *) IF F READ(fd,element) <> EOF THEN BEGIN (* Ende von SPOOL QUEUE noch nicht erreicht *) IF element = " " THEN BEGIN (* Ein nicht belegter Record, Hurra ! *) F SEEK(fd,F CURRPOS(fd)-1) (* File-Position wieder herstellen *) END ELSE BEGIN (* Ein belegter Record, Suche fortsetzen *) FOUND := FALSE END END UNTIL FOUND; F WRITE(fd,spoolfile); (* Eintragen von OUTPUT.xxxx.xxxxxxxxxxxx *) F CLOSE(fd); (* SPOOL QUEUE wieder schließen *) P SIGNAL(server,TUWAS); (* Service Request an den Server-Prozess absetzen *)
! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 13. 14. 15. 16. 17.
fd := F OPEN("SPOOL QUEUE",READ+WRITE); (* SPOOL QUEUE Lesen und Schreiben *) WHILE TRUE DO BEGIN (* Endlosschleife *) F SEEK(fd,0); (* Aktuelle File-Position auf den Anfang des Files setzen *) WHILE F READ(fd,element) <> EOF DO BEGIN (* Ende von SPOOL QUEUE noch nicht erreicht *) IF element <> " " THEN BEGIN (* Ein belegter Record, los gehts! *) printfile(element); (* Ausgabe des gefundenen Files am Drucker *) F SEEK(fd,F CURRPOS(fd)-1) (* File-Position wieder herstellen *) "); (* Eintrag l¨ oschen *) F WRITE(fd," F DELETE(element); (* Das gerade ausgedruckte Spool-File l¨ oschen *) F SEEK(fd,0) (* File-Position wieder auf den Anfang setzen *) END END (* WHILE Durchlesen von SPOOL QUEUE *) P SLEEP(TUWAS) (* Warten auf Service Request *) END (* WHILE Endlosschleife *) F CLOSE(fd); (* SPOOL QUEUE wieder schließen *)
" # $%"! !&
!''( )%#%# * + " , - P SIGNAL #
# .
+
/ READY RUNNING
, " !
+ + !''( )%#%# &
P SIGNAL / ! P SLEEP !''( )%#%# % 0 0 ! + 1
&
-
2 .
&3 4566 F CLOSE # + !''( )%#%# 3 k 7##$&!
F WRITE 8 1 ! &
69:4
! #& , 3 k . !
& + '%$%$69:4;9699:646<6= > 1 ! &
4566
'%$%$4566;9699:646:69 #
? (
+ ! #
0 0
. .
# !&
!''( )%#%# * + & . 8 !''( )%#%# +
"@3(#&! 8 P SLEEP ! ! &
!
&+ !''( )%#%# P SIGNAL
! $%&%& ' (
" )* + # $%&%& ,-" , , -"
" .
%"
-"
/-0 , 1 -" 2 "3 & 0 ,-" 4 /1 0 / "
( - 4 " - " ' ) 5 "
- 4 "
+ ,- & " 6 7 " 8 9 ( "
: " (
:4
3 & % ; P SIGNAL
& -"
BLOCKED , 1 P SIGNAL & & - 0
-
6 8 :
& -/ 7" READY
& #
" P SLEEP : <
"
6 8 & & , ,-- P SIGNAL - & -"
&
( = %" > = 5 ( # $%&%& "
: 7
-
- " ,-" 6 ? @A8 5 " kein
, 6
8
< B + - , 7
- " READY
P SLEEP " #
11.2
Synchrone Methoden
!
< B &
-"
2 , " & ,
"
:-
:- ) 7 , ;
2 " ,
2 & -"
< - &!
2 ! -
11.2.1
Semaphore
!"# $#
% # &' !
( ) $*+ & , $ ' & (, - %
./ $ & ! +
- ., # $
( 0 1#&
S OPEN(semaphorname)
1 !+ ( 2 3 ! % , !
2
2 ! +! 4 5 -4
'
!"# ' 2, (
-4
$ -& !
!"# $ '
%& , # ( % 6!! 7 ( 86
Semaphor: SEMA Counter
Prozeß-Queue
0
6!! 79 %
! 2
'
S P(semaphor-ID)
S V(semaphor-ID)'
3#
!, ' ! , :' # )
Prozeß-ID: 4711 BLOCKED Semaphor: SEMA Counter
Prozeß-Queue
-3
4711 0815 1234
Prozeß-ID: 0815 BLOCKED
Prozeß-ID: 1234 BLOCKED
6!! ;9 %
2 - 1 2 ,
SP
>
)'
%# $ 9< −& "
≤ )'
2 2 2 # $ 9< −&' (( - 2 ! , - % -= .
BLOCKED
> ! !
, @A 3 1 - ?
S P ! "# $ # # S V % # & ' ' ( ≥ ) S V * ( +( ,-( ./ 0 ( < ) 1 0 * 2 "# S V +( ,-( ./ ( 3 "# "# 24 5 READY 6 # 3 S P2 % S V S P "# * 78 0 ( ) # "# * ( 3 ) # # "# S P 9 # * # 5 # 6 "# ( "# 6 "# + : 6 / 5 ; ( "# # < * 7 % ( # # & = ( "# Stand des Counters
P3: S_V P2: S_P
Queue: P1: S_V
Queue: 3
Queue:
P2
P3
2 1 0 −1 −2
1
2
3
4
5
Queue: P3: S_P
−3
6
7
8
9
10
t
P1: S_P P2: S_V Queue:
Queue: P2 P3
7, # & ( * 9 6 6 "# ( ) > < 6 6 # S V ( < "# 6 5 5 t - 6 "# +P½ / 5 ; < # # S P ( 5 ; ? 2 ( ) 5 5 t - 6 # "# +P¾ / < ## > (2 6 ) # "# "# 24 5 # 5 6 +t - @/ 6 "# +P¿ / 5 ; 0 ( 2 "# "# 24 # 5 t - A "# < S V % ( # "# +P¾ / "# 24 5 ; < P¾ < # "# # +# 5 t - 8/
t ! "
#
$% &'
(
) ' &
S V READY #* S CLOSE(semaphor-ID) +
, . ! /- 0 '
) 1 2 34' 3 3% ! ! $ 5 !$
' !$
P SLEEP S P(SERVICE REQ) P SIGNAL S V(SERVICE REQ) 6 ! ! ! 5 $
6 ! ##)$%7373 S P$# S OPEN * 8 9 ! 5 " ! S P ' ! ##) %7373 ! 2
!$
- . ! 5
6 / 3: /7;7<) 3=
!$
! 5 S V(MUTUAL EX) " 2 8 > ! 6 F CLOSE S P(MUTUAL EX) S V(MUTUAL EX) - .? 0.1 0.2 1. 2. 2.1 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 16.1 17. 18. 18.1 18.2
SERVICE REQ := S OPEN("SERVICE REQ"); (* Semaphor f¨ ur Service Requests *) MUTUAL EX := S OPEN("MUTUAL EX"); (* Semaphor f¨ ur Mutual Exclusion *) fd := F OPEN("SPOOL QUEUE",READ+WRITE); (* SPOOL QUEUE Lesen und Schreiben *) F SEEK(fd,0); (* Aktuelle File-Position auf den Anfang setzen *) S P(MUTUAL EX); (********** Beginn Mutual Exclusion **********) REPEAT (* Suche nach einem freien Eintrag *) FOUND := TRUE; (* Default *) IF F READ(fd,element) <> EOF THEN BEGIN (* Ende von SPOOL QUEUE noch nicht erreicht *) IF element = " " THEN BEGIN (* Ein nicht belegter Record, Hurra ! *) F SEEK(fd,F CURRPOS(fd)-1) (* File-Position wieder herstellen *) END ELSE BEGIN (* Ein belegter Record, Suche fortsetzen *) FOUND := FALSE END END UNTIL FOUND; F WRITE(fd,spoolfile); (* Eintragen von OUTPUT.xxxx.xxxxxxxxxxxx *) S V(MUTUAL EX); (********** Ende Mutual Exclusion **********) F CLOSE(fd); (* SPOOL QUEUE wieder schließen *) S V(SERVICE REQ); (* Service Request an den Server-Prozess absetzen *) S CLOSE(SERVICE REQ); (* Semaphor f¨ ur Service Requests zurueckgeben *) S CLOSE(MUTUAL EX); (* Semaphor f¨ ur Mutual Exclusion zurueckgeben *)
0.1 SERVICE REQ := S OPEN("SERVICE REQ"); (* Semaphor f¨ ur Service Requests *) (* Semaphor f¨ ur Mutual Exclusion *) 0.2 MUTUAL EX := S OPEN("MUTUAL EX"); (* Counter auf 1 erh¨ ohen *) 0.3 S V(MUTUAL EX); 1. fd := F OPEN("SPOOL QUEUE",READ+WRITE); (* SPOOL QUEUE Lesen und Schreiben *) 2. WHILE TRUE DO 3. BEGIN (* Endlosschleife *) 4. F SEEK(fd,0); (* Aktuelle File-Position auf den Anfang setzen *) 5. WHILE F READ(fd,element) <> EOF DO 6. BEGIN (* Ende von SPOOL QUEUE noch nicht erreicht *) 7. IF element <> " " THEN 8. BEGIN (* Ein belegter Record, los gehts! *) 9. printfile(element); (* Ausgabe des gefundenen Files am Drucker *) 10. F SEEK(fd,F CURRPOS(fd)-1) (* File-Position wieder herstellen *) "); (* Eintrag l¨ oschen *) 11. F WRITE(fd," 12. F DELETE(element); (* Das gerade ausgedruckte Spool-File l¨ oschen *) 13. F SEEK(fd,0) (* File-Position wieder auf den Anfang setzen *) 13. END 14. END (* WHILE Durchlesen von SPOOL QUEUE *) 15. S P(SERVICE REQ) (* Warten auf Service Request *) 16. END (* WHILE Endlosschleife *) 17. F CLOSE(fd); (* SPOOL QUEUE wieder schließen *) 17.1 S CLOSE(SERVICE REQ); (* Semaphor f¨ ur Service Requests zurueckgeben *) 17.2 S CLOSE(MUTUAL EX); (* Semaphor f¨ ur Mutual Exclusion zurueckgeben *)
S P(MUTUAL EX) ! " # $ % # $ & S V ' ( READY ) ' % Counter := Counter + 1
Counter := Counter - 1
Counter > 0 ja
Counter > 0 nein
ja
nein
Delete 1. Element (first) aus Prozeß-Queue
Insert Prozeß-ID in Prozeß-Queue
P_SIGNAL(first,WAKEUP)
P_SLEEP(WAKEUP)
) **%+ ,
- . " ) / 0 S P S V 0 % / " 0 S P 1 S V2 3 '
4
- % ) 1 3 2 - 5 % )
% ) 0 1 2 ! )
6 S V S P 1 2 !
S P ! −"#
$ ! ≥ #
S V & ' ! # % ! (#
)*
+$,- ) ( . !% S P
)* / ( 0 1
2 3
( + -
/
4 5 Æ $ ! # - '
) 6 + 7 . $ + ) 4 8 ) 9 5 7 ! # 3: 7 , 1 -;
! < ))+ #. )
$ 3 7
-; $ 7 !% 4
+ :) $ = )
0 5)
)$ 4 > ? $ )< 1 @ 3>1 7>+ )4 $ 5 $ ) 7 ; 8 1
7
4
/ ;
$ % & 7 ( - )10 ' 1 -;
-
$
!" # 8 : 1 -;
/
- /
! 1
)5 # $ 7 5:
+
+ A ! 8 BLOCKED < S P# $
0
$ 8 0 0 ' 11.2.2
Message Passing
4 B # 1) ,
@ ! # ! % # -
) $ ! # E OPEN(exchangename) -;
! ! " # $ E SEND(exchange-ID,message)
"
% E RECEIVE(exchange-ID,message) & ' message ( ( ) *
+ , & -#-$ - #
- $!
' E RECEIVE! . " + & / ( ' 001 Exchange: EX1 Message-Queue
Prozeß-Queue
Veni, vidi, vici. Message Number 2 Service-Request: 12FE
' 0012 E RECEIVE , 4 + " 3 # & ' . / & 5 6 (
% % ! 7 6 , ' 6 # 8 3 4 " 9 5
/ " (
.
E RECEIVE " E SEND
% BLOCKED " # " + ' 00: 6 " .
6
' 5
+ " " + & % BLOCKED READY
# " ;:00 9 " #
7 ' $ " +
+ & -#-$ " " +
Prozeß-ID: 4711 BLOCKED Exchange: EX1 Message-Queue
Prozeß-Queue
4711 0815 1234
Prozeß-ID: 0815 BLOCKED
Prozeß-ID: 1234 BLOCKED
!" !# $ % #& ' ( E ACCEPT(exchange-ID,message,time) )" * % # ! + + ( E RECEIVE , % #& E ACCEPT - + . time " /0 1 2 " E ACCEPT $ ! % E RECEIVE ! !" 30 " 1! % - ". " " E ACCEPT ! 2 $ + 1 ! + * E CLOSE(exchange) ' 45 + % # + % 6 + (!#2 + $ % ," # 2 # 7(,)#8! $ ! 1# !+ &! !9 : % ! * " " 3
; " % + 7),( 7& E RECEIVE " + 7< ," -2 !#$ =>? ! $ . % "0 $ 883 & - % . + " ,! " ! 2 7 "# - " @. " " " @ ! + 3 " % !# 7),( 7& + + 7<
+# * P SLEEP + E RECEIVE(SERVICE REQ,message) P SIGNAL ( ! E SEND(SERVICE REQ,message) , + message 0 9 6# ' % %= 3 A +#
! E RECEIVE(MUTUAL EX,message) E SEND(MUTUAL EX,message) # $ % " & ' ( E RECEIVE(MUTUAL EX,message) ) * "+# ! , ! $ , ' ! - ! ./.01 '2 ! ,%3 , READY 0 4 & 1+ ! $ " #5 11.2.3
H¨ ohere Mechanismen
' , + 6$,%7 % , $,+8 9+ ! ! ,$ $, % ! + , E SEND ! % 3 $ ! , $, '$+ ! : + 6 0 $+ ! & + , 5 /+ ! & ! + + ;! 6 '4 + ! $ 08 , ,! , - , 0 + 0 ; + + , * .+ & + ' 9 + + 6$,%7 , 9 + -! / !+ + 1+ ! <$ $! ! 7 , ! ! & $ ' $% S V S P :5 ' & # , ) + ! 7,$ " % ' ! , & $ ' S P S V , ! ! 6 0 $ , $ ! % '4 ! ' + 0, = $ 0 : 0 8 ! ! !+ ( / + ! ,! ! $ , & $ ( +, $ ! ! $ $
11.3
Asynchrone Methoden
>, ! ! , 6$,%7 '$+ 4$ , 0 ;
! ! " #
#
$ # %
&
' ! ( A TRIGGER(signal,process-ID) ) *
+ signal +
, %- ! + .% + /00 + +1* 2 $ 3 + 4 A CATCH(signal,service routine) ) 5 signal 6 *
! + + /00 + + 71 # + /00 + *
+ A CATCH + + 8 9 *
* :;< ! *
,
BLOCKED2 5 , 2 +
& + 4 A PAUSE() + + *
, 9 READY 2 A PAUSE
+ 8
7 , 2 8
+ P SIGNAL P SLEEP %
= READY *
+ 8 > ?
7 ? 9
+ > / 7 @ *
6 > *
+ 8 %
+ > *
+ +7
8 >
11.4
Deadlocks
( 0 / :;:
7 * !
6 ( # A ! 0 = *
, 2 ( 0 B ( + 7
* *
C 7
*
1# , ! ( = 6 2 6 8 !
( + , ?2 /
* B 6 ( 3 3 ( 1 9 !
! ! "# $ %! & ' ( )*) + , ! ! .!/ ( ( ! ( 0 ) 0 1 0 2 0 3 0 4 + ) + 1 + 2 + 3 + 4 0 i + i ! ! $ i 5 0 ) 0 1 0 2 0 3 0 4 .! ! ! 6 , 0 ) 0 1 0 2 0 3 + 3 + 2 + 1 + ) 0 4 + 4 ! 7 ( + (! .! $ . &8' 9 : ; - < ! ! ! (= > + 7?! . ? 7?! >! $ 5 5 "! 7?! $ , , &( ' 8 9 = + ; @ $ 7?!-( @ ! A , @ " ! &$ ' & ' = $ B C $ , ? $ (! $ C $ . ! ! ' (! B ! ! 7?! B (;&$ .!-" $ B / B 7?! ! ? , ! $ !! Resource Waiting: 7?! , BLOCKED @ Partial Allocation: $ 7?! ! , Nonpreemption: B 7?! > + ! Mutual Exclusion:
B C . , "; ( "; $ ! $ 7?! . , @ $ + ( $ C 8 ! 5 .! ! & ' , "
B 7?!-,
! "# $ % & ' $ !
$ ( )($ * ( + $
( +
( ! ! $ $ , + - ( ./ & ' $ ! "#
0 ! (
- ( ( *
! 1( 2 ( * " ( ! 3 (
' $ # (". Deadlock Prevention: ! +
" ( +
( + ! $ 4 5 ! + $
"+
, #$ + *
" ! #$
3 ( *
$ ( ( * # Deadlock Avoidance: - ! +
! ./" ! / !
" $ ! (
! ( 2
6 ! ( 4 5 Deadlock Detection and Recovery:
0 ( +
( ( * (
! ( (, # "
7 0 !
#$! 2 ! ( +
(
%
$ $ , * ( " $ 2 ( 0
! ( 8 " #! ! - # 8 9 42 ! 5 / ! 2 ( + $ 196: ! Weiterf¨ uhrende Literatur
' ) "0 & ;<== 7 > 0 ? # 9 @ ;
! "# $%% ! "# & ' ! "# $%%
12 Speicherverwaltung ! " #
" $ ! % # " & ! !' ( % P CREATE(program,parameter,attributes) ) * %
" + ! , - . % % - . ! " + ! !
# + -% . " & ! $/ , ! 0 + " , ' , % ! ! %
" % 0 (! %
! " % ! % , -% 1 $. " + * ( % 0(2 !
$ "
3 45 (! 67"8
,+ - .
CREATED % ! " + # + % % 9 ! ! " : + - # ! ;! % .
!
< 0 % " & #!
, - ." = & ! $ 1 " + 0
$ ( ! % program " ( & ! , ! " ! + & * READY % + " ;/ ! $ !'
< # ! % > (! " * $/ ! - . " $ % 0 (! ! -. ! " ! (! 5 ! ! " + ! ! , (
% #! ! #! " ? $ + : !
%! " $ , ! ; % ( " ( ! ! 3
(FFFF)½
(8000)½
←
(5000) (4FFF)
(1000) (0FFF)
(0011) (0010)
(0000)
! "#$ $ % %$ &'( % ) $* + + ($ , &$ ) ((& & "& ) - ) + &
%$" ) $ % "* !& +# " + * + "#$ , ! $" $" $ $" % . / + * $ $ ! $ '! & ($ ) &
/ + $ $" !$ 0 ( & ( 0 '$ +* & "#$ !& & % $ ($ 1 "#$$ ) $ % $ $ & !& & ,# $ & + / + $ 0 !& & % !& * 2 & + '!( % "& !& & !& ( 3 4 5& !& & !& ( $
/ + & $" !$ $ "#$& * + 0 6 0 +$ #7 $ ) & %& ) ! $# ( * $" ) $ % $ $# %
$ ) "#$ 8 ,# & + & 9 8 $ & / "$ + * & ) $ % ) & 0 ( $" $ !& & % ($* 1 * + + 5 : $ + ; $# $& 1 <$ $ !& & % ($ & $ + 1 $ 0 (&
8 * +& + 9 $ !& ) + $ &$ ( ) <$ ; = (+ ! # 8; ($ $ &* >$ ! ( 8 ; ) ?$7@ $ & 0 ( $ $ & 0 "& $( >2 ) ?@ $ & 0 ( 1 & $ <$ ; ) $7 0 4 >7& ($
!
"
# $
% & ( ) !
# !
* ! * +
'
!
,- *. !
12.1
Virtuelle Adresszuordnung
/ . +
.
0
+1 !
# 2 ) " )% . # ( ' ' 3 ( - 4 *. ! # % 1
"5
6
easysort
* 7
& ! 3
.
& + " % * 8 + # + "9 % : ; #
. "
*
(<
% /
.
+ 3 ! & # & , & ( # !
* 7 6
=
Hauptprogramm
Eingabemodul PROCEDURE eingabe(...);
VAR input, output:ARRAY [1..100] OF INTEGER; counter: INTEGER; BEGIN (* Hauptprogramm *)
Sortiermodul PROCEDURE sortiere(...);
counter:=eingabe(input); sortiere(input,output,counter); ausgabe(output,counter) END
Ausgabemodul PROCEDURE ausgabe(...);
>7>= *
!
"
! #
$
%
"
& ! % ' " " ( ! "& ) * ' ! % ! + $ , %
' - " . / 0 * % ! & !
) + ' % 1 " '
2 " *!' % 3 2 " ) +- & *
" 3 % ) + % * % 4 ! 1 5 6. '
# ' * ! "& . . ! - ( " 5 !
6. ' 2
) ! + 7 1
! 1
8 0 1 3
3 / 0 " " ) + / % 2 *!
" 82 7
"9 ) +
% * ( # " ! $ " : & ) 3
3 +;
(37FF)½
(0800)½ (07FF) (07FE) (07FD)
← ← ←
(0000) (07FF)
(0102) (0101) (0100)
(0000)
!"! # !# $ %& ! # '# (!#"! ) # "! !# ! " ! * # +#! % ( # #, #
- & ##! !## %& .& /, ! "! 0 !# -#, '! ## 12&! # 3# ,!( # # -4 3" ' 5 ! ! "! 3 ! ## 6 2,( -" "( + %& !" ## 72 8! & 9 # ! ! #;) ! -! ! <3 "! : # ' ' (! -#, # #! ,!## ! # ( 3 & ! ## # (! -#, # -"# 6 # 7 ' # # "! 3# # ! +#! # #, # 3) " #(! /,.& 3
1 =!, # # # %&# # ) ## ! # !3# 3 ' !# # ! %& 9# # ' ) ## !> !#"!# #, ,(, &# ! ) ! ' # :"# ; !"!" '6 !# # ! > 9 # # ! # '#) !3# ! # 3 9 ( # " , # (! . # 9 ' ! # 3 ' #, # # 5 #3 12 # #,( # ! 0 .& (! -#, ? 9(! #, < 9(## (! %!"( @ ) # ' ! 3 & 3 ) 8!& # # , &# 5 '
(E7FF)½ Ausgabemodul
!½
(E000) (DFFF) Sortiermodul "
(B000) (AFFF) (AFFE) (AFFD)
#$%& '! ( #$%& '! ( *
!
#$%&
! (
!
← ←
#$%& &! (
←
#$%& '! (
&) #$%& '! (
(A800) (A7FF) Eingabemodul &
!
Hauptprogramm '
!
(6800) (67FF) Ausgabemodul + &
!
(5800) (57FF) Sortiermodul +
(5102) (5101) (5100)
!
(5000) (4FFF) Eingabemodul + '
!
Hauptprogramm + "
!
(0000) , &'"- *. /. 0
! " # $ % &'( ) *+ , - ! & " -& + . / . 0& 1 & - 0 + $ ( / $ ) / 2¿¾( ! / 3 / ! / / $ ( 4 & % ' # % & 5 ) && 3 & . * , 622 7
(FFFFFFFF)
16
Virtuelle Adressen im Segment
16
...
(00000001) 16 (00000000)16
(00000000) 16
Segment Nummern (FFFFFFFF)
16
Virtuelle Adressen im Segment
(FFFFFFFF)
(00000001) 16
(FFFFFFFF)
16
(00000001) 16 (00000000) 16
31
(00000001) 16 (00000000) 16
0 31
1
0 lsb
63 msb Segment Nummer
Virtuelle Addresse im Segment
Zweidimensionale virtuelle Adresse
6225
12.2
Physikalische Adresszuordnung
! " # $ "
%" "
& ' " () * " +
& ) & # ") ,
+ ! " - ! $
# + ,% . ' " - ( #
12.2.1
Swapping
/01 " & )
+ 2 ! " - " ! "
+ " " ! " %" # 3" " * 4
$ " &! " ) # 5" 6 -
, - " ! " + # ! " 3
, $%
& ) $ ! 7 3" 8 " "
7 + 2 &! " ) & * 9 "
# # ! " # , - * %
# " - - * /0 "
# & ) 6 ! " &:;;;) ½
(FFFFFFFF)16 Scheduling
Swapping Image Pn
(FFFFFF)16 Roll Out Prozessor 1
.. .
Image Pk
.. .
Image Pk
Prozessor 2
Image P3 Exekution
Image P2 Image P2 Image P3
Prozessor m
Roll In
Image P1
(000000)16
Image P5
Physikalischer Speicher Image P1
(00000000)16 Externer Speicher
! "!! #$%%½ & %%%½
"!! !! " & !( ) "!! * ! +! ,' " - . !! $%%% & - & /!! ) !0& ! ! / ) !
)& 1* "!! "!! * +! 2 ← 03% 4 5 03 4 * & !! 0!! !! #$* %*
!! " /! " ! 2 ! & 6 ! "!!! ! 7 0!! !!! ! , ! ! , 8 !! 9* ) !! ! ) / ! ! 6 : ! 2! 2 ! 2! ! 2 ← 03% 52 4 5 03 52 4
! " # ! $ % & '( )$*+ $* "
! ' ! , ! - $* ' $ . / $* 0
) ' . ! )
1 2 3
0 ! 4 ) / * ' 5 ! ! '
. * 4 , / +/- 6 / * ! , *- + !
0 )
4! + & / ! ! *& , , - * ! 7 - 8 5 * ) * * , - ! 5 ( ! . ) 2 3 ! ! *
. 6 ! ' ! 9 ! ! ! ! 8 fixe Partitionen: .
n 7( ) 4 ) * /
: 1 8 ' ! ) ! ) ( # 6 ) variable Partitionierung: ' . ) ' 4 ! / 6 ! * + ( ! ! ,! / 9 9 / 9 / - # ! / ! '
Æ ! ) * '( ! 5 ! ! ; * . 1 ! *% : 0 ( # 6 6 + ) * '(
" ! ! ,
! " "# $ % & ' ( )* " + , )* # ( " # , -". + -"# ( + / ( 12.2.2
Paging
! 0 ( 1 + 2 3 ' ( & & 2 gleichgroße ', , 4 + 3 # 567 / 8 9/ : "
, ' "4 + & , "1 .; ' 2 ( / <6 / ' 5 9/ $ msb 31 30
lsb
. . . .
Logische Page-Nummer
12 11 10 9
8
7
6
5
4
3
2
1
0
Offset
' 56 8$ 4 "1 ' ' / derselben 4 + " , :
, , = ' > "# 4 ( !" : # 2 . ", " ( ! ? , ! " ( 3 , ) * 0 ?, 2 9, , ( ( ' , & ; ( = 4 @ ! ( % / ' " . = & / , ( 3 '" , ' ( 1 A ' , ' > " , 2) *" 2 (
, 0 -( (
! , 2 / "& > ' '
! "
#
# !$
%!
&$ '! ! ( # %!! # ) " # % # % # # ) ! # * !$ %! +
, % # - # . ! + #
# / !
→
1 23 45 0 ! 6
$ #
6 7## # 7## 6 # #
& *# !$ 1 # 83
5 1 23 4
2 0 $ 39
!$ ## 5.
virtuelle Adresse (vom Prozessor) Page-Nummer
Offset
msb 31
lsb 0
21
0
Page-Nummer
9
0
Frame-Nummer
Page Table für Prozeß 4711
13
0
9
0
23 msb
0 lsb
Frame-Nummer
Offset
physikalische Adresse (zum Speicher) 23 4. # # # , # ## 7## # 7## # & : !$ ; #
# <=
, #!
6 # -#
! "# $ # % & ' ( ' & ' # ) * & # # # ) # + ) ,
-
. / 1 $ 2 ( !
#0 " + #
3
4 5' #
3
' # #
6
7 % #
! .# .
' % 2 #
# )8
$
!
# 9 '
! 0' 1 . !
)
9 # #
7
3 3
4 3
$ ' 2 ! #
#
%
3 # '
$ 0 1 * #
! % ' / " ' & ! # # ' . " 0 1 2
7 0 1 $ + :
. ' * ; $ 6 # " 2 7
9 2 # 7' #
! - !
" 6 8 ! ' # 6 3 + # % 2 #
+ 9 # , , 3 < 2 ' * 2
'-
# 0 1 3 6 8 + # #
First In First Out (FIFO):
! ! " #$ ! % " # Least Frequently Used (LFU): & "' % ( " )
! " & #! ! * + & , % *! + ! - % " ! Not Used Recently (NUR): ()& % - . * /0 + # ! " ! . 0 % " & * + % ! 1 " 1 2 1 3 0 4 5 " ! %! 1 2 ! 6 , ! 1 %! ! 2 7
% 8 ! " ! 8 9)
:!7 2 & ! * + * + ! " 1 %!7 16 : " % , , 11 " 1
1;1< ! ! , * + ; ! & " =>?@ % ; A 4
5 ! ! : , B 0 & &3 2 ! 2
! 8 % & 1 9 & ! ! % * "C+ % 1 %
% #
" 11 " 2 !
! #
1 % .6 ! 1 ! 1 1 % 1 ! 2 " ! 9 ! % "
.
) ! 9 8 * C+ " 8 Least Recently Used (LRU):
!
! " #$ %
# ! & '
( ! )
$ * ! + #&
, !
. /
( ! !
"
!
(
! # 0 ! + 1 . 2 # & . ' #& + . 3 45 3& ( 1 67 8 "
' 1 1 $ 9$ 2 : $
;< #
12.2.3
Segmentierung
# !
1 # !
!
0
. = " )
( = &
* !
& $ , 8 + ( !
/ & (
: + 0 ( !
><
+
><
4?5
0 " 4?5 45 3 / 45 3 ><
?@ 3 & ; * 5@ A3& )
&
( 1 . + < 3 & ! ! 1 + ; ! & : ! )
3 !
B ( C 1
virtuelle Adresse (vom Prozessor) Segment-Nummer
Offset
msb 31
lsb 0
15
0 15
Segment-Nummer
Länge
0
Startadresse
Segment Table für Prozeß 0815
+
23 msb
0 lsb
physikalische Adresse (zum Speicher)
! "# $ % &'
( ) * + ( % "# ) ,
. . 0 ! 1 ( /2 * 3 1 .4 5 ! % (
$. 0' ( ( 2 * !/ 1 6 78 1 ! ! $ ' 1! " + 1 1 9 1 !
3 %78 2 ! 1 6 : ! )
5 ; ! 1 2 * 2 1 ": 3 ! : + ; < )% ; 1 ! + ! 9 8 Æ 1 ! ! : ": $
zweidimensionale virtuelle Adresse (vom Prozessor) Segment-Nummer
Offset im Segment Page-Nummer
Offset in der Page
msb 63
lsb 0
31
0 21
Segment-Nummer
Länge
0
9
0
9
0
Page Tables
Startadresse
Segment Table für Prozeß 4711
(05FFA4E3)16
(8000)16
Page-Nummer
Frame-Nummer
Page Table Segment (05FFA4E3)16
13
0
23 msb
0 lsb
Frame-Nummer
Offset
physikalische Adresse (zum Speicher)
!" " # $ % &'(
! ( ) * # # ( "!( " + * , ' - ( . / + "
0 ) &" $ 12 " 0 + ( 1" 1 ! # , 2 320 4 +# 5 + # + *( *
+ . " ( 3 # *!" . / * ' . / + " + $ &'( # + 6 7#
! " #$ % & ' $ (
$ ) % * + , - $% .$/ 0 & ' # $ . / 1 +
% $ 1+2 $ 3 2 1 % 1 # !+ 4 !
5 / & ' 6 % ! # ! 7+ . $ # $ 5 # Weiterf¨ uhrende Literatur
% ) #% # 28* %+ % *# % 9:;< % =6 + % % + % 9:;; ( +5% 7 = % >??9
13 Ressourcen-Management
! " #
$ % & ' ( ( " )* + + ! + $ , " - " $ . . / ) 0 # .
$ . % $ 1! "
13.1
Objektorientierung in Betriebssystemen
% # 2.
3+" 4 )! % / . . " $ , 3+
" 3+ . . " 5 3+ / % "
. 7 8 3+ 6
2 . # .
. % ( ' . , 3+
"
- 3+ + %
+ . . . . "
1 - "
+ 3+ 97 6 . , . . :! ; . " 5 . ! .
" 1. . 8 7 - : 3+" $ , 6 3+ / . + % (
- : . 3+ $ " 5 . % 3+ . " 2 + ) 9 <
! " # $ %&' '' %&' ( ) (
* ' # $ + , - .
! " ( ' # $ ) / ) # $ ) "01-! (2 " ' %&' 12 . # ( 2' 3 4 5 6 7 # 0" + 6 # ' ) 85 %&'7 3 & & # $ ' %&', (
# $ & 7 ),! 8 ' / 8 ' 8
%&' )! ! ' ' 2 8
# $ %&' ) - 2 6! 9' %&'7! 0 ' , 5 7 8 ! 3 %&'7 ' 0 ' 2 7 72 ( (2 : " ! .%&' . '
%&' ) .!%&' : %&! 7 - $' !" 4 8 !
13.2
Device-Unabh¨ angigkeit
- %&' ) ( 7 ' ( 2 : ) %-, ) 0- 7 ! 7 ) 7' 7': ! # ! 7 0 .5 (2 3 2 4 7 ( , : -7- : : ! / $ % &
! " # " " $
# %
& '( )
*
+ ,- # ./0 # &/+ # &!/
# '// # )1&&.' # )2'/ / # (
!(" + *
/3 + '
' 3 " + 4-4
" $
. " " #
F_OPEN, F_READ, F_WRITE, ..., F_CLOSE Filesystem Type Manager Disk Files
Type Manager Drucker
+ 4-45 . "
Type Manager Terminals
...
' # ( !("
0 " / 2 7 6 8 9" # !(" $ : (";
1 "
# '//
< / # $1 " /
=9 .
> 0 $1 +
0
$
" / 8 $
.)$#
$)
:'%8+
# $.)
: 0 7 " ; + . 6 8 "" ' ; # $
'
'$'
% :
.
'
;
+
"
? @
.
$!
8 ($
" * + "A )
#
@
: (; 2 !
+ +
+ '
' "
$. )
. 9 $!
:
"
B; + 1
&
:. "
;
.)2
. # :.#; @.
' @ A +
' C
.
( 5 +"" $ "
/$ + * + +
! "# $ % # $ & #
' & ( )' * & + # ( + ,
13.3
File Management
-
' . / !0 ) , ),
Files
# & ) $ # C A D # $ ' / $, # + - # &
# 1 ) 2, ) , 3 !
& +$/ ) $/ , # 4 / )& , ! 5 + / & )/ , + $
& 6 # 7 # " (
* & & & ) , ! 6 + - 8 ! ) , ) , ! $ +9 " :: ! & $ # 7 ) , # & . + # ! ! ) + , 5 # & ! / ). # - # # , # # !
) ,
/ $
" + 5# 7
) , # ! 6 - $ & ;
!
" # !$! ! % & !!( % ! ) ( '! ' ( !$! ! ! !$! ! & % $ * ) + ! ,!'- n( !- & ! . i( ≤ i ≤ n − ! ! ! / ! 0 ! *) 0 & ! 1! 2 & ! $) ( ! 3 % +! 0 ) * / ! & % n & . + /( ! + / ) & . n− + ! / ,!' ( 4 5$ ! % ' 6! ! !' ! ) ' 7 1 ( 8 & + . / ! ! 1! $ $ % '! ) # 4 . , ) ) $' & ! ! ! 1! +) # % ( # 1!$ ! / 7! 6! ! ! & % ' + / ! + ! ! / #! 9 ( ( 1! )! :!' ( 1 0 % ! & 79 ; )! 0 % 1! ! * $!) !1' ! !! # ! < 3!) % ! ( ! )! F OPEN +filename( attributes/ 0 #! 9 ! != ! ' ( % ! = ) ) *! 1 ! ! ! ( 1! *! 6! % & ! ' $ ! + /( ! > ! + / ! $ ! ! + / 6! ?)! 1 ( 1 ! . % ' ! ! !! ( 7 ! @! 1! #! 9 $ ( ! ! ! 3!) ' > ' !!' + / ) . % ! 0 &! ! ! 79 ; ' % >A8$ !!' ! ! ( ! $ %! )!' $ * 1 ! 7!0 ; !1 ! ! % >B ( ! % >. 3 ! ! F READ(file-ID,element) )( & 0 % ) ( > F WRITE(file-ID,element) $ & % ! 1! 0!> A! ) ' !1 &( . !
$ % >3 + " / ! 79 ; F SEEK(file-ID,index) $ $ 3 ) 1! C D) %
index ! ! # + $ " ( % n & . n/ ! % @&* ! % <@.& 1! !( ? ! 7! $ 3 !'( 1 ! D) 6! ! ( % 7&&4 ' & ' '! & % ) C ! ! :! 1 ! ! %! 1 E $ % >3 ! ) $'( 1 ! F CURRPOS(file-ID) 0! < %
F CLOSE(file-ID) !" # $" % & ' !" $ !" # ! ( ) *+,! - . / # , * F DELETE(filename) 0 % & $ & ( 1 ) (2 *$! ) $ 3 4 & ($) # $" ( 3"$ 1!) $ - & & # 5 3#
& & & $ & , # , * F CTRL(file-ID,function,data) 6 (& ) ( ) 7 & !- 031! 7 / # & , * ( # ) & - 0 - & 6 () , 8 9 ( ) ( " ) & , * - # , 0 # ' # 0 !
# 3 +#
% - & ( ) 7 &- ( ,2 -) 3 # - : - & $ 0 - & ( & ' % # ) ! - & $, # , ( &# -# ) $ & 2 5 1 & $ - ; - 5 & # 7 $ 4 $, ! ( ) 1 & -1 1 & (& - <=) ! $, Directories
! -#
$ ! + ' $" !"$,& $* 8 0
! " # # $ % " & ' % ( ))) *+, -.'.' 0 /
1 *% " 2 1 31 1 41 3 31 5 6 6 " * 3 % + $ " 1 3 2 3 7 1 6 " * " 51 * ! * 3 ' 3 1 8 6 % * 3 9 9 * ! 1 1 * 1 5 5 1 6 # Æ 1 *% % " 5
+ :1 4 " 1 % 1 3 " ! 6 1 ; 3 )<= 3 % Æ 6 % 0 1 1 /
11 00 00 11 00 11
Root Directory /
11 00 11 00 SYS 11 00 11 00 PRG
BOOT
11 00 11 00 DEV 11 00 TEST
TERMINAL1
PRIN1
11 00 11 00 DATA 11 00 11 00
TEST
11 111 00 000 11 111 00 000 FRED HUGO 11 111 00 000 NEWS
111 000 111 000 GAMES 111 000 111 000 HELMSPIEL JANEIN
11 11 00 00 00 11 11 00 KORRESP 00 11 00 11 DIVERSES BRIEF1
)<=> 3 % !
3 % 1 * " 1 ' % ' " ' 6 1
! "# $ ! % # & ' ( )#
* + " ", ! , ' ( - & ." ! /01 ,# , '%% +2%+( +2%+ % %% 3 % 4%%4+2%+ , + ' , .!5 4( # ! " * 6" * + ' ,( 4 86 5 7 + ' 2( # * , #
9 , # -
*
), . + , " % : P SETCD(pathname) )# : *
* ; , # ,
' # ( : *
" P GETCD(pathname) * : , * ! ! : - : 4 +4<.9= * -352/ % &=332%* ", &=3 32%*4-352/
* - " # * ! , "#> % , ,#
%" , ! '. ..( ' ( ,
! . ?, .. )# + ' ( * 4%%4+2%+4 ,# 4%%4+2%+ 4%%4+2%+4 4%% %
9 : - 4 +4<.9= , * 4 +4<.9= * .. 4 + * : 432 4!2% ,# 4 +432 4!2% . & + " "# # 2, % : , # #
=*2! 2;2+2 # ,
! # * * " F OPEN("/DATA/HUGO/KORRESP/BRIEF1",READ+WRITE) ,# -352/ 4 +4<.9=4&=332%* '# @( #@ 7 9 "
! # ? - F OPEN("/DATA/FRED/FAX",WRITE) 2 ! 4 +432 - A# " # 2
% , , F OPEN(pathname,attributes)
# '32 35+2 2 2:.+2( 532:+=3 ,# , F OPEN("/DATA/HUGO/TU",DIRECTORY) ' ( % ! +. <.9= % *
" " - #@ " :;=%2 2 "
,# - , ; !
F OPEN("/SYS/PRG",DIRECTORY+READ) ! " # $ F DELETE(pathname) % !"!&! % ' ( ) # * " & ) # %
# $ + # , #) $ P CREATE(program,parameter,attributes)
program -% % . *
# !
. * , ) ) , /
- + % ) % % + , ) -
% .
0 * /) + , % # " 1 +
)
,
%
# ) 2 # % ,
+% ! . % % ) ,
3 # ) * 3 ) " *4 '
( -% * # $ F LINK(linkname,filename) " -% linkname % -% filename 5 5 ) 67+.!# 0 7+ 6+&+62574 )% *
F LINK("/DATA/HUGO/GA","/GAMES") / " *0 7+ 6+&+62574 , 67+.!#62!".#-(!" 6+&+6257467+62!".#-(!" * 7 " %
F DELETE(linkname) + /
* ! +
) " % ) %8 ' %
!
, % / .* % ! .9 " ) % ! - ) *#
. : - ' + ) ! - '
+ 7 ! < & ; (
'
% -% ( $ * ! , 2 6 % < & ! . * ; % ' ) % ! / + < / ; , 0 (#3= (#3> ,
: 7 % .# * ) %
0 7 : 5 #
# 1
! " # $ % F MOUNT(device,pathname) & device & ' pathname ) ( " ""
*++ ,
111 000 000 111 000 111 000 111
Root Directory
GAMES
NIMM
README
CHESS
) *++- "
) & .#'/0.112* 3))34#5.30.1126 "" 7 '8 1 3))34#5.30.11235) 3'8 ( ( ' & 9 ( : $ & F UNMOUNT(pathname) & ) 8 ( ( : ) ; 1 < = 4 >(" # '( ( (
( ( ( ) 1 ) ? 4 @ ) *+A ( # ( ' ( (
/ 6 ( & 4 ": " ( ? /6 = $ ) *+A ' = "" 33 (: ' & B & & ( / ( '6 ( / 6 4 ( / 6 4 .#' ( ( 7 /6 4 7 & File-Attribute
!" "
Network Root Directory //
00 11 00 11 00 11
000 111 000 111 000 111
QUID
00 11 00 11 SYS 00 11 00 BOOT 11 00 11 00 11 00 11 DEV 00 11 TEST
MYNODE
PRG
000 111 000 111 000 111
MARY
TERMINAL1
PRIN1
HOST_A
00 11 00 11 00 11
HOST_N4
000 111 000 111 000 111 S
000 00 111 11 000 00 111 11 DATA GAMES 000 00 111 11 000 TEST 00 111 11 00 11 11 00 00 11 00 11 00 11 00 FRED 11 HUGO 00 11 11 00 HELMSPIEL JANEIN 000 111 00 11 000 11 111 00 000 111 00 11 KORRESP 000 00 11 NEWS 111 DIVERSES BRIEF1
!" #!" "$ % $!" & !" '( $ )*"+ $ , $ ! $"!"
!"
,# $ $ $" -!" # " $ . "$" .#!"
/ " 0! ' 1$ ( 2 -% 3 '
( !" '4 4(
'" !" 5( "$ 4$!" * $ 4 !" !" " 6 !"
$ !" $ 4 ' 77777 272 77777 8- 9 -6 ,& :*7 ; /" 4 (
,3
" $"
3 2 " < 6 " !" ,!"
$!"!" * ;
2 !" '
(
= # ,& " '> 0"( 0! $ !" $!" !" ? 2 =$ "
2 $!" -" ) + 0! ' ! ( "" : ," ,# !" ' 0! . ! " # "( $ !"!" 4 $ !" -
!" $ $
2 $ -$!" $%
$ !" !" #!"
Æ ! "# # $
% & '(" $ ) *Æ ) & $ + % ( $ !" & &( '( !% ,- $ % ( $ ! ($
./%/ $ - ! % 0 ! $ $ %
$ - + - #
! 1 2 $ 3 ! 45 % Concurrency Control
( # $ 1 "6$3 ! ! 71 $ %
& , $ 1 6$3 $ $ % ( ! $ + $ ! 8 (% & $ #$ ! * $ 9 * $ $ '
($
..%. + "# ": " #66; <== $ & % * ! $ # ) ( % > $ ! ; #$ " #
$
! % * $ ) #
71 #66; <== % & $ 4 5 $ !9 & - + 1 ! "6$3 $ % &$ $ # ! ; % > ; 6#: 7 # % # $ 6#: ! $! ( ! ! ! % #$ ! ! $
* !% = $ $ $ ! # ! $ 6#: 4 5 (
$ (& * ', ?+=, #=>;'+ (& #=>;'+ * ', #=>;'+ ?+=, % ' @ - ; - + ! A >$ ! $ ! % : ; $ @ +- + % , ! ; $ " ! % 0 ! $ ;", % F LOCK(file-ID) F UNLOCK(file-ID)
!" #
$ % &
' # " ( ) *
+ , " - . / 0 " " * 1 " # 2 3 " . / 0 ' 4 5 / 0 3 6 "
/ +0 " 6 " - * * ,
777 , 1 *'' 82121 / 77 *0 / 790 " - ' 3 ; :1 *'' 82121 " - " " * * " * . 3 " / '& 25'&0 " 1 3 ,< (".< / " 0 - , / ,
=0 > 3 & / , ! 0 " " , ? 5 1 .< " - 1 5 , * " " :; > : ; *'' 82121 ,
777 @ 4"
> " 1 5 $ " "
' ,
AB @ , , " 1 Device Driver
- , ' 4
" " 4 # . 1 ( $
,
" & - > C $ > " " ) " " # ( *
,
!"
!" #
%
& ' $
( )
* !
& ' + , % - $ ' (
. /
0 . "1 -
.! 2 '
(
. !
034
! 2.! 2 !5 1 -
0 6 %
1 '
* 7 8 % % % % + 9 % # 0
1 %
:
0
%'
*;
:
0
!3.
1 ' 5
1 2 .
# 2 %
*;
!3. :
, .' , .!) % # %'
User controlled
requesting process
device driver
interrupt− handler
Kernel controlled
Hardware
physical device data transfer
<'9 %
,;3 % ) % =
> % ? " @ . / ! '
A%
2 ) .' 2 2 ! % 2 % %
,;3 :
>%
- . ' 2
" %
%
% ) ' , ) %
- 2 ' @
2
. @
% @
A;2 2 BBBBBBBBB& %
' ) $
3. ' 7
- A! 2 . % %
% %
%
'
C
%
!
"
# $
%
& ' ( $ ' ) *
+
Æ
# $ &
, ( ) &
& -*
)
) ./& 0 0/ &
& ) ./& ) 0& ) 0/ ,
& '1
) 0/
) 0
"
,
&
&
2 34
& 2 2 2
" ! 2 2 2
4
3
'
Disk-Management + 3
( 2 3! )& 3
5 2 ) 5 6 ! ( & 5
( 2 8 9
)3 7
2 2 : ; & ) &
(8 2 +
( ( <
& % 2 +
& ) )) ) ( ! % = (
2 )8 # $ (
& 3
28
%
8
6 2 ))
"
; &
% '
>
)
2 8 & !
& ) )
% 3
& (
, % &
&
% *
&
" ! 3( 0
(
<
( $
?/ (
&
* 3
' % '
%
2 ) @
& %
&
)
(& (& ( ( 3 & (
*
, 2
& '
!"
# $ % % & '
( ) % *
& &
& % &
+ , - % # $ + - ./0 1 .// # + 1 Datensegment Datensegment ROOT File Descriptor Segmentliste (0118,1) (0182,1) Block: 100
. .. SYS BOOT
0100 0100 7111 0312
BOOT
Daten - Block 1
File Descriptor Segmentliste (0080,3)
Block: 80
Block: 118 Block: 312
Datensegment DATA TEST GAMES
Daten - Block 2 1001 9000 8900
Block: 81
Block: 182
Daten - Block 3 Block: 82
Datensegment DATA File Descriptor Segmentliste (1432,1)
. .. FRED HUGO
1001 0100 4033 5010
Block: 1432
Block: 1001
./0, + 1 ( & .3 ..3 2 2 % +1 4 5 & . %
& * + % & 5
6 7 ( ) 8 #
( ( - % 7# 1 $ % 3 3 4 2 2 5 3 2 6 5 3 2
&
4 - %
9 % : & % # ;
! "
# $ $ % % & $ '! ( "
$ $ % "
$ # $ ) ! ) %! (
% * # "
! +
) ) $ , ! %
# ) ) $
* , $ - -
" "
% ! % # * $ ) +,. ! / #, $ 0 - 1 $ ! 2 % % $ 0
- 1 ! $ ) ! 3 * $ )
,"
-, + ) )$ ) $ ! 4 % %
) %
% $ ! ( ,
- 1 $! 5$ %
#
" - % $ $ % .6
717/(2 $ !
8! & % )
- $ 9 % "
8:: ! % # * $ ;! ) )
< 9 % "
# ! / "
$
) $ %
,= 1 9 ) ,"
8::8!
>! ) 1 "
8::8 % 0$ , ! = () # % $
,= /(2 !
% %
1 $ % ! ?! %
# 0 )
% $ " ) "
@A:> # 8 "
"
,
@A?B # 8: "
! % ) /(2 $ %
0$
$
"
@A:> ! B! =
/(2 @A:>
$
- 1
$ "
%!
C! & $ - D), ) ) $ %
6 ! = % ) % %
%
) 3
!"# $
% &$ ' $ $ ( ) * ) # + , - . !/
0 $
!/ )$ &
& % $ /1 2$ !
3
&!
4 #!
) & $
& 7 0 6 5 $ 8 9 !
/
& :
# &
!8
7 ( , ) , ! 2
&
7 ;
,
.
!/ ) 1
+ %
. 9 ! !;$ - & +
9
, .
< * +%2=! 1 &
) &$ 2$
3 ) 4 ,
!
8
6 & 0 / ; ; 5 4 #
3 8 4
Weiterf¨ uhrende Literatur 0 - >??@
! " )!*
) A' , / >??@
# ! $ "
)!*
% # ! " , !9 % A >??@ ) 8 # , !9 % A @BBC ) 8 # ! " , !9 %
) 8
A >???
14 Sicherheit !" # " $ % ! % & ' ( ) ( & ) * ) " " # * * + , )
) & # ) ) - % # ) ( . * - " / # ) ) " ) 0 ): + * ) $ % " ( ) " 1 %2 Integrit¨ at ( ): / + ) # ( .( 3 # 4) ' Verf¨ ugbarkeit ( ): / ) 5 & # Geheimhaltung (
# 6 # , + & ) 7" 8 3 # 9 4 ! 3 ) - 4 : 3 ) 4 # + ;<; # ) 6 # ) / 7 # : 9) 6
) / 7 : = 6 5 Abfangen ( ): / =) : = = 5 # ! - 6 6 #
) 1 )
Unterbrechung ( ):
Information Source
Information Destination
Interruption
Interception
Modification
Fabrication
): ! " # $ !
F¨ alschung ( ): " %& '
( ! ) $$ ) *+ , -
Modifikation (
. / 0 $ " 1 $ 2 % 0 $ " +$ 3 +$ $ $ $ 0 3 & ! 4 0 $ 3 $ 5 +$ , $
% / , 61 & *7 - ,$
8 9 7 %&
6& $ / * - $
# ,$ , 0 7 / $ ) % % ! + " : %0
! " # $
% % & '
14.1
Zugriffsschutz
( ' ) * + % ,
# ' - ) & + # - # % , . . % # % ' % /% & % "% # '
0 12 )/+- 3 % ' % % # . . % ' - 4 % ) + # -
3 - . "% . % - . % # . - # . - .% % ' . $ %
! -
( % 5 - % ( ' % , ' % 63 $
# 63 % % . - % 7 / - % ( % % * ( $ 9 8 # 63 % % ' 4 . - F WRITE(ADDRESS,ELEMENT) ADDRESS % ' # ( % ! # - : ; % $ &% %
! % - < 3 ' ' % < , ' % ) ,+ / . % . 0 . = % ) + -. $; % % 4 )/+- % ' ) 1> 2+
5 ( % . % / ' %
! " # $ % &' ($ )$ ' * $ + , " ' - # ) & $ . $ / )0$ ' 0 ) $ * " $ ($# )$ & . )$ %1$ & 0 &
+ ) 2$3 - $$ *' )4$ ' !&
. 5 $ ) & + ) $ . 0$ $ ' 6 ! ! " + ,# ' $ 0' " # . -' ' ) $ -' *+ ' % 0'/$ . ' * $ 67 " '+$ ' *+ # 5 $
! 8 * -' ! ' & % ' -$ F WRITE . & 9 $ - $ : % $ + ' $ $
! " # $ %" & ' $"' & $(' ) # & " & & ( $ ( ' " * $+ ,' & ( " - $ ( ' & ( . * ) . / " ) & 0 # $ & / ' 1 " $ & ' ( # * ( # ( 2* & 3 " "
14.2
Zugriffskontrolle
!4 ( * 56" " 6 ( " " . !4 7 & "
F WRITE !4 ) ( 3 *8 ! . 7 - * # 9 ( ( (( - . & - - ( ( : - 3 ) 3 & - 56" " 7 " " ) 3 $ ' - 1 " 9 7 ( " " . 8 !4" 7$(' ( ) !4 $ ! '
! " ! # $ % & ' ( ( )*+ ,
- File XXX Domain A
write
Domain B
read
Domain C
File YYY
read write
File ABC
read write
Semaphor MUT_EX
Semaphor SV_REQ
S_P S_V
S_V
S_V
S_P
S_P S_V
S_V
Device PRIN1
Domain A
Domain B
Domain C enter
write
( )*+. % & / ! % & ( )*+ ! ! # ( / / ! . ( 0 ,- $ ,- / 0 ! ( )*) ! ( #" 1 ' ! ! $ ! 2 ' % & 3 ( , % & - $& ! % & ! $ '
! , '- $ ! # , - ! # $ , - ! # , - ! ! 4 5 (16 ! ! ( 1 6 , ! - 6
, '- / ! ( (16 7
' 4 8 5 ,16 $
5 , '- / ! ! ! " 6
16 4 ' / ! ! ( )99 $! # $ , # - 1 !
5 # ! ! 1 6 ! # : 4 " 1 ,! / - ! 1 , $ ( -
(16
! " #$ % & ' ( ) ) *
+ $ ' ' % , -) .- ) / #$ /( 0 % & ) 1 2
- 1 ' & ) ) ( $ $ /$ ( 3 & % #$ $ ) 0 4 - / )$ / - 5 $ 2 -) % -) ( $ ) 1 ) % / ( % & % ( -
5 1 $ 6 7 ( 8 & + $ ' ' , -) % / 3 ( ' % 5 & % $ - ) $ -) -) + $ / ' ) & $ ) + $ ' ' 2 - ( $ + / - ) ) ) & 2 - ) 5 / / + $ ' 2 % & ) ( $ & + $ ' + / $ #$ ! - % & - ) - ) % /) 0 4 ( ( 9- $ : . *$ ) - ; * ) $ ) ) # ( - -$ ' % / - 2 $ $ 8 • •
) $ - & ( )
: : ) $ -
:
& ) $ )$ + ) % 61 7 , -) ( -) ; -$ )
) , $ ( 2 % & - / ) % % & ( & 0 4 - #$ & / -
- ( ' ( #$ & ) 61 7 :( % ( % ( $ -) -$ ! $ <<< % ( % ) ( ) 0 4 / / ) $ ) ) : = 8 1 )
) $ /
( ) 1 , $ ) % - * $ > % / % ( ) $
14.3
Design Prinzipien
! " #
" $ ! %
& # !
): ' ( ) #*
( # + + ! +$
& ( , ! "! ! $
( & !
Minimale Privilegien (
): ' - & .
! " - / $ 0
1 !
Vollst¨ andige Kontrolle (
): $ . ! +
!
Akzeptanz (
):
! "
! %
! " " !
Simples Design (
): " ! 2 " - , 3 !
Offengelegtes Design (
3 ) * 3 $ " ! +
4 1 #. # $ ! 1 # ) * + +
. 5 + ! "! ! 4 5 + ! " # + 6 # ! 1
.+ - 3 3 + )
*!
+ & ! %
+ 3 !
14.4
Trusted Computing
3 $ 6 ' + + ) * ( #. ) ! *! " 5 7 6 )576* - .
4 ) 6 *
! " # $ " " %&" '( ) ( # *+ " %(
' + " , + (
-. # -
/ "
0
0"
"
# / / " 1 "
0
, *2 3 * % / ( ' / 4 /
0 0
" / " % 3 ' #
#
/ " 0
" / -
! - "
/ 4 / *
*" .
%*. ' , +( #
(
-
-. - 4 5" % 6 " ( '
,
7
#
+ ( " - " # 3
+
/ + ( 6 / 8 3 / " #
,
/ 4 3 " + #
/ , +(
( - -
, + /
4 " *+ / "
# *, , *+ "
" -
- " Wwrite *,
" "
- , Wregister / & %"
&9' Wneu " ) Wneu : &9%Wregister ; Wwrite'
5 *,, " 5 " ) <
+ " + " " & " %* ' -
+ # "
& " *,
"
,
/ " # 5
" / " - (
/ " " ! / *,, 8
/ " 3 / / 4
0 % / "
# ' *,, 5
! " ! " # $ % & ' ( " ) * # $ " !
$ ! ) *# *" ! * " + !* + , * ) * * " - ) & * . )* " / , . & " !
) " ) & ' " Weiterf¨ uhrende Literatur
" & " " ' . +)' 0110" )" 2$ 2" )3 " " 45. +)' 6778" '" ) 9": " " ' . 67;; '")" " " - < 9. 0116 " ) " ! " # " < = 677> " ) " " * - < 9. 0116
15 Schlussbetrachtung
! " ! # $ #
% # & % & %
'"( ) # ! " * " # $ + ' " , - % $ ! # . / & ! $ # 01 - & & # " 2' / 3 4 & # "1 '# $ # + * & # " & # + ! % # + # $5670$5$ $*68*69 " & # & # :" # &
; " :! :(! $#
# & # 0
& # !/ !& 3/*4 ! :" :<7!=> ? # 0 $" "" % # ' " ( $(# & # # : ( " : - ( + # # : ( " " (! ; " #- ( 2 # # " !
'# ( # !
" & # '# @ '# # *# ! & # ( & 2 <" ( : A ' 3$# ; 4 :"
2 B # 6# B # & " ' # <" 3 74 ! -
6
!
" # $ Æ % & "
% " ' ( ) *
+ , ' ( " ( ! # " - . % ' ( $ . ( ( & ( , " / ! ( " # 0 Æ ! # 1 0 2 % ( 3 3 4 5 % 1 ) ( 6 ( , & " 7 % 1 + 5 ) % - $ $ . 5
Stichwortverzeichnis
! " # $ % # & % !& %" # '( )* % !') %" # # )* % !) %" # % + # , ## , #- # ! " # # # #. , /0 #. #. 1 # 2 # % ) $ 23 % & % & 45 6 ) '
% ' % '( % ' % . %37 /5 , 3 % % 3' % 3' 8 , 3' 8 ,
86 ) . # #- &) 9 & ) 3 , 0 9 :8 #- ##- # 7:/ 7 ; : 3
< ! %)" -. 4 # )= ) = = #
: ) ' ! :)'" #+
# 3&3= $ :)' : ) ' 9 7 #. )6 ' ! )'" $ > 9 9 ! " ,
9 !, " $ ,
9 !, " $ ,
& !, &" * $+ # $ 5
) = ! )=" # = # / $ , :41 , 3 0 9 :8 9 )' )6 ' 7 ; : ! 73 :/" #+ ) + 9 ) #.. 9 & ) ##
!"# $ $
$ $ % $ & $ % $ $ ' (
$)' % $)$ % $ $ $ $ $ % $ * ( $ + + * ,)- ,)- , . / 0 (
/ % 12) 1) %
')
3 )4 $ 5# $3 $ & $ ( ( $)Æ (( $ $ $6 $ ( $ $ % $)7 $ ' ( $ , 8$,9 ( $, $ , $ !" (
$: $ '" % $ ; )3
% $ $ $ & % ( !3)
<33)
$:)=)> & . % & % & $)!" +# +
;'7 ; ' 7 /)&) ')
) 1 >)' % ) ( = ; =)> & + & + &) & & $ ( &$ & >
& ' > 8&'>9 &+ ' &+ '3 &+)' &+ ' &+)'= &+ '3 & 1 7 8&179 & " > & & &
& % &,& &6 , &) & 1 *4 ?
! " # $ # % & ! ! % " % ! % ! % ! ' ( ) *! % ! + * , " - ! + -, . !% !%' ! ! ! . %!!% ! %!!% ! ! !) # # " # / # 0 % # 0 % 1 # " ! 2 3 ! ! . *! . 4! ! !! - 4! / '!% ! '!% ! 5% / 1 ! +451, ' 2%6 7 ! 5 7 1 ! ! 8$ " 4 ! % ! 4! 4&! % % ! " 51 5' 1& 51 5 7 1 ! 9 - # ! - % ' '% ! '% % 5!!%' % -% - ! / - - % %% -1 - 1
- 2 7 0 ! . - # -
: -! ! " -!&!! -!& " -! # -!0 # $! # -% " / !% "# -% ! ! 5%/ ' "# - ! ! & /! ! "# ! ! " -% -% ! . -7; - ! ! # ! !% ! "" - ! 7 -7! +--, " - ! ! ! ! ! / ! (<! - ! - ! 6$! =! - ! -% *! 7$ > ! +-*>, # -/ % - / . : 4!&$! - < !!!! " - 1 +-1, - 5 ! ! - &% & ! - 6 - +-6-, - ! 4 - - ? 3@;@ # -*> -% *! 7$ > ! - ! ! & - % %% +-, - % ! " - % ' %% +-, . &% ! . '% ! . ! ! ! . - ! +- , . % ! . - %
! " ! " # $ " % & " '( #) $ $ $)*+ ! , - $) .) $( / , 0 / / ) 1 $ ( ( / '& '$ ' $ # # # # % / ' / /0 $% $ ) ) % 2 2 ' $ 3 '$4 0 # 3 #4 5"% 5 " % 5" 5 " ( 55'#1 5 5'#1
567 58 ) 5 9 / 5 . ! 5 ! 5&$ 5: & $ 5 5'#1 355'#14 ! (
/ ) 2* 5 / 2* / 59 ( 5 " % 5(* 52 2* 5)5 5 ( 3514 5 ! 5 ! 59 ( 59 ( ) 5) %) # (5) $ ) $ ) 59 ( / 59 ( / 51 5 ( 5'#1 5 ) '#1 5 ) '#1 35'#14 ! 5 5 "$8" 5 " ( 35"4 0 5: ! 5: & $ 35&$4 : 5 5: 00 ! 1 5 "$ " $7 & ) ) & ( ; 7
! " !" #$ # %& '$ & (( # & ) *+ ! , ! ) ! , ! & ( -. ) #$ # ) , / 0 0 0 & & 1 " 2 $ $$ 3 4 ) & & 35 #$ 3 # " 2 " 6 & ) 67 '
, % 8 , $ 6 % ' & & ' ' " - '
, 35 #$ 3 # & 3- % 3 3( ) 3 3- 3 3-
3. 3$$9 3, " 2 / / / 2 /,( 7 & :+$ & / / 2 , & 7 ; 2 % 9 < % * % 07 % 000 2 % ! 3- !3 )2 2 % %& 9 = 2 $ & 6 & >
( ((,. 7.! .( 5,.- #( # %2 5,.1 (( ) 5= & / /
( % & ( & ($ & ? , ) ? 7 , %2 ? ? $ ? $ ?
(( &) ?$$ 2 ? )2 ?$ .39 > 2 ? ($ .! . = ) ? ) $9 $ ( $ ) )& 3 )& 1 ) 1 ($
! "
#$ %
# %&" # ' # '
# (() %
%%& %% %%
) * % + ,-. %&% ,/0 ,$ /0 $ 0$ # ,/0# %1 ,23 ) '/ 1 % ,45 , # 4 # 5#''# ,444 , # 4 4 # 4 ,444 ,444 %&% ,444 %&% %& ,444 1&%+ %% ,6,( , # 6 # # , #' # (# ,3( , 3 (## ,'$'' ,'$#7! % ,'$#' % ,'$! # ,' ,8 7 3 # 9,3: % ,8; & ,! & , "1 ,#' # % , (#! % ,$ /0 $ 0$ # 9,/0: %1 # ,/0 , # 4 4 # 4 , # 4 4 # 4 9,444: %& , #($ , , -'
, , % , ) , %% , # # "" , % , 3 (## 9,3(: %&" , 3'#) " , 6 # " , , # 4 # 5#''# 9,45: %& , # 6 # # ,#' # (# 9,6,(: %& , # 0! # # ! # 9,0: %& , # %& , # <#'' # # 9,<: %& , %&" %& , (# ## 9,(: % %% % % , $ && , $#!.#'' # %" % )# 3 # %1" )# %11 5 # %" 48 %1 ,#' # 48 %" .#'' # %" 3#8 %1 3 48 %1 3 ( %1 3# # %1" 3 48# %" %1" %% $ %" %11 ($ %1 = %1 ; 5# # % %" %1 %11 % ;!#.#!$ %1" '$# %1& ;# %11 )# 3 # %" )# # %" %1% , $ & %11 3 # # & 5# # ; , $ ;# 9,;: & -#3 $ ;7 &
! "" # " $! $ ! % $!& ' $( !
& % $ ) $) *+ * + ,-. % " ,/ " ,/ 0 . " " ,/$ % "# # ,1 # -) " - $ % - % $ - 2" +/ 2" - &*% "#3 -1/ - % - - $ $ 2 -4 3 32 " # - " -%/5 " .!6 . ! 65 "" . & . $ .$ 2" . . 7 .7 "# . % " .)) .0! . 0 !1 .08 .( 01 81 . 7(1 + .7+ # . 1 + . + 3 . $4 9 / # . & 4 9 .$9 &$9 .
.7+ . 7(1 + ./1 "# "3 .7 . 7 .7$ % $ .%5% .: "# ! " . 1 % "3 % "# . "# "3 " . .( 01 81 .08 ..0 . . 0 . 2 . ! 65 .!6 "3 . "" 8 "" ') "" ) "" 6)5 " . 0 !1 .0! #3 . . 0 "" ./ 3 % 2# % $ % . ) . 1 0% . 0 . & . & . + . 1 + / . $4 9 .$ . $ .: .%5% &!0 & !
0 &/ 9
* 7 ; &/ %1 $ $ * $ &/ & % " 9 9 9 0 8 " 8 8 718 8 7 " <
! " # $%& ' $() $" ( )* $ $ $$ + $ , + ( ! $ ( !, ( ! ++ -" '. / ,-" '
, % '
, '. " , '. 0 '. 0 '+ '. " 1- " ,-" '+ ! ) % '. 2 ",-" '
3" 4-," ,-" '+ ! -" '. $5,-" '+ 6" + 6 '+ 6 '
6! 7 67 '. 6 '
67 6! 7 6 + 6 + ( '8 ,,9&" + ,, " + ,, % '
,-" ': , '. ,-" '. '+ "; ! '
+ " 6 + "" ,-" '+
!,-" '+ % '
,-" '+ $,,6 :. $ . -" : $,* . $ ( $( . $ ! $ ' <% ! +' $5 8 $5* ! ! $*! +8 $ " $ ( ! $( $ / = ! $/ $ $ ! > $$> ?+ $ 6 8+ ? ?' $ ,$ , + $! 6 ! ' $,& $" ( )* $() ?: $ . $ ! $ + $ @ ! ! . $ . + ( + $ . $ @ ! ! . $
:
$ .. .: $" * ! 6",
! ! .. $5 )* 8 $, % ! " ! . 8 " !% .
% ! " ! . $,6 ' $,9= + $, ! + $ 6 $" * , ! 6" ! ! $$ $ $ $ $,/% :+ $ ! .+ 8+ $
$ / % 3"" '
$,* 8 8 A ! 8
!" # $% & ! ' ! ' ( )& )# ) * )# )#+ )
! !% ++ %, -." )) % )& / )& / % )#
, )+ )) 0 )+
! 0 )1 -. %, 2 2" ) 2 2 23 / ' ! 0 ) 23 / 4 5 ) 23 / ( 2(" )# 23 / )
) %% 6 )1 4(2* 4 ( 7 23 / )1 )& )) 0 3 )1 )# 0 !! )+ )# )# )+ )# )+ 0 ) )) 0805 )) 5 6/ 6 )& )+ )) 5 ! )# )1 )
9 )#
0 )# 3 )& )) : )) :55' : 5 5 ' : )1 ) ) : * )
: 3 0 )# : ! )&
: ; 5 %, :5" )
:*( : * ( <3 )
= )& = )+ )
= )) '( ' ( ' )+ )
'( ' ( '(" > !!/ !! )& 6 ) ) 660 6 6/ 0 6 23 / 62" )+ )
0 )) % 23 / 2" )+ ))) ( 4% )) 23 / 0 )# )+ 23 / 6 )# 2( 23 / ( $' 4 ) )
(/ 3 )1 )# (/ )1 )# ( ( ) ( 6 )& ( ( )1 ( 6 )+ ( / ) 4 )& 4 )# ?@ )# ) )&A)+ 6 )+ ) *( !% * ( )
: ) : ) : 3 )1 )+ 3 = )) *0( * ! 0 ( *0(" *!5 %, *5" )
* / ))) * / 4 )) * )& * % 0 )+ * % 6 )+ * % (/ )+ *( * %
! " # $ % &' %' ( '' ! )* )% * +, -+, . -+, +, +$)* +$)/ 0 0
1 ' ." 2+ 2 + 3 -4 ( 5 -4 5 )/ 5 631 5 631 , % 5# 5 $ 71 5 -4 5 5 -*+ -1 *' + -*+0' "" -*+80' "" -7 -1%1 -1 %1 9 1
-1 :1 ; 5" -1 03% ) -0) . -1 ' 5 -1 %1 9 -1%1 5! -1 5! 5" ' 5" -1 *' + -*+ "" -0) -1 03% ) -<
!. ( 5 ( (=3 (( 5 (% 55 5. 6 5. 55 , 5 5 1 5 < 01' 5 8 5.
* 5 /% 5 /3 5 ()(-% 5 ( ) ( - ()(- 5
+1 % 5 : (= 3 2 :(2 5 : + 3 2 :+2 5
+1 % 5 : +< 55 ,%3 5. 2 + 3 2+ 5 ( 5 ( (=3 (( 5 (% 55 +1 % 5 6 5. 55 6' 5.
01' 55 0 5. : %% 3 :
#
>. / 5 /
5 ' . ?1 < %1 < .
' %'' ' . 1 6' . % 5 %% " @ " + * 5 !# ". "" 55 6 5 . % 5# /3 5" 5 ' % % *+ % *9 + 1 0 !# "" % # < 5 % 5" 5 (( ( (=3 '::1 1'3 ' #5 )* ) 1 * # 11 #.
! " !# $% &&' $ % & ( ) **+ $ &&' $ , $$ $$ # -' # #
./& *** ** 0&& 1 2 #+ 34 ' 3 & & 5,& 6 7 6 *+ 8&& # , + 8 +7 ! 8 & 9 1 92 # && &&' % $ 1 %$2 &&' $ % 1 $%2 &&' $ , 1 $2 + &&' )3/ 1 )3/2 && 566 # / # / # ! # )' 3': # *77 6 # && 7 )3/ &&' )3/ % % $ 1% $2 * ** ' ** & *** /" **
) ** *
# ! %& 1%2 # % / % %
) + + &" & 1 2 # # ,% ") 7 /6 # & 9 1 92 # && 7 ) & 1) 2 # ;& # ; <, % ), ;& 1<%);2 + 0 ) *7
/ **
& / **
< / **
+ " 7 #* <' ! + # +# #* *! 7 #* .3' ! 7 & #* *77 0 # !! 6 * /& 8 ! +7 = + ) ! + ! *77
!"" #$%&'( %)'*+'( ('*( )'*(, )-.../ - '.('( !"" #! 0 (! 0 !"! 1 !"!" )1 +1 +. 2 ! 1 2! +! . !0 3&!11 ! !1! ! 4 5 6 4 5 1 5 "!" ! 5 7 4 ) 06 4 ) 00! ) %! ! 4 )*8 ) !1 *
81!9 ) 160 ! ) !1 *
) !1 *
81!9 :)*8; 4 ) 9 81!9 :)8; ) 1 ! ) ) 0 ) 0 %!1< ! %!1 :% %; ) ! %!1 :) %; ) 9 ! ! ) *
) ) 0316!
) 06!16 4 ) 0 ! ) ! 4 ) !9 ) ! %!1 :) %; ! 11 77 )6" ) ! 4 ) 7 % 3' 7 %! $! 3' 1 1 $ 8! %!!
63) 4 ) 7 ) * 7 ) 3+ 63' ) 0 ="0! " )!
> %! )!
! ) 7 )1! * ! )"!3&!" ) )! *!
! / )! 4 )! 38 1 *
%!! $ :*%$; 4 % 9 4 % 9 # * 7 4 % 9 $ 4 ( 3- 0 ! ! (!1 ! ! 8 < 4 ) *1 ?
! 4 +9 8 ) * 4 )36!13'< ! )36!13 )36!13 ! 4 ) *1 ?
! 4 ) % ) ! %!13 )$+ )! ! $ 9 + 1 )!3@)!3 )8 ) 9 81!9 )!! ( !9
!"# ! $% ! !"# ! ! ! &% ! " % ' % %% !( # "# !( # "(' ) !*+ !, * +" " $ !- ! - ! *" !* - $$ ! !" # !" "
!" '
!" ') !" % !" ".
!" /(## !" .' % " % " % !" .' " # " 0 # " % !" !"# $ && / $% *#" $ *)# $ -1 $& % -1 ! / $& -1 !." $& $ 2' 2 "# $& % 2 2! & 3 $ 4 - 4 !/ 4-4! $% 5 (
"" $% 6 $ &$ / ( )' +# / $% /
%$
$ 7 $% # ! / * $& % ! $% !" 6 4 !64 !" # ! ! / & ! !! & ! # $ " $ !" # !") % !")( " % !"##
/ "/ ( !" " # !"" + !"# # !".." !".#,
!".####
! " & !-!8 ! - ! 8 ) !2! !" 2# ! ! 5"" # ! !"" !# # & !## & - 9 *# &% #" !#: & ## & !# 4 & !# & ). %$ ! " & ! ! $ !, * +" !*+ , # % , *)("# , !" # " " ! * ! ;( ## !/ !/ - ! - !/ , $
! " # ! #" $ %& ' $ ( &') $ * + #' & ,' -'.) -'.'+ & ' $ / ' $ 0 1 $ 2 1') $ %+ $ 3 & $
4 ' '& 4 &' + 5 # ! 5#" $ ' ' ' 6 ! 6" ,' 3 0 ! , 0" )
5# 5 # 7 ) ' ' ,&
'&) %, % ' 85 %& %& ' (& 3 , (3 , $ ,
* * 5 3 % !*5%" *) *2* * 2 *) *3 %5 !*%5" 8 3 85 !885" 8 5 !85" 0 4 & 5 3 0 4 9+1 9)& ' $ 5 & $ %'+ '4 $ 5 5 5 3 : 2 %5 !:2%5" 5 !5" & % 5 3 !%5" & 3 5 3 !5" ,3 ) $ %5 ! %5" # '' ;4 * !;* "
-'.+ ) $ & 4 7' $ %& 1' $ ( %&& (& $ ('& ,3 ( & %&& $ ,& $ * $ 6& 4 $ %& ' $$ 5 3 $ 5' $ 3) %& 1' $ + 9 3
' 9 3
! " #$ %$ #$ !& #$ '% ( ( ( ( )* + , ,+ - ',' + ',' ',' ',' . / ', 0 ', . / ', ) & ' '$ & ' '$ ! 1 $ &2 ( &3 2 2 ) 2 ! ) 4 ) 4 ) *)2 * ) 1 2! *1 ) ' *1 ' 56 5 6 ! 1 )56 ) 5 6 )555 ) 1 5 5 5 )&) ) & 1 )1 ) ' ) ) 1 ! 7 ,, #
%# * & %# . / # ( . ( / $ - ' +' 1 ' , 8 ! '+, '%' '+, '+ ! '+, #+ $ #+ - '+% ' ,$ ( '$$ 9 -
'$ '$ 6 . 96/ ,' , 96 6 :; - '## - " ' * -- " # 6 & ', 6 ,' ,, $' ', 6 6< %% = 5 %% ()>>5( %% %% 5 665 %$ 5 6" 5 %$ 5 52 %+ 5 (565)95 %, 5 52* %, 5; %+ & 6" 5 '$ & 6 (" '$ & 6=(( ', & *5"5 5 '$ ' & ")28 ' & " 68 & =2 #
2 2 2 2
!""#$%&$ '
##&( )*(# $ ' + , , - + . . + , +
+ !&&/" +
0 "&1 "&3"$$ & + "&$ *1 *1&(4% 4$*%(#/ "5
" 64& " ++
!&*1 , &5(( $*1 &/! +, &%/5 &% $/&( ##/ ' & % & &# & /&3 '+ & "$ $ ( *( 78 $"!$9$ $ #($()$/ ):( ' 1&3 + + ;$5($1% ++ (# + $ &*1 ++ 6&* ++ &&/" + &*%&/ ++ <## *13#($/ + % ++ 1&3! $: *1 & + 1&3!#%# +' 1& ;31#/ %(&
$" ($* +, $"!$9$ $ #($()$/ 78 , $"!#! #%$ $"# =$53$/#/ $" , $" 1&$/ + $"$/ $&/&"
$ &1(3#*% , % $/
*1&(#/ ' 6># &&(/ $/&( ' 6># 3$/$&( $/&( ' #*1 * + # 3 (&6" 3#( &*% # & &*$ & 6!&$ ' & $ !& $ /$* 78 & "$ $ ( *( 78 ,
+ & "$ & & 6 1 + & 9$* ** $ 7 8 & # ++ & #
& 1$/ ' $// $//$"#( ' $///( ' $ & ## + $ &!#? + # 3 "#$/ + 1&$ 6 # 6 # & #" $/$&( $/1 &&/" (&6" :/#&$ /$ " &$ # 3 (&6" 3#( # 3 (&6" 3#( & 9$* ** $ & $ !& $ /$* 2 &&/" ,
5&/#/ %($$ '' > 5 #/ $9 &( 2*1# 2*1# *$! 9 & "$ 7 8 $9 &(!$&(!;# ; #$9 (( .& , $9$5& ' &*1$//5& $*1!&*1$//5&
! "# # $ %& ' ' ' & $% Æ & ($)* ' $!+ ' & ,# $( ' , $)* ' -
' -## $( ' .( ' / 0#+( ( ' 1+$# ( ' / 1$%! 2 ' 1 $, ) ' 3 #" ' #" ' 1 $4 $$45 ' ' 1 $, ' ! $)* ' # $)* ' 6 ' 6"" ( ' 3 7+$7 - # 7+$%! 2 ' 89$, 89$-# 4$7#($7! 8 $ ' 8 $%# ' %# ' ' *$!+ ' %$4 ' 3 %+$8 $& ' 3 :; '3/ : / :*
( :# :#! / : : # 3 : " 3 :<( 3 : ( 3 8#5 " / : # 8 #5 ,#( =:8,> ' :+ :5 1 %! ,# 1$
+ -#! 7 =:1-7> :5 7 %# =:7%> ' #! ' :1-7 :5 1 %! ,# 1+ -#! 7$ &# 3 &# 3 & # 3 & ( 33 , 33 -$2 ( 3 + * 3 8 #$7 33 %" %5 " / %!# * 33 ) 3 :<( 3 ?( 75 33 :1-7 7 8*# 2 33 :1-7 %" %5 " / 2# /' &#" ' 6 6 %!# #( %!# :7% :5 7 %# : '3 ' "# .# '3 :8, : # 8 #5 ,#( ? ' @ 3@ -A #$& ? ? +( ?*$2 3' ? # 3 ?7 ;''$#5 ;'' ;'' ;'' ;'' ## 4 / & " / * # 2 / %%- ? +( =?> 3 ' ?. ?( % ? 5# '/ B$2
!" #$ !% &$ !% ' ( ) ! **+ " ,) ! -, - (! - ) ( ! % %% $$ "" . "" "" . "" . "" )$ # $ %%
SpringersLehrbücher der Informatik Gerd Baron, Peter Kirschenhofer Einführung in die Mathematik für Informatiker
Johann Blieberger, Bernd Burgstaller, Gerhard-Helge Schildt Informatik Grundlagen
Band 1 Zweite, überarbeitete Auflage.
Vierte, überarbeitete Auflage.
1992. VIII, 196 Seiten. 28 Abbildungen.
2002. X, 230 Seiten. 72 Abbildungen.
Broschiert EUR 24,20, sFr 41,50
Broschiert EUR 24,80, sFr 42,50
ISBN 3-211-82397-2
ISBN 3-211-83710-8
Band 2 Zweite, überarbeitete Auflage. 1996. VIII, 217 Seiten. 28 Abbildungen.
Wolfgang Kastner, Gerhard-Helge Schildt
Broschiert EUR 31,50, sFr 54,– ISBN 3-211-82748-X
Informatik Aufgaben und Lösungen
Band 3 Zweite, verbesserte Auflage.
Begleitbuch zu Blieberger et al.: Informatik
1996. VIII, 191 Seiten. 79 Abbildungen.
Dritte, überarbeitete Auflage.
Broschiert EUR 31,50, sFr 54,–
2005. VIII, 124 Seiten. 5 Abbildungen.
ISBN 3-211-82797-8
Broschiert EUR 14,90, sFr 25,50 ISBN 3-211-21136-5
Reinhard K. W. Viertl Einführung in die Stochastik Mit Elementen der Bayes-Statistik und der Analyse unscharfer Information
Nicht in der Reihe:
Gerhard-Helge Schildt, Wolfgang Kastner Prozeßautomatisierung
Dritte, überarbeitete und erweiterte Auflage. 2003. XV, 224 Seiten. 51 Abbildungen.
1998. XV, 270 Seiten. 229 Abbildungen.
Broschiert EUR 29,80, sFr 51,–
Broschiert EUR 19,80, sFr 34,–
ISBN 3-211-00837-3
ISBN 3-211-82999-7
W P.O. Box 89, Sachsenplatz 4 – 6, 1201 Wien, Österreich, Fax +43.1.330 24 26, [email protected], springer.at Haberstraße 7, 69126 Heidelberg, Deutschland, Fax +49.6221.345-4229, [email protected], springer.de P.O. Box 2485, Secaucus, NJ 07096-2485, USA, Fax +1.201.348-4505, [email protected], springeronline.com Eastern Book Service, 3–13, Hongo 3-chome, Bunkyo-ku, Tokyo 113, Japan, Fax +81.3.38 18 08 64, [email protected] Preisänderungen und Irrtümer vorbehalten.
Springer und Umwelt A LS INTERNATIONALER WISSENSCHAFTLICHER V ERLAG sind wir uns unserer besonderen Verpflichtung der Umwelt gegenüber bewusst und beziehen umweltorientierte Grundsätze in Unternehmensentscheidungen mit ein. V ON UNSEREN G ESCHÄFTSPARTNERN (D RUCKEREIEN , Papierfabriken, Verpackungsherstellern usw.) verlangen wir, dass sie sowohl beim Herstellungsprozess selbst als auch beim Einsatz der zur Verwendung kommenden Materialien ökologische Gesichtspunkte berücksichtigen. D AS FÜR DIESES B UCH VERWENDETE P APIER IST AUS chlorfrei hergestelltem Zellstoff gefertigt und im pH-Wert neutral.