You are on page 1of 124

ՀԱՅԱՍՏԱՆԻ ՀԱՆՐԱՊԵՏՈՒԹՅԱՆ ԳԻՏՈՒԹՅԱՆ և

ԿՐԹՈՒԹՅԱՆ ՆԱԽԱՐԱՐՈՒԹՅՈՒՆ

ՀԱՅԱՍՏԱՆԻ ՊԵՏԱԿԱՆ ՃԱՐՏԱՐԱԳԻՏԱԿԱՆ


ՀԱՄԱԼՍԱՐԱՆ

Հաշվողական Տեխնիկայի սեկտոր

Թումանյան Ա.
Սաղաթելյան Ա.

Էլեկտրոնային Հաշվիչ Մեքենաների


կազմակերպում
Դասախոսությունների տեքստ

Մաս 1
ԵՐԵՎԱՆ 2002

ՀՏԴ 681.3

Էլեկտրոնային հաշվիչ մեքենաների կազմակերպում: Դասախո-


սությունների տեքստ: Ա.Կ. Թումանյան, Ա.Կ. Սաղաթելյան:
Հայաստանի պետական ճարտարագիտական համալսարան. Երևան,
2002թ., 113 էջ:

Գրախոսներ՝ ՀՏ սեկտորի դոց., տ.գ.թ. Ռ.Պ. Պետրոսյան


ԵրՄՄԳՀԻ-ի գլխ. ինժեների տեղակալ, տ.գ.թ. Խ.Գ. Շառոյան

Դասախոսությունների տեքստը կազմված է համաձայն “ԷՀՄ


կազմակերպում” առարկայի ծրագրին, որը դասավանդվում է ՔՀ և Ի
դեպարտամենտի ուսանողներին: Դիտարկվում են ԷՀՄ-ի կառուց-
վածքային և գործառնության, ինչպես նաև հրամանների և տվյալների
ներկայացնելու հարցերը: Ներկայացվում են հիմնական թվային
սխեմաների (ինչպես կոմբինացիոն տիպի, այնպես էլ հիշողությունով)
կառուցման սկզբունքները, նկարագրվում են օպերացիոն սարքերի
կառուցման հիմնական սկզբունքները, բերվում են հիմնական
թվաբանական գործողությունների կատարման ալգորիթմները և նրանց
կառուցվածքները:

Հեղինակները իրենց երախտագիտությունն են հայտնում գրախոս-


ներ Ռ.Պետրոսյանին և Խ. Շառոյանին, ՀՏ սեկտորի դոցենտ Հ. Սար-
դարյանին և խմբագիր Ն. Խաչատրյանին:

2
Ներածություն

Առարկայի նպատակն է ժամանակակից քոմփյութերների


գործառնության և կառուցման հիմնական սկզբունքների ներկայացնելը:
Ընդունված է տարբերել քոմփյութերային համակարգերի
ճարտարապետությունը և կառուցվածքային կազմակերպումը:
Ճարտարապետություն տերմինը որոշում է հաշվիչ համակարգի
կազմակերպման և պրոցեսորի ֆունկցիաների սկզբունքները և
պատկանում է քոմփյութերի այն բնութագրերին, որոնք ունեն
անմիջական ազդեծություն ծրագրի կատարման տրամաբանության
վրա: Ճարտարապետության բնութագրերի թվին են պատկանում
պրոցեսորի հրամանների հավաքածուն, տարբեր տիպի տվյալների
ֆորմատները, ծրագրավորողին տեսանելի պրոցեսորի ռեգիստրները,
օպերանդների հասցեավորման մեթոդները, հիշողության կազմա-
կերպման մոդելները և այլն: Ճարտարապետությունը նեղ իմաստով դա
ծրագրավորողի տեսակետից համակարգի ապարատային միջոցների
կոմպլեքսի ներկայացնելն է մեքենա-կողմնորոշված լեզվով:
Քոմփյութերի կառուցվածքային կազմակերպում (միկրոճարտա-
րապետություն) տերմինը ենթադրում է օպերացիոն բլոկերի (սարքերի)
և նրանց փոխկապակցվածությունների միացությունը, որը ապահովում
է ճարտարապետության մշակման փուլում ընդունված որոշումների
իրականացումը: Կառուցվածքային կազմակերպման բնութագրերի
թվին են պատկանում ծրագրավորողից թաքնված համակարգի
ապարատային իրականացման դետալները, հրամանների կատարման
կազմակերպումը (հրամանների կոնվեեր), օպերանդների
հասցեավորման մեթոդները, գործողությունների կատարման
ղեկավարումը, օպերատիվ հիշողության մոդուլների կազմակերպումը
և այլն:
Քոմփյութերների մշակման փորձը ցույց է տալիս, որ ճարտա-
րապետությունը բավականի պահպանողական է և մնում է անփոփոխ

3
երկար ժամանակի ընթացքում, իսկ միկրոճարտարապետությունը
տեխնոլոգիաների զարգացման հետ արագ փոփոխվում է:

1. ԷՀՄ–ի աշխատանքի սկզբունքը, հրամանների և


տվյալների կառուցվածքները
Ֆոն – Նեյմանի կազմակերպմամբ ԷՀՄ – ի կառուցվածքը
Ժամանակակից ԷՀՄ – ների մեծ մասն ունի Ֆոն – Նեյմանի
կազմակերպում: ԷՀՄ – ի աշխատանքի հիմքում ընկած է ծրագրային
ղեկավարման սկզբունքը, որը 19–րդ դարում առաջարկել է Բեբիջը:
ԷՀՄ-ի առարկայի հիմքում հաշվարկների ծրագրի տեսքով ցանկացած
խնդրի լուծման ալգորիթմն է:
Ալգորիթմը վերջնական գործողությունների հավաքածու է, որը
որոշում է խնդրի լուծումը վերջավոր քանակությամբ
գործողությունների միջոցով: ԷՀՄ–ի համար ծրագիրը հանդիսանում է
կարգավորված հրամանների հերթականությունն, որը ենթակա է
մշակման (ISO 2382/1-84 ստնդարտ):
Ֆոն-Նեյմանի ԷՀՄ–ի կառուցվածքը ներկայացված է նկար 1.1-ում:

Մուտքի Օ ՀՍ Ելքի սարք


սարք

ԹՏՍ ՂՍ Արտաքին
ՀՍ

Նկար 1.1

ՕՀՍՍ – օպերատիվ հիշող սարք (կամ հիմնական հիշողություն):


Տվյալների և ծրագրերի մտապահման համար:
ԹՏՍ – թվաբանական-տրամաբանական սարք: ԹՏՍ-ում
կատարվում են տվյալներով թվաբանական և տրամաբանական
գործողություններ:
ՂՍ – ղեկավարման սարք: Ապահովում է հրամանների
ընտրությունը հիշողությունից և նրանց կատարումը:

4
Մուտքի սարքը ապահովում է արտաքին սարքից ինֆորմացիայի
ներմուծումը հիշողություն:
Ելքի սարքը ապահովում է ինֆորմացիայի դուրս բերումը
արտաքին միջավայր:
Ինֆորմացիայի փոխանցման շղթաները նկար 1-ում պատկերված
են ուղիղ գծով, իսկ ղեկավարող ազդանշանի շղթան՝ կետագծով:
Մուտքի սարքի միջոցով իրականացվում է լուծվող խնդիրների
ծրագրերի և տվյալների ներմուծումը ԷՀՄ: Սկզբից ներմուծված
ինֆորմացիան մտապահվում է ՕՀՍ-ում, իսկ հետո տեղափոխվում է
արտաքին հիշող սարք, որը նախատեսված է ինֆորմացիայի
երկարատև պահելու համար, և որտեղ ձևավորվում է հատուկ
ծրագրային օբյեկտը՝ ֆայլը: Ֆայլը ինֆորմացիոն զանգված է (ծրագիր,
տվյալներ, տեքստ և այլն), տեղավորված արտաքին հիշողությունում:
Արտաքին սարքերը կիրառում են գտել երկրորդ սերնդի ԷՀՄ-ներում:
Առավել տարածված ժամանակակից արտաքին հիշող սարքերի թվին
են պատկանում մագնիսական սկավառակների վրա ՀՍ-ները: Մուտքի-
ելքի սարքերը ծառայում են ինֆորմացիայի ձևափոխմանը քոմփյութե-
րային ներքին տեսքից (բիթ, բայտ) այն տեսքի, որը հարմար է օգտա-
գործման համար: Մուտքի սարքերի թվին են պատկանում՝
ստեղնաշարը, մկնիկը, սկաները, ջոյստիկը: Ելքի սարքերին են պատ-
կանում՝ դիսփլեյը, տպիչը, ակուստիկ սարքավորումները:
ֆոն-Նեյմանի մեքենաներում իրագործված է պահպանվող ծրագրի
սկզբունքը՝ ծրագրերը և տվյալները պահպանվում են նույն հիշողու-
թյան մեջ:
ԹՏՍ և ՂՍ համարվում են կենտրոնական պրոցեսորի հիմքը:
Պրոցեսորը համարվում է քոմփյութերի հիմնական հաշվողական
բլոկը, որով և որոշվում է նրա արագագործությունը: Ֆոն–Նեյմանի
ճարտարապետությունը ԷՀՄ–ի կառուցման միակ տարբերակը չէ:
Ղեկավարող սարքը ընկալում է ինֆորմացիան որպես հրաման,
իսկ ԹՏՍ-ն՝ տվյալ: Ինֆորմացիայի նվազագույն միավորն է բիթը, մինի-
մալ հասցեավորվող միավորը՝ բայտը ( 8 բիթ ): ԷՀՄ-ն ապահովում է
ինֆորմացիայի բազմակողմանի մշակում. ընդունում, մշակում, հիշում
և անհրաժեշտ տեսքով արտածում: Ինֆորմացիայի ընդունումը
կատարում է ներմուծման սարքը, մշակումը՝ պրոցեսորը,
մտապահումը՝ հիշողությունը , իսկ արտածումը ՝ ելքի սարքը:

0 բջիջ

5
1 բջիջ Հիշողությունը ( ՕՀՍ) ներկայացնում է
2 բջիջ հաջորդական հասցեներով բջիջների
. զանգված: Յուրաքանչյուր բջիջ ունի իր
. հասցեն: Հրամանները և տվյալները պահվում
. են բջիջներում , ներկայացնելով “0” – ից և “1”
– ից կազմված հավաքածուներ:
1023 բջիջ Ինֆորմացիայի փոքրագույն քանակը 1
բիթ է, որտեղ կարող է լինել “0” կամ “1”:
Նկար 1.2

Հրամանների ներկայացնելը ԷՀՄ – ում


Ինֆորմացիայի մշակումը իրագործվում է ծրագրային միջոցներով:
Ծրագիրը կազմված է հրամանների հերթականությունից և
ներկայացնում է մշակման ալգորիթմ, որը նկարագրված է տվյալ ԷՀՄ-
ի հրամանների համակարգի լեզվով: Հրամանը մեքենայական բառ է,
որը բաղկացած է 2 մասից` գործողության կոդից ( ԳԿ) և օպերանդների
հասցեներից: Հրամանը բացահայտ կամ ոչ բացահայտ տեսքով
պարունակում է հրամանի կատարման արդյունքի և հաջորդ հրամանի
հասցեները: Որպես կանոն հրամանը պարունակում է ոչ թե հենց
օպերանդները, այլ այն ռեգիստրի կամ հիշողության բջիջի հասցեները,
ուր գրանցված են այդ օպերանդները:
ԷՀՄ-ների զարգացման հետ միաժամանակ զարգացել է նաև
նրանց հրամանների համակարգը: Առաջին ԷՀՄ-ները օգտագործում
էին 4 - հասցեանի հրամաններ, որոնք այժմ չեն օգտագործվում: Այս
հրամաններում բացի օպերանդների հասցեներից գրանցվում էր նաև
հաջորդ հրամանի հասցեն: Ծրագրավորողին առավել հարմար է
օգտագործել 3–հասցեանի հրամաններ, որոնց ֆորմատը ներկայացված
է նկար 1.3-ում:

ԳԿ A1 A2 A3
Նկար 1.3
ԳԿ -- գործողության կոդ, որոշում է այն գործողությունը, որը
պետք է կատարի հրամանը: Օպերանդները -- այն տվյալներն են, որոնց
հետ կատարում են գործողությունը:
A1 , A2 -- այդ օպերանդների հասցեներն են:
A3 -- արդյունքի տեղադրման հասցեն:
6
Ինֆորմացիայի հիմնական ձևափոխումը գրանցում են ‘
( A1)  ( A2)  (A3)
(  ) -- այն գործողությունն է , որը կա ԳԿ – ում:
Դիտարկենք օրինակ` Y = ( a + b)  ( c - d) :
Ծրագիրը գրենք մեքենայական կոդերով: Ենթադրենք , որ ծրագիրը
գտնվում է ՕՀՍ - ի 100 – րդ բջջից սկսված: Եթե ՕՀՍ – ի ծավալը 210 =
1024 բջիջ է, ապա հասցեն ներկայացնելու համար պահանջվում է 10
կարգ: ԳԿ– ի համար ընտրենք 4 կարգ:

ԳԿ A1 A2 A3
4 բիթ 10 բիթ 10 բիթ 10 բիթ
Նկար 1.4

Աղյուսակ 1 –ում ներկայացված են գործողությունների կոդերը:

Աղյուսակ 1
ԳԿ Գործողություններ
0001 + ADD
0010 - SUB
0011  MUL
0100 / DIV
0101 Halt( stop)

A,B,C,D օպերանդները և Y արդյունքը տեղադրում ենք ծրագրից


հետո: Ասեմբլեր տիպի լեզվով գրած ծրագիրն ունի հետևյալ տեսքը՝
ADD A, B, T1
SUB C, D, T2
MUL T1, T2, Y
HALT
A: a օպերանդ
B: b օպերանդ
C: c օպերանդ
T1: t1
7
T2: t2
Y: y արդյունք
Մեքենայական ծրագիրն ունի հետևյալ տեսքը ՝
Աղյուսակ 2
Հասցե ԳԿ A1 A2 A3 Մեկն
0000000100 0001 0000001000 0000001001 0000001100
0000000101 0010 0000001010 0000001011 0000001101
0000000110 0011 0000001100 0000001101 0000001110
0000000111 0101 0000000000 0000000000 0000000000
0000001000 0000 0000000000 0000000000 0000000001 a
0000001001 0000 0000000000 0000000000 0000001000 b
0000001010 0000 0000000000 0000000000 0000001010 c
0000001011 0000 0000000000 0000000000 0000001001 d
0000001100 0000 0000000000 0000000000 0000001001 t1
0000001101 0000 0000000000 0000000000 0000000001 t2
0000001110 0000 0000000000 0000000000 0000001001 y

Աղյուսակի տողերին համապատասխանում է երկուական տեսքով


ներկայացված հիշողության բջիջների պարունակությունը:
Հիշողության բջիջիների հասցեները ներկայացված են «Հասցե»
սյունում:
Հրամանի կատարումն անցնում է հետևյալ փուլերը՝ հրամանի
ընտրում, գործողության կոդի վերծանում, օպերանդների ընտրումը
ՕՀՍ-ից, գործողության կատարումը ,արդյունքի գրանցումը ՕՀՍ-ում:
Ծրագիրը գտնվում է հիշողության մեջ սկսած (100) 2 հասցեով
բջիջից: Ծրագրի կատարումն իրականացվում է հետևյալ կերպ:
Ծրագրի առաջին հրամանը ընթերցվում է օպերատիվ հիշող սարքից
ղեկավարող սարք: Ղեկավարող սարքը կատարում է հրամանի
գործողության կոդի վերծանումը (մեր օրինակում դա «գումարել»
հրամանն է) և ուղարկում նրան ԹՏՍ: Հետո A1(1000) 2 հասցեով
կատարվում է առաջին օպերանդի ընթերցումը հիշողությունից, որը
ուղարկվում է ԹՏՍ: Հետո A2(1001)2 հասցեով կատարվում է դիմում
հիշողությանը երկրորդ օպերանդը ստանալու համար, որը նույնպես
ուղարկվում է ԹՏՍ: Այնուհետև, երբ երկու օպերանդները ընթերցված
են հիշողությունից, ԹՏՍ-ում կատարվում է «գումարում»
գործողությունը: Գործողության արդյունքը գրանցվում է հիշողություն
A3(1101)2 հասցեով: Այսքանից հետո ղեկավարող սարքը անցնում է
8
(101)2 հասցեով հաջորդ հրամանի կատարմանը: Հրամանների
կատարումը վերը նշված ձևով տեղի է ունենում այնքան, մինչև
հիշողությունից չընթերցվի (101)2 կոդով HALT հրամանը:
Երկու հասցեանի հրամանի ֆորմատը բերված է նկար1.5-ում:

ԳԿ A1 A2
Նկար 1.5
( A1)  ( A2)  A1 կամ ( A1)  ( A2)  A2
Գործողությունը կատարվում է այն օպերանդների նկատմամբ,
որոնք գտնվում են A1 և A2 հասցե ունեցող բջիջներում և արդյունքը
գրանցվում է կամ A1 կամ A2 օպերանդի հասցեում:
Երկու հասցեանի հրամանները ավելի փոքրածավալ են, քան երեք
հասցեանի հրամանները, քանի որ հրամանի դաշտում բացակայում է
A3 հասցեն:
Հրամանի երկարությունը ավելի փոքրացնելու, ինչպես նաև մեկ
տեղանոց գործողություններ կատարելու նպատակով օգտագործում են
մեկ հասցեանի մեքենաներ:
Մեկ հասցեանի հրամանի տեսքը բերված է նկար 1.6-ում:

ԳԿ A1
Նկար 1.6
Մեկ հասցեանի հրամանի կատարման սկզբունքը հետևյալն է:
Առաջին օպերանդը տեղավորված է հատուկ կուտակիչում –
ակումուլյատորում: Երկրորդ օպերանդը հիշողության A դաշտի մեջ է:
Արդյունքը գրանցվում է ակումուլյատորի մեջ ( accumulator) :
( acc)  (A)  ( acc):
Մեկ օպերանդի հրամանը կատարվելիս օպերանդը ընտրվում է A
դաշտով որոշվող հիշողության բջջից, իսկ արդյունքը տեղափոխվում է
հատուկ կուտակող ռեգիստր ՝ ակումուլյատոր (acc):
Երկու օպերանդի հրամանը կատարվելիս առաջին օպերանդը
գտնվում է ակումուլյատորում, իսկ երկրորդը ՝ A հասցեով հիշողության
բջջում: Արդյունքը կրկին ուղարկվում է acc:
Դիտարկենք օրինակ: Y=a+b
LOAD A ; acc  ( A )
ADD B ; acc ( acc ) +( B )
STORE Y ; Y  ( acc )

9
Անհասցե հրամաններում օպերանդներն իրականում չեն նշվում,
իսկ օպերանդների հասցեները և արդյունքի գրանցման տեղը
ենթադրվում են, օրինակ ՝ ստեկային հիշողության հետ աշխատելիս:
Ժամանակակից ԷՀՄ-ները օգտագործում են 1-հասցեանի և 2-
հասցեանի հրամաններ և ունեն հրամանների մի քանի ֆորմատներ:
Որպես կանոն CISC պրոցեսորներում (Complete Instruction Set
Computers) հրամաններն ունեն տարբեր երկարություն 1-ից մինչև 15
բայտ: RISC ( Reduced Instruction Set Computers) պրոցեսորներում
հրամանների երկարությունը հիմնականում նույն է, իսկ քանակը
ավելի քիչ է, քան CISC պրոցեսորներում:
Դիտարկենք y = ( a+b ) c – d / e արտահայտության հաշվարկման
ծրագրի օրինակը: 2 - հասցեանի ԷՀՄ-ի համար ծրագիրը հետևյալն է
ADD A, B ; Aa+b
MUL A, C ; A  (a + b)c
DIV D, E ; D  d/e
SUB A, D ; A  (a + b)c – d/e
MOV Y, A ; Ya
HALT ; դադարում
Օպերատիվ հիշողության ծավալն է 4096 (212 ), գործողության կոդի
կարգերի քանակը – 4, հրամանի երկարությունը – 28, ծրագրի ծավալը –
28 x 6 = 168 բիթ: ՕՀՍ-ին դիմումների քանակը – 14:
1 – հասցեանի ԷՀՄ-ների ծրագիրը.
LOAD A ; аcc  а
АDD B ; аcc  а + b
MUL C ; аcc  (а + b) c
STORE C ; C  аcc
LOAD D ; аcc  d
DIV E ; аcc  d/e аcc  (аcc) / (Е)
STORE D ; D  аcc
LOAD C ; аcc  (a + b)c
SUB D ; аcc  (а + b)c – d/e аcc  (аcc) – (D)
STORE Y ; Y аcc
HALT ; դադարում
Հրամանի երկարությունը – 16, ծրագրի ծավալը – 16x11 = 176 բիթ;
ՕՀՍ-ին դիմումների քանակը – 10:
Ինչպես երևում է օրինակից, 1–հասցեանի մեքենաներում, չնայած
որ կատարվել են լրացուցիչ հղումներ հիշողությանը հանման և
10
բաժանման գործողությունները կատարելու ժամանակ, օպերանդները
ստանալու համար հիշողությանը դիմումների քանակը կրճատվում է:
Կարելի է զգալիորեն փոքրացնել ՕՀՍ-ին դիմումների
հաճախականությունը, օգտագործելով ներքին ռեգիստրային
հիշողությունը:
Ժամանակակից պրոցեսորներն ունեն իրենց կազմում 8-ից (x86
կամ IA-32) մինչև 128( Itanium կամ IA-64) ընդհանուր նշանակման
ռեգիստրներ (ԸՆՌ): RISC պրոցեսորներում ԸՆՌ- ի քանակը ավելի
շատ է, քան CISC պրոցեսորներում:
16 ԸՆՌ-ով և ՕՀՍ-ի ծավալը հավասար 4096 բառ հրամանների
ֆորմատը ներկայացված է նկար 1.7-ում:

ԳԿ R1 R2 ԳԿ R1 A
ա) բ)
ՆԿար 1.7
ա) – “ռեգիստր–ռեգիստր” տիպի հրաման
բ) -- “ռեգիստր – հիշողություն” տիպի հրաման
Y – ի արժեքի հաշվարկման ծրագիրն է ՝
LOAD R1, A ; R1  a
ADD R1, B ; R1  a + b
MUL R1, C ; R1  (a + b)c
LOAD R2, D ; R2  d
DIV R2, E ; R2  d/e
SUB R1, R2 ; R1  (R1) – (R2)
STORE Y, R1 ; Yy
HALT ; դադարում
Ծրագրի երկարությունն է 20x6 + 1x4 + 1x8 =132 բիթ, ՕՀՍ–ի
դիմումների քանակը – 6: ՕՀՍ-ին դիմումների գումարային քանակը –
14: Օրինակից երևում է, որ ԸՆՌ –ի օգտագործումը կրճատում է և
ծրագրի ծավալը և ՕՀՍ- ին դիմումների քանակը:

Ստեկային կազմակերպմամբ ԷՀՄ


Ստեկային կազմակերպմամբ ԷՀՄ-ներում օպերանդների և
միջանկյալ հաշվարկների արդյունքների պահպանման համար
օգտագործում են ստեկը: Ստեկը հիշողություն է, որը գործում է LIFO
(Last In First Out) սկզբունքով: Գործողությունը կատարվում է այն

11
օպերանդների հետ, որոնք գտնվում են ստեկի գագաթին (Top of Stack),
ընդ որում օպերանդները ստեկից հեռացվում են, և արդյունքը
տեղավորվում է ստեկի գագաթին: Ստեկի հետ աշխատանքի համար
օգտագործվող հիմնական հրամաններն են ՝
PUSH (Push Down), POP (Pop Up), բոլոր թվաբանական և
տրամաբանական հրամանները:
PUSH գործողության դեպքում տվյալները ներմուծվում են ստեկ,
իսկ ավելի ուշ ներմուծվող տվյալները գալիս են ստեկի գագաթին և
նախորդ գրանցված տվյալները հրվում են ստեկի ներքևի տողեր:
POP գործողության դեպքում ստեկի ներքևի տողի (բջջի)
պարունակությունը դուրս է մղվում, իսկ մնացած բոլոր տվյալները
տեղավորվում են 1 տող վերևում:
Թվաբանական և տրամաբանական գործողությունների կատարման
պրոցեսում, սկսած ստեկի գագաթից, կատարվում է տվյալների դուրս
մղումը ստեկից (PUSH), ապա ստացված արդյունքը ներմուծվում է
ստեկ (POP):
Թվաբանական և տրամաբանական մշակման հրամանները
անհասցե են: Թվաբանական գործողությունների հաշվարկման
ծրագիրն է համարվում Լուկաշևիչի գրանցումը կամ պոստֆիկսային
գրանցումը:
0րինակ՝ a+b – սովորական (ինֆիկս) գրանցում, իսկ ab+ պոստ-
ֆիկս գրանցում: Գործողության նշանը գրվում է օպերանդներից աջ:
Կազմենք ծրագիր y = (a +b)*c – d/e արտահայտության հաշվարկի
համար: Թվաբանական գործողությունների ծառի հիման վրա որոշում
ենք արտահայտության լեհական գրանցումը (նկար 1.8):

‾‾ Ծառի շրջանցումը
սկսում ենք ներքևի
ձախ ճյուղից
X / Y=ab+cxde/-
X 12
X
X c d e
+
+
a b
Նկար 1.8
Հրամանների ֆորմատները ներկայացված են նկար 1.9-ում:
4 4 12
ԳԿ ԳԿ Հասցե
ա) բ)
Նկար 1.9
ա) անհասցե հրաման բ) PUSH, POP հրամաններ
Ծրագիրը՝
PUSH A PUSH E
PUSH B DIV
ADD SUB
PUSH C POP Y
HALT
MUL
PUSH D
Ծրագրի երկարությունը – 16x6 + 4x5 = 116 բիթ: ՕՀՍ-ին
դիմումների քանակը – 6: Հրամանների քանակը – 6:
Ստացված արդյունքները ներկայացնենք աղյուսակի տեսքով:

Աղյուսակ 3
2-հասցե- 1-հասցե ԸՆՌ-ի Ստեկով
անի ԷՀՄ անի ԷՀՄ ԷՀՄ ԷՀՄ
Ծրագրի երկարությու- 168 176 132 116
նը բիթերով
Հրամանների 6 11 8 11
դիմումների քանակը
ՕՀՍ օպերանդներին 14 10 6 6
դիմումների քանակը

Ըստ մեր օրինակի հիշողության առավել մեծ ծավալ է պահանջում


1-հասցեանի հրամանների համակարգը, իսկ ամենափոքրն է ՝ անհաս-

13
ցե համակարգը: ՕՀՍ – ի դիմումների ամենաքիչ քանակնը գրանցվել է
2-հասցեանի ընդհանուր նշանակմամբ ռեգիստրների ԷՀՄ-ներում, իսկ
ամենաշատը՝ 1- և 2- հասցեանի ԷՀՄ-ներում:

Տվյալների տիպի կառուցվածքը


ԷՀՄ-ները կատարում են ինֆորմացիայի մշակում, որն իր ֆիզիկա-
կան բնույթով կարող է լինել թվային, տեքստային, գրաֆիկական,
ձայնային և այլն: Ցանկացած ինֆորմացիա պետք է ներկայացվի
երկուական տեսքով: Ինֆորմացիայի տարբեր տեսակների թվեր,
տեքստեր, գրաֆիկա, ձայն ունեն կոդավորման իրենց օրենքները:
Տվյալների կոդավորման վերծանումը իրագործվում է ծրագրի հրաման-
ները կատարելիս:
Տվյալների տեսակներ
Ինֆորմացիայի հիմնական միավորներն են բիթ, բայտ( 8 բիթ), 2
բայտ ( x86 պրոցեսորում – բառ), կրկնակի բառ ( 4 բայտ), քառակի բառ
( 8 բայտ):
Պրոցեսորը աշխատում է տվյալների հետևյալ ձևերի հետ.
ֆիքսված ստորակետով ամբողջ թվեր, երկուական - տասական ամբողջ
թվեր, սահող ստորակետով իրական թվեր: Ֆիքսված ստորակետով
թվերի ստորակետի դիրքը երկուական ֆորմատում խիստ որոշված է:
Ամբողջ թվերի ներկայացնելը
Ժամանակակից պրոցեսորները, որպես օպերանդներ օգտագոր-
ծում են նշանով և առանց նշանի ամբողջ թվեր: Ամբողջ թվերի
ֆորմատները ներկայացված են նկար 1.10-ում:

2n-1 2n-2 21 20 2n-1 2n-2 21 20


an-1 an-2 a1 a0 S an-2 a1 a0
ա) բ)
Նկար 1.10
ա) -- առանց նշանի ամբողջ թվերի ֆորմատը,
բ) -- նշանով ամբողջ թվերի ֆորմատը:
S ( Sign) – նշանային կարգ
S = 0 դրական թվերի համար
S = 1 բացասական թվերի համար
ո - կարգանի առանց նշանի ամբողջ թվերի միջակայքն է
0  IAI  2n -1
14
Բացասական թվերի հետ գործողություններ կատարելու համար
օգտագործում են նույն թվի ուղիղ, հակադարձ և լրացուցիչ կոդեր:
Ուղիղ կոդը ձևավորվում է թվի բացարձակ արժեքին նշանային
կարգում ‘’1’’ ավելացնելով:
Օրինակ ’ A = - an-2 an-3 ..........a1 a0 n – 1 կարգանի թիվ
Aուղ = 1 an-2 an-3 ........... a1 a0
Օրինակ՝ n=8 A = - 12 A = -1100
Aուղ = 10001100
Հակադարձ կոդը ձևավորվում է հետևյալ կերպ՝ թվի բացարձակ
արժեքի բոլոր կարգերը շրջվում են, իսկ նշանի կարգում դրվում է ‘’1’’:
Aհակ = 1 an-2 an-3 ....... a1 a0
n = 8 A = - 12 A = - 1100
IAI = 00001100
A հակ = 11110011
Լրացուցիչ կոդը ձևավորվում է թվի հակադարձ կոդի վերջին (
փոքր) կարգին 1 գումարելով:
A լր = A հակ + 00.....01

A լր= 11110011
+ 1
11110100
Հակադարձ և լրացուցիչ կոդերը օգտագործվում են գումարման
և հանման գործողությունները կատարելու ժամանակ և կոչվում են
ժխտված կոդեր:
Կապը բացասական թվի և նրա ժխտված կոդի միջև
Տրված է թիվ՝
A< 0 A հակ = 1 an-2 an-3 .............a1 a0
|A| = 0 an-2 an-3 .............a1 a0
|A| + A հակ = 1 an-2 an-3 ........a1 a0 + 0 an-2 an-3 ....... a1 a0 =

111...1 =2n – 1
n A հակ = 2n – 1 - |A|
|A| + A լր = 2n – 1 + 1 = 2n
A լր = 2n - |A|
Այլ կերպ այս բանաձևը կարելի է ներկայացնել հետևյալ ձևով`
n-2

15
A = -2n-1 an-1 +  ai 2i , որտեղ an-1` նշանային կարգն է:
i=0

A < 0 թվի լրացուցիչ կոդը դա այդ թվի |A| մոդուլի լրացումն է


մինչև 2n :
Ուղիղ և հակադարձ կոդերն ունեն դրական և բացասական 0:
Լրացուցիչ կոդն ունի միայն դրական 0: 8 բիթանոց թվի ուղիղ և
հակադարձ կոդերի միջակայքերը -127  A  127
8 բիթանոց թվերի բոլոր կոդերը բերված են աղյուսակ 4-ում:
Լրացուցիչ կոդով ներկայացված թվերն ունեն հետևյալ
միջակայքը`
-128  A  127
Ընդանուր դեպքում n – կարգանի բոլոր թվերի միջակայքն է’
ուղիղ և հակադարձ կոդերի դեպքում - ( 2n-1 – 1)  A  2n-1 – 1,
լրացուցիչ կոդի դեպքում - 2  A  2n-1 – 1 :
n-1

Առանց նշանի թվերի համար 0  A  2n – 1:

Առանց նշանի Աղյուսակ 4


ամբողջ թվեր Նշանով ամբողջ թվեր
8 կարգանոց Առանց Ուղիղ Հակա- Լրացու-
կոդ նշանի կոդ դարձ կոդ ցիչ կոդ
0000 0000 0 0 0 0
0000 0001 1 1 1 1
0000 0010 2 2 2 2
0000 0011 3 3 3 3
. . . . .
. . . . .
. . . . .
0111 1111 127 127 127 127
1000 0000 128 -0 -127 -128
1000 0001 129 -1 -126 -127
1000 0010 130 -2 -125 -126
. . . . .
. . . . .
. . . . .
1111 1110 254 -126 -1 -2
1111 1111 255 -127 -0 -1

16
Հանրահաշվային գումարման գործողությունների կատարում
Լրացուցիչ կոդով թվերի գումարում և հանում:
Դիտարկենք գումարման գործողությունների կատարումը:
Անհրաժեշտ է հաշվարկել C = A + B: Այս դեպքում հնարավոր են
հետևյալ տարբերակները`
 A 0, B  0, A   B
0
Aլր+ B = 2n  A  + B = B  A
Այս դեպքում արդյունքը դրական է և նշանային կարգից 2 n
փոխանցումը անտեսվում է : Օրինակ ՝
1 1111001
0 0011111
10 0011000
այս մեկը անտեսվում է
 A  0, B  0, A  B.
Aլր + B = 2n  (AB) = 2n  C= Cլր
Օրինակ  1 11100100
0 00000100
1 11101000
Լրացուցիչ կոդով ստացվում է բացասական արդյունք:
 A  0, B  0 0
2n  A + 2n  C= 2n  (A + B) + 2n = 2n  C = Cլր
Բացասական արդյունքը ստացվում է լրացուցիչ կոդով, իսկ
փոխանցումը նշանային կարգից անտեսվում է:
Օրինակ 1 1110011
 1 1100111
11 101101 այս մեկը անտեսվում է
Եթե A և B թվերը դրական են, ապա գումարման գործողությունը
կատարվում է ուղիղ կոդով:
Եզրակացություն`
1. Նշանային կարգը, ինչպես և մյուս կարգերը, մասնակցում է
գործողությունների մեջ:
2. Բացասական արդյունքը ստացվում է լրացուցիչ կոդով:
3. Փոխանցումը նշանային կարգից անտեսվում է:

17
Հանման գործողության կատարումը բերում է B-ի գումարմանը A-
ի հետ լրացուցիչ կոդով: C = A +(– B) = A + Bլր:
Եթե B<0, ապա վերցնելով թվի լրացուցիչ կոդի լրացումը ստանում
ենք թվի մոդուլը:
2n – (2n - B) =B

Թվերի հանումը և գումարումը հակադարձ կոդով


Անհրաժեշտ է որոշել C = A + B
 A  0, B  0, A B

1
Aհակ + B = 2n 1 A+ B = C
Նշանային կարգից փոխանցումը չի անտեսվում, այլ գումարվում է
արդյունքի առաջին (ցածր) կարգին:
 A  0, B  0, A B
Aհակ + B = 2n 1 A+ B = 2n 1 (A B) = 2n 1  C= Cհակ
Նշանային կարգից փոխանցում չկա, քանի որ հակադարձ կոդով
ստացվում է բացասական արդյունք:
 A  0, B  0 1

Aհակ+ Bհակ = 2 1 A+2 1 B= 2 1 (A+B)+2n-1 =


n n n

= 2n 1  C= Cհակ
Այս դեպքում նույնպես առաջանում է փոխանցում նշանային
կարգից, որը գումարվում է արդյունքի ցածր կարգին:
Եթե A և B թվերը դրական են, ապա գումարման գործողությունը
կատարվում է ուղիղ կոդում:
Եզրակացություն`
1. Նշանային կարգը, ինչպես և մյուս կարգերը, մասնակցում է
գործողությունների մեջ:
2. Բացասական արդյունքը ստացվում է հակադարձ կոդում:
3. Նշանային կարգից փոխանցումը գումարվում է արդյունքի
առաջին կարգին:
Հանման գործողության կատարումը բերում է A-ի հետ հակադարձ
կոդով B-ի գումարմանը :
C = A – B = A + (-B) = A+Bհակ

Սահող ստորակետով թվերի ներկայացնելը


18
Սահող ստորակետով թվերը ներկայացնում են M մանտիսի և E
կարգաթվի տեսքով: Այս ձևով ներկայացնելը հաճախ անվանում են
կիսալոգարիթմական ձև:
A = EA; MA; կամ A = 2EA(MA)
Թվի ֆորմատը ներկայացված է նկար 1.11-ում:

S SE E M
Նկար 1.11
S – մանտիսի կամ թվի նշանը
SE – կարգաթվի նշանը.
E – կարգաթիվ (exponent).
M – մանտիս (mantissa).
Ժամանակակից պրոցեսորներում մանտիսը հաճախ ներկայանում
է որպես կոտորակային թիվ, սակայն Burrougs ֆիրման որպես մանտիս
օգտագործել է ամբողջ թվեր: Կարգաթիվը ամբողջ թիվ է :
Ժամանակակից պրոցեսորներում սահող ստորակետով թվի հետ
թվաբանական գործողություններ կատարելու համար օգտագործում են
IEEE-754 և 854 ստանդարտներ: Այստեղ կիրառվում են երեք տեսակի
ֆորմատներ՝ օրդինար ճշտությամբ (single precision), կրկնակի ճշտու-
թյամբ (double precision), լայնացված ճշտությամբ ( extended
precision):
Օրդինար և կրկնակի ճշտությամբ թվերի ֆորմատները ներկայաց-
ված են նկար 1.12-ում:

1բիթ 8 բիթ 23 բիթ 1 բիթ 11 բիթ 52 բիթ


S E F S E F
ա) օրդինար բ) կրկնակի
Նկար 1.12
F (Fraction) – մանտիսի կոտորակային մասն է: Մանտիսը համար-
վում է նորմալացված, եթե նրա ավագ կարգը հավասար է մեկի: Նորմա-
լացման շնորհիվ հնարավոր է լինում միանշան թվերի ներկայացնելը և
մեկից փոքր թվերի բարձր կարգերի զրոների վերացումը: Դա
հնարավորություն է տալիս մեծացնել մանտիսի ֆիքսված երկարության
դեպքում արժեք ունեցող թվերի քանակը և, հետևաբար, մեծացնել
հաշվարկների ճշտությունը:

19
Այս ստանդարտի յուրահատկությունն այն է, որ մանտիսի բարձր
կարգի “1”-ը թաքնված է, չի երևում ՕՀՍ-ում, բայց երևում է, երբ
տվյալները տրվում են սահող ստորակետով սարքին FPU ( Floating
Point Unit): Եթե M=1.1100…0, ապա հիշողության մեջ պահպանվում է
թվի միայն կոտորակային մասը ( F=1100…0):
Թվի արժեքը որոշվում է հետևյալ արտահայտությամբ՝
A = (1)S2E127  1.F (օրդինար ճշտություն) կամ
A = (1)S2E1023  1.F (կրկնակի ճշտություն):
Մանտիսի արժեքի միջակայքն է
1.0  M  2
E դաշտում նշված է շեղված կարգաթիվը կամ թվի բնութագիրը
( նկար 1.13 ):
Տեղաշարժված կարգաթիվը կարելի է համարել ամբողջ դրական
կամ առանց նշանի թիվ: Բացասական և զրոյական կարգաթվերը իրենց
բարձր կարգում ունեն 0, իսկ դրական կարգաթվերը - 1: Շեղված կարգի
կիրառումը հնարավորություն է տալիս պարզեցնել համեմատման և
թվաբանական (գումարում, հանում) գործողությունների կատարումը:

-127 0 127

0 127(1023 ) 254( 2046)


Նկար 1.13

Թվերի ներքին ներկայացման համար օգտագործում են


ընդլայնված ֆորմատ (նկար 1.14.)
1 15 64
S E 1/0 F
Նկար 1.14
Ընդլայնված ֆորմատի թվերի տիրույթը հետևյալն է՝
A = (1)2E-16383  M.
Դիտարկենք օրինակներ՝
1. Ներկայացնենք 25 թիվը օրդինար ճշտությամբ
25 = (1)1 (1.1001)224
E  127 = 4; E = 131
Թվի ֆորմատը ունի հետևյալ տեսքը (նկար.1.15).

20
31 30 23 22 0
1 10000011 1 0 0 1 0 0 . . . . . . . . . . . . . .0
Նկար 1.15
2. Ներկայացնենք 1 թիվը
1 = (1)0  1.0  20.
E  127 = 0; E = 127.
Թվի ֆորմատը ունի հետևյալ տեսքը (նկար 1.16).
.
31
30 23 22 0
001111111 0 . . . . . . . 0
Նկար 1.16
3. Ներկայացնենք 247.375 թիվը ընդլայնված ֆորմատում .
Այս թվի երկուական կոդն է 11110111.011 = (1)1  (1.1110111011)2  27
E – 16383 = 7; E = 16390;
Ֆորմատը պատկերված է նկար 1.17-ում:

79 78 64 63
1 1 0 0 0 0 0 0 0 0 0 0 0 01 1 0 111101110110 . . .
Նկար 1.17.
Իրական թվերի ներկայացված ճշտությունը որոշվում է մանտիսի
նիշերի քանակով:
Աղյուսակ 4-ում ներկայացված են նորմալացված թվերի միջակայքերը:
Աղյուսակ.4
Միջակայք
Ֆորմատ Երկուական Տասական
Օրդինար 2 A 2
-126 128 1,1810-38A3,41038
Կրկնակի 2 A2
-1022 1028 2,2310-308A1,7910308
Ընդլայնված 2-16382A216384 3,3710-4932A1,18104932

Թվերի կատեգորիաներ
Նորմալացված իրական թվերի ներկայացնելու միջակայքը բերված
է նկար 1.18-ում:
Բացասական թվեր Դրական թվեր
-4 -3 -2 -1 0 1 2 3 4 . . .

21
-1,7910308 -2,2310-308 2,2310-308 1,7910308
Նկար 1.18
Սահող ստորակետով կարելի է ներկայացնել ոչ բոլոր իրական
թվերը: Սահող ստորակետով երկու հարևան թվերի մեջ միշտ կա մի
հատված, որտեղ և կարող է ընկնել հաշվարկի իրական արդյունքը: Այս
դեպքում FPU–ն կատարում է կլորացում: Ներկայացված թվերը
տեղակայված են թվային առանցքի վրա անհավասարաչափ:
Փաստորեն, երկու թվի ցանկացած երկու հարևան աստիճանների միջև
գտնվում են հավասար քանակի ներկայացվող թվեր: Օրինակ`1-ի և 2-ի
արանքում այնքան են թվերը, ինչքան 2 և 4 , կամ 65536 և 131072 թվերի
միջև: Սակայն բոլոր ամբողջ թվերը -264 և 264 միջակայքում
ներկայացված են ճշգրիտ:
Նորմալացված ամբողջ թվերն ունեն շեղված կարգ 0-ից մինչև 254(
Single), կամ 0 մինչև 1024( Double) , և մանտիսա` 1.xxx…x:
Հատուկ թվային արժեքներ
Ժամանակակից պրոցեսորները աշխատում են հատուկ թվային
արժեքների հետ, որոնց դասին են պատկանում չնորմալացված
իրական թվերը, զրոները, բացասական և դրական անվերջությունները,
անորոշությունները, ոչ-թվերը ( Not-a-Number --- NaN) :
1. Զրոներ ( դրական և բացասական):
Նշանային կարգում կարող է լինել 0 կամ 1, շեղված կարգաթիվն ու
մանտիսը հավասար են զրոյի:
2. Չնորմալացված վերջավոր թվեր:
Չնորմալացված վերջավոր թվերը փոքր են մինիմալ
նորմալացված թվից: Նրանք ունեն զրոյական շեղված կարգաթիվ և
մանտիս, որը հավասար չէ զրոյի ՝ 0,xxx…x: Այս թվերի արժեքները շատ
փոքր են:
3. Անվերջություն՝ դրական և բացասական:
Անվերջություններում շեղված կարգաթվում բոլորը մեկեր են , իսկ
մանտիսը հավասար է զրոյի:
4. Ոչ-թվեր:
Նրանք լինում են երկու տեսակի՝ SnaN – Signaling և QnaN – Quiet
NaN:
SNaN -- կարգաթիվը 111…111, մանտիսը 1,0xxx..xx
QNaN -- կարգաթիվը 111…111, մանտիսը 1,1xxx..xx:
NaN – ները կարող են լինել դրական կամ բացասական: SNaN- ը,
որպես օպերանդներ թվաբանական գործողությունների ժամանակ
22
օգտագործման դեպքում, տեղի է ունենում պրոցեսորի ընդհատում, իսկ
QNaN- ի դեպքում ՝ ոչ: Բացասական QNaN-ը 1,1000…0 մանտիսով
կոչվում է իրական անորոշություն:

Երկուական-տասական թվերի ներկայացնելը


ԷՀՄ–ում թվերի ներկայացման երրորդ ձևն է ՝ երկուական –
տասական թվերի ներկայացնելը ( Binary Coded Decimal - BCD).
Տասական թվի յուրաքանչյուր նիշին համապատասխանեցվում է
չորս երկուական կարգ(տետրադա): Հիմնականում օգտագործում են
8421 կոդը:
0 - 0000 5 - 0101
1 - 0001 6 - 0110
2 - 0010 7 - 0111
3 - 0011 8 - 1000
4 - 0100 9 - 1001
Օրինակ՝ A 10 = 3789; A2 – 10 = 0011 0111 1000 1001.
Երկուական թվերի ներկայացման համար այս ֆորմատում
օգտագործում են փաթեթավորված ֆորմատ, ըստ որում յուրաքանչյուր
բայտը պարունակում է երկու հատ տասական նիշ: Թվի նշանի համար
տրամադրվում է առանձին տետրադա:

IA-32 ճարտարապետությամբ պրոցեսորներում տվյալները


ներկայացնելու հիմնական տիպերը
IA-32 ճարտարապետությամբ ժամանակակից պրոցեսորները
որպես օպերանդ օգտագործում են հետևյալ տիպերի տվյալներ`
 Բիթ (Bit) -- ինֆորմացիայի նվազագույն միավոր
 Բիթային դաշտ (Bit Field) -- տեղակայված ոչ ավել քան 4
բայտում` մինչև 32 հարակից բիթերի խումբ
 Բիթային տող (Bit String) --մինչև 4 Գբիթ երկարությամբ
հարակից բիթերի հաջորդականություն
 Բայտ (Byte) -- 8 բիթ
 Առանց նշանի ամբողջ թվեր. բայտ/խոսք/կրկնակի խոսք/
քառապատկված խոսք,(Unsigned Byte/Word/Double Word/
Quad Word) համապատասխանաբար 8/16/32/64
երկարությամբ

23
 Նշանով ամբողջ թվեր. բայտ/խոսք/կրկնակի խոսք/ քառա-
պատկված խոսք, (Integer Byte/Word/Double Word/ Quad
Word): Ավագ բիթում ‘1’-ի առկայությունը նշանակում է
բացասական թիվ, որը պահված է լրացուցիչ կոդով
 Երկուական-տասական թվեր (BCD)
• 8 կարգանի փաթեթավորված (Packed BCD), որոնք
պարունակում են մեկ բայտում երկու հատ տասական
կարգ
• 8 կարգանի չփաթեթավորված (Unpacked BCD), որոնք
պարունակում են մեկ բայտում մեկ տասական կարգ
 Բիթերի, բայտերի, խոսքերի, և կրկնակի խոսքերի տողեր
(Bit String, Byte String, Word String, Double Word String),
մինչև 4 Գբայտ երկարությամբ
7 0 7 0
S

Նշանով բայտ Առանց նշանի բայտ


15 0 15 0
S

Նշանով խոսք Առանց նշանի խոսք


31 0 31 0
S

Նշանով կրկնակի խոսք Առանց նշանի կրկնակի խոսք


63 0
S

Նշանով քառապատկված խոսք


63 0

Առանց նշանի քառապատկված խոսք

Մեծ թիվ Փոքր թիվ xxxx Թիվ

Փաթեթավորված BCD թիվ Չփաթեթավորված BCD թիվ


24
Նկար 1.19
Սահող ստորակեըով ներկայացված թվերի ֆորմատները ներկա-
յացված են նկարներ 1.15, 1.16, 1.17-ում:
Սահող ստորակետով բլոկում փաթեթավորված երկուական-
տասական ամբողջ թիվը ունի հետևյալ ֆորմատը`

79 78 72 71 68 67 64 63 4 3 0
S xxx BCD17 BCD16 ... BCD0
Նկար 1.20

2. Համակցված (կոմբինացիոն) սխեմաներ

Համակցված կամ տրամբանական սխեմաների միջոցով իրագոր-


ծում են բուլյան ֆունկցիաները: Սխեմաները կոչվում են համակցված,
քանի որ սխեմայի ելքային ազդանշանները որոշվում են մուտքային
ազդանշանների համակցումով:
Սխեմայի հիմնական բաղադրիչներն են տրամաբանական
տարրերը: Նկարագրենք տրամաբանական տարրերը.

“ԵՎ” ( “AND “) տարր Y =X1 & X2 ”Կոնյունկցիա”

X1 & X1 X2 Y
Y 0 0 0
X2 0 1 0
1 0 0
Նկար 2.1.
1 1 1

‘’ԿԱՄ” ( “OR” ) տարր Y = X1 V X2 “Դիզյունկցիա”

X1 1 X1 X2 Y
Y 0 0 0
X2 0 1 1
1 1 1
1 0 1
Նկար 2.2

“ ՈՉ “ ( “ NOT” ) տարր Y=X

25 X Y
0 1
1 0
X 1 X

Նկար 2.3
“ ԵՎ – ՈՉ ” ( “NAND” ) տարր Y = X1 & X 2

X1 X2 Y
X1
0 0 1
& Y
0 1 1
X2
1 0 1
1 1 0

Նկար 2.4

“ ԿԱՄ – ՈՉ “ ( “NOR” ) տարր Y=X1V X2

X1 X1 X2 Y
1 Y
X2 0 0 1
0 1 0
1 0 0
Նկար 2.5
1 1 0

“ ԿԱՄ բացառող” ( XOR ) տարր Y = X1  X2

X1 =1 X1 X2 Y
Y 0 0 0
X2 0 1 1
1 0 1
Նկար 2.6 1 1 0

“ Համարժեքություն “ տարր Y = X1  X2

X1 =1
X1 X2 Y
Y 0 0 1
X2 0 1 0
1 0 0
1 1 1
Նկար 2.7

26
Զրո և մեկ տրամաբանական փոփոխականները, որպես կանոն
արտաբերվում են լարման U0 և U1 մակարդակներով: Հարց է ծագում, թե
տրամաբանական փոփոխականները էլեկտրական ազդանշանների
անցնելիս լարման ո՞ր մակարդակն է ընդունվում որպես U 0 , և որը
որպես U1: Կա դրական և բացասական տրամաբանության
համաձայնություն: Դրական տրամաբանության մեջ U 0  U1, իսկ
բացասական տրամաբանության մեջ U0  U1: Միևնույն տարրը
կախված ընտրված համաձայնությունից կարող է կատարել տարբեր
տրամաբանական ֆունկցիաներ: Դրական տրամաբանության
գործողություններից բացասական տրամաբանության գործողություն-
ների անցումը կատարվում է բոլոր փոփոխականների ժխտումով՝
կոնյուկցիան դիզյունկցիայի և հակառակը փոխարինումներով:
Հետագայում մենք կղեկավարվենք դրական տրամաբանության
համաձայնությամբ: U0 և U1 նշանակումների հետ մեկտեղ
օգտագործվում են նաև լարման բարձր H (High) և ցածր L (Low)
մակարդակների նշանակումները :
Տրամաբանական տարրերի կարևոր ցուցանիշներն են մուտքային
լարումը և հոսանքը, արագագործությունը (ազդանշանների տարած-
ման հապաղումը), հզորությունը, բեռնվածքային ունակությունը:

Կոմբինացիոն սխեմաների սինթեզի փուլեր


Կոմբինացիոն սխեման իրագործում է F (x1, x2, ….xn ) ֆունկցիան,
եթե նրա ելքը մեկ է, մեկին համապատասխան յուրաքանչյուր
մուտքային հավաքածուի համար և զրո՝ զրոյին համապատասխան
յուրաքանչյուր մուտքային հավաքածուի համար:
Կոմբինացիոն սխեմայի իրագործումը՝
ա) ԵՎ – ԿԱՄ երկկարգանի իրագործում: Եթե ֆունկցիան
առաջարկված է դիզյունկտիվ նորմալ ձևով, ապա նրա սխեմատիկ
իրականացումը հետևյալն է : Յուրաքանչյուր կոնյունկցիա իրագործում
է տրամաբանական “ԵՎ” տարրով, որոնց մուտքերին են ներմուծվում
ուղիղ կամ ժխտված մուտքային փոփոխականներ: “ ԵՎ” տարրերի
ելքային ազդանշանները տրամաբանորեն գումարվում են “ԿԱՄ”
տարրի միջոցով:
բ) ԿԱՄ - ԵՎ երկկարգ իրագործում: Եթե ֆունկցիան առաջարկված
է կոնյուկտիվ նորմալ ձևով, ապա նրա սխեմատիկ իրականացումը
հետևյալն է : Յուրաքանչյուր դիզյունկցիա իրագործում է

27
տրամաբանական “ԿԱՄ” տարրով, իսկ դիզյունկցիաների
տրամաբանական արտադրյալը՝ “ԵՎ” տարրով:
Օրինակ՝ y = x1x2  x1x3 x1x2 x4
x1
x2 

x1
 1 y
x3

x2 
x4

Նկար 2.8
“ԿԱՄ- ԵՎ” իրագործման համար դիտարկենք հեըևյալ ֆունկցիան
y = (x1x2)(x1x2x3)(x2x3x4)
x1 1
x2

x1
x2 1 
y
x3

1
x4

Նկար 2.9
Ֆունկցիաների նախագծման հերթականությունն է՝ սխեմայի
աշխատանքի բառային նկարագրությունից ֆունկցիայի տրման որևէ մի այլ
ձևին անցում:
1. Բուլյան ֆունկցիայի մինիմացում
2. Անալիտիկ արտահայտությունից անցում դեպի սխեմա:

28
Բուլյան ֆունկցիաների մինիմացման խնդիրները լուծում են
կլանման և սոսնձման օրենքների կիրառման միջոցով: Բուլյան
ֆունկցիաների մինիմացումը կատարում են հետևյալ ձևով.
1. Բոլոր պարզ իմպլիկանտների որոշումը,
2. Պարզ իմպլիկանտներով ֆունկցիայի բոլոր “1” արժեքների
կետերի ծածկումը ( ընդգըրկումը ):
F ֆունկցիայի P իմպլիկանտ է կոչվում այն կոնյունկցիան, որն
ընդունում է “1” արժեք միայն ֆունկցիայի մեկական կետերում (թեկուզ
մեկ կետում) և չի ընդունում “1” արժեք ֆունկցիայի զրոյական
կետերում:P իմպլիկանտը կոչվում է պարզ, եթե նրանից չի կարելի
հեռացնել ոչ մի տարր: Մինիմալ ֆունկցիան հավասար է պարզ
իմպլիկանտների դիզյունկցիային:

Պարզ իմպլիկանտների որոշումը


Կառնոյի քարտերի միջոցով
Մինիմացումը Կառնոյի քարտերի օգնությամբ հարմար է, եթե
փոփոխականների թիվը 6 – ից ավելի չէ:
Քարտը կառուցվում է այնպես, որ նրա հարևան վանդակները
տարբերվում են միայն մեկ փոփոխականով: Կառնոյի քարտը,
կազմված 3 փոփոխական ունեցող ֆունկցիայի համար, հետևյալ
տեսքն ունի՝
x1 x2x3 00 01 11 10
0 000 001 011 010
1 100 101 111 110
Ֆունկցիայի յուրաքանչյուր կետին համապատասխանում է մեկ
վանդակ: Փոփոխականների հավաքածուները ցուցադրված են
վանդակների ներսում: Ընդունենք, որ ֆունկցիան ներկայացված է
աղյուսակի տեսքով ( նկար 2.10):
Աղյուսակ 5
X1 X2 X3 f( x1,x2, x3 )
x2x3
00 01 11 10
X1
0 0 0 0 0 1 1 1
0 0 1 1 1 1 1
0 1 0 1 P1
0 1 1 1 P2
1 0 0 0
1 0 1 0 P1 = X1X3; P2 = X2 ;
fmin= P1 V P2 = X1X3 V X2
29
1 1 0 1
1 1 1 1
Նկար 2.10
Կառնոյի քարտը չորս փոփոխականի համար հետևյալ տեսքը ունի`

x3x4 X3
x1x2 00 01 11 10
00 0000 0001 0011 0010
01 0100 0101 0111 0110
X1 11 1100 1101 1111 1110 X2
10 1000 1001 1011 1010

X4
Նկար2.11
Դիտարկենք օրինակ, երբ ֆունկցիան կախված է 4 փոփոխա-
կանից F(x1, x2, x3, x4), որը ներկայացված է աղյուսակ 6 – ում:
Աղյուսակ 6
X1 X2 X3 X4 F( X1,X2,X3,X4 ) X1 X2 X3 X4 F
0 0 0 0 0 1 0 0 0 0
0 0 0 1 1 1 0 0 1 --
0 0 1 0 -- 1 0 1 0 1
0 0 1 1 -- 1 0 1 1 1
0 1 0 0 0 1 1 0 0 0
0 1 0 1 1 1 1 0 1 0
0 1 1 0 1 1 1 1 0 0
0 1 1 1 1 1 1 1 1 1

P4
P1
X3x4 00 01 11 10
X1x2
00 X3 1 -- --

01 1 1 1 P2
X2
11 1
X1

30
X4
10 -- 1 1

P3

Նկար 2.12
Fmin =P1 V P2 V P3 V P4 = X1 X4 V X2 X3 V X3 X4 V X1 X3
Կառնոյի քարտերի միջոցով որոշում ենք պարզ իմպլիկանտները
(նկար 2.12):
Ֆունկցիան ունի երեք անորոշ առժեքներ 0010, 0011 և 1001 կետերում
Երկու հարևան մեկերը խմբավորելիս ստացվում է կոնյուկցիա n-1
փոփոխականից ( տվյալ դեպքում n -1 = 3)
Չորս հարևան մեկերը խմբավորելիս ստանում ենք կոնյունկցիա n-
2 փոփոխականից (n-2=2)
Ութ հարևան մեկերին համապատասխանում է n -3 փոփոխականի
կոնյունկցիա ( n-3=1)
Այն կետերը, ուր գրանցված են անորոշություններ, ընդունում են 1
կամ 0, ըստ անհրաժեշտության: Մինիմալ արտահայտությունը
ստանալու համար 0010 և 0011 կետերի անորոշությունները ընդունում
ենք որպես 1 , իսկ 1010 կետերում որպես 0:

Կառուցենք սխեման ԵՎ,ԿԱՄ,ՈՉ տարրերի հիման վրա (նկար 2.13)

x1
1 

x2 1
x3 
x4 1
F


31


Նկար 2.13
Կառուցենք երկուական կոդից Գրեյի կոդ ձևափոխիչի սխեման°
Գրեյի կոդ է կոչվում այն կոդը, որի հարևան հավաքածոները
իրարից տարբերվում են միայն մեկ կարգում:
Ընդունենք, որ մուտքային և ելքային կոդերը չորսկարգանի են:
Կազմենք աղյուսակ, որը կնկարագրի այս կոդաձևափոխիչի
աշխատանքը ( աղյուսակ 8 )

Աղյուսակ 8
X1 X2 X3 X4 Y1 Y2 Y3 Y4
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1

32
1 1 1 1 1 0 0 0

Պահանջվում է մինիմացնել չորս ֆունկցիա y1, y2, y3, y4


x1 ,x2,x3,x4 փոփոխականից
x3x4 x3x4
x1x2 00 01 11 10 x1x2 00 01 11 10
00 00

01 01 1 1 1 1

11 1 1 1 1 11

10 1 1 1 1 10 1 1 1 1

Y1 = X1 Y2 = X1 X 2 V X 1X2 = X1  X2

x3x4 x3x4
x1x2 00 01 11 10 x1x2 00 01 11 10
00 1 1 00 1 1

01 1 1 01 1 1

11 1 1 11 1 1

10 1 1 10 1 1

Y3 = X2 X 3 V X 2X3 = X2  X3 Y4 = X 3X4 V X3 X 4 = X3  X4
Նկար 2.14
Այս արտահայտության տվյալներով կառուցենք սխեման:
x1 y1
=1 33
x2 y2

=1
x3 y3

=1 y4
x4
Նկար 2.15

Կառնոյի քարտերը հինգ փոփոխականներից կախված ֆունկ-


ցիաների համար
Հինգ փոփոխականներից կախված ֆունկցիաների ներկայացման
համար օգտագործում ենք երկու հատ Կառնոյի քարտ չորս
փոփոխականի համար: Նկար 36- ում ներկայացված է ֆունկցիա, որը
հավասար է մեկի 0,2,3,9,10,13,17,18,21,23,24 և որոշված չէ
1,8,11,15,16,19,26 հավաքածուներում: Ձախ քարտը
համապատասխանում է հավաքածուում X1= 0 արգումենտի արժեքին,
իսկ աջ քարտը համապատասխանում է X1 = 1:

x1 x1

P1 x4 P1 x4
P2
x4x5 00 01 11 10 P2 x4x5 00 01 11 10
x2x3 x2x3
00 1  1 1 00  1  1

x3
01 P3 01 1 1

x2 34
11 1  x3 11

10  1  1 X2 10 1 
x2

x5 x5 P4
P1 P1
Նկար 2.16

Fmin = P1  P2  P3  P4 = x3x5  x2x3  x1 x2 x5  x1x2 x5

Տրամաբանական ֆունկցիաների համակարգերի մինիմա -


ցում
Այն կոմբինացիոն սխեման,որն ունի N ելք, նկարագրվում է N
տրամաբանական ֆունկցիաների համակարգով: Սխեմայի մինիմա-
ցումը կարող է կատարվի N տրամաբանական ֆունկցիաների
առանձնացված մինիմացման ճանապարհով, սակայն ողջ սխեմայի
տեսակետից այսպիսի մինիմացումը, որպես կանոն օպտիմալ չէ:
Ողջ սխեմայի մինիմացման համար անհրաժեշտ է, որպեսզի
յուրաքանչյուր մուտքային ազդանշանի ձևավորման շղթան կատարվի
ոչ թե մինիմալ, այլ որևէ օպտիմալ մեթոդով, որը հետագայում
կապահովի ամբողջ սխեմայի մինիմալ տեսքը:
Անհրաժեշտ է, որ բոլոր ֆունկցիաների անալիտիկ արտահայ-
տությունները պարունակեն տառերի նվազագույն քանակը: Սրան
կարելի է հասնել, Կառնոյի քարտերի վրա առանձնացնելով այն
տարածքները, որոնց համապատասխանում է միևնույն պարզ
բազմաելք իմպլիկանտը: Անհրաժեշտ է նշել, որ ֆունկցիայի
վերջնական արտահայտության մեջ կարող են լինել պարզ
իմպլիկանտներ որոնք բազմաելքանի չեն և խմբավորում են միայն մի
ֆունկցիայի մեկերը:
Օրինակ, ունենք երկու ֆունկցիա՝ F1 և F2 , որոնք ներկայացված են
Կառնոյի քարտերի միջոցով (նկար 2.17).
P1 x3 P2 P1 x3 P2

x3x4 00 01 11 10 x3x4 00 01 11 10

35

P3 x2
P4
x1
x1x2 x1x2

00  1 1 00 1  1

01 1 1 1 01   1

11   1 x2 P4 11  

10 1 1 1 x1 10 1 1 

x4 x4
P2 P5 P6 P2
Նկար 2.17

F1 = P1 P2  P3  P4  P5; F2 = P1 P2  P4  P6; F1F2 = f = P1


P2  P4; F1 = f  P3  P5; F2 = f  P6;
P1 = x1x2; P2 = x2 x3; P3 = x1 x2x3; P4 = x1x3x4;
P5= x3x4; P6 = x1x4;

Տվյալ արտահայտությունների հիման վրա կառուցված սխեման


ներկայացված է նկար 2.18-ում:

36
 P1

X1 1 P2 1
 F1

X2 1

 P4
X3 1
1
F2
1 
X4 P3


P5


P6

Նկար 2.18

Տրամաբանական տարրերի որոշակի բազիսում


տրամաբանական սխեմաների համադրում
Տրամաբանական սարքերի կառուցման ժամանակ սովորաբար չի
օգտագործվում տրամաբանական տարրերի ֆունկցիոնալ ողջ
համակարգը, որն իրագործում է երեք հիմնական տրամաբանական
ԵՎ, ԿԱՄ, ՈՉ գործողությունները: Գործնականում օգտագործում են
տարրերի համակարգ, որն իր մեջ ներգրավում է մուտքերի տարբեր

37
քանակով ԵՎ-ՈՉ տարրեր և ԿԱՄ-ՈՉ տարրեր: Տրամաբանական տար-
րերի ֆունկցիոնալ ամբողջական համակարգը կոչվում է բազիս (
ԵՎ-ՈՉ բազիս, ԿԱՄ-ՈՉ բազիս, ԵՎ-ԿԱՄ-ՈՉ բազիս):

ԵՎ-ՈՉ, ԿԱՄ-ՈՉ բազիսներում սխեմաների կառուցումը


Օրինակ՝ ֆունկցիան ներկայացված է հետևյալ ձևով
Y = x1x2  (x2 x3)x4.
Բազիսից բազիս անցնելու համար կիրառում են դե Մորգանի
օրենքները a b  c = a b  c ; abc = a b c ;
Y արտահայտության կրկնակի ժխտման գործողության կիրառումը
հնարավորություն է տալիս անցնել ԵՎ-ՈՉ բազիսին

y = x1x2(x2x3)x4 = x1x2(x2  x3)x4 = x1x2 (x2 x3) x4 = x1x2x2x3x4


ԿԱՄ –ՈՉ բազիսին անցնելու համար կրկնակի ժխտում ենք յուրաքանչյուր
կոնյունկցիա

y = x1x2  (x2  x3)x4 = (x1 x2)  (x2x3)x4


Այս բազւսներում կառուցված սխեմաները պատկերված են նկար 2.19-ում
x1 
x2
 y


x3
x4

x1 1
x2 1 1 y

1
x3 1

x4

Նկար 2.19

38
Իրականում տրամաբանական տարրերի վրա սխեմաների կա-
ռուցման ժամանակ հնարավոր են հետևյալ իրավիճակները՝
1. Տրամաբանական տարրերի մուտքերը ավելի շատ են, քան
պահանջվում է .
2. Տրամաբանական տարրերի մուտքերը ավելի քիչ են, քան
պահանջվում է :
Առաջին դեպքը ուսումնասիրելու համար կիրառենք ակտիվ և պա-
սիվ տրամաբանական մակարդակների հասկացություն:
Ակտիվ տրամաբանական մակարդակ է կոչվում մուտքային
փոփոխականների այն արժեքը, որը միանշանակ որոշում է մուտքային
ազդանշանը: Օրինակ՝ ԵՎ և ԵՎ-ՈՉ տարրերի համար ակտիվ մակար-
դակ է համարվում տրամաբանական զրոյի ազդանշանը, իսկ
տրամաբանական մեկի մակարդակը համարվում է պասիվ ( 0x =0 1
 x = x ): Այս պատճառով չօգտագործվող մուտքերին անհրաժեշտ է տալ
տրամաբանական մեկի մակարդակ : Իսկ ԿԱՄ և ԿԱՄ-ՈՉ տարրերի
համար ակտիվ մակարդակ է համարվում տրամաբանական մեկի
մակարդակը (1Vx = 1 , 1  x = x) : Այս պատճառով չօգտագործ-
վող մուտքերին անհրաժեշտ է տալ տրամաբանական զրոյի մակարդակ
:
Երկրորդ դեպքը ուսումնասիրելու համար անհրաժեշտ է օգտա-
գործել լրացուցիչ տրամաբանական տարրեր: Օրինակ անհրաժեշտ է
իրագործել 6 փոփոխականից կոնյունկցիա , y = x1x2x3x4x5x6, օգտա-
գործելով քառամուտք սխեմաներ:
Իրագործման հնարավոր տարբերակները պատկերված են նկար
2.20-ում:
x1
x1 
x2
x2 
x3 x3 
x4 1 1
y
x5  y x4
x6 x5 
1 x6
1

Նկար 2.20

39
3. Կոմբինացիոն տիպի հիմնական ֆունկցիոնալ
հանգույցներ
Երկուական գումարիչներ
Օգտագործում են երկուական թվերի գումարման և հանման
համար: Կառուցվում են մեկ կարգի գումարիչների հիման վրա:
Գումարիչը° ցանկացած թվաբանական սարքի հիմնական ( բազային)
հանգույցն է:

Կիսագումարիչ — Half Adder ( HA)


Կիսագումարիչներն ունեն երկու մուտք և երկու ելք:
Կիսագումարիչի պայմանական սխեման և ճշտության աղյուսակը
ներկայացված է նկար 3.1- ում:

A A HA S Աղյուսակ 9
A B S C
0 0 0 0
B 0 1 1 0
B C 1 0 1 0
1 1 0 1

Նկար 3.1
S -- գումարը S = A B V A B = A  B; C – փոխանցում դեպի հաջորդ
կարգ C = AB
Գումարիչի տրամաբանական սխեման ( նկար 3.2):
A

1
S
B 

 C

Նկար 3.2 C

Լրիվ գումարիչ—( Full Adder )

40
Լրիվ գումարիչն ունի երեք մուտք և երկու ելք, որի պայմանական
նշանակումն և ճշտության աղյուսակը պատկերված է նկար 3.3-ում:
Աղյուսակ 10
A B Ci S Cout
A FA Cout
0 0 0 0 0
0 0 1 1 0
B
0 1 0 1 0
Cin S 0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
Նկար 3.3 1 1 0 0 1
1 1 1 1 1
A և B -- համանուն գումարելիների մուտքերն են
Cin – Carry In -- փոխանցում նախորդ կարգից
Cout – Carry Out -- փոխանցում հաջորդ կարգ
Որոշենք S և Cout ֆունկցիաների արժեքը: Մինիմացնելու համար
օգտագործում ենք Կառնոյի քարտերը (նկար 3.4):
S Cout
BCin BCin
A 00 01 11 10 A 00 01 11 10
0 1 1 0 1
1 1 1 1 1 1 1
Նկար 3.4
S ֆունկցիան չի մինիմացվում :
S = AB Cin  ABCin  ABCin  ABCin =A  B  Cin.
Cout = AB  ACin BCin.
Գումարիչի սխեման տրամաբանական տարրերի վրա:
A
=1
B S
Cin

 1
Cout
41


Նկար 3.5
Շատ հաճախ գումարիչը հավաքում են կիսագումարիչների հիման
վրա :
S = ( A  B )  Cin
Կատարում ենք ոչ լրիվ մինիմացում, C in դուրս է գալիս փակագծերից:
Cout = AB V ( A  B) Cin
Սխեման պատկերված է նկար 3.6-ում:

HA HA
A A S S
A S
B B C B C
Cin 1 Cout

Նկար 3.6

Զուգահեռ գումարիչներ
Զուգահեռ n կարգանի գումարիչը կառուցվում է n հատ մեկ
կարգանի լրիվ գումարիչներից: 4 – կարգանի զուգահեռ գումարիչի
սխեման (նկ.3.7): S0 S1 S2 S3

a0 A SM S a1 A SM S A SM S a3 A SM S
a2
b0 b1 b2 B b3
B B B

co Ci Co C Co Ci Co Ci Co
C4
42
Նկար 3.7
Օրինակ’
+ 0111 a0 =1 a1 = 1 a2 = 1 a3 = 0
1011 b0 = 1 b1 = 1 b2 = 0 b3 = 1
10010 c0 = 0 c1 = 1 c2 = 1 c3 = 0
S0 = 0 S1 = 1 S2 = 0 S3 = 0 C4 = 1.
Գումարիչը զուգահեռ է, քանի որ A և B գումարելիների բոլոր
կարգերը ներմուծվում են միաժամանակ, սակայն փոխանցումը
տարածվում է հաջորդաբար ցածր կարգից դեպի բարձր կարգ:
Նշանակենք t փոխ և t գում մեկ կարգում ազդանշանի փոխանցման և
գումարի ձևավորման ժամանակները համապատախանաբար: n
կարգանի գումարիչի գումարման ժամանակը (T) որոշվում է հետևյալ
բանաձևից՝ T = ( n - 1) t փոխ + t գում ,
Եթե ընդունենք, որ t փոխ = t գում =t , ապա T= n t: Դա գումարման
առավելագույն ժամանակն է, քանի որ փոխանցումը ձևավորվում է
ցածր կարգում և տարածվում դեպի բարձր կարգ:
Առավել արագագործ են զուգահեռ փոխանցումով գումարիչիները,
որոնք կիրառվում են արագագործ պրոցեսորներում: Զուգահեռ
փոխանցումով գումարիչները կդիտարկվեն ավելի ուշ:

Կոդերի ձևափոխիչներ
Թվային տեխնիկայում կիրառվում են ինֆորմացիայի
կոդավորման տարբեր տեսակներ: Այսպես գործողությունների
կատարման ժամանակ ԷՀՄ-ում կիրառվում են երկուական կոդի մի
քանի տեսակներ՝ ուղիղ, հակադարձ, լրացուցիչ, երկուական-
տասական և այլն:
Այս հիմնախնդրի հետ կապված՝ միշտ առաջանում է մի կոդից
մյուս կոդը ինֆորմացիայի ձևափոխման խնդիրը: Այս խնդիրները
ապարատային մակարդակով են լուծում կոմբինացիոն հանգույցները՝
կոդաձևափոխիչները: Կոդաձևափոխիչը այն կոմբինացիոն հանգույցն
է, որը կատարում է ինֆորմացիայի կոդավորման մեթոդի ձևափոխու-
մը:

43
Կոդերի ձևափոխիչը բնորոշվում է ճշտության աղյուսակով, որը
համապատասխանեցնում է տվյալ մուտքային կոդը մեկ ուրիշ ելքային
կոդին: Կոդաձևափոխիչի պայմանական սխեման պատկերված է նկար
3.8ում:

x0 X/Y y0
x1 y1
 
 
 
xn-1 ym-1

Նկար 3.8

Վերծանիչներ ( դեշիֆրատորներ)
Վերծանիչը (Decoder), այն սարքն է, որը ձևափոխում է մուտքային
n - կարգային երկուական կոդը ելքային 2 n – կարգային ունիտար կոդի:
3- մուտք -- 8 ելք ունեցող վերծանիչի պայմանական գրաֆիկական
նշանակումը պատկերված է նկ. 3.9-ում

0 y0
X0 1 DC 1 y1
2 y2
X1 2 3 y3
4 y4
X2 5 y5
4 6 y6
7 y7

Նկար 3.9
44
Վերծանիչի աշխատանքը ներկայացված է աղյուսակ 11-ում:

Աղյուսակ 11 y 0  x 2 x1x 0
X2 X1 X0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 y1  x 2 x 1 x 0
0 0 0 1 0 0 0 0 0 0 0
y 2  x 2 x1x 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0 y3  x 2 x1x 0
0 1 1 0 0 0 1 0 0 0 0 y 4  x 2 x1x 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
y 5  x 2 x1x 0
1 1 0 0 0 0 0 0 0 1 0 y 6  x 2 x1x 0
1 1 1 0 0 0 0 0 0 0 1 y 7  x 2 x1x 0

Ըստ մուտքային կոդի վերծանիչը ընտրում է 2 n ելքերից որևէ


մեկը:
Վերծանիչի սխեման ԵՎ-ՈՉ տարրերի վրա պատկերված է նկար
3.10-ում: Ակտիվ է համարվում ելքային ազդանշանի ցածր մակարդակը:
Վերծանիչները լայն կիրառում ունեն ԷՀՄ–ներում որոշակի
հասցեով ինֆորմացիայի ընտրման համար, գործողության կոդի
վերծանման համար և այլն:
Վերծանիչի միկրոսխեմաները հաճախ համալրվում են աշխա-
տանքի թույլատրման լրացուցիչ մուտքով կամ մուտքերով E (Enable):
Այս մուտքի առկայությունը հնարավորություն է տալիս մեծացնել
մուտքային կոդի կարգերի քանակը:
1
3 
y0
5

2
3  y1
5

x0
1 1
4  y2
2 5

x1 3 45
2
4 
5 y3
4
1
x2 5 3  y4
6
6
2
3
 y5
6

1
4 
6
y6
Կոդավորիչներ
Կոդավորիչը (Encoder) այն սարքն է, որը վերածում է մուտքային
ունիտար կոդը ելքային երկուական կոդի: Կոդավորիչն ունի N մուտք և
log2N ելք: Կառուցենք կոդավորիչի սխեման 8 մուտքի համար:

Աղյուսակ 12
X0 X1 X2 X3 X4 X5 X6 X7 Y2 Y1 Y0 G
0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0 0 0 1 1
0 0 1 0 0 0 0 0 0 1 0 1
0 0 0 1 0 0 0 0 0 1 1 1

46
0 0 0 0 1 0 0 0 1 0 0 1
0 0 0 0 0 1 0 0 1 0 1 1
0 0 0 0 0 0 1 0 1 1 0 1
0 0 0 0 0 0 0 1 1 1 1 1

X0 0 CD 0 Y0 Մուտքային ազդանշանն ունիտար


X1 1 է: Ելքային G ազդանշանը
X2 2 1 Y1 վկայում է, որ մուտքերից մեկում
X3 3 ունենք “1” արժեք:
X4 4 2 Y2
X5 5
X6 6
X7 7
G G

Նկար 3.11

G = X 0 V X1 V X 2 V X3 V X4 V X5 V X6 V X7
Y0 = X1 V X3 V X5 V X7
Y1 = X2 V X3 V X6 V X7
Y2 = X4 V X5 V X6 V X7

Ըստ այս արտահայտությունների կառուցված սխեման բերված է


նկար 3.12-ում:

x0
x1 1
y0
x2
x3
x4
1
x5
y1
x6
x7

1
y2
47

G
Նկար 3.12
Կոդավորիչի կիրառումներից մեկն է՝ ինֆորմացիայի ներմուծումը
ստեղնաշարից: Յուրաքանչյուր ստեղն սեղմելու դեպքում կոդավորիչի
մուտքերին է ներմուծվում տրամաբանական մեկի մակարդակ, որը
ելքում ձևափոխվում է տվյալ ստեղնի կոդին:

Նախապատվության կոդավորիչներ
Կոդավորիչի համար պետք է բավարարել այն պայմանը, երբ
մուտքային կոդը ունիտար է: Եթե մուտքային ազդանշանները գալիս
են անկախ աղբյուրներից, ապա այս պայմանը կարող է չկատարվել:
Այդ դեպքում կոդավորիչի ցանկացած մուտքին տրվում է
նախապատվություն: Կոդավորիչի մուտքերը նշանակենք X0 X1 …… Xm-
1, ենթադրելով, որ մուտքի համարը մեծացնելով, զուգընթաց մեծանում

է նրա նախապատվությունը: Կոդավորիչը ելքում ստանում է երկուա-


կան կոդ i, եթե X i = 1. իսկ մնացած բոլոր X j մուտքերին, որոնք ունեն
առավել մեծ նախապատվություն տալիս են 0 ( i  j  m-1) :
Այսպիսի կոդավորիչները կոչվում էն նախապատվության կոդա-
վորիչներ (Priority Encoder): 8 մուտքանի կոդավորիչի պայմանական
նշանակումը բերված է նկար 3.13-ում:

X0 0 PRCD Նախապատվության կո-


X1 1 դավորիչները կազմված
X2 2 0 Y0 են 2 մասից’
X3 3 նախապատվության
X4 4 1 Y1 սխեմայից և կոդավորիչից
X5 5
X6 6 2 Y2
X7 7 G G
48
Նկար 3.13
Նախապատվության կոդավորիչի աղյուսակը’
Աղյուսակ 13
X7 X6 X5 X4 X3 X2 X1 X0 Y2 Y1 Y0 G
1 x x x x x X x 1 1 1 1
0 1 x x x x X x 1 1 0 1
0 0 1 x x x X x 1 0 1 1
0 0 0 1 x x X x 1 0 0 1
0 0 0 0 1 x X x 0 1 1 1
0 0 0 0 0 1 X x 0 1 0 1
0 0 0 0 0 0 1 x 0 0 1 1
0 0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0

x0 z0
x1 z1
Նախապատ- Կոդավորիչ y0
x2 z2
վության
x3 z3
սխեմա y1
x4 z4
x5 z5
y2
x6 z6
x7 z7

Նկար 3.14
Նախապատվության սխեմայի ճշտության աղյուսակը՝
Z0 – Z7 մուտքերին գալիս է ունիտար կոդ :

Աղյուսակ 14
X7 X6 X5 X4 X3 X2 X1 X0 Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
1 x x x x x x x 1 0 0 0 0 0 0 0
0 1 x x x x x x 0 1 0 0 0 0 0 0

49
0 0 1 x x x x x 0 0 1 0 0 0 0 0
0 0 0 1 x x x x 0 0 0 1 0 0 0 0
0 0 0 0 1 x x x 0 0 0 0 1 0 0 0
0 0 0 0 0 1 x x 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 x 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Z 7 = X7
Z6 = X7 X6
Z5 = X7 X6 X5
Z4 = X7 X6 X5 X4
Z3 = X7 X6 X5 X4 X3
Z2 = X7 X6 X5 X4 X3 X2
Z1 = X7 X6 X5 X4 X3 X2 X1
Z0 = X7 X6 X5 X4 X3 X2 X1 X0
Հավաքելով տվյալ արտահայտություններով սխեման և միացնելով
նրա ելքերը( z0 . . . z7 ) կոդավորիչի մուտքերին ( նկար 3.12), կստանանք
նախապատվության կոդավորիչ:
Օրինակ՝ կառուցել 4 մուտք x0,x1,x2,x3 ունեցող ախապատվության
կոդավորիչի սխեման, որի նախապատվությունը աճում է մուտքային
համարի աճման հետ զուգահեռ: Այսպիսով կստանանք՝
z3 = x3,
z2 = x3 x2,
z1 = x3x2 x1,
z0 = x3 x2 x1 x0.
y0 = z3 v z1; y1= z3 v z2;
G = z0 v z1 v z2 v z3;

Նախապատվության կոդավորիչի սխեման պատկերված է նկար


3.15-ում:

x3 1 y0
50

x2
1
 y1

x1
1

G
x0
Նկար 3.15
Մուլտիպլեքսորներ
Մուլտիպլեքսոր է կոչվում սխեման,որը նախատեսված է
ինֆորմացիայի մի քանի աղբյուրներից տվյալների փոխանցումը դեպի
մեկ կապուղի ղեկավարման համար:
Մուլտիպլեքսորը (Multiplexor) սարք է, որը 2n մուտքերից
ընտրում է մեկ մուտք և նրա ինֆորմացիան հաղորդում ելքին:
Մուլտիպլեքսորը կոչվում է նաև կոմուտատոր: Մուլտիպլեքսորը ունի
մուտքերի երկու խումբ՝ հասցեական և ինֆորմացիոն: Եթե հասցեական
մուտքերի քանակը հավասար է n, ապա ինֆորմացիոն կապուղիների
քանակը հավասար է 2 n:
8-կապուղանոց մուլտիպլեքսորի պայմանական գրաֆիկական
նշանակումը պատկերված է նկար 3.16-ում: Մուլտիպլեքսորի
ճշտության աղյուսակի (աղյուսակ 15) հիման վրա ստանում ենք
մուլտիպլեքսորի կողմից իրագործվող ֆունկցիայի անալիտիկ
արտահայտությունը:

Y=I0A2A1A0E  I1A2A1A0E  I2A2A1A0E  I3A2 A1 A0E


 I4A2A1A0E  I5 A2A1 A0E  I6A2A1A0E  I7A2A1A0E

51
I0 0 MS
I1 1 I0 փ I7 ---- ինֆորմացիոն
I2 2 մուտքեր
I3 3 A0 փ A2 -----
I4 4 հասցեավորման մուտքեր
Y
I5 5 E – թույլատրելու մուտքը
I6 6
I7 7

A0 0
A1 1
A2 2

Е Е

Նկար 3.16

Աղյուսակ 15
I0 I1 I2 I3 I4 I5 I6 I7 A 2 A1 A0 Y
0 X x x x x x X 0 0 0 0
1 X x x x x x X 0 0 0 1
x 0 x x x x x X 0 0 1 0
x 1 x x x x x X 0 0 1 1
x X 0 x x x x X 0 1 0 0
x X 1 x x x x X 0 1 0 1
x X x 0 x x x X 0 1 1 0
x X x 1 x x x X 0 1 1 1
x X x x 0 x x X 1 0 0 0
x X x x 1 x x X 1 0 0 1
x X x x x 0 x X 1 0 1 0
x X x x x 1 x X 1 0 1 1
x X x x x x 0 X 1 1 0 0
x x x x x x 1 X 1 1 0 1
x x x x x X x 0 1 1 1 0

x x x x x x x 1 1 1 1 1
52
Մուլտիպլեքսորի սխեման պատկերված է նկար 3.17-ում:
1
10 
12
14
15
I0 1
I1 2 2
I2 3 9 
I3 4 12
I4 5 14
I5 6 15
I6 7
3
8
I7 10 
A0 9 11
10 14
10 15
A1 4
11
11
12
9 
11
14
1
12 15
A2 13
13 Y
5
14 10 
12
13
15 15
E 6
9 
12
13
15

7
10 
11
13
15
89
912 
11
14
13
15
15

Նկար 3.17
53
Ուսումնասիրենք 2-կապուղի 4-կարգանի մուլտիպլեքսորի
աշխատանքը: A-ն՝ հասցեական մուտքն է, X0,X1՝ ինֆորմացիոն
մուտքերն են:

x00 MS
0-ական
x10 y0 y0 = x00A  x01A;
կապուղի
x20 y1 = x10A  x11A;
x30 y1 y2 = x20A  x21A;
1-ական x01 y3 = x30A x31A;
կապուղի x11 y2
x21
x31 y3

Նկար 3.18

Եթե A = 0, ելքային ինֆորմացիան ստանում ենք 0 ուղուց, եթե A


= 1, ելքային ինֆորմացիան ստանում ենք 1 ուղուց:
Մուլտիպլեքսորի սխեման բերված է նկար 3.19-ում:


X00

X10
 1 Y0
X20
 1 Y1
X30
1 Y2

X01  1 Y3

X11 


X21
X31

54

A
Նկար 3.19
Դեմուլտիպլեքսորներ
Դեմուլտիպլեքսորը (Demultiplexor) սարք է, որը ձևավորում է
մուտքային ազդանշանը 2n ելքերից մեկում:
Դեմուլտիպլեքսորի սխեման (1 մուտք - 2 ելք) բերված է նկար 3.20-
ում:

A Y0
 Y0 = IA

Y1 = I A

Y1
I

Նկար 3.20
Ընդհանուր դեպքում դեմուլտիպլեքսորն ունի մեկ ինֆորմացիոն
մուտք, n հասցեական մուտք և 2n ելք և կատարում է մուլտիպլեքսորի
I
հակառակ ֆունկցիան:
2 մուտք – 4 ելք ունեցող դեմուլտիպլեքսորի պայմանական
գրաֆիկական նշանակումը բերված է նկար 3.21-ում:

y0 Դեմուլտիպլեքսորը
DMX 0 իրականացնում է հետևյալ
A0 1 ֆունկցիաները'
1 y1
y0 = IA1A0 ,
A1 2 y1 = IA1 A0 ,
2 y2
y2 = I A1A0 ,
I y3 = I A1 A0 .
E 3 y3
1
A1
2
Նկար 3.21 I

E
55
2 մուտք – 4 ելք ունեցող դեմուլտիպլեքսորի սխեման պատկերված
է նկար 3.22-ում:
Մուտքային թույլատրություն (enable) ունեցող վերծանիչը և
դեմուլտիպլեքսորը ունեն միևնույն սխեման, բայց վերծանիչում A 1, A0
մուտքերը ինֆորմացիոն են, իսկ դեմուլտիպլեքսորում թույլատրող
մուտքն է հանդիսանում ինֆորմացիոն, իսկ A 1,A0' հասցեական
մուտքեր են:

A0  y0

A1
 y1

I
 y2

 y3

Նկար 3.22

Համեմատման սխեմաներ (կոմպարատորներ)


Այն տրամաբանական սխեման, որը կատարում է երկուական
կոդում ներկայացված երկու թվերի համեմատումը կոչվում է թվային
կոմպարատոր (Comparator):
Պարզագույն համեմատման սխեման համարվում է կոդերի հա-
մարժեքության սխեման (“հավասար - անհավասար”): Տրված են երկու
թիվ ‘
A =  an-1 an-2 an-3 ….a1 a0  B = bn-1 bn-2 bn-3 …. b1 b0 

56
Համարժեքության սխեման կատարում է հետևյալ գործողությունը
Y = ( an-1  bn-1 ) ( an-2  bn-2 ) ….. ( a1  b1 ) ( a0  b0 )
Y =1, եթե A և B թվերի համանուն կարգերը a i – ն և b i – ն
հավասար են: Կառուցենք երկու հատ 4 կարգանի թվերի
համեմատման սխեման:
A = a3 ,a2 ,a1 ,a0  և B = b3 ,b2, b1 ,b0
Y = ( a3  b3 ) ( a2  b2 ) ( a1  b1 ) ( a0  b0 )
Աղյուսակ 16
a b F F
0 0 1 0 ______
0 1 0 1 F  = ( a  b)
1 0 0 1 a  b -- XOR
a  b -- XNOR
1 1 1 0

Այս տարրերը համարժեք են

a =1 a =
b ab b ab

Նկար 3.23
“XNOR” տարրերի հիման վրա կազմված սխեման պատկերված է
նկար 3.24-ում:
a0 =
b0

a1
=
b1


a2 = Y=
b2
Y
a3
=
b3

Նկար 3.24
57
Y = ( a3  b3 ) ( a2  b2 ) ( a1  b1 ) ( a0  b0 ) =

= ( a3  b3 ) V( a2  b2 ) V( a1  b1 ) V( a0  b0 )
Նույն սխեման կարելի է հավաքել նաև “XOR” տարրերի հիման
վրա (նկար 3.25):

Y = ( a3  b3)Ē ( a2  b2) Ē ( a1  b1) Ē ( a0  b0) =

( a3  b3) V ( a2  b2) V ( a1  b1) V ( a0  b0 )

a0
=1
b0

a1
=1
b1 1
Y=
a2
=1 Y
b2

a3
=1
b3

Նկար 3.25

Համեմատում , , 
Կոմպարատորի պայմանական գրաֆիկական նշանակումը
ներկայացված է նկար 3.26-ում :

58
A CMP
3
2  Y
1
0 Y=
B 
3
2 Y
1 
0

Նկար 3.26
Կոմպարատորը իրագործում է հետևյալ ֆունկցիան
Y= = ( a3  b3 ) ( a2  b2 ) ( a1  b1 ) ( a0  b0 )
Y = ( a3  b3) V ( a3  b3) ( a 2  b2) V ( a3  b3) ( a2  b2) ( a1  b1) V
V ( a3  b3) ( a2  b2) ( a1  b1) ( a0  b0 )
Y = Y= & Y
Երկկարգանի՝ A(a1 a0) և B(b1 b0) թվերի համեմատման սխեման
պատկերված է նկար 3.27-ում:
Y= = ( a1  b1 ) ( a0  b0 )
Y = ( a1  b1 ) V ( a1 b1) ( a0  b0 )

Y = Y= & Y = Y= V Y

a1 Y=
1=
b1 

Y
1
 1
a0 1=
b0
Y

59
Նկար 3.27

4. Հիշողության հիմնական (բազային) սխեմաներ


Այս դասին են պատկանում տրիգերները, հաշվիչները, ռեգիստըր-
ները, տեղաշարժող ռեգիստրները:
Նրանք բոլորը ավտոմատներ են (հաջորդական սխեմաներ), որոնց
ելքային ազդանշանները կախված են ոչ միայն մուտքի ազ-
դանշաններից, այլև նրանց փոփոխությունների հաջորդակա-
նությունից:
Վերացական ավտոմատների հասկացություն
Ավտոմատ է կոչվոմ ինֆորմացիայի դիսկրետ ձևափոխիչը, որը
մուտքային ազդանշանների ազդեցության տակ մեկ վիճակից անցնում
է մյուսը և ելքում ստանում ելքային ազդանշան:
Աբստրակտ ավտոմատը տրվում է 5 բազմությունների օգնությամբ
' A = X,Y,S,, , որտեղ՝
X = X1 X2 ,X3 . . . Xm  ավտոմատի մուտքային այբուբենն է,
Y =  Y1 ,Y2, Y3 . . . Y n  ավտոմատի ելքային այբուբենն է,
S = S0 S1 S2 ….Sk-1 ավտոմատի ներքին վիճակների
բազմությունը:
 -ն՝ անցման ֆունկցիա;
 -ն՝ ելքային ֆունկցիա
-ն անցման ֆունկցիան որոշում է ավտոմատի հաջորդ վիճակը
ժամանակի ցանկացած t պահին կախված ընթացիկ վիճակից և
մուտքային ազդանշաններից: Այսինքն՝  ֆունկցիան յուրաքանչյուր
''վիճակ – մուտքային ազդանշան'' զույգին համապատասխանեցնում է
ավտոմատի հաջորդ ֆունկցիան:
 : S  X S
Անցման ֆունկցիան կարելի է գրել
S ( t + 1 ) =  ( St ,X t )
Կա ավտոմատների 2 մոդել ' ՄԻԼԻ ավտոմատ և ՄՈՒՐի
ավտոմատ: Սրանք տարբերվում են ելքային ֆունկցիայով, որը
որոշվում է ժամանակի t պահին:
Yt =  ( St , Xt ) Միլի ավտոմատի համար
Yt =  ( St ) Մուրի ավտոմատի համար

60
Միլի ավտոմատի ելքային ազդանշանը ժամանակի t պահին
կախված է մուտքային ազդանշանից ( Xt ) և ընթացիկ վիճակից (St ) :
Մուրի ավտոմատի ելքային ազդանշանը կախված է միայն
ավտոմատի ընթացիկ վիճակից: Ավտոմատը գործում է (աշխատում է)
ժամանակի դիսկրետ պահերին t = 0,1,2,….n: S 0 - ավտոմատի
սկզբնական վիճակն է ( t = 0) :Վիճակը ավտոմատի հիշողությունն է՝
նախորդ մուտքային ազդանշանների մասին: Ավտոմատները հա-
ջորդական մեքենաներ են, քանի որ ձևափոխում են մուտքային
ազդանշանները ելքայինի:
Վերացական ավտոմատն ունի 1 մուտք և 1 ելք:

X A Y

Նկար 4.1

Ավտոմատի մուտքին տրվում է մուտքային այբուբենի հաջորդա-


կանությունը, իսկ ելքում ստանում ենք ելքային այբուբենի հաջորդա-
կանությունը: Այստեղ գործում են հետևյալ պայմանները’
1. Ելքի և մուտքի բառերի երկարությունները հավասար են:
2. Մուտքային բառերի սկզբնական հատվածներին համապա-
տասխանում են ելքային բառի նույն սկզբնական հատված-
ները:

Օրինակ 1
Դիտարկենք հաջորդական գումարիչի աշխատանքը: S = A + B
Գումարիչի մուտքին են տրվում են a i b i գումարիչների համանուն
կարգերը, ելքում առաջանում է Si : Հաջորդական գումարիչը ավտոմատ
է: Այն պետք է հիշի փոխանցում կ՞ա թե՝ ոչ i-1 կարգից: Ավտոմատի
մուտքային այբուբենն է
X =  00, 01, 10, 11 
Ավտոմատի վիճակներն են'
S =  0, 1 
0 վիճակը համապատասխանում է փոխանցման բացակայությանը,
1 վիճակը նախորդ կարգից փոխանցման առկայությանը:
Ավտոմատի գրաֆն ունի հետևյալ տեսքը ’
10/1 61
11/0 01/0

00/0 0 1 11/1
00/1

01/1 Նկար 4.2 10/0

Միլի ավտոմատը գրաֆի տեսքով ներկայացնելու համար գրաֆի


գագաթներին համապատասխանեցնում են ավտոմատի վիճակները,
իսկ գրաֆի կողերին‘ վիճակների միջև անցումները, այսինքն
մուտքային ազդանշանները և համապատասխան ելքային ազդանշանը:
Ավտոմատի գրաֆի հատվածը բերված է նկար 4.3-ում՝

Si Xm/Yk Sj Si/ Xm Sj/


Ym Yk

Նկար 4.3

Մուրի ավտոմատում գրաֆի գագաթում նշվում են վիճակը և


ելքային ազդանշանը, վերջինս ստացվում է տվյալ վիճակում:
Օրինակ 2
Կառուցել մուտքային հաջորդականության դետեկտորի գրաֆը,
որի ելքային ազդանշանը ձևավորվում է ‘’1’’ միայն, եթե մուտքում
գալիս են իրար հաջորդող 5 հատ ‘’1’’:

S0 S1 S2 S
0/0 1/0 1/0 1/0 1/0 1/1

S1 S2 S3 S4
S0
0/0 0/0
S
S0 0/0 0/0

62
Նկար 4.4
S = {S0 ,S1 ,S2 ,S3 ,S4 }
S0-ն մտապահում է այն ինֆորմացիան, որ վերջին մուտքային
ազդանշանը հավասար է եղել մեկի, S1 ՝ մուտքային ազդանշանը եղել է
մեկ S2՝ մուտքին եղել է երկու հատ մեկ, S3՝ երեք մեկերի նախապատ-
մությունը, S4 ՝ չորս մեկերի նախապատմությունը:

ՏՐԻԳԵՐՆԵՐ
Տրիգերները օգտագործվում են 1 բիթ ինֆորմացիա հիշելու համար:
Թվային տեխնիկայում օգտագործում են տրիգերների հետևյալ
տիպերը’ RS – տրիգեր , D - տրիգեր, T - տրիգեր, JK - տրիգեր: Բոլոր
տրիգերները տարրական ՄՈՒՐ ավտոմատներ են, որոնք ունեն 2
վիճակ ' 0 և 1 վիճակներ:
Տրիգերների տրամաբանական գործառությունը նկարագրվում է
ավտոմատների նկարագրման համար ընդունված եղանակներով՝
անցումների աղյուսակներով (իսկության աղյուսակներով),
բնութագրային հավասարումներով, Կառնոյի քարտերով, վիճակների
դիագրամներով (անցումների գրաֆներով), անցումների ֆունկցիաների
մատրիցներով:

Տրիգերների դասակարգումը
Ասինխրոն տրիգերներն ունեն միայն ինֆորմացիոն մուտքեր:
Ասինխրոն տրիգերները տակտավորված չեն: Մյուս վիճակի անցումը
կատարվում է մուտքային ազդանշանի փոփոխման դեպքում:
Սինխրոն տրիգերները, բացի ինֆորմացիոն մուտքերից ունեն նաև
հատուկ մուտք տակտային ազդանշանի համար, որը նշանակվում է C
(CLOCK ) խոսքից կամ CLK:

Տրիգերներ

Աշխ. տրամաբան. Ինֆորմ. գրանցման ձևով

RS

63
Ասինխրոն Սինխրոն
D

Ճակատով Մակարդակով
T ղեկավարվող ղեկավարվող

JK Մեկ տակատնի Երկու տակտ.

Կոմբինաց.

Բարդ տրամ.

Նկար 4.5
Սինխրոն տրիգերները տակտային ազդանշանի ընկալման ձևով
լինում են 2 տեսակի '
a) Սինխրոազդանշանի մակարդակով ղեկավարվող (լայն սինխրո-
նացում),
b) Սինխրոազդանշանի ճակատով ղեկավարվող (նեղ սինխրոնացում),
Ղեկավարումը մակարդակով նշանակում է, որ սինխրո
ազդանշանի որոշ մակարդակի դեպքում (օրինակ, երբ C=1)
կատարվում է տրիգերի թողարկումը, իսկ մյուս մակարդակի դեպքում
(երբ C=0) տրիգերը չի ընկալում մուտքային ազդանշանները և մնում է
անփոփոխ վիճակում (լայն սինխրոնացում):
Ճակատով ղեկավարման դեպքում տրիգերի վիճակի փոփոխման
թույլատվությունը ստացվում է միայն սինխրոազդանշանի ճակատի
անկման կամ աճման պահին (նեղ սինխրոնացում): Այսպիսի
տրիգերները այլ կերպ անվանվում են դինամիկ ղեկավարմամբ
տրիգերներ:
Ըստ փոփոխման գործընթացի սկզբունքի տրիգերները լինում են
մեկ- և երկաստիճան: Մեկաստիճան տրիգերներում անցումը հաջորդ
վիճակ կատարվում է անմիջապես, իսկ երկաստիճան տրիգերներում
ըստ փուլերի ’ տակտային ազդանշանի մի մակարդակը թույլատրում է
ինֆորմացիայի ըմդունումը հիմնական տրիգեր, իսկ մյուս մակար-
դակը թույլատրում է ինֆորմացիայի փոխանցումը ելք:

64
Երկու կարգանի տրիգերները կոչվում են M-S ( Master - Slave )
տիպի տրիգերներ՝ մուտքային աստիճանը (Master), ելքային
աստիճանը ( Slave ):
Ժամանակային դիագրամները ներկայացված են նկար 4.6-ում:
CLK

Մակարդակով ղեկավարվող

Ճակատով ղեկավարվող

M-S տրիգերներ

Նկար 4.6
RS – տրիգեր
Առանձնացված տեղակայման մուտքերով տրիգերը կոչվում է
RS-տրիգեր՝ R մուտքը (Reset) – “0” տեղակայման մուտքն է, S մուտքը
(Set) – “1” տեղակայման մուտքը:
RS – տրիգերի իսկության աղյուսակը և պայմանական
նշանակումը բերված է նկար 4.7-ում:
Աղյուսակ 17 S Q
Rt St Qt Qt+1 S T
0 0 0 0 հիշում
0 0 1 1 Q
0 1 0 1 “1” տեղ
R
0 1 1 1 R
1 0 0 0 “0” տեղ.
1 0 1 0
1 1 0 -- արգելվ.
1 1 1 -- կոմբին.
Նկար 4.7

65 01

0 1 0*
*
0 10
Rt St Qt+1
0 0 Qt
*0
0 1 1
1 0 0
1 1 --
Նկար 4.8

Կառուցենք ասինխրոն RS – տրիգերի սխեման տրամաբանական


էլեմենտների վրա:
Q t+1 և Q t+1 ելքային ֆունկցիաների արժեքները ըստ աղյուսակի
որոշվում են հետևյալ կերպ՝
Q t+1 = f ( St, Rt , Qt )
Q t+1 = f ( St, Rt , Qt )
RS
00Q 01 11 10
0 1 1 1 Qt+1 = S V R Qt = S Ē R Qt
1 -- --

RS
Q 00 01 11 10
0 1 Qt+1 = R V S Qt = R Ē S Qt
1 1 1 -- --

Այս երկու արտահայտությունների սխեման “և - ոչ” բազիսի


էլեմենտների վրա ներկայացված է նկար 4.9 ա) հատվածում:

S & Q
R 1 Q

& Q 1 Q
R S
ա) բ)
Նկար 4.9

_ __
Qt+1 = St V R t Q t = St V R t V Q t

66
__ _ _ ______
Qt+1 = Rt V St Qt = Rt V St V Qt
Նկար 75-ի բ) հատվածում ներկայացված են նույն Q t+1 և Qt+1 ֆունկ-
ցիաների սխեմաները “կամ-ոչ” բազիսի էլեմենտների վրա:

Սինխրոն RS - տրիգեր
Լրացուցիչ տրամաբանական սխեմա ավելացնելու դեպքում
սինխրոն RS-տրիգերը կարող է ստացվել ասինխրոն RS- տրիգերից, որը
տրիգերի մուտքերին կձևավորի ակտիվ տրամաբանական մակարդակ
միայն սինխրոազդանշանի առկայության ժամանակ: Պայմանական
գրաֆիկական նշանակումը և սխեման ներկայացված են նկար 4.10-ում:
S
 & Q
1 3
C

  Q
R 4
2

Նկար 4.10
Եթե C = 0, ապա 1 և 2 տարրերի ելքում ստանում ենք 1, այդ
դեպքում տրիգերի վիճակը չի փոփոխվում (3 և 4 տարրերի ելքերը
անփոփոխ են):
Եթե C = 1, 1 և 2 տարրերը ժխտում են R և S ազդանշանները (S և
R): R = 0, S = 1 դեպքում տրիգերները բերվում են “1“ վիճակի: S=0, R=1
դեպքում՝ “0” վիճակի: Եթե S = 1, R = 1, ապա տրիգերի վիճակը
անորոշ է (երկու ելքում էլ “1”), սա արգելված իրավիճակ է: Տրիգերի
պայմանական նշանակումը բերված է նկար 4.11-ում:

S T Q

C __
Q
R

Նկար 4.11
67
D - տրիգեր

Տրիգերի անվանումն է Delay ( Data ) բառից: D-տրիգերն ունի 1


մուտք: D-տրիգերը ելքում կրկնում է մուտքային ազդանշանը,
սինխրոազդանշանով որոշվող ուշացմամբ:
D-տրիգերի պայմանական նշանակումը, աղյուսակը, գրաֆը և
անցումների մատրիցը բերված է նկար 4.12-ում

D Dt Qt Qt+1 D
0 0 0 0 0 0
0 1 0 0 1 1
C 1 0 0
1 0 1
1 1 1 1 1 1

D 0 1 D

Նկար 4.12
D-տրիգերի սխեման սինխրոն RS-տրիգերի հիման վրա
ներկայացված է նկար 4.13-ում:

D S T
Q
C

R Q

Նկար 4.13

Այս տրիգերը, ինչպես և RS-ը, ղեկավարվում է ազդանշանի


մակարդակով: Ազդանշանի առկայության դեպքում (C=1) D մուտքի
68
ցանկացած փոփոխություն հանգեցնում է տրիգերի վիճակի փոփոխու-
թյանը և մուտքային ազդանշանը փոխանցվում է ելք (Latch):
Դիմանիկ ղեկավարմամբ D-տրիգերի սխեման ներկայացված է
նկար 4.14-ում:

S

  Q
C

  Q

D 
R

Նկար 4.14
Տրիգերի պայմանական գրաֆիկական նշանակումը և իսկության
աղյուսակը տրված է նկար 4.15-ում (միկրnսխեմա TM2):

S R S D C Qt+1 Մեկնաբ.
Q 0 1 x x 0 ‘0’-ի տեղակ
D 1 0 x x 1 ‘1’-ի տեղակ
C 0 0 x x  Արգելված
Q
1 1 0  0 գրանց.0
R
1 1 1  1 գրանց.1

Նկար 4.15
S, R – տրիգերը համապատասխան 1-ում կամ 0-ում ասինխրոն
տեղակայման մուտքերն են:
69
T - տրիգեր

T-տրիգերը կամ հաշվային (toggle) ունի մեկ ինֆորմացիոն մուտք:


T-տրիգերի իսկության աղյուսակը, անցումների մատրիցը և գրաֆը
բերված են նկար 4.16-ում:
Իսկության աղյուսակից ստացված բնութագրական բանաձևը՝
Qt+1 =Tt  Qt

Անցման մատրիցը
Tt Qt Qt+1 T
0 0 0
0 0 0
0 1 1
0 1 1
1 0 1
1 0 1 1 1 0
1 1 0
T

T 0 T
1
T

Նկար 4.16
Սինխրոն T-տրիգերը կառուցվում է երկմակարդակ սխեմայով(M-S),
քանի որ հաջորդ վիճակը կախված է ընթացիկ վիճակից (հակադարձ
կապ ելքից մուտք, քանի որ Qt+1 =Tt  Qt ):
Կառուցենք T-տրիգերի սխեման (M–S) տիպի RS-տրիգերի հիման
վրա:
Որոշենք M հիմնական տրիգերի R և S մուտքերին տրվող ֆունկ-
ցիաները:
Օգտագորցուն ենք RS-
Tt Qt Qt+1 Rt St տրիգերի անցման մատրիցը
0 0 0 -- 0 R S
0  0  0
0 1 1 0 --
0  1 0 1
1 0 1 0 1 1  0 1 0
1 1 0 1 0 1  1 0 

R = TQ, S = TQ.

70
M S
 S S Q
T
C C
 Q
R R
C

Նկար 4.17
Եթե գործում է սինխրոազդանշանը, այսինքն՝ C = 1, ապա աշխա-
տում է ''M'' տրիգերը, ''S'' – ը պահպանում է իր վիճակը:
Եթե սինխրոազդանշանը չի գործում, այսինքն՝ C = 0, ապա նոր
վիճակը գրանցվում է ''S'' տրիգերում: ‘’M’’-ը իր վիճակը չի փոխում:

J K - տրիգեր
JK- տրիգերը ունիվերսալ տրիգեր է, քանի որ դրա հիման վրա
կարելի է կառուցել բոլոր դիտարկված տրիգերները:
Երկտակտանի սինխրոն JK–տրիգերների պայմանական գրաֆի-
կական պատկերը և իսկության աղյուսակը ներկայացված են նկար 4.18
–ում:
Աղյուսակ 18

J TT Jt Kt Qt Qt+1
Q 0 0 0 0
C 0 0 1 1
0 1 0 0
Q
K 0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Նկար 4.18

J մուտքը մեկի տեղակայման մուտքն է, K մուտքը ' զրոյացման: Ի


տարբերություն R-S տրիգերի՝ 1 1 կոմբինացիան թուլատրելի է:
Սահմանենք JK-տրիգերի բնութագրիչ հավասարումը:
71
KQ Qt+1 ֆունկցիայի արտահայ-
J 00 01 11 10
տությունը մինիմացումից
0 1 հետո
1 1 1 1 Qt+1 = Kt Qt V Jt Qt

Ընդհանրապես սինխրոն J-K տրիգերը կառուցվում է M-S տիպի


R-S տրիգերի հիման վրա:
Աղյուսակ 19-ի հիման վրա սահմանենք ֆունկցիաները, որոնք
պետք է տրվեն հիմնական (M) տրիգերի R և S մուտքերին:

Աղյուսակ 19
J K Qt Qt+1 Rt St
0 0 0 0 -- 0
0 0 1 1 0 --
0 1 0 0 -- 0
0 1 1 0 1 0
1 0 0 1 0 1
1 0 1 1 0 --
1 1 0 1 0 1
1 1 1 0 1 0
KQ
J 00 01 11 10
R = KQ
0 -- 1 --
1 1

KQ
00 01 11 10
S = JQ
J
0 --
1 1 -- 1

Տրիգերի սխեման բերված է նկար 4.19-ում:

72
J M S
 S S Q

C C
 Q
K R R

Նկար 4.19

Կառուցվածքային ավտոմատի հասկացությունը


Ինչպես արդեն նշվել է, վերացական ավտոմատը որևէ ինֆոր-
մացիայի ձևափոխման ալգորիթմի մոդելն է, իսկ կառուցվածքային
ավտոմատը այն սարքի մոդելն է, որը կատարում է այդ ձևափոխումը:
Վերացական ավտոմատն ունի 1 մուտք և 1 ելք, իսկ կառուց-
վածքային ավտոմատը՝ մի քանի մուտքեր ու ելքեր: Մուտքերին են
ներմուծվում ազդանշաններ, որոնք կոդավորում են մուտքային
այբուբենի տառերը, իսկ ելքում ստացվում են ազդանշաններ, որոնք
կոդավորում են ելքային այբուբենի տառերը:
Կառուցվածքային ավտոմատի հիմնական մոդելը բերված է նկար
4.20-ում

X1 Y1
X2 Կոմբինա- Y2
Ē ցիոն Ē
Xm սխեմա Yn

St St+1

q1
Ē Հիշողու-- q’1
Ē թյուն Ē
Ē Ē
Ē
73
qk
q’k
Նկար 4.20

X1 X2 ….Xm --- մուտքային ազդանշաններն են,


Y1 Y2 ….Yn --- ելքային ազդանշաններն են:
Ավտոմատը կազմված է 2 մասից ՝ կոմբինացիոն սխեմայից և հիշո-
ղությունից: Կոմբինացիոն սխեման որոշում է կառուցվածքային
ավտոմատի հաջորդ վիճակը q '1 ….q'k և մուտքային ազդանշանները:
Ավտոմատի հիշողությունը կատարում է ավտոմատի վիճակի
ֆիքսում: Հիշողությունը իրագործված է տրիգերների վրա:
Ավտոմատի կառուցման համար տրիգերների k քանակը որոշվում
է հետևյալ բանաձևից՝
[ Log 2 K ]  k  K,
որտեղ K –ն ավտոմատի վիճակների քանակն է:
Ներքին փոփոխականների (տրիգերների) մինիմալ քանակով
կոդավորումը անվանում են բինար կոդավորում, իսկ մաքսիմալ
քանակովը` ունար կոդավորում:
Ավտոմատները լինում են սինխրոն և ասինխրոն: Ասինխրոն
ավտոմատներում վիճակները փոփոխվում են միայն մուտքային ազդա-
նշանների փոփոխման դեպքում:
Սինխրոն (տակտավորվող) ավտոմատներում վիճակների
փոփոխման ռիթմը թելադրվում է տակտային ազդանշանների
գեներատորի կողմից: Սինխրոն ավտոմատները փոփոխում են իրենց
վիճակները միայն սինխրոազդանշանի առկայության դեպքում: Իսկ
սինխրոազդանշանի բացակայության դեպքում ավտոմատը մուտքերից
անջատված է:
Ժամանակակից դիսկրետ սխեմաների կառուցման հիմնական
մոդելը համարվում է սինխրոն մոդելը: Սինխրոն ավտոմատները
կառուցվում են սինխրոնացված տրիգերների հիման վրա:

Ավտոմատի կառուցվածքային սինթեզի օրինակ


Կառուցենք մուտքային հաջորդականությունների դետեկտորի
սխեման, որի անցումների գրաֆը բերված է նկար 4.4-ում:

74
Ավտոմատի սինթեզման առաջին քայլում ընտրում ենք
օգտագործվող տրիգերների տիպը :
Ընտրենք դինամիկ ղեկավարմամբ D-տրիգեր (զրոյի տեղա-
կայման ասինխրոն մուտքով):
Ավտոմատի վիճակների կոդավորման համար օգտագործում ենք
բինար կոդավորում: Այդ դեպքում տրիգերների քանակը կլինի`
k = log25 = 3:
Վիճակները կոդավորենք հետևյալ ձևով`
S0 = 000
S1 = 100
S2 = 110
S3 = 101
S4 = 111
Ավտոմատի սինթեզը կատարենք անցումների կառուցվածքային
(կոդավորված) աղյուսակի հիման վրա, որոնց օգնությամբ որոշում ենք
գրգռման ֆունկցիաները: Գրգռման ֆունկցիաները այն ֆունկցիաներն
են, որոնք անհրաժեշտ է տալ տրիգերների մուտքերին, որպեսզի
ապահովենք նրանց փոխանջատումը ավտոմատի անցումների
աղյուսակին համապատասխան:
RS- ,T- և JK-տրիգերների գրգռման ֆունկցիաների որոշման հա-
մար կատարում ենք ընթացիկ և հաջորդ վիճակների կոդերի
համեմատում: Գրգռման ֆունկցիաները որոշում ենք
համապատասխան տրիգերի անցումների մատրիցների:
D-տրիգերի դեպքում գրգռման ֆունկցիայի արժեքը որոշակի
անցումում որոշվում է հաջորդ վիճակի կոդում համապատասխան
կարգի արժեքով (երբ տրիգերի հաջորդ վիճակը մեկ է, ֆունկցիան
կընդունի 1 արժեք, երբ զրո է `0 արժեք):
Աղյուսակ 20
Ընթացիկ Մուտքա- Հաջորդ Ելքային Գրգռման
վիճակ յին ազ- վիճակ ազդա- ֆունկցիա
q1 q2 q3 դանշան նշան D1 D2 D3
0 S0 0 0 0 0
S0 0 0 0 1 S1 1 0 0 0 1
0 S0 0 0 0 0
S1 1 0 0 1 S2 1 1 0 0 1 1
0 S0 0 0 0 0

75
S2 1 1 0 1 S3 1 0 1 0 1 1
0 S0 0 0 0 0
S3 1 0 1 1 S4 1 1 1 0 1 1 1
0 S0 0 0 0 0
S4 1 1 1 1 S4 1 1 1 1 1 1 1

Մինիմացումը կատարում ենք Կարնոյի քարտերի միջոցով:

q3x q3x
q1q2 00 01 11 10 q1q2 00 01 11 10
00 1   00  
01     01    
11 1 1 11 1
10 1 1 10 1 1

q3x q3x
q1q2 00 01 11 10 q1q2 00 01 11 10
00   00  
01     01    
11 1 1 11 1
10 1 10

““ նշանով նշանակված են ֆունկցիայի անորոշ արժեքները, որոնք


առաջանում են այն պատճառով, որ վիճակների կոդերի ութ հնարավոր
տարբերակներից օգտագործված են միայն հինգը (q1,q2,q3,x
փոփոխականների 0010, 0011, 0100, 0101, 0111 կոմբինացիաները
երբեք չեն գալիս ավտոմատի սխեմայի մուտքերին):
76
Ավտոմատի սխեման բերված է նկար 4.21-ում:

q1 q2 q3
D D D

C C C

R R R
C

Reset
X
& &
1 1

&

& Y

Նկար 4.21

Ռեգիստրներ

Ռեգիստրները թվային սարքերի ամենատարածված հանգույց-


ներից մեկն են: Ռեգիստրները այն սարքերն են, որոնք կազմված են n
տրիգերներից և հիշում են n կարգանի բառ: Տարբերում են զուգահեռ,
հաջորդական և զուգահեռ-հաջորդական ռեգիստրներ: Զուգահեռ
ռեգիստրներում տվյալների մուտքն ու ելքը կատարվում է բոլոր
կարգերով միաժամանակ:
Կառուցենք 4-կարգանի զուգահեռ ռեգիստրի սխեման
սինխրոազդանշանի ճակատով ղեկավարվող D–տրիգերների հիման
վրա:
D0,D1,D2,D3 –ռեգիստրներում ինֆորմացիայի ընդունման / գրանց-
ման զուգահեռ մուտքեր:
77
Q0,Q1,Q2,Q3 -- ռեգիստրի ելքեր:

D0 Q0 D1 Q1 D2 Q2 D3 Q3

D D D D

C C C C

R R R R

Reset
. Նկար 4.22

Ինֆորմացիայի գրանցումը ռեգիստրում կատարվում է


սինխրոազդանշանի դիմացի ճակատով ( նեղ սինխրոնացում ):
Reset-ը բոլոր տրիգերները բերում է ''0'' վիճակի՝ բացասական
սիխրոազդանշան ստանալու դեպքում:
4-կարգանի ռեգիստրի պայմանական գրաֆիկական նշանակումնը
պատկերված է նկար 4.23-ում: (միկրnսխեմա TM8):

D0 Q0 Միկրոսխեման ունի բոլոր 4


D1 կարգանի ուղիղ և հակադարձ
D2 Q1 ելքերը:
D3
Q2
C
Q3
R

Նկար 4.23

Սինխրոազդանշանի առկայության դեպքում, եթե R =1,ապա ռե-


գիստրի ելքում գրանցվում են մուտքային ազդանշանները: Եթե R =0,
ռեգիստրի ելքում գրանցվում են զրոներ:
Աղյուսակ 21
R D0 D1 D2 D3 C Q0 Q 1Q 2 Q3

1 D0 D1 D2 D3  D0 D1 D2 D3
78
0 X X X X X 0 0 0 0

Տեղաշարժող ռեգիստրներ ( Shift Registers )


Տեղաշարժող ռեգիստրները կատարում են հետևյալ գործողու-
թյունները ‘
1. Կոդի տեղաշարժում աջ կամ ձախ:
2. Հաջորդական կոդի ձևափոխումը զուգահեռի (հաջորդական
կոդի մուտքագրում):
3. Զուգահեռ կոդի ձևափոխումը հաջորդականի:
Տեղաշարժող ռեգիստրները, որպես կանոն կառուցվում են D –
տրիգերների հիման վրա:
4-կարգանի աջ տեղաշարժող ռեգիստրի սխեման պատկերված է
նկար 4.24-ում:
23 22 21 20
D Q1 D Q2 D Q3 D Q4
DR

C C C
C

Նկար 4.24
Դեպի աջ տեղաշարժող ռեգիստրներում յուրաքանչյուր (i-րդ)
կարգի ելքը միացվում է հաջորդ (i+1-րդ) կարգի ինֆորմացիոն
մուտքին:
Ինֆորմացիայի տեղաշարժը իրականացվում է C մուտքին
սինխրոազդանշանի առջևի ճակատի գալու դեպքում:
D R --- տվյալների հաջորդական ներմուծման մուտքը ռեգիստր:
Աղյուսակ 22
DR Q1 Q2 Q3 Q4
t0 0 1 1 0 1
t1 0 0 1 1 0 1 տակտ
t2 0 0 0 1 1 2 տակտ
t3 0 0 0 0 1 3 տակտ

79
t4 0 0 0 0 0 4 տակտ

Չորրորդ տակտից հետո ռեգիստրի պարունակությունը կդառնա


զրոյին հավասար:
Մեկ կարգ աջ տեղաշարժման դեպքում ռեգիստրում գրանցվածը
փոքրանում է 2 անգամ, K կարգ աջ տեղաշարժի դեպքում ՝ 2 K անգամ:
Դեպի ձախ տեղաշարժող ռեգիստրներում յուրաքանչյուր (i-րդ)
կարգի ելքը միացվում է նախորդ (i-1-րդ) կարգի ինֆորմացիոն
մուտքին: Դեպի ձախ տեղաշարժը մեծացնում է գրանցված թիվը 2
անգամ, K կարգ ձախ տեղաշարժի դեպքում ՝ 2 K անգամ:

Հաշվիչներ
Հաշվիչը սարք է, որը կատարում է մուտքային ազդանշանների
հաշվառում: Հաշվիչը ավտոմատ է, որը մուտքային ազդանշանների
ազդեցության տակ անցնում է մեկ վիճակից մյուսը՝ ֆիքսելով մուտքին
եկած ազդանշանների թիվը: Հաշվիչի պարունակությունը փոխվում է
‘’1’’—ով: Գումարում է ‘’1’’ (ինկրեմենտ), հանում է ‘’1’’(դեկրեմենտ)
կամ որևէ մի այլ թիվ: Հաշվիչը բնութագրվում է M հաշվի մոդուլով:
Մոդուլը որոշում է հաշվիչի հնարավոր վիճակների թիվը: M
մուտքային ազդանշանների ներմուծումից հետո հաշվիչում սկսվում է
նոր ցիկլ:
Ըստ համակարգի հաշվիչները լինում են երկուական, երկուական
– տասական և կամայական, նաև գումարող, հանող և ռեվերսիվ:

Երկուական հաշվիչներ
Երկուական հաշվիչների հաշվի մոդուլը հավասար է 2 թվի
ամբողջ կարգին, իսկ վիճակները կոդավորվում են երկուական թվով:
N կարգանի երկուական հաշվիչներն ունեն M = 2 N հաշվի մոդուլ,
վիճակների հաջորդականությունը 0,1, 2, . . . ,M–1, 0,1,. . . Հաշվիչները
հիմնականում կառուցվում են T-և JK-տրիգերների հիման վրա:
Հաշվիչները լինում են սինխրոն և ասինխրոն:

Ասինխրոն հաշվիչներ
Ասինխրոն հաշվիչներում յուրաքանչյուր նախորդ տրիգերի ելքը
ղեկավարում է հաջորդ տրիգերի աշխատանքը:

80
Դիտարկենք 4-կարգանի գումարող հաշվիչի աշխատանքը:
Հաշվիչի վիճակների փոփոխման հաջորդականությունը ներկայացված
է աղյուսակ 23-ում:
f–ով նշանակում ենք մուտքային ազդանշանների
հաճախականությունը: Ինչպես երևում է աղյուսակից, հաշվիչի փոքր
կարգը (1 տրիգեր) փոխում է իր վիճակը f հաճախականությամբ, 2-րդ
տրիգերը ‘ f/2 հաճախականությամբ, 3-րդ տրիգերը’ f/4 հաճախակա-
նությամբ, 4-րդ տրիգերը ‘ f/8 հաճախականությամբ:
Հաշվիչի սխեման ներկայացված է նկար 4.25-ում:
Գումարող հաշվիչի դեպքում ամեն հաջորդ տրիգերի մուտքը
միացված է նախորդի ժխտված ելքի հետ: Հանող հաշվիչի դեպքում
ամեն հաջորդ տրիգերի մուտքը միացված է նախորդի ուղիղ ելքի հետ
(որը գծված է կետագծերով):
Աղյուսակ 23
Q3 Q2 Q1 Q0
Յուրաքանչյուր տրիգերը
0 0 0 0 փոխում է իր վիճակը, եթե նրա
0 0 0 1 մուտքային ազդանշանը փոփոխվի
0 0 1 0 զրոյից մեկ (): Քանի որ
0 0 1 1 տրիգերները միացված են
0 1 0 0 հաջորդաբար, ապա ամեն նա-
0 1 0 1 խորդող տրիգերը փոխանջատում է
հաջորդ տրիգերը:
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

20 21 22 23
Q0 Q1 Q2 Q3
C
T T T T
81
Նկար 4.25
Ասինխրոն գումարող հաշվիչի սխեման երկտակտանի JK-
տրիգերների հիման վրա պատկերված է նկար 4.26-ում:
''1'' ''1'' ''1'' ''1''
0 1 2
2 2 2 23

J TT J TT J TT J TT
C
C C C C
K K K K

Նկար 4.26
Եթե տրիգերների J և K մուտքերին տրված է ''1'', ապա հաշվող
մուտքը կլինի C մուտքը (տրիգերը դառնում է ասինխրոն տրիգեր ):
Հանող հաշվիչի սխեման TB6 միկրոսխեմների վրա բերված է նկար
4.27-ում:
20 21 22 23
‘1’ ‘1’ ‘1’ ‘1’
S TT Q0 S TT Q1 S TT Q2 S TT Q3
J j j j
C C C C C
K K K K

R R R R

Reset
Նկար 4.27
Վիճակների փոփոխման հաջորդականությունը:
Q3 Q2 Q1 Q 0
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
.
82
.
.
0 0 0 1
Հանող հաշվիչի ժամանակային դիագրամը ( նկար 4.28):
C

1 2 3 4 5 6 7
Q0

Q1

Q2

Q3

Նկար 4.28
Զուգահեռ հաշվիչներ

Ի տարբերություն հաջորդական հաշվիչների՝ զուգահեռ հաշվիչ-


ներում բոլոր տրիգերների վիճակները փոփոխվում են միաժամանակ:
0 0 0 0

0 1 1 1 2
1
3
1 1
1 1 1
7 6 5 4

0 0 0 0

Նկար 4.29
Զուգահեռ հաշվիչներին բնորոշ է մեծ արագագործություն, որով-
հետև բոլոր կարգերը փոխանջատվում են միաժամանակ:
Դիտարկենք 8 հաշվի մոդուլով երկուական գումարող հաշվիչի
կառուցումը:
Հաշվիչը իրականացման համար պահանջվում է n = log2 8 = 3
83
տրիգերներ: Տրիգերների ելքերը նշանակենք Q 2, Q1, Q0: Հաշվիչի վի-
ճակների հաջորդականությունը բերված է ստորև:
Q2 Q1 Q0
0 0 0 Բացի 111 վիճակից մնացած բոլոր վի-
0 0 1 ճակների համար բնորոշ է հետևյալը ‘
0 1 0 հերթական ազդանշան ստանալու դեպ-
0 1 1 քում հաշվիչի պարունակությունը մեծա-
1 0 0 նում է 1 – ով: Եթե հաշվիչը գտնվում է
1 0 1 111 վիճակում, ապա հերթական ազդա-
1 1 0 նշանի դեպքում, այն ընկնում է 000 վի-
1 1 1 ճակ:

Տրիգերի մուտքերը նշանակենք ‘


J0,K0 – առաջին տրիգեր, J1,K1 - երկրորդ տրիգեր, J2,K2 - երրորդ
տրիգեր:
Սխեմայի կառուցման համար անհրածեշտ է որոշել, թե ինչ բուլյան
ֆունկցիաներ են ստացվելու J0,K0,J1,K1,J2,K2 տրիգերների մուտքերին,
որպեսզի ապահովվի հաշվիչի ճիշտ աշխատանքը: Այդ ֆունկցիաները
կոչվում են գրգռման ֆունկցիաներ, որոնք որոշվում են այսպես ‘
Համեմատելով տրիգերի վիճակի փոփոխումները i և i+1 տողերում,
օգտվելով J K – տրիգերի անցումների մատրիցից, գրենք ֆունկցիաների
արժեքները Ji K i սյուներում:

J K Qt Qt+1 J K
0 0 0 0 00 0 --
0 0 1 1 01 1 --
0 1 0 0 10 -- 1
0 1 1 0 11 -- 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Աղյուսակ 24
Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 -- 0 -- 1 --
0 0 1 0 -- 1 -- -- 1
84
0 1 0 0 -- -- 0 1 --
0 1 1 1 -- -- 1 -- 1
1 0 0 -- 0 0 -- 1 --
1 0 1 -- 0 1 -- -- 1
1 1 0 -- 0 -- 0 1 --
1 1 1 -- 1 -- 1 -- 1

Մինիմացումը կատարում ենք Կառնոյի քարտերի միջոցով:


Q1 Q1

00 01 11 10 00 01 11 10
0 1 0 - - - -
Q2 1 - - - - Q2 1 1
Q1 Q0 Q1 Q0

00 01 11 10
0 1 - - 00 01 11 10
Q2 0 - - 1
1 1 - - Q2
1 - - 1
Q0
Q0
Q1 Q1

00 01 11 10 00 01 11 10
0 1 - - 1 0 - 1 1 -
Q2 1 1 - - 1 Q2 1 - 1 1 -

Q0 Q0

J2=K2=Q0Q1 J1=K1=Q1 J0=K0=1


TB9 միկրոսխեմների վրա կառուցված եռակարգ երկուական զուգահեռ
հաշվիչի սխեման պատկերված է նկար 4.30 -ում:

”1” Q0 ”1” Q1 ”1” Q2


S T S T S T

J J J
C C C
85 K
K K
R R R

Reset
CLK
Նկար 4.30

Տեղաշարժող ռեգիստրների հիման վրա կառուցված հաշվիչներ


Օղակաձև հաշվիչներ
Օղակաձև հաշվիչները կառուցվում են տեղաշարժող
ռեգիստրների վրա վերջին տրիգերի ուղիղ ելքը առաջին տրիգերի
ինֆորմացիոն մուտքին միացնելու միջոցով: TM2 միկրոսխեմների
հիման վրա կառուցված քառակարգ օղակաձև հաշվիչի սխեման
պատկերված է նկար 4.31-ում:
Այս հաշվիչը տեղակայվում է S0 = 1000 սկզբնական վիճակում
բացասական բևեռության իմպուլսով, որը գալիս է Preset գծալարին:

S0 S1 S2
S T Q0 S T Q1 S T Q2 S T Q3
S3
D D D D
C C C C

R R R R

Preset

CLK

86
Նկար 4.31
CLK մուտքին սինխրոազդանշանի տրվելու դեպքում վիճակների
փոփոխման հերթականությունը հետևյալ տեսքն ունի՝
Q0Q1Q2Q3
S0 1 0 0 0
n կարգանի օղակաձև
S1 0 1 0 0 հաշվիչը n վիճակներ ունի՝
S2 0 0 1 0
S3 0 0 0 1
Քանի որ, վիճակները կոդավորում են ունիտար կոդով, ապա
վիճակների վերծանիչ չի պահանջվում:

Ջոնսոնի հաշվիչ
Ջոնսոնի հաշվիչը կառուցվում է օղակաձև ռեգիստրից վերջին
տրիգերի ժխտված ելքը առաջին տրիգերի ինֆորմացիոն մուտքին
միացնելու միջոցով: Քառակարգ Ջոնսոնի հաշվիչի սխեման
պատկերված է նկար 4.32 -ում:

S T Q0 S T Q1 S T Q2 S T Q3
D D D D

C C C C
R R R R
Reset
CLK

Նկար 4.32
Այս հաշվիչը տեղակայվում է S0 = 0000 սկզբնական վիճակը
բացասական բևեռության իմպուլսով, որը տրվում է Reset գծալարին :
Վիճակների փոփոխման հերթականությունը՝
Վիճակների վերծանումը
Q0Q1Q2Q3 իրագործվում է
S0 0 0 0 0 երկմուտքանի “ԵՎ”
S1 1 0 0 0 սխեմաների միջոցով
S2 1 1 0 0
S0=Q0Q3 S4=Q0Q3
87
S1=Q0Q1 S5=Q0Q1
S2=Q1Q2 S6=Q1Q2
S3=Q2Q3 S7=Q2Q3
S3 1 1 1 0
S4 1 1 1 1
S5 0 1 1 1
S6 0 0 1 1
S7 0 0 0 1

Խաչաձև հակադարձ կապով n կարգանի ռեգիստների վիճակ-


ների քանակը հավասար է 2 n: Կենտ թվով վիճակներ ունեցող հաշվիչի
կառուցման համար անհրաժեշտ է վիճակներից մեկը բացառել:
Կառուցել Ջոնսոնի հաշվիչը 7վիճակների համար, բացառելով 1111
վիճակները, այսինքն S3 վիճակից հաշվիչը պետք է անցնի S5 վիճակ,
առաջին տրիգերի D0 գրգռման ֆունկցիան կախված կլինի Q2 և Q3
վերջին երկու տրիգերներից: 00 հավաքածոյի համար D 0 մուտքին պետք
է գա “1” ազդանշան, իսկ բոլոր ուրիշ հավաքածոների համար D 0
մուտքին կներմուծվի “0”: Հետևաբար D0 = Q2 Q3 :
7 վիճակների համար հաշվիչի սխեման պատկերված է նկար 4.33-
ում:

S T Q0 S T Q1 S T Q2 S T Q3
& D D D D

C C C C
R R R R
Reset
CLK

Նկար 4.33

Գծային հետադարձ կապով տեղաշարժող ռեգիստրներ

Գծային հետադարձ կապով տեղաշարժող ռեգիստրները


(պոլինոմիալ հաշվիչներ) օգտագործվում են թվային սարքերի

88
տեստային ախտորոշման համակարգերում, որպես պատահական
թվերի գեներատոր, և այլ ուրիշ դեպքերում:
Տեղաշարժող գծային ռեգիստր (գծային ավտոմատ) է համարվում
ռեգիստրը, որը կառուցված է միայն D տրիգերների և “Կամ բացառող”
(ըստ 2 mod գումարման) սխեմաների վրա: Բոլոր տրիգերների գրգռման
ֆունկցիաները գծային են: Որպես օրինակ դիտարկենք նկար 4.34-ում
պատկերված սխեման:

S T Q0 S T Q1 S T Q2 S T Q3
=1 D D D D

C C C C
R R R R
Preset

CLK

Նկար 4.34
Սխեմայի սկզբնական վիճակն է 1000: Սինխրոազդանշանի
գործելու դեպքում վիճակների փոփոխման հերթականությունը
հետևյալն է՝
Q0Q1Q2Q3 Q0Q1Q2Q3
S0 1 0 0 0 S8 1 0 1 0
S1 0 1 0 0 S9 1 1 0 1
S2 0 0 1 0 S10 1 1 1 0
S3 1 0 0 1 S11 1 1 1 1
S4 1 1 0 0 S12 0 1 1 1
S5 0 1 1 0 S13 0 0 1 1
S6 1 0 1 1 S14 0 0 0 1
S7 0 1 0 1 S0 1 0 0 0
15-րդ իմպուլսի ներմուծելուց հետո հերթականությունը
կրկնվում է:

89
5. ԹՎԱԲԱՆԱԿԱՆ – ՏՐԱՄԱԲԱՆԱԿԱՆ ՍԱՐՔԵՐ ( Թ Տ Ս)

ԹՏՍ-ում կատարում է թվաբանական և տրամաբանական գործո-


ղություններ մուտքային տվյալներով: Ըստ տվյալների տեսակներից
ԹՏՍ-ները լինում են ամբողջ թվերի, սահող ստորակետով և տասական:
Բազային թվաբանական գործողություններն են` գումարում, հանում,
բազմապատկում և բաժանում: Բազային հիմնական
տրամաբանական գործողություններն են՝ կարգային տրամաբանական
բազմապատկումը կոնյունկցիա, կարգային տրամաբանական
գումարում (դիզյունկցիա ), ըստ 2 mod գումարում ( ‘’կամ բացառող’’):
Հրամանների մակարդակի զուգահեռությունը օգտագործող
ժամանակակից պրոցեսորներում կա թվաբանական սարքի մեծ
հավաքածու, որոնք հաճախ կոչվում են կատարող կամ օպերացիոն
սարքեր:
Օպերացիոն սարքեր (ՕՍ)
ՕՍ–ը հարմար է ներկայացնել ինչպես երկու սարքերի
(ավտոմատների) ‘ օպերացիոն ավտոմատի (ՕԱ) և ղեկավարող ավտո-
մատի (ՂԱ) համագործակցություն:

Di Գործող.
հայցում
X

ՕԱ Y ՂՍ

D0 Ավարտման
ազդանշան
Նկար 5.1
ՕԱ - ի մուտքային ազդանշաններն են ՂԱ - ի ելքայինները և հա-
կառակը:
ՕԱ իրենից ներկայացնում է ռեգիստրների, կոմբինացիոն սխեմա-
ների (գումարիչներ, մուլտիպլեքսորներ և այլն) և նրանց միջև ինֆոր-
մացիայի փոխանցման ղեկավարող շղթաների հավաքածու:
Ինֆորմացիայի ձևափոխումը կատարվում է ՕԱ-ում ՂՍ–ի

90
ղեկավարմամբ: ՕՍ–ի աշխատանքի մեկ տակտում կատարված
ինֆորմացիայի էլեմենտար ձևափոխումը կոչվում է միկրոօպերացիա
ՄՕ: Օպերացիոն սարքի բոլոր հրամանների կատարման ՄՕ–ի
ենթաբազմությունը իրագործված է ՕԱ-ում: ՂԱ-ն առաջացնում է
ղեկավարող ազդանշանների հաջորդականություն, որոնք թույլատրում
են դիսկրետ ժամանակի ցանկացած պահերին որոշակի ՄՕ
կատարումը: Միաժամանակ կատարվող ՄՕ բազմությունը կոչվում է
միկրոհրաման ( ՄՀ) :
Միկրոօպերացիաների դասակարգումը
Բոլոր ՄՕ–ները կարելի է բաժանել հատևյալ խմբերի ‘
1. Փոխանցման ՄՕ
RA := RB
A ռեգիստր է փոխանցվում B ռեգիստրի պարունակությունը:
2. Ռեգիստրում հաստատունի գրանցման ՄՕ
RA := Const RA := 8
3. Գումարման ՄՕ
SM : = RA + RB կոմբինացիոն գումարիչի համար
SM : = SM + RA կուտակող գումարիչի համար
4. Տեղաշարժող ՄՕ
SR ( Shift Rigth) տեղաշարժ աջ
SL ( Shift Left) տեղաշարժ ձախ
RB : = SR RA ( n)
RB ռեգիստրում գրանցվում է RA–ի պարունակությունը
տեղաշարժված n կարգով աջ:
5. Հաշվի ՄՕ
CT : = CT  , որտեղ  ինկրեմենտի կամ դեկրեմենտի արժեքն
է:
6. Հիշողություն ինֆորմացիայի գրանցման կամ ընթերցման ՄՕ
Միկրոծրագիր է կոչվում միկրոհրամանների հաջորդականություն,
որոնց կատարման ժամանակ իրագործվում է գործողությունների
ալգորիթմ:
Ամբողջ թվերով Թ Տ Ս
Գումարման / հանման գործողությունների կատարման ՕՍ
ԹՏՍ-ի կառուցվածքային սխեման ներկայացված է նկար 5.2-ում:
RA -- A օպերանդի ռեգիստր,
RB -- B օպերանդի ռեգիստր,

91
RC -- C ռեգիստր, ուր կգրանցվի արդյունքը:
Համարենք, որ օպերանդները ներմուծված են RA և RB ռեգիս-
տրներ, ընդ որում բացասական թվերը ներկայացված են լրացուցիչ
կոդով:
1. Գումարում C = A + B
Գումարման միկրոծրագիրը ` Y1: SM : =RA + RB Y2: RC : = SM

RA y1 RB

SM y3 y3

y2

RC

Նկար 5.2
Y1 – A և B օպերանդների գումարունը թույլատրող ղեկավարող
ազդանշան: Y2 - RC ռեգիստորում գումարի գրանցումը թույլատրող
ղեկավարող ազդանշան:
2. Հանում C = A – B
Հանման միկրոծրագիր ‘ Y3 : SM : = RA +  RB + 1 ( Co = 1 )
Y2 : RC : = SM
Y3` հանման գործողությունը թույլատրող ազդանշանն է:
Օպերացիոն սարքի աշխատանքի բլոկ-սխեման ներկայացված է
նկար 5.3-ում:
Գումարման և հանման գործողությունների կատարման
ընթացքում կարող է առաջանալ գերլցում` իրավիճակ, երբ արդյունքը
դուրս է գալիս միջակայքի սահմաններից: Նշանով n-կարգանի ամբողջ
թվերի միջակայքը -2n-1  2n-1-1( բացասական թվերը ներկայացվում են
լրացուցիչ կոդով): Եթե տեղի ունի գերլցում, ապա արդյունքը n+1
կարգանի է, քանի որ ծայրահեղ դեպքում 2(2 n-1 - 1) = 2n – 2:
Գերլցման հայտնաբերման համար օգտագործում են հետևյալ
մեթոդները`
92
1. Մոդիֆիկացված կոդ.
Գումարիչում թվի նշանի համար նախատեսված է երկու կարգ:00 և
11 տարբերակների դեպքում գերլցումը բացակայում է: Դրական թվերի
գերլցման ժամանակ նշանային կարգերում գոյանում է 01
կոմբինացիան, իսկ բացասական թվերի գերլցման ժամանակ` 10
կոմբինացիան:

Սկիզբ

Ոչ Ոչ
Գումարում Հանում

Այո Այո
SM:=RA+RB SM:=RA+RB+1

RC:=SM Վերջ

Նկար 5.3

Օրինակ 1` ` n =8 A = 64 B = 65
(A)2= 01000000; (B)2=01000001;
 00 1000000
00 1000001
01 0000001 Տեղի է ունենում դրական գերլցում:

Օրինակ 2` n =8 A = -107 B = -32


Aուղ = 1 1101011 Aլր = 1 0010101
Bուղ = 1 0100000 Bլր = 1 1100000
 11 0010101

93
11 1100000
10 1110101 Տեղի է ունենում բացասական գերլցում:
2. Գերլցումը (նշանակենք OVF - overflow) կարելի է որոշել
հետևյալ ձևով`
OVF = C  S, որտեղ C-- փոխանցում նշանային կարգից,
S—նշանային կարգի արժեքը
Այս դեպքում նշանային կարգը չի կրկնապատկվում: C,S և OVF
բիթերը սովորապես մտնում են դրոշակների ռեգիստրի կազմ:

Ամբոզջ թվերի բազմապատկում


Բազմապատկման գործողության ամենատարածված ձևն է
բազմապատկիչի փոքր կարգերից սկսած բազմապատկումը,
բազմապատկիչի և մասնակի արդյունքների գումարի տեղաշարժումով
դեպի աջ:
Օրինակ
+1011 Բազմապատկումը կատարվում է n տակտե-
1001 րում, որտեղ n – ը ‘ բազմապատկիչի կարգերի
1011 քանակն է: Յուրաքանչյուր տակտում վերլուծվուն
01011 է բազմապատկիչի փոքր կարգը:
+ 001011 Եթե նա հավասար է 1, ապա մասնակի արտադ-
1011 րյալի գումարին գումարվում է բազմապատկելին
1100011 Եթե բազմապատկիչի փոքր կարգը հավասար է 0,
ապա գումարվում է 0, հետո բազմապատկիչը և մասնակի արտադրյալի
գումարը տեղաշարժվում է 1 կարգ դեպի աջ: Ապա նորից վերլուծվում է
բազմպատկիչի փոքր կարգը և այլն: Այս գործողությունը կատարվում է
n անգամ:
Բազմապատկման գործողության կառուցվածքային սխեման
բերված է նկար 5.4-ում:

RA RB
Y3
Y4

SM CT

Y2 Y1 Y3

RSM 94
Y3

Y1
Նկար 5.4
RA - բազմապատկելիի ռեգիստրը
RB - բազմապատկիչի ռեգիստրը
RSM – մասնակի արտադրյալների գումարի ռեգիստրը
CT – տակտերի հաշվիչը
Բազմապատկման ալգորիթմի բլոկ – սխեման
Սկզբում որոշվում, է կատարվում է արդյոք բազմապատկության
գործողություն, թե ոչ: Եթե ‘’այո ‘’, ապա RSM-ում և CT-ում գրանցվում
են համապատասխան 0 և n: Հետո ստուգվում են բազմապատկելին
կամ բազմապատկիչը հավասար չե՞ն արդյոք զրոյի: Եթե ‘’այո’’
արդյունքը հավասար է զրոյի:

95
êÏǽµ

àã
´³½Ù³å³ïÏáõÙ ?

²Ûá
RSM: = 0
CT: = n

²Ûá
(RA)V(RB) = 0 ? RB: = 0

àã

²Ûá
RB[0] = 1 ?

SM: = RSM+RA
RSM: = SM
àã

RB: = SR RB[1]
RSM: = SR RSM[1]
CT: = CT-1
àã
(CT) = 0 ?

²Ûá

ì»ñç

Նկար 5.5
Վերլուծվում է բազմապատկիչի RB[0] ցածր կարգը: Եթե հավասար
է 1, ապա RSM–ին գումարվում է բազմապատկելին (RA-ի

96
պարունակությունը ): Հետո RSM-ը և RB–ն տեղաշարժում ենք 1 կարգ
դեպի աջ, տակտերի հաշվիչից հանում ենք 1: Ապա ստուգվում է CT-ի
պարունակությունը: Եթե այն հավասար է 0, ուրեմն բազմապատկման
գործողությունը արդեն վերջացել է: Արդյունքի բարձր կարգերը
գտնվում են RSM-ում, իսկ փոքր կարգերը‘ RB-ում:

Ամբողջ թվերի բաժանում

Բաժանման գործողությունը համարվում է առավել բարդ գործո-


ղություն: Գոյություն ունի բաժանման երկու մեթոդ. մնացորդի
վերականգնամբ և առանց մնացորդի վերականգնման: Երկու դեպքում
էլ պետք է որոշել բաժանման գործողության տակտերի քանակը (կամ
քանորդի նիշերի քանակը):
Ենթադրենք անհրաժեշտ է որոշել C=A/B: Բաժանման ալգորիթմը
հետևյալն է.
Համեմատենք A և B թվերը: Եթե AB, ապա բաժանումը
կատարվում է մեկ տակտում: Եթե AB, ապա ալգորիթմի կատարման
տակտերի քանակը որոշելու համար B բաժանարարը այնքան ենք
տեղաշարժում դեպի ձախ, մինչև չհամնկնեն բաժանելիի և
տեղաշարժված բաժանարարի բարձր կարգերի մեկերը: Այս
գործողությունը կոչվում է բաժանարարի նորմալացում, որից հետո
ստանում ենք նորմալացված բաժանարար (Bն): Բաժանարարի
տեղաշարժը k թիվը մեծացրած 1-ով որոշում է քանորդի կարգերի
քանակը, այսինքն բաժամնան տակտերի թիվը: Ապացուցենք:
Բաժանելով նորմալացված բաժանարարի վրա ստանում ենք
քանորդ Cն=A/Bն և C=Cն x 2k:
Դիտարկենք բոլոր հնարավոր դեպքերը:
1. A=Bն Cն=1
2. ABն Cն=1,c-1c-2… c-k
3. ABն Cն=0,c-1c-2… c-k
C քանորդը ստանալու համար նորմալիզացված քանորդում C ն
ստորակետը տեղափոխում ենք k կարգով դեպի աջ: Այստեղից երևում
է, որ քանորդի թվերի քանակը n=k+1: Քանորդի թվերը որոշում են A-ից
B-ի հաջորդաբար հանումներով:
A / Bն = c0 + c-12-1 +c-22-2 + . . . +c-k2-k կամ
A = Bն (c0 + c-12-1 + c-22-2 + . . . + c-k2-k)

97
A - Bն= Bն  c0 + Bն  c-1  2-1 + . . . + Bն  c-k  2-k – Bն:
Եթե A-Bն <0, ապա c0=0. Եթե A-Bն 0, ապա c0=1. A-Bն նշանակենք
R1 – սա առաջին մնացորդն է: Քանորդի հաջորդ c -1 որոշելու համար
բացասական մնացորդը վերականգնվում է նրան B ն գումարելու
միջոցով. R1=R1+Bն , դրական մնացորդը մնում է անփոփոխ: Հետո
մնացորդը կրկնապատկվում է և նրանից նորից հանվում է B ն:
R2=2R1–Bն : Եթե R 2  0, ապա c–1 =1: Եթե R2 0, ապա c–1 = 0:
Մնացորդի վերականգնմամբ բաժանման ալգորիթմը
1. Հերթական մնացորդից R i ( գործողության սկզբում դա A – ն է)
հանվում է Bն, ստանում ենք R'i= R i-Bն : Եթե R'i  0, ապա
ci=1, եթե R'i0, ապա ci = 0
2. Դրական մնացորդը կրկնապատկվում է , իսկ բացասականը
վերականգնվում է նրան B ն գումարելու միջոցով, հետո կրկնա-
պատկվում է: Ստանում ենք Ri+1=2Ri (եթե ci=0) կամ Ri+1=
2R'i(եթե ci=1)
3. Անցնում ենք առաջին կետին:
Բաժանման օրինակ՝ A = 101110 B = 000101
Որոշենք տակտերի քանակը: Տեղաշարժենք B-ն դեպի ձախ
այնքան, մինչև մեծ կարգում 1-ի հայտնվելը: Bն = 101000, k = 3, n = 4:
Քանի որ մնացորդի կրկնապատկման ժամանակ հնարավոր է լինի
գերլցում, թվի նշանի համար վերցնենք 2 կարգ:
A = 00 101110
B = 00 101000
(Bն) լր = 11 011000
00 101110
11 011000
c3 =1  00 000110
00 001100
+ 11 011000

c2 = 0  11 100100
00 101000
00 001100
00 011000
+ 11 011000

c1 = 0  11 110000
00 101000
00 011000
98
+ 00 110000
11 011000
c0 = 1  00 001000 տեղաշարժ դեպի աջ 3 կարգով,
00 000001 քանի որ k = 3
C = 1 0 01, մնացորդը R = 1:
Քանորդի մնացորդը ստանում ենք վերջին մասնակի մնաղորդը
տեղաշարժելով k = 3 անգամ դեպի աջ: Եթե վերջին մասնակի
մնաղորդը բացասական է նրան վերականգնում են՝ դրան գումարելով
Bն:
Առանց մնացորդի վերականգնման բաժանման ալգորիթմը
Մնացորդի վերականգնումով բաժանման գործողությունը
պահանջում է կատարել մեծ թվով գումարման գործողություններ:
Իրականում օգտագործվում է մեկ ուրիշ, ավելի արագ կատարվող
բաժանման ալգորիթմ ՝ առանց մնացորդի վերականգնման: Այս
դեպքում բաժանումը կատարվում է հետևյալ ձևով’
1. Վերլուծության է ենթարկվում հերթական կրկնապատկված
մնացորդի R i - 1 նշանը ( գործողության սկզբում դա A - ն է):
Եթե R i –1  0, ապա նրանից հանվում է B ն ( այսինքն
գումարվում է (B ն ) լր ) : Եթե R i – 1  0,ապա նրան գումարվում է
B ն: Ստանում ենք նոր մնացորդ՝ R i :
2. Եթե R i 0, ապա քանորդի հերթական թիվը հավասար է 1, հա -
կառակ դեպքում հավասար է 0:
3. Մնացորդը կրկնապատկվում է, R i = 2 R i : Այնուհետև վերա -
դառնում ենք կետ1, և նորից շարունակում կատարել գործողու
- թյունը n = k + 1 անգամ:
Օրինակ ‘
A = 00 011001
B = 00 000011
Կատարում ենք բաժանարարի նորմալիզացիա: Տեղաշարժենք K
= 3 կարգով դեպի ձախ, մինչև չհամընկնեն նույն դիրքային կարգում A
և B թվերի առաջին մեկերը : Նշանի համար օգտագործում ենք 2 կարգ:
Bն = 00 011 000 ( Bն ) լր = 11 101000
+ 00 011001

11 101000
c3 = 1  00 000001
+ 00 000010

11 101000
99
c2 = 0  11 010100
11 101000
+ 00 011000

c1 = 0  11 101100
11 011000

00 011000
c0 = 00 11 110000
+ 00 011000
տեղաշարժ դեպի աջ 3 կարգով,
00 001000 քանի որ k = 3

C = 1 0 0 0, Մնացորդը R = 1:

Ամբողջ թվերի բաժանման գործողության օպերացիոն սարք


Առանց նշանի ամբողջ թվերի բաժանման գործողության օպերա-
ցիոն սարքի կառուցվածքային սխեման պատկերված է նկար 5.6 – ում:
Գործողության սկղբում բաժանելին A - ն գրանցվում է RSM, իսկ
բաժանարարը B – ն RB ռեգիստրում: RC –ն ‘ արդյունքի ( քանորդի)
ռեգիստորն է : CT ‘ բաժանման տակտերի հաշվիչն է , CT1-ը մնացորդի
տակտերի որոշման հաշվիչը: Գործողության կատարման վերջում
քանորդը գրանցվում է RC, իսկ մնացորդը RSM – ում:
B

RB

CT1
SM
A
CT2

RSM

RC
Նկար 5.6
100
Բաժանման ալգորիթմի բլոկ – սխեման

Առանց մնացորդի վերականգնման բաժանման ալգորիթմի բլոկ-


սխեման ներկայացված է նկար 5.7-ում:

C Սկիզբ

այո ոչ
Մնաց. Բաժան ? ոչ
0
այո
SM: = RSM + SM: = RSM +
+  RB +1 + RB RC : = 0
CT : = 0

ոչ այո
RSM : = SM (RB )= 0?

RSM: = SL RSM ( 1 ) SM: = RSM +


RC(0): =RSM(n+1) Ընդհատում
+  RB + 1
RC: = SL RC (1);
CT:=CT-1

ոչ RSM: = SM
(CT)=0 ?

այո C
այո
Մնաց.0 ? SM: =RSM +RB
Մնաց.0
? ոչ
այո ոչ

SM: =RSM +RB SM: = RSM + RB +1

101 RSM: = SM

RSM: = SM RSM: = SM

A B Վերջ
A B

RSM : =
= SR RSM (1)
այո Համըկն. RA և ոչ
CT: = CT1 –1 RB – ի ձախից
առաջի մեկերը

CT1: = CT
(CT)=0? RB: = SL
ոչ
RB(1)
այո CT: = CT
CT: = CT +1
+1
Վերջ
C

Նկար 5.7

Սահող ստորակետով ներկայացված թվերով թվաբանական


գործողություններ

102
Ենթադրենք տրված է երկու թիվ A=2 PAĒMA և B=2PBĒMB :
Դիտարկենք գումարման գործողության կատարումը, քանի որ հանման
գործողության ժամանակ փոխվում է միայն երկրորդ օպերանդի նշանը
և կատարվում է գումարում:
Գումարել (կամ հանել) կարելի է միայն այն թվերը, որոնց
կարգաթվերը հավասար են: Այս պատճառով կարգաթվերը
համեմատում են և, եթե նրարնք հավասար են, ապա արդյունքի
կարգաթիվը հավասար կլինի PA կամ PB կարգաթվին, իսկ մանտիսը`
MC=MA+MB : Եթե կարգաթվերը հավասար չեն, ապա արդյունքի P C
կարգաթիվը հավասար է լինում A և B թվերի PA և PB կարգաթվերից
ամենամեծին, իսկ փոքր կարգաթվով թվի մանտիսը տեղաշարժվում է
աջ, կարգաթվերի տարբերությանը հավասար k կարգով, որի
հետևանքով փոքր թվի մանտիսի վերջին k կարգերը կարող են կորչել:
Այսքանից հետո նոր մանտիսները գումարվում են:
Բազմապատկման ժամանակ թվերի մանտիսները բազմա-
պատկվում են, իսկ կարգաթվերը գումարվում:
Երկու թվերի բաժանման դեպքում թվերի մանտիսները բաժանվում
են, իսկ նրանց կարգաթվերը իրարից հանվում :
Գործողությունների կատարումը ներկայացնվում է հետևյալ
աղյուսակով`
Աղյուսակ 25
Թվեր Գործողություններ
A=2PAĒ MA C = A + B = (MA Ē 2PA–PB + MB)  2PB PA ≤ P B
PB PA–PB PB
B=2 Ē MB C = A - B = (MA Ē 2 + MB) Ē 2
C=AĒ B = 2PA+PB (MAĒ MB)
C=A / B = 2PA–PB (MA / MB)

Ղեկավարող սարքեր (Ղ Ս)
Ղեկավարող սարքը (ղեկավարող ավտոմատ) ապահովում է
ղեկավարող ազդանշանների հաջորդականություն, որոնց
ազդեծության տակ օպերացիոն ավտոմատում կատարվում են միկրո-
օպերացիաներ:
Կա ղեկավարող ավտոմատի իրագործման 2 մեթոդ ապարա-
տային և միկրոծրագրային: Ապարատային իրագործման ժամանակ
ղեկավարող ազդանշանները անմիջապես հանվում են տրամաբանա-
կան սխեմաների ելքերից: Միկրոծրագրային իրագործման ժամանակ

103
օգտագործում են հատուկ հիշող սարք ( ՄՀՍ կամ ROM ), որտեղ պահ-
վում են օպերացիոն սարքի կողմից իրագործվող գործողությունների
միկրոծրագրեր( կոդավորված տեսքով ):
Գործողություն կատարելու ժամանակ միկրոհրամանները
ընթերցվում են մշտական հիշող սարքից ( ՄՀՍ), որի ելքերից ՕԱ են
գալիս ղեկավարող ազդանշանները:
Ապարատային իրագործման առավելությունները’ բարձր արագա-
գործություն և ցածր արժեք, իսկ թերությունը’ փոփոխությունների կա-
տարման դժվարությունները, ապարատային ղեկավարող սարքի սխե-
ման էապես կախված է իրագործվող ալգորիթմից: Արժե նշել, որ նա-
խագծման ժամանակակից միջոցների օգտագործման պայմաններում
այս թերությունները դառնում են ոչ էական:
Միկրոծրագրային իրագործման առավելությունն է այն, որ ղեկա-
վարող սարքի սխեման քիչ է կախված իրագործվող ալգորիթմից,
նախագծման ընթացքում հնարավոր է կատարել փոփոխություններ:
Թերությունն է ավելի փոքր արագագործություն ( համեմատած
ապարատային իրագործման հետ), որը կախված է ՄՀՍ դիմելու հետ և
բարձր արժեքը, որը կրկին կախված է ՄՀՍ – ի հետ:

Ապարատային ղեկավարող սարք

Ապարատային ղեկավարող սարքի ֆորմալ մոդել է համարվում


ավտոմատը, որը ներկայացվում է { X, Y, S, ,  } հնգյակի օգնությամբ,
որտեղ’
X և Y ավտոմատի մուտքային և ելքային այբուբեններն են
համապատասխանաբար,
S - ավտոմատի վիճակների բազմությունն է,
 - ավտոմատի անցումների ֆունկցիան ,
 - ավտոմատի ելքային ֆունկցիան:
Դիտարկենք ապարատային ղեկավարող սարքի կառուծվացքը
բազմապատկման սարքի օրինակով նկ. 5.4 : Կատարենք անցում ալգո-
րիթմի բլոկ - սխեմայից դեպի ավտոմատի գրաֆին: Մուտքային
այբուբենը որոշելու համար յուրաքանչյուր պայմանական բլոկին հա-
մապատասխանեցնում են X i մուտքային ազդանշանը, ընդ որում նույն
բլոկին միևնույն մուտքային ազդանշանը: Ելքային այբուբենը որոշելու
համար յուրաքանչյուր օպերատորային գագաթին համադրում են Y j

104
ելքային ազդանշաններ, ընդ որում նույն բլոկին միևնույն ելքային
ազդանշանները:
Մուտքային ազդանշաններ’
X1 -- բազմապատկում ?
X2 -- ( RA) V ( RB ) = 0 ?
X3 -- RB [ 0 ] =1 ?
X4 -- ( CT ) = 0 ?
Ելքային ազդանշաններ’
Y1 : RSM:= 0; CT: = n; Y3 : SR RB [1]; SR RSM [1]; CT:=CT-1;
Y2 : RSM: = SM; Y4 : RB:=0;
Ավտոմատի վիճակների բազմությունը որոշելու համար
կատարում են ավտոմատի վիճակների գրաֆի նշանադրում:
Միլի ավտոմատին անցնելու համար սկզբնական գագաթը
նշանակում են S0: Ապա բոլոր օպերատորային գագաթները նշանակում
են S1, S2 և այլն:

S0 Սկիզբ

S0

X1
0
1

S1 Y1,
S1
1
X2 Y4 S4

X3 105 0

S2 Y2
S2

S3 Y3
S3 S0
0 1
X4 Վերջ
S0
Նկար 5.8
Եթե մի քանի օպերատորային գագաթների ելքերը դառնում են
միևնույն գագաթի մուտքեր, ապա դրանք նշանակվում են նույն S i
վիճակով: ելքային գագաթը նույնպես նշանակում են S 0 վիճակով:
Մուրի ավտոմատին անցնելու համար սկզբնական և վերջնական
վիճակները նշանակում են S0 , հետո բոլոր օպերատրային գագաթները
նշանակում են S1 , S2 նշաններով:
X = {X1 X2 X3 X4 } , Y = { Y1,Y2 ,Y3 Y4 }
Միլի ավտոմատի համար’
S = { S 0 S1 S2 }
Մուր ավտոմատի համար’
S = { S 0 S1 S2 S3 S4 }
Ալգորիթմի բլոկսխեման նշանադրումից հետո անցնում ենք երկրորդ`
ավտոմատի գրաֆի կառուցման փուլ:
Միլի ավտոմատին անցման ժամանակ, յուրաքանչյուր վիճակին
համապատասխանեցվում է գրաֆի գագաթը: Եթե Si նշանակումից Sj
նշանակումը ճանապարհը անցնում է միայն Yk օպերատորային գագաթով
, ապա կնշանակի որ, ունենք անցում Si վիճակից Sj վիճակ, որի
դեպքում տրվում է Yk ելքային ազդանշան:
Եթե Si -ից Sj ճանապարհին չկա պայմանական գագաթներ,
հետևաբար անցումը Si -ից Sj տեղի կունենա ավտոմատի ելքային

106
ազդանշանների ցանկացած համադրության դեպքում: Համապատսխան
կողը նշանակենք 1 ազդանշանով(կամ սինխրոազդանշանով):
Եթե Si ից Sj ճանապարհին կան պայմանական գագաթներ, ապա
Si - ից Sj անցման ֆունկցիան կհավասարվի հետևյալ կոնյուկցիային.

1, եթե ,ելք “1”


Xmem Xpep . . .Xqeq , երբ em =
0, եթե ,ելք “0”

Xmem = Xm, եթե m=1.


Xm, եթե m=0.

Համապատասխան կողը նշանակում ենք կոնյուկցիայով և ելքային


ազդանշանով:
Մուռի ավտոմատին անցման ժամանակ անցումների ֆունկցիան
որոշվում է նույն կերպ: Ելքային ազդանշանները նշանակվում են
ավտոմատի գագաթներին:

Միկրոծրագրավորող ղեկավարող սարք

Միկրոծրագիր է կոչվում այն միկրոօպերացիաների և միկրոհրա-


մանների հաջորդականությունը, որոնք համապատասխանում են որևէ
գործողության կատարման ալգորիթմին:
Միկրոծրագրային իրագործման ժամանակ միկրոծրագրերը
պահվում են հատուկ ՄՀՍ – ում( ROM): Յուրաքանչյուր գործողությանը
համապատասխանում է միկրոծրագիր, որը զբաղեցնում է հիշողության
որոշակի մաս: Ընդհանուր դեպքում միկրոծրագրային ղեկավարող
սարքի կառուցվածքը բերված է նկար 5.9 -ում:

Միկրոծրա ՄՀ1
Միկրոհրամ.

Գ
ռեգիստր
հասցեի

գրի սկզբ. ՄՀ2


Կ հասց. ձե-
վավորման
սխեմա

107 ՄՀՌ Y X հասցե

Դեպի ՕԱ ղեկա-
վարող ազդա-
նշաններ
Հաջորդ ՄՀ
հասցեի
ՕԱ-ից ձևավորման
տրամաբանակա սխեման
ն պայմաններ
Նկար 5.9
Ղեկավարող սարքը աշխատում է հետևյալ ձևով: ՄԾ – ի
կատարման սկզբում գործողության կոդին համաձայն միկրոծրագրի
սկզբնական հասցեի ձևավորման սխեմայի ելքում կգտնվի ՄԾ – ի
սկզբնական հասցեն: Այդ հասցեով կընթերցվի առաջին միկրոհրամանը
ՄՀՍ–ից միկրոհրամանների ռեգիստր (ՄՀՌ): Միկրոօպերացիան
վերծանվում և ուղարկվում է ՕԱ ղեկավարող ավտոմատ, որպես
ղեկավարող ազդանշաններ: Հետո հաջորդ միկրոհրամանի հասցեի
ձևավորող սխեման ՕԱ - ից մուտքային ազդանշանների հիման վրա
ձևավորում է հաջորդ միկրոհրամանի հասցեն, որը նրա ելքից
գրանցվում է միկրոհրամանի հասցեի ռեգիստր: Այս
գործողությունները կրկնվում են այնքան, մինչև չկատարվի ողջ
միկրոծրագիրը: Հաջորդ միկրոծրագրի կատարումը սկսվում է, երբ
գրանցվում է նոր գործողության կոդ: Ընդհանրապես միկրոհրամանն
ունի հետևյալ տեսքը’

Y X A0 A1

Y – միկրոօպերացիայի դաշտ, որոշում է տվյալ պահին կատար-


վող միկրոօպերացիան: X – տրամաբանական պայմանի դաշտ, որը
ստուգվում է միկրոօպերացիայի կատարումից հետո: A0 –
տրամաբանական պայմանը չկատարվելու դեպքում հաջորդ

108
միկրոօպերացիայի հասցեն: A1 -- տրամաբանական պայմանը
կատարման դեպքում հաջորդ միկրոօպերացիայի հասցեն:

Միկրոօպերացիաների կոդավորում
Միկրոօպերացիաների կոդավորման համար պահանջվող
կարգերի n թիվը որոշվում է հետևյալ բանաձևով’
[ log2 M ]  n  M
որտեղ’ M– ն տարբեր միկրոօպերացիաների թիվն է:
1. Հորիզոնական կոդավորում
Այս դեպքում Y դաշտում յուրաքանչյուր միկրոօպերացիային
տրամադրվում է 1 բիթ: Yդաշտի կարգերի քանակը հավասար է
տարբեր միկրոօպերացիաների քանակի առավելագույն թվին ( max):
n = n max = M
Հորիզոնական կոդավորման թերությունն է. եթե M-ն մեծ է, ապա
կարգերի քանակը շատ է: Առավելությունը’ միկրոհրամանների
զուգահեռ կոդավորման հնարավորությունը:
Հորիզոնական կոդավորումով միկրոհրամանի ֆորմատը’

Y1 Y2 Y3 .... Yn X Հասցեի մաս

2.Ուղղահայաց կոդավորում
Այս դեպքում Y դաշտի կարգերի թիվը նվազագույնն է:
nmin = [ log 2 M ]
( լոգարիթմից մեծ մոտակա ամբողջ թիվը ):
Թերությունը’ մեկ միկրոհրամանում մի քանի միկրոօպերացիա-
ների զուգահեռ կատարումը անհնար է: Առավելությունը’ միկրոօպերա-
ցիաների համար պահանջվող կարգերի թիվը նվազագույնն է:
3. Խառը կոդավորում
Սա կոմպրոմիսային տարբերակն է: Այս դեպքում բոլոր միկոօպե-
րացիաները բաժանվում են խմբերիայնպես, որ չկրկնվեն
միաշամանակ մեկ միկրոհրամանում:
Խառը կոդավորումով միկրոհրամանի ֆորմատը’

Y1 Y2 .... Yn X Հասցեի մաս

Դիտարկենք կոդավորման տարբեր մեթոդների օրինակ՝


Միկրոհրամանի գծային հատվածն է
109
1. Y1 ,Y2 ,Y3
2. Y1 , Y5
3. Y4
4. Y2 ,Y7
5. Y1 ,Y3 ,Y7
6. Y6
7. Y5
Հորիզոնական կոդավորման միկրոհրամանի ֆորմատը’

y1 y2 y3 y4 y5 y6 y7 y8

Հորիզոնական կոդավորված միկրոծրագիրրը հետևյալն է՝


1. 11100000
2. 10001000
3. 00010000 բիթերի քանակն է
4. 01000010 7 x 8 = 56 բիթ
5. 00000000
6. 00000001
7. 00001000
Ուղղահայաց կոդավորված միկրոծրագիրը’
n = log2 ( 8+1) =4
Կոդավորում ենք 8 միկրոօպերացիաներ և 1կոդ նախատեսում
ենք այն դեպքի համար, երբ միկրոօպերացիան բացակայում է:
Y1 = 0001 Y2 = 0010 Y3 = 0011
Y4 = 0100 Y5 = 0101 Y6 = 0110
Y7 = 0111 Y8 = 1000
0000 կոդը -- գործուղություն չկա
Միկրոծրագիր
1. 0001 8. 0110
2. 0010 9. 0001
3. 0011 10. 0011 Բիթերի քանակը
4. 0001 11. 0111 113 x 4 = 52 բիթ
5. 0101 12. 1000
6. 0100 13. 0101
7. 0010
Միկրոհրամանի ֆորմատը պատկերված է նկար 5.10 -ում:

110
Y

Վերծանիչ

Նկար 5.10
Խառը կոդավորումով մեթոդը կիրառելու դեպքում բաժանում ենք
բոլոր միկրոօպերացիաները անհամատեղելի հրամանների խմբերի:
Y1 = { y1 ,y4 ,y6 } Y2 = { y2 ,y5 ,y7 } Y3 = { y3 ,y6 }
Y1 Y2 Y3
y1 – 01 y2 – 01 y3 – 01
y4 – 10 y5 – 10 y6 – 10
y8 – 11 y7 – 11
գործող. գործող. գործող.
չկա - 00 չկա - 00 չկա - 00
Միկրոհրամանի ֆորմատը պատկերված է նկար 5.11 -ում:

Y1 Y2 Y3

D1 D2 D3

Նկար 5.11
Այս մեթոդով գրված միկրոծրագիրը ունի հետևյալ տեսքը
Y1 Y2 Y3
1. 01 01 01
2. 01 10 00 Բիթերի քանակն է
3. 10 00 00 6 x 7 = 42 բիթ
4. 11 01 00
111
5. 01 10 01
6. 00 00 10
7. 00 10 00
Ինչպես պարզվում է օրինակից հիշողության ամենափոքր ծա-
վալն է զբաղեցնում խառը մեթոդով կոդավորված միկրոծրագիրը, սա-
կայն պահանջվում է 3 հատ վերծանիչ: Ուղղահայաց կոդավորման
դեպքում պահանջվում է 1 վերծանիչ, բայց միկրոծրագիրը կատարվում
է 6 տակտ ավելի երկար: Հորիզոնական կոդավորման դեպքում վեր-
ծանիչ պետք չէ, բայց միկրոօպերացիայի կոդի ծավալն ամենամեծն է:
Տրամաբանական պայմանների կոդավորում
Միկրոհրամանի X դաշտը պարունակում է ստուգվող տրամաբա-
նական պայմանի կոդը: X դաշտի m կարգերի քանակը որոշվում է
բանաձևից m = [ log 2 M ], որտեղ M–ը միկրոծրագրում տրամաբա-
նական պայմանների քանակն է:

Միկրոծրագրում միկրոհրամանների հասցեավորումը


Հաջորդ միկրոհրամանի հասցեի որոշման համար. ընչպես
կանոն, օգտագործում են երկու մեթոդ’ ստիպողական և բնական
հասցեավորում:
Ստիպողական հասցեավորման դեպքում միկրոհրամանի
ֆորմատը հետևյալն է:

Y X A0 A1
Միկրոհրամանի հասցեական մասը պարունակում է 2 հասցե A0
և A1:
A0 – հաջորդ միկրոհրամանի հասցեն, տրամաբանական
պայմանի չկատարման դեպքում:
A1 - հաջորդ միկրոհրամանի հասցեն, տրամաբանական պայմա-
նի կատարվելու դեպքում:
Բնական հասցեավորման ժամանակ օգտագործվում են 2 տիպի
միկրոհրամաններ’ օպերացիոն և պայմանական, որոնց ֆորմատներն
են’
Օպերացիոն միկրոհրաման. Պայմանական միկրոհրաման.

P=0 Y P=1 X A

112
P կարգը որոշում է միկրոհրամանի տիպը: Եթե P = 0 օպերացիոն
միկրոհրաման է, եթե P = 1 ‘ պայմանական: Հասցեավորման այս
դեպքում միկրոհրամանները տեղավորվում են հիշողության
հաջորդական բջիջներում: Եթե պայմանական միկրոհրամանի
կատարման ժամանակ տրամաբանական պայմանը սխալ է, ապա
հաջորդ միկրոհրամանը ընտրվում է հիշողության հաջորդ բջջից: Եթե
ստուգվող տրամաբանական պայմանը կատարվում է, ապա հաջորդ
միկրոհրամանը ընտրվում է A հասցեով բջջից: Օպերացիոն
միկրոհրամանները գրավում են հիշողության հաջորդական բջիջներ:
Միկրոհրամանների ստիպողական հասցեավորման
կառուցվածքային սխեման

Սկզբնական հասցեից սկսած միկրոհրամանները ընտրվում են


ՄՀՍ – ից և գրանցվում միկրոհրամանի ռեգիստր: Կատարվում է
միկրոօպերացիայի վերծանում: Y դաշտում նշված
միկրոհրամաններին համապատասխանող ղեկավարող
աղդանշանները ուղարկվում են ՕԱ: Այստեղ կատարվում են
միկրոօպերացիաները: Ապա MX օգնությամբ X դաշտում կատարվում է
նշված տրամաբանական պայմանի միկրոհրամանի ստուգում:
Միաժամանակ տրամաբանական պայմանի (X դաշտի) կոդը
ներմուծվում է MX հասցեական մուտքերին, իսկ տրամաբանական
պայմանը ՕԱ - ից ‘ ինֆորմացիոն մուտքերին:
Եթե պայմանը կատարվում է, ապա ելքում կլինի ‘’1’’, եթե ոչ ‘ ‘’0’’:
F ելքը գալիս է հասցեի մուլտիպլեքսորի A մուտքին: Եթե A = 0
միկրոհրամանի հասցեի ռեգիստր է գալիս A0 հասցեն, իսկ եթե
A= 1, ապա A1 հասցեն:
գ ՄԾ սկզ
ռեգիստր
հասցեի

կ հասց.
ՄԾ – ի
ձևավ.
սխեմա հիշողություն
Խ
Ծ
Ը

Y X A0 Ը1

0 MS
DC
1
ՕԱ ղեկավ
ազդանշան I MS A
113
ՕԱ -ից
տրամ. A
պայմաններ
A

A
Նկար 5.12

Միկրոհրամանների բնական հասցեավորման


կառուցվածքային սխեման
Բնական հասցեավորման դեպքում միկրոհրամանները տեղ են
զբաղեցնում հիշողության հաջորդական բջիջներում, այդ պատճառով
սխեմայում միկրոհրամանի հասցեի ռեգիստրի փոխարեն
օգտագործվում է միկրոհրամանի հասցեի հաշվիչ:
Ընթացիկ միկրոհրամանները ընթերցվում են միկրոհրամանի
ռեգիստր: Եթե միկրոհրամանը օպերացիոն է, ապա P = 0 ազդանշանը
թույլատրում է միկրոօպերացիայի վերծանումը և կատարումը: Եթե
միկրոհրամաննը պայմանական է, ապա միկրօպերացիան չի
կատարվում, և սկսվում է տրամաբանական պայմանի ստուգման
աշխատանքը մուլտիպլեքսորի միջոցով:
Եթե ստուգվող պայմանը կատարվում է ( F = 1 ), ապա միկրո-
հրամանի հաշվիչի վրա է գալիս ճյուղավորման հասցեն: Եթե պայմանը
չի կատարվում, ապա այդ հաշվիչին գումարվում է 1: Օպերացիոն
միկրոհրամանը կատարվելուց հետո հաշվիչին գումարում են 1: Հետո
կատարվում է նոր միկրոհրամանի ընթերցում և այլն: Այս աշխատանքը
կատարվում է այնքան, մինչև չվերջանա ողջ միկրոծրագիրը:
Միկրոհրամանների բնական հասցեավորման կառուցվածքային
սխեման պատկերված է նկար 5.13- ուն:

գ ՄՀ-ի սկ.
Միկր. հասցեի

կ հասց.
ՄԾ – ի
հաշվիչը

ձրավ.
սխեման հիշողություն

114
ՕԱ -ից I
1 X A տրամ.
0 Y1 Y2 Y3 պայման- MS
YYYYY3YY4 ներ
YYYyY33Y3 A

ՕԱ W
ղեկավարող
ազդանշան
Նկար 5.13

Տրամաբանական գործողությունների կատարում

ԹՏՍ-ն նախատեսված է ոչ միայն թվաբանական, այլ նաև


կարգային տրամաբանական գործողություններ կատարելու համար:
Հիմնական տրամաբանական գործողությունների թվին են պատկանում
կարգային կոնյունկցիայի ( AND), դիզյունկցիայի (OR), ԿԱՄ
բացառող(XOR), համարժեքության (XNOR), ժխտման (NOT)
գործողությունները:
Նկար 5.14-ում պատկերված է AND, OR, XOR, XNOR (քառակարգ
օպերանդներ) տրամաբանական գործողություններ իրականացնող
սխեման:
Օպերանդները գտնվում են RA և RB ռեգիստրներում, իսկ
արդյունքը գրանցվում է RC ռեգիստրում: “ԵՎ” և ”ԿԱՄ” էլեմենտների
խմբերը օգտագործվում են բոլոր կարգերի դիզյունկցիաների և
կոնյունկցիաների ձևավորման համար: “Գումար mod2 ” էլեմենտների
խմբերը օգտագործվում է ըստ կարգերի “XOR” օպերացիայի
ձևավորման համար: “Գումար mod2 ” էլեմենտների ելքերը ժխտվում են
ինվերտորների խմբի միջոցով, ըստ կարգերի “XNOR” օպերացիայի
ձևավորման համար:
AND,OR,XOR,XNOR օպերացիաների կատարումը տեղի է
ունենում համապատասխանաբար Y1, Y2, Y3 Y4 ազդանշանների

115
տրման դեպքում: Հետևյալ օպերացիաներից որևէ մեկի արդյունքը RC
ռեգիստր ուղարկելու համար, օգտագործվում է 4 կապուղային և 4
կարգային մուլտիպլեկսոր:
Մուլտիպլեկսորի Ը0 և Ը1 հասցեական մուտքերին տրվում են
բուլյան ֆունկցիաներ, ըստ հետևյալ աղյուսակի.
Աղյուսակ 26
Y1 Y2 Y3 Y4 A1 A0
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1

AND,OR,XOR,XNOR օպերացիաների կատարման համար,


մուլտիպլեկսորի ելքին տրվում է ինֆորմացիա
համապատասխանաբար 0,1,2,3 կանալներից:
Դրա համար A0=Y2 v Y4 , A1=Y3 v Y4.
Ինֆորմացիայի գրանցումը RC ռեգիստրում իրականցվում է, եթե F=1
(F= Y1Y2 Y3  Y4):

RA 1
1 11
0 RG 0 5 &
1 2
2 6 &
12
2 1
3
3 3 7 13
&
2 11
C
4
14 12 X00 MS
4 8 &
3 13 X10
R 14 X20
1 15 X30
RB 5 1 15 X01 27
0 RG 0 5 2
16 16 X11 Y0 28
1 6 1 17 X21 Y1 29
6 3
2 1 17 18 X31 Y2 30
7 1
3 19 X02 Y3
2 7 4 18 20
1 X12
C 8 21
8 X22
3 22 X32
1
R 116 19 23 X03
5 =1 24
2 X13
20 25 X23
Y2 6 =1 26
1 9 3 X33
Y4 21 9 A0
7 =1
4 10 A1
Y3 10 8 22
=1
1

19 23 27
1 0 RG 0
Y1 1 28
20 24 29 1
1
30 2 1
21 25 3
1 2
Նկար 5.14
Տեղաշարժման գործողություններ
Ժամանակակից պրոցեսորների հրամանների հավաքածուի
կազմում են բացի բուլյան գործողություններից նաև տեղաշարժի
գործողությունները: Տվյալ կատեգորիայի առավել տարածված
գործողություններն են` տրամաբանական տեղաշարժ, թվաբանական
տեղաշարժ, ցիկլիկ տեղաշարժ:
Տրամաբանական տեղաշարժի գործողության կատարման
ժամանակ պրոցեսորը տեղափոխում է տվյալների տարրի (որպես
կանոն բիթի) պարունակությունը աջ կամ ձախ, ընդորում մյուս ծայրից
դուրս մղված կարգերը կորում են, իսկ ազատված դիրքերը հակառակ
ծայրում լրացվում են զրոներով: Տեղաշարժը օգտագործվում է
կարգային խոսքի անհրաժեշտ տեղում դաշտի տեղակայման համար:

117
Նկար 5.15
Թվաբանական տեղաշարժի գործողության կատարման ժամանակ
թվի նշանային կարգը չի տեղաշարժվում (օպերանդը համարվում է
նշանով ամբողջ թիվ): Դեպի աջ տեղաշարժի ժամանակ նշանային
կարգը կրկնօրինակվում է թվի ազատված բարձր կարգում: k կարգով
դեպի աջ թվաբանական տեղաշարժին համապատասխանում է 2k թվի
վրա բաժանման գործողության կատարումը: k կարգով դեպի ձախ
թվաբանական տեղաշարժին համապատասխանում է 2k թվի վրա
բազմապատկման գործողության կատարումը: Բազմապատկումը
կատարելիս անհրաժեշտ է հետևել, որպեսզի չլինի գերլցում, իսկ
բաժանման ժամանակ` որպեսզի չկորցնենք թվի արժե-
քը:Թվաբանական տեղաշարժները դեպի աջ և ձախ ներկայացված են
նկար 5.16ում:

. . .
տեղաշարժ աջ

. . .
տեղաշարժ ձախ
Նկար5.16
Ցիկլիկ տեղաշարժի գործողությունները պատկերված են նկար
5.17-ում:

տեղաշարժ աջ

. . .

118
տեղաշարժ ձախ
Նկար 5.17
Հաճախ այս գործողությունները կատարում են, որպեսզի
գործողության բիթերը հերթականությամբ տեղակայվեն ամենաձախ
կամ ամենաաջ դիրքում:

Բովանդակություն

Ներածություն . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. ԷՀՄ –ի աշխատանքի սկզբունքը, հրամանների և
տվյալների կառուցվածքները . . . . . . . . . . . . . . . . . . . . . .. 3
Ֆոն – Նեյմանի կազմակերպմամբ ԷՀՄ – ի կառուցվածքը . . . . 3
Հրամանների ներկայացնելը ԷՀՄ – ում . . . . . . . . . . . . . . . . . . . . 5
Ստեկային կազմակերպմամբ ԷՀՄ . . . . . . . . . . . . . . . . . . . . . . . 11
Տվյալների տիպի կառուցվածքը . . . . . . . . . . . . . . . . . . . . . . . .13
119
Ամբողջ թվերի ներկայացնելը . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Սահող ստորակետով թվերի ներկայացնելը . . . . . . . . . . . . . . . .17
Թվերի կատեգորիաներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Երկուական-տասական թվերի ներկայացնելը . . . . . . . . . . . . . . 21
IA-32 պրոցեսորներում տվյալների ներկայացնելու
հիմնական տիպերը . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2. Համակցված (կոմբինացիոն) սխեմաներ . . . . . . . . . . . 23
Կոմբինացիոն սխեմաների սինթեզի փուլեր. . . . . . . . . . . . . . . . . 25
Պարզ իմպլիկանտների որոշումը Կարնոյի քարտերի միջոցով.. 27
Տրամաբանական ֆունկցիաների համակարգերի մինիմացում...32
Տրամաբանական տարրերի որոշակի բազիսում
տրամաբանական սխեմաների համադրում . . . . . . . . . . . . . . . . 34
3. Կոմբինացիոն տիպի հիմնական ֆունկցիոնալ
հանգույցներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Երկուական գումարիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Կոդերի ձևափոխիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Վերծանիչներ (դեշիֆրատորներ). . . . . . . . . . . . . . . . . . . . . . . . . .40
Կոդավորիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Նախապատվության կոդավորիչներ . . . . . . . . . . . . . . . . . . . . . . 44
Մուլտիպլեքսորներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Դեմուլտիպլեքսորներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Համեմատման սխեմաներ (կոմպարատորներ) . . . . . . . . . . . . . . .52
4. Հիշողության հիմնական (բազային) սխեմաներ . . . . . . 55
Վերացական ավտոմատների հասկացություն . . . . . . . . . . . . . . 55
Տրիգերներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
RS - տրիգեր . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..60
D - տրիգեր . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
T- տրիգեր . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
J K - տրիգեր . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Կառուցվածքային ավտոմատի հասկացությունը . . . . . . . . . . . . 67
Ավտոմատի կառուցվածքային սինթեզի օրինակ . . . . . . . . . . . . 69
Ռեգիստրներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Երկուական հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Ասինխրոն հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Զուգահեռ հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77

120
Տեղաշարժող ռեգիստրների հիման վրա կառուցված
հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Օղակաձև հաշվիչներ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Ջոնսոնի հաշվիչ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Գծային հետադարձ կապով տեղաշարժող ռեգիստրներ . . . . . . 82
5. ԹՎԱԲԱՆԱԿԱՆ – ՏՐԱՄԱԲԱՆԱԿԱՆ ՍԱՐՔԵՐ
(Թ Տ Ս) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Օպերացիոն սարքեր (ՕՍ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Ամբողջ թվերով Թ Տ Ս . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Գումարման / հանման գործողությունների կատարման ՕՍ . . . 84
Ամբոզջ թվերի բազմապատկում . . . . . . . . . . . . . . . . . . . . . . . . 86
Ամբողջ թվերի բաժանում . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .89
Ամբողջ թվերի բաժանման գործողության օպերացիոն սարք . . 92
Բաժանման ալգորիթմի բլոկ – սխեման . . . . . . . . . . . . . . . . . . . . 92
Սահող ստորակետով ներկայացված թվերով թվաբանական
գործողություններ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Ղեկավարող սարքեր (Ղ Ս) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Ապարատային ղեկավարող սարք . . . . . . . . . . . . . . . . . . . . . . . . 96
Միկրոծրագրավորող ղեկավարող սարք . . . . . . . . . . . . . . . . . . 98
Միկրոօպերացիաների կոդավորում . . . . . . . . . . . . . . . . . . . . . 100
Միկրոծրագրում միկրոհրամանների հասցեավորումը . . . . . . . 103
Միկրոհրամանների ստիպողական հասցեավորման
կառուցվածքային սխեման . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Միկրոհրամանների բնական հասցեավորմա
կառուցվածքային սխեման . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Տրամաբանական գործողությունների կատարում . . . . . . . . . . .106
Տեղաշարժման գործողություններ . . . . . . . . . . . . . . . . . . . . . . . 108

ԳՐԱԿԱՆՈՒԹՅՈՒՆ

1. ժ.ձչՐþՎՏՉ. ՃՌՒՐՏՉՈÿ րւպՎՏՑպւվՌՍՈ. – ըղԹ –


հՈվՍՑ-կպՑպՐոցՐչ, 2000.
121
2. ձ. հՑՏսսՌվչր. հՑՐցՍՑցՐվՈÿ ՏՐչՈվՌջՈՓՌÿ Ռ
ՈՐւՌՑպՍՑցՐՈ ՍՏՎտՖþՑպՐվօւ րՌրՑպՎ. – ՌջՊ.
ԺՏՎ «ԹՌսՖÿՎրե, Ծ, 2002.
3. Ը.կ. կÿՑՌոՐՈՑՏՉ, խ.կ. թցՊօվՏ, Ը.Ը. ԽՌՐՌփպվՍՏ.
ԹօփՌրսՌՑպսՖվօպ րՌրՑպՎօ, րպՑՌ Ռ
ՑպսպՍՏՎՎցվՌՍՈՓՌՌ.
–”ՂՌվՈվրօ Ռ րՑՈՑՌրՑՌՍՈ”, Ծ. 2001.
4. Thomas C. Bartee. Computer Architecture and Logic
Design.
– New York : McGraw-Hill, 1991.

122
Աննա Կարոյի Թումանյան
ԱննաԿարպիսի Սաղաթելյան

Էլեկտրոնային Հաշվիչ Մեքենաների կազմակերպում:


Դասախոսությունների տեքստ: Մաս1:

Խմբագիր Ն.Ա. Խաչատրյան

Պատվեր` Տպաքանակ` 200

123
Տպագրված է Հայաստանի պետական ճարտարագիտական
համալսարանի տպարանում
Երևան, Տերյան 5

124

You might also like