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 ? - $ " 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
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 * *< 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 . '( &'(
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 " " " ;!!"" ! ! " ! & 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& !; #$% # - END and; Architektur (Architecture) ARCHITECTURE number_one OF and IS BEGIN and_out digit digit digit digit digit digit digit digit 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) # ! .
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 : ; + 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 # ! % - " : ? #
....... ...........
! " #
!
$% & ' ( "
) $* $* (
$% $+ ! $* & # '
,
( $- ( . $/ ( 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
# &- 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 : -& " ;
"
# 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+ + : * + : *)Æ
;
! " # $ % &'() 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 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 " !
! # !" ?
; 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
/ %
% %
" +,-&? +,-&.%
6 7 *''' ! & # =
' @ ! 9 4> &&
!"#$ 9 ' > 4 4> +,-&?% 2
+,-&.% : =
% 4> 8 *" % 6 7& 7.3.5
WaveLAN
= = ; A 9 5 = A ! Wi
Fi >% A *''' ! +,-&11 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
? #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) ) ; $#. * + >1#1) ) 3 # 4) >3#1) ) $#. )) $ >3#1) D ? 0
. > ) $ + + 1 .
3 4E#-(( ) " 9 "?@@ +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:
' & # # ; # ! : & )( " 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 $ : @
449
?/
$
* 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 "& ! '# % ! " *$ % & -;*( * 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 ; / " " 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 / !?(()@):(@(>(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 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 < 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 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 7>+ )4 $ 5 $ ) 7 ; 8 1
7
4
/ ;
$ % & 7 ( - )10 ' 1 -;
-
$
!" # 8 : 1 -;
/
- /
! 1
)5 # $ 7 5:
+
+ A ! 8 BLOCKED + ! 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 & ; 0 ? # 9 @ ; ' '
! "
#
# !$
%!
&$ '! ! ( # %!! # ) " # % # % # # ) ! # * !$ %! +
, % # - # . ! + #
# / !
→
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## # & : !$ ; #
# % , ,#
%" , ! '. ..( ' ( ,
! . ?, .. )# + ' ( * 4%%4+2%+4 ,# 4%%4+2%+ 4%%4+2%+4 4%% %
9 : - 4 +4 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
! ) 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 , &) & 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! +--, " - ! ! ! ! ! / ! ( ! +-*>, # -/ % - / . : 4!&$! - . / 5 /
5 ' . ?1 %! )!
! ) 7 )1! * ! )"!3&!" ) )! *!
! / )! 4 )! 38 1 *
%!! $ :*%$; 4 % 9 4 % 9 # * 7 4 % 9 $ 4 ( 3- 0 ! ! (!1 ! ! 8 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&* ++ &&/" + &*%&/ ++ # &&(/ $/&( ' 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 :