full-adder (fa)cs234145/lectures/fromeefor2004/...5 9 (ךשמה) רבחמה לש בושיחה...
TRANSCRIPT
1
1
מפענחים, בוררים, מסכמים:6פרק
דוגמת חיבור שני מספרים בינריים
140111
3+1100+
111101
(carry)נשא 11
2
נשא יציאה
סכום
FA oC
S
→
→
→
→→
CכניסהנשאB
Aמחוברים
Full-Adder (FA)מסכם בינרי מלא
:מבצע את החישוב עבור זוג סיביות
2
3
1
0
0
1
0
1
1
0
S
1
1
1
0
1
0
0
0
Cout
111
011
101
001
110
010
100
000
CinBA
1111
10
10110100C
AB
111
110
10110100C
AB
Cout
S
FAטבלת האמת של ] S,Cout [הוא מספר בן שתי סיביות המונה את מספר האחדים בכניסות
4
( )
in
ininin
inininout
in
inininin
CBAAB
CBACABCBAABAB
CBAABBCACABC
CBA
ABCCABBCACBAS
)(
)()1()(
''''''
⊕+=⊕++=⊕++=
++=++=⊕⊕=
+++=
FAשל ) אפשרי(מימוש
:הביטויים המתאימים
AB
A ⊕ B ⊕ C in
A ⊕ BAB + C in (A ⊕ B )
C out =
B A C in
S
F.A
3
5
FA FA FA FA
A0A1A2An-1 Bn-1 B2 B1 B0 C0=0
C1C2Cn-1
Sn-1Cn=Overflow S2 S1 S0
Ripple Carry Adder כל דרגה . סיביותnכדי לחבר שני מספרים בינריים בני FA דרגות nנשרשר
.תחבר זוג סיביות עם הנשא מהדרגה הקודמת
. כזמן התפשטות הנשא-זמן החישוב
. nτ זמן החישוב הכולל הינו, τ הוא FA -אם זמן חישוב נשא ב
TRCA=3n אזי ,τ=3 –אם זמן החישוב של כל שער הוא יחידת זמן אחת ו
והזמן , τ=2למעשה זמן החישוב של כל היחידות להוציא הראשונה הוא TRCA=2(n-1)+3=2n+1≈2nהכולל הוא
6
( ) iiiii1i CBABAC ⋅⊕+⋅=+
iiiiii BAgBAp ⋅=+=
iiii CpgC ⋅+=+1
iiiiiiiiii CppgpgCpgC 1111112 +++++++ ++=⋅+=
iii
iiiiiiiiiiiiiiii
CPG
CppppgpppgppgpgC
44
1231231232334
++
+++++++++++++
+=++++=
Carry Look-Ahead Adder
Carry Look-Ahead מיועד לקצר את זמן החשוב הכולל של חבור שני מספרים
. סיביות4בני :במחבר הסדרתי קיבלנו
נרשום את פונקציות יצירת הנשא )generate( והעברתו )propagate:(1=giאם במקום ה - i נוצר נשא Ci+1 ללא
Ciתלות בנשא הנכנס
pi=1 אם Ci+1=Ci
:נקבל
:עוד פעמיים
4
7
FA FA FA FA
Ai+3 Bi+3
Ci+3
Si+3 Si+2 Si+1 Si
Ci+2 Ci+1
Ai+2 Bi+2 Ai+1 Bi+1 Ai Bi
C i
GP
Ci+4
Carry Look-Ahead AdderCi+4 תלוי בפונקציות G ,Pוב - Ci ,ואיננו תלוי ב- Ci+1 ,Ci+2 ,Ci+3 .
. מגיעות כולן בתחילת החישובA ,Bנניח שהכניסות . כל אחתFAהמחבר יהיה מחולק ליחידות בנות ארבעה
. Ciונמתין להגעת ) A ,Bכפונקציה של (G ,Pבכל יחידה נחשב את ולקבל את הנשא היוצא ) AND ,OR(נותר רק לבצע שתי פעולות , כאשר הנשא יגיע
Ci+4 . הדרושים Ci+1 ,Ci+2 ,Ci+3ואת Si ,Si+1 ,Si+2 ,Si+3במקביל תחשב היחידה את
לחישוב הסכומים
8
זמן החישוב של המחבר
. CLA יחידות n/4 - סיביות nמחבר של : נניח
, τ1 הוא G ,Pזמן החישוב של , τ2 הוא FAי "ע S ,Cזמן החישוב של
. א" כ1 הוא AND ,ORזמן החישוב של שערי :שלבי החישוב
. G ,Pמחשבות כל היחידות את , τ1במשך , בתחילהעד , שבין היחידותCמחושבים כל ערכי , n/4=n/2·2במשך , כ"אח
. לנשא האחרון שלה S בכניסתה מחשבת את ערכי Ciכל יחידה שמקבלת את , במקביל. τ2·4במשך
2 לאחר Ciהיחידה האחרונה מקבלת את 2
14
2 11 −+=
−+
nn ττ
5
9
)המשך(זמן החישוב של המחבר
. יחידות τ2·4היחידה האחרונה משלימה את החישוב לאחר עוד זמן החישוב הכולל הוא
האיבר הדומיננטי בביטוי ) 16נניח מעל ( גדול מספיק nעבור n/2הוא n/2 מזמן החישוב של 4 קטן פי Ripple Carry Adder .. במחיר של סיבוך הלוגיקה הישגנו את האצת החישוב, כך
242 21 −++= ττn
TCLA
10
Selector / multiplexer / mux –בורר
.'0' אז E=0 אם:פלט
Diאחרת הסיבית
iהינו המספר שיצוגו הבינרי מופיע ב -m סיביות .הבקרה
כניסות בקרהM:קלט
mS
ED 0
ZS e le c to r...
D 1
D 2
D n -2D n -1
m2n כניסות נתונים=
1m1o SSS −,...,,
1n1o DDD −,...,,
E כניסת enable
6
11
:מימוש אפשרי
Z
S 1S 0
E
D
D
D
0
1
2
3
... .
...
.
.
.
.
.
D
14)עבור בורר(והביטוי הלוגי →
3121111 DSESDSESDSSEDSSEz ooooo +++=
בורר
12
. . . . . . .. . .. . . .. . . ..........
D D D D D D D D1 0234567 EnableS2
.....
S1 S0
Z Z'
: כניסות8בורר של
7
13
).מבחינה לוגית(כניסות הבקרה כוללות מהפכים מיותרים לכאורה
של" עומס"מיועדים להציג לכניסה , "חוצצים"המשמשים כ, מהפכים אלו
מחוברת לשמונה , למשל,Enableבלעדיהם היתה כניסת . שער יחיד
המהנדס המשתמש: החוצצים מקלים את מלאכת התכנון.שערים פנימיים
. בבורר יכול להניח שכל כניסה שלו מזינה שער פנימי אחד בלבד
14
הפונקציה הממומשת היא ,enableללא עבור בורר, לדוגמא
נקבלאם נציב
:XORקיבלנו ממוש
12 →
o1 DSSDz +=
AS,BD,BD o ===1
BABABAz ⊕=+=
A
B
Z
D0
S
ממוש פונקציות באמצעות בוררים
8
15
,0נראה שיחד עם הקבועים : נקבל מערכת שלמה1
AS0DBD o1 === ,, BA0AABz נקבלאם נציב ⋅=⋅+=
:ANDקיבלנו ממוש
A
BZ
D0
S
D1
0
:Aוכן
A
0Z
D0
S
D1
1
'?1' בורר עם '?0'בורר עם ? האם בורר בלבד מהווה מערכת פעולות שלמה: בדקו בבית
16
נממש לדוגמא את . משתנים באמצעות בורריםnנראה כיצד ניתן לממש פונקציה של הפונקציה
( ) ( )∑= 141312943ztxwf ,,,,,,,,
9
01111
10111
11011
10011
01101
00101
11001
00001
01110
… 00110
01010
10010
11100
00100
01000
00000
fzyxw
xS
ySwS
ר ר ו ב
=
==→
1
02
18
zSxS
ySwS
ר ר 116בו
o2
13
==
==→
0=oD
zD 1 =
zD2 =
03 =D
zD =4
05 =D
16 =D
zD =7
0=oD01 =D02 =D13 =D14 =D05 =D
18
S0
w
xy
f
0
00 zz z'z' 1
MUX 8→1
1234567
0
S1
S2
f
wxyz S0
MUX 16→ 1
0001100001001110
0123456789101112131415
S1
S2
S3
n-מימוש עם בורר בעל פחות מ:כניסות ועם משתני מפה
:מימוש ישיר ללא משתני מפה
ממוש פונקציות באמצעות בוררים
10
19
Decoder –מפענח
1m1o d,...,d,d −
m2n ≤1n1o f,...,f,f −
0=if1fi =
nm →
. יציאות :פלט
.i לכל Enable=0 אם · i כאשר ,Enable=1 אם ·
י כניסות "הוא המספר הבינרי המיוצג ע.0וכל שאר היציאות הן , הבקרה
זהו מפענח
כניסות בקרה m:קלט. Enableכניסת
).Dהוא בעצם כניסת המידע Eכאשר , Demultiplexerאפשר להתייחס למפענח כאל (
mD
E F 0
D e c o d e r
...
F 1
F 2
F n -2
F n -1
20SS
E
. ...
....
..f0
f1
f2
f3
Decoderמימוש
11
21
4 → 16decoder
Enable
ABCD
f
f
f
f
f
0
1
5
9
15
f(A,B,C,D)=Σ(1,5,9,15)
( ) ( )∑= 15951DCBAf ,,,,,,
מימוש פונקציה באמצעות מפענח
22
D e c o d e r
E
ss
s m -1
1
0
ff
f
01
n -1
D D D 01n -1 . . .
. . .
......
:Decoder -תוך שמוש ב Selectorניתן לממש : הדמיון בממוש
הקשר בין בורר למפענח
12
23
nterminals
z
En
D D Dn-1
1 0
fff n-1 1 0
s
s
s
s selector/multiplxer
Decoder/
demultiplexer
0
0
m-1
nComputers
m-1
communicationline
המידע מן המסוף שנבחר יגיע
, למחשב המתאים) כניסות הבקרה(אם הכתובות
המוזנות לבורר ולמפענח הן
.תואמות
העברת מידע באמצעות בורר למפענח
בורר ומפענח מבצעים פעולות הפוכות Enable -אנו נשתמשים בכניסת ה
:Data ככניסת Decoder -של ה
24
סיבוכיות הבורר
: כניסות נתונים מכיל K=2n - כניסות בקרה וn+1בורר בעל 2(n+1)מהפכים
2n שערי AND בעלי n+2השקולים ל(א " כניסות כ- n+1 שערי AND . שערים2n(n+1)א וביחד "בעלי שתי כניסות כ
שערים בעלי שתי כניסות2n-1– כניסות השקול ל 2n בעל ORשער מחירו של הבורר הוא, כ"סה
n+2)2n+2n+1=O(n2n)=O(K log2K) (שערים.
Z
S1S 0
E
D
D
D
0
1
2
3
... .
...
.
.
.
.
.
D
13
25
סיבוכיות המפענח
: יציאות מכילK=2n - כניסות וn+1מפענח בעל 2nמהפכים2n שערי AND בעלי n+1השקולים ל(א " כניסות כ- n שעריAND בעלי
. שעריםn2n וביחד )א"שתי כניסות כמחירו של הבורר הוא, כ"סה
n2n+2n=O(n2n)=O(K log2K)שערים .
SS
E
. ...
....
..f0
f1
f2
f3