P 1 n
RG
1 n
у
3
у
4
у
5
Y3:SM da kushish;
Y4:SM:=0;
Y5:Sm:=(SM)tesk;
Y6:RG[0]:=RG[0];
Y7:RG:=X;
Y8:RG:=0;
Registrdan jamlagichga to‘g‘ri va teskari kodni uzatish Y
1
va Y
2
mikroamal–
lar yordamida bajariladi. Teskari kod uzatilganda jamlagichning ishora xonalariga
«11» kodi kiritiladi. Y
3
=1 signali bo‘yicha jamlagichdagi xonalararo ko‘chirish
zanjirlari ulanadi. Jamlagich va registrdagi kodlarni qo‘shish bir vaqtda ikkita
(Y
3=
1, Y
2
: SM:=RG) mikroamalning bajarilishini talab etadi. Y
5
mikroamalni
jamlagichning raqam xonalaridagi kodni inventrlaydi. Bunda jamlagichning ishora
xonalaridagi qiymatlar o‘zgarmaydi. Y
6
mikroamali registrdagi kodning ishorasini
inventrlashga xizmat qiladi. Y
7
mikroamali bo‘yicha operand kodi registrga
uzatiladi, u
8
mikroamali esa registrni tozalashga xizmat qiladi.
Qo‘shish amalini boshqarishda R
1
, R
2
, R
3
mantiqiy shartlar ishlatiladi. R
1
signal jamlagich ishora xonasining qiymati (sign SM) ni, R
2
signal jamlagich
to‘lib – toshish xonasining qiymati (SM[P]) ni, R
3
signali esa registr ishora
xonasini qiymati (sign RG) ni aniqlaydi.
Qo‘shish amalining mikrodasturi 9 – rasmda keltirilgan. Unda operator
uchlarining yoniga mikrodastur mos operatorlarining bajarilishida «1» qiymatni
oluvchi signallar yozib qo‘yilgan. Mikrodasturning, ya’ni qo‘shish amalining
bajarilish vaqti qo‘shiluvchilarning qiymatlariga bog‘liq. Agar birinchi
qo‘shiluvchi va natija musbat qiymatlarga ega bo‘lib, jamlagichning xona to‘ri
to‘lib – toshmasa, qo‘shish amali bir takt mobaynida bajariladi. Umuman,
qo‘shish amalining bajarilishi vaqti to‘rt taktdan oshmaydi.
Ayirish amalini bajarishda Y
6
signali yordamida kamayuvchining ishorasi
inventrlanadi va undan so‘ng qo‘shish mikrodasturi bajariladi.
Qo‘zgalmas vergulli sonlarni ko‘paytirish, qo‘shish va siljitishlarning
ketma- ketligiga keltiriladi. Ko‘paytma har biri ko‘payuvchini ko‘paytiruvchining
bir xonasiga ko‘paytirish yo‘li bilan olingan qismiy ko‘paytmalar yig‘indisi kabi
hisoblanadi. Ikkita n xonali sonning ko‘paytmasi 2n xonali sonni beradi va
yaxlitlash orqali n xonali songa keltiriladi.
Qismiy ko‘paytmalar ko‘paytiruvchining kichik xonasidan yoki katta
xonasidan boshlab hisoblanishi mumkin. Ularning kodini siljitish ko‘paytiruvchi
xonalarining
salmoq koeffitsiyentlarini
qiymatlariga
muvofiq
qismiy
ko‘paytmalarini siljitish yoki ko‘payuvchini siljitish orqali amalga oshiriladi.
Shunday qilib, umuman ko‘paytirishni to‘rt xil varianti bo‘lib, ularning ichidan
ikkitasi ahamiyatga molikdir. Birinchi variantda ko‘paytirish ko‘paytiruvchini
kichik xonasi bilan boshlanadi. Ko‘paytiruvchining navbatdagi raqami
ko‘paytiruvchining o‘ng tarafga bir xonaga siljitish yo‘li bilan olinadi. Agar
ko‘paytiruvchining raqami «1» qiymatiga ega bo‘lsa, qismiy ko‘paytmalar
yig‘indisining qiymati ko‘payuvchining qiymati qadar ortadi. Ko‘paytiruvchining
raqami 0 qiymatiga ega bo‘lganida jamlash bajarilmaydi. Ko‘paytiruvchilarning
har bir xonasiga ko‘paytirishdan so‘ng qismiy ko‘paytma–lar yig‘indisi o‘ng
tarafga bir xonaga siljitiladi. Ko‘payuvchining holati o‘zgarmaydi. Jamlagichning
uzunligi (2n+1) ikkilik xonaga teng. Ko‘paytirish–ning bu variantida jamlash
jamlagichning faqat (n+1) xonasida bajariladi. Qo‘shishda yig‘indi n dan kichik
xonalarning qiymati o‘zgarmaydi. Ko‘paytiruvchini siljitishda ko‘paytiruvchi
registrining bo‘shagan xonalaridan foydalanish evaziga jamlagichning uzunligi
n+1 ni ikkilik xonagacha kamaytirish mumkin. Bu holda yig‘indini
siljitganda ko‘chirish signali jamlagichning n - xonasidan ko‘paytiruvchi
registrining katta xonasiga uzati– ladi. Ko‘paytirish amali tugagandan so‘ng
ko‘paytmaning n dan katta xonasi jamlagichda n dan kichik xonasi esa
ko‘paytiruvchi registrida saqlanadi. Ikkinchi
variantda,
ko‘paytirish
ko‘paytiruvchining katta xonasidan boshlanadi. Ko‘paytiruvchining navbatdagi
raqami ko‘paytiruvchini chap tarafga bir xonaga siljitish yo‘li bilan olinada. Agar
ko‘paytiruvchining raqami «1» qiymatiga ega bo‘lsa, qismiy ko‘paytmalar
yig‘indisining
qiymati
ko‘payuvchining
qiymati
qadar
ortadi.
Ko‘paytiruvchining har bir xonasiga ko‘paytirishdan so‘ng qismiy ko‘paytmalar
yig‘indisi chap tarafga bir xonaga siljitiladi. Qo‘shish summatorining hamma 2n
xonasi bo‘yicha bajariladi va ko‘paytirish amali tugagandan so‘ng 2n xonali
ko‘paytma
jamlagichda
saqlanadi. Birinchi
variantda (ko‘paytirish
ko‘paytiruvchining kichik xonasidan boshlanganda) qo‘shish jamlagichning faqat
n+1 xonasida bajarilaganligi sababli, qo‘shish uchun ikkinchi variantga nisbatan
kam vaqt talab etiladi. Birinchi variantga muvofiq ko‘paytirish amalini bajarishga
mo‘ljallangan
qurilma
operatsion
qismining
strukturasini
ko‘raylik.
Ko‘paytiruvchining kichik xonasidan boshlab ko‘paytirish amalining algoritmi
quyidagicha:
1) ko‘paytirish amali operandlarning modullari ustida bajariladi;
2) amal bajarilishi boshlanishidan avval qismiy ko‘paytmalar yig‘indisi 0 ga
tenglashtiriladi;
3) agar ko‘paytiruvchining qiymati «1» ga teng bo‘lsa, qismiy ko‘paytmalar
yig‘indisi ko‘payuvchining qiymati qadar ortiriladi;
4) qismiy ko‘paytmalar yig‘indisi o‘ng tarafga bir xonaga siljitiladi;
5) algoritmning 3 va 4 bandlari qo‘paytiruvchining kichik raqamidan
boshlab ketma-ket hamma raqamlari uchun qaytariladi;
6) agar operandlarning ishoralari bir xil bo‘lsa, ko‘paytmaga musbat aks
holda manfiy ishora beriladi;
7) zarurat tug‘ilganda ko‘paytma n katta xonaga yaxlitlanadi.
Operatsion qismdan ko‘paytirish amalini boshqaruvchi blokka quyidagi
signallar beriladi:
P1=RG2[n];
P2=RG2[1];
P3=signRG2;
P4=signRG1;
Ko‘paytirish natijasi olinganligi to‘g‘risidagi signalni hosil qilish uchun takt
hisoblagichi SchT ishlatiladi. Bu hisoblagichda u
14
signali bo‘yicha 2n xonali
ko‘paytmani olish uchun zarur bo‘lgan n ko‘paytirish taktlari soni kiritiladi (u
14
:
CrT:=n). Ko‘paytiruvchining navbatdagi raqamiga ko‘paytirilganda takt
hisoblagichi bittaga kamayadi (u
13
:SchT:=SchT-1). Ko‘paytiruvchining hamma n
xonasiga ko‘paytirilganda so‘ng takt hisoblagichida nol qiymati hosil bo‘ladi.
SchT=0 bo‘lganda hisoblagichning chiqish yo‘lida r
5
=1 signali shakllanadi.
Ko‘paytirish amalining mikrodasturi 11 - rasmda keltirilgan. n xonali ko‘paytmani
hosil qilish maqsadida natija (n++1) xona qiymati bo‘yicha yaxlitlanadi. (n+1)
xona qiymati r
2
signali orqali ifodalangan. Agar r
2
=1 bo‘lsa, jamlagichning qiymati
n-xonaning birlik qiymati qadar ortiriladi. Agar r
2
=0 bo‘lsa, jamlagichning qiymati
o‘zgarmaydi. Shuni aytib o‘tish lozimki, qo‘zgalmas vergulli sonlarni
ko‘paytirishda natija yaxlitlansa ham, jamlagich xona turining to‘lib – toshishi ro‘y
bermaydi. Haqiqatdan ham 2n xonali natijaning eng katta qiymati quyidagiga teng:
(1-2-n ) (1-2-n )=1-2-(n-1)+2-2n
Natija yaxlitlanganda ko‘paytma qiymati 2-(n+1) ga ortganda, ya’ni:
[1-2-(n-1)+2-2n ]+ 2-(n+1) q1-2-n+1+1+1+2-2n+2-(n-1)=1-2-(n+1)+2+2-2n +2-
(n+1) =1-2-(n+1)*22+2-2n +2-(n+1) =1-3-(n+1)+ 2-2n.
Bu qiymat doimo birdan kichik.
11-rasm
RG2[n]
Sch T=0
Rg2:=R1(Rg2)
SM:=R1(SM)
Rg2[1]:=SM[n]
SchJ=SchT-1
RG[1]
SM:=SM+2
-n
tamom
boshlash
шлаш
RG2
SM:=0
СчТ:=0
SM:=SM+RGY
signSM:=11
Do'stlaringiz bilan baham: |