Kërkohet të realizohet shumëzimi i dy numërave me presje fikse me 8 bitë :
X = x0 x1 x2 …x7 dhe Y = y0 y1 y2….y7
për të perfituar produktin P = X * Y.
Sejcili numër shprehet në formën : shenjë + vlerë absolute, ku bitët x0 dhe y0 paraqesin shenjën e numërit ( 0 = numër pozitiv, 1 = numër negativ). Pjesa e vlerës absolute shprehet në formën e një numëri thyesor ( < 1), d.m.th. që presja binare vendoset në mënyrë implicate ndërmjet bitit 0 dhe 1 të numërit (x0, x1; y0,y1)
Kështu numëri X do të paraqesë numërin kur x =0, ndërsa do të paraqesë numërin -N kur x =1.
Për të realizuar shumëzimin, fillimisht do te llogaritet vlera absolute e produktit
PM ← XM YM (1)
ku XM dhe YM janë vlerat absolute respektivisht të numrave X dhe Y, ndërsa PM = p1 p2 p3… p14 është vlera absolute e produktit.Shënja e produktit llogaritet sipas shprehjes :
p0 = x0 Xor y0
Në përfundim produkti P = p0 p1 p0 …..p14 është 15 bite i gjatë .
Siç shihet, problemi kryesor është realizimi i shumëzimit të vlerave absolute të numrave X dhe Y. Për këtë na vijnë në ndihmë relacionet :
Pi← Pi + xjY
Pi+1 ← 2-j P
Në rastin tonë produkti P do të llogaritet nëpërmjet 7 etapave mbledhje/zhvendosje djathtas si më poshtë:Pi=Pi + x7-i Y (2)
Pi+1 ← 2-1 Pi (3)
ku : P0 = 0, P7 = PM dhe i lëviz nga 0-6.pra :
Pi ← Pi + Y kur x7-i = 1
Pi ← Pi kur x7-i = 0
Pasi u njohëm me konditat paraprake, të spacifikojmë tani elementët e nevojshëm per realizimin e operacionit te shumëzimit.
Për memorizimin e numërave X dhe Y nevojiten dy regjistra, respektivisht regjistrat MQ dhe DR ( shih leksionin). Për memorizimin e produkteve pi do të përdorim akumulatorin AC. Për realizimin e mbledhjes ( sipas ekuacionit 2 ) përdoret një shumator paralel me 7 bite. Eshtë e qartë se dalja dhe hyrja e majte e shumatorit duhet të lidhet me regjistrin AC, ndërsa hyrja e tij e djathtë duhet të lidhet me regjistrin DR ( kur x7-i= 1), ose me zero ( kur x7-i= 0).
Sipas realacionit 2, operacioni i shumëzimit kontrollohet nga biti x7-i , i cili gjendet ne regjistrin MQ. Pra është e nevojshme që njësia e kontrollit të shumëzimit te testojë përmbajtjen e MQ nga e djathta në të majtë gjatë gjithë operacionit të shumëzimit. Praktikisht kjo bëhet e mundur duke realizuar regjistrin MQ në formën e një regjistri me zhvendosje djathtas, ku bistabli i ekstremit te djathtë MQ(7) do të përmbajë x7-i për çdo vendosje. Pra shihet që kur XM reduktohet gradualisht nga 7 ne 0 bit.
Në te njejtën kohë produktet Pi nepermjet zhvendosjeve djathtas ( Pi+1 ← 2-1Pi ) zgjerohen nga 7 në 14 bite. Ky fakt bën që regjistrat AC dhe MQ të grupohen në një regjistër të vetëm me zhvendosje AC.MQ me 16 bitë, ku gjysma e majtë shënohet AC, ndërsa gjysma e djathtë MQ.
Shumëzuesi plotësohet duke shtuar busin e të dhënave DATA BUS dhe një njësi kontrolli. Kështu paraqitja skematike e shumezuesit do te ishte si në figurën e meposhteme.
Organigrama e algoritmit te shumëzimit binar është paraqitur në vazhdim.
Mbledhja e dy numrave me 7 bitë AC (1:7) dhe DR (1:7) mund të prodhojë një shumë 8 biteshe, qe vendoset në akumulator AC(0:7). Në këtë rast sinjali Carry Out i shumatorit 7 bitësh është biti me peshë më te lartë të shumës 8 bitëshe, prandaj ai vendoset në AC(0). Numëruesi NUM inkrementohet dhe testohet në çdo etapë mbledhje/zhvendosje me qëllim që të përcaktohet fundi i procesit të shumëzimit. Kur NUM = 7, PM gjendet në bitët 1:14të regjistrit AC.MQ, d.m.th. AC(1:7).MQ(0:6). Biti i shenjës p0, pasi llogaritet [ p0 ← MQ(7) DR (0) ] vendoset në akumulator në AC (0) . Njëkohësisht në MQ (7) vendoset vlera 0 për të zgjeruar produktin përfundimtar nga 15 në 16 bitë.
Eshtë e qartë që për realizimin e funksioneve elementarë (të paraqitur në organigramë ) si ngarkimi i regjistrave, zerimi i tyre, mbledhja e operandave, zhvendosja djathtas e regjistrit AC.MQ etj, nevojiten sinjale kontrolli të veçantë, të cilët duhet të aktivizohen në momente kohe të caktuara. Gjenerimin i ketyre sinjaleve e kryen njësia e kontrollit në sinkronizim me sinjalin e orës ( clock) .
Ne tabelen 1 jepen sinjalet e brendshem te kontrollit te nevojshem per realizimin e shumezimit
TABELA No. 1
Sinjali i kontrollit | Operacioni qe realizohet |
C0 | ZERO AKUMULATORIN |
C1 | ZERO NUMERUESIN |
C2 | NGARKO AC (0) |
C3 | NGARKO REGJISTRIN DR NEPERMJET INBUS |
C4 | NGARKO REGJISTRIN MQ NEPERMJET INBUS |
C5 | NGARKO DALJET E SHUMATORIT NE AC(1:7) |
C6 | ZGJIDH (DR)OSE ZEROPER TU APLIKUAR NE HYRJEN E DJATHTE TE SHUMATORIT |
C7 | ZHVENDOS DJATHTAS REGJISTRIN AC.MQ |
C8 | INKREMENTO NUMERUESIN NUM. |
C9 | ZGJIDH Carry Out OSE DR(0) + Q(7) PER NGARKIM NE AC(0) |
C10 | ZERO MQ(7) |
C11 | TRANSFERO PERMBAJTJEN E AC NE OUTBUS |
C12 | TRANSFERO PERMBAJTJEN E MQ NE OUTBUS |
Te kihet parasysh gjithashtu se sinjali i kontrollit C6 do të përcaktohet nga vlera e bitit MQ(7) të regjistrit MQ. Kështu kur MQ(7) = 0, operanda do të jetë zero, ndërsa kur MQ(7) = 1, operanda do të jetë permbajtja e regjistrit DR ( vlera e Y).
Në figuën e mëposhtëme, paraqitet skematikisht ndërtimi i ALU ku jane shtuar edhe elementët suplementarë, të cilët bëjnë të mundur veprimin e sinjaleve të kontrollit.