Shaxsiy kompyuterlar uchun mikroprotsessorlar


O‘nli nuqtasi siljuvchi sonlar ustida amallar bajaruvchi arifmetik



Yüklə 3,47 Mb.
Pdf görüntüsü
səhifə72/140
tarix16.09.2023
ölçüsü3,47 Mb.
#144022
1   ...   68   69   70   71   72   73   74   75   ...   140
Shaxsiy kompyuterlar uchun mikroprotsessorlar

O‘nli nuqtasi siljuvchi sonlar ustida amallar bajaruvchi arifmetik 
mantiqiy qurilmalar 
Qiymatlarni o‘nli nuqtasi siljuvchi sonlar shaklida ifodalash umumiy 
ishlarga mo‘ljallangan EHMlarda keng qo‘llaniladi. Bu sonlar qiymatlarni keng 
diapazonda katta bo‘lmagan xatoliklar bilan ifodalaydi. Ularning ishlatilishi 
hisoblashlarni dasturlash masalasini osonlashtiradi, chunki sonlarni qo‘zg‘almas 
nuqtali shaklda ifodalashdan farqli ravishda, dastlabki ma’lumotlarni, oraliq va 
so‘nggi natijalarni masshtablash zaruriyati yo‘qoladi. 
X soni o‘nli nuqtasi siljuvchi shaklida quyidagi ikkilik son ko‘rinishida 
ifodalanadi: 
X=

x
1
x
2
x
3
...x


y
p
y
p-1
…y

Bu yerda so‘zning birinchi qismi 

x
1
x
2
x
3
...x
m
son mantisasini, ikkinchi qismi

y
p
y
p-1
…y

son tartibini ikkilik sistemada ifodalaydi. Mantissa butun son kabi 
ko‘rilsa, tartib kasr son kabi ko‘riladi. O‘nli nuqtasi siljuvchi son mantissasining 
aniqligini oshirish maqsadida normallash qo‘llaniladi. Normallashga binoan 
x
1
raqami X sonining katta qiymat raqamiga mos kelishi kerak, ya’ni 
x
1
q1 bo‘lishi 
kerak. Normallangan X sonining mantissasi 0,5

(m) <1 oraliqda yotadi va 
mantissaning eng katta nisbiy xatoligi 
m


2

ga teng (bu yerda m – mantissani 
ifodalashda ishlatiladigan raqam xonalarining soni). o‘nli nuqtasi siljuvchi son 
orqali ifodalangan modul bo‘yicha eng katta qiymat asosan tartibning raqamlar 
soniga bog‘liq, ya’ni (X)
max=
(1-2m)

2

(2

p-1). Bu yerda 2

r - 1 tartibning eng katta 
qiymatni aniqlaydi. 
O‘nli nuqtasi siljuvchi ikkilik sonlarni qo‘shish quyidagicha bosqichlarni o‘z 
ichiga oladi:
1) kichik tartibli qo‘shiluvchini katta tartibli qo‘shiluvchiga keltirish yo‘lli 
bilan qo‘shiluvchilar tartibini tenglashtirish. 
2) Mantissalarni o‘nli nuqtasi siljuvchi sonlar kabi qo‘shish. 
3) Yig‘indini normallashtirish. 
Qo‘shish amali mantissalar ustida har bir tartib ustida alohida bajariladi.
Qurilmada mantissa jamlagich (SMT), mantissa registri (RGM) dan va 
ikkita tartib registri (RGT1, RGT2) dan tashkil topgan. SMM va SMT 
jamlagichlarda xona to‘lib – toshishini nazorat qilish uchun qo‘shimcha SMM[P] 
va GMT[P] xonalar ishlatiladi.
O‘nli nuqtasi siljuvchi sonlarni qo‘shish uchun qurilmada quyidagi mikro 
amallardan foydalaniladi: 
Y1:SMM[m]:=1; 
Y2:RGT1:=0; 
Y3:RGT2:=SMT; 
Y4:SMT:=RGT2; 
Y5:SMT da kushish; 
Y6:signSMM:=signRGM1; 
Y7:SMM[1]:=1; 
Y8:SMM:=0; 
Y9:SMM:=( SMM)tesk; 


Y10: SMM:=RGM1; 
Y11: SMM:= (RGM1)tesk; 
Y12: SMM:=L1(SMM); 
Y13: SMM:=R1(SMM); 
Y14: SMM da kushish; 
Y15:SMT[1]:=1; 
Y16: SMT:=-1; 
Y17: SMT:=0; 
Y18: SMT:=( SMT)tesk; 
Y19: SMT:=-Pmax; 
Y20:sign SMT:=signRGT1; 
Y21: SMT:=(RGT1); 
Y22: SMT:=(RGT1)teskj 
Y23:RGN1:=0; 
Y24:RGN1:=R1(RG M1); 
Y25:RGT1:=0; 
Y26:SMM SMT:=X; 
Y27:RGM1 RGT1:=X; 
Y28:T:=signSMT. 
Yuqorida aytib o‘tilganidek, qo‘shish amali qo‘shiluvchilarning tartiblarini 
tenglashtirishdan boshlanadi. Tartiblarni ayirishdan oldin birinchi operandning 
tartibi u
3
signali bo‘yicha RGT2 ga uzatiladi. Tartiblarni ayrilganda manfiy qiymat 
modifikatsiyalangan teskari kodda ifodalanadi. Agar birinchi qo‘shiluvchining 
tartibi manfiy ishoraga ega bo‘lsa, tartibning teskari kodini hosil qilish u
18
signali 
bo‘yicha SMT raqam xonalarini inventrlash orqali amalga oshiriladi. RGT1 da 
saqlanayotgan tartibning ishorasiga bog‘liq holda ikkinchi qo‘shiluvchining tartibi
SMT ga to‘g‘ri kodda (sign RGTq1) yoki teskari kodda (sign RGT=0) uzatiladi
hamda tartiblarning kodlarini qo‘shish bajariladi. Natijada tartiblar jamlagichda 
birinchi va ikkinchi qo‘shiluvchilar tartiblarining farqi aniqlanadi.
Qo‘shiluvchilarning tartiblarini tenglashtirish kichik tartibli qo‘shiluvchi 
mantissasini o‘ng tarafda, son tartiblarining farqiga teng bo‘lgan xonaga surib 
bajariladi. Agar tartiblar farqining moduli mantissa jamlagichning xona to‘ri 
uzunligidan katta bo‘lmasa (/SMT/>m), mantissalarini qo‘shishning ma’nosi 
bo‘lmaydi. Chunki, mantissalardan birini sonni m dan katta bo‘lgan xonaga surish 
mantissaning hamma qiymatli raqamlarning yo‘qolishiga olib keladi. Bu holda 
natija mantissalrini qo‘shmasdan aniqlanadi va u katta tartibli qo‘shiluvchiga teng 
bo‘ladi. Katta tartibli qo‘shiluvchi aniqlanishi bilan qo‘shish amali tugallandi.
Agar qo‘shiluvchilarning tartiblari teng bo‘lsa (SMT=0), mantissalarni 
siljitish bajarilmaydi va mikrodasturda yig‘indi tartibini aniqlovchi operatorlarga 
o‘tish amalga oshiriladi. Agar qo‘shiluvchilarning tartiblari har xil bo‘lsa 
(SMT

0), mikrodasturda mantissani siljituvchi operatorlarga o‘tish amalga 
oshiriladi. Agar Sign SMT=0 bo‘lsa, ikkinchi qo‘shiluvchi kichik tartibga ega va 
tartiblarni tenglashtirish RGM1 da saqlanayotgan ikkinchi qo‘shiluvchi 
mantissasini siljitish orqali bajariladi. Mantissa bir xonaga surilganda tartiblar 
farqining qiymati bittaga kamayadi. RGM1 dagi kodni siljitganda tartiblar farqini 


bittaga kamaytirish uchun u
16
signali bo‘yicha SMT jamlagichga - 1 qiymati 
teskari kodda (11, 11, …,10) uzatiladi va qo‘shish amalga oshiriladi. SMT dagi 
kodni siljitilganda tartiblarning manfiy farqiga bir qo‘shiladi. Mantissani 
navbatdagi siljitishdan so‘ng tartiblar farqining nolga tengligi tekshiriladi. Farq nol 
qiymatini olgan vaqtda qo‘shiluvchilarning mantissalari bir xil tartibli bo‘ladi.
Tartiblar tenglashtirilgandan so‘ng yig‘indiga katta tartibli qo‘shiluvchining 
tartibi beriladi. Tartiblar farqining ishorasi trigger T ga u
28
signali bo‘yicha 
kiritiladi. Agar farqning ishorasi musbat bo‘lsa, (T=0) yig‘indi tartibi birinchi 
qo‘shiluvchining tartibiga teng, agar manfiy bo‘lsa (T=1), yig‘indi tartibi ikkinchi 
qo‘shiluvchi tartibiga teng. Yig‘indi tartibi SMT ga T=0 bo‘lganda RGT2 dan, 
Tq1 bo‘lganda RGT1 dan uzatiladi. Agar yig‘indi tartibi manfiy bo‘lsa, teskari 
kodda ifodalanadi.
Mantissalarni qo‘shish teskari kodda amalga oshirilib, natija to‘g‘ri kodda 
ifodalanadi va 0

(
m
x1
Qm
x2
)<2 oraliqda yotadi. Agar natija mantissasi 
normalashtirilmagan bo‘lsa, mantissani siljitish va yig‘indi tartibini korreksiyalash 
yo‘li bilan natija normalashtiriladi. Agar natija mantissasi 1

(
m
x1
+m
x2
)<2
oraliqda yotsa u xona to‘rini to‘lib – toshadi.
Qo‘zgalmas nuqtali sonlarni qo‘shishdan farqli ravishda O‘nli nuqtasi 
siljuvchi sonlarni qo‘shish takroran bajariladi. O‘nli nuqtasi siljuvchi sonlarni 
ayirish amali ayriluvchining ishorasini inventrlash yo‘li bilan qo‘shish amaliga 
keltiriladi.
O‘nli nuqtasi siljuvchi sonlarni ko‘paytirishda ko‘paytma mantissasi 
qo‘zg‘almas nuqtali sonlarni ko‘paytirish, ko‘paytma tartibi esa butun sonlarni 
qo‘shish bilan aniqlanadi. O‘nli nuqtasi siljuvchi sonlar ustida bo‘lish amali 
bajarilganda bo‘linma mantissasi qo‘zg‘almas nuqtali sonlarni bir – biriga bo‘lish, 
tartib esa operandlar tartibini ayirish bilan aniqlanadi. 

Yüklə 3,47 Mb.

Dostları ilə paylaş:
1   ...   68   69   70   71   72   73   74   75   ...   140




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin