You are on page 1of 194

ბათუმის შოთა რუსთაველის სახელმწიფო უნივერსიტეტი

თენგიზ ხინიკაძე

ბათუმი - 2013

1
სახელმძღვანელოში განხილულია კომპიუტერის არქიტექტური-
სა და ორგანიზაციის საფუძვლები; მოტანილია ზოგადი ცნობები კომ-
პიუტერის შესახებ; აღწერილია ბრძანებათა სისტემის არქიტექტურა;
განხილულია ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
ორგანიზაცია; დეტალურადაა გარჩეული სალტეთა ორგანიზაცია, მეხ-
სიერების, მართვის მოწყობილობების, ოპერაციული მოწყობილობები-
სა და შეტანა/გამოტანის სისტემათა აგებულება; აღწერილია ძირითადი
მიმართულებები პროცესორების არქიტექტურაში: გამოთვლების კონ-
ვეიერიზაცია, არქიტექტურები ბრძანებათა სრული და შეკვეცილი ნაკ-
რებით, სუპერკონვეიერული და სუპერსკალარული პროცესორები.
იგი განკუთვნილია კომპიუტინგის სპეციალობის ბაკალავრიატის საფე-
ხურის სტუდენტებისა და კომპიუტერის შესწავლის ყველა მსურველი-
სათვის.

რედაქტორი:
გრიგოლ კახიანი - ბათუმის შოთა რუსთაველის სახელმწიფო
უნივერსიტეტის განათლებისა და მეცნიერებათა ფა-
კულტეტის კომპიუტერულ მეცნიერებათა დეპარტა-
მენტის ასისტენტ პროფესორი

რეცენზენტები:
გ. სურგულაძე - ტექნიკურ მეცნიერებათა დოქტორი, საქართვე-
ლოს პოლიტექნიკური უნივერსიტეტის ორგანიზაციუ-
ლი მართვის დეპარტამენტის სრული პროფესორი
ი. დიდმანიძე - ფიზიკა-მათემატიკის მეცნიერებათა დოქტორი,
ბათუმის შოთა რუსთაველის სახელმწიფო უნივერსი-
ტეტის კომპიუტერულ მეცნიერებათა დეპარტამენტის
უფროსი, სრული პროფესორი

2
1. ზოგადი ცნობები კომპიუტერის შესახებ

კომპიუტერის არქიტექტურის ქვეშ ჩვეულებრივ გულისხმობენ


კომპიუტერის ლოგიკურ აგებულებას, ანუ იმას თუ როგორ წარმოუდ-
გენია ის პროგრამისტს. პირველად ტერმინი „კომპიუტერის არქიტექ-
ტურა“ (computer arckitecture) გამოყენებული იქნა ფირმა IBM-ის მიერ
IBM-360 ოჯახის კომპიუტერების დამუშავების დროს იმ საშუალებათა
აღსაწერად, რომლებითაც შეიძლება ისარგებლოს პროგრამისტმა მანქა-
ნური ბრძანებების დონეზე პროგრამის შედგენისას. ასეთ განმარტებას
„ვიწროს“ ეძახიან. ის მოიცავს ბრძანებების ჩამონათვალსა და ფორმატს,
მონაცემების წარმოდგენის ფორმებს, შეტანა/გამოტანის მექანიზმებს,
მეხსიერების გადამისამართების ხერხებს და ა. შ. განხილვიდან ამოვარ-
დნილია გამოთვლითი საშუალებების ფიზიკური აგების საკითხები:
მოწყობილობათა შემადგენლობა, პროცესორის რეგისტრირების რაო-
დენობა, მეხსიერების მოცულობა, ნამდვილი რიცხვების დამუშავების
სპეციალური ბლოკის არსებობა, ცენტრალური პროცესორის ტაქტური
სიხშირე და ა.შ. საკითხთა ეს წრე მიღებულია განისაზღვროს ცნებით
„ორგანიზება“ ან „სტრუქტურული ორგანიზება“.
არქიტექტურა (ვიწრო გაგებით) და ორგანიზება ეს კომპიუტე-
რის აღწერის ორი მხარეა. ჩვენ ქვემოთ ვისარგებლეთ ტერმინით „არქი-
ტექტურა“ მხოლოდ „ფართო“ გაგებით, რომელიც მოიცავს როგორც არ-
ქიტექტურას ვიწრო გაგებით, ისე კომპიუტერის ორგანიზებას.

1.1. კომპიუტერის შექმნის წინაისტორია

კომპიუტერი - მე-20 საუკუნის უდიდესი გამოგონებაა. გამოთ-


ვლითი ტექნიკა იქცა სამეცნიერო-ტექნიკური პროგრესის განვითარე-
ბის ერთ-ერთ ძირითად საშუალებად. თანამედროვე კომპიუტერების
შექმნას მრავალმა გენიალურმა მეცნიერმა ჩაუყარა საფუძველი.

3
1642 წელს 18 წლის ფრანგმა მათემატიკოსმა და ფიზიკოსმა
ბლეზ პასკალმა (1623-1662) შექმნა კომპიუტერის პირველი მოდელი,
რომელსაც ოთხი არითმეტიკული ოპერაციის შესრულება შეეძლო. 1645
წელს კომპიუტერის ამ მოდელმა (პასკალინა) დასრულებული სახე მი-
იღო.
1670 წელს დიდმა გერმანელმა მეცნიერმა გოლტფრიდ ვილჰელმ
ლეიბნიცმა (1646-1716) გამოსცადა თავისი პირველი მთვლელი მანქა-
ნის აღწერა, რომელიც მექანიკურად ასრულებდა ოთხ არითმეტიკულ
ოპერაციას. ამ კომპიუტერის საბოლოო ვარიანტი 1710 დასრულდა.
ლეიბნიცმა პირველმა გამოიყენა ორობითი არითმეტიკა - თა-
ნამედროვე გამოთვლითი ტექნიკის საფუძველთა საფუძველი. მანვე შე-
მოგვთავაზა ლოგიკის არითმეტიზაცია, მაგრამ ლოგიკის „ალგებრული
ეტაპის“ ცენტრალური ფიგურა ინგლისელი მეცნიერი ჯორჯ ბული
(1815-1864) იყო. მან ალგებრულ სახეში ჩამოაყალიბა აზროვნების კანო-
ნები და აჩვენა, რომ მისი ალგებრა (იწოდება ბულის ალგებრად) მსჯე-
ლობისათვის ოპერირებს მხოლოდ ორი ცნებით: ჭეშმარიტი და მცდა-
რი. თვლის ორობითი სისტემისათვის ესაა 1 და 0, რაც პრაქტიკაში ად-
ვილად რეალიზებადია რელეს (ელექტრო-მექანიკური მოწყობილობა)
დახმარებით. შესაძლებელია რომ სწორედ ბულის შრომებს უნდა ვუ-
მადლოდეთ რელეებზე აგებული კომპიუტერების შექმნას. რელეების
დახმარებით ადვილად რეალიზებადია ძირითადი ლოგიკური სქემები:
„და“, „ან“ და „არა“
გ. ლეიბნიცისა და დ. ბულის შრომებით საფუძველი ჩაეყარა თე-
ორიულ ბაზას მაღალმწარმოებლური გამოთვლითი მოწყობილობების
პრაქტიკული რეალიზაციისათვის.
პირველად ავტომატური გამომთვლელი მანქანის ფუნქციურ სა-
შუალებათა შემადგენლობა და დანიშნულება განსაზღვრა 1834 წელს
ინგლისელმა მათემატიკოსმა და ეკონომისტმა ჩარლზ ბებიჯმა (1792-
1871) ანალიტიკური მანქანის თავის განუხორციებელ პროექტში. პრო-
ექტის მიხედვით ანალიტიკური მანქანა ოთხი შემადგენელი ნაწილი-
საგან შედგებოდა - რიცხვების დამმახსოვრებელი მოწყობილობისაგან

4
(ბებიჯის განმარტებით „საწყობი“); რიცხვებზე არითმეტიკული მოქმე-
დებების შემსრულებელი მოწყობილობისაგან (ბებიჯის განმარტებით
„ფაბრიკა“); საჭირო თანმიმდევრობით მანქანის ოპერაციების მმართვე-
ლი მოწყობილობისაგან (მათ რიცხვში, რიცხვების ერთი ადგილიდან
მეორეში გადატანისათვის); რიცხვების შემყვანი და გამომყვანი მოწყო-
ბილობისაგან. „ანალიტიკური მანქანისათვის“ პირველი პროგრამები
(ორუცნობიან განტოლებათა სისტემის ამოხსნისა და ბერნულის რიცხ-
ვების გამოთვლისათვის) შეადგინა ჯონ ბაირონის ქალიშვილმა ადა
ლავლეისმა.
ავტომატური კომპიუტერის პირველ შემქმნელად ითვლება გერ-
მანელი მეცნიერი კარლ ცუზე. 1938 წელს მან დაამზადა Z1 მანქანის მო-
დელი, მომდევნო წელს-Z2-ის, ხოლო კიდევ ორი წლის შემდეგ ააგო
პირველი მომქმედიკომპიუტერი პროგრამული მართვით (Z3). ეს იყო
რელეებზე აგებული ორობითი კომპიუტერი. კ. ცუზემ 1945 წელს შექ-
მნა ალგორითმული ენების პირველი ანალოგი - ენა Plankaikul („გეგმე-
ბის გათვლა“).
1944 წელს ამერიკელმა მათემატიკოსმა ჰორვარდ აიკენმა ჰარვარ-
დის უნივერსიტეტში შექმნა ავტომატური კომპიუტერი „მარკ-1“ პროგ-
რამული მართვით რელეურ და მექანიკურ ელემენტებზე.
1945 წელს ამერიკელმა მეცნიერმა ჯონ ფონ ნეიმანმა დაამუშავა
ელექტრონულ-გამომთვლელი მანქანის კონცეფცია EDVAC (Electronic
Discrete Variable Computer) მეხსიერებაში პროგრამებისა და რიცხვების
შეყვანით. თავად მანქანის დამზადება 1950 წელს დასრულდა.
1946 წელს ამერიკელმა ინჟინერმა დ. პ. ეკერტმა და ფიზიკოსმა
დ. უ. მოუჩლიმ პელსილვანიის უნივერსიტეტში შექმნეს პირველი
ელექტრონულ-გამომთვლელი მანქანა „ENIAC“ (Electronic Numerical
integrator and Computer). ის შედგებოდა თითქმის 20000 ელექტრონული
მილაკისა და 1500 რელესაგან, ერთი წამის განმავლობაში ასრულებდა
5000 შეკრების ოპერაციას, მოიხმარდა 150 კვტ სიმძლავრის ელექტრო-
ენერგიას, ეჭირა 9x15 მ2 ფართი და იწონიდა 30 ტონას.

5
1949 წელს ინგლისში, კემბრიჯის უნივერსიტეტში, პროფესორ
მორის უილკსის ხელმძღვანელობით შეიქმნა მსოფლიოში პირველი
კომპიუტერი, რომელსაც შეეძლო პროგრამის დამახსოვრება.
1950 წელს აკადემიკოს ს. ა. ლებედევის ხელმძღვანელობით საბ-
ჭოთა კავშირში შეიქმნა კომპიუტერი МЭСМ (Малая электронная
счетная машина). ეს მანქანა ექსპლუატაციაში 1951 წელს შევიდა.
ჯონ ფონ ნეიმანის კონცეფციის მიხედვით კომპიუტერში გან-
ხორციელებულია დამახსოვრებული პროგრამისა და გამოთვლების პა-
რალელური ორგანიზაციის პრინციპი. ის აგებულია შემდეგი ოთხი მო-
წყობილობის ბაზაზე:
 არითმეტიკულ-ლოგიკური მოწყობილობა;
 მართვის მოწყობილობა;
 დამმახსოვრებელი მოწყობილობა;
 შეყვანა-გამოყვანის მოწყობილობა.
კომპიუტერის მეხსიერება უნდა შედგებოდეს რამდენიმე გადა-
ნომრილი უჯრედისაგან. თითოეულ მათგანში შეიძლება იყოს დასა-
მუშავებელი მონაცემები, ან პროგრამების ინსტრუქციები. ყველა უჯ-
რედი თანაბრად მისაღწევია კომპიუტერის სხვა მოწყობილობებისა-
თვის.
ზოგადი სახით კომპიუტერის მუშაობა შეიძლება ასე აღვწეროთ.
თავდაპირველად, შეყვანა-გამოყვანის მოწყობილობის საშუალებით
კომპიუტერის მეხსიერებაში შეიყვანება პროგრამა. მართვის მოწყობი-
ლობა მეხსიერების უჯრედებიდან კითხულობს პროგრამის პირველ
ინსტრუქციებს (ბრძანებებს) და ორგანიზებას უწევს მის შესრულებას.
როგორც წესი, მართვის მოწყობილობა ერთი ბრძანების შესრულების
შემდეგ იწყებს იმ ბრძანების შესრულებას, რომელიც მეხსიერების იმ
უჯრედშია მოთავსებული, რომელიც მდებარეობს შესრულებული
ბრძანების შემდეგ. მაგრამ ასეთი წესი შეიძლება შეწყდეს მართვის გა-
დაცემის ბრძანებით. ეს კი საშუალებას იძლევა მეხსიერების უჯრედებ-
ში შენახული ბრძანებების თანმიმდევრობა რამდენჯერმე გამოვიყენოთ
პროგრამაში (ე. ი. მეხსიერების უჯრედებში ერთჯერ შეყვანილი ბრძა-

6
ნებების თანმიმდევრობა, ამოცანის პირობის მიხედვით, შეიძლება რამ-
დენჯერმე გამოვიყენოთ (ციკლის ორგანიზებით)).

ნახ. 1.1. კომპიუტერის გამარტივებული სტრუქტურული სქემა

7
ამრიგად, მართვის მოწყობილობა ასრულებს პროგრამის ინ-
სტრუქციებს ავტომატურად, ანუ ადამიანის ჩარევის გარეშე. მას შეუძ-
ლია გაცვალოს ინფორმაცია კომპიუტერის ოპერატიულ მეხსიერებას-
თან და გარე მოწყობილობასთან. ვინაიდან როგორც წესი, გარე მოწყო-
ბილობები მუშაობს გაცილებით ნელა, ვიდრე კომპიუტერის სხვა შე-
მადგენლები, ამიტომ მართვის მოწყობილობას, შეტანა-გამოტანის ოპე-
რაციის დამთავრებამდე, შეუძლია შეწყვიტოს პროგრამების შესრულე-
ბის მსვლელობა. პროგრამის მსვლელობის ყველა შედეგი უნდა გამო-
ვიტანოთ შეტანა-გამოტანის მოწყობილობით გარე მოწყობილობაზე.
ამის შემდეგ კომპიუტერი გადადის მოლოდინის რეჟიმში.
აქვე შევნიშნავთ, რომ თანამედროვე კომპიუტერების აგებულება
განსხვავდება ზემოთ აღწერილი სქემისაგან. კერძოდ, არითმეტიკულ-
ლოგიკური მოწყობილობა და მართვის მოწყობილობა, როგორც წესი,
გაერთიანებულია ერთ მოწყობილობაში - ცენტრალურ პროცესორში.
გარდა ამისა, პროგრამის შესრულების პროცესი შეიძლება შეწყდეს გა-
დაუდებელი მოქმედების გამო, რომელიც დაკავშირებულია კომპიუტე-
რის გარე მოწყობილობიდან წყვეტის სიგნალის მიღებაზე. ბევრი სრაფ-
მოქმედი კომპიუტერი პარალელურად ახორციელებს რამდენიმე პრო-
ცესორიდან მონაცემების დამუშავებას. მიუხედავად ამისა, თანამედრო-
ვე კომპიუტერების აგებულება ძირითადად შეესაბამება ჯონ ფონ ნეი-
მანის კონცეფციას.

1.2. კომპიუტერების კლასიფიკაცია

კომპიუტერი, ელექტრონული გამომთვლელი მანქანა (ეგმ) - ეს


ტექნიკურ საშუალებათა კომპლექსია, რომლის დანიშნულებაა გამოთ-
ვლითი და ინფორმაციული ამოცანების გადაწყვეტის პროცესში ინ-
ფორმაციის ავტომატური დამუშავება. მათი კლასიფიკაცია შეიძლება

8
სხვადასხვა ნიშნის მიხედვით, კერძოდ: მუშაობის პრინციპის, დანიშ-
ნულების, გამოთვლითი პროცესის ორგანიზაციის ხერხების, ზომების
და გამოთვლითი სიმძლავრის, ფუნქციური შესაძლებლობების და სხვა.

ეგმ-ის კლასიფიკაცია მოქმედების პრინციპის მიხედვით


მოქმედების პრინციპის მიხედვით გამომთვლელი მანქანები სამ
დიდ კლასად იყოფა (ნახ. 1.2): ანალოგური (აგმ), ციფრული (ცგმ) და
ჰიბრიდული (ჰგმ).

გამომთვლელი მანქანები

აგმ ჰგმ ცგმ

ნახ 1.2. გამომთვლელი მანქანების კლასიფიკაცია მოქმედების


პრინციპის მიხედვით

გამომთვლელი მანქანების ამ სამ კლასად დაყოფის კრიტერიუმს


წარმოადგენს იმ ინფორმაციის ფორმა, რომელთანაც ისინი მუშაობენ
(ნახ. 1.3.).

u u

t t
ა) ბ)
ნახ. 1.3. გამომთვლელ მანქანებში ინფორმაციის წარმოდგენის
ორი ფორმა: ა) - ანალოგური; ბ) - ციფრული, იმპულსური.

9
ციფრული გამომთვლელი მანქანები (ცგმ) - დისკრეტული
მოქმედების გამომთვლელი მანქანები, მუშაობენ დისკრეტულ, უფრო
ზუსტად, ციფრულ ფორმაში წარმოდგენილ ინფორმაციასთან.
ანალოგური გამომთვლელი მანქანები (აგმ) - უწყვეტი მოქმედე-
ბის გამომთვლელი მანქანები, მუშაობენ უწყვეტი (ანალოგური) ფორ-
მით წარმოდგენილ ინფორმაციასთან, ე. ი. რაიმე ფიზიკური სიდიდის
(ყველაზე ხშირად ელექტრული ძაბვის) მნიშვნელობების უწყვეტ რიგ-
თან.
ჰიბრიდული გამომთვლელი მანქანები (ჰგმ) - კომბინირებული
მოქმედების გამომთვლელი მანქანები, მუშაობემ ციფრული და ანალო-
გური ფორმით წარმოდგენილ ინფორმაციასთან; მას გააჩნია როგორც
აგმ-ის, ისე ცგმ-ის უპირატესობები. ჰგმ-ის გამოყენება მიზანშეწონი-
ლია რთული, მაღალი სისწრაფით მომუშავე ტექნიკური კომპლექსების
მართვის ამოცანების გადასაწყვეტად.
ანალოგური გამომთვლელი მანქანები ექსპლუატაციაში მარტივი
და მოხერხებულებია; ამოცანათა დაპროგრამება მათზე, როგორც წესი,
არაშრომატევადია; ამოცანათა ამოხსნის სისწრაფე რაგინდ მაღალია
(მეტია ვიდრე ცგმ-ზე), მაგრამ ამოხსნის სიზუსტე დაბალია (ფარდობი-
თი ცდომილება 2-5%-ს შეადგენს). აგმ-ზე ყველაზე ეფექტურია ისეთი
მათემატიკური ამოცანების ამოხსნა, რომლებიც დიფერენციალურ გან-
ტოლებებს შეიცავენ და არ თხოულობენ რთულ ლოგიკას.
ყველაზე ფართო გავრცელება მოიპოვეს ცგმ-ა ინფორმაციის
დისკრეტული წარმოდგენით - ელექტრონულმა ციფრულმა გამომთვ-
ლელმა მანქანებმა. მათ, ჩვეულებრივ, ელექტრონულ გამომთვლელ
მანქანებს, ან უბრალოდ, კომპიუტერებს უწოდებენ.

ეგმ-ის კლასიფიკაცია შექმნის ეტაპების მიხედვით


შექმნის ეტაპებისა და ელემენტთა გამოყენებული ბაზის მიხედ-
ვით ეგმ-ები პირობითად შემდეგ თაობებად იყოფიან:
 I თაობა, 50-იანი წლები: ელექტრონულ-ვაკუუმურ მილაკებ-
ზე აგებული ეგმ-ები;

10
 II თაობა, 60-იანი წლები: დისკრეტულ ნახევარგამტარულ
ელემენტებზე (ტრანზისტორებზე) აგებული ეგმ-ები;
 III თაობა, 70-იანი წლები: მცირე და საშუალო დონის ინტე-
გრაციის ნახევარგამტარულ ინტეგრალურ სქემებზე აგებული
ეგმ-ები;
 IV თაობა, 80-იანი წლები: დიდ ინტეგრალურ სქემებზე -
მიკროპროცესორებზე აგებული ეგმ-ები;
 V თაობა, 90-იანი წლებიდან დღემდე: პარალელურად მომუ-
შავე ასობით მიკროპროცესორებზე აგებული ეგმ-ები, რომლე-
ბიც საშუალებას იძლევიან აიგოს ცოდნის ბაზების ეფექტური
სისტემები; აგებული ეგმ-ები ზერთულ მიკროპროცესორებზე
პარალელურ-ვექტორული სტრუქტურით, რომლებიც ერთ-
დროულად ასრულებენ პროგრამის ათობით მიმდევრობით
ბრძანებას.

ეგმ-ის კლასიფიკაცია დანიშნულების მიხედვით


დანიშნულების მიხედვით ეგმ-ები იყოფიან სამ ჯგუფად -უნი-
ვერსალურ (საერთო დანიშნულების), პრობლემურ-ორიენტირებულ და
სპეციალიზირებულებად (ნახ. 1.4.).

გამომთვლელი მანქანები

პრობლემურ-
უნივერსალური სპეციალიზირე-
ორიენტირებულ
ბული

ნახ. 1.4. ეგმ-ის კლასიფიკაცია დანიშნულების მიხედვით

11
უნივერსალური ეგმ-ების დანიშნულებაა სხვადასხვა სახის სა-
ინჟინრო-ტექნიკური ამოცანების (ეკონომიკური, მათემატიკური, ინ-
ფორმაციული და სხვა) ამოხსნა. ისინი ფართოდ გამოიყენება კოლექ-
ტიური მოხმარების გამოთვლით ცენტრებში და სხვა მძლავრ გამოთ-
ვლით კომპლექსებში.
უნივერსალური ეგმ-ების დამახასიათებელ ნიშნებს წარმოად-
გენს:
 მაღალი მწარმოებლურობა (წარმადობა);
 დასამუშავებელი მონაცემების ფორმების მრავალფეროვნება:
(ორობითი, ათობითი, სიმბოლური) მათი ცვლადების დიდი
დიაპაზონისა და წარმოდგენის დიდი სიზუსტის დროს;
 შესასრულებელ ოპერაციათა (არითმეტიკულ, ლოგიკურ, სპე-
ციალურ) დიდი ნუსხა;
 ოპერატიული მეხსიერების დიდი მოცულობა;
 ინფორმაციის შეყვანა-გამოყვანის სისტემის განვითარებული
ორგანიზაცია, რომელიც უზრუნველყოფს მრავალფეროვანი
გარე მოწყობილობის მიერთებას.
პრობლემურ-ორიენტირებული ეგმ-ები ემსახურებიან უფრო შე-
ზღუდული წრის ამოცანების ამოხსნას, როგორც წესი, ესაა ტექნოლო-
გიური პროცესების მართვა; შედარებით მცირე მოცულობის მონაცემე-
ბის რეგისტრაცია, დაგროვება და დამუშავება; შედარებით არართული
ალგორითმებით გათვლების შესრულება; უნივერსალურ ეგმ-ებთან
შედარებით მათ შეზღუდული აპარატურული და პროგრამული რე-
სურსები აქვთ.
პრობლემურ-ორიენტირებული ეგმ-ებს მიეკუთვნება მრავალფე-
როვანი მმართველი გამომთვლელი კომპლექსები.
სპეციალიზირებული ეგმ-ები ემსახურებიან ვიწრო წრის ამოცა-
ნების ამოხსნას, ან მკაცრად განსაზღვრული ფუნქციების ჯგუფის რეა-
ლიზაციისას. ეგმ-ის ასეთი ვიწრო ორიენტაცია საშუალებას იძლევა
სპეციალიზირებულ იქნას მისი სტრუქტურა, მნიშვნელოვნად შემცირ-

12
დეს მათი სირთულე და ღირებულება მუშაობის მაღალი მწარმოებლუ-
რობისა და საიმედობის პირობებში.
სპეციალიზირებულ ეგმ-ებს შეიძლება, მაგალითად, მივაკუთ-
ვნოთ სპეციალური დანიშნულების პროგრამირებადი მიკროპროცესო-
რები, ადაპტორები, რომლებიც ასრულებენ მართვის ლოგიკურ ფუნქ-
ციებს ცალკეული არართული ტექნიკური მოწყობილობებისათვის, აგ-
რეგატებისა და პროცესებისათვის; გამოთვლითი სისტემების კვანძების
მუშაობის შეთანხმების მოწყობილობები.

ეგმ-ის კლასიფიკაცია ზომებისა და ფუნქციური


შესაძლებლობების მიხედვით
ზომებისა და ფუნქციური შესაძლებლობების მიხედვით ეგმ-ები
შეიძლება დაიყოს ზედიდ (სუპერ-ეგმ), დიდ, მცირე, ზემცირე (მიკრო-
ეგმ) მანქანებად (ნახ. 1.5.).

გამომთვლელი მანქანები

სუპერ-ეგმ დიდი ეგმ მცირე ეგმ მიკრო ეგმ

ნახ. 1.5. ეგმ-ის კლასიფიკაცია ზომებისა და გამოთვლითი სიმძლავრის


მიხედვით
ეგმ-ის ფუნქციურ შესაძლებლობებს განაპირობებს უმნიშვნელო-
ვანესი ტექნიკურ-ექსპლოატაციური მახასიათებლები:
 სწრაფქმედება, მანქანის მიერ დროის ერთეულში შესრულე-
ბულ ოპერაციათა გასაშუალებული სიდიდე;
 რიცხვის წარმოდგენის ფორმა და თანრიგთა რაოდენობა;
 მეხსიერების ყველა მოწყობილობის ტიპი, მოცულობა და
სწრაფქმედება;
 ეგმ-ის კვანძების შეერთებისა და კავშირის მოწყობილობათა
ტიპები და გამტარუნარიანობა;

13
 ეგმ-ის შესაძლებლობა ერთდროულად იმუშაოს რამდენიმე
მომხმარებელთან და ერთდროულად შეასრულოს რამდენიმე
პროგრამა;
 მანქანაში გამოყენებულ ოპერაციულ სისტემათა ტიპები და
ტექნიკურ-ექსპლოატაციური მახასიათებლები;
 პროგრამული უზრუნველყოფის არსებობა და ფუნქციური
შესაძლებლობები;
 სხვა ტიპის ეგმ-ებისათვის დაწერილ პროგრამათა შესრულე-
ბის შესაძლებლობა (სხვა ტიპის ეგმ-ებთან პროგრამული თავ-
სებადობა - მხარდაჭერა);
 მანქანის ბრძანებათა სისტემა და სტრუქტურა;
 კავშირის ხაზებთან და გამომთვლელ ქსელებთან მიერთების
შესაძლებლობა;
 ეგმ-ის ექსპლოატაციური საიმედობა;
 ეგმ-ის დროში სასარგებლო გამოყენების კოეფიციენტი, რომე-
ლიც განისაზღვრება სასარგებლო მუშაობის დროის პროფი-
ლაქტიკის დროსთან ფარდობით.
ისტორიულად ჯერ დიდი ეგმ-ები შეიქმნა, რომელთა ელემენტ-
თა ბაზამ გაიარა გზა ელექტრონულ-ვაკუუმური მილაკებიდან ზემაღა-
ლი ხარისხის ინტეგრაციის ინტეგრალურ სქემებამდე.
დიდი ეგმ-ების წარმადობა არასაკმარისი აღმოჩნდა რიგი ამოცა-
ნებისათვის: მეტეომდგომარეობის პროგნოზირება, რთული სამხედრო
კომპლექსების მართვა, ეკოლოგიური სისტემის მოდელირება და სხვა.
ეს გახდა წინაპირობა სუპერ-ეგმ-ის - ყველაზე მძლავრი გამოთვლითი
სისტემის დასამუშავებლად. ეს სისტემები დღესაც ინტენსიურად ვი-
თარდება.
70-იან წლებში მცირე ეგმ-ის შექმნა განპირობებული იყო, ერთის
მხრივ, პროგრესით ელექტრონული ელემენტების ბაზის სფეროში, ხო-
ლო მეორეს მხრივ - დიდი ეგმ-ის რესურსების სიჭარბით რიგი დამატე-
ბებისათვის. მცირე ეგმ-ებს ყველაზე ხშირად იყენებენ ტექნოლოგიური
პროცესების მართვისათვის. ისინი მნიშვნელოვნად იაფიანებია.

14
ელემენტთა ბაზის წარმოებაში და არქიტექტურულ გადაწყვე-
ტებში შემდგომმა წარმატებებმა მიგვიყვანა სუპერმინი ეგმ-ის შექმნას-
თან. ეს გამომთვლელი მანქანა არქიტექტურით, ზომებითა და ღირებუ-
ლებით მიეკუთვნება მცირე ეგმ-თა კლასს, ხოლო წარმადობით ედარე-
ბა დიდ ეგმ-ს.
1969 წელს მიკროპროცესორის გამოგონებამ გამოიწვია 70-იან
წლებში მიკრო ეგმ-ის (ნახ.1.6.) შექმნა. თავდაპირველად მიკროპრო-
ცესორის არსებობა ითვლებოდა მიკრო ეგმ-ის განმსაზღვრელ ნიშნად.
ახლა მიკროპროცესორები გამოიყენება ყველა კლასის კომპიუტერებში.

მიკრო-ეგმ

უნივერსალური სპეციალიზებული

მრავალმომხ- ერთმომხ- მრავალმომხ- ერთმომხ-


მარებლიანი მარებლიანი მარებლიანი მარებლიანი
(პერსონალუ- (სერვერი) (მუშა
რი) სადგური)

ნახ. 1.6. მიკრო-ეგმ-ის კლასიფიკაცია

მრავალმომხმარებლიანი მიკრო-ეგმ - ეს მძლავრი მიკრო-ეგმ-ია,


რომელიც აღჭურვილია რამდენიმე ვიდეოტერმინალით და ფუნქციო-
ნირებს დროის გაყოფის რეჟიმში, რაც იძლევა მასზე ერთდროულად
რამოდენიმე მომხმარებლის ეფექტური მუშაობის საშუალებას.

15
პერსონალური კომპიუტერი (პკ) - ერთმომხმარებლიანი მიკრო-
ეგმ-ია, რომელიც აკმაყოფილებს საერთო მიღწევის მოთხოვნას და გა-
მოყენების უნივერსალურობას.
მუშა სადგურები (Work Station) წარმოადგენს ერთმომხმარებლი-
ან მძლავრ მიკრო-ეგმ-ს, რომელიც სპეციალიზირებულია განსაზღვრუ-
ლი სახის სამუშაოს (გრაფიკული, საინჟინრო, საგამომცემლო და ა. შ.)
შესასრულებლად.
სერვერები (Server) - ქსელებში მომუშავე მრავალმომხმარებლია-
ნი მძლავრი მიკრო-ეგმ-ია, გამოყოფილი ქსელის სადგურიდან მიღებუ-
ლი მოთხოვნების დასამუშავებლად.
ზემოთ მოყვანილი კლასიფიკაცია პირობითია, ვინაიდან მძლავ-
რი თანამედროვე პკ, აღჭურვილი პრობლემურ-ორიენტირებული პრო-
გრამებითა და აპარატურული უზრუნველყოფით, შეიძლება გამოვიყე-
ნოთ როგორც სრულფასოვანი მუშა სადგური, ისე მრავალმომხმარებ-
ლიანი მიკრო-ეგმ-ი, აგრეთვე როგორც კარგი სერვერი, რომელიც თავი-
სი მახასიათებლებით თითქმის არ ჩამოუვარდება მცირე ეგმ-ს.

1.3. მეხსიერებაში შენახული პროგრამის მქონე


გამომთვლელი მანქანის კონცეფცია

გამომთვლელი მანქანა, რომელშიც პროგრამის განსაზღვრული


სახით კოდირებული ბრძანებები ინახებიან მეხსიერებაში, ცნობილია
სახელწოდებით „გამომთვლელი მანქანა მეხსიერებაში შენახული პრო-
გრამით“. იდეა ეკუთვნით ENIAC -ის შემქმნელებს - ეკერტს, მოუჩლისა
და ფონ ნეიმანს. ჯერ კიდევ ENIAC-ზე სამუშაოების დასრულებამდე
მათ დაიწყეს მუშაობა ახალ პროექტზე - EDVAC, რომლის მთავარი თა-

16
ვისებურება გახდა მეხსიერებაში შენახული პროგრამის კონცეფცია. ამ
კონცეფციამ მრავალი წლით განსაზღვრა გამომთვლელი მანქანების
მომდევნო თაობების აგების საბაზისო პრინციპები. ავტორობის შესახებ
რამდენიმე ვერსია არსებობს, მაგრამ ვინაიდან დასრულებული სახით
ის პირველად 1945 წელს ფონ ნეიმანის სტატიაში იყო აღწერილი, ამი-
ტომაც ფონ ნეიმანის სახელი ფიგურირებს მსგავსი არქიტექტურების
მქონე მანქანათა აღნიშვნებში. ეს მანქანები დღეისათვის გამომთვლე-
ლი მანქანებისა და სისტემების უდიდეს უმრავლესობას წარმოადგენენ.
გამომთვლელი მანქანების აგების ფონ ნეიმანისეული კონცეფ-
ციის არსი შეიძლება დაყვანილ იქნეს ოთხ პრინციპამდე:
- ორობითი კოდირება;
- პროგრამული მართვა;
- მეხსიერების ერთგვაროვნება;
- მისამართების გამოყენება.
განვიხილოთ თითოეული ამ პრინციპთაგანი უფრო დაწვრი-
ლებით.

ორობითი კოდირების პრინციპი


ამ პრინციპის თანახმად, მთელი ინფორმაცია, როგორც მონაცე-
მები, ისე ბრძანებებიც, კოდირება ორობითი ციფრებით 0 და 1. ინფორ-
მაციის თითოეული ტიპი წარმოიდგინება ორობითი თანმიმდევრობით
და აქვს თავისი ფ ო რ მ ა ტ ი. ფორმატში ბიტების თანმიმდევრობა,
რომელსაც განსაზღვრული აზრი აქვს, იწოდება ვ ე ლ ა დ. რიცხვით
ინფორმაციაში ჩვეულებრივ ყოფენ ნიშნის ველს და ნიშნად თანრიგთა
ველს. ბრძანების ფორმატში შეიძლება გამოვყოთ ორი ველი (ნახ. 1.7.):
ოპერაციის ველი და მ ი ს ა მ ა რ თ ე ბ ი ს ვ ე ლ ი (სა-
მისამართო ნაწილი).

ნახ. 1.7. ბრძანების სტრუქტურა

17
ოპერაციის ველი წარმოადგენს მითითებას იმაზე, თუ რომელი
ოპერაცია უნდა შესრულდეს და მოიცემა r - თანრიგა ორობითი
კომბინაციით.
სამისამართო ნაწილი და მისი მისამართების შემქმნელი რიცხვი
დამოკიდებულია ბრძანების ტიპზე: მონაცემთა გარდაქმნის ბრძანებებ-
ში სამისამართო ნაწილი შეიცავს დასამუშავებელი ობიექტების (ოპე-
რანდების) და შედეგების მისამართებს; გამოთვლების რიგის ცვლილე-
ბის ბრძანებებში - შეტანა/გამოტანის მოწყობილობის ნომერს. სამისა-
მართო ნაწილი აგრეთვე წარმოდგენილია ორობითი თანმიმდევრო-
ბით, რომლის სიგრძეც p - თი ავღნიშნოთ, ამრიგად, ბრძანებას გამომ-
თვლელ მანქანაში აქვს (r+p) - თანრიგა ორობითი კომბინაციის სახე.

პროგრამული მართვის პრინციპი


ამოცანის ამოხსნის ალგორითმით გათვალისწინებული ყველა
გამოთვლა უნდა იყოს წარმოდგენილი პროგრამის სახით, რომელიც
შედგება მმართველ სიტყვათა - ბ რ ძ ა ნ ე ბ ე ბ ი ს თანმიმდევრობისა-
გან. თითოეული ბრძანება ახორციელებს მიმართვის გამომთვლელ მან-
ქანაში რეალიზებული ოპერაციების ნაკრებიდან ერთ-ერთზე. პროგრა-
მის ბრძანებები ინახებიან გამომთვლელი მანქანის მეხსიერების მიმ-
დევრობით უჯრედებში და სრულდებიან ბ უ ნ ე ბ რ ი ვ ი თ ა ნ მ ი მ -
დ ე ვ რ ო ბ ით, ანუ პროგრამაში მათი მდებარეობის რიგით. საჭიროე-
ბის შემთხვევაში, სპეციალური ბრძანებით შეიძლება ამ თანმიმდევრო-
ბის შეცვლა. პროგრამის ბრძანებების შესრულების რიგის ცვლილების
შესახებ გადაწყვეტილება მიიღება ჩატარებული გამოთვლების შედე-
გების ანალიზის საფუძველზე ან უპირობოდ.

მეხსიერების ერთგვაროვნების პრინციპი


ბრძანებები და მონაცემები ინახებიან ერთი და იგივე მეხსიერება-
ში და გარეგნულად მეხსიერებაში არაფრით განსხვავდებიან. მათი გარ-
ჩევა შეიძლება მხოლოდ გამოყენების ხერხით. ეს საშუალებას იძლევა

18
შევასრულოთ ბრძანებებზე იგივე ოპერაციები, რაც რიცხვებზე და გამომ-
დინარე, გვიხსნის რიგ შესაძლებლობას. ასე, ბრძანების სამისამართო ნა-
წილის ციკლური ცვლილებით შეიძლება ვუზრუნველყოთ მონაცემთა
მასივის მიმდევრობით ელემენტებზე მიმართვა. ასეთ ხერხს ბრძანების
მოდიფიკაცია ჰქვია და თანამედროვე პროგრამირების პოზიციებიდან
დაწუნებულია. უფრო სასარგებლოა ერთგვაროვნების პრინციპის მეორე
შედეგი, როცა ერთი პროგრამის ბრძანებები შეიძლება მიღებულ იქნენ
როგორც სხვა პროგრამის შესრულების შედეგი. ეს პრინციპი საფუძვლად
უდევს ტ რ ა ნ ს ლ ი ა ც ი ა ს - პროგრამის ტექსტის მაღალი დონის ენი-
დან კონკრეტული გამომთვლელი მანქანის ენაზე გადაყვანას.
ფონ ნეიმანის სტატიაში აღწერილი გამომთვლელი მანქანის კონ-
ცეფცია გულისხმობს ბრძანებებისა და მონაცემების შენახვისათვის ერ-
თიანი მეხსიერების გამოყენებას. ასეთი მიდგომა საფუძვლად დაედო
პრინსტონის უნივერსიტეტში შექმნილ გამომთვლელ მანქანებს, რის გა-
მოც მან მიიღო „პ რ ი ნ ს ტ ო ნ ი ს ა რ ქ ი ტ ე ქ ტ უ რ ი ს“ სახელი. პრაქ-
ტიკულად იმავდროულად ჰარვარდის უნივერსიტეტში შეთავაზებულ
იქნა მეორე მოდელი, რომელშიც გამომთვლელ მანქანას გააჩნდა ცალკე
მეხსიერება ბრძანებებისათვის და ცალკე მეხსიერება მონაცემებისათვის.
არქიტექტურის ამ სახეს „ჰ ა რ ვ ა რ დ ი ს ა რ ქ ი ტ ე ქ ტ უ რ ა ს“ - ეძა-
ხიან. დიდი ხნის განმავლობაში უპირატესობა ენიჭებოდა და ახლაც ენი-
ჭება პრინსტონის არქიტექტურას, თუმცა ის იწვევს „პროცესორ - მეხსი-
ერების“ ტრაქტის გამტარუნარიანობის პრობლემებს (ტიპიური ფონ ნეი-
მანისეული მონაცემების ტრაქტი შედგება არითმეტიკულ-ლოგიკური
მოწყობილობის, ჩვეულებრივ, 8-დან 32-მდე რეგისტრისა და რამდენიმე
კომუნიკაციური სალტისაგან. პროცესორის ტრაქტის სტრუქტურა, არქი-
ტექტურის თავისებურებები დამოკიდებულია ბრძანებათა სისტემის
სტრუქტურისაგან). ბოლო დროს კეშ-მეხსიერების ფართო გამოყენებას-
თან დაკავშირებით გამომთვლელი მანქანის დამმუშავებლები სულ უფ-
რო და უფრო ხშირად მიმართავენ ჰარვარდის არქიტექტურას.

19
დამისამართების პრინციპი
სტრუქტურულად ძირითადი მეხსიერება შედგება გადანომრი-
ლი უჯრედებისაგან, ამასთან პროცესორისათვის ნებისმიერ მომენტში
მისაწვდომია ნებისმიერი უჯრედი. ბრძანებებისა და მონაცემების
ორობითი კოდები იყოფიან ინფორმაციის ერთეულებად, რომლებსაც
ს ი ტ ყ ვ ე ბ ი ჰქვიათ და ინახებიან მეხსიერების უჯრედებში, ხოლო
მათთან მისაღწევად გამოიყენებიან შესაბამისი უჯრედების ნომრები -
მ ი ს ა მ ა რ თ ე ბ ი.

ფონ ნეიმანისეული არქიტექტურა


ფონ ნეიმანის სტატიაში განსაზღვრულია გამომთვლელი მანქა-
ნების ძირითადი მოწყობილობები, რომელთა დახმარებითაც განხორ-
ციელებულ უნდა იქნან ზემოთ ჩამოთვლილი პრინციპები. თანამედ-
როვე გამომთვლელ მანქანათა უმრავლესობა თავისი სტრუქტურით პა-
სუხობს პროგრამული მართვის პრინციპს. ტიპიური ფონ ნეიმანისეუ-
ლი გამომთვლელი მანქანა (ნახ. 1.8.) შეიცავს: მეხსიერებას, არითმეტი-
კულ-ლოგიკურ მოწყობილობას, მართვის მოწყობილობას და შეტანა
/გამოტანის მოწყობილობას.
ნებისმიერ გამომთვლელ მანქანაში არის პროგრამების და ამ
პროგრამებისათვის მონაცემების შეტანის საშუალება. გამომთვლელ
მანქანას ინფორმაცია ეწოდება მასზე მიერთებული შეტანის პ ე რ ი -
ფ ე რ ი უ ლ ი მ ო წ ყ ო ბ ი ლ ო ბ ე ბ ი დ ა ნ . გამოთვლის შედეგები გა-
მოდიან გამოტანის პერიფერიული მოწყობილობებიდან. გამომთვლე-
ლი მანქანისა და პერიფერიული მოწყობილობების კავშირსა და ურთი-
ერთქმედებას უზრუნველყოფენ შ ე ტ ა ნ ი ს პ ო რ ტ ე ბ ი და გ ა -
მ ო ტ ა ნ ი ს პ ო რ ტ ე ბ ი. ტერმინით პ ო რ ტ ი აღნიშნავენ გამომ-
თვლელ მანქანასთან პერიფერიული მოწყობილობის მიერთებისა და
მართვის აპარატურას. შეტანისა და გამოტანის პორტების ერთობლიო-
ბას უწოდებენ შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს მ ო წ ყ ო ბ ი ლ ო ბ ა ს ან
გამომთვლელი მანქანის შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს მ ო დ უ ლ ს.

20
ნახ. 1.8. ფონ ნეიმანისეული გამომთვლელი მანქანის სტრუქტურა

შეტანილი ბრძანებები და მონაცემები ჯერ ინახება ძირითად მეხ-


სიერებაში, ხოლო საჭიროების შემთხვევაში გადადის მეორად მეხსიე-
რებაში, ხანგრძლივი შენახვის მიზნით. პროგრამა რომ სრულდებოდეს,
საჭიროა ბრძანებები და მონაცემები მოთავსებული იყვნენ ისეთნაირად
ორგანიზებულ ძ ი რ ი თ ა დ მ ე ხ ს ი ე რ ე ბ ა შ ი, რომ თითოეული
ორობითი სიტყვა ინახებოდეს მისამართით ინდენტიფიცირებულ და-
მოუკიდებელ უჯრედში, ამასთან მეხსიერების მეზობელ უჯრედებს
უნდა ჰქონდეს რიგით მომდევნო მისამართები. ძირითადი მეხსიერე-
ბის დამახსოვრების მოწყობილობის ნებისმიერ უჯრედთან მიღწევა შე-
იძლება ხორციელდებოდეს ნებისმიერი თანმიმდევრობით. ასეთი მეხ-
სიერება ცნობილია, როგორც მეხსიერება ნებისმიერი
წ ვ დ ო მ ი თ. თანამედროვე გამომთვლელი მანქანების ძირითადი მეხ-

21
სიერება ძირითადად შედგება ნახევარგამტარული ოპერატიული და-
მახსოვრების მოწყობილობებისაგან, რომლებიც უზრუნველყოფენ ინ-
ფორმაციის როგორც წაკითხვას, ისე ჩაწერას. ასეთი მეხსიერების მო-
წყობილობები ენერგოდამოკიდებულნი არიან - ელექტრული კვების
გათიშვის შემთხვევაში მათში ჩაწერილი ინფორმაცია იკარგება. თუ სა-
ჭიროა, რომ ძირითადი მეხსიერების ნაწილი ენერგოდამოუკიდებელი
იყოს, მაშინ ძირითად მეხსიერებაში რთავენ მ უ დ მ ი ვ ი მ ე ხ ს ი ე -
რების მ ო წ ყ ო ბ ი ლ ო ბ ე ბ ს , რომლებიც აგრეთვე უზრუნველ-
ყოფენ ნებისმიერ მიღწევას. მუდმივი მეხსიერების მოწყობილობაში შე-
ნახული ინფორმაცია შეიძლება მხოლოდ წავიკითხოთ.
ძირითადი მეხსიერების უჯრედის ზომა ჩვეულებრივ რვა ორო-
ბითი თანრიგის - ბაიტის ტოლი აიღება. დიდი რიცხვების შესანახად
იყენებენ 2, 4 და 8 ბაიტს, განაწილებულებს თანმიმდევრობითი მისა-
მართების მქონე უჯრედებში. ასეთ შემთხვევაში რიცხვის მისამართად
ხშირად იღებენ მისი უმცროსი ბაიტის მისამართს. ასე 32- თანრიგიანი
რიცხვის შენახვისას 200, 201, 202, 203 მისამართების მქონე უჯრედებში
რიცხვის მისამართი იქნება 200. ასეთ წესს უწოდებენ დამისამართებას
უმცროსი ბაიტით ან „მახვილბოლოვან“ მეთოდს. შესაძლებელია საწი-
ნააღმდეგო მიდგომაც - უმცირეს მისამართზე თავსდება უფროსი ბაი-
ტი. ეს ხერხი ცნობილია როგორც დამისამართება უფროსი ბაიტით ან
„ბლაგვბოლოვანი“ მეთოდი. პრინციპში ბაიტთა ჩაწერის რიგის არჩევა
მნიშვნელოვანია მხოლოდ მონაცემების გადაგზავნისას გამომთვლელ
მანქანებს შორის მათი მისამართების სხვადასხვა ფორმების დროს ან
რიცხვის ცალკეულ ბაიტებთან მანიპულირებისას. გამომთვლელი მან-
ქანების უმრავლესობაში გათვალისწინებულია სპეციალური ინსტრუქ-
ციები დამისამართების ერთი ხერხიდან მეორეში გადასასვლელად.
დიდი პროგრამებისა და მონაცემთა მასივების ხანგრძლივი შე-
ნახვისათვის გამომთვლელ მანქანაში ჩვეულებრივ არის დამატებითი
მეხსიერება, ე. წ. მ ე ო რ ა დ ი მეხსიერება. მეორადი მეხსიერება ენერ-
გოდამოუკიდებელია და უფრო ხშირად ინახება სპეციალური პროგრა-
მულად მხარდაჭერილი ობიექტების - ფ ა ი ლ ე ბ ი ს სახით.

22
მართვის მ ო წ ყ ო ბ ი ლ ო ბ ა - გამომთვლელი მანქანის უმ-
ნიშვნელოვანესი ნაწილია. ის უზრუნველყოფს პროგრამების ავტომა-
ტურ შესრულებას (მართვის ფუნქციათა რეალიზაციის გზით) და უზ-
რუნველყოფს გამომთვლელი მანქანის, როგორც ერთიანი სისტემის,
ფუნქციონირებას. მართვის მოწყობილობის ფუნქციების გასამართავად
საჭიროა გამომთვლელი მანქანა განვიხილოთ როგორც იმ ელემენტთა
ერთობლიობა, რომელთა შორისაც ხდება ინფორმაციის გადაგზავნა და
შესაძლებელია განხორციელდეს ამ ინფორმაციის განსაზღვრული სახის
დამუშავება. ინფორმაციის გადაგზავნა გამომთვლელი მანქანის ნებისმი-
ერ ელემენტს შორის ინიცირდება თავისი მ ა რ თ ვ ი ს ს ი გ ნ ა ლ ი თ,
ანუ გამოთვლითი პროცესის მართვა დადის საჭირო მართვის სიგნალებ-
ის ნაკრების გაცემით საჭირო დროით თანმიმდევრობაში. მართვის სიგ-
ნალთა კავშირები ნაჩვენებია ნახ.1.8-ზე წყვეტილი ხაზებით. მართვის
მოწყობილობის ძირითად ფუნქციას წარმოადგენს იმ მართვის სიგნალ-
თა ფორმირება, რომლებიც პასუხს აგებენ მეხსიერებიდან პროგრამით
მითითებული რიგით ბრძანებათა ამოღებაზე და ამ ბრძანებების შემდ-
გომი გამოყენება. გარდა ამისა, მართვის მოწყობილობა ახორციელებს
მართვის სიგნალებს ფორმირებას გამოთვლითი მანქანის შიგა და გარე
მოწყობილობათა სინქრონიზაციისა და კოორდინაციისათვის.
გამომთვლელი მანქანის კიდევ ერთ განუყოფელ ნაწილს წარმო-
ადგენს ა რ ი თ მ ე ტ ი კ უ ლ - ლ ო გ ი კ უ რ ი მ ო წ ყ ო ბ ი ლ ო ბ ა. ის
უზრუნველყოფს ორი შეტანილი ცვლადის არითმეტიკულ და ლოგი-
კურ დამუშავებას, რის შედეგადაც ფორმირდება გამოსასვლელი ცვლა-
დი. არითმეტიკულ-ლოგიკური მოწყობილობის ფუნქციები ჩვეულე-
ბრივ დაიყვანებიან მარტივ არითმეტიკულ და ლოგიკურ ოპერაციება-
მდე. ოპერაციის შედეგის გარდა არითმეტიკულ-ლოგიკური მოწყობი-
ლობა ახდენს შ ე დ ე გ ი ს ნ ი შ ა ნ თ ა რ ი გ ი ს (ალმების) ფორმირე-
ბას, რომლებიც ახასიათებენ მიღებულ შედეგსა და მისი მიღების პრო-
ცესში მომხდარ შემთხვევებს (ნულთან ტოლობა, ნიშანი, ლუწობა, გა-
დატანა, გადავსება და ა.შ) ალმები შეიძლება ანალიზდებოდნენ მარ-

23
თვის მოწყობილობაში პროგრამის ბრძანებების შესრულების შემდგომი
თანმიმდევრობის შესახებ გადაწყვეტილების მიღების მიზნით.
მართვის მოწყობილობა და არითმეტიკულ-ლოგიკური მოწყობი-
ლობა მჭიდრო ურთიერთკავშირშია და მათ ჩვეულებრივ განიხილავენ
როგორც ერთ მოწყობილობას, ცნობილს ცენტრალური პროცესორის
სახელით ან უბრალოდ პროცესორად. მართვის მოწყობილობისა და
არითმეტიკულ-ლოგიკური მოწყობილობის გარდა პროცესორში აგ-
რეთვე შედის საერთო დანიშნულების რეგისტრთა ნაკრები, რომლებიც
ემსახურებიან ინფორმაციის შუალედურ შენახვას პროცესორში მისი
დამუშავების დროს.

1.4. გამომთვლელი მანქანებისა და სისტემების


სტრუქტურათა ტიპები

გამომთვლელი მანქანებისა და სისტემების არქიტექტურის უპი-


რატესობები და ნაკლოვანებები დამოკიდებულია კომპონენტთა შეერ-
თების ხერხზე. ყველაზე უფრო ზოგადი მიდგომისას შეიძლება ვილა-
პარაკოთ გამომთვლელი მანქანების სტრუქტურათა ორ ძირითად ტიპ-
ზე და გამოთვლითი სისტემების სტრუქტურათა ორ ტიპზე.

1.4.1. გამომთვლელი მანქანების სტრუქტურები

დღეისათვის დაახლოებით ერთნაირი გავრცელება ჰპოვა გამომ-


თვლელი მანქანის აგების ორმა ხერხმა: უ შ უ ა ლ ო კ ა ვ შ ი რ ე ბ ი თ
და ს ა ლ ტ ი ს ს ა ფ უ ძ ვ ე ლ ზ ე.
პირველი ხერხის ტიპიურ წარმომადგენლად შეიძლება განვიხი-
ლოთ ფონ-ნეიმანისეული გამომთვლელი მანქანა (ნახ. 1.8.). მასში ურ-
თიერთმოქმედ მოწყობილობებს (პროცესორი, მეხსიერება, შეტა-

24
ნა/გამოტანის მოწყობილობები) შორის არსებობენ უშუალო კავშირები.
კავშირთა თავისებურებები (სალტეებში ხაზთა - ფიზიკური გამტარე-
ბის რიცხვი, გამტარუნარიანობა და ა.შ) განსაზღვრულია ინფორმაციის
სახით, გაცვლის ხასიათით და ინტენსივობით. უშუალო კავშირებიანი
არქიტექტურის უპირატესობად შეიძლება ჩაითვალოს „ვიწრო ადგი-
ლების“ გადაჭრის შესაძლებლობა მხოლოდ განსაზღვრული კავშირებ-
ის სტრუქტურისა და მახასიათებლების გაუმჯობესების გზით, რაც
ეკონომიკური თვალსაზრისით შეიძლება ყველაზე ხელსაყრელი იყოს.
ფონ-ნეიმანისეულ გამომთვლელ მანქანებში ასეთ „ვიწრო ადგილს“
წარმოადგენს ცენტრალურ პროცესორსა და მეხსიერებას შორის მონა-
ცემთა გადაგზავნის არხი, და მისი „გადაჭრა“ საკმაოდ რთულია. გარ-
და ამისა, უშუალო კავშირებიანი გამომთვლელი მანქანები ცუდად ექ-
ვემდებარებიან გადაწყობას ანუ რეკონფიგურაციას.
საერთო სალტიან ვარიანტში გამომთვლელი მანქანის ყველა მო-
წყობილობა მიერთებულია მაგისტრალურ არხზე, რომელიც ერთადერ-
თი ტრაქტია ბრძანებების, მონაცემების და მართვის ნაკადებისათვის
(ნახ. 1.9.). საერთო სალტის არსებობა არსებითად ამარტივებს გამომ-

ნახ. 1.9. საერთო სალტიანი გამომთვლელი მანქანის სტრუქტურა

25
თვლელი მანქანის რეალიზაციას, საშუალებას იძლევა ადვილად შეიც-
ვალოს მანქანის შემადგენლობა და კონფიგურაცია. ამ თვისებათა საშუ-
ალებით სალტურმა არქიტექტურამ ფართო გავრცელება ჰპოვა მინი და
მიკრო ეგმ-ებში. ამასთან ერთად, სწორედ სალტესთანაა დაკავშირებუ-
ლი არქიტექტურის ძირითადი ნაკლი: დროის თითოეულ მომენტში
სალტით ინფორმაციის გაცემა შეუძლია მხოლოდ ერთ მოწყობილობას.
სალტეზე ძირითად დატვირთვას ქმნიან გაცვლები პროცესორსა და
მეხსიერებას შორის, დაკავშირებულნი მეხსიერებიდან ბრძანებებისა
და მონაცემების ამოღებით და გამოთვლის შედეგების მეხსიერებაში
ჩაწერით. შეტანა/გამოტანის ოპერაციებზე რჩება სალტის გამტარუნა-
რიანობის შესაძლებლობათა მხოლოდ ნაწილი. პრაქტიკა გვიჩვენებს,
რომ საკმაოდ სწრაფი სალტის დროსაც კი დამატებათა 90%-ისათვის ეს
დამატებითი რესურსები საკმარისი არაა, განსაკუთრებით მონაცემების
დიდი მასივების შეტანის და გამოტანის დროს.
მთლიანობაში უნდა ვაღიაროთ, რომ ბრძანებათა თანმიმდევრო-
ბითი ფონ-ნეიმანისეული კონცეფციის შენარჩუნებისას სალტური არ-
ქიტექტურა „წმინდა“ სახით არასაკმარისად ეფექტურია. უფრო მეტა-
დაა გავრცელებული ა რ ქ ი ტ ე ქ ტ უ რ ა ი ე რ ა რ ქ ი უ ლ ი ს ა ლ -
ტ ე ე ბ ი თ, სადაც მაგისტრალური სალტის გარდა არის კიდევ რამდე-
ნიმე დამატებითი სალტე. მათ შეუძლიათ განახორციელონ უშუალო
კავშირები ყველაზე ინტენსიური გაცვლის მქონე მოწყობოლობებს შო-
რის, მაგალითად პროცესორსა და კეშ-მეხსიერებას შორის. დამატებითი
სალტეების გამოყენების მეორე ვარიანტია შეტანა/გამოტანის ერთტი-
პიური მოწყობილობების გაერთიანება შემდგომი გამოსვლით დამატე-
ბითი სალტიდან მაგისტრალურზე. ყველა ეს ზომა საშუალებას იძლევა
შემცირდეს დატვირთვა საერთო სალტეზე და უფრო ეფექტურად იქნეს
გამოყენებული მისი გამტარიანობა.

26
1.4.2. გამოთვლითი სისტემების სტრუქტურები

ცნება „გამოთვლითი სისტემა“ გულისხმობს პროცესორთა ან


დასრულებულ გამომთვლელ მანქანათა სიმრავლეს, რომელთა გაერ-
თიანებისას გამოიყენება ორიდან ერთ-ერთი მიდგომა.
გამოთვლით ს ი ს ტ ე მ ე ბ შ ი ს ა ე რ თ ო მ ე ხ ს ი ე რ ე ბ ი თ
(ნახ. 1. 10.) საერთოა ძირითადი მეხსიერება, ერთობლივად გამოყენე-
ბული სისტემის ყველა პროცესორის მიერ. პროცესორთა კავშირი მეხ-
სიერებასთან უზრუნველყოფილია კომუნიკაციური ქსელის საშუალე-
ბით, რომელიც უფრო ხშირად გარდაქმნილია საერთო სალტეში. ამრი-
გად, საერთო მეხსიერებიანი გამოთვლითი სისტემის სტრუქტურა ანა-
ლოგიურია ზემოთ განხილული საერთო სალტიანი არქიტექტურის,
რის გამოც მისთვის დამახასიათებელია იგივე ნაკლოვანებები. გამოთ-
ვლით სისტემაში გამოყენებისას მოცემულ სქემას გააჩნია დამატებითი
უპირატესობები: პროცესორებს შორის ინფორმაციის გაცვლა არაა
დაკავშირებული დამატებით ოპერაციებთან და უზრუნველყოფილია
მეხსიერების საერთო ზონებთან მიღწევადობით.

ნახ. 1. 10. საერთო მეხსიერების მქონე გამომთვლელი სისტემის


სტრუქტურა
ორგანიზაციის ალტერნატიული ვარიანტია გ ა ნ ა წ ი ლ ე ბ უ -
ლი სისტემა, სადაც საერთო მეხსიერება არ არის, ხოლო თითოეულ
პროცესორს გააჩნია საკუთარი ლოკალური მეხსიერება (ნახ. 1. 11.). ხში-
რად ასეთი სისტემები აერთიანებენ ცალკეულ (დამოუკიდებელ) გა-
მომთვლელ მანქანებს. სისტემის შემადგენლობას შორის ინფორმაციის

27
გაცვლა უზრუნველყოფილია კომუნიკაციური ქსელის საშუალებით
შეტყობინებათა გაცვლის გზით.

ნახ. 1. 11. განაწილებული გამოთვლითი სისტემის სტრუქტურა

გამოთვლითი სისტემის ამგვარი აგება ხსნის საერთო სალტისა-


თვის დამახასიათებელ შეზღუდვებს, მაგრამ იწვევს დამატებით დანა-
ხარჯებს შეტყობინებათა გადაგზავნაზე პროცესორებს ან მანქანებს შო-
რის.

1.5. გამომთვლელი მანქანებისა და გამომთვლელი


სისტემების გაუმჯობესების პერსპექტივები

გამომთვლელი მანქანებისა და სისტემების არქიტექტურის გაუმ-


ჯობესობა დაიწყო პირველი გამომთვლელი მანქანების გამოჩენის მო-
მენტიდან და არ მთავრდება დღესაც. არქიტექტურაში თითოეული
ცვლილება მიმართულია წარმადობის აბსოლუტურ გაზრდაზე ან, უკი-

28
დურეს შემთხვევაში, განსაზღვრული კლასის ამოცანების უფრო ეფექ-
ტურ ამოხსნაზე. არქიტექტურათა ევოლუციას განსაზღვრავენ სრულე-
ბით განსხვავებული ფაქტორები - ტექნოლოგია, პარალელიზმი, ღირე-
ბულება, ოპერაციული სისტემები, დამატებები და სხვა. თითოეული
მათგანის როლის დაუკნინებლად საჭიროა ვაღიაროთ, რომ გამოთვლი-
თი ტექნიკის საშუალებათა დამუშავებისას ყველაზე მკაფიო წარმატე-
ბები დაკავშირებულია ტექნოლოგიურ მიღწევებთან.
თითოეული ახალი ტექნოლოგიური წარმატებისას არქიტექტუ-
რული იდეებიდან ბევრი გადადის პრაქტიკული რეალიზაციის დონე-
ზე.
ტექნოლოგიური პროგრესი ავსებს მნიშვნელოვან ცვლილებებს
გამომთვლელი მანქანების არქიტექტურაში. უპირველეს ყოვლისა, ეს
ეხება გამომთვლელი მანქანის პროცესორის შემადგენლობაში ინდექ-
სური რეგისტრების გაჩენას, რამაც გაამარტივა მასივის ელემენტებთან
მიღწევა. უპირველესად, მასივის ელემენტთა ციკლური დამუშავები-
სას, აუცილებელი იყო ბრძანების კოდის მოდიფიცირება, კერძოდ, მას-
ში დამახსოვრებული მასივის ელემენტის მისამართის, როგორც შედე-
გი, გამოთვლების მიმდინარეობისას ზოგიერთი ბრძანების კოდის
მუდმივად იცვლებოდნენ, რაც ართულებდა პროგრამის გამართვას.
ინდექსური რეგისტრების გამოყენებით მასივის ელემენტის მისამართი
გამოითვლება როგორც ჯამი ბრძანების სამისამართო ნაწილისა და ინ-
დექსური რეგისტრის შემცველობისა. ეს საშუალებას იძლევა შესრულ-
დეს მიმართვა მასივის ნებისმიერ ელემენტზე ბრძანების კოდზე ხელ-
შეუხებლად, მხოლოდ ინდექსური რეგისტრის შემცველობის მოდიფი-
ცირების გზით.
გამომთვლელი მანქანის სტრუქტურაში მეორე პრინციპული
ცვლილება გახდა მცურავი მძიმის ფორმატში რიცხვთა დამუშავების
აპარატურული ბლოკის დამატება. მანამდე ნამდვილ რიცხვთა დამუშა-
ვება ხორციელდებოდა ქვეპროგრამათა მეშვეობით, რომელთაგან თი-
თოეული ახდენდა მცურავი მძიმით რაღაც ოპერაციის (შეკრება, გამ-

29
რავლება და ა.შ.) შესრულების იმიტაციას, იყენებდა რა ამ მიზნით ჩვე-
ულებრივ მთელრიცხვა არითმეტიკულ-ლოგიკურ მოწყობილიბას.
მესამე მნიშვნელოვანი ცვლილება გამომთვლელი მანქანის არქი-
ტექტურაში ესაა გამომთვლელი მანქანის შემადგენლობაში შეტანა/გა-
მოტანის პროცესორების შემოტანა, რომლებმაც გამოათავისუფლეს ცენ-
ტრალური პროცესორის შეტანა/გამოტანის მართვის რუტინული ოპე-
რაციებისაგან და უზრუნველყოფს „მეხსიერება - შეტანა/გამოტანის მო-
წყობილობა“ ტრაქტის უფრო მაღალი გამტარუნარიანობას.
გამომთვლელი მანქანების არქიტექტურაში ერთ-ერთი უმნიშ-
ვნელოვანესი მოვლენა გახდა იდეა ბრძანებათა შეკვეცილ ნაკრებიანი
გამომთვლელი მანქანების აგებისა (RISC, Redused Instruction Set Compu-
ter), რომელიც წამოყენებულ იქნა 1975 წელს და პირველი რეალიზაცია
ჰპოვა 1980 წელს. გამარტივებულად RISC კონცეფციის არსი მდგომარე-
ობს გამომთვლელი მანქანის ბრძანებათა ნაკრების დაყვანაზე ყველაზე
მეტად გამოყენებულ უმარტივეს ბრძანებებამდე. ეს საშუალებას იძლე-
ვა პროცესორის სქემოტექნიკის გამარტივებისა და თითოეული „მარტი-
ვი“ ბრძანების შესრულების დროის მკვეთრად შემცირებისა. უფრო
რთული ბრძანებები რეალიზებულია როგორც ქვეპროგრამები, შედგე-
ნილნი სწრაფი „მარტივი“ ბრძანებებისაგან.
მეხუთე თაობის გამოთვლითი სისტემების არქიტექტურაში შე-
იქმნა ორი პრინციპულად განსხვავებული მიდგომა: არქიტექტურა ერ-
თობლივად გამოყენებული მეხსიერებით და არქიტექტურა განაწილე-
ბული მეხსიერებით.
და ბოლოს, მესამე მიმართულება მეხუთე თაობის გამოთვლითი
სისტემების არქიტექტურაში ესაა გამოთვლითი სისტემები, რომლებ-
შიც რამდენიმე ათასი საკმაოდ მარტივი პროცესორი მუშაობს საერთო
მართვის მოწყობილობის მართვით და ერთდროულად ასრულებს ერ-
თი და იგივე ოპერაციებს, მაგრამ თითოეული საკუთარ მონაცემებზე.
საერთოდ გამომთვლელი მანქანებისა და გამომთვლელი სისტე-
მების არქიტექტურათა კვლევაში ძირითადი მიმართულებები პირობი-
თად შეიძლება დაიყოს ორ ჯგუფად : ევოლუციურად და რევოლუციუ-

30
რად. პირველ ჯგუფს მიეკუთვნებიან ის კვლევები, რომელთა მიზეზ-
საც წარმოადგენს უკვე საკმაოდ ცნობილი იდეების რეალიზაციის მე-
თოდების სრულყოფა. გამოკვლევები, რომლებსაც პირობითად რევო-
ლუციური ჰქვიათ, მიმართულნი არიან უკვე ტრადიციულებად ქცეულ
ფონ-ნეიმანისეული სრულებით ახალი არქიტექტურების შექმნაზე.
ევოლუციური კვლევების უმრავლესობა დაკავშირებულია მიკ-
როპროცესორების არქიტექტურათა სრულყოფაზე. პრინციპში მიკრო-
პროცესორებში კარდინალურად ახალი არქიტექტურული მიდგომების
რაოდენობა შედარებით მცირე. ძირითადი იდეები, რომლებიც საფუძ-
ვლად უდევთ თანამედროვე მიკროპროცესორებს, წამოყენებული იყ-
ვნენ მრავალი წლის წინ, მაგრამ ტექნოლოგიის არასრულყოფილებისა
და რეალიზაციის მაღალი ღირებულების გამო გამოყენება ჰპოვეს მხო-
ლოდ დიდ უნივერსალურ გამომთვლელ მანქანებში (მეინფრეიმებში)
და სუპერ ეგმ-ებში. მიკროპროცესორთა არქიტექტურაში ყველაზე მე-
ტად მნიშვნელოვანი ცვლილებები დაკავშირებულნი არიან ბრძანებათა
დონეზე პარალერულობის დონის ამაღლებასთან (რამდენიმე ბრძანებ-
ის ერთდროულად შესრულების შესაძლებლობა). აქ პირველ რიგში
უნდა ავღნიშნოთ კონვეიერიზაცია, სუპესკალარული დამუშავება და
არქიტექტურა ზეგრძელი ბრძანებითი სიტყვებით (VLIW). „დიდი“ სის-
ტემების გლობალური არქიტექტურული მიდგომების მიკროპროცესო-
რებზე წარმატებით გადატანის შემდეგ მკლევართა ძირითადი ძალის-
ხმევა უკვე მიმართულია კერძო არქიტექტურულ ცვლილებებზე. ასეთი
ევოლუციური არქიტექტურების მაგალითებს წარმოადგენენ: ბრძანება-
თა კონვეირებში პროგნოზირების მეთოდების გაუმჯობესება, კეშ-მეხ-
სიერებაზე წარმატებულ მიმართვათა სიხშირის ზრდა ბუფერიზაციის
ხერხების გართულების ხარჯზე და ა.შ.
ფართო გამოყენების გამოთვლით საშუალებათა სფეროში გან-
ხორციელებული მიღწევები ჯერ-ჯერობით განპირობებულნი არიან
სწორედ „ევოლუციური“ კვლევებით. მაგრამ ახლავეა ცხადი, რომ ტრა-
დიციული არქიტექტურის ჩარჩოში დარჩენით, ჩვენ საკმაოდ მალე შე-
ვეჯახებით ტექნოლოგიურ შეზღუდვებს. ტექნოლოგიური ბარიერის

31
დაძლევის ერთ-ერთი გზა არატრადიციულ მიდგომებშია. ამ მიმართუ-
ლებით ჩატარებული კვლევები, ჩვენი კლასიფიკაციით „რევოლუციუ-
რებს“ მიეკუთვნებიან. ასეთი მტკიცებულებების სამართლიანობა დას-
ტურდება არატრადიციული არქიტექტურის გამოთვლით სისტემების
პირველი ნიმუშებით.
ვაფასებთ რა გამოთვლითი ტექნიკის ევოლუციური და რევო-
ლუციური პერსპექტივებს, შეიძლება ვამტკიცოთ, რომ ახლო მომავალ-
ში დიდ პროგრესს შეძლება ველოდოთ პარალელურობის იდეების გა-
მოყენებისა და დამახსოვრების მოწყობილობათა ეფექტური იერარქიის
შექმნის გზაზე.

32
2. ბრძანებათა სისტემის არქიტექტურა

გამომთვლელი მანქანის ბ რ ძ ა ნ ე ბ ა თ ა ს ი ს ტ ე მ ა ეწოდება


ბრძანებათა სრულ ჩამონათვალს, რომლის შესრულებაც შეუძლია მო-
ცემულ გამომთვლელ მანქანას. თავის მხრივ, ბ რ ძ ა ნ ე ბ ა თ ა ს ი ს -
ტ ე მ ი ს ა რ ქ ი ტ ე ქ ტ უ რ ი ს ქვეშ მიღებულია განისაზღვროს გა-
მომთვლელი მანქანის ის საშუალებები, რომლებსაც ხედავს პროგრა-
მისტი და ის მისაწვდომია მისთვის. ბრძანებათა სისტემის არქიტექტუ-
რა შეიძლება განვიხილოთ, როგორც შეთანხმების ხაზი პროგრამული
უზრუნველყოფის დამმუშავებელთა საჭიროებებსა და გამომთვლელი
მანქანის აპარატურის შემქმნელთა შესაძლებლობებს შორის.
საბოლოოდ, როგორც პირველთა ისე მეორეთა მიზანია გამოთ-
ვლათა რეალიზაცია ყველაზე უფრო ეფექტური სახით, ე. ი. მინიმა-
ლურ დროში, და აქ უმნიშვნელოვანეს როლს თამაშობს ბრძანებათა
სისტემის არქიტექტურის სწორი შერჩევა.
გამარტივებულად პროგრამის შესრულების დრო (Tგამოთ) შე-
იძლება განისაზღვროს პროგრამაში ბრანებათა რიცხვის ( Nბრძ), ერთ
ბრძანებაზე მოსული პროცესორის ტაქტების საშუალო რაოდენობის
(CPI) და ტაქტური პერიოდის ხანგრძლივობის (τპრ) საშუალებით:
Tგამოთ = Nბრძ x CPI x τპრ
გამოსახულების თითოეული შემადგენელი დამოკიდებულია
ბრძანებათა სისტემის არქიტექტურის ერთ ასპექტზე და თავის მხრივ,
მოქმედებს სხვებზე, რაც მეტყველებს ბრძანებათა სისტემის არქიტექ-
ტურის არჩევისადმი საგანგებოდ პასუხისმგებლური მიდგომის აუცი-
ლებლობაზე.
გამომთვლელი მანქანის ბრძანებათა სისტემის არქიტექტურის
ზოგადი დახასიათებისათვის საჭიროა პასუხი გაეცეს შემდეგ შეკითხ-
ვებს:

33
1. რა სახის მონაცემები იქნებიან წარმოდგენილი გამომთვლელ
მანქანაში და რა ფორმით?
2. სად შეიძლება შენახულ იქნას ეს მონაცემები გარდა ძირითადი
მეხსიერებისა?
3. როგორ განხორციელდება მონაცემებთან მიღწევა?
4. რა ოპერაციები შეიძლება შესრულდეს მონაცემებზე?
5. რამდენი ოპერანდი შეიძლება იყოს ბრძანებაში?
6. როგორ მოხდება მომდევნო ბრძანების მისამართის განსაზღვ-
რა?
7. როგორ იქნებიან ბრძანებები კოდირებული?

2.1. ბრძანებათა სისტემის არქიტექტურის


კლასიფიკაცია

დღეისათვის ჩამოყალიბებული ბრძანებათა სისტემის არქიტექ-


ტურის კლასიფიკაცია მოყვანილია ნახ.2.1-ზე.
ბრძანებათა სისტემის არქიტექტურის ახალ ტიპზე გადასვლის
განმსაზღვრელ მოტივებს შორის შევჩერდებით ორ უფრო არსებითზე.
პირველი - გამომთვლელი მანქანის მიერ შესრულებულ ოპერაციათა
შემადგენლობა და მათი სირთულე; მეორე - ოპერანდების შენახვის ად-
გილი, რაც მოქმედებს მონაცემთა დამუშავების ბრძანებების სამისამარ-
თო ნაწილში მითითებული მისამართების რაოდენობაზე და სიგრძეზე.
სწორედ ეს მონაცემებია აღებული ბრძანებათა სისტემის არქიტექტუ-
რის ქვემოთ მოყვანილი კლასიფიკაციის ვარიანტებში კრიტერიუმე-
ბად.

34
ნახ. 2.1. ბრძანებათა სისტემის არქიტექტურათა განვითარების
ქრონოლოგია

35
კლასიფიკაცია ბრძანებათა შემადგენლობასა და
სირთულის მიხედვით
პროგრამირების თანამედროვე ტექნოლოგია ორიენტირებულია
მაღალი დონის ენებზე, რომელთა მთავარი მიზანია დაპროგრამების
პროცესის გამარტივება. ოღონდ, მაღალი დონის ენებზე გადასვლამ
წარმოშვა სერიოზული პრობლემა. მაღალი დონის ენებისათვის და-
მახასიათებელი რთული ოპერატორები არსებითად განსხვავდებიან
უმრავლეს გამომთვლელ მანქანებში რეალიზებული მარტივი მანქანუ-
რი ოპერაციებისაგან. პრობლემამ მიიღო ს ე მ ა ნ ტ ი კ უ რ ი გ ა რ ღ -
ვ ე ვ ი ს სახელწოდება, ხოლო შედეგად მივიღეთ გამომთვლელ მანქა-
ნაზე პროგრამების შესრულების არასაკმარისი ეფექტურობა. სემანტი-
კური გარღვევის გადასალახავად გამომთვლელი მანქანების დამმუშა-
ვებლები ირჩევენ სამიდან ერთ-ერთ მიდგომას და შესაბამისად, ბრძა-
ნებათა სისტემის არქიტექტურის სამიდან ერთ-ერთ ტიპს.
- არქიტექტურას ბრძანებათა სრული ნაკრებით:
CISC (Complex Instruction Set computer);
- არქიტექტურას ბრძანებათა შეკვეცილი ნაკრებით:
RISC (Redukal Insruktion Set Computer);
- არქიტექტურას ზეგრძელი ბრძანებითი სიტყვებით:
VLIW (Very long Ins’truction Word).
CISC ტიპის გამომთვლელ მანქანებში სემანტიკური გარღვევის
პრობლემა წყდება ბრძანებათა სისტემის გაფართოების ხარჯზე, ბრძა-
ნებათა სისტემის არქიტექტურაში ოპერატორების სემანტიკურად ანა-
ლოგიური რთული ბრძანებების დამატებით. CISC -არქიტექტურის
დამფუძნებლად ითვლება IBM კომპანია, რომელმაც მოცემული მიდ-
გომის გამოყენება დაიწყო IBM 360 ოჯახის მანქანებიდან და აგრძე-
ლებს მას თავის მძლავრ თანამედროვე უნივერსალურ მანქანებში, რო-
გორიცაა IBM ES/ 9000. ანალოგიური მიდგომა დამახასიათებელია Intel
კომპანიისათვისაც მის 8086 და Pentium სერიის მიკროპროცესორებში.
CISC არქიტექტურისათვის დამახასიათებელია:

36
- პროცესორში საერთო დანიშნულების შედარებით მცირე რიცხ-
ვის რეგისტრების არსებობა;
- მანქანური ბრძანებების დიდი რიცხვი, რომელთაგან ზოგიერ-
თი აპარატურულად ახორციელებს ბრძანებათა სისტემის არქიტექტუ-
რის რთული ოპერატორების რეალიზაციას;
- ოპერანდების დამისამართების ხერხების მრავალფეროვნება;
- სხვადასხვა თანრიგის ბრძანებათა ფორმატების სიმრავლე;
- იმ ბრძანებათა არსებობა, რომლებშიც დამუშავება შეთავსებუ-
ლია მეხსიერებაზე მიმართვას.
CISC ტიპს შეიძლება მივაკუთვნოთ 1980-იანი წლების შუამდე
გამოშვებული პრაქტიკულად ყველა გამომთვლელი მანქანა და დღეს
გამოშვებული მანქანების უმრავლესობა. სემანტიკური გარღვევის
პრობლემის გადაჭრის განხილულ ხერხს იმავდროულად მივყავართ
გამომთვლელი მანქანის აპარატურის გართულებასთან, განსაკუთრე-
ბით მართვის მოწყობილობის, რაც, თავის მხრივ, ნეგატიურად აისა-
ხება მთლიანობაში გამომთვლელი მანქანის წარმადობაზე. ამან აიძუ-
ლა დამმუშავებლები უფრო ყურადღებით გაეანალიზებინათ ბრძანება-
თა სისტემის არქიტექტურიდან კომპილაციის შედეგად მიღებული
პროგრამები.
კომპლექსური კვლევების ჩატარების შემდეგ დადგინდა, რომ
ბრძანებათა სისტემის არქიტექტურის ოპერატორების ჩატარების ექვი-
ვალენტური დამატებითი ბრძანებების წილი პროგრამათა საერთო მო-
ცულობაში არ აღემატება 10-20%-ს, ხოლო ზოგიერთი ფრიად რთული
ბრძანებისა 0,2%-ს. ამასთან, დამატებითი ბრძანებების რეალიზაციი-
სათვის საჭირო აპარატურული საშუალებების მოცულობა მნიშვნე-
ლოვნად იზრდება. ასე, მაგალითად, მიკროპროგრამული მეხსიერების
ტევადობა რთული ბრძანებების მხარდაჭერის დროს შეიძლება 60% -
ით გაიზარდოს.
აღნიშნული კვლევების შედეგების დეტალურმა ანალიზმა მიგ-
ვიყვანა ტრადიციული გადაწყვეტილებების სერიოზულ გადაფასება-
მდე, რისი შედეგიც გახდა RISC - ა რ ქ ი ტ ე ქ ტ უ რ ი ს შექმნა. ტერმი-

37
ნი RISC პირველად 1980 წელს იქნა გამოყენებული. იდეა მდგომარეობს
გამომთვლელი მანქანის ბრძანებათა სიის შეზღუდვაში ყველაზე ხში-
რად გამოყენებული უმარტივესი ბრძანებებით, რომლებიც ოპერირებენ
მხოლოდ პროცესორის რეგისტრებში განლაგებულ მონაცემებზე. მეხ-
სიერებაზე მიმართვა დასაშვებია წაკითხვასა და ჩაწერის მხოლოდ სპე-
ციალური ბრძანებების საშუალებით მკვეთრადაა შემცირებული ბრძა-
ნებათა ფორმატები და ოპერანდების მისამართების მითითების ხერხე-
ბი. ბრძანებების ფორმატების რიცხვის შემცირება და მათი სიმარტივე,
დამისამართების ხერხების შეზღუდული რაოდენობის გამოყენება, მო-
ნაცემთა დამუშავების ოპერაციების განცალკევება მეხსიერებაზე მიმარ-
თვის ოპერაციებიდან, საშუალებას იძლევა მნიშვნელოვნად გამარტივ-
დეს გამომთვლელი მანქანის აპარატურული საშუალებები და გაიზარ-
დოს მათი სწრაფქმედება. RISC არქიტექტურა ისე მუშავდებოდა, რომ
შემცირებულიყო Tგამოთ CPI -ის და τპრ -ს შემცირების ხარჯზე. როგორც
შედეგი, რთული ბრძანებების რეალიზაცია მარტივი, მაგრამ სწრაფი
RISC- ბრძანებების თანმიმდევრობით არა ნაკლებ ეფექტურია, ვიდრე
რთული ბრძანებების აპარატურული ვარიანტი CISC არქიტექტურაში.
RISC- არქიტექტურის ელემენტები პირველად გამოჩნდნენ კომ-
პანია Cray Resakch-ის CDC 6600 გამომთვლელ მანქანებსა და სუპერ
ეგმ-ში. საკმაოდ წარმატებით რეალიზდება RISC -არქიტექტურა თანა-
მედროვე გამომთვლელ მანქანებში.
ავღნიშნოთ, რომ ფირმა Intel-ის და AMD-ს ბოლო მიკროპროცე-
სორებში ფართოდ გამოიყენებიან RISC-არქიტექტურისათვის დამახა-
სიათებელი იდეები; ასე, რომ ბევრი განსხვავება CISC-სა და RISC-ს
შორის თანდათან ქრება.
საერთო კლასიფიკაციაში CISC და RISC არქიტექტურების გარდა
მოხსენიებული იყო ბრძანებათა სისტემის არქიტექტურის კიდევ ერთი
ტიპი - არქიტექტურა ზეგრძელი ბრძანებითი სიტყვებით (VLIW). კონ-
ცეფცია VLIW ეფუძნება RISC-არქიტექტურას, სადაც რამდენიმე მარ-
ტივი RISC-ბრძანება ერთიანდება ერთ ზეგრძელ ბრძანებაში და პარა-
ლელურად სრულდება. ბრძანებების სისტემური არქიტექტურის

38
თვალსაზრისით VLIW არქიტექტურა შედარებით ნაკლებად განსხვავ-
დება RISC-საგან. გაჩნდა მხოლოდ პარალელურ გამოთვლათა დამატე-
ბითი დონე, რის გამოც VLIW არქიტექტურა უფრო ლოგიკურია
განვიხილოთ არა გამომთვლელ მანქანებში, არამედ გამოთვლით სის-
ტემებში.
ცხრილი 1 საშულებას იძლევა შეფასდეს ყველაზე მეტად არსები-
თი განსხვავებები CISC, RISC, და VLIW არქიტექტურებს შორის.
ცხრილი 1.
მახასიათებელი CISC RISC VLIW
ბრძანების
ვარირებს ერთიანი ერთიანი
სიგრძე
ველების
განლაგება ვარირებს უცვლელია უცვლელია
ბრძანებაში
რამდენიმე საერთო დანიშ- საერთო დანიშ-
რეგისტრების
(ხშირად სპეცი- ნულების ბევრი ნულების ბევრი
რაოდენობა
ალიზებული) რეგისტრი რეგისტრი
შეიძლება შეს-
სრულდება სრულდება
რულდეს როგორც
მეხსიერებასთან მხოლოდ მხოლოდ
სხვადასხვა ტიპის
მიღწევა სპეციალური სპეციალური
ბრძანებათა
ბრძანებებით ბრძანებებით
ნაწილი

კლასიფიკაცია ოპერანდების შენახვის ადგილის მიხედვით


ბრძანებათა რაოდენობა და მათი სირთულე, მართლაც მნიშვნე-
ლოვანი ფაქტორებია, მაგრამ ბრძანებათა სისტემის არქიტექტურის
არჩევისას არანაკლებ როლს თამაშობს პასუხი კითხვაზე, თუ სად უნდა
ინახებოდნენ ოპერანდები და რა სახით უნდა განხორციელდეს მათთან
მიღწევა. ამ პოზიციებიდან ანსხვავებენ ბრძანებათა სისტემის არქიტექ-
ტურის შემდეგ სახეებს:
- სტეკური;
- აკუმულატორული;
- რეგისტრული;

39
- მეხსიერებასთან გამოყოფილი მიღწევით;
ამა თუ იმ არქიტექტურის არჩევა მოქმედებს შემდეგ პრინციპულ
მომენტებზე: რამდენი მისამართი იქნება ბრძანების სამისამართო ნა-
წილში, როგორი იქნება ამ ბრძანებების სიგრძე, რამდენად მარტივად
განხორციელდება ოპერანდებთან მიღწევა და, საბოლოოდ, როგორი
იქნება ბრძანების საერთო სიგრძე.

სტეკური ა რ ქ ი ტ ე ქ ტ უ რ ა. ს ტ ე კ ი ეწოდება მეხსიე-


რებას, რომელიც თავისი სტრუქტურული ორგანიზაციით განსხვავებუ-
ლია გამომთვლელი მანქანის ძირითადი მეხსიერებისაგან. სტეკური
მეხსიერების აგების პრინციპებს დეტალურად მოგვიანებით განვიხი-
ლავთ, აქ კი გამოვყოფთ მხოლოდ იმ ასპექტებს, რომლებიც გვესაჭირო-
ება სტეკის საფუძველზე ბრძანებათა სისტემის არქიტექტურის თავისე-
ბურებების განმარტებისათვის.
სტეკი ქმნის ლოგიკურად ურთიერთდაკავშირებულ უჯრედთა
სიმრავლეს (ნახ.2.2) რომლებიც ურთიერთქმედებენ პრინციპით „ბოლო
შევიდა, პირველი გამოვიდა“ (LIFO, Last In First Out).

ნახ.2.2. სტეკური მეხსიერების მოქმედების პრინციპი


ზედა უჯრედს ს ტ ე კ ი ს წ ვ ე რ ო ს უწოდებენ. სტეკთან სა-
მუშაოდ გათვალისწინებულია ორი ოპერაცია: push (მონაცემთა შეტანა
სტეკში) და pop ( მონაცემთა სტეკიდან გამოტანა). ჩაწერა შეიძლება
მხოლოდ სტეკის ზედა უჯრედში, ამასთან სტეკში შენახული მთელი

40
ინფორმაცია წინასწარ იძვრის ერთი პოზიციით ქვევით. წაკითხვა და-
საშვებია აგრეთვე მხოლოდ სტეკის წვეროდან. ამოღებული ინფორმა-
ცია იშლება სტეკიდან, ხოლო მისი დარჩენილი ნაწილი იძვრის ზემოთ
გამომთვლელ მანქანებში, რომლებშიც ბრძანებათა სისტემის
არქიტექტურა რეალიზებულია სტეკის საფუძველზე (მათ ჩვეულებრივ
სტეკურებს ეძახიან), დამუშავების წინ ოპერანდები თავსდებიან
სტეკური მეხსიერების ორ ზედა უჯრედში. ოპერაციის შედეგი შეაქვთ
სტეკში.
სტეკური ბრძანებათა სისტემის არქიტექტურის საფუძველზე
აგებული მანქანის ერთ-ერთი შესაძლო ვარიანტის ძირითადი კვანძები
და ინფორმაციული ტრაქტები მოტანილია ნახ. 2.3-ზე.

ნახ. 2.3. სტეკის საფუძველზე აგებული გამომთვლელი მანქანის


არქიტექტურა

41
ინფორმაცია შეიძლება შეტანილი იყოს სტეკის წვეროში მეხსიე-
რებიდან ან არითმეტიკულ-ლოგიკური მოწყობილობიდან. სტეკში x
მისამართის მქონე უჯრედის შემცველობის ჩასაწერად სრულდება
ბრძანება push x, რომლის მიხედვითაც ინფორმაცია ამოიკითხება მეხ-
სიერების უჯრედიდან, შედის მონაცემთა რეგისტრში, ხოლო შემდეგ
ჩაიწერება (იძვრის) სტეკში. გამოთვლის შედეგი არითმეტიკულ-ლოგი-
კური მოწყობილობიდან ავტომატურად იწერება სტეკის წვეროში.
x მისამართის მეხსიერების უჯრედში სტეკის წვეროს შემცვე-
ლობის შენახვა ხორციელდება ბრძანებით pop x. ამ ბრძანებით სტეკის
ზედა უჯრედის შემცველობა მიეწოდება სალტეს, რომლითაც ხორცი-
ელდება ჩაწერა x უჯრედში, რის შემდეგაც სტეკში არსებული მთელი
ინფორმაცია იძვრის ერთი პოზიციით ზემოთ.
არითმეტიკული ან ლოგიკური ოპერაციის შესასრულებლად
არითმეტიკულ-ლოგიკური მოწყობილობის შესასვლელს მიეწოდება
სტეკის ორი ზედა უჯრედიდან წაკითხული ინფორმაცია (ამასთან სტე-
კის შემცველობა იძვრის ორი პოზიციის ზემოთ, ანუ ხდება სტეკიდან
ოპერანდების წაშლა). ოპერაციის შედეგი ჩაიწერება სტეკის წვეროში.
შესაძლოა ვარიანტი, როცა შედეგი პირდაპირ გადაიწერება მეხსიერება-
ში pop x ოპერაციის ავტომატური შესრულების საშუალებით.
სტეკური მეხსიერების ზედა უჯრედები, სადაც ინახებიან ოპე-
რანდები და სადაც იწერება ოპერაციის შედეგი, როგორც წესი, უფრო
სწრაფმოქმედნი მზადდებიან და თავსდებიან პროცესორში, მაშინ როცა
სტეკის დანარჩენი ნაწილი შეილება მოთავსებული იყოს როგორც
ძირითად მეხსიერებაში, ასევე ნაწილობრივ გარე მეხსიერებაში.
სტეკის საფუძველზე აგებული ბრძანებათა სისტემის არქიტექ-
ტურის უპირატესობებს უნდა მივაკუთვნოთ ბრძანებების სამისამარ-
თო ნაწილის შემცირების (შეკვეცის) შესაძლებლობა. ვინაიდან ყველა
ოპერაცია სრულდება სტეკის წვეროს გავლით, ამიტომ ოპერანდებისა
და შედეგების მისამართების მითითება ინფორმაციის დამუშავების
არითმეტიკულ და ლოგიკურ ბრძანებებში საჭირო არაა. პროგრამის

42
კოდი კომპაქტური გამოდის. საკმაოდ მარტივად ხორციელდება ბრძა-
ნებათა დეკოდირება.
მეორეს მხრივ, განსაზღვრების თანახმად სტეკური ბრძანებათა
სისტემის არქიტექტურა არ გულისხმობს მეხსიერებასთან ნებისმიერ
მიღწევას, რის გამოც კომპილიატორს ძლიერ უჭირს შექმნას ეფექტური
პროგრამული კოდი, თუმცა თავად კომპილიატორთა შექმნა მარტივ-
დება. გარდა ამისა, სტეკი ხდება გამომთვლელი მანქანის „ვიწრო ად-
გილი“ წარმადობის თვალსაზრისით. ზემოთმოყვანილი მიზეზების გა-
მო, ბრძანებათა სისტემის არქიტექტურის მოცემული სახე დიდი ხნის
განმავლობაში ითვლებოდა არაპერსპექტიულად და უმთავრესად
გვხვდებოდა 1960-იანი წლების გამომთვლელ მანქანებში, მაგალითად
ფირმა Burroughs ( B5500, B6500) ან ფირმა Hewlett-Packard (HP2116B,
HP3000/70) გამომთვლელ მანქანებში.
გამოთვლითი ტექნიკის სფეროში მომხდარი ბოლო მოვლენები
მეტყველებენ გამომთვლელი მანქანების სტეკური არქიტექტურის
აღორძინებისადმი ინტერესს. სტეკური ბრძანებათა სისტემის არქიტექ-
ტურის მქონე თანამედროვე გამომთვლელ მანქანებს შორის შეიძლება
ავღნიშნოთ Ajile Systems კომპანიის JEM 1 და JEM 2 და Chip ფირმის
Imsys მანქანები. განსაკუთრებული აღნიშვნის ღირსია კომპანია Patriot
Scientist სტეკური მანქანა IGNITE, რომელსაც მისი ავტორები თვლიან
ბრძანებათა სისტემის არქიტექტურის ახალი სახის წარმომადგენლად -
არქიტექტურა ბრძანებათა არაოპერანდული ნაკრებით. ასეთი გამომ-
თვლელი მანქანის აღნიშნვნისთვის ისინი გვთავაზობენ ROSC (Remo-
ved Operand Set Computer) აბრევიატურას. მკაცრად რომ ვიმსჯელოთ,
თავისი არსით ROSC ცოტათი განსხვავდება სტეკის საფუძველზე აგე-
ბული ტრადიციული არქიტექტურისაგან, და მისი ცალკე გამოყოფა
სრულყოფილად დასაბუთებულად არ გვეჩვენება.
აკუმულატორული ა რ ქ ი ტ ე ქ ტ უ რ ა. აკუმულატო-
რის საფუძველზე აგებულ გამომთვლელი მანქანის არქიტექტურა ის-
ტორიულად ერთ-ერთი პირველი შეიქმნა. მასში არითმეტიკული ან
ლოგიკური ოპერაციის ერთ-ერთი ოპერანდის შესანახად პროცესორში

43
არის გამოყოფილი რეგისტრი - ა კ უ მ უ ლ ა ტ ო რ ი. ამავე რეგისტრ-
ში შეაქვთ ოპერაციის შედეგიც. ვინაიდან ერთ-ერთი ოპერანდის მისა-
მართი თავიდანვე განსაზღვრულია, ამიტომ დამუშავების ბრძანებებში
საკმარისია ცხადად მივუთითოთ მხოლოდ მეორე ოპერანდის ადგილ-
მდებარეობა. თავიდან ორივე ოპერანდი ინახება ძირითად მეხსიერება-
ში და ოპერაციის შესრულებამდე მათგან ერთი საჭიროა ჩაიტვირთოს
აკუმულატორში. დამუშავების ბრძანების შესრულების შემდეგ შედეგი
ინახება აკუმულატორში და, თუ ის მომდევნო ბრძანებისათვის ოპე-
რანდი არაა, მაშინ საჭიროა მისი მეხსიერების უჯრედში შენახვა.
აკუმულატორის ბაზაზე აგებული გამომთვლელი მანქანის ტი-
პიური არქიტექტურა მოტანილია ნახ. 2.4-ზე.

ნახ.2.4. აკუმულატორის ბაზაზე აგებული გამომთვლელი მანქანის


არქიტექტურა

44
აკუმულატორში x უჯრედის შემცველობის ჩასატვირთავად გათ-
ვალისწინებულია ჩატვირთვის load x ბრძანება. ამ ბრძანებით ხდება
ინფორმაციის ამოკითხვა მეხსიერების x უჯრედიდან, მეხსიერების გა-
მოსასვლელი უერთდება აკუმულატორის შესასვლელებს და ხორცი-
ელდება ამოკითხული მონაცემების აკუმულატორში შეტანა.
x უჯრედში აკუმულატორის შემცველობის შეტანა ხორციელდე-
ბა დამახსოვრების store x ბრძანებით, რომლის შესრულების შემდეგაც
აკუმულატორის გამოსასვლელები უერთდებიან სალტეს, რის შემდე-
გაც ინფორმაცია სალტიდან იწერება მეხსიერებაში.
ოპერაციის შესასრულებლად არითმეტიკულ-ლოგიკურ მოწყო-
ბილობაში ხდება მეხსიერებიდან ერთ-ერთი ოპერანდის მონაცემთა
რეგისტრში გადმოწერა: მეორე ოპერანდი აკუმულატორში იმყოფება.
მონაცემთა რეგისტრისა და აკუმულატორის გამოსასვლელები უერთ-
დებიან არითმეტიკულ-ლოგიკურ მოწყობილობის შესაბამის შესასვლე-
ლებს. მიწერილი ოპერაციის დასრულების შემდეგ შედეგი არითმეტი-
კულ-ლოგიკურ მოწყობილობის გამოსასვლელიდან აკუმულატორში
შეიტანება.
ა კ უ მ უ ლ ა ტ ო რ უ ლ ი ბრძანებათა სისტემის არქიტექტურის
უპირატესობად შეიძლება ჩაითვალოს მოკლე ბრძანებების დეკოდირე-
ბის სიმარტივე. ოღონდ მხოლოდ ერთი რეგისტრის არსებობა იწვევს
ძირითად მეხსიერებაზე მრავალჯერად მიმართვებს.
ბრძანებათა სისტემის არქიტექტურები აკუმლატორის ბაზაზე
პოპულარულები იყვნენ ადრეულ გამომთვლელ მანქანებში, მაგალი-
თად ისეთებში, როგორებიცაა IBM 7090, DEC PDP-8, MOS 6502.
რ ე გ ი ს ტ რ უ ლ ი ა რ ქ ი ტ ე ქ ტ უ რ ა. მოცემული ტიპის მან-
ქანებში პროცესორი შეიცავს რეგისტრების მასივს, ცნობილს საერთო
დანიშნულების რეგისტრების სახელწოდებით. ეს რეგისტრები, რაღაც
აზრით, შეიძლება განვიხილოთ როგორც ცხადად მართვადი კეში ცოტა
ხნის წინ გამოყენებული მონაცემების შესანახად.
რეგისტრების ზომები ჩვეულებრივ ფიქსირებულია და ემთხვე-
ვიან მანქანური სიტყვის ზომებს. ნებისმიერ რეგისტრს შეიძლება მივ-

45
მართოთ მისი ნომრის მითითებით. საერთო დანიშნულების რეგისტ-
რების რაოდენობა CISC ტიპის არქიტექტურაში ჩვეულებრივ დიდი
არაა (8-დან 32-მდე) და კონკრეტული რეგისტრის ნომრის წარმო-
სადგენად აუცილებელია არა უმეტეს ხუთი თანრიგისა, რისი მეშვეო-
ბითაც დამუშავების ბრძანებების სამისამართო ნაწილში დასაშვებია
ერთდროულად მივუთითოთ ორი, ზოგჯერ კი სამი რეგისტრის ნო-
მერი (ოპერანდთა ორი რეგისტრი და შედეგის რეგისტრი). RISC - არ-
ქიტექტურა გულისხმობს საერთო დანიშნულების რეგისტრების მნიშ-
ვნელოვნად მეტი რიცხვის გამოყენებას (რამდენიმე ასეულამდე),
ოღონდ ასეთი გამომთვლელი მანქანებისათვის ბრძანების ტიპიური
სიგრძე (ჩვეულებრივ 32 თანრიგი) საშუალებას გვაძლევს ბრძანებაში
განვსაზღვროთ სამ რეგისტრამდე.
რეგისტრული არქიტექტურა უშვებს ოპერანდების განლაგებას
ორიდან ერთ-ერთ დამახსოვრების არეში: ძირითად მეხსიერებაში ან
რეგისტრებში. ოპერანდების შესაძლო განლაგების გათვალისწინებით
რეგისტრული ბრძანებათა სისტემის არქიტექტურის ჩარჩოებში ყოფენ
დამუშავების ბრძანებების სამ ქვესახეს:
- რეგისტრი - რეგისტრი;
- რეგისტრი - მეხსიერება;
- მეხსიერება - მეხსიერება.
„რეგისტრი-რეგისტრი“ ვარიანტში ოპერანდები შეიძლება იმყო-
ფებოდნენ მხოლოდ რეგისტრებში. მათშივე იწერება შედეგიც. ქვეტიპი
„რეგისტრი-მეხსიერება“, გულისხმობს, რომ ერთ-ერთი ოპერანდი მო-
თავსებულია რეგისტრში, ხოლო მეორე ძირითად მეხსიერებაში. შედე-
გი ჩვეულებრივ ცვლის ერთ-ერთ ოპერანდს. „მეხსიერება - მეხსიერება“
ტიპის ბრძანებებში ორივე ოპერანდი ინახება ძირითად მეხსიერებაში.
შედეგი შეაქვთ მეხსიერებაში. თითოეულ ამ ვარიანტს გააჩნია თავისი
უპირატესობები და ნაკლოვანებები (ცხრილი 2).
ცხრილის პირველ სვეტში მოტანილ (m,n) სახის გამოსახულებებ-
ში m აღნიშნავს ძირითად მეხსიერებაში შენახული ოპერანდების რაო-

46
დენობას, ხოლო n - არითმეტიკული ან ლოგიკური დამუშავების ბრძა-
ნებაში ოპერანდების საერთო რიცხვს.
„რეგისტრი-რეგისრი“ ვარიანტი ძირითადია RISC ტიპის გამომთ-
ვლელ მანქანებში. „რეგისრი-მეხსიერება“ ტიპის ბრძანებები დამახასია-
თებელია CISC მანქანებისათვის. და ბოლოს, „მეხსიერება-მეხსიერება“
ვარიანტი არაეფექტურად ითვლება, თუმცა კი რჩება CISC კლასის მან-
ქანების ყველაზე რთულ მოდელებში.
ცხრილი 2
ვარიანტი უპირატესობები ნაკლოვანებები
რეალიზაციის სიმარტივე, ობიექტური კოდის დიდი
ბრძანებათა ფიქსირებული სიგრძე, მოკლე ბრძანებების
სიგრძე, პროგრამების კომ- დროს თანრიგთა ნაწილი არ
პილაციის დროს ობიექტუ- გამოიყენება ბრძანებათა
რეგისტრი -
რი კოდის ფორმირების მარ- ფიქსირებული სიგრძის გა-
რეგისტრი
ტივი მოდელი, ყველა ბრძა- მო.
(0, 3)
ნების ტაქტების ერთნაირი
რაოდენობის განმავლობაში
შესრულების შესაძლებლო-
ბა.
მონაცემები შეიძლება მიღ- შედეგის ჩაწერისას ერთ- ერთი
წევადები იყვნენ პროცესო- ოპერანდის დაკარგვა,
მეხსიერების მისამართის
რის რეგისტრებში ჩატვირ-
გრძელი ველი ბრძანების
რეგისტრი - თვის გარეშე, ბრძანებების
კოდში ამცირებს ადგილს
მეხსიერება კოდირების სიმარტივე, მი-
რეგისტრის ნომრისათვის, რაც
(1, 2) იღება საკმაოდ კომპაქტური ზღუდავს სდრ-ს საერთო
ობიექტური კოდი. რაოდენობას. CPI დამოკი-
დებულია ოპერანდის მო-
თავსების ადგილზე.
ობიექტური კოდის კომპაქ- ბრძანების ფორმატებისა და
მეხსიერება- ტურობა, საშუალედო მონა- მათი შესრულების დროის
მეხსიერება ცემების დამახსოვრებისა- მრავალფეროვნება, მცირე
(3, 3) თვის მცირე მოთხოვნა რე- სწრაფქმედება მეხსიერება-
გისტრებზე. ზე მიმართვის გამო.

47
ბრძანებათა სისტემის რეგისტრული არქიტექტურის გამომთვ-
ლელი მანქანის შესაძლო სტრუქტურა და ინფორმაციული ტრაქტები
მოყვანილია ნახ. 2.5-ზე.

ნახ. 2.5. საერთო დანიშნულების რეგისტრების საფუძველზე აგებული


გამომთვლელი მანქანის არქიტექტურა

მეხსიერებიდან რეგისტრების ჩატვირთვის ოპერაციები და მეხ-


სიერებაში რეგისტრთა შემცველობის დამახსოვრება იდენტურია აკუ-
მულატორთან იგივე ოპერაციებისა. განსხვავება მდგომარეობს საჭირო

48
რეგისტრის ამორჩევის ეტაპში, რომელიც უზრუნველყოფილია შესაბა-
მისი სელექტორებით.
არითმეტიკულ-ლოგიკურ მოწყობილობაში ოპერაციათა შესრუ-
ლება ითვალისწინებს:
- პირველი ოპერანდის რეგისტრის ამორჩევას;
- მეორე ოპერანდის განლაგების განსაზღვრას (მეხსიერება თუ
რეგისტრი);
- არითმეტიკულ-ლოგიკურ მოწყობილობის შესასვლელზე ოპე-
რანდების მიწოდებისა და ოპერაციის შესრულებას;
- შედეგის რეგისტრის ამორჩევას და მასში არითმეტიკულ-ლო-
გიკურ მოწყობილობიდან ოპერაციის შედეგის შეტანას.
მივაქციოთ ყურადღება იმას, რომ არითმეტიკულ-ლოგიკურ
მოწყობილობასა და რეგისტრულ მასივს შორის სამი სალტე მაინც
უნდა იყოს.
რეგისტრული ბრძანებათა სისტემის არქიტექტურის უპირატე-
სობებს უნდა მივაკუთვნოთ: მიღებული კოდის კომპაქტურობა, გამო-
თვლათა მაღალი სისწრაფე, მიღწეული ძირითად მეხსიერებაზე მიმარ-
თვათა შეცვლით სწრაფ რეგისტრებზე მიმართვებით. მეორეს მხრივ,
მოცემული არქიტექტურა მოითხოვს უფრო გრძელ ინსტრუქციებს აკუ-
მულატორულ არქიტექტურასთან შედარებით.
საერთო დანიშნულების რეგისტრების საფუძველზე აგებული
მანქანების ნიმუშებს მიეკუთვნებიან CDC 6600, IBM 360/370, PDP -11,
ყველა თანამედროვე პერსონალური კომპიუტერი დღეისათვის ბრძანე-
ბათა სისტემის არქიტექტურის ეს სახე ყველაზე ფართოდაა გავრცელე-
ბული.
არქიტექტურა მ ე ხ ს ი ე რ ე ბ ა ს თ ა ნ გ ა მ ო ყ ო ფ ი ლ ი მ ი-
ღ წ ე ვ ი თ. არქიტექტურაში მეხსიერებასთან გამოყოფილი მიღწევით
მიმართვა ძირითად მეხსიერებებზე შესაძლებელია მხოლოდ ორი სპე-
ციალური ბრძანებით: load და store. ინგლისური ტრანსკრიფციით მო-
ცემულ არქიტექტურას ეწოდება Load/Store architecture. ბრძანება Load
(ჩატვირთვა) უზრუნველყოფს ძირითადი მეხსიერებიდან მნიშვნელო-

49
ბის ამოკითხვას და მის შეტანას პროცესორის რეგისტრში (ბრძანებაში
ჩვეულებრივ ეთითება მეხსიერების უჯრედის მისამართი და რეგისტრ-
ის ნომერი). საწინააღმდეგო მიმართულებით ინფორმაციის გადაგზავნა
ხორციელდება ბრძანებით store (დამახსოვრება). ოპერანდები ინფორმა-
ციის დამუშავების ყველა ბრძანებაში შეიძლება იმყოფებოდნენ მხო-
ლოდ პროცესორის რეგისტრებში (ყველაზე ხშირად საერთო დანიშნუ-
ლების რეგისტრებში) ოპერაციის შედეგიც ასევე შეაქვთ რეგისტრში.
არქიტექტურაში არ არის დამუშავების ისეთი ბრძანებები, რომლებიც
უშვებენ ძირითად მეხსიერებაზე პირდაპირ მიმართვას. ბრძანებათა
სისტემის არქიტექტურაში დასაშვებია ისეთ ბრძანებათა შეზღუდული
რიცხვის არსებობა, რომლებშიც ოპერანდი ბრძანების კოდის ნაწილს
წარმოადგენს.
მეხსიერებაზე გამოყოფილი მიღწევის მქონე გამომთვლელი მან-
ქანის შემადგენლობა და ინფორმაციული ტრაქტები მოყვანილია ნახ.
2.6-ზე. საერთო დანიშნულების რეგისტრების მასივსა და არითმეტი-
კულ-ლოგიკურ მოწყობილობას შორის მოთავსებული სამიდან ორი
სალტე უზრუნველყოფს საერთო დანიშნულების ორ რეგისტრში შენა-
ხული ოპერანდების გადაცემის არითმეტიკულ-ლოგიკურ მოწყობი-
ლობაში. მესამე სალტე ემსახურება შედეგების შეტანას ამისათვის გა-
მოყოფილ რეგისტრში. ამ სალტეების მეშვეობით ხდება ძირითადი მეხ-
სიერების უჯრედთა შემცველობის ჩატვირთვა რეგისტრებში და საერ-
თო დანიშნულების რეგისტრების არსებული ინფორმაციის ძირითად
მეხსიერებაში დამახსოვრება.
ბრძანებათა სისტემის არქიტექტურა მეხსიერებაზე გამოყოფილი
მიღწევით დამახასიათებელია RISC - არქიტექტურის ყველა გამომთვ-
ლელი მანქანისათვის. ასეთ გამომთვლელ მანქანებში ბრძანებებს, რო-
გორც წესი, 32 ბიტის ტოლი სიგრძე და სამმისამართიანი ფორმატი
აქვთ. მეხსიერებაზე გამოყოფილი მიღწევის მქონე გამომთვლელი მან-
ქანის მაგალითებად შეგვიძლია მოვიყვანოთ HP PA-RISC, IBM RS/6000,
Sun SPARC, MIPS R4000, DEC Alpha და ა.შ. მეხსიერებებზე გამოყოფილი
მიღწევის ბრძანებათა სისტემის არქიტექტურის უპირატესობებს შეიძ-

50
ლება მივაკუთვნოთ დეკოდირებისა და ბრძანებების შესრულების სი-
მარტივე.

ნახ. 2.6. მეხსიერებასთან გამოყოფილი მიღწევის მქონე გამომთვლელი


მანქანის არქიტექტურა

51
2.2. ოპერანდთა ტიპები და ფორმატები

მანქანური ბრძანებები მონაცემებზე ოპერირებენ, რომლებსაც ამ


შემთხვევაში მიღებულია ო პ ე რ ა ნ დ ე ბ ი ვუწოდოთ. ოპერანდების
ყველაზე უფრო ზოგად (საბაზისო) ტიპებს შეიძლება მივაკუთვნოთ:
მისამართები, რიცხვები, სიმბოლოები და ლოგიკური მონაცემები. მათ
გარდა გამომთვლელი მანქანები უზრუნველყოფენ უფრო რთული ინ-
ფორმაციული ერთეულების დამუშავებას: გრაფიკული გამოსახულე-
ბების, აუდიო, ვიდეო და ანიმაციური ინფორმაციას, ასეთი ინფორმა-
ცია წარმოებულია მონაცემთა საბაზისო ტიპებიდან და ფაილების სა-
ხით ინახება გარე დამახსოვრების მოწყობილობებზე. მანქანაში გათვა-
ლისწინებულია განსაზღვრული ფორმატები.

რიცხვითი ინფორმაცია
ციფრულ მონაცემებში შეიძლება გამოვყოთ ორი ჯგუფი:
- მთელი ტიპები, რომლებიც გამოიყენებიან მთელი რიცხვების
წარმოდგენისათვის;
- ნამდვილი ტიპები რაციონალური რიცხვების წარმოსადგენად.
პირველი ჯგუფის ფარგლებში გვაქვს ციფრული ინფორმაციის
წარმოდგენის რამდენიმე ფორმატი, დამოკიდებული მათ მახასიათებ-
ლებზე. აქ უპირველესად უნდა აღვნიშნოთ ფიქსირებული მძიმით წარ-
მოდგენის ფორმა. აგრეთვე ათობითი რიცხვების ზონურ ფორმატში და
შეფუთულ ფორმატში წარმოდგენის ფორმა. ნამდვილი რიცხვების წარ-
მოდგენისათვის გამოიყენება მცურავი მძიმის ფორმა.

სიმბოლური ინფორმაცია
გამოთვლითი მოქმედების საერთო მოცულობაში სულ უფრო
მეტი წილი მოდის სიმბოლური ინფორმაციის დამუშავებაზე, რომე-
ლიც შეიცავს ასოებს, ციფრებს, სასვენ ნიშნებს, მათემატიკურ და სხვა

52
სიმბოლოებს. თითოეულ სიმბოლოს აკუთვნებენ შესაბამის განსაზღვ-
რულ ორობით კომბინაციას. შესაძლო სიმბოლოთა და მათზე მიკუთვ-
ნებულ ორობით კოდთა ერთობლიობა ქმნიან კ ო დ ი რ ე ბ ი ს
ცხრილს. დღეისათვის გამოიყენება კოდირების მრავალი სხვადასხვა
ცხრილი. მათ აერთიანებს წონათა პრინციპი, რომლის დროსაც ციფრთა
წონები იზრდებიან ციფრის ზრდის მიხედვით, ხოლო სიმბოლოთა წო-
ნები ალფავიტური რიგით იზრდებიან. ასე მაგალითად, „B“ ასოს წონა
ერთით მეტია „A“ ასოს წონაზე. ეს ხელს უწყობს გამომთვლელ
მანქანაში დამუშავების გამარტივებას.
დღეისათვის ფართოდაა გავრცელებული ASCII და Unicode
სტანდარტები. Unicode სტანდარტი უკვე შესატყისობაშია ASCII კოდი-
რებასთან. პირველად Unicode გამოყენებულ იქნა ოპერაციულ სისტემა
Windows NT-ში.

ლოგიკური მონაცემები
ლოგიკური მონაცემების ელემენტს წარმოადგენს ლოგიკური
(ბულის) ცვლადი, რომელმაც შეიძლება მიიღოს მხოლოდ ორი მნიშვ-
ნელობა: ჭეშმარიტი“ ან „მცდარი“. ლოგიკური მნიშვნელობის კოდირე-
ბა მიღებულია განხორციელდეს ინფორმაციის ბიტით: ერთიანით ახ-
დენენ ჭეშმარიტი მნიშვნელობის კოდირებას, ხოლო ნულით - მცდა-
რის, როგორც წესი, გამომთვლელ მანქანაში ოპერირებენ მანქანური
სიტყვის სიგრძის ლოგიკური ცვლადების ნაკრებებით. ასეთი სიტყვები
მუშავდებიან ლოგიკურ ოპერაციათა (და, ან, არა და ა.შ.) ბრძანებების
დახმარებით, ამასთან ყველა ბიტი ერთნაირად მუშავდება, მაგრამ ერთ-
მანეთისაგან დამოუკიდებლად, ე. ი. თანრიგებს შორის არავითარი გა-
დატანები არ ხდება.

სტრიქონები
სტრიქონები ბიტების, ბაიტების, სიტყვებისა და ორმაგი
სიტყვების უწყვეტი მიმდევრობაა. ბ ი ტ უ რ ი ს ტ რ ი ქ ო ნ ი შეიძ-

53
ლება იწყებოდეს ბაიტის ნებისმიერი პოზიციიდან და შეიცავდეს 232 -
მდე ბიტს. ბ ი ტ უ რ ი ს ი ტ ყ ვ ა შეიძლება შედგებოდეს ბაიტების,
სიტყვებისა ან ორმაგი სიტყვებისაგან. ასეთი სტრიქონის სიგრძე იცვ-
ლება ნულიდან 232-1 ბაიტამდე (4 გბაიტი). მოყვანილი ციფრები დღეი-
სათვის დამახასიათებელია 32-თარიგიანი გამომთვლელი მანქანები-
სათვის.
თუ ბიტური სტრიქონის ბაიტები წარმოადგენენ სიმბოლოთა კო-
დებს, მაშინ საუბრობენ ტექსტურ ს ტ რ ი ქ ო ნ ზ ე. ვინაიდან
ტექსტური სტრიქონის სიგრძე შეიძლება იცვლებოდეს ძალიან ფართო
საზღვრებში, ამიტომ სტრიქონის დასასრულსის მისათითებლად ბო-
ლო ბაიტში შეაქვთ კოდის შემზღუდველი - ჩვეულებრივ ეს ნულებია
ბაიტის ყველა თანრიგში.

ინფორმაციის სხვა სახეები


გამომთვლელ მანქანაში წარმოდგენილი ინფორმაცია შეიძლება
სტატიკური ან დინამიური იყოს. რიცხვითი, სიმბოლური და ლოგიკუ-
რი ინფორმაცია სტატიკურია - მისი მნიშვნელობა არაა დამოკიდებუ-
ლი დროზე. პირიქით, აუდიოინფორმაციას დინამიური ხასიათი აქვს -
არსებობს მხოლოდ დროის რეალურ რეჟიმში და არ შეიძლება შეჩერე-
ბულ იქნას უფრო დაწვრილებითი შესწავლისათვის. თუ დროის მას-
შტაბს შევცვლით, მაშინ აუდიოინფორმაცია მახინჯდება, რაც გამოიყე-
ნება, მაგალითად, ხმოვანი ეფექტების შესაქმნელად.

ვ ი დ ე ო ი ნ ფ ო რ მ ა ც ი ა. ვიდეოინფორმაცია არის როგორც


სტატიკური, ისე დინამიური. სტატიკური ინფორმაცია შეიცავს ტექსტს,
ნახატებს, გრაფიკებს, ნახაზებს და სხვა.
დინამიური ვიდეოინფორმაცია - ესაა ვიდეო -, მულტ - და სლა-
იდ - ფილმები. მათ საფუძვლად უდევთ ეკრანზე დროის რეალურ მო-
მენტში სცენარის შესაბამისად ცალკეულ კადრების მიმდევრობითი ექ-
სპონირება. დინამიური ინფორმაცია გამოიყენება ან მოძრავი გამოსა-

54
ხულების გადმოსაცემად (ანიმაცია), ანდა ცალკეული კადრების მიმ-
დევრობითი დემონსტრაციისათვის (სლაიდ - ფილმები).
გამოთვლით ტექნიკაში არსებობს გრაფიკული გამოსახულებების
წარმოდგენის ორი ხერხი: მ ა ტ რ ი ც უ ლ ი (რასტრული) და
ვ ე ქ ტ ო რ უ ლ ი. მატრიცული (bitmap) ფორმატები კარგად ესადაგე-
ბიან ისეთი გამოსახულებების წარმოდგენას, რომლებსაც ახასიათებს
ფერთა გამების ელფერებისა და ფორმათა სირთულე, ისეთები როგო-
რებიცაა ფოტოგრაფიები, ნახატები, გადასკანირებული მონაცემები.
ვექტორული ფორმატები უფრო მორგებულია ნახაზებისა და მარტივ
ფორმებიან ჩრდილებით და შეფერადებით შესრულებული გამოსახუ-
ლებების გამოსასახავად.
მატრიცულ ფორმატებში გამოსახულება წარმოიდგინება წერ-
ტილთა - პ ი ქ ს ე ლ თ ა (picture element) მართკუთხა მატრიცით. მატ-
რიცაში პიკსელთა მდებარეობა შეესაბამება ეკრანზე წერტილთა კოორ-
დინატებს.
ვექტრული წარმოდგენა, მატრიცული გრაფიკისაგან განსხვავე-
ბით, განსაზღვრავს გამოსახულების აღწერას არა პიქსელებით, არამედ
მრუდებით - ს პ ლ ა ი ნ ე ბ ი თ. სპლაინი გლუვი მრუდია, რომელიც
გადის ორ ან მეტ საყრდენ წერტილზე, რომლებიც მართავენ სპლაინის
ფორმას. ვექტრულ გრაფიკაში ყველაზე მეტადაა გავრცელებული ბე-
ზიეს სპლაინები.
ვექტრული გრაფიკის ძირითადი უპირატესობაა ობიექტის მარ-
ტივი აღწერა და მეხსიერებაში მცირე მოცულობის დაკავება. გარდა
ამისა, ვექტრულ გრაფიკას მატრიცულთან შედარებით შემდეგი უპირა-
ტესობები გააჩნია:
- გამოსახულების მასშტაბირების სიმარტივე მისი ხარისხის გა-
უარესების გარეშე;
- გამოსახულების შენახვისათვის საჭირო მეხსიერების მოცულო-
ბის ამორჩეული ფერადი მოდელისაგან დამოუკიდებლობა.

55
ვექტრული გამოსახულების ნაკლოვანებას წარმოადგენს მისი რა-
ღაც ხელოვნურობა, რაც იმაში მდგომარეობს, რომ ნებისმიერი გამოსა-
ხულება საჭიროა დაიყოს მის შემადგენელ სასრულო პრიმიტივებად.
მატრიცული და ვექტრული გრაფიკა ერთმანეთისაგან განცალკე-
ვებულად არ არსებობენ. ასე, მაგალითად, ვექტრული ნახატები შეიძ-
ლება შეიცავდნენ მატრიცულ გამოსახულებებსაც. გარდა ამისა, ვექტო-
რული და მატრიცული გამოსახულებები შეიძლება ერთმანეთში გარ-
დაიქმნან. ფორმატები, რომლებიც საშუალებას იძლევიან შევათავსოთ
გამოსახულების მატრიცული და ვექტრული აღწერა, იწოდებიან მ ე -
ტ ა ფ ა ი ლ ე ბ ა დ . მეტაფაილები უზრუნველყოფენ ფაილების საკმა-
რის კომპაქტურობას გამოსახულებას მაღალი ხარისხის შენარჩუნებით.

ა უ დ ი ო ი ნ ფ ო რ მ ა ც ი ა. ცნება ა უ დ ი ო დაკავშირებულია
ბგერასთან, რომელიც შეძლება აღითქვას ადამიანის ყურმა (15ჰც-
20კჰც). გამომთვლელ მანქანაში წარმოდგენამდე აუდიოინფორ-
მ ა ც ი ა უნდა გარდაიქმნას ციფრულ ფორმაში. ეს ხორციელდება ანა-
ლოგიურ-ციფრული გარდამქმნელით. საწინააღმდეგო ქმედება კი ციფ-
რულ-ანალოგიური გარდამქმნელით. რაც უფრო ხშირად ხდება სიგ-
ნალთა ამოკრეფა (უწყვეტი სიგნალის დაყოფა) მით უფრო მაღალია სა-
წყისი სიგნალის გადმოცემის სიზუსტე, მით უფრო მაღალია საწყისი
სიგნალის გადმოცემის სიზუსტე, მაგრამ მეხსიერების მით მეტი ტევა-
დობაა საჭირო ციფრულ სახეში გარდაქმნილი ბგერების შესანახად.
აუდიო სიგნალების ციფრული ექვივალენტი ჩვეულებრივ ინახე-
ბა ფაილების სახით, ამასთან ფართოდ გამოიყენება ასეთი ინფორმაცი-
ის შეკუმშვის სხვადასხვა საშუალება.

56
2.3. ბრძანებათა ტიპები

მიუხედავად სხვადასხვა გამომთვლელ მანქანებში ბრძანებათა


სისტემის განსხვავებისა, ოპერაციათა ზოგიერთი ძირითადი ტიპი შე-
იძლება ნაპოვნი იყოს ნებისმიერ მათგანში. ამ ტიპებისათვის მიღებუ-
ლია შემდეგი კლასიფიკაცია:
- მონაცემთა გადაგზავნის ბრძანებები;
- არითმეტიკული და ლოგიკური დამუშავების ბრძანებები;
- სტრიქონებთან მუშაობის ბრძანებები;
- SIMD ბრძანებები;
- შეტანა/გამოტანის ბრძანებები;
- ბრძანებათა ნაკადის მართვის ბრძანებები.

2.4. ბრძანებათა ფორმატები

საერთო შემთხვევაში ტიპიური ბრძანება უნდა უთითებდეს:


- შესასრულებელ ბრძანებას;
- საწყისი მონაცემების (ოპერანდების) მისამართებს, რომლებზეც
უნდა შესრულდნენ ოპერაციები;
- მისამართს, რომელზეც უნდა მოთავსდეს ოპერაციის შედეგი.
ამის შესაბამისად ბრძანება შესდგება ორი ნაწილისაგან: ოპერა-
ციულისა და სამისამართოსაგან (ნახ. 2.7):

ოპერაციული ნაწილი სამისამართო ნაწილი


ნახ. 2.7. ბრძანების სტრუქტურა

ბრძანების ფ ო რ მ ა ტ ი განსაზღვრავს მის სტრუქტურას,


ანუ მთელ ბრძანებაზე გამოყოფილი ორობითი თანრიგების რაოდენო-
ბას, აგრეთვე ბრძანების ცალკეული ველების რაოდენობასა და განლა-
გებას. ვ ე ლ ი ეწოდება ორობით თანრიგთა რაოდენობას, რომლებიც

57
ახორციელებენ ბრძანების შედგენილი ნაწილის კოდირებას. შესაძლო
ფორმატების შეფასებებისას საჭიროა გავითვალისწინოთ შემდეგი ფაქ-
ტორები:
- განსხვავებულ ბრძანებათა საერთო რიცხვი;
- ბრძანების საერთო სიგრძე;
- ბრძანების ველთა ტიპები (ფიქსირებული ან ცვლადი სიგრძის)
და მათი სიგრძე;
- დეკოდირების სიმარტივე;
- გადამისამართება და მისი ხერხები;
- დეკოდირებისა და ბრძანებების შესრულებისათვის საჭირო მო-
წყობილობათა ღირებულება.
ერთი გამომთვლელი მანქანის ბრძანებათა სისტემაში შეიძლება
გამოიყენებოდნენ ბრძანებათა სხვადასხვა ფორმატები. ჩვეულებრივ ეს
დაკავშირებულია გადამისამართების სხვადასხვა ხერხის გამოყენებას-
თან. ამ შემთხვევაში ბრძანების კოდის შემადგენლობაში შეჰყავთ ველი
გადამისამართების ხერხის მისათითებლად და ბრძანების განზოგადე-
ბული ფორმატი იღებს ნახ. 2.8-ზე მოცემულ სახეს.

ბრძანების გადამისამართების სამისამართო


ოპერაციის კოდი ხერხი ნაწილი
ნახ. 2.8. ბრძანების განზოგადებული ფორმატი

გამომთვლელი მანქანის უმრავლესობაში ერთდროულად თავს-


დება ბრძანებათა რამდენიმე განსხვავებული ფორმატი. უნდა აღინიშ-
ნოს, რომ ბრძანების სიგრძე უმნიშვნელოვანესი მახასიათებელია, რო-
მელიც ზემოქმედებს მეხსიერების ორგანიზაციასა და მოცულობაზე,
სალტეთა სტრუქტურაზე, ცენტრალური პროცესორის სირთულესა და
სწრაფქმედებაზე.

ბრძანებაში მისამართების რაოდენობა


სამისამართო ნაწილში ჩართული მისამართების რაოდენობის
განსაზღვრისათვის გამოვიყენებთ ტერმინს მ ი ს ა მ ა რ თ ი ა ნ ო ბ ა.

58
„მაქსიმალურ ვარიანტში“ აუცილებელია სამი კომპონენტის მითითება:
პირველი ოპერანდის მისამათის, მეორე ოპერანდის მისამართის და იმ
უჯრედის მისამართის, სადაც ჩაიწერება ოპერაციის შედეგი. პრინციპ-
ში შეიძლება დამატებული იყოს კიდევ ერთი მისამართი, რომელიც
უთითებს მომდევნო ინსტრუქციის შენახვის ადგილს. შედეგად ადგი-
ლი აქვს ბრძანების ოთხმისამართიან ფორმატს (ნახ. 2.9). ასეთი ფორმა-
ტი გამოიყენება გასული საუკუნის 40-იან წლებში დამუშავებულ გა-
მომთვლელ მანქანაში EDVAC.

ოპერაცია მისამართები

ოპერაციის შემდეგი
I ოპერანდი II ოპერანდი შედეგი
კოდი ბრძანება
ნახ. 2.9. ბრძანების ოთხმისამართიანი ფორმატი

ფონ-ნეიმანისეულ გამომთვლელ მანქანაში მეოთხე მისამართი


აუცილებელი აღარაა, ვინაიდან მეხსიერებაში ბრძანებები განლაგებუ-
ლი არიან მისი შესრულების რიგის მიხედვით, და მომდევნო ბრძანე-
ბის მისამართი შეიძლება მიღებულ იქნას ბრძანებათა მთვლელში მიმ-
დინარე ბრძანების მისამართის უბრალო გაზრდის ხარჯზე (ნახ. 2.10).
მხოლოდ საჭიროა გამომთვლელი მანქანის ბრძანებათა სისტემაში და-
ემატოს ბრძანებები, რომლებსაც შეუძლიათ შეცვალონ გამოთვლების
რიგი (თანმიმდევრობა).

ოპერაცია მისამართები

ოპერაციის
I ოპერანდი II ოპერანდი შედეგი
კოდი
ნახ. 2.10. ბრძანების სამმისამართიანი ფორმატი

სამწუხაროდ, სამმისამართიან ფორმატშიც ბრძანების სიგრძე შე-


იძლება აღმოჩნდეს ძლიერ დიდი. ასე მაგალითად, თუ ძირითადი მეხ-

59
სიერების უჯრედის მისამართს აქვს 32 ბიტის ტოლი სიგრძე, ხოლო
ოპერაციის კოდი 8 ბაიტია, მაშინ ბრძანების სიგრძე 104 ბიტი (13 ბაი-
ტი) იქნება.
თუ მითითების გარეშე შედეგის მისამართად ავიღებთ ერთ-ერ-
თი ოპერანდის მისამართის (ჩვეულებრივ მეორის), მაშინ შეიძლება მე-
სამე მისამართის გარეშეც ვიმუშაოთ და შედეგად მივიღებთ ბრძანების
ორმისამართიან ფორმატს (ნახ. 2.11). ბუნებრივია, რომ ამ შემთხვევაში
შესაბამისი ოპერანდი ოპერაციის შესრულების შემდეგ იკარგება.

ოპერაცია მისამართები

ოპერაციის II ოპერანდი/
I ოპერანდი
კოდი შედეგი
ნახ. 2.11. ბრძანების ორმისამართიანი ფორმატი

ბრძანება შეიძლება კიდევ უფრო შევკვეცოთ, თუ გადავალთ


ერთმისამართიან ფორმატზე (ნახ. 2.12), რაც შესაძლებელია პირველი
ოპერანდისა და შედეგის შესანახად განსაზღვრული სტანდარტული
ადგილის გამოყოფით. ჩვეულებრივ ამ მიზნისათვის გამოიყენება ცენ-
ტრალური პროცესორის სპეციალური რეგისტრი, ცნობილი ა კ უ მ უ -
ლ ა ტ ო რ ი ს სახელით, ვინაიდან აქ აკუმულირდება შედეგი.

ოპერაცია მისამართები

ოპერაციის
I ან II ოპერანდი
კოდი
ნახ. 2.12. ბრძანების ერთმისამართიანი ფორმატი

ერთ-ერთი ოპერანდისა და შედეგის შესანახად ერთადერთი რე-


გისტრის გამოყენება წარმოადგენს შემზღუდავ ფაქტორს, ამიტომ აკუ-
მულატორის გარდა ხშირად იყენებენ ცენტრალური პროცესორის სხვა
რეგისტრებსაც. ვინაიდან ცენტრალურ პროცესორში რეგისტრების რი-

60
ცხვი დიდი არაა, ამიტომ ერთ-ერთი მათგანის მისათითებლად საკმა-
რისია ბრძანებაში გვქონდეს შედარებით მოკლე სამისამართო ველი. შე-
საბამის ფორმატს ერთნახევარმისამართიანი ან რეგისტრული ფორმატი
ჰქვია (ნახ. 2.13):
ოპერაცია მისამართები

ოპერაციის
რეგისტრი II ოპერანდი
კოდი
ნახ. 2.13. ბრძანების ერთნახევარმისამართიანი ფორმატი

და ბოლოს, თუ ორივე ოპერანდისათვის მივუთითებთ მკაცრად


განსაზღვრულ ადგილს, აგრეთვე ისეთი ბრძანებებისათვის, რომელ-
თაც ოპერანდი არ სჭირდებათ, შეიძლება მივიღოთ ბრძანების ნულმი-
სამართიანი ფორმატი (ნახ. 2.14). ასეთ ვარიანტში ბრძანების სამისამარ-
თო ნაწილი საერთოდ არ არის ან არ მოქმედებს.

ოპერაცია

ოპერაციის
კოდი
ნახ. 2.14. ბრძანების ნულმისამართიანი ფორმატი.

ბრძანებების დამისამართების არჩევა


ბრძანების სამისამართო ნაწილში მისამართების რაოდენობის
არჩევისას ჩვეულებრივ ხელმძღვანელობენ შემდეგი კრიტერიუმებით:
- პროგრამის შესანახად საჭიროა მეხსიერების მოწყობილობის
ტევადობით;
- პროგრამის შესრულების დროით;
-პროგრამის შენახვისას მეხსიერების უჯრედების ეფექტური გა-
მოყენებით.

61
ოპერაციათა სისტემა
ოპერაციათა ს ი ს ი ტ ე მ ა ჰქვია გამომთვლელი მანქანის
ტექნიკური საშუალებებით უშუალოდ შესრულებულ ოპერაციათა სი-
ას. გამომთვლელი მანქანის ოპერაციათა სისტემა განისაზღვრება მისი
გამოყენების ზონით, მოთხოვნებით ღირებულებაზე, წარმადობითა და
გამოთვლების სიზუსტით.

62
3. ფონ ნეიმანისეული გამომთვლელი მანქანის
ფუნქციური ორგანიზაცია
3.1. ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
სქემა

გამომთვლელი მაქანის სტრუქტურისა და მოწყობილობების


ფუნქციების შესახებ დეტალური წარმოდგენის მიღების მიზნით გან-
ვიხილოთ აკუმულატორული არქიტექტურის ჰიპოთეტური მანქანის
სქემა (ნახ. 3.1). გადმოცემის გასამარტივებად მიღებულია მანქანის
შემდეგი მახასიათებლელი:

ნახ. 3.1. ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური სქემა

63
- ე რ თ მ ი ს ა მ ა რ თ ი ა ნ ი ბ რ ძ ა ნ ე ბ ე ბ ი. ბრძანებების
სამისამართო ნაწილი შეიცავს მხოლოდ ერთ მისამართს. ორ ოპერან-
დთან ოპერაციების შესრულებისას იგულისხმება, რომ მეორე ოპე-
რანდი იმყოფება არითმეტიკულ-ლოგიკური მოწყობილობის სპე-
ციალურ რეგისტრში აკუმულატორში, ხოლო შედეგიც ასევე აკუ-
მულატორში რჩება.

-ფორმატების ე რ თ ი ა ნ ო ბ ა. ბრძანებებისა და მონაცე-


მების სიგრძე ემთხვევა მეხსიერების უჯრედთა მისამართებს, ანუ
ნებისმიერი ბრძანება ან ოპერანდი იჭერს მეხსიერების მხოლოდ ერთ
უჯრედს. ამრიგად, მეხსიერებაში ბრძანების მომდევნო მისამართი
შეიძლება მიღებულ იქნას მიმდინარე ბრძანების მისამართზე ერთიანის
მიმატების გზით, ხოლო მეხსიერებიდან ნებისმიერი ბრძანების ან
ოპერანდის მისაღებად საკმარისია მისამართზე ერთი მიმართვა.

ფუნქციურ სქემაზე (ნახ. 3.1) ნაჩვენებია გამომთვლელი მანქანის


ნებისმიერი ძირითადი მოწყობილობის ტიპიური კვანძები, აგრეთვე
სიგნალები, რომლებიც ახდენენ მანქანის ფუნქციონირებისათვის
აუცილებელი ინფორმაციის გადაგზავნასა და მისი დამუშავების
ცალკეული ოპერაციების შესრულების ინიცირებას.

3.1.1. მართვის მოწყობილობა

როგორც ადრე იყო აღნიშნული, მართვის მოწყობილობა გამომ-


თვლელი მანქანის ნაწილია, რომელიც ახორციელებს პროგრამების
ავტომატურ შესრულებას და გამომთვლელი მანქანის, როგორც
ერთიანი სისტემის, ფუნქციონირებას. ეხლა შევჩერდეთ მართვის
მოწყობილობის კვანძების აღწერაზე.

64
ბრძანებათა მთვლელი

ბ რ ძ ა ნ ე ბ ა თ ა მ თ ვ ლ ე ლ ი (ბრ მთ) ფონ ნეიმანის პროგრა-


მული მართვის პრინციპის შესაბამისად აგებული ნებისმიერი გამომ-
თვლელი მანქანის მართვის მოწყობილობის განუყოფელი ელემენტია.
ამ პრინციპის შესაბამისად, პროგრამის მეზობელი ბრძანებები მოთავ-
სებულნი არიან მისამართების თანმიმდევრული რიგით მეხსიერების
უჯრედში და უპირატესად სრულდებიან იგივე რიგითობით, როგორი-
თაც არიან მოთავსებულნი გამომთვლელი მანქანის მეხსიერებაში. ამ-
რიგად, მომდევნო ბრძანების მისამართი შეიძლება მიღებული იყოს იმ
უჯრედის მისამართის გაზრდით, რომლიდანაც იყო ამოკითხული მიმ-
დინარე ბრძანება. ასეთი რეჟიმის რეალიზაციის უზრუნველყოფა წარ-
მოადგენს ბრძანებითი მთვლელის მიზანს. ბრძანებათა მთვლელი
ორობითი მთვლელია, რომელშიც ინახება და მოდიფიცირდება პროგ-
რამის მომდევნო ბრძანების მისამართი. გამოთვლების დაწყების წინ
ბრძანებათა მთვლელში შეიტანება ძირითადი მეხსიერების უჯრედის
ის მისამართი, რომელშიც ინახება ბრძანება, რომელიც პირველი უნდა
შესრულდეს. თითოეული ბრძანების შესრულების პროცესში ბრძანება-
თა მთვლელის მნიშვნელობის გაზრდით მთვლელში ფორმირდება
მომდევნო შესასრულებელი ბრძანების მისამართი. განსახილველ გა-
მომთვლელ მანქანაში ნებისმიერი ბრძანება იჭერს ერთ უჯრედს, ამი-
ტომ ბრძანებათა მთვლელის შემცველობა იზრდება ერთი ერთეულით,
რაც უზრუნველყოფილია ბრძანებათა მთვლელზე მართვის +1 სიგნა-
ლის მიწოდებით. მიმდინარე ბრძანების დასრულების შემდეგ პროგრა-
მის მომდევნო ბრძანების მისამართი ყოველთვის იღება ბრძანებათა
მთვლელიდან. გამოთვლების ბუნებრივი რიგის შესაცვლელად (პროგ-
რამის სხვა წერტილში გადასვლა) საკმარისია ბრძანებათა მთვლელში
გადასვლის წერტილის მისამართის შეტანა.
თუმცა ტერმინი „ბრძანებათა მთვლელი“ მიღებულია, ის არ შე-
იძლება ჩაითვალოს მისაღებად იმის გამო, რომ ქმნის არასწორ წარმოდ-
გენას მოცემული კვანძის ამოცანების შესახებ. ამ მიზეზის გამო გამომ-

65
თვლელი მანქანის დამმუშავებლები იყენებენ სხვა დასახელებებს, კერ-
ძოდ პ რ ო გ რ ა მ უ ლ მ თ ვ ლ ე ლ ს (PC, Program counter) ან ბ რ ძ ა-
ნების მ ი მ თ ი თ ე ბ ე ლ ს (IP, Instruction Pointer). ბოლო განსაზღ-
ვრება, ჩვენი აზრით, საუკეთესოდ ასახვავს მართვის მოწყობილობის
განსახილველი კვანძის დანიშნულებას.
ბოლოს აღვნიშნოთ, რომ რიგ გამომთვლელ მანქანებში ბრძანება-
თა მთვლელი განხორციელებულია ჩვეულებრივი რეგისტრის სახით,
ხოლო მისი შემცველობის გაზრდა ხორციელდება გარე სქემით (ინკრი-
მენტ/დეკრემენტის სქემით).

ბრძანების რეგისტრი

ბრძანებების მთვლელი განსაზღვრავს მეხსიერებაში ბრძანების


მხოლოდ ადგილმდებარეობას, მაგრამ არ შეიცავს ინფორმაციას თავად
ბრძანების შესახებ. ბრძანების შესრულების დაწყებისათვის აუცილებე-
ლია მისი მეხსიერებიდან ამოღება და ბ რ ძ ა ნ ე ბ ი ს რეგისტრში
მოთავსება. ამ ეტაპს ბ რ ძ ა ნ ე ბ ი ს ა მ ო რ ჩ ე ვ ა ჰქვია. მხოლოდ
ბრძანების ბრძანების რეგისტრში ჩატვირთვის მომენტიდან ხდება ის
„ხილული“ პროცესორისათვის. ბრძანების რეგისტრში ბრძანება ინახე-
ბა მისი შესრულების მთელი დროის განმავლობაში. როგორც ადრე
იყო აღნიშნული, ნებისმიერი ბრძანება შეიცავს ორ ველს: ოპერაციის
კოდის ველს და სამისამართო ნაწილის ველს. ამ მდგომარეობის გათ-
ვალისწინებით ბრძანების რეგისტრს ზოგჯერ იხილავენ როგორც ორი
რეგისტრის ერთობლიობას - ო პ ე რ ა ც ი ი ს კ ო დ ი ს რეგისტ-
რ ი ს და მ ი ს ა მ ა რ თ ი ს რ ე- გ ი ს ტ რ ი ს, რომლებშიც ინახებიან
ბრძანების შესაბამისი შემადგენლები.
თუ ბრძანებას უჭირავს რამდენიმე მიმდევრობითი უჯრედი,
მაშინ ოპერაციის კოდი ყოველთვის იმყოფება ბრძანების იმ სიტყვაში,
რომელიც მეხსიერებიდან პირველი ამოიღება. ეს საშუალებას იძლევა
ოპერაციის კოდით განისაზღვროს ესაჭიროება თუ არა ბრძანების და-

66
ნარჩენ სიტყვებს მეხსიერებიდან ამოკითხვა და ბრძანების რეგისტრში
ჩატვირთვა. თავად ბრძანების შესრულება იწყება ბრძანების რეგისტრ-
ში მისი სრული კოდის შეტანის შემდეგ.

სტეკის მაჩვენებელი

სტეკის მ ა ჩ ვ ე ნ ე ბ ე ლ ი (სტ მაჩ) - ეს რეგისტრია, სადაც


ინახება სტეკის წვეროს მისამართი. რეალურ გამომთვლელ მანქანებში
სტეკი განხორციელებულია ძირითადი მეხსიერების ნაწილის სახით,
რომელიც ჩვეულებრივ განლაგებულია უდიდესი მისამართების ზონა-
ში. სტეკის შევსება ხდება მისამართების შემცირების მხარეს, ამასთან
სტეკის წვერო ეს უჯრედია, რომელშიც მოხდა დროში ბოლო ჩაწერა.
ასეთი მისამართის შესანახადაა სწორედ გათვალისწინებული სტეკის
მაჩვენებელი. ოპერაცია push - ის (სტეკში შეტანა) შესრულებისას სტე-
კის მაჩვენებლის შემცველობა -1 სიგნალის დახმარებით მცირდება ერ-
თით, რის შემდეგაც გამოიყენება მისამართად, რომლის მიხედვითაც
წარმოებს ჩაწერა. შესაბამისი უჯრედი ხდება სტეკის ახალი წვერო.
სტეკიდან ამოკითხვა (ოპერაცია pop) წარმოებს იმ უჯრედიდან, რო-
მელზეც მიუთითებს მიმდინარე მისამართი სტეკის მაჩვენებელში, რის
შემდეგაც სტეკის მაჩვენებლის შემცველობა +1 სიგნალით იზრდება ერ-
თი ერთეულით. ამრიგად, სტეკის წვერო ეშვება, ხოლო ამოკითხული
სიტყვა ითვლება სტეკიდან წაშლილად. თუმცა ფიზიკურად წაკითხუ-
ლი სიტყვა დარჩა მეხსიერების უჯრედში, მაგრამ სტეკში ჩაწერისას ის
ახალი ინფორმაციით შეიცვლება.

მეხსიერების მისამართის რეგისტრი

მეხსიერების მისამართის რეგისტრის და-


ნიშნულებაა ძირითადი მეხსიერების უჯრედის მისამართის შენახვა ამ
უჯრედთან ოპერაციის დასრულებამდე (წაკითხვის ან ჩაწერის). მეხსი-

67
ერების მისამართის რეგისტრის არსებობა საშუალებას იძლევა მოხდეს
ძირითადი მეხსიერებებისა და მანქანის სხვა მოწყობილობების სწრაფ-
ქმედებაში განსხვავების კონპენსაცია.

მეხსიერების მონაცემთა რეგისტრი

მეხსიერების მონაცემთა რეგისტრის დანიშ-


ნულებაა სწრაფქმედებაში განსხვავების კონპენსირება მეხსიერების მო-
წყობილობებსა და იმ მოწყობილობებს შორის, რომლებიც გამოდიან
შენახული ინფორმაციის წყაროსა და მომხმარებელთა როლში. წაკითხ-
ვის პროცესში მეხსიერების მონაცემთა რეგისტრში ხდება ძირითადი
მეხსიერების უჯრედში შემცველობის შეტანა, ჩაწერის დროს კი - თავს-
დება ძირითადი მეხსიერების უჯრედში შესანახი ინფორმაცია. თავად
უჯრედში ჩაწერისა და წაკითხვის მომენტი განისაზღვრება შესაბამი-
სად ჩაწერისა და წაკითხვის სიგნალებით.

ოპერაციის კოდის დეკოდერი

ოპერაციის კოდის დ ე კ ო დ ე რ ი გარდაქმნის ოპერა-


ციების კოდს მიკროპროგრამულ ავტომატთან სამუშაოდ საჭირო ფორ-
მაში. დეკოდირების შემდეგ ინფორმაცია განსაზღვრავს მიკროპროგრა-
მული ავტომატის შემდგომ მოქმედებებს, ხოლო მისი სახე დამოკიდე-
ბულია მიკროპროგრამული ავტომატის ორგანიზაციისაგან. განხილულ
გამომთვლელ მანქანაში - ეს უნიტარული კოდია. ხშირად ოპერაციის
კოდი გარდაიქმნება მიკროპროგრამის პირველი ბრძანების მისამართ-
ში, რომელიც ახორციელებს ბრძანებაში მითითებულ ოპერაციას. ამ
პოზიციებიდან უფრო სწორი იქნებოდა ოპერაციის კოდის დეკოდერი-
სათვის გვეწოდებინა არა დეკოდერი, არამედ კოდების გარდამქმნელი.

68
მიკროპროგრამული ავტომატი

მართებულია მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ა ვ ტ ო მ ა ტ ი ჩავ-
თვალოთ მართვის მოწყობილობის ცენტრალურ კვანძად. სწორედ მიკ-
როპროგრამული ავტომატი ახდენს მართვის სიგნალების თანმიმდევ-
რობის ფორმირებას, რომელთა შესაბამისადაც ხორციელდება მეხსიე-
რებიდან ამორჩევისა და ბრძანებების შასასრულებლად აუცილებელი
ყველა მოქმედება. მიკროპროგრამული ავტომატისათვის საწყის ინ-
ფორმაციას წარმოადგენს: ოპერაციის დეკოდირებული კოდი, წინა გა-
მოთვლების შედეგის დამახასიათებელ ნიშანთა (ალმების) მდგომარეო-
ბა, აგრეთვე გარე მოთხოვნები მიმდინარე პროგრამის შეწყვეტაზე და
გადასვლა წყვეტების მომსახურების პროგრამაზე.

არითმეტიკულ-ლოგიკური მოწყობილობა

როგორც დასახელებიდან ჩანს, ამ მოწყობილობის დანიშნულებაა


მონაცემების არითმეტიკული და ლოგიკური დამუშავება. ნახ. 3.1-ზე
წარმოდგენილ მანქანაში ის შეიცავს შემდეგ კვანძებს: ოპერაციულ
ბლოკს, ოპერანდების რეგისტრებს, ნიშნულთა რეგისტრებს და აკუმუ-
ლატორს. მოკლედ განვიხილოთ თითოეული მათგანი.

ოპერაციული ბლოკი

ოპერაციული ბ ლ ო კ ი არითმეტიკულ-ლოგიკური მო-


წყობილობის იმ ნაწილს წარმოადგენს, რომელიც ასრულებს შესას-
ვლელზე მოწოდებულ ოპერანდებზე არითმეტიკულ და ლოგიკურ
ოპერაციებს. მოცემული ოპერაციული ბლოკისათვის ოპერაციათა შე-
საძლო სიიდან კონკრეტული ოპერაციის ამორჩევა განისაზღვრება
ბრძანების ოპერაციის კოდით. ჩვენს გამომთვლელ მანქანაში ოპერა-

69
ციის კოდის მოწოდება ხდება უშუალოდ ბრძანებების რეგისტრიდან.
რეალურ მანქანებში ოპერაციის კოდი ხშირად მიკროპროგრამულ ავ-
ტომატში გარდაიქმნება სხვა ფორმაში და უკვე მიკროპროგრამული
ავტომატიდან ეწოდება არითმეტიკულ-ლოგიკურ მოწყობილობას. თა-
ნამედროვე არითმეტიკულ-ლოგიკურ მოწყობილობების ოპერაციული
ბლოკები იგებიან როგორც კომბინაციური სქემები, ანუ მათ არ გააჩნი-
ათ შიგა მეხსიერება და შედეგის დამახსოვრების მომენტამდე ოპერან-
დები უნდა იმყოფებოდნენ ბლოკის შესასვლელზე.

ოპერანდთა რეგისტრები

„ოპ რეგ Х“ და „ოპ რეგ У“ რეგისტრები უზრუნველყოფენ ოპე-


რანდების დამახსოვრებას ოპერაციული ბლოკის შესასვლელზე ოპე-
რაციის შედეგის მიღებამდე და მის ჩაწერამდე (ჩვენს შემთხვევაში აკუ-
მულატორში).

ნიშნულთა რეგისტრი

ნიშნულთა რ ე გ ი ს ტ რ ი ს დანიშნულებაა ბოლოს შეს-


რულებული არითმეტიკული ან ლოგიკური ოპერაციის შედეგის და-
მახასიათებელ ნიშნულია (ალმების) ფიქსირება და შენახვა. ასეთმა
ნიშნულებმა შეიძლება მოგვაწოდონ ინფორმაცია შედეგის ნულთან
ტოლობაზე, შედეგის ნიშანზე, ზედა თანრიგიდან გადატანის გაჩენაზე,
თანრიგობრივი ბადის გადავსებაზე და ა. შ. ნიშნულთა რეგისტრის
შემცველობა ჩვეულებრივ გამოიყენება მართვის მოწყობილობის მიერ
არითმეტიკულ-ლოგიკური მოწყობილობის ოპერაციების შედეგების
მიხედვით პირობითი გადასვლების განხორციელებისათვის. თითოე-
ული შესაძლო ნიშნულისათვის გამოიყოფა ნიშნულთა რეგისრის ერთი
თანრიგი.

70
ნიშნულთა ფორმირება ხორციელდება ნიშნულთა რეგისტრის
მდგომარეობის ფორმირების ბლოკით, რომელიც შეიძლება შედიოდეს
ოპერაციული ბლოკის შემადგენლობაში, ან რეალიზებული იყოს
ოპერაციულ ბლოკსა და ნიშნულთა რეგისტრს შორის მოთავსებული
გარე სქემის სახით.

აკუმულატორი

ა კ უ მ უ ლ ა ტ ო რ ი - რეგისტრია, რომელსაც ევალება


ყველაზე განსხვავებული ფუნქციები. ასე მაგალითად, მასში წინასწარ
იტვირთება არითმეტიკულ ან ლოგიკურ ოპერაციაში მონაწილე ერთ-
ერთ ოპერანდი. აკუმულატორში შეიძლება ინახებოდეს წინა ბრძანების
შედეგი და მასში ხდება მომდევნო ოპერაციის შედეგის შეტანა. ხშირად
აკუმულატორის გავლით ხორციელდება შეტანისა და გამოტანის
ოპერაციები.

მკაცრი მსჯელობით, აკუმულატორი თანაბარი ზომით შეიძლება


მივანიჭოთ როგორც არითმეტიკულ-ლოგიკურ მოწყობილობას, ისე
მართვის მოწყობილობას, ხოლო გამომთვლელ მანქანებში რეგისტრუ-
ლი არქიტექტურით ის შეიძლება განვიხილოთ როგორც ერთ-ერთი რე-
გისტრი.

ძირითადი მეხსიერება

გამოყენებული მიკროსქემების ტიპისაგან დამოუკიდებლად,


ძირითადი მეხსიერება წარმოადგენს დამამახსოვრებელ ელემენტთა
მასივს, რომლებიც ორგანზომილებიანებია უჯრედთა სახით და შეუძ-
ლიათ შეინახონ რაღაც ერთეული ინფორმაცია, ჩვეულებრივ ერთი ბა-
იტი. თითოეულ უჯრედს აქვს უნიკალური მისამართი. ძირითადი მეხ-

71
სიერების უჯრედები ორგანიზებულია მატრიცის სახით, ხოლო უჯრე-
დის ამორჩევა ხორციელდება ამ მატრიცის შესაბამის სტრიქონსა და
სვეტზე ნების დართვის სიგნალების მიწოდების გზით. ამის უზრუნ-
ველყოფა ხდება მეხსიერების მისამართის დეკოდერით, რომელიც გარ-
დაქმნის მეხსიერების მისამართის რეგისტრიდან მიღებულ უჯრედის
მისამართის რეგისტრიდან მიღებულ უჯრედის მისამართის ნების
დართვის (ნებართვის) სიგნალებში, რომლებიც მიეწოდებიან იმ ჰორი-
ზონტალურ და ვერტიკალურ ხაზებს, რომელთა გადაკვეთაზეცაა მო-
თავსებული სამისამართო (საჭირო) უჯრედი. ძირითადი მეხსიერების
თანამედროვე მოცულობისას მოცემული სიგნალების რეალიზაციის-
თვის იყენებენ დამახსოვრების მოწყობილობების რამდენიმე მიკროსქე-
მას. ასეთ პირობებში უჯრედისადმი მიმართვის პროცესი შედგება სა-
ჭირო მიკროსქემის არჩევისა (მისამართის უფროსი თანრიგების საფუძ-
ველზე) და მიკროსქემის შიგნით უჯრედის ამორჩევაში (განისაზღვრე-
ბა მისამართის უმცროსი თანრიგებით). პროცედურის პირველი ნაწი-
ლი ხორციელდება გარე სქემებით, ხოლო მეორე - დამამახსოვრებელი
მოწყობილობის მიკროსქემათა შიგნით.

შეტანა/გამოტანის მოდული

ნახ. 3.1-ზე მოყვანილი შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს მ ო დ უ -ლ


ი ს სტრუქტურა უზრუნველყოფს მხოლოდ გამომთვლელი მანქანის
მუშაობის ლოგიკის ახსნას. რეალურ გამომთვლელ მანქანებში მანქანის
ამ მოწყობილობის რეალიზაცია შეიძლება მნიშვნელოვნად განსხვავ-
დებოდეს განხილულისაგან. შეტანა/გამოტანის მოდულის ამოცანას
წარმოადგენს გამომთვლელ მანქანაზე სხვადასხვა პერიფერიული მოწ-
ყობილობების მიერთების უზრუნველყოფა და მათთან ინფორმაციის
გაცვლა. განხილულ ვარიანტში შეტანა/გამოტანის მოდული შედგება
შეტანა/გამოტანის პორტის ნომრის დეკოდერის, შეტანის პორტების
სიმრავლისა და გამოტანის პორტების სიმრავლისაგან.

72
შეტანის პორტები და გამოტანის პორტები

პორტი ჰქვია სქემას, რომელიც ახორციელებს ინფორმაციის გა-


დაცემას შეტანის პერიფერიული მოწყობილობიდან არითმეტიკულ-
ლოგიკური მოწყობილობის აკუმულატორში (შეტანის პორტი) ან აკუ-
მულატორიდან გამოტანის პერიფერიულ მოწყობილობაზე (გამოტანის
პორტი). სქემა უზრუნველყოფს გამომთვლელი მანქანის ელექტრულ
და ლოგიკურ დაკავშირებას მასზე მიერთებულ პერიფერიულ მოწყო-
ბილობასთან.

შეტანა/გამოტანის პორტის ნომრის დეშიფრატორი

განსახილველი გამომთვლელი მანქანის შეტანა/გამოტანის მო-


დულში იგულისხმება, რომ თითოეული პერიფერიული მოწყობილობა
უერთდება თავის პორტს. თითოეულ პორტს გააჩნია უნიკალური ნო-
მერი, რომელიც ეთითება შეტანა/გამოტანის ბრძანების სამისამართო
ნაწილში. შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს პ ო რ ტ ი ს ნომრის დე-
კოდერი უზრუნველყოფს პორტის ნომრის გარდაქმნას შესაბამის
პორტზე შეტანის ან გამოტანის ოპერაციაზე ნებართვის სიგნალში.
უშუალოდ შეტანა (გამოტანა) ხდება მიკროპროგრამული ავტომატიდან
მიღებული „შეტანა (გამოტანა)“ სიგნალით.

73
4. სალტეთა ორგანიზაცია

ტრაქტების ერთობლიობა, რომელიც აერთიანებს გამომთვლელი


მანქანის ძირითად მოწყობილობებს (ცენტრალურ პროცესორს, მეხსიე-
რებას და შეტანა/გამოტანის მოდულებს), ქმნის გამომთვლელი მანქა-
ნის უ რ თ ი ე რ თ კ ა ვ შ ი რ თ ა ს ტ რ უ ქ ტ უ რ ა ს. ურთიერთკავ-
შირთა სტრუქტურამ უნდა უზრუნველყოს ინფორმაციის გაცვლა:
- ცენტრალურ პროცესორსა და მეხსიერებას შორის;
- ცენტრალურ პროცესორსა და შეტანა/გამოტანის მოდულებს
შორის;
- მეხსიერებასა და შეტანა/გამოტანის მოდულებს შორის.
გამომთვლელი მანქანის ძირითადი მოწყობილობებისათვის და-
მახასიათებელი ინფორმაციული ნაკადები მოტანილია ნახ. 4.1-ზე.
გამოთვლითი ტექნიკის განვითარებასთან ერთად იცვლებოდა
გამომთვლელი მოწყობილობების ურთიერთკავშირთა სტრუქტურაც
(ნახ. 4.2). საწყის ეტაპზე ჭარბობდნენ უშუალო კავშირები გამომთვლე-
ლი მანქანის ურთიერთმოქმედ მოწყობილობებს შორის. მინი ეგმ-ების,
და განსაკუთრებით, პირველი მიკრო-ეგმ-ების გამოჩენასთან ერთად
სულ უფრო პოპულარული ხდება სქემა ერთი საერთო სალტით, ამი-
ტომ გამომთვლელი მანქანის პრაქტიკულად ყველა მოწყობილობის
წარმადობის სწრაფმა ზრდამ მიგვიყვანა ერთადერთი სალტის უუნა-
რობასთან გამკლავებოდა გაზრდილ ტრაფიკს (ტ რ ა ფ ი კ ი - შეტყო-
ბინებათა ნაკადი მონაცემთა გადაცემის ქსელში, კავშირის ხაზის სა-
შუალო დატვირთვა), და მას ენაცვლებიან რამდენიმე სალტის საფუძ-
ველზე აგებული ურთიერთკავშირთა სტრუქტურები. გამოთვლების
წარმადობის ზრდის შემდგომი პერსპექტივები დაკავშირებულნი არიან
არა იმდენად ერთპროცესორულ მანქანასთან, არამედ მრავალპროცესო-
რულ გამოთვლით სისტემებთან.

74
ნახ. 4.1. ინფორმაციული ნაკადები გამომთვლელ მანქანაში

75
ნახ. 4.2. ურთიერთკავშირის სტრუქტურათა ევოლუცია (ცპ- ცენტრა-
ლური პროცესორი, ძმმ - ძირითადი მეხსიერების მოდული, შ/გ მ-
შეტანა/გამოტანის მოდული)

76
გამომთვლელი მანქანის ნაწილების ურთიერთკავშირი და მისი
„ურთიერთობა“ გარე სამყაროსთან უზრუნველყოფილია სალტეთა სის-
ტემით. მანქანათა უმრავლესობა შეიცავს რამდენიმე განსხვავებულ
სალტეს, რომელთაგან თითოეული ოპტიმიზებულია კომუნიკაციათა
განსაზღვრული სახის მიმართ. სალტეთა ნაწილი დამალულია ინტე-
გრალური მიკროსქემების შიგნით ან მისაღწევია მხოლოდ ბეჭდური
დაფის საზღვრებში. ზოგიერთ სალტეს აქვს გარედან მისაწვდომი წერ-
ტილები, რომ მათზე ადვილად განხორციელდეს დამატებით მოწყობი-
ლობათა მიერთება. ამასთან, ასეთ სალტეთა უმრავლესობა არა მხო-
ლოდ მისაწვდომია, არამედ პასუხობს გარკვეულ სტანდარტებს, რაც
საშუალებას იძლევა სალტეზე მიერთებულ იქნას სხვადასხვა წარმადო-
ბის მოწყობილობები.
კონკრეტული სალტის დასახასიათებლად საჭიროა აღვწეროთ:
- სასიგნალო ხაზების ერთობლიობა;
- სალტის ფიზიკური, მექანიკური და ელექტრული მახასიათებ-
ლები;
- არბიტრაჟის, მდგომარეობის, მართვისა და სინქრონიზაციის
გამოყენებული სიგნალები;
- სალტესთან მიერთებული მოწყობილობების ურთიერთქმედე-
ბის წესები (სალტის პროტოკოლი).
სალტეს ქმნის კომუნიკაციურ ხაზთა ნაკრები, რომელთაგან თი-
თოეულს შეუძლია გადასცეს ორობითი ციფრებით 1 და 0 წარმოდგე-
ნილი სიგნალები. ხაზით შეიძლება გადაიგზავნოს ასეთი სიგნალების
დროში გაშლილი თანმიმდევრობა. რამდენიმე ხაზის ერთობლივი გა-
მოყენების შემთხვევაში შესაძლებელია ორობითი რიცხვების ერთდრო-
ული (პარალელური) გადაცემა. ფიზიკურად სალტის ხაზები რეალი-
ზებულია ცალკეული გამტარების სახით, როგორც გამტარი მასალის
ზოლები სამონტაჟო დაფაზე ან როგორც ალუმინის ან სპილენძის გამ-
ტარი ბილიკები მიკრო სქემის კრისტალზე.
სალტეზე ოპერაციებს ტ რ ა ნ ზ ა ქ ც ი ე ბ ს უწოდებენ. ტრან-
ზაქციათა ძირითადი სახეებია - წ ა კ ი თ ხ ვ ი ს ტ რ ა ნ ზ ა ქ ც ი ა და

77
ჩაწერის ტ რ ა ნ ზ ა ქ ც ი ა. თუ გაცვლაში მონაწილეობს შეტანა
/გამოტანის მოწყობილობა, შეიძლება ვისაუბროთ შ ე ტ ა ნ ი ს ა და
გამოტანის ტრანზაქციების შესახებ, რომლებიც არსები-
თად ექვივალენტურებია შესაბამისად ჩაწერისა და წაკითხვის ტრან-
ზაქციების. სალტური ტრანზაქცია შედგება ორი ნაწილისაგან: მისა-
მართის გაგზავნისა და მონაცემთა მიღებისაგან (ან გადაგზავნისაგან).
როცა ორი მოწყობილობა ახორციელებს ინფორმაციის გაცვლას
სალტის მეშვეობით, მაშინ ერთ-ერთმა მათგანმა უნდა მოახდინოს გაც-
ვლის ინიცირება და მისი მართვა. ასეთ მოწყობილობას წ ა მ ყ ვ ა ნ ი
(bus master) ეწოდება. კომპიუტერულ ტერმინოლოგიაში „წამყვანი“ -
ნებისმიერი მოწყობილობაა, რომელსაც შეუძლია თავის თავზე აიღოს
სალტის ფლობა და მართოს მონაცემთა გადაგზავნა. აუცილებელი არაა,
რომ წამყვანმა თავად გამოიყენოს მონაცემები. მან, მაგალითად, შეიძ-
ლება მიიტაცოს სალტის მართვა სხვა მოწყობილობის ინტერესებიდან
გამომდინარე. მოწყობილობებს, რომლებსაც არ გააჩნიათ ტრანზაქცი-
ათა ინიცირების შესაძლებლობა, მ ი მ ყ ო ლ ს (bus slave) ეძახიან.
პრინციპში სალტეზე შეიძლება მიერთებული იყოს რამდენიმე პოტენ-
ციური წამყვანი, მაგრამ დროის ნებისმიერ მომენტში აქტიურია მხო-
ლოდ ერთი მათგანი: თუ რამდენიმე მოწყობილობა ერთდროულად
გადასცემს ინფორმაციას, მაშინ მათი სიგნალები ფარავენ ერთმანეთს
და მახინჯდებიან. რამდენიმე წამყვანის ერთდროული გააქტიურების
თავიდან ასაცილებლად ნებისმიერ სალტეში გათვალისწინებულია
სალტის მართვასთან ერთ-ერთი პრეტენდენტის დაშვების პროცედურა
(არბიტრაჟი). ამასთან ზოგიერთი სალტე უშვებს ჩაწერის მრავლის მა-
უწყებელ (მრავლის აღმთქმელ) რეჟიმს, როცა ინფორმაცია ერთი წამ-
ყვანიდან პირდაპირ გადაეცემა რამდენიმე მიმყოლს (აქ არბიტრაჟი
საჭირო არაა). ერთი მოწყობილობით გაცემული სიგნალი მისაღწევია
სალტეზე მიერთებული ყველა დანარჩენი მოწყობილობისათვის.

78
4.1. სალტეთა ტიპები

მნიშვნელოვან კრიტერიუმად, რომელიც განსაზღვრავს სალტის


მახასიათებლებს, შეიძლება აღებულ იქნას მისი მიზნობრივი
დანიშნულება. ამ კრიტერიუმით შეიძლება გამოვყოთ:
- სალტე „პროცესორი-მეხსიერება“;
- შეტანა/გამოტანის სალტე;
- სისტემური სალტე.
მოკლედ განვიხილოთ თითოეული მათგანი.

სალტე „პროცესორი - მეხსიერება“

სალტე „პროცესორი-მეხსიერება“ უზრუნველყოფს უშუალო კავ-


შირს გამომთვლელი მანქანის ცენტრალურ პროცესორსა და ძირითად
მეხსიერებას შორის. თანამედროვე მიკრო პროცესორებში ასეთ სალტეს
ხშირად წინა მხარის ს ა ლ ტ ე ს უწოდებენ და აღნიშნავენ
FSB (Front-Side Bus)-ით. პროცესორსა და მეხსიერებას შორის ინტენსიუ-
რი ტრაფიკი მოითხოვს, რომ სალტის გამტარუნარიანობა, ანუ დროის
ერთეულში სალტეში გატარებული ინფორმაციის რაოდენობა, იყოს
უდიდესი. ამ სალტის როლს ხშირად სისტემური სალტე ასრულებს (იხ.
ქვემოთ), მაგრამ ეფექტურობის თვალსაზრისით მნიშვნელოვნად მომ-
გებიანია თუ გაცვლა ცენტრალურ პროცესორსა და ძირითად მეხსიერე-
ბას შორის ხორციელდება ცალკე სალტით. განსახილველ სახეობას შე-
იძლება მივაკუთვნოთ აგრეთვე სალტე, რომელიც აკავშირებს პროცე-
სორს მეორე დონის კეშ-მეხსიერებასთან. ის ცნობილია, როგორც უ კ ა-
ნა მხარის ს ა ლ ტ ე - BSB (Back-Side Bus). BSB საშუალებას იძლე-
ვა გაცვლა წარმოებდეს უფრო დიდი სისწრაფით, ვიდრე FSB-ს დროს,
და სრულად იქნას გამოყენებული უფრო სწრაფი კეშ - მეხსიერების შე-
საძლებლობები.

79
ვინაიდან ფონ-ნეიმანისეულ მანქანებში სწორედ პროცესორსა და
მეხსიერებას შორის გაცვლა ბევრად განაპირობებს გამომთვლელი მან-
ქანის სწრაფქმედებას, ამიტომ დამმუშავებლები ცენტრალური პროცე-
სორის მეხსიერებასთან კავშირს განსაკუთრებულ ყურადღებას აქცევენ.
მაქსიმალური გამტარუნარიანობის უზრუნველსაყოფად სალტე „პრო-
ცესორი - მეხსიერება“ ყოველთვის პროექტირდება მეხსიერების სისტე-
მის ორგანიზაციის თავისებურებათა გათვალისწინებით, ხოლო სალ-
ტის სიგრძეს შესაძლებლად მინიმალურს აკეთებენ.

შეტანა/გამოტანის სალტე

შეტანა/გამოტანის სალტე ემსახურება პროცესორის (მეხსიერე-


ბის) შეტანა/გამოტანის მოწყობილობებთან დაკავშირებას. ასეთ
მოწყობილობათა მრავალფეროვნების გათვალისწინებით ახდენენ
შეტანა/გამოტანის სალტეთა უნიფიცირებასა და სტანდარტიზაციას.
უმრავლეს შეტანა/გამოტანის მოწყობილობებთან კავშირი (მაგრამ არა
ვიდეო სისტემებთან) არ მოითხოვენ სალტის მაღალ გამტარუნა-
რიანობას. შეტანა/გამოტანის სალტეთა პროექტირებისას ითვალის-
წინებენ კონსტრუქტივისა და შემაერთებელი გასართების ღირებუ-
ლებას. ასეთი სალტეები „პროცესორ-მეხსიერება“ სალტეებთან შედა-
რებით შეიცავენ ნაკლებ ხაზებს, მაგრამ ხაზთა სიგრძე შეიძლება
საკმაოდ დიდი იყოს. მსგავსი სალტეების ტიპიური წარმომადგენლებია
PCI და SCSI სალტეები.

სისტემური სალტე

ფასდაკლების მიზნით ზოგიერთ გამომთვლელ მანქანას აქვს სა-


ერთო სალტე მეხსიერებისა და შეტანა/გამოტანის მოწყობილობებისა-
თვის. ასეთ სალტეს ხშირად სისტემურს უწოდებენ. ს ი ს ტ ე მ უ რ ი

80
სალტე ემსახურება გამომთვლელი მანქანის ყველა მოწყობილობის
ფიზიკურ და ლოგიკურ გაერთიანებას. ვინაიდან მანქანის ძირითადი
მოწყობილობები, როგორც წესი, მოთავსებულნი არიან საერთო სამონ-
ტაჟო დაფაზე, ამიტომ სისტემურ სალტეს ხშირად გამაერთიანებელ
სალტეს (backplane bus) ეძახიან, თუმცა ეს ტერმინები არ შეიძლება
მკაცრად ექვივალენტურებად ჩავთვალოთ.
სისტემურ სალტეში შეიძლება გაერთიანდეს რამდენიმე ასეული
ხაზი. სალტის ხაზთა ერთობლიობა შეიძლება დაიყოს სამ ფუნქციურ
ჯგუფად (ნახ. 4.3): მონაცემთა სალტედ, მისამართის სალტედ და
მართვის სალტედ. ამ უკანასკნელს ჩვეულებრივ აკუთვნებენ სისტემურ
სალტეზე მიერთებული მოდულებისათვის კვების ძაბვის მომწოდებელ
სადენებს.

ნახ. 4.3. სისტემური სალტის სტრუქტურა

სისტემური სალტის ფუნქციონირება შემდეგნაირად შეიძლება


აღვწეროთ. თუ ერთ-ერთ მოდულს სურს გადასცეს მონაცემები მეორეს,
მაშინ მან უნდა შეასრულოს ორი მოქმედება: თავის განკარგულებაში
მიიღოს სალტე და მასზე გადასცეს მონაცემები. თუ რომელიმე მო-
დულს სურს მიიღოს მონაცემები მეორე მოდულიდან, მან უნდა მიი-
ღოს დაშვება სალტესთან და მართვისა და მისამართის შესაბამისი ხა-
ზებით გადასცეს მეორე მოდულს მოთხოვნა. შემდეგ ის უნდა დაელო-
დოს, როცა მოთხოვნის მიმღები მოდული გამოგზავნის მონაცემებს.

81
ფიზიკურად სისტემური სალტე წარმოადგენს ელექტრული გამ-
ტარების პარალელურ ერთობლიობას. ამ გამტარებად გამოიყენებიან
მეტალის ზოლები ბეჭდურ დაფაზე. სალტე მიიყვანება ყველა მოდულ-
თან და თითოეული მათგანი უერთდება ყველა დანარჩენს ან ზოგიერთ
მის ხაზს. თუ გამომთვლელი მანქანა კონსტრუქციულად რამდენიმე
დაფაზეა აგებული, მაშინ სალტის ყველა ხაზი გამოყვანილია გასარ-
თებზე, რომლებიც შემდეგ ერთიანდებიან სადენებით საერთო შასიზე.
უნივერსალური გამომთვლელი მანქანის სტანდარტიზებულ
სისტემურ სალტეებს შორის ყველაზე მეტად ცნობილია Unibus, Fastbus,
Futurebus, VME, NuBus, Multibus-II სალტეები. როგორც წესი, პერსონა-
ლურ კომპიუტერებს აგებენ ISA, ან ETSA ან MCA სტანდარტის სისტე-
მური სალტეების საფუძველზე.

4.2. სალტეთა იერარქია

თუ სალტეზე მიერთებულია მოწყობილობათა დიდი რაოდენო-


ბა, მაშინ მისი გამტარუნარიანობა ეცემა, ვინაიდან სალტის მიერ
მართვის უფლებების ძლიერ ხშირი გადაცემა ერთი მოწყობილობიდან
მეორეზე იწვევს საგრძნობ დაყოვნებებს. ამ მიზეზის გამო ბევრ
გამომთვლელ მანქანაში უპირატესობა ენიჭება რამდენიმე სალტის გა-
მოყენებას, რომლებიც ქმნიან განსაზღვრულ იერარქიას. ჯერ განვი-
ხილოთ ერთსალტიანი გამომთვლელი მანქანა.

82
ერთსალტიანი გამომთვლელი მანქანა

ერთი სალტით ურთიერთკავშირთა სტრუქტურებში არის ერთი


სისტემური სალტე, რომელიც უზრუნველყოფს ინფორმაციის გაცვლას
პროცესორსა და მეხსიერებას შორის, აგრეთვე შეტანა/გამოტანის
მოწყობილობასა და პროცესორს ან მეხსიერებას შორის (ნახ. 4.4).

ნახ. 4.4. ურთიერთკავშირთა სტრუქტურა ერთი სალტის დროს

ასეთი მიდგომისათვის დამახასიათებელია სიმარტივე და და-


ბალი ღირებულება. ოღონდ ერთსალტიან ორგანიზაციას არ შეუძლია
განახორციელოს ტრანზაქციათა მაღალი ინტენსივობა და სისწრაფე,
ამასთან კუმპიუტერის „ვიწრო ადგილად“ იქცევა სწორედ სალტე.

გამომთვლელი მანქანა ორი სახის სალტით

თუმცა შეტანა/გამოტანის მოწყობილობის კონტროლერები შეიძ-


ლება უშუალოდ იყვნენ მიერთებული სალტესთან, მაგრამ დიდი ეფექ-
ტი მიიღწევა მხოლოდ შეტანა/გამოტანის ერთი ან რამდენიმე სალტის
გამოყენებით (ნახ. 4.5). შეტანა/გამოტანის მოწყობილობები უერეთდე-
ბიან შეტანა/გამოტანის სალტეებს, რომლებიც თავის თავზე იღებენ ძი-
რითად ტრაფიკს, რომელიც არაა დაკავშირებული პროცესორზე ან მეხ-
სიერებაზე გასვლაზე. ს ა ლ ტ ე თ ა ა დ ა პ ტ ო რ ე ბ ი უზრუნველ-

83
ყოფენ მონაცემეთა ბუფერიზაციას მათი გადაგზავნისას სისტემურ
სალტესა და შეტანა/გამოტანის მოწყობილობას შორის. ეს საშუალებას
აძლევს გამომთვლელ მანქანას მხარი დაუჭიროს შეტანა/გამოტანის
მრავალ მოწყობილობასთან მუშაობას და იმავე დროს განახორციელოს
ინფორმაციის გაცვლის პროცესი პროცესორი-მეხსიერება ტრაქტით და
ინფორმაციის გაცვლა შეტანა/გამოტანის მოწყობილობებთან.

ნახ. 4.5. ურთიერთკავშირთა სტრუქტურა ორი სახის სალტით

მსგავსი სქემა მნიშვნელოვნად ამცირებს დატვირთვას სწრაფქ-


მედ სალტეზე „პროცესორი-მეხსიერება“ და ხელს უწყობს გამომთვ-
ლელი მანქანის საერთო წარმადობის ზრდას. მაგალითისათვის შეგვიძ-
ლია მოვიყვანოთ გამომთვლელი მანქანა Apple Macintosh II, სადაც
„პროცესორი-მეხსიერება“ სალტის როლს ასრულებს NuBus სალტე.
პროცესორისა და მეხსიერების გარდა მასზე მიერთებულია ზოგიერთი

84
შეტანა/გამოტანის მოწყობილობა. შეტანა/გამოტანის სხვა მოწყობილო-
ბები მიერთებულია SCSI Bus სალტეზე.

გამომთვლელი მანქანა სამი სახის სალტით

სწრაფქმედი პერიფერიული მოწყობილობების მისაერთებლად


სალტეთა სისტემას შეიძლება დაემატოს გაფართოების სწრაფქმედი
სალტე (ნახ. 4.6).

ნახ. 4.6. ურთიერთკავშირთა სტრუქტურა სამი სახის სალტით

შეტანა/გამოტანა სალტეები უერთდებიან გაფართოების სალტეს,


ხოლო უკვე მისგან ადაპტორის გავლით სალტეს „პროცესორი-მეხსიე-

85
რება“. ეს სქემა კიდევ უფრო ამცირებს დატვირთვას სალტეზე „პროცე-
სორი-მეხსიერება“. სალტეთა ასეთ ორგანიზაციას „მინაშენიან“ არქი-
ტექტურას (mezzanine architecture) უწოდებენ.

4.3. სალტეთა არბიტრაჟი

რეალურ სისტემებში წამყვანის როლზე უფლება აქვს ერთ-


დროულად პრეტენზია ჰქონდეს სალტეზე მიერთებულ მოწყობილო-
ბებიდან რამდენიმეს, მაგრამ დროის თითოეულ მომენტში სალტის
მართვა მხოლოდ ერთს შეუძლია. კონფლიქტების თავიდან ასა-
ცილებლად, სალტე უნდა ითვალისწინებდეს მოთხოვნების არბიტ-
რაჟის განსაზღვრულ მექანიზმებს და მომთხოვნი მოწყობილობებიდან
ერთ-ერთისათვის სალტის მიკუთვნების წესს. გადაწყვეტილება
ჩვეულებრივ მიიღება პრეტენდენტების პრიორიტეტების საფუძველზე.

პრიორიტეტების სქემები

თითოეულ პოტენციურ წამყვანს ენიჭება პრიორიტეტის განსა-


ზღვრული დონე, რომელიც შეიძლება უცვლელი რჩებოდეს (ს ტ ა ტ ი-
კ უ რ ი ან ფ ი ქ ს ი რ ე ბ უ ლ ი პ რ ი ო რ ი ტ ე ტ ი) ანდა იცვლებო-
დეს რაიმე ალგორითმით (დ ი ნ ა მ ი უ რ ი პ რ ი ო რ ი ტ ე ტ ი).
სტატიკური პრიორიტეტების ძირითადი ნაკლოვანება იმაში
მდგომარეობს, რომ მაღალი პრიორიტეტის მქონე მოწყობილობას შე-
უძლია მოახდინოს დაბალი დონის პრიორიტეტის მქონე მოწყო-
ბილობების სალტეზე მიღწევის სრული ბლოკირება.

86
დინამიურ პრიორიტეტიანი სისტემები თითოეულ მომთხოვნ
მოწყობილობას აძლევენ შანს ადრე თუ გვიან მიიღოს სალტის მარ-
თვის უფლება, ანუ ასეთ სისტემებში რეალიზებულია თანაბარი მიღწე-
ვადობის პრინციპი.
ყველაზე ფართო გავრცელება მოიპოვეს პრიორიტეტის დინამი-
ური ცვლილების შემდეგმა ალგორითმებმა:
- პრიორიტეტების მარტივი ციკლური ცვლა;
- პრიორიტეტების ციკლური ცვლა ბოლო მოთხოვნის გათვა-
ლისწინებით;
- პრიორიტეტების ცვლა შემთხვევითი კანონით;
- თანაბარი პრიორიტეტების სქემა;
- ყველაზე ძველი გამოყენების ალგორითმი.
პ რ ი ო რ ი ტ ე ტ ე ბ ი ს მ ა რ ტ ი ვ ი ც ი კ ლ უ რ ი ც ვ ლ ის
ალგორითმში არბიტრაჟის თითოეული ციკლის შემდეგ ყველა პრიო-
რიტეტი დაბლდება ერთი დონით, ამასთან მოწყობილობა, რომელსაც
ადრე პრიორიტეტის უდაბლესი დონე ჰქონდა, უმაღლეს პრიორიტეტს
ღებულობს.
ბოლო მოთხოვნის გათვალისწინებით პრიო-
რიტეტების ც ვ ლ ი ს სქემაში ყველა შესაძლო მოთხოვნა წესრი-
გდება ციკლური სიის შესაბამისად. მომდევნო მოთხოვნის დამუშავე-
ბის შემდეგ მომსახურებულ წამყვანს ენიჭება უდაბლესი დონის პრიო-
რიტეტი. სიაში შემდეგი მოწყობილობა იღებს უმაღლეს პრიორიტეტს,
ხოლო დანარჩენ მოწყობილობებს პრიორიტეტი ენიჭებათ დაღმავალი
რიგით (კლებადობით), ციკლურ სიაში მათი მიდევნების თანახმად.
პრიორიტეტების ციკლური ცვლის ორივე სქემაში თითოეული
წამყვანი უზრუნველყოფილია შანსით მიიღოს სალტე თავის განკარგუ-
ლებაში, თუმცა უფრო ფართო გავრცელება მოიპოვა მეორე ალგორით-
მმა.
შემთხვევითი კანონით პრიორიტეტების ცვ
ლ ი ს ა ს არბიტრაჟის მომდევნო ციკლის შემდეგ ფსევდო შემთხ-

87
ვევითი რიცხვების გენერატორის საშუალებით თითოეულ წამყვანს
ენიჭება პრიორიტეტის დონის შემთხვევითი მნიშვნელობა.
თანაბარი პრიორიტეტების ს ქ ე მ ა შ ი არბიტრ-
თან რამდენიმე მოთხოვნის მიწოდებისას თითოეულ მათგანს მომსა-
ხურების თანაბარი შანსი გააჩნია. შესაძლო კონფლიქტი არბიტრის
მიერ წყდება. ასეთი სქემა მიღებულია ასინქრონულ სისტემებში.
ყველაზე ა დ რ ე უ ლ ი (ძველი) გ ა მ ო ყ ე ნ ე ბ ი ს ალ-
გორითმში (LRU, Least Recently Used) არბიტრაჟის ყოველი ციკ-
ლის შემდეგ უმაღლესი პრიორიტეტი ენიჭება იმ წამყვანს, რომელსაც
სხვებზე დიდი ხნის განმავლობაში არ გამოუყენებია სალტე.
განხილულებს გარდა არსებობს პრიორიტეტების ცვლის რამდე-
ნიმე ალგორითმი, რომლებიც წმინდად დინამიურები არ არიან, ვინაი-
დან პრიორიტეტების ცვლა ხორციელდება არბიტრაჟის არა ყოველი
ციკლის შემდეგ. ასეთ ალგორითმებს მიეკუთვნებიან:
- რიგის ალგორითმი (პირველი მივიდა-პირველს მოემსახურ-
ნენ);
- ალგორითმი დროის ფიქსირებული ქვანტით.
რიგის ალგორითმში მოთხოვნების მომსახურება ხორ-
ციელდება არბიტრაჟის ციკლის დაწყების მომენტისათვის შექმნილი
რიგის მიხედვით. ჯერ ხდება რიგის პირველი მოთხოვნის მომსახურე-
ბა, ანუ სხვებზე ადრე მოსული მოთხოვნის. ალგორითმის აპარატურუ-
ლი რეალიზაცია დაკავშირებულია რიგ სირთულეებთან, ამიტომ ის
იშვიათად გამოიყენება.
დროის ფიქსირებული ქვანტის ალგორითმში
წამყვანს სალტის მიტაცებისათვის არბიტრაჟის ციკლის განმავლობაში
გამოყოფილი აქვს დროის განსაზღვრული ქვანტი. თუ ამ მომენტში
წამყვანს სალტე არ ესაჭიროება, მაშინ მასზე გამოყოფილი ქვანტი გამო-
უყენებელი რჩება. ასეთი მეთოდი ყველაზე მეტად გამოყენებადია სინ-
ქრონული პროტოკოლის მქონე სალტეებისათვის.

88
5. მ ე ხ ს ი ე რ ე ბ ა

ნებისმიერ გამომთვლელ მანქანაში, მისი არქიტექტურისაგან


დამოუკიდებლად, პროგრამები და მონაცემები მეხსიერებაში ინახე-
ბიან. მეხსიერების ფუნქციები უზრუნველყოფილია მეხსიერების მო-
წყობილობებით, რომელთა დანიშნულებაა გამომთვლელი მანქანის
მუშაობის პროცესში ინფორმაციის ფიქსირება, შენახვა და გაცემა.
მეხსიერების მოწყობილობაში ინფორმაციის ფიქსირების პროცესს ჩ ა-
წ ე რ ა ჰქვია, ინფორმაციის გაცემის პროცესს - წ ა კ ი თ ხ ვ ა ან ა მ ო-
კ ი თ ხ ვ ა, ხოლო ერთად მათ განსაზღვრავენ როგორც მეხსიერების
მოწყობილობასთან მ ი მ ა რ თ ვ ი ს პ რ ო ც ე ს ე ბ ს.

5.1. მეხსიერების სისტემის მახასიათებლები

ძირითადი მახასიათებლების ჩამონათვალი, რომელიც აუცილე-


ბელია გათვალისწინებულ იქნას კონკრეტული სახის მეხსიერების მო-
წყობილობის განხილვისას, შემდეგია:
- განთავსების ადგილი;
- ტევადობა;
- გადაგზავნის ერთეული;
- შეღწევის მეთოდი;
- სწრაფქმედება;
- ფიზიკური ტიპი;
- ფიზიკური თავისებურებები;
- ღირებულება.

89
განთავსების ადგილის მიხედვით გვაქვს პროცესო-
რული, შიგა და გარე მეხსიერების მოწყობილობები. მეხსიერების ყვე-
ლაზე სწრაფი სახეობები (რეგისტრები, პირველი დონის კეშ-მეხსიერე-
ბა) ჩვეულებრივ მოთავსებულნი არიან საერთო კრისტალზე პროცე-
სორთან ერთად, ხოლო საერთო დანიშნულების რეგისტრები საერთოდ
ითვლებიან ცენტრალური პროცესორის ნაწილად. მეორე ჯგუფს (შიგა
მეხსიერებას) ქმნიან მეხსიერების ის მოწყობილობები, რომლებიც მო-
თავსებულნი არიან სისტემურ პლატაზე. შიგა მეხსიერებას აკუთვნებენ
ძირითად მეხსიერებას, აგრეთვე მეორე და მომდევნო დონეების კეშ-
მეხსიერებას (მეორე დონის კეშ-მეხსიერება ასევე შეიძლება მოთავსე-
ბული იყოს პროცესორის კრისტალზე). დიდი ტევადობის ნელი მეხსი-
ერების მოწყობილობებს (მაგნიტური და ოპტიკური დისკები, მაგნი-
ტური ლენტები) ეძახიან გარე მეხსიერებას, ვინაიდან გამომთვლელი
მანქანის ბირთვს ისინი ერთვებიან შეტანა/გამოტანის მოწყობილობე-
ბის ანალოგიურად.
მეხსიერების მოწყობილობის ტ ე ვ ა დ ო ბ ა ს ახასიათებენ ბი-
ტების ან ბაიტების იმ რიცხვით, რომელიც შეიძლება ინახებოდეს მას-
ში. პრაქტიკაში გამოიყენება უფრო დიდი ერთეულები, ხოლო მათი
აღნიშვნისათვის „ბიტ“ ან „ბაიტ“ სიტყვებს წინსართებს უმატებენ: კი-
ლო, მეგა, გიგა, ტერა, პეტა, ეკზა. სტანდარტულად ეს წინსართები ნიშ-
ნავენ ძირითადი გაზომვის ერთეულის გამრავლებას შესაბამისად 103,
106, 109, 1012, 1015 და 1018-ზე.
მეხსიერების მოწყობილობის მნიშვნელოვან მახასიათებელს წარ-
მოადგენს გადაგზავნის ე რ თ ე უ ლ ი. ძირითადი მეხსიერე-
ბისათვის გადაგზავნის ერთეული განისაზღვრება მონაცემთა სალტის
სიფართით (სიგანით), ანუ სალტის ხაზებით პარალელურად გადაცე-
მული ბიტების რაოდენობით. ჩვეულებრივ გადაცემის ერთეული ტო-
ლია სიტყვის სიგრძის, მაგრამ არა აუცილებლად. გარე მეხსიერებისა-
თვის მონაცემები ხშირად გადაიცემიან სიტყვის ზომაზე მეტი ერთეუ-
ლებით და ასეთ ერთეულებს ბლოკებს ეძახიან.

90
სწრაფქმედების შეფასებისას აუცილებლადაა გასათვალისწინე-
ბელი მეხსიერების მოწყობილობის მოცემულ ტიპში გამოყენებულ მო-
ნაცემებთან წ ვ დ ო მ ი ს მ ე თ ო დ ი. ანსხვავებენ წვდომის ოთხ
ძირითად მეთოდს:
- მიმდევრობითი წ ვ დ ო მ ა. მეხსიერების მოწყობი-
ლობა მიმდევრობითი წვდომით ორიენტირებულია ინფორმაციის
შენახვაზე მონაცემთა ბლოკების თანმიმდევრობის სახით. მათ ჩანა-
წერებს ეძახიან. საჭიროა ელემენტთან მიღწევისათვის (სიტყვასთან ან
ბაიტთან) აუცილებელია წაკითხულ იქნას მის წინ გასული ყველა
მონაცემი. წვდომის დრო დამოკიდებულია საჭირო ჩანაწერის მდე-
ბარეობით ინფორმაციის მატარებელზე ჩანაწერთა თანმიმდევრობაში
და მოცემული ჩანაწერის შიგნით ელემენტის პოზიციაზე. ამის
მაგალითია მეხსიერების მოწყობილობა მაგნიტურ ლენტზე.
- პ ი რ დ ა პ ი რ ი წ ვ დ ო მ ა. ყოველ ჩანაწერს გააჩნია უნიკა-
ლური მისამართი, რომელიც ასახავს მის ფიზიკურ მდებარეობას ინ-
ფორმაციის მატარებელზე. მიმართვა ხორციელდება როგორც სამისა-
მართო წვდომა ჩანაწერის დასაწყისთან, შემდგომში მიმდევრობითი
მიღწევით ჩანაწერის შიგნით ინფორმაციის განსაზღვრულ ერთეულ-
თან. შედეგად გარკვეულ პოზიციასთან წვდომის დრო ცვლად სიდი-
დეს წარმოადგენს. ასეთი რეჟიმი მაგნიტური დისკებისთვისაა დამახ-
სოვრებული.
- ნ ე ბ ი ს მ ი ე რ ი წ ვ დ ო მ ა. მეხსიერების ყოველ უჯრედს გა-
აჩნია უნიკალური ფიზიკური მისამართი. ნებისმიერ უჯრედზე მიმარ-
თვას ესაჭიროება ერთი და იგივე დრო და შეიძლება სრულდებოდეს
ნებისმიერი რიგით. ამის მაგალითია ძირითადი მეხსიერების მოწყობი-
ლობა.
- ასოციატიური წ ვ დ ო მ ა. მიღწევის ეს სახე საშუალებას
იძლევა შესრულდეს უჯრედთა ძიება, რომლებიც შეიცავენ ისეთ ინ-
ფორმაციას, რომელშიც ცალკეული ბიტების მნიშვნელობა ემთხვევა
მოცემულ ნიმუშში იგივე სახელის მქონე ბიტების მდგომარეობას. შე-
დარება ხორციელდება პარალელურად მეხსიერების ყველა უჯრედი-

91
სათვის, დამოუკიდებლად მისი ტევადობისა. ასეთი პრინციპითაა აგე-
ბული კეშ-მეხსიერების ზოგიერთი ბლოკი.
მეხსიერების მოწყობილობის ს წ რ ა ფ ქ მ ე დ ე ბ ა არის მისი
ერთ-ერთი უმნიშვნელოვანესი მახასიათებელი. სწრაფქმედების რაო-
დენობრივი შეფასებისათვის ჩვეულებრივ სამ პარამეტრს იყენებენ.
- წ ვ დ ო მ ი ს დ რ ო (Тწ). მეხსიერებისათვის ნებისმიერი წვდო-
მით ის შეესაბამება დროის ინტერვალს მისამართის მოსვლის მომენტი-
დან იმ მომენტამდე, როცა მონაცემები შეაქვთ მეხსიერებაში ან მისაღ-
წევნი ხდებიან. მეხსიერების მოწყობილობაში ინფორმაციის მოძრავი
მატარებლით - ეს საჭირო პოზიციაში ჩაწერა/ წაკითხვის თავაკის (ან
მატარებლის) დაყენების დროა.
- მეხსიერების ციკლის ხ ა ნ გ რ ძ ლ ი ვ ო ბ ა ან მ ი-
მ ა რ თ ვ ი ს პ ე რ ი ო დ ი (Тც). ცნება გამოიყენება მეხსიერებისათვის
ნებისმიერი წვდომით, რომლისათვისაც ის ნიშნავს მინიმალურ დროს
მეხსიერებისადმი ორ მიმდევრობით მიმართვას შორის. მიმართვის პე-
რიოდი შედგება წვდომის დროისა და კიდევ რაღაც დამატებითი დრო-
ისაგან. დამატებითი დრო შეიძლება საჭირო იყოს ხაზებში სიგნალების
მილევისათვის, ხოლო ზოგიერთი ტიპის მეხსიერების მოწყობილობებ-
ში, რომლებშიც ინფორმაციის ამოკითხვა მის განადგურებას იწვევს, -
ამოკითხული ინფორმაციის აღდგენისათვის.
- გ ა დ ა ც ე მ ი ს ს ი ს წ რ ა ფ ე. ეს ის სისწრაფეა, რომლითაც
მონაცემები შეიძლება გადაეცემოდნენ მეხსიერებას ან პირიქით. მეხ-
სიერებისათვის ნებისმიერი შეღწევით ის - ს ტოლია სხვა სახის

მეხსიერებისათვის გადაცემის სისწრაფე განისაზღვრება გამოსახულე-


ბით:
= + ,
სადაც TN – N ბიტის წაკითხვის ან ჩაწერის საშუალო დროა;
TA - შეღწევის საშუალო დრო;
R - გადაგზავნის სიჩქარე (ბიტებისა წამში).

92
ვსაუბრობთ რა მეხსიერების მოწყობილობის ფ ი ზ ი კ უ რ
ტ ი პ ზ ე, აუცილებელია მოვიხსენიოთ მეხსიერების მოწყობილობის
სამი ყველაზე მეტად გავრცელებული ტექნოლოგია - ესაა მეხსიერება
ნახევარგამტარებზე, მეხსიერება ინფორმაციის მაგნიტურ მატარებელ-
ზე, გამოყენებული მაგნიტურ დისკებსა და ლენტებზე და მეხსიერება
ოპტიკურ მატარებელზე - ოპტიკური დისკები.
გამოყენებული ტექნოლოგიებისაგან დამოკიდებულებით საჭი-
როა გავითვალისწინოთ მეხსიერების მოწყობილობების რიგი ფი-
ზიკური თ ა ვ ი ს ე ბ უ რ ე ბ ე ბ ი, მაგალითად ენერგოდამოკიდე-
ბულება. ენერგოდამოკიდებულ მეხსიერებაში ინფორმაცია შეიძლება
დამახინჯდეს ან დაიკარგოს კვების წყაროს გათიშვისას. ენერგოდამო-
უკიდებელ მეხსიერების მოწყობილობებში ჩაწერილი ინფორმაცია არ
იშლება კვების წყაროს გათიშვის დროსაც კი. მაგნიტური და ოპტიკუ-
რი მეხსიერებები - ენერგოდამოუკიდებლებია. ნახევარგამტარული
მეხსიერება შეიძლება როგორც ენერგოდამოკიდებული, ისე ენერგოდა-
მოუკიდებელი იყოს მისი ტიპისაგან დამოკიდებულებით. ენერგოდა-
მოკიდებულების გარდა გათვალისწინებული უნდა იყოს ის გარემოება,
რომ ინფორმაციის ამოკითხვა იწვევს თუ არა მის განადგურებას.
მეხსიერების მოწყობილობის ღ ი რ ე ბ უ ლ ე ბ ა მიღებულია
შეფასდეს მეხსიერების მოწყობილობის საერთო ღირებულების ფარ-
დობით მას ტევადობასთან ბიტებში, ანუ ერთი ბიტი ინფორმაციის შე-
ნახვის ღირებულება.

5.2. მეხსიერების მოწყობილობათა იერარქია

მეხსიერებას ფონ-ნეიმანისეულ გამომთვლელ მანქანაში ხშირად


„ვიწრო ადგილს“ ეძახიან პროცესორთან შედარებით სწრაფქმედების

93
სერიოზული ჩამორჩენის გამო. ამასთან ეს გარღვევა განუწყვეტლივ
იზრდება.
თუ გავაანალიზებთ დღეისათვის გამოყენებული მეხსიერების
მოწყობილობათა ტიპებს, შევამჩნევთ შემდეგ კანონზომიერებას:
- რაც უფრო ნაკლებია წვდომის დრო, მით უფრო მაღალია ბი-
ტის შენახვის ღირებულება;
- რაც მეტია ტევადობა, მით ნაკლებია ბიტის შენახვის ღირებუ-
ლება, მაგრამ მეტია წვდომის დრო.
მეხსიერების სისტემის შექმნისას ყოველთვის ხდება მისაღები
ფასით მოთხოვნილი ტევადობისა და მაღალი სწრაფქმედების უზრუნ-
ველყოფის ამოცანის გადაწყვეტა. აქ ყველაზე მეტად გავრცელებულ
მიდგომას წარმოადგენს გამომთვლელი მანქანის მეხსიერების სისტე-
მის იერარქიული პრინციპით აგება. ი ე რ ა რ ქ ი უ ლ ი მ ე ხ ს ი ე რ ე-
ბ ა შედგება სხვადასხვა ტიპის მეხსიერების მოწყობილობებისაგან
(ნახ. 5.1), რომლებსაც, მახასიათებლებისაგან დამოკიდებულებით,
აკუთვნებენ იერარქიის განსაზღვრულ დონეს. ყველაზე მაღალი დონე
ნაკლები ტევადობისაა, უფრო სწრაფია და გააჩნია მაღალი ღირებულე-
ბა ბიტზე გადაანგარიშებით, ვიდრე დაბალ დონეს. იერარქიის დონე-
ები ურთიერთდაკავშირებულია: ერთ დონეზე ყველა მონაცემი ასევე
შეიძლება მოძიებულ იქნან უფრო დაბალ დონეზე, და ყველა მონაცემი
ამ უფრო დაბალ დონეზე შეიძლება ნაპოვნი იყოს შემდეგ უფრო დაბალ
დონეზე და ა. შ.
იერარქიის ზედა ოთხი დონე ქმნის გამომთვლელი მანქანის შ ი-
გა მ ე ხ ს ი ე რ ე ბ ა ს, ხოლო ქვედა დონე - გ ა რ ე ან მ ე ო რ ა დ ი
მეხსიერებაა. იერარქიულ სტრუქტურაში ქვემოთ მოძრაობის მიხედ-
ვით:
1. მცირდება ფარდობა „ღირებულება/ბიტი“;
2. იზრდება ტევადობა;
3. იზრდება წვდომის დრო;
4. მცირდება ცენტრალური პროცესორის მხრიდან მეხსიერებაზე
მიმართვის სიხშირე.

94
ნახ. 5.1. დამახსოვრების მოწყობილობათა იერარქია

თუ მეხსიერება ორგანიზებულია 1-3 პუნქტების შესაბამისად, ხო-


ლო მონაცემებისა და ბრძანებების მასში განლაგების ხასიათი აკმაყო-
ფილებს მე-4 პუნქტს, მაშინ იერარქიულ ორგანიზაციას მივყავართ სა-
ერთო ღირებულების შემცირებისაკენ წარმადობის მოცემული დონის
პირობებში.
იერარქიის თითოეულ დონეზე ინფორმაცია იყოფა ბლოკე-
ბ ა დ, რომლებიც წარმოადგენენ იერარქიის ორ მეზობელ დონეს შო-
რის გადაგზავნილ უმცირეს ინფორმაციულ ერთეულებს. ბლოკების
ზომა შეიძლება როგორც ფიქსირებული ისე ცვლადი იყოს. ბლოკის
ფიქსირებული ზომის დროს მეხსიერების ტევადობა ჩვეულებრივ მისი
ზომის ჯერადია. იერარქიის თითოეულ დონეზე ბლოკთა ზომა უფრო
ხშირად განსხვავებულია და იზრდება ზედა დონეებიდან ქვედასაკენ.

95
ყველაზე სწრაფი, მაგრამ ტევადობით მინიმალური მეხსიერების
ტიპია ცენტრალური პროცესორის რეგისტრები, რომლებსაც ზოგჯერ
აერთიანებენ ცნებით „ზ ე ო პ ე რ ა ტ ი უ ლ ი მ ე ხ ს ი - ე რ ე ბ ი ს
მ ო წ ყ ო ბ ი ლ ო ბ ა“. როგორც წესი, მასში რეგისტრების რაოდენობა
მცირეა, თუმცა არქიტექტურებში ბრძანებათა შემცირებული ნაკრებით
მათმა რიცხვმა შეიძლება რამდენიმე ასეულს მიაღწიოს. მნიშვნელოვ-
ნად დიდი ტევადობის ძირითადი მეხსიერება მოთავსებულია რამდე-
ნიმე დონით ქვემოთ. ცენტრალური პროცესორის რეგისტრებსა და ძი-
რითად მეხსიერებას შორის ხშირად ათავსებენ კეშ-მეხსიერებას, რომე-
ლიც ტევადობით შესამჩნევად აგებს ძირითად მეხსიერებასთან, მაგრამ
მნიშვნელოვნად უკეთესია ამ უკანასკნელზე სწრაფქმედებით. ის იგივე
პარამეტრით აგებს ზეოპერატიულ მეხსიერების მოწყობილობასთან.
თანამედროვე გამომთვლელი მანქანების უმრავლესობაში არის კეშ-
მეხსიერების რამდენიმე დონე, რომლებიც L ასოთი და კეშ-მეხსიერე-
ბის დონის ნომრით აღინიშნებიან. ნახ. 5.1-ზე მოყვანილია ორი ასეთი
დონე. ბოლო დამუშავებებში უფრო ხშირად მოჰყავთ კეშ-მეხსიერების
მესამე დონე (L3), ამასთან გამომთვლელი მანქანის დამმუშავებლები
საუბრობენ მეოთხე დონის - L4 შემოტანის მიზანშეწონილობის შესა-
ხებ. კეშ-მეხსიერების ყოველ მომდევნო დონეს აქვს უფრო დიდი ტევა-
დობა, მაგრამ ერთდროულად ნაკლები სწრაფქმედება წინამორბედთან
შედარებით. როგორც არ უნდა იყოს, სწრაფქმედებით კეშ-მეხსიერების
ნებისმიერი დონე აჭარბებს ძირითად მეხსიერებას. შიგა მეხსიერების
ყველა სახე რეალიზებულია ნახევარგამტარული ტექნოლოგიების სა-
ფუძველზე და ძირითადად ენერგოდამოკიდებულები არიან.
ინფორმაციის (პროგრამებისა და მონაცემების) დიდი მოცულო-
ბების ხანგრძლივი შენახვა უზრუნველყოფილია გარე მეხსიერების მო-
წყობილობებით, რომელთა შორის ყველაზე მეტადაა გავრცელებული
მეხსიერების მოწყობილობები მაგნიტური და ოპტიკური დისკების სა-
ფუძველზე, აგრეთვე მაგნიტოლენტური მეხსიერების მოწყობილობები.
და ბოლოს, იერარქიის კიდევ ერთი დონე შეიძლება იქნეს დამა-
ტებული ძირითად მეხსიერებასა და დისკებს შორის. ამ დონეს დისკუ-

96
რი კეშ-მეხსიერება ჰქვია. ის რეალიზდება დამოუკიდებელი მეხსიერე-
ბის მოწყობილობის სახით და შედის მაგნიტური დისკის შემადგენ-
ლობაში. დისკური კეშ-მეხსიერება მნიშვნელოვნად აუმჯობესებს წარ-
მადობას დისკსა და ძირითად მეხსიერებას შორის ინფორმაციის გაც-
ვლის დროს.
იერარქია შეიძლება შევსებულ იქნას მეხსიერების სხვა სახეებით.
ასე მაგალითად, ფირმა IBM- ის გამომთვლელი მანქანის ზოგიერთი
მოდელი შეიცავს ე. წ. გაფართოებულ მეხსიერებას (expanded storage),
შესრულებულს ნახევარგამტარული ტექნოლოგიის საფუძველზე,
ოღონდ ძირითად მეხსიერებასთან შედარებით გააჩნია ნაკლები სწრაფ-
ქმედება და ღირებულება. მკაცრად რომ ვიმსჯელოთ, მეხსიერების ეს
სახე არ შედის იერარქიაში, არამედ წარმოადგენს მისგან განშტოებას,
ვინაიდან მონაცემები შეიძლება გადაცემულ იქნან მხოლოდ გაფართო-
ებულ და ძირითად მეხსიერებას შორის, მაგრამ დაუშვებელია გაცვლა
გაფართოებულსა და გარე მეხსიერებას შორის.

5.3. ძირითადი მეხსიერება

ძირითადი მეხსიერება მეხსიერების ის ერთადერთი


სახეა, რომელთანაც ცენტრალურ პროცესორს შეუძლია უშუალოდ მი-
მართვა (გამონაკლის წარმოადგენს მხოლოდ ცენტრალური პროცესო-
რის რეგისტრები). გარე მეხსიერების მოწყობილობაში შენახული ინ-
ფორმაცია პროცესორისათვის მისაღწევი ხდება მხოლოდ მას შემდეგ,
როცა ის ძირითად მეხსიერებაში გადაიწერება.
ძირითად მეხსიერებას ქმნიან მეხსიერების მოწყობილობები ნე-
ბისმიერი წვდომით. ასეთი მეხსიერების მოწყობილობა შექმნილია რო-

97
გორც უჯრედთა მასივი, ხოლო „ნებისმიერი წვდომა“ ნიშნავს, რომ ნე-
ბისმიერ უჯრედზე მიმართვას ერთი და იგივე დრო სჭირდება და შე-
იძლება ნებისმიერი თანმიმდევრობით შესრულდეს. თითოეული უჯ-
რედი შეიცავს დამახსოვრების ელემენტების ფიქსირებულ რიცხვს და
უნიკალური მისამართი გააჩნია, რომლის საშუალებითაც ხორციელ-
დება უჯრედის გარჩევა ჩაწერის ან წაკითხვის ოპერაციების შესასრუ-
ლებლად მათზე მიმართვის დროს.
ნახევრადგამტარული ტექნოლოგიების სფეროში მიღწეული
უდიდესი წარმატების შედეგია ძირითადი მეხსიერების ელემენტური
ბაზის შეცვლა. ფერომაგნიტური რგოლების საფუძველზე აგებული
მეხსიერების მოწყობილობები ყველგან ნახევარგამტარული მიკროსქე-
მებით შეიცვალა.
ძირითადი მეხსიერება შეიძლება შედგებოდეს ორი ტიპის მო-
წყობილობებისაგან: ო პ ე რ ა ტ ი უ ლ ი მ ე ხ ს ი ე რ ე ბ ი ს მ ო წ ყ ო-
ბ ი ლ ო ბ ე ბ ი ს ა გ ა ნ და მ უ დ მ ი ვ ი მეხსიერების მო-
წ ყ ო ბ ი ლ ო ბ ი ს ა გ ა ნ.
ძირითადი მეხსიერების უდიდეს ნაწილს ოპერატიული მეხსიე-
რების მოწყობილობა წარმოადგენს, რომელსაც ოპერატიული იმიტომ
ჰქვია, რომ ის უშვებს ინფორმაციის როგორც ჩაწერას, ისე წაკითხვას.
ამასთან ორივე ოპერაცია სრულდება ერთტიპიურად (ერთნაირად),
პრაქტიკულად ერთი და იგივეა სიჩქარით და ხორციელდება ელექ-
ტრული სიგნალების დახმარებით. ინგლისურ ენოვან ლიტერატურაში
ოპერატიულ მეხსიერების მოწყობილობას შეესაბამება აბრევიატურა
RAM –Random Access Memory, ანუ „მეხსიერება ნებისმიერი წვდომით“,
რაც სულ მთლად კორექტული არაა, ვინაიდან მუდმივი მეხსიერების
მოწყობილობაც და პროცესორის რეგისტრებიც წარმოადგენენ მეხსიე-
რებას ნებისმიერი წვდომით. ნახევარგამტარული ოპერატიული მეხსი-
ერების მოწყობილობების უმრავლესობისათვის დამახასიათებელია
ენერგოდამოკიდებულება - კვების ხანმოკლე შეწყვეტის დროსაც კი
ინფორმაცია იკარგება. ოპერატიული მეხსიერების მოწყობილობის მიკ-

98
როსქემა მუდმივად უნდა იყოს მიერთებული კვების წყაროსთან და
ამიტომ შეიძლება გამოიყენებოდეს, როგორც დროებითი მეხსიერება.
ძირითადი მეხსიერების ნახევარგამტარული მეხსიერების მო-
წყობილობების მეორე ჯგუფს ქმნიან მუდმივი მეხსიერების მოწყობი-
ლობების ენერგოდამოკიდებული მიკროსქემები (ROM – Rend – Only
Memory). მუდმივი მეხსიერების მოწყობილობა უზრუნველყოფს ინ-
ფორმაციის წაკითხვას, მაგრამ არ უშვებს მის შეცვლას.

5.4. სტეკური მეხსიერება

სტეკური მეხსიერება უზრუნველყოფს მუშაობის


ისეთ რეჟიმს, როცა ინფორმაცია ჩაიწერება და ამოიკითხება პრინციპით
„ბოლო ჩაიწერა - პირველი ამოიკითხა (წაიკითხა)“ (LIFO – Last In First
Out). ასეთი ორგანიზაციის მეხსიერება ფართოდ გამოიყენება პროცე-
სორის რეგისტრების შემცველობის (კონტექსტის) დამახსოვრებისა და
აღდგენისათვის პროგრამებისა და წყვეტების დამუშავების დროს. სტე-
კური მეხსიერების მუშაობას განმარტავს ნახ. 5.2,ა.
როცა A სიტყვა შეიტანება სტეკში, ის თავსდება პირველ თავი-
სუფალ უჯრედში. ყოველი მომდევნო ჩასაწერი სიტყვა გადააადგი-
ლებს სტეკის მთელ შემცველობას ერთი უჯრედით ზემოთ და იკავებს
გამოთავისუფლებულ უჯრედს. H -ის მომდევნო კოდის ჩაწერა იწვევს
სტეკის გადავსებას და A კოდის დაკარგვას. კოდების სტეკიდან ამო-
კითხვა ხორციელდება უკუ რიგით, ანუ იწყება H კოდით, რომელიც
ბოლოს იყო ჩაწერილი. აღვნიშნოთ, რომ სტეკში ნებისმიერ კოდთან
მიღწევა ფორმალურად აკრძალულია ყველა იმ კოდის ამოღებამდე,
რომლებიც უფრო გვიან იყვნენ ჩაწერილი.

99
ა)

ბ)

ნახ. 5.2. სტეკური მეხსიერების ორგანიზაცია : ა) -მუშაობის ლოგიკა;


ბ) - აპარატურულ -პროგრამული სტეკი.

დღეისათვის ყველაზე გავრცელებულია გარე ან აპარატურულ


პროგრამული სტეკი, რომელშიც ინფორმაციის შესატანად გამოყოფი-
ლია ძირითადი მეხსიერების ზონა. ჩვეულებრივ ამ მიზნებისათვის გა-

100
მოიყოფა ყველაზე დიდ მისამართებიანი მეხსიერების უბანი, ხოლო
სტეკი ფართოვდება მისამართების შემცირების მიმართულებით. ვინაი-
დან ჩვეულებრივ პროგრამა იტვირთება მცირე მისამართებიდან და-
წყებული, ამიტომ ასეთი ხერხი ბევრ შემთხვევაში საშუალებას იძლევა
აცილებულ იქნას პროგრამისა და სტეკის ზონების გადაფარვა. სტეკის
დამისამართება უზრუნველყოფილია სპეციალური რეგისტრით - ს ტ ე-
კის მ ა ჩ ვ ე ნ ე ბ ლ ი თ (SP – Stack pointer), რომელშიც წინასწარ
თავსდება სტეკისათვის გამოყოფილი ძირითადი მეხსიერების ზონის
უდიდესი მისამართი (ნახ. 5.2,ბ).
სტეკში მომდევნო ელემენტის შეტანისას ჯერ ხდება სტეკის მაჩ-
ვენებლის შემცველობის ერთი ერთეულით შემცირება, რომელიც შემ-
დეგ გამოიყენება იმ უჯრედზე მისამართავად, სადაც ხდება ჩაწერა. ანუ
სტეკის მაჩვენებელი ინახავს იმ უჯრედის მისამართს, რომელზეც იყო
განხორციელებული ბოლო მიმართვა.
სტეკიდან სიტყვის ამოკითხვისას ამ სიტყვის მისამართად იღება
სტეკის მაჩვენებლის მიმდინარე შემცველობა, ხოლო სიტყვის ამოღების
შემდეგ, სტეკის მაჩვენებლის შემცველობა ერთი ერთეულით იზრდება.

5.5. ასოციაციური მეხსიერება

ზემოთ განხილულ მეხსიერების მოწყობილობებში ინფორმაცი-


ასთან მიღწევა მოითხოვდა უჯრედის მისამართის მითითებას. ხშირად
ბევრად უფრო მოსახერხებელია ინფორმაციის ძიება არა მისამართით,
არამედ თავად ინფორმაციაში არსებულ რაიმე დამახასიათებელ ნიშან-
ზე დაყრდნობით. ასეთი პრინციპი უდევს საფუძვლად ასოცია-
ციური მეხსიერების მ ო წ ყ ო ბ ი ლ ო ბ ა ს. ლიტერატურაში
გვხვდება მსგავსი მეხსიერების მოწყობილობების სხვა დასახელებებიც:

101
შემცველობით დამისამართებული მეხსიერება (content addressable me-
mory); მონაცემებით დამისამართებული მეხსიერება (data addressable
memory); მეხსიერება პარალელური ძიებით (parallel search memory);
კატალოგიური მეხსიერება (catalog memory); ინფორმაციული მეხსიე-
რების მოწყობილობა (information storage); ტეგირებული მეხსიერება
(tag memory). ასოციაციური მეხსიერების მოწყობილობა ისეთი მოწყო-
ბილობაა, რომელსაც შეუძლია შეინახოს ინფორმაცია, შეადაროს ის რო-
მელიმე მოცემულ ნიმუშს და მიუთითოს მათი ერთმანეთთან შესატყ-
ვისობისა ან განსხვავების შესახებ. ნიშანს, რომლის მიხედვითაც ხდება
ინფორმაციის ძებნა, ჰქვია ასოციაციური ნ ი შ ა ნ ი, ხოლო
კოდურ კომბინაციას, რომელიც გამოდის ძიებისათვის ნიმუშის როლ-
ში, - ძ ი ე ბ ი ს ნ ი შ ა ნ ი. ასოციაციური ნიშანი შეიძლება საძიებელი
ინფორმაციის ნაწილი იყოს ან დამატებით ემატებოდეს მას. უკანასკ-
ნელ შემთხვევაში მიღებულია მას ვუწოდოთ ტ ე გ ი ან ი ა რ ლ ი ყ ი.
ასოციაციური მეხსიერების აგების ერთ-ერთი ვარიანტი მოტა-
ნილია ნახ. 5.3-ზე.
ასოციაციური დამახსოვრების მოწყობილობა შეიცავს:
- დამახსოვრებულ მასივს, რომლის დანიშნულებაა m - თანრიგა
N სიტყვის შენახვა, რომელთაგან თითოეულში რამდენიმე უმცროსი
თანრიგი უჭირავს სამსახურებლივ ინფორმაციას;
- ასოციაციური ნიშნის რეგისტრს, სადაც თავსდება საძიებელი
ინფორმაციის კოდი (ძიების ნიშანი) რეგისტრის K თანრიგობა ჩვეუ-
ლებრივ ნაკლებია სიტყვის m სიგრძეზე;
- თანხვედრის სქემებს, რომლებიც გამოიყენებიან ყველა შენახუ-
ლი სიტყვის თითოეული ბიტის პარალელური შედარებებისათვის ძიე-
ბის ნიშნის შესაბამის ბიტთან და თანხვედრის სიგნალების გამომუშა-
ვებისათვის;
- თანხვედრის რეგისტრს, სადაც დამახსოვრების მასივის თითო-
ეულ უჯრედს შეესაბამება ერთი თანრიგი, რომელშიც შეაქვთ ერთიანი,
თუ შესაბამისი უჯრედის ყველა თანრიგი დაემთხვა ძიების ნიმუშის
ერთი და იგივე სახელის მქონე თანრიგებს;

102
ნახ. 5.3. ასოციაციური დამახსოვრების მეხსიერების სტრუქტურა

- ნიღაბის რეგისტრს, რომლის საშუალებითაც იკრძალება გან-


საზღვრული ბიტების შედარება;
- კომბინაციურ სქემას, რომელიც თანხვედრის რეგისტრის შემ-
ცველობის ანალიზის საფუძველზე აფორმირებს ინფორმაციის ძიების
შედეგების მახასიათებელ სიგნალებს.
ასოციაციური დამახსოვრების მოწყობილობაზე მიმართვისას
ჯერ ნიღბის რეგისტრში ხდება იმ თანრიგების განულება, რომლებიც
არ უნდა იყვნენ გათვალისწინებულნი ინფორმაციის ძიებისას. თან-
ხვედრის რეგისტრის ყველა თანრიგი დგება ერთის მდგომარეობაში.
ამის შემდეგ ასოციაციური ნიმუშის რეგისტრში შეიტანება საძიებელი
ინფორმაციის კოდი ( ძიების ნიშანი) და იწყება მისი ძიება, რომლის
პროცესში თანხვედრის სქემები ერთდროულად ადარებენ დამმახსოვ-

103
რებელი მასივის ყველა უჯრედის პირველ ბიტს ძიების ნიშნის პირველ
ბიტს. ის სქემები, რომლებმაც დააფიქსირეს არა თანხვედრა, აფორმი-
რებენ სიგნალს, რომელსაც თანხვედრის რეგისტრის შესაბამისი ბიტი
გადაჰყავს ნულის მდგომარეობაში. ასევე სრულდება ძიების პროცესი
ძიების ნიშნის სხვა არა შენიღბული ბიტებისათვის. შედეგად ერთია-
ნები რჩებიან თანხვედრის რეგისტრის მხოლოდ იმ თანრიგებში, რომ-
ლებიც შეესაბამებიან იმ უჯრედებს, სადაც იმყოფება საძიებელი ინ-
ფორმაცია. თანხვედრის რეგისტრში ერთიანების კონფიგურაცია გამო-
იყენება მისამართებად, რომელთა მიხედვითაც ხდება ამოკითხვა და-
მახსოვრებული მასივიდან.
იმის გამო, რომ ძიების შედეგები შეიძლება არაერთმნიშვნელო-
ვანნი აღმოჩნდნენ, თანხვედრის რეგისტრის შემცველობა მიეწოდება
კომბინაციურ სქემას, სადაც ფორმირდებიან სიგნალები, რომლებიც
იტყობინებიან იმის შესახებ, რომ საძიებელი ინფორმაცია:
- 0 - არაა ნაპოვნი;
- 1 - არის ერთ უჯრედში;
- 2 - არის ერთზე მეტ უჯრედში.
თანხვედრის რეგისტრის შემცველობისა და 0, 1, 2 სიგნა-
ლების ფორმირება ატარებს ასოციაციის კონტროლის
ოპერაციის დასახელებას. ის წაკითხვისა და ჩაწერის ოპერაციათა
შემადგენელი ნაწილია, თუმცა შეიძლება გააჩნდეს დამოუკიდებელი
მნიშვნელობაც.
შეკითხვისას ჯერ ხდება ასოციაციის კონტროლი ძიების არგუ-
მენტის მიხედვით. შემდეგ, თუ 0 = 1, მაშინ წაკითხვა უქმდება საძიე-
ბელი ინფორმაციის არ არსებობის გამო, თუ 1 = 1, მაშინ ხდება სიტყ-
ვის წაკითხვა, რომელზეც თანხვედრის რეგისტრში უთითებს ერთიანი,
ხოლო თუ 2 = 1, მაშინ თანხვედრის რეგისტრში ნულდება ყველაზე
უფროსი ერთიანი და ამოიკითხება მისი შესაბამისი სიტყვა. ამ ოპერა-
ციის გამეორებით თანმიმდევრობით შეიძლება ყველა სიტყვის ამო-
კითხვა.

104
ასოციაციურ დამახსოვრების მოწყობილობაში ჩაწერა ხორციელ-
დება კონკრეტული მისამართის მითითების გარეშე პირველ თავისუ-
ფალ უჯრედში. თავისუფალი უჯრედის მოსაძებნად ხორციელდება
ამოკითხვის ოპერაცია, რომელშიც შენიღბული არაა მხოლოდ სამომსა-
ხურეო თანრიგები, რომლებიც უჩვენებენ, თუ რამდენად დიდი ხნის
უკან ხდებოდა მოცემულ უჯრედზე მიმართვა, და თავისუფლად ით-
ვლება ან ცარიელი უჯრედი, ან ის, რომელიც ყველაზე დიდი ხნის გან-
მავლობაში არ გამოიყენებოდა.
ასოციაციური დამახსოვრების მოწყობილობის მთავარი უპირა-
ტესობა იმაში მდგომარეობს, რომ ინფორმაციის ძიების დრო დამოკი-
დებულია მხოლოდ ძიების ნიშანში თანრიგების რაოდენობასა და თან-
რიგების გამოკითხვის სიჩქარეზე და არაა დამოკიდებული დამახსოვ-
რებულ მასივში უჯრედის რიცხვზე.
ინფორმაციის ასოციაციური ძიების იდეა სრულებითაც არ გამო-
რიცხავს ასოციაციური დამახსოვრების მოწყობილობის არქიტექტურა-
თა მრავალფეროვნებას. კონკრეტული არქიტექტურა განისაზღვრება
ოთხი ფაქტორის შერწყმით: ინფორმაციის ძიების სახით; ნიშნების შე-
დარების ტექნიკით; მრავალჯერადი თანხვედრებისას ინფორმაციის
ამოკითხვის ხერხით და ინფორმაციის ჩაწერის ხერხით.
ასოციაციური დამახსოვრების მოწყობილობის ყოველი კონკრე-
ტული გამოყენებისას ინფორმაციის ძიების ამოცანა შეიძლება სხვადა-
სხვაგვარად იყოს ჩამოყალიბებული (ნახ. 5.4).
მარტივი (უბრალო) ძიების დროს მოითხოვება ძიების ნიშნის
ყველა თანრიგის სრული თანხვედრა დამახსოვრებულ მასივში შენა-
ხული სიტყვების ერთი და იგივე სახელის მქონე თანრიგებთან.
შესაბამისი ორგანიზაციის პირობებში ასოციაციურ დამახსოვრე-
ბის მოწყობილობას შეუძლია ძიების რთული ვარიანტების განხორცი-
ელება, მაგალითად ნაწილობრივი თანხვედრისას. მაგალითად, შეიძ-
ლება დაისვას ასოციაციური ნიშნის მაქსიმალური ან მინიმალური
მნიშვნელობით სიტყვების ძიების ამოცანის დასმა. ასოციაციური და-
მახსოვრების მოწყობილობიდან სიტყვის მრავალჯერადი ამორჩევა

105
ასოციაციური ნიშნის მაქსიმალური ან მინიმალური მნიშვნელობით
(შემდგომი ძიებიდან მისი გამორიცხვით) არსებითად წარმოადგენს ინ-
ფორმაციის მოწესრიგებულ ამორჩევას. მოწესრიგებული ამორჩევა
(ამონაკრები) შეიძლება სხვა ხერხითაც იყოს უზრუნველყოფილი, თუ
მოვძებნით ისეთ სიტყვებს, რომელთა ასოციაციური ნიშანი გამოკითხ-
ვის ნიშანთან მიმართებაში არის უახლესი დიდი ან მცირე მნიშვნელო-
ბა.

ნახ. 5.4. დამახსოვრებულ მასივში ინფორმაციის ძიების სახის


მიხედვით ასოციაციური დამახსოვრების მოწყობილობათა
კლასიფიკაცია

რთული ძიების კიდევ ერთი ვარიანტი შეიძლება იყოს ისეთი


სიტყვების ძიება, რომელთა ნიშნის რიცხობრივი მნიშვნელობა მოცე-
მულ მნიშვნელობაზე მეტია ან ნაკლები. მსგავსი მიდგომა საშუალებას

106
იძლევა სიტყვები ისეთი ნიშნებით, რომლებიც იმყოფებიან მოცემული
საზღვრების შიგნით ან გარეთ.
ცხადია, რომ ძიების რთული მეთოდების რეალიზაცია დაკავში-
რებულია ასოციაციური დამახსოვრების მოწყობილობის არქიტექტუ-
რაში შესაბამისი ცვლილებებით, კერძოდ დამახსოვრების მოწყობილო-
ბის სქემის გართულებით და მასში დამატებითი ლოგიკის შეტანით.
ასოციაციური დამახსოვრების მოწყობილობის აგების დროს არ-
ჩევანს აკეთებენ მეხსიერების შემცველობის გამოკითხვის ორგანიზა-
ციის ოთხ ვარიანტს შორის ( ნახ. 5.5). ეს ვარიანტები შეიძლება კომბი-
ნირდებოდნენ პარალელურად თანრიგთა ჯგუფის მიხედვით და მიმ-
დევრობით ჯგუფების მიხედვით. ძიების დროის მხრივ ყველაზე ეფექ-
ტურად შეიძლება ჩაითვალოს პარალელური გამოკითხვა როგორც სი-
ტყვების, ისე თანრიგების მიხედვით, მაგრამ დამამახსოვრებელ ელე-
მენტთა არა ყველა სახე უშვებს ასეთ შესაძლებლობას.
მნიშვნელოვან მომენტს წარმოადგენს ასოციაციური დამახსოვ-
რების მოწყობილობიდან ინფორმაციის ამოკითხვის ორგანიზაცია,
როცა ძიების ნიშანს ემთხვევიან რამდენიმე სიტყვის ასოციაციური ნიშ-
ნები. ამ შემთხვევაში გამოიყენება ორიდან ერთი მიდგომა (ნახ. 5.6):
რიგობითი მწკრივი რეალიზებულია საკმაოდ რთული მოწყო-
ბილობით, რომელშიც ფიქსირდებიან მრავალმნიშვნელოვანი პასუხის
შემქმნელი სიტყვები. რიგითობის მწკრივი (ჯაჭვი) საშუალებას იძლევა
მოხდეს სიტყვების ამოკითხვა ასოციაციური დამახსოვრების მოწყობი-
ლობის უჯრედის ნომრის ზრდის მიხედვით ასოციაციური ნიშნების
სიდიდისაგან დამოუკიდებლად.
მრავალმნიშვნელოვანი ხერხის დროს ამორჩევა ხორციელდება
გამოკითხვათა სერიის შედეგებით. გამოკითხვათა სერია შეიძლება
ფორმირდებოდეს იმ თანრიგთა მოწესრიგების გზით, რომლებიც შე-
ნიღბულები იყვნენ და არ მონაწილეობდნენ ძიების ნიშანში. მეორე
ვარიანტში ამ მიზნებისათვის გამოიყოფიან სპეციალური უჯრედები.
არსებობს ალგორითმთა მთელი რიგი, რომლებიც ახორციელებენ ასო-

107
ციაციური დამახსოვრების მოწყობილობიდან მოწესრიგებული ამონაკ-
რეფის ამოღების ორგანიზაციას.

ნახ. 5.5. ასოციაციური დამახსოვრების მოწყობილობათა


კლასიფიკაცია დამმახსოვრებელი მასივის შემცველობის გამოკითხვის
ხერხის მიხედვით

ნახ. 5.6. ასოციაციური დამახსოვრების მოწყობილობათა


კლასიფიკაცია თანმთხვეული სიტყვების ამოკრეფის ხერხის მიხედვით
მრავალჯერადი თანმიმდევრობის დროს

108
ასოციაციური დამახსოვრების მოწყობილობის არქიტექტურაში
მნიშვნელოვანი განსხვავებები შეიძლება დაკავშირებულნი იყვნენ ინ-
ფორმაციის ჩაწერის ამორჩეულ პრინციპთან. ზემოთ აღწერილი იყო
უმცირესი ნომრის მქონე თავისუფალ უჯრედში ჩაწერის ვარიანტი.
პრაქტიკაში გამოიყენება სხვა ხერხებიც (ნახ. 5.7), რომელთაგან ყველა-
ზე რთულია - ჩაწერა ასოციაციური დამახსოვრების მოწყობილობის
შესასვლელზე ინფორმაციის ნიშნის სიდიდის მიხედვით დახარისხე-
ბით. აქ იმ უჯრედის ადგილმდებარეობა, რომელშიც უნდა მოთავსდეს

ნახ. 5.7. ასოციაციური დამახსოვრების მოწყობილობათა კლასიფიკაცია


ინფორმაციის ჩაწერის ხერხის მიხედვით

ახალი სიტყვა, დამოკიდებულია ახალი ჩასაწერი სიტყვისა და ასოცია-


ციური დამახსოვრების მოწყობილობაში უკვე შენახული სიტყვების
ასოციაციურობის ნიშნების დამოკიდებულებაზე.
შედარებით მაღალი ღირებულების გამო ასოციაციური დამახ-
სოვრების მოწყობილობა იშვიათად გამოიყენება როგორც მეხსიერების
დამოუკიდებელი სახე.

109
5.6. კეშ - მეხსიერება

როგორც უკვე ავღნიშნეთ, ძირითადი მეხსიერების ელემენტთა


ბაზად უმრავლეს გამომთვლელ მანქანაში გამოიყენებიან დინამიური
ოპერატიული დამახსოვრების მოწყობილობების მიკროსქემები, რომ-
ლებიც სწრაფქმედებით მთელი რიგით ჩამორჩებიან ცენტრალურ პრო-
ცესორს. შედეგად პროცესორი იძულებულია უქმად იყოს რამდენიმე
ტაქტური პერიოდის განმავლობაში, სანამ ინფორმაცია ინტეგრალური
მიკროსქემიდან დადგება გამომთვლელი მანქანის მონაცემთა სალტე-
ზე. თუ ძირითადი მეხსიერებას ავაგებთ სტატიკური მეხსიერების
სწრაფ მიკროსქემებზე, მაშინ გამომთვლელი მანქანის ღირებულება
მნიშვნელოვნად გაიზრდება. ამ პრობლემის ეკონომიურად მისაღები
გადაწყვეტა შემოთავაზებული იყო მ. უილკსის მიერ 1965 წელს გამომ-
თვლელი მანქანა Atlas-ის დამუშავებისას და მდგომარეობს ორდონი-
ანი მეხსიერების გამოყენებაში, როცა ძირითად მეხსიერებას და პროცე-
სორს შორის თავსდება მცირე, მაგრამ სწრაფი ბუფერული მეხსიერება.
ასეთი სისტემის მუშაობის პროცესში ბუფერულ მეხსიერებაში ხდება
ძირითადი მეხსიერების იმ უბნების კოპირება, რომლებზეც სრულდება
მიმართვა პროცესორის მხრიდან. საერთოდ მიღებული ტერმინოლოგი-
ით - ხდება ძირითადი მეხსიერების უბნების ასახვა ბუფერულ
მეხსიერებაში. მოგება მიიღწევა ადრე განხილული ლოკალურობის
თვისების ხარჯზე - თუ ძირითადი მეხსიერების უბანს ავსახავთ უფრო
სწრაფ ბუფერულ მეხსიერებაში და მასზე გადავამისამართებთ ყველა
მიმართვას გადაკოპირებული უბნის ფარგლებში, მაშინ შესაძლებელია
მივაღწიოთ გამომთვლელი მანქანის წარმადობის მნიშვნელოვან ამაღ-
ლებას.
უილკსი განსახილველ ბუფერულ მეხსიერებას უწოდებდა დაქ-
ვემდებარებულს (Slave memory). მოგვიანებით გავრცელება ჰპოვა ტერ-
მინმა კ ე შ - მ ე ხ ს ი ე რ ე ბ ა (ინგლისური სიტყვიდან - cache - თავ-

110
შესაფარი, სამალავი), ვინაიდან ასეთი მეხსიერება ჩვეულებრივ დაფა-
რულია პროგრამისტისაგან იმ აზრით, რომ მას არ შეუძლია მისი დამი-
სამართება და შეიძლება საერთოდ არ იცოდეს მისი არსებობის შესახებ.
პირველად კეშ - სისტემები გამოჩნდნენ IBM 360 ოჯახის 85 მოდელის
მანქანებში.
საერთო სახით კეშ-მეხსიერების გამოყენება განვმარტოთ შემდე-
გი სახით. როცა ცენტრალური პროცესორი ცდილობს ძირითადი მეხ-
სიერებიდან სიტყვის წაკითხვას, ჯერ ხორციელდება ამ სიტყვის ასლის
მოძიება კეშში. თუ ასეთი ასლი არსებობს, მაშინ ძირითად მეხსიერება-
ზე მიმართვა არ წარმოებს, ხოლო ცენტრალურ პროცესორში გადაიცემა
კეშ-მეხსიერებიდან ამოღებული სიტყვა. მიღებულია მოცემულ სიტუა-
ციას უწოდონ წარმატებული მიმართვა ან მ ო ხ -ვ ე დ რ ა (hit). კეშში
სიტყვის არ არსებობისას, ანუ არა წარმატებული მიმართვის დროს -
აცილებისას (miss), - საჭირო სიტყვა ცენტრალურ პროცესორში
გადაიცემა ძირითადი მეხსიერებიდან, მაგრამ ერთდროულად ძირითა-
დი მეხსიერებიდან კეშ- მეხსიერებაში გადაიცემა მონაცემთა ბლოკი,
რომელიც ამ სიტყვას შეიცავს.
ნახ. 5.8-ზე მოყვანილია სისტემის სტრუქტურა ძირითადი და კეშ-
მეხსიერებით. ძირითადი მეხსიერება შესდგება 2n დამისამართებული
სიტყვისაგან, სადაც თითოეულ სიტყვას გააჩნია უნიკალური n -
თანრიგიანი მისამართი. კეშთან ურთიერთქმედებისას ეს მეხსიერება
განიხილება როგორც ფიქსირებული სიგრძის M ბლოკი თითოეულში
K სიტყვით (M=2n/K). კეშ- მეხსიერება შესდგება ანალოგიური ზომის C
ბლოკისაგან (კეშ-მეხსიერებაში ბლოკებს მიღებულია სტრიქონებ
ი ვუწოდოთ), ამასთან მათი რაოდენობა მნიშვნელოვნად ნაკლებია
ძირითად მეხსიერებაში ბლოკების რაოდენობაზე (C < < M). ძირითადი
მეხსიერების რომელიმე ბლოკიდან სიტყვის ამოკითხვისას ეს ბლოკი
კოპირდება კეშის ერთ-ერთ სტრიქონში. ვინაიდან ძირითადი მეხსიე-
რების ბლოკების რაოდენობა მეტია სტრიქონების რაოდენობაზე, ამი-
ტომ დამოუკიდებელი სტრიქონი არ შეიძლება მუდმივად იყოს გამო-
ყოფილი ძირითადი მეხსიერების ერთი და იგივე ბლოკისათვის. ამ

111
ნახ. 5.8. სისტემის სტრუქტურა ძირითადი და კეშ-მეხსიერებით

112
მიზეზით კეშ-მეხსიერების თითოეულ სტრიქონს შეესაბამება ტეგი
(ნიშანი), რომელიც შეიცავს ცნობებს იმის შესახებ, თუ ძირითადი მეხ-
სიერების რომელი ბლოკის ასლი ინახება მოცემულ მომენტში მოცე-
მულ სტრიქონში. ტეგად ჩვეულებრივ გამოიყენება ძირითადი მეხსიე-
რების მისამართის ნაწილი.
მეხსიერების იერარქიულ სისტემაში კეშ-მეხსიერების ეფექტურ
გამოყენებაზე მოქმედებს მომენტების მთელი რიგი. მათგან ყველაზე
მნიშვნელოვნებს შეიძლება მივაკუთვნოთ:
- კეშ-მეხსიერების მოცულობა;
- სტრიქონის ზომა;
- ძირითადი მეხსიერების კეშ-მეხსიერებაზე ასახვის ხერხი;
- შევსებულ კეშ-მეხსიერებაში ინფორმაციის შენაცვლების ალ-
გორითმი;
- კეშ-მეხსიერების დონეთა რიცხვი.

5.7. ვირტუალური მეხსიერება

გამომთვლელი მანქანის ტიპიური გამოყენების უმრავლესობი-


სათვის დამახასიათებელია სიტუაცია, როცა მთელი პროგრამის ძირი-
თად მეხსიერებაში მოთავსება შეუძლებელია მისი დიდი ზომის გამო.
თუმცა ამაში არც არსებობს პრინციპული აუცილებლობა, ვინაიდან
დროის ყოველ მომენტში მანქანის „ყურადღება“ კონცენტრირდება
პროგრამის განსაზღვრულ შედარებით მცირე უბნებზე. ამრიგად, ძი-
რითად მეხსიერებაში საკმარისია შევინახოთ მხოლოდ მოცემულ მო-
მენტში გამოყენებული პროგრამის ნაწილები, ხოლო დანარჩენი ნაწი-
ლები შეიძლება განლაგდნენ გარე დამახსოვრების მოწყობილობაში.

113
მსგავსი მიდგომის სირთულე იმაში მდგომარეობს, რომ ძირითად მეხ-
სიერებაზე და გარე დამახსოვრების მოწყობილობაზე მიმართვის პრო-
ცესები მნიშვნელოვნად განსხვავდებიან, და ეს ართულებს პროგრამის-
ტის ამოცანას. ასეთი სიტუაციიდან გამოსავალი გახდა 1959 წელს
ვირტუალური მეხსიერების იდეის გაჩენა. მის ქვეშ ესმით
იერარქიული მეხსიერების ავტომატური მართვის მეთოდი, როდესაც
პროგრამისტს ეჩვენება, რომ მას საქმე აქვს დიდი მოცულობისა და მა-
ღალი სრაფქმედების ერთიან მეხსიერებასთან. ამ მეხსიერებას ვირტუა-
ლურს (მოჩვენებითს) უწოდებენ. თავისი არსით მეხსიერების გავირ-
ტუალება იერარქიული მეხსიერების კონცეფციის აპარატურული და
პროგრამული რეალიზაციის ხერხს წარმოადგენს.
ვირტუალური მეხსიერების იდეის ჩარჩოებში ძირითადი მეხსი-
ერება განიხილება როგორც N მისამართის წრფივი არე, წოდებული
მეხსიერების ფ ი ზ ი კ უ რ ა რ ე დ. იმ ამოცანებისათვის, რომლებსაც
N უჯრედზე მეტი ესაჭიროებათ, გამოიყოფა მისამართების მნიშვნე-
ლოვნად უფრო დიდი არე (ჩვეულებრივ ყველა სახის მეხსიერების სა-
ერთო მოცულობის ტოლი), წოდებული ვირტუალურ ა რ ე დ,
ზოგად შემთხვევაში არა აუცილებლად წრფივი. ვირტუალური არის
მისამართებს ვ ი რ ტ უ ა ლ უ რ ე ბ ს ეძახიან, ხოლო ფიზიკური არის
მისამართებს - ფ ი ზ ი კ უ რ ე ბ ს. პროგრამა იწერება ვირტუალურ მი-
სამართებში, ვინაიდან მისი შესრულებისათვის საჭიროა, რომ დასამუ-
შავებელი ბრძანებები და მონაცემები იმყოფებოდნენ ძირითად მეხსიე-
რებაში, ამიტომ მოთხოვნილია, რომ თითოეულ ვირტუალურ მისა-
მართს შეესაბამებოდეს ფიზიკური. ამრიგად, გამოთვლების პროცესში
უპირველესად საჭიროა გარე დამახსოვრების მოწყობილობიდან ძირი-
თად მეხსიერებაში ინფორმაციის იმ ნაწილის გადაწერა, რომელზეც მი-
უთითებს ვირტუალური მისამართი (ვირტუალური არის ფიზიკურად
ასახვა), რის შემდეგაც საჭიროა ვირტუალური მისამართის ფიზიკურში
გარდაქმნა (ნახ. 5.9).
ვირტუალური მეხსიერების სისტემაში შეიძლება ორი კლასის
გამოყოფა: სისტემები ბლოკების ფიქსირებული ზომებით (გვერდებით

114
ორგანიზაცია) და სისტემები ბლოკების ცვლადი ზომებით (სეგმენტუ-
რი ორგანიზაცია). ჩვეულებრივ ორივე ვარიანტს ათანხმებენ (სეგმენ-
ტურ - გვერდებითი ორგანიზაცია).

ნახ. 5.9. ვირტუალური მისამართის გამოსახვა ფიზიკურში

5.8. გარე მეხსიერება

დამახსოვრების მოწყობილობების იერარქიაში მნიშვნელოვან


რგოლს წარმოადგენს გარე, ან მეორადი მეხსიერება, რომელიც რეალი-
ზებულია სხვადასხვა დამახსოვრების მოწყობილობათა საფუძველზე.
ასეთი დამახსოვრების მოწყობილობების ყველაზე გავრცელებული ტი-
პებია მაგნიტური და ოპტიკური დისკები და მაგნიტოლენტური მო-
წყობილობები.

115
6. მართვის მოწყობილობები

6.1. ცენტრალური მართვის მოწყობილობების ფუნქციები

გამომთვლელი მანქანის მართვის მოწყობილობა ახორციელებს


გამოთვლითი პროცესის მსვლელობის მართვის ფუნქციებს პროგრამის
ბრძანებების ავტომატური შესრულების უზრუნველყოფით. გამომთვ-
ლელ მანქანაში პროგრამის შესრულების პროცესი წარმოადგენს მანქა-
ნური ციკლების თანმიმდევრობას. მოვახდინოთ ტიპიური მანქანური
ციკლის მსვლელობის დროს მართვის მოწყობილობის მიერ რეალიზე-
ბული ძირითადი ფუნქციების დეტალიზაცია. სიმარტივისათვის მივი-
ღოთ, რომ გამომთვლელი მანქანა უზრუნველყოფს ერთმისამართიან
ბრძანებათა სისტემას. ამასთან, კერძოდ ჩავთვალოთ, რომ ორ ოპერან-
დიანი არითმეტიკული ბრძანების შესრულების დაწყებამდე მეორე
ოპერანდი უკვე იმყოფება პროცესორში.
მანქანურ ციკლში პირველ ეტაპს წარმოადგენს მეხსიერებიდან
ბრძანების ა მ ო რ ჩ ე ვ ა.
ბრძანების ამორჩევას მოსდევს მისი ოპერაციული ნაწილის (ოპე-
რაციის კოდის) დეკოდირების ეტაპი. სიმარტივისათვის ჯერ-ჯერო-
ბით ეს ეტაპი განვიხილოთ როგორც ბრძანების ამორჩევის ეტაპის შე-
მადგენელი ნაწილი.
მეორე მიზნის ფუნქციაა მომდევნო ბრძანების მ ი-
სამართის ფ ო რ მ ი რ ე ბ ა.
შემდეგ მოდის ეტაპი ო პ ე რ ა ნ დ ი ს შ ე მ ს რ უ ლ ე ბე ლ ი
მ ი ს ა მ ა რ თ ი ს ან გადასვლის მ ი ს ა მ ა რ თ ი ს ფ ო რ მ ი რ ე ბ ა. აქ
ფუნქციას იმდენი მოდიფიკაცია აქვს, დამისამართების რამდენი ხერ-
ხიცაა გათვალისწინებული გამომთვლელ მანქანაში.

116
მეოთხე ეტაპზე სრულდება მიზნის ფუნქცია - ო პ ე რ ა ნ დ ი ს ა მ
ორჩევა მეხსიერებიდან წინა ეტაპზე ფორმირებული შემსრულე-
ბელი მისამართით.
და ბოლოს, მანქანური ციკლის ბოლო ეტაპზე მოქმედებას უთი-
თებს მიზნის ფუნქცია - ო პ ე რ ა ც ი ი ს შ ე ს რ უ ლ ე ბ ა. ცხადია, რომ
ამ ფუნქციის მოდიფიკაციათა რაოდენობა ტოლია გამომთვლელი
მანქანის ბრძანებათა სისტემაში არსებული ოპერაციების რაოდენობის.
მიზნის ფუნქციათა მიმდევრობის რიგი მთლიანად განსაზღვ-
რავს მართვის მოწყობილობისა და მთლიანად მთელი გამომთვლელი
მანქანის მუშაობის დინამიკას.

6.2. მართვის მოწყობილობის მოდელი

თავისი ფუნქციების შესასრულებლად მართვის მოწყობილობას


უნდა გააჩნდეს თავისი შესასვლელები, რომლებიც საშუალებას მისცე-
მენ მას განსაზღვროს სამართავი სისტემის მდგომარეობა, და გამოსას-
ვლელები, რომლებითაც განხორციელდება სისტემის მოქმედების მარ-
თვა. მართვის მოწყობილობის მოდელი მოყვანილია ნახ. 6.1-ზე.
მართვის მოწყობილობისათვის შესასვლელ ინფორმაციას წარ-
მოადგენს:
-ტაქტური ი მ პ უ ლ ს ე ბ ი - თითოეულ ტაქტურ იმპულს-
თან ერთად მართვის მოწყობილობა ახდენს ერთი ან რამდენიმე ოპერა-
ციის ინიცირებას;
- ო პ ე რ ა ც ი ი ს კ ო დ ი - მიმდინარე ბრძანების ოპერაციის კო-
დი მიეწოდება ბრძანების რეგისტრიდან და გამოიყენება იმის გასარ-

117
ნახ. 6.1. მართვის მოწყობილობის მოდელი

კვევად, თუ რა მიკრო ოპერაციები უნდა შესრულდნენ მანქანური ციკ-


ლის დროს;
- ა ლ მ ე ბ ი - მართვის მოწყობილობას ესაჭიროება ცენტრალური
პროცესორის მდგომარეობისა და წინა ოპერაციის შედეგის შესაფასებ-
ლად, რაც აუცილებელია პირობითი გადასვლის ბრძანებათა შესასრუ-
ლებლად;
-სიგნალები სისტემური ს ა ლ ტ ი დ ა ნ (სისტემუ-
რი სალტის სიგნალები) - სისტემური სალტის სიგნალების ნაწილი,

118
რომლებიც უზრუნველყოფენ მართვის მოწყობილობისათვის წყვეტებ-
ზე მოთხოვნების, დადასტურებების და ა. შ. გადაცემას.
- თავის მხრივ მართვის მოწყობილობა, უფრო ზუსტად კი მიკ-
როპროგრამული ავტომატი, ქმნის შემდეგ გამოსასვლელ ინფორმაციას:
-მართვის შიგა ს ი გ ნ ა ლ ე ბ ი - ეს სიგნალები ზემოქმე-
დებენ ცენტრალური პროცესორის შიგა სქემებზე და მიეკუთვნებიან
ორიდან ერთ-ერთ ტიპს: იმათ, რომლებიც იწვევენ მონაცემების გადა-
ადგილებას რეგისტრიდან რეგისტრში, და იმათ, რომლებიც ახორცი-
ელებენ გამომთვლელი მანქანის ოპერაციული მოწყობილობის განსა-
ზღვრული ფუნქციების ი ნ ი ც ი რ ე ბ ა ს ;
-სიგნალები სისტემური ს ა ლ ტ ი ს კ ე ნ - აგრეთვე
მიეკუთვნებიან ორიდან ერთ-ერთ ტიპს: მმართველი სიგნალები მეხსი-
ერებისაკენ და მმართველი სიგნალები შეტანა/გამოტანის მოდულის-
კენ.

6.3. მართვის მოწყობილობის სტრუქტურა

როგორც ზემოთ აღვნიშნეთ, გამომთვლელი მანქანის ფუნქციო-


ნირების რეჟიმი შედგება მის კვანძებში ელემენტალურ მოქმედებათა
თანმიმდევრობისაგან. ინფორმაციის ასეთ ელემენტალურ გარდაქმ-
ნებს, შესრულებულებს სინქრონიზაციის სიგნალთა ერთი ტაქტის გან-
მავლობაში, მ ი კ რ ო ო პ ე რ ა ც ი ე ბ ს უწოდებენ. მართვის სიგნალ-
თა ერთობლიობები, რომლებიც იწვევენ ერთდროულად შესასრულე-
ბელ მიკროოპერაციებს, ქმნიან მ ი კ რ ო ბ რ ძ ა - ნ ე ბ ა ს . თავის
მხრივ მიკრობრძანებათა თანმიმდევრობას, რომელიც განსაზღვრავს

119
მანქანური ციკლის შემადგენლობას და რეალიზაციის რიგს, მიღებუ-
ლია ვუწოდოთ მ ი კ რ ო პ რ ო გ რ ა მ ა. მართვის სიგნალები გამომუ-
შავდებიან მართვის მოწყობილობით, უფრო ზუსტად კი მისი ერთ-ერ-
თი კვანძით - მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ა ვ ტ ო მ ა ტ ი თ. სახელ-
წოდება ასახავს იმას, რომ მიკროპროგრამული ავტომატი განსაზღვრავს
მიკროპროგრამას როგორც მიკროოპერაციათა შესრულების თანმიმ-
დევრობას.
ზემოთ ჩამოთვლილი მიზნის ფუნქციების რეალიზაციის მიკრო-
პროგრამები ინიცირდებიან (იქმნებიან) დ ა ვ ა ლ ე ბ ი ს მ ი მ ც ე მ ი
(წარმმართველი) მ ო წ ყ ო ბ ი ლ ო ბ ი თ, რომელიც გამოიმუშავებს
მართვის სიგნალების მოთხოვნილ თანმიმდევრობას და შედის მარ-
თვის მოწყობილობის მმართველი ნაწილის შემადგენლობაში.
მიკროპროგრამები სრულდებიან შ ე მ ს რ უ ლ ე ბ ე ლ ი მ ო-
წ ყ ო ბ ი ლ ო ბ ი თ, რომელიც შედის ძირითადი მეხსიერების და
ოპერაციული მოწყობილობის შემადგენლობაში. მომდევნო ბრძანების
მისამართის ფორმირებისა და ოპერაციათა შესრულების მიზნის ფუნქ-
ციებისათვის შემსრულებული მოწყობილობის როლს ასრულებს მარ-
თვის მოწყობილობის სამისამართო ნაწილი. მართვის მოწყობილობის
განზოგადებულ სტრუქტურაში (ნახ. 6.2) შეიძლება გამოვყოთ ორი ნა-
წილი: მმართველი და სამისამართო.
მართვის მოწყობილობის მმართველი ნაწილის დანიშნულებაა
გამომთვლელი მანქანის ოპერაციული ბლოკის, მართვის მოწყობილო-
ბის სამისამართო ნაწილის, ძირითადი მეხსიერების და გამომთვლელი
მანქანის სხვა კვანძების მუშაობის კოორდინაცია.
მართვის მოწყობილობის სამისამართო ნაწილი უზრუნველყოფს
ძირითადი მეხსიერების ბრძანების მისამართების და ოპერანდების
შემსრულებელი მისამართების ფორმირებას.
მართვის მოწყობილობის მმართველ ნაწილში შედიან:
- ბრძანების რეგისტრი, რომელიც შედგება სამისამართო და
ოპერაციული ნაწილებისაგან;
- მიკროპროგრამული ავტომატი;

120
121
- წყვეტებისა და პრიორიტეტების კვანძი.
ბრძანების რეგისტრის დანიშნულებაა მეხსიერების
მოწყობილობიდან მომდევნო ბრძანების მიღება. მიკროპროგრამული
ავტომატი ბრძანების ოპერაციული ნაწილის გაშიფრის შედეგების სა-
ფუძველზე გამოიმუშავებს მიკრობრძანებათა განსაზღვრულ თანმიმ-
დევრობას, რომლებიც იწვევენ მართვის მოწყობილობის ყველა მიზნის
ფუნქციის შესრულებას.
მიკრობრძანებების ფორმირების ხერხისგან დამოკიდებულებით
გვაქვს შემდეგი მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ავტომატები:
- ხისტი ანუ აპარატურული ლოგიკით;
- პროგრამირებადი ლოგიკით.
წყვეტებისა და პრიორიტეტების კ ვ ა ნ ძ ი ს სა-
შუალებით ხორციელდება რეაგირება სხვადასხვა სიტუაციებზე, რომ-
ლებიც დაკავშირებულნი არიან როგორც მუშა პროგრამების შესრულე-
ბასთან, ისე გამომთვლელი მანქანის მდგომარეობასთან.
მართვის მოწყობილობის სამისამართო ნაწილი შედგება:
- მართვის მოწყობილობის ოპერაციული კვანძისაგან;
- მისამართის რეგისტრისაგან;
- ბრძანებების მთვლელისაგან.
მისამართის რეგისტრი გამოიყენება ოპერანდების
შემსრულებელი მისამართების შენახვისათვის, ხოლო ბ რ ძ ა ნ ე ბ ა -
თა მთვლელი - ბრძანების მისამართების გამომუშავებისა და
შენახვისათვის. მისამართის რეგისტრისა და ბრძანებათა მთვლელის
შემცველობა იგზავნება ძირითადი მეხსიერების მისამართის რეგისტ-
რში შესაბამისად ოპერანდებისა და ბრძანებების გამოსამუშავებლად.
მართვის მ ო წ ყ ო ბ ი ლ ო ბ ი ს ო პ ე რ ა ც ი უ ლ ი კ ვ ა ნ ძ ი,
რომელსაც სხვაგვარად ინდექსური არითმეტიკის კვანძს ან სამისამარ-
თო კვანძს ეძახიან, ამუშავებს ბრძანებების სამისამართო ნაწილებს,
აფორმირებს ოპერანდების შემსრულებელ მისამართებს, აგრეთვე ამ-
ზადებს მომდევნო ბრძანების მისამართს გადასვლის ბრძანების შესრუ-
ლების დროს. მართვის მოწყობილობის ოპერაციული კვანძის შემად-

122
გენლობა შეიძლება ანალოგიური იყოს გამომთვლელი მანქანის ძირი-
თადი ოპერაციული მოწყობილობის შემადგენლობის (ზოგჯერ უმარ-
ტივეს გამომთვლელ მანქანებში მოწყობილობებზე დანახარჯების ეკო-
ნომიის მიზნით მართვის მოწყობილობის ოპერაციული კვანძი შეთავ-
სებულია ძირითად ოპერაციულ მოწყობილობასთან.)
მართვის მოწყობილობაში შეიძლება აგრეთვე შედიოდნენ და-
მატებითი კვანძები, კერძოდ მეხსიერებასთან პირდაპირი შეღწევის
(მიღწევის) ორგანიზაციის კვანძი. ჩვეულებრივ ეს კვანძი მზადდება
დამოუკიდებელი მოწყობილობის - მეხსიერებასთან პირდაპირი შეღ-
წევის კონტროლერის სახით. ის უზრუნველყოფს ოპერაციული მო-
წყობილობის მუშაობის დროში შეთავსებას ძირითად მეხსიერებასა და
გამომთვლელი მანქანის სხვა მოწყობილობებს შორის ინფორმაციის
გაცვლის პროცესთან, რითიც ზრდის მანქანის საერთო წარმადობას.
საკმაოდ ხშირად მართვის მოწყობილობის სხვადასხვა კვანძების
რეგისტრებს აერთიანებენ მართვის მოწყობილობის მმართველ (სპეცია-
ლურ) რეგისტრთა დამოუკიდებელ კვანძად.

123
7. გამომთვლელი მანქანების ოპერაციული

მოწყობილობები

კლასიკურ ფონ-ნეიმანისეულ გამომთვლელ მანქანაში მონაცემ-


თა არითმეტიკული და ლოგიკური დამუშავების ფუნქცია დაკისრებუ-
ლი აქვს არითმეტიკულ-ლოგიკურ მოწყობილობას. შესასრულებელი
ოპერაციებისა და დასამუშავებელი მონაცემების ტიპების მრავალფე-
როვნების გათვალისწინებით შეგვიძლია ვისაუბროთ არა ერთიან მო-
წყობილობაზე, არამედ სპეციალიზირებულ ოპერაციულ მოწყობილო-
ბათა კომპლექსზე, რომელთაგან თითოეული ასრულებს არითმეტი-
კულ და ლოგიკურ ოპერაციათა განსაზღვრულ ქვესიმრავლეს, გათვა-
ლისწინებულს გამომთვლელი მანქანის ბრძანებათა სისტემით. ამ პო-
ზიციებიდან საჭიროა გამოვყოთ:
- მთელრიცხვა არითმეტიკის ოპერაციული მოწყობილობები;
- ოპერაციული მოწყობილობები ლოგიკური ოპერაციების შე-
სასრულებლად;
- ათობითი არითმეტიკის ოპერაციული მოწყობილობები;
- ოპერაციული მოწყობილობები რიცხვებისათვის მცურავი მძი-
მით.
პრაქტიკაში პირველი ორი ჯგუფი ჩვეულებრივ ერთიანდება ერ-
თი ოპერაციული მოწყობილობის ჩარჩოებში. ათობითი არითმეტიკის
სპეციალიზებული ოპერაციული მოწყობილობები თანამედროვე გა-
მომთვლელ მანქანებში საკმაოდ იშვიათად გვხვდება, ვინაიდან ორო-
ბით-ათობით ფორმაში წარმოდგენილი რიცხვების დამუშავება საკმა-
ოდ ეფექტურად შეიძლება მთელრიცხვა ორობითი არითმეტიკის სა-
ფუძველზე. ამრიგად, ითვლება, რომ არითმეტიკულ-ლოგიკური მო-
წყობილობა ქმნის ორი სახის ოპერაციულ მოწყობილობებს - მთელ-

124
რიცხვა ოპერაციული მოწყობილობებს და ოპერაციული მოწყობილო-
ბებს რიცხვების დასამუშავებლად მცურავი მძიმის ფორმატში.
მინიმალურ ვარიანტში არითმეტიკულ-ლოგიკური მოწყობილო-
ბა უნდა შეიცავდეს აპარატურას, რომლის საშუალებითაც განხორცი-
ელდება მხოლოდ ძირითადი ლოგიკური ოპერაციები, ძვრები, აგრეთ-
ვე ფიქსირებული მძიმის ფორმაში რიცხვების შეკრება და გამოკლება.
ამ ნაკრებზე დაყრდნობით შეიძლება პროგრამული ხერხით ვუზრუნ-
ველყოთ დანარჩენი არითმეტიკული და ლოგიკური ოპერაციების შეს-
რულება როგორც რიცხვებისათვის ფიქსირებული მძიმით, ისე ინფორ-
მაციის წარმოდგენის სხვა ფორმებისათვის. ოღონდ საჭიროა გავითვა-
ლისწინოთ, რომ მსგავსი ვარიანტი არ იძლევა გამოთვლების მაღალი

ნახ. 7.1. არითმეტიკულ-ლოგიკური მოწყობილობის აპარატურულ და


პროგრამულ რეალიზაციებს შორის ფარდობის ცვლილების დინამიკა

125
სისწრაფის მიღწევის საშუალებას, ამიტომ ტექნოლოგიური შესაძლებ-
ლობების გაფართოებისას არითმეტიკულ-ლოგიკურ მოწყობილობის
შემადგენლობაში აპარატურული საშუალებების წილი მუდმივად იზ-
რდება.
ნახ. 7.1-ზე მოტანილია გამოთვლითი ტექნიკის ელემენტური ბა-
ზის განვითარებასთან ერთად არითმეტიკულ-ლოგიკური მოწყობი-
ლობის ფუნქციების აპარატურულ და პროგრამულ რეალიზაციებს შო-
რის ფარდობის ცვლილების დინამიკა. აქ იგულისხმება, რომ ვერტიკა-
ლურ ღერძზე აითვლება კალენდარული დრო.

7.1. ოპერაციული მოწყობილობების სტრუქტურები

ელემენტთა ნაკრებს, რომლის ბაზაზეც იქმნებიან ოპერაციულ


მოწყობილობათა სხვადასხვა სტრუქტურები, ეწოდება ს ტ რ უ ქ ტ უ-
რული ბ ა ზ ი ს ი. ოპერაციული მოწყობილობის სტრუქტურული
ბაზისი შედგება:
- რეგისტრებისაგან, რომლებიც უზრუნველყოფენ მონაცემთა სი-
ტყვების ხანმოკლე შენახვას;
- მართვადი სალტეებისაგან, რომელთა დანიშნულებაა მონა-
ცემთა სიტყვების გადაცემა;
- კომბინაციური სქემებისაგან, რომლებიც ახორციელებენ მიკ-
როპერაციათა ფუნქციებისა და ლოგიკური პირობების შესრულებას
მართვის მოწყობილობის მმართველი სიგნალებით.
შესაძლებელია ოპერაციული მოწყობილობის სინთეზირება ე. წ.
კანონიკური სტრუქტურით, რომელიც ფუძემდებლურია სხვა სტრუქ-
ტურების სინთეზისათვის. ასეთი სტრუქტურა იქმნება სარეალიზაციო

126
ფუნქციის ყოველი ელემენტის შეცვლით სტრუქტურული ბაზისის შე-
საბამისი ელემენტით. კანონიკურ სტრუქტურას სხვა ვარიანტებთან შე-
დარებით გააჩნია მაქსიმალური წარმადობა, ოღონდ მასში მოწყობი-
ლობათა სიჭარბეა. პრაქტიკული პოზიციებიდან გამომდინარე დიდ ინ-
ტერესს იწვევს ოპერაციული მოწყობილობების სტრუქტურათა სხვა
ორი სახე: ხისტი და მაგისტრალური.

7.1.1. ოპერაციული მოწყობილობები ხისტი სტრუქტურით

ხისტი სტრუქტურის მქონე ოპერაციულ მოწყობილობაში კომ-


ბინაციური სქემები ხისტად არიან განაწილებული ყველა რეგისტრს
შორის. თითოეულ რეგისტრს მიეკუთვნება კომბინაციური სქემების
თავისი ნაკრები, რომელიც საშუალებას იძლევა განხორციელდეს განსა-
ზღვრული მიკრო ოპერაციები. ხისტი სტრუქტურის მქონე ოპერაციუ-
ლი მოწყობილობის მაგალითი, რომელიც ასრულებს „შეკრების“ ტიპის
ოპერაციას, მოტანილია ნახ. 7.2-ზე.
ოპერაციული მოწყობილობის შემადგენლობაში შედის სამი რე-
გისტრი თავისი ლოგიკური სქემებით:
- პირველი შესაკრების რეგისტრი (I შ რ) და სქემა (I შ რ სქემა);
- მეორე შესაკრების რეგისტრი (II შ რ) და სქემა (II შ რ სქემა);
-ამჯამავის რეგისტრი (ამჯ. რ) და კომბინაციური ამჯამავის სქემა
(ამჯამავი).
მეორე შესაკრების ლოგიკური სქემა ახორციელებს მეორე შესაკ-
რების გადაცემის მიკროოპერაციებს მეორე შესაკრების რეგისტრიდან
ამჯამავის მარცხენა შესასვლელზე:

127
ნახ. 7.2. ოპერაციული მოწყობილობა ხისტი სტრუქტურით

- პირდაპირი კოდით მარცხ. ამჯ. := II შ რ (მართვის B1 II შ რ


სიგნალით);
- შებრუნებული კოდით მარცხ. ამჯ. := ¬ II შ რ (მართვის B1 ¬ II შ
რ სიგნალით);
- ერთი თანრიგით მარცხნივ ძვრით მარცხ. ამჯ. := L1(II შ რ • 0)
(მართვის L1 II შ რ სიგნალით).
პირველი შესაკრების ლოგიკური სქემა უზრუნველყოფს შედეგის
გადაგზავნას ამჯამავის რეგისტრიდან პირველი შესაკრების რეგისტრ-
ში:
- პირდაპირი კოდით I შ რ := მარჯ. ამჯ. (მართვის R2 ამჯ. რ სიგ-
ნალით);
- მარცხნივ ერთი თანრიგით ძვრით I შ რ := L1 (ამჯ. რ • 0) (მარ-
თვის L1 ამჯ. რ სიგნალით);
- ორი თანრიგით მარჯვნივ ძვრით I შ რ := R2 (S•S•ამჯ. რ) (მარ-
თვის G2 I შ რ სიგნალით).

128
კომბინირებული ამჯამავის დანიშნულებაა მის მარცხენა (მარცხ.
ამჯ.) და მარჯვენა (მარჯ. ამჯ.) შესასვლელებზე მოსული ოპერანდების
აჯამვა (ჩვეულებრივ ან 2-ის მოდულით). აჯამვის შედეგი შედის ამჯა-
მავის რეგისტრში: ამჯ. რ : = მარცხ. ამჯ. + მარჯ. ამჯ. (მართვის G2 ამჯ. რ
სიგნალით) ან ამჯ. რ : = მარცხ. ამჯ.⨁ მარჯ. ამჯ. (მართვის (G2 М2 ამჯ.
რ სიგნალით).
ხისტი სტრუქტურის მქონე ოპერაციული მოწყობილობის მო-
დელს წარმოადგენს ე. წ. I ავტომატი.
ხისტი სტრუქტურის მქონე ოპერაციული მოწყობილობის უპი-
რატესობას მაღალი სწრაფქმედება წარმოადგენს, ხოლო ნაკლს-სტრუქ-
ტურის მცირე რეგულარობა, რაც ართულებს ასეთი ოპერაციული მო-
წყობილობების დამზადებას დიდი ინტეგრალური სქემების სახით.

7.1.2. ოპერაციული მოწყობილობები მაგისტრალური სტრუქტურით

მაგისტრალურ სტრუქტურიან ოპერაციულ მოწყობილობებში


ყველა შიდა რეგისტრი გაერთიანებულია საერთო დანიშნულების რე-
გისტრთა (ს დ რ) დამოუკიდებელ კვანძში, ხოლო ყველა კომბინაციუ-
რი სქემა - ოპერაციულ ბლოკში (ოპ ბლოკი), რომელიც ხშირად ასო-
ცირდება ტერმინთან „არითმეტიკულ-ლოგიკური მოწყობილობა“.
ოპერაციული ბლოკი და რეგისტრთა კვანძი ერთმანეთს უკავ-
შირდება მაგისტრალების დახმარებით - სწორედ აქედანაა დასახელება
„მაგისტრალური ომ“.
მაგისტრალური ოპერაციული მოწყობილობის მაგალითი მოტა-
ნილია ნახ. 7.3-ზე.

129
ნახ. 7.3. მაგისტრალური ოპერაციული მოწყობილობა

აქ საერთო დანიშნულების რეგისტრთა კვანძის შემადგენლობა-


ში შედის საერთო დანიშნულების N რეგისტრი, შეერთებულები A და B
მაგისტრალებთან MX A და MX B მულტიპლექსორებით. თითოეული
მულტიპლექსორი წარმოადგენს მართვად კომუტატორს, რომელიც
აერთებს ერთ-ერთი საერთო დანიშნულების რეგისტრის გამოსასვლეს
შესაბამის მაგისტრალთან. მისაერთებელი რეგისტრის ნომერი განისა-
ზღვრება a -ს და b -ს მისამართით, რომელიც მიეწოდება მულტიპლექ-
სორის სამისამართო შესასვლელებს მართვის მოწყობილობიდან.
A და B მაგისტრალებიდან ოპერანდები ეწოდებიან ოპერაციუ-
ლი ბლოკის შესასვლელებს (მართვის მოწყობილობიდან მოწოდებული
მართვის სიგნალით), რომლებსაც უერთდება მოთხოვნილი ოპერაციის
განმახორციელებელი კომბინაციური სქემა. ამრიგად, ოპერაციული
ბლოკის ნებისმიერი მიკროოპერაცია შეიძლება შესრულდეს ოპერაცი-
ული მოწყობილობის ნებისმიერ რეგისტრთა შემცველობაზე. მიკროო-
პერაციის შედეგი С მაგისტრალით შეიტანება DМХ С დემულტიპლექ-
სორის გავლით საერთო დანიშნულების რეგისტრთა კვანძის კონკრე-

130
ტულ რეგისტრში. დემულტიპლექსორი წარმოადგენს მართვად კომუ-
ტატორს, რომელსაც აქვს ერთი ინფორმაციული შესასვლელი და N ინ-
ფორმაციული გამოსასვლელი. შესასვლელი უერთდება მოცემული С
მისამართის მქონე გამოსასვლელს, რომელიც ეწოდება (მისამართი)
DМХ С-ს სამისამართო შესასვლელებს მართვის მოწყობილობიდან.
მაგისტრალურ სტრუქტურიანი ოპერაციული მოწყობილობის
მოდელს წარმოადგენს М-ავტომატი. М-ავტომატი ეწოდება ოპერაცი-
ული მოწყობილობის მოდელს, აგებულს კომბინაციური სქემების გაერ-
თიანების პრინციპის საფუძველზე და რომელიც ყოველ ტაქტზე ახორ-
ციელებს მხოლოდ ერთ მიკრო ოპერაციას.
მაგისტრალური ოპერაციული მოწყობილობის ძირითად ღირსე-
ბას წარმოადგენს მაღალი უნივერსალურობა და სტრუქტურის რეგუ-
ლარულობა, რაც ამარტივებს მათ რეალიზაციას ინტეგრალური სქემის
კრისტალებზე. საერთოდ, ოპერაციულ მოწყობილობებს მაგისტრალუ-
რი სტრუქტურით თანამედროვე გამომთვლელ მანქანებში უპირატესი
ადგილი უჭირავთ.

7.1.2.1. მაგისტრალურ სტრუქტურიანი ოპერაციული


მოწყობილობების კლასიფიკაცია

მაგისტრალური ოპერაციული მოწყობილობების კლასიფიკაციას


ახდენენ მაგისტრალთა სახითა და რაოდენობით, საერთო დანიშნულე-
ბის რეგისტრების კვანძის ორგანიზაციით, ოპერაციული ბლოკის ტი-
პით.
მაგისტრალური ოპერაციული მოწყობილობები შეიძლება იყვნენ
ერთმიმართულებიანი და ორმიმართულებიანი, შესაბამისად მათში
ხორციელდება მონაცემთა გადაცემა ერთი ან ორი სხვადასხვა მიმარ-
თულებით. მაგისტრალის მუშაობის ტიპიურ რეჟიმს წარმოადგენს
დროის დაყოფა, რომლის დროსაც მაგისტრალი გამოიყენება ფუნქციუ-

131
რად სხვადასხვა ტიპის მონაცემთა გადასაცემად დროის სხვადასხვა
მომენტში.
ფუნქციური დანიშნულების მიხედვით გამოყოფენ:
- გარე კ ა ვ შ ი რ თ ა მ ა გ ი ს ტ რ ა ლ ე ბ ს, რომლებიც ოპე-
რაციულ მოწყობილობებს აკავშირებენ მეხსიერებასთან და გამომთვ-
ლელი მანქანის შეტანა/გამოტანის არხებთან;
- ოპერაციულ მოწყობილობებს შ ი გ ა მ ა გ ი ს ტ რ ა ლ ე ბ ი თ,
რომლებიც პასუხს აგებენ საერთო დანიშნულების რეგისტრების კვანძ-
სა და ოპერაციულ ბლოკს შორის კავშირზე.
გარე კავშირთა მაგისტრალების რაოდენობა დამოკიდებულია
კონკრეტული გამომთვლელი მანქანის არქიტექტურაზე და ჩვეულე-
ბრივ გარე კავშირებისათვის არ აღემატება ორს, ხოლო შიგა კავშირები-
სათვის სამს.
სამმაგისტრალური ოპერაციული მოწყობილობის სტრუქტურა
წარმოდგენილია ნახ. 7.4, ა -ზე, ხოლო მისი შესაბამისი „შეკრების“ ტი-
პის ოპერაციის შესრულების მიკროპროგრამა - ნახ. 7.4, ბ-ზე.

ნახ. 7.4. სამმაგისტრალური ოპერაციული მოწყობილობა: ა -


სტრუქტურა; ბ - შეკრების მიკროპროგრამა

მოცემული ვარიანტი ხასიათდება უდიდესი სწრაფქმედებით:


საერთო დანიშნულების რეგისტრიდან ოპერანდის ამორჩევა, აჯამვის
მიკროოპერაციის შესრულება და შედეგის საერთო დანიშნულების რე-
გისტრში ჩაწერა - ყველა ეს მოქმედება სრულდება ერთი ტაქტის გან-

132
მავლობაში. სამმაგისტრალური ორგანიზაციის ძირითადი ნაკლია დი-
დი ინტეგრალური სქემის კრისტალზე დაკავებული დიდი ფართობი
(კრისტალის ფართობის 0,16-იდან 0,22-მდე ნაწილი).
ორმაგისტრალური ორგანიზაცია მაგისტრალებით დაკავებული
ნაკლები ფართობისას (კრისტალის ფართობის 0,06-იდან 0,19-მდე ნა-
წილი) მოითხოვს, როგორც მინიმუმ, ერთი ბუფერული რეგისტრის
(ბფრ) შემოტანას, რომლის დანიშნულებაა ერთ-ერთი ოპერანდის დრო-
ებითი შენახვა (ნახ. 7.5, ა), ამასთან შეკრების ოპერაცია უკვე ორ ტაქტში
სრულდება (ნახ. 7.5, ბ):
- I ტაქტი: ერთ-ერთი ოპერანდის ბუფერულ რეგისტრში ჩატ-
ვირთვა;
-II ტაქტი: ოპერაციულ ბლოკში მიკროოპერაციის შესრულება
ბუფერული რეგისტრისა და ერთ-ერთი საერთო დანიშნულების რე-
გისტრის შემცველობებზე; შედეგის საერთო დანიშნულების რეგისტ-
რში ჩაწერა.

ნახ. 7.5. ორმაგისტრალური ოპერაციული მოწყობილობა: ა -


სტრუქტურა; ბ - შეკრების მიკროპროგრამა

და ბოლოს, ოპერაციული მოწყობილობის ორგანიზაცია მხო-


ლოდ ერთი მაგისტრალის საფუძველზე (ნახ. 7.6, ა) ახდენს ფართობის
დანახარჯების მინიმიზაციას (კრისტალის ფართობის 0.03-იდან 0,09-

133
მდე ნაწილი). ამასთან, ერთამაგისტრალურ ოპერაციულ ბლოკში ჩნდე-
ბა არანაკლებ ორი ბუფერული რეგისტრის ბფრ1 და ბფრ2-ის შეტანის
აუცილებლობა, ხოლო ოპერაციის ხანგრძლივობა იზრდება სამ ტაქტა-
მდე (ნახ. 7.6, ბ):
-I ტაქტი : ერთ-ერთი ოპერანდის ბფრ1-ში ჩატვირთვა;
-II ტაქტი : მეორე ოპერანდის ბფრ2-ში ჩატვირთვა;
-III ტაქტი : ოპერაციულ ბლოკში მიკროოპერაციის შესრულება
ბფრ1-სა და ბფრ2 -ის შემცველობაზე; შედეგის ერთ-ერთ საერთო და-
ნიშნულების რეგისტრში ჩაწერა.

ნახ. 7.6. ერთმაგისტრალური ოპერაციული მოწყობილობა: ა -


სტრუქტურა; ბ - შეკრების მიკროპროგრამა

7.1.2.2. მაგისტრალური ოპერაციული მოწყობილობის


საერთო დანიშნულების რეგისტრის კვანძის ორგანიზაცია

მაგისტრალური ოპერაციული მოწყობილობის საერთო დანიშ-


ნულების რეგისტრის კვანძში რეგისტრების რაოდენობა ჩვეულებრივ

134
აღემატება იმ მინიმუმს, რომელიც აუცილებელია ოპერაციათა უნივერ-
სალური სისტემის რეალიზაციისათვის. რეგისტრების სიჭარბე გამოი-
ყენება:
- მისამართის შემადგენელი ნაწილების შესანახად (ინდექსის, ბა-
ზის);
- ბუფერულ, ზეოპერატიულ მეხსიერებად (გამომთვლელი მან-
ქანის წარმადობის გაზრდისათვის ძირითად მეხსიერებასა და ოპერა-
ციულ მოწყობილობას შორის საჭირო გადაგზავნების შემცირების ხარ-
ჯზე).
საშუალოდ რეგისტრების რაოდენობა მერყეობს 8-დან 16-მდე,
ზოგჯერ შეიძლება მიაღწიოს 32- 64-ს. პროცესორებში ბრძანებათა შემ-
ცირებული ნაკრებით საერთო დანიშნულების რეგისტრების რაოდენო-
ბა ასეულს აღწევს.
საერთო დანიშნულების რეგისტრის კვანძის ორგანიზაციამ შე-
იძლება უზრუნველყოს ერთარხიანი ან ორარხიანი შეღწევა, როგორც
შესასვლელით (ჩაწერა), ისე გამოსასვლელით (წაკითხვა). პირველ შემ-
თხვევაში კვანძის შესასვლელს უერთდება ერთი დემულტიპლექსორი,
ხოლო გამოსასვლელს - ერთი მულტიპლექსორი. მეორე შემთხვევაში
შეღწევა ხორციელდება ორი დემულტიპლექსორის და (ან) ორი მულ-
ტიპლექსორის საშუალებით. ორარხიანი შეღწევა ზრდის ოპერაციული
მოწყობილობის სწრაფქმედებას, ვინაიდან საშუალებას იძლევა განხორ-
ციელდეს პარალელური მიმართვა ორ რეგისტრზე.

7.1.2.3. მაგისტრალური ოპერაციული მოწყობილობის


ოპერაციული ბლოკის ორგანიზაცია

ოპერაციული ბლოკის ტიპი განისაზღვრება მონაცემთა დამუ-


შავების ხერხით. ანსხვავებენ მიმდევრობითი და პარალელური ტიპის
ოპერაციულ ბლოკებს.

135
მიმდევრობით ოპერაციულ ბ ლ ო კ შ ი (ნახ. 7.7)
ოპერაციები სრულდებიან ბიტებად, თანრიგ-თანრიგ.

ნახ. 7.7. მიმდევრობითი ოპერაციული ბლოკი

ოპერანდების i-ური თანრიგის დამუშავებისას გაჩენილი გადა-


ტანის ბიტი მიეწოდება ოპერაციული ბლოკის შესასვლელს და გაითვა-
ლისწინება ოპერანდების (i +1)-იური თანრიგის დამუშავებისას. შედე-
გი ბიტების მიხედვით შედის გამოსასვლელ რეგისტრში, რომლის წინა
შემცველობაც მანამდე იძვრის ერთი თანრიგით. ამრიგად, n - ციკლის
შემდეგ გამოსასვლელ რეგისტრში ფორმირდება შედეგის სიტყვა, სა-
დაც თითოეულ თანრიგს უჭირავს მისთვის გათვალისწინებული პო-
ზიცია.
ოპერაციული ბლოკის პარალელური ორგა-
ნ ი ზ ა ც ი ი ს დროს (ნახ. 7.8) ოპერანდების ყველა თანრიგი ერთდრო-
ულად მუშავდება. შიდა გადატანები უზრუნველყოფილია ოპერაციუ-
ლი ბლოკის სქემით.
„გრძელი“ სიტყვის ჩარჩოებში გადატანათა ეფექტური სისტემის
რეალიზაცია დაკავშირებულია განსაზღვრულ აპარატურულ დანახარ-
ჯებთან, ამიტომ პრაქტიკაში ხშირად იყენებენ ოპერაციული ბლოკის
პარალელურ - მიმდევრობით სქემას. მასში სიტყვა იშლება 2, 4, და 8
თანრიგიან ჯგუფებად. ჯგუფის შიგნით ყველა თანრიგის დამუშავება
პარალელურად ხდება, ხოლო თავად ჯგუფები მიმდევრობით მუშავ-
დებიან.

136
ნახ. 7.8. პარალელური ოპერაციული ბლოკი

ოპერაციული ბლოკის განზოგადებული სქემა მოტანილია ნახ.


7.9-ზე. მასში შედის მიკრობრძანების დეკოდერი, კოდების მაფორმი-
რებლები, მრავალფუნქციური ამჯამავი, ძვრის რეგისტრი და ლოგი-
კური პირობების მაფორმირებელი.
მიკრობრძანების დეკოდერი გამოიმუშავებს მართვის შიგა
სიგნალებს ოპერაციული ბლოკის ელემენტებისათვის. ის შეტანილია
სქემაში მართვის მოწყობილობიდან სიგნალების გადაცემისათვის
საჭიროა კავშირების რაოდენობის მინიმიზაციის მიზნით.
კოდების მაფორმირებლები (კოდ.მაფ.1 და კოდ.მაფ.2) ემსახუ-
რებიან А და В მაგისტრალებით მიწოდებული ოპერანდების პირ-
დაპირი და შებრუნებული კოდების ფორმირებას. ისინი ახორციელე-
ბენ მიკროპერაციათა შემდეგ ნაკრებს:
В0 კოდ.მაფ.1: მარცხ.ამჯ. :=0; В0 კოდ.მაფ.2: მარჯ.ამჯ. :=0;
В1 А: მარცხ.ამჯ. > А; В1В: მარჯ.ამჯ. := В;
В1 ¬А: მარცხ.ამჯ. := ¬А; В1¬В: მარჯ.ამჯ. := ¬В.
მრავალფუნქციური ამჯამავი ასრულებს არითმეტიკული შეკრე-
ბის (გადატანის გათვალისწინებით C 1N ), ორის მოდულით შეკრების,

137
მარცხენა და მარჯვენა შესასვლელზე კოდების ლოგიკური შეკრებისა
და ლოგიკური გამრავლების მიკროოპერაციებს:

ნახ. 7.9. ოპერაციული ბლოკის განზოგადებული სქემა

138
შეკრ.: ამჯ. := მარცხ.ამჯ. + მარჯ.ამჯ. + С1N;
М2: ამჯ. : = მარცხ.ამჯ.  მარჯ.ამჯ.;
 : ამჯ. := მარცხ.ამჯ.  მარჯ.ამჯ.;
 : ამჯ. := მარცხ.ამჯ.  მარჯ.ამჯ. .
ლოგიკური პირობების მაფორმირებელი ამჯამავის გამოსასვ-
ლელზე კოდის ანალიზის საფუძველზე გამოიმუშავებს გასაცნობი სიგ-
ნალების მნიშვნელობებს, რომლებიც გადაეცემიან მანქანის მართვის
მოწყობილობას. შეიძლება იყოს შემდეგი გასაცნობი სიგნალები: ნიშნის
ნიშანი S, გადავსების ნიშანი V, შედეგის ნულოვანი მნიშვნელობის ნი-
შანი Z და ა.შ.
დამძრავი ემსახურება ამჯამავის გამოსასვლელზე კოდის ძვრის
მიკროოპერაციის შესრულებას:
T1: С := ამჯ.;
R1: C := R1(SL • ამჯ.); SR : =ამჯ.(n);
L1: C := L1(ამჯ. • SR); SL : =ამჯ.(0).
T1 მიკროპერაცია უზრუნველყოფს შედეგის გადაცემას С მაგი-
სტრალზე ძვრის გარეშე. R1 მიკროოპერაციის მსვლელობისას შედეგი
იძვრის ერთი თანრიგით მარჯვნივ, ამასთან გამოთავისუფლებულ უფ-
როს თანრიგში შეიტანება მნიშვნელობა გარე SL კონტაქტიდან, ხოლო
ამჯამავის „გამოჩოჩებული“ (უმცროსი) თანრიგი იგზავნება გარე SR
კონტაქტზე.
L1 მიკროოპერაციაში შედეგი იძვრის ერთი თანრიგით მაცხნივ.
აქ გამოთავისუფლებულ მარცხენა თანრიგში ხდება გარე SR კონტაქტის
მნიშვნელობის შეტანა, ხოლო ამჯამავის „გამოჩოჩებული“ (უფროსი)
თანრიგი გადაეცემა გარე SL კონტაქტზე.

139
8. შეტანა / გამოტანის სისტემები

ცენტრალური პროცესორისა და მეხსიერების გარდა, გამომთვ-


ლელი მანქანების არქიტექტურის მესამე ძირითად ელემენტს შეტანა
/გამოტანის სისტემა (შ/გ ს) წარმოადგენს. შეტანა/გამოტანის სისტემის
დანიშნულებაა ინფორმაციის გაცვლა გამომთვლელი მანქანის ბირთვსა
და სხვადასხვა გარე მოწყობილობებს შორის. შეტანა/გამოტანის სისტე-
მის ტექნიკური და პროგრამული საშუალებები პასუხს აგებენ გამომთვ-
ლელი მანქანის ბირთვსა და გარე მოწყობილობების ფიზიკურ და ლო-
გიკურ დაკავშირებაზე.
გამომთვლელი მანქანების ევოლუციის პროცესში შეტანა /გამო-
ტანის სისტემებს არქიტექტურის სხვა ელემენტებთან შედარებით ნაკ-
ლები ყურადღება ექცეოდა. ამის ირიბი დადასტურებაა ის, რომ წარმა-
დობის კონტროლის ბევრი პროგრამა (ბენჩმარკები) საერთოდ არ ითვა-
ლისწინებენ შეტანა/გამოტანის ოპერაციათა გავლენას გამომთვლელი
მანქანის ეფექტურობაზე. მსგავსი დამოკიდებულების შედეგად მნიშვ-
ნელოვანი გარღვევა მოხდა პროცესორისა და მეხსიერების წარმადობი-
სა, ერთის მხრივ და შეტანა/გამოტანის სიჩქარეს შორის - მეორეს მხრივ.
ტექნიკურად შეტანა/გამოტანის სისტემა გამომთვლელი მანქანის
ჩარჩოებში რეალიზებულია შეტანა/გამოტანის მოდულების კომპლექ-
სით. შეტანა/გამოტანის მოდული ახორციელებს გარე მოწყობილობათა
დაკავშირებას გამომთვლელი მანქანის ბირთვს შორის და სხვადასხვა
კომუნიკაციურ ოპერაციებს მათ შორის. შეტანა/გამოტანის მოდულს
შემდეგი ორი ძირითადი ფუნქცია გააჩნია:
- ცენტრალური პროცესორისა და მეხსიერების ინტერფეისის უზ-
რუნველყოფა („დიდი“ ინტერფეისი);
- ინტერფეისის უზრუნველყოფა ერთ ან რამდენიმე პერიფერი-
ულ მოწყობილობასთან („მცირე“ ინტერფეისი).

140
ცნობილი გამომთვლელი მანქანების არქიტექტურების ანალი-
ზის შედეგად შეიძლება გამოვყოთ შეტანა /გამოტანის სისტემის პრო-
ცესორთან მიერთების სამი ძირითადი ხერხი (ნახ. 8.1).

141
მეხსიერებისა და შეტანა/გამოტანის განცალკევებულ სალტეები-
ან ვარიანტში (ნახ. 8.1,ა) ინფორმაციის გაცვლა ცენტრალურ პროცესორ-
სა და მეხსიერებას შორის ფიზიკურად გამოყოფილია სრულებით და-
მოუკიდებელი სალტეებით. ეს საშუალებას იძლევა განხორციელდეს
მეხსიერებაზე მიმართვა შეტანა/გამოტანის შესრულების ერთდროუ-
ლად. გარდა ამისა, გამომთვლელი მანქანის მოცემული არქიტექტუ-
რული ვარიანტი საშუალებას იძლევა მოვახდინოთ თითოეული სალ-
ტის სპეციალიზაცია, გავითვალისწინოთ გადასაგზავნი მონაცემების
ფორმატი, გაცვლის სინქრონიზაციის თავისებურებები და ა. შ. კერძოდ,
შეტანა/გამოტანის სალტეს, რეალური გარე მოწყობილობებს მახასია-
თებლების გათვალისწინებით, შეიძლება ნაკლები გამტარუნარიანობა

142
გააჩნდეს, რაც საშუალებას იძლევა შემცირდეს დანახარჯები მის რეა-
ლიზაციაზე. ამ გადაწყვეტილების ნაკლად შეიძლება ჩაითვალოს ცენ-
ტრალურ პროცესორთან მიერთების წერტილების დიდი რაოდენობა.
მეორე ვარიანტია მონაცემებისა და მისამართების ხაზების ერ-
თობლივი გამოყენება (ნახ. 8.1, ბ) . მეხსიერებასა და შეტანა /გამოტანის
სისტემას აქვს მართვის საერთო მისამართის ხაზები და მონაცემების
ხაზები, განცალკევებულები დროში. იმავე დროს მეხსიერებასა და შე-
ტანა /გამოტანის სისტემის მართვა, აგრეთვე მათი პროცესორთან ურ-
თიერთქმედების სინქრონიზაცია ხორციელდება დამოუკიდებლად
მართვის განცალკევებული ხაზებით. ეს საშუალებას იძლევა გავითვა-
ლისწინოთ მეხსიერებასთან და შეტანა/გამოტანის მოდულებთან მი-
მართვის პროცედურების თავისებურებები და მივაღწიოთ მეხსიერების
უჯრედებთან და გარე მოწყობილობებთან მიღწევის უდიდეს ეფექტუ-
რობას.
გამომთვლელი მანქანის არქიტექტურის ბოლო ტიპი ითვალი-
სწინებს შეტანა /გამოტანის სისტემის სისტემურ სალტეზე მიერთებას
პროცესორთან და მეხსიერებასთან საერთო უფლებებით (ნახ. 8.1, გ).
ასეთი მიდგომის უპირატესობები და ნაკლოვანებები განხილული იყო
სალტეების ორგანიზაციის საკითხთა განხილვის დროს (თავი 4). პო-
ტენციურად შესაძლებელია აგრეთვე გარე მოწყობილობების სისტემურ
სალტეზე პირდაპირი მიერთების ვარიანტი, შეტანა/გამოტანის მოდუ-
ლების გამოყენების გარეშე, მაგრამ მის საწინააღმდეგოდ შეგვიძლია
წამოვაყენოთ რამდენიმე არგუმენტი. უპირველეს ყოვლისა, ამ შემთხ-
ვევაში საჭირო შეიქმნებოდა ცენტრალური პროცესორი აღგვეჭურვა ნე-
ბისმიერი გარე მოწყობილობის სამართავი უნივერსალური სქემებით.
გარე მოწყობილობათა დიდი მრავალფეროვნების გამო, რომლებსაც
ამავე დროს გააჩნიათ განსხვავებული მოქმედების პრინციპები, ასეთი
სქემები აღმოჩნდებიან ძალიან რთული და ჭარბი ელემენტებით გადა-
ტვირთულები. მეორე, შეტანისა და გამოტანისას მონაცემების გადაგ-
ზავნა ხორციელდება მნიშვნელოვნად უფრო ნელა, ვიდრე ცენტრალურ
პროცესორსა და მეხსიერებას შორის გაცვლისას, და არახელსაყრელი

143
იქნებოდა გარე მოწყობილობასთან ინფორმაციის გაცვლისათვის გამო-
გვეყენებინა მაღალი სიჩქარის მქონე სისტემური სალტე. და ბოლოს, გა-
რე მოწყობილობებში ხშირად გამოიყენებიან მათთან მიერთებული გა-
მომთვლელი მანქანისაგან განსხვავებული მონაცემთა ფორმატები და
სიტყვათა სიგრძეები.

8.1. გარე მოწყობილობები

გამომთვლელი მანქანის გარე სამყაროსთან კავშირი ხორციელ-


დება სრულიად განსხვავებული გარე მოწყობილობების დახმარებით.
თითოეული გარე მოწყობილობა უერთდება შეტანა/გამოტანის მოდუ-
ლს ინდივიდუალური სალტით. ინტერფეისს, რომლითაც ხორციელ-
დება შეტანა/გამოტანის მოდულის და გარე მოწყობილობების ასეთი
ურთიერთქმედება, ხშირად ეძახიან მ ც ი რ ე ს. ინდივიდუალური
სალტე უზრუნველყოფს მონაცემებისა და მართვის სიგნალების, აგ-
რეთვე გაცვლაში მონაწილეთა მდგომარეობის შესახებ ინფორმაციის
გაცვლას. შეტანა/გამოტანის მოდულზე მიერთებულ გარე მოწყობილო-
ბას, ჩვეულებრივ პერიფერიულ მ ო წ ყ ო ბ ი ლ ო ბ ა ს უწოდე-
ბენ. პერიფერიულ მოწყობილობათა მთელი სიმრავლე სამ კატეგორიად
შეიძლება დავყოთ:
- მომხმარებელთან ურთიერთობისათვის;
- გამომთვლელ მანქანასთან ურთიერთობისათვის;
- შორს მყოფ მოწყობილობასთან კავშირისათვის.
პირველი ჯგუფის მაგალითებია ვიდეო ტერმინალები და პრინ-
ტერები. მეორე ჯგუფს მიეკუთვნებიან გარე მეხსიერების მოწყობილო-

144
ბები (მაგნიტური და ოპტიკური დისკები, მაგნიტური ლენტები და ა.
შ.), გადამწოდები და შემსრულებელი მექანიზმები. აღვნიშნოთ გარე
მეხსიერების გაორებული როლი, რომელიც ერთის მხრივ, წარმოად-
გენს გამომთვლელი მანქანის ნაწილს, მეორეს მხრივ - გარე მოწყობი-
ლობაა. და ბოლოს, მესამე კატეგორიის მოწყობილობები საშუალებას
აძლევენ გამომთვლელ მანქანას გაცვალოს ინფორმაცია შორს მყოფ
ობიექტებთან, რომლებიც შეიძლება მიეკუთვნებოდნენ ორ პირველ
ჯგუფს. შორს მყოფი ობიექტების როლში შეიძლება იყვნენ აგრეთვე
სხვა გამომთვლელი მანქანები.
გარე მოწყობილობების განზოგადებული სტრუქტურა მოტანი-
ლია ნახ. 8.2-ზე.

ნახ. 8.2. გარე მოწყობილობის სტრუქტურა

145
შეტანა/გამოტანის მოდულით ინტერფეისი რეალიზდება მარ-
თვის, მდგომარეობისა და მონაცემების სიგნალების სახით. მ ო ნ ა ც ე -
მ ე ბ ი წარმოდგენილებია ბიტების ერთობლიობით, რომლებიც უნდა
გადაეცნენ შეტანა/გამოტანის მოდულში ან მისგან უნდა იქნან მიღე-
ბულნი. მ ა რ თ ვ ი ს სიგნალები განსაზღვრავენ გარე მოწყო-
ბილობის მიერ შესრულებულ ფუნქციას. ეს შეიძლება იყოს ყველა მო-
წყობილობისათვის სტანდარტული ფუნქცია - მონაცემთა გადაგზავნა
შეტანა/გამოტანის მოდულში ან მისგან მონაცემების მიღება, ანდა მო-
ცემული ტიპის გარე მოწყობილობისათვის სპეციფიკური ფუნქცია;
ისეთი, მაგალითად, როგორიცაა მაგნიტური დისკის თავაკის პოზიცი-
ონირება ან მაგნიტური ლენტის გადახვევა. მდგომარეობის სიგნალები
ახასიათებენ მოწყობილობის მიმდინარე მდგომარეობას, კერძოდ ჩარ-
თულია თუ არა გარე მოწყობილობა და მზადაა თუ არა ის მონაცემთა
გადასაცემად.
მართვის ლოგიკა - ეს სქემებია, რომლებიც ახორციელებენ გარე
მოწყობილობის მუშაობის კოორდინაციას მონაცემთა გადაცემის მი-
მართულების შესაბამისად. გარდამქმნელის ამოცანას წარმოადგენს
სრულებით განსხვავებული ფიზიკური ბუნების ინფორმაციული სიგ-
ნალების ტრანსფორმაცია ელექტრულ სიგნალებში და აგრეთვე უკუ
გარდაქმნა. ჩვეულებრივ გარდამქმნელთან ერთად გამოიყენება ბუფე-
რული მეხსიერება, რომელიც უზრუნველყოფს შეტანა/გამოტანის მო-
დულსა და გარე მოწყობილობას შორის გადასაგზავნი მონაცემების
დროებით შენახვას.

146
8.2. შეტანა/გამოტანის მოდულები

8.2.1. მოდულის ფუნქციები

გამომთვლელი მანქანის შემადგენლობაში შეტანა/გამოტანის მო-


დული პასუხს აგებს ერთი ან რამდენიმე გარე მოწყობილობის მართვა-
ზე და მონაცემების გაცვლაზე ერთის მხრივ ამ მოწყობილობებსა და,
მეორეს მხრივ, ძირითადი მეხსიერებისა და ცენტრალური პროცესორის
რეგისტრებს შორის. შეტანა/გამოტანის მოდულის ძირითადი ფუნქცი-
ები შემდეგნაირად შეიძლება ჩამოვაყალიბოთ:
- მონაცემთა ლოკალიზაცია;
- მართვა და სინქრონიზაცია;
-ინფორმაციის გაცვლა;
- მონაცემების ბუფერიზაცია;
- შეცდომების აღმოჩენა.
მონაცემთა ლოკალიზაციის ქვეშ გვესმის მიმარ-
თვის შესაძლებლობა ერთ-ერთ გარე მოწყობილობაზე, აგრეთვე მონა-
ცემთა გადამისამართება მათზე.
მართვისა და სინქრონიზაციის ფუნქცია იმაში მდგომარეობს,
რომ შეტანა/გამოტანის მოდულმა უნდა მოახდინოს მონაცემების გადა-
ადგილების კოორდინაცია გამომთვლელი მანქანის შიგა რესურსებსა
და გარე მოწყობილობებს შორის.
შეტანა/გამოტანის მოდულის ძირითად ფუნქციას წარმოადგენს
ინფორმაციის გაცვლის უზრუნველყოფა. „დიდი“ ინტერფეისის მხრი-
დან ესაა ცენტრალურ პროცესორთან გაცვლა, ხოლო „მცირე“ ინტერ-
ფეისის მხრიდან - გარე მოწყობილობებთან გაცვლა.
შეტანა/გამოტანის მოდულის მნიშვნელოვან ფუნქციას წარმოად-
გენს მონაცემთა ბუფერიზაცია. მიუხედავად იმისა, რომ ყველა გარე მო-
წყობილობას ინფორმაციის გაცვლის სხვადასხვა სიჩქარე გააჩნია, მაინც
ყველა ისინი ამ მხრივ მნიშვნელოვნად ჩამორჩებიან ცენტრალურ პრო-

147
ცესორსა და მეხსიერებას. ასეთი განსხვავება ბუფერიზაციის ხარჯზე
კომპენსირდება. გარე მოწყობილობაზე ინფორმაციის გამოტანისას მო-
ნაცემები გადაიგზავნებიან ძირითადი მეხსიერებიდან შეტანა/გამოტა-
ნის მოდულში მაღალი სისწრაფით. მოდულში ეს მონაცემები ბუფე-
რიზდებიან, ხოლო შემდეგ მიემართებიან გარე მოწყობილობისაკენ
მისთვის დამახასიათებელი სისწრაფით. გარე მოწყობილობიდან შეტა-
ნისას მონაცემები ისევ ბუფერიზდებიან, რომ არ აიძულონ იმუშაოს
მეხსიერება ნელი გადაცემის რეჟიმში. ამრიგად, შეტანა/გამოტანის მო-
დულს უნდა გააჩნდეს იმის შესაძლებლობა, რომ იმუშაოს როგორც
მეხსიერების სიჩქარით, ისე გარე მოწყობილობის სიჩქარით.
შეტანა/გამოტანის მოდულის კიდევ ერთი უმნიშვნელოვანესი
ფუნქციაა შეტანა /გამოტანის პროცესში წარმოქმნილი შეცდომების აღ-
მოჩენა. საჭიროა ცენტრალურ პროცესორს გაეგზავნოს შეტყობინება
შეცდომის აღმოჩენის ყოველი შემთხვევის შესახებ. უკანასკნელთა წარ-
მოშობის მიზეზები მრავალგვარი ფაქტორებია, რომლებიც პირველ მი-
ახლოებაში შეიძლება შემდეგ ჯგუფებამდე დავიყვანოთ:
- გარემოს ზემოქმედება;
- ელემენტთა ბაზის დაძველება;
- სისტემური პროგრამული უზრუნველყოფა;
- სამომხმარებლო პროგრამული უზრუნველყოფა.

8.2.2. მოდულის სტრუქტურა

შეტანა/გამოტანის მოდულის სტრუქტურა მნიშვნელოვნადაა და-


მოკიდებული იმ გარე მოწყობილობათა რაოდენობაზე და სირთულე-
ზე, რომლებსაც ის მართავს, თუმცა განზოგადებული სახით ასეთი მო-
დული შეგვიძლია წარმოვიდგინოთ ნახ. 8.3-ზე მოტანილი ფორმით.

148
149
შეტანა/გამოტანის მოდულის კავშირი გამომთვლელი მანქანის
ბირთვთან ხორციელდება სისტემური ან სპეციალიზებული სალტის
საშუალებით. ამ მხრიდან შეტანა/გამოტანის მოდულში რეალიზდება ე.
წ. „დიდი“ ინტერფეისი. დიდი განსხვავება ბრძანებათა სისტემასა და
გამომთვლელი მანქანის სალტეთა არქიტექტურაში იმის მიზეზია, რომ
„დიდი“ ინტერფეისის მხრიდან შეტანა/გამოტანის მოდულების უნიფი-
ცირება საკმაოდ რთულია და ხშირად შეტანა/გამოტანის მოდულები,
შექმნილნი ერთი ტიპის გამომთვლელი მანქანებისათვის, არ შეიძლება
გამოყენებულ იქნან სხვებისათვის. მიუხედავად ამისა, სტრუქტურუ-
ლი სახით ისინი საკმაოდ მსგავსებია.
მისგან მოდულში გადაცემული მონაცემები ბუფერიზდებიან მო-
ნაცემთა რეგისტრში. ბუფერიზაციის საშუალებით კომპენსირდება
განსხვავება გამომთვლელი მანქანის ბირთვის სწრაფქმედებასა და გარე
მოწყობილობებს შორის. როგორც წესი, რეგისტრის თანრიგიანობა ემ-
თხვევა მონაცემთა სალტის სიგანეს „დიდი“ ინტერფეისის მხრიდან (2,
4 ან 8 ბაიტი). თავის მხრივ, გარე მოწყობილობების უმრავლესობა ორი-
ენტირებულია ინფორმაციის ბაიტებად გაცვლაზე. ინფორმაციის ბა-
იტებად გადაგზავნა „ფართო“ სისტემური სალტით ფრიად ეფექტური
გადაწყვეტაა, ამიტომ „მცირე“ ინტერფეისის მხრიდან მონაცემთა რე-
გისტრს ხშირად ავსებენ შეფუთვა/განფუთვის კვანძით (სქემაზე ნაჩ-
ვენები არაა). შეტანისას ეს კვანძი უზრუნველყოფს მონაცემთა რეგი-
სტრის მიმდევრობით ბაიტურ შევსებას (შეფუთვა), ხოლო გამოტანისას
- რეგისტრის შემცველობის მიმდევრობით ბაიტურ გაცემას გარე მოწ-
ყობილობაზე (განფუთვა). შედეგად „დიდი“ ინტერფეისით მონაცემთა
გაცვლისას დაკავებულია მონაცემთა სალტის მთელი სიგანე. შეტა-
ნა/გამოტანის მოდულში, რომლებიც გათვალისწინებულია გარე მო-
წყობილობების დიდ რიცხვთან სამუშაოდ, შეიძლება შედიოდეს მონა-
ცემთა რამდენიმე რეგისტრი, რაც საშუალებას არ იძლევა დამოუკი-
დებლად შევინახოთ თითოეული გარე მოწყობილობის მიმდინარე მო-
ნაცემები.

150
მონაცემთა რეგისტრის გარდა შეტანა/გამოტანის მოდულის შე-
მადგენლობაში აგრეთვე შედის მართვის რეგისტრი და მდგომარეობის
რეგისტრი (ან შერწყმული მართვა/მდგომარეობის რეგისტრი).
მართვის რ ე გ ი ს ტ რ შ ი ფიქსირდება ცენტრალური პრო-
ცესორიდან მიღებული მოდულის ან მასთან მიერთებული გარე მოწყო-
ბილობების მართვის სიგნალები. რეგისტრის ცალკეული თანრიგები
შეიძლება წარმოადგენდნენ ისეთ ბრძანებებს, როგორიცაა შეტანა/გამო-
ტანის მოდულის რეგისტრების გასუფთავება, გარე მოწყობილობის ჩა-
მოყრა (განულება), კითხვის დაწყება, ჩაწერის დაწყება და ა. შ. რთულ
შეტანა/გამოტანის მოდულში არის მართვის რამდენიმე რეგისტრი, მა-
გალითად მთლიანად მოდულის მმართველი სიგნალების რეგისტრი
და თითოეული გარე მოწყობილობისათვის დამოუკიდებელი მართვის
რეგისტრი.
მდგომარეობის რ ე გ ი ს ტ რ ი ს დანიშნულებაა შეტა-
ნა/გამოტანის მოდულის და მასთან მიერთებული გარე მოწყობილობე-
ბის მდგომარეობის შენახვა. რეგისტრის განსაზღვრული თანრიგის შემ-
ცველობა შეიძლება ახასიათებდეს, მაგალითად შეტანის მოწყობილო-
ბის მზადყოფნას მონაცემთა მომდევნო ულუფის მისაღებად, გამოტა-
ნის მოწყობილობის დაკავებულობას ან გარე მოწყობილობის ავტონო-
მიურ რეჟიმში ყოფნას (off line). შეტანა/გამოტანის მოდულში გამორი-
ცხული არაა მდგომარეობის ერთზე მეტი რეგისტრის არსებობა.
შეტანა/გამოტანის პროცედურა გულისხმობს შეტანა/გამოტანის
მოდულის თითოეულ რეგისტრთან ან ცალ-ცალკე გარე მოწყობილო-
ბასთან მუშაობის შესაძლებლობას. ასეთი შესაძლებლობა უზრუნველ-
ყოფილია სამისამართო სისტემით. თითოეულ მოდულს შეტანა/ გამო-
ტანის სამისამართო სივრცეში (შეთავსებულში ან განცალებულში) გა-
მოეყოფა მისამართების უნიკალური ნაკრები, რომლებშიც მისამართე-
ბის რაოდენობა დამოკიდებულია სამისამართო ელემენტების რიცხვი-
საგან. ცენტრალური პროცესორიდან მიღებული მისამართი მისამარ-
თის სელექტორის დახმარებით მოწმდება მოცემული შეტანა/გამოტა-
ნის მოდულისათვის გამოყოფილი დიაპაზონის კუთვნილებაზე. დას-

151
ტურის შემთხვევაში DC დეკოდერი ახდენს მისამართის განკოდირებას,
ნებას რთავს მუშაობაზე მოდულის ან გარე მოწყობილობის შესაბამისი
რეგისტრით.
შეტანა/გამოტანის მართვის კვანძი თავისი არსით ასრულებს შე-
ტანა/გამოტანის მოდულის მართვის ადგილობრივი მოწყობილობის
როლს. მას ორი ამოცანა აკისრია: ცენტრალურ პროცესორთან ურთიერ-
თქმედების უზრუნველყოფა და შეტანა/გამოტანის მოდულის ყველა
შემადგენლის მუშაობის კოორდინაცია. ცენტრალურ პროცესორთან
კავშირი ხორციელდება მართვის ხაზების საშუალებით, რომლებითაც
ცენტრალური პროცესორიდან მოდულს მიეწოდებიან სიგნალები, რომ-
ლებიც ემსახურებიან შეტანა/გამოტანის ოპერაციათა სინქრონიზაციას.
უკუ მიმართულებით გადაეცემიან ის სიგნალები, რომლებიც ინფორ-
მაციას გასცემენ მოდულში მომხდარი შემთხვევების შესახებ, მაგალი-
თად წყვეტის სიგნალები. მართვის ხაზების ნაწილი შეიძლება მოდუ-
ლის მიერ გამოყენებულ იქნას არბიტრაჟისათვის. მართვის კვანძის მე-
ორე ფუნქცია რეალიზდება მართვის შიგა სიგნალების დახმარებით.
„მცირე“ ინტერფეისის მხრიდან შეტანა/გამოტანის მოდული უზ-
რუნველყოფს გარე მოწყობილობათა მიერთებას და მათთან ურთიერ-
თქმედებას. შეტანა/გამოტანის მოდულის ეს ნაწილი უფრო უნიფიცი-
რებულია, ვინაიდან გარე მოწყობილობები ყოველთვის ექვემდებარე-
ბიან ერთ-ერთ სტანდარტულ პროტოკოლს. თითოეულ გარე მოწყობი-
ლობას „ემსახურება“ „მცირე“ ინტერფეისის თავისი კვანძი, რომელიც
ახორციელებს მოცემული გარე მოწყობილობისათვის მიღებულ ურთი-
ერთქმედების სტანდარტულ პროტოკოლს.
გარე მოწყობილობათა ფართო სპექტრის მართვისას მოდულმა
შესაძლებლობის ფარგლებში უნდა გაათავისუფლოს ცენტრალური
პროცესორი კონკრეტული გარე მოწყობილობის დეტალების ცოდნისა-
გან, რომ ცენტრალურმა პროცესორმა შეძლოს ნებისმიერი მოწყობილო-
ბის მართვა წაკითხვისა და ჩაწერის მარტივი ბრძანებების დახმარებით.
ამ დროს შეტანა/გამოტანის მოდული თავის თავზე იღებს სინქრონიზა-
ციის, მონაცემთა ფორმატების შეთანხმების და ა. შ. ამოცანებს.

152
შეტანა/გამოტანის მოდულს, რომელიც თავის თავზე იღებს გარე
მოწყობილობის დეტალურ მართვას და ურთიერთობას ახორციელებს
ცენტრალურ პროცესორთან მხოლოდ მაღალი დონის ბრძანებებით,
ხშირად უწოდებენ შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს ა რ ხ ს ან შ ე ტ ა ნ ა /
გამოტანის პ რ ო ც ე ს ო რ ს. ყველაზე პრიმიტიულ შეტანა/გამო-
ტანის მოდულს, რომელიც მოითხოვს ცენტრალური პროცესორიდან
დეტალურ მართვას, უწოდებენ შეტანა/გამოტანის კონტ-
როლერს ან მ ა რ თ ვ ი ს კ ო ნ ტ რ ო ლ ე რ ს. როგორც წესი, შე-
ტანა/გამოტანის კონტროლერები ტიპიურებია მიკრო ეგმ-ებისათვის,
ხოლო შეტანა/გამოტანის არხები-უნივერსალური გამომთვლელი მან-
ქანებისათვის.

8.3. შეტანა/გამოტანის მართვის მეთოდები

გამომთვლელ მანქანებში გავრცელება ჰპოვა შეტანა/გამოტანის


ორგანიზაციის სამმა ხერხმა:
- პროგრამულად მართული შეტანა/გამოტანა;
-შეტანა/გამოტანა წყვეტებით;
- მეხსიერებასთან პირდაპირი შეღწევა.
შეტანა/გამოტანის პროგრამული მართვის
დროს მასთან დაკავშირებული ყველა მოქმედება სრულდება ცენტრა-
ლური პროცესორის ინიციატივით და მისი სრული კონტროლის ქვეშ.
ცენტრალური პროცესორი ასრულებს პროგრამას, რომელიც უზრუნ-
ველყოფს შეტანა/გამოტანის პროცესის მართვას, მოწყობილობის
მდგომარეობის შემოწმების ჩათვლით, შეტანისა ან გამოტანის ბრძანე-

153
ბების გაცემით. გასცემს რა შეტანა/გამოტანის მოდულისადმი ბრძანე-
ბას, ცენტრალური პროცესორი უნდა დაელოდოს მისი შესრულების
დასრულებას. ვინაიდან ცენტრალური პროცესორი უფრო სწრაფად
მუშაობს, ვიდრე შეტანა/გამოტანის მოდული, ამიტომ ამას მივყავართ
დროით დანაკარგებამდე.
შეტანა/გამოტანა წყვეტებით ბევრი რამით ემთხ-
ვევა პროგრამული მართვის მეთოდს. განსხვავება იმაში მდგომარეობს,
რომ შეტანა/გამოტანის ბრძანების გაცემის შემდეგ ცენტრალურმა პრო-
ცესორმა მოწყობილობის მდგომარეობის გამოსავლენად ციკლურად არ
უნდა გამოკითხოს შეტანა/გამოტანის მოდული. ამის ნაცვლად პროცე-
სორმა შეიძლება გააგრძელოს სხვა ბრძანებების შესრულება მანამ, სანამ
არ მიიღებს მოთხოვნას წყვეტაზე შეტანა/გამოტანის მოდულიდან, რი-
თაც მას ატყობინებენ ადრე გაცემული შეტანა/გამოტანის ბრძანების
დასრულების შესახებ. ისევე როგორც პროგრამულად მართული შეტა-
ნა/გამოტანის დროს, ცენტრალური პროცესორი პასუხს აგებს მეხსიერე-
ბიდან მონაცემების ამოკრეფაზე (გამოტანაზე) და მეხსიერებაში მონა-
ცემების ჩაწერაზე (შეტანაზე).
როგორც შეტანა/გამოტანის სიჩქარის, ასევე ცენტრალური პრო-
ცესორის ეფექტურ გამოყენებას უზრუნველყოფს შეტანა/გამოტანის მე-
სამე ხერხი - მ ე ხ ს ი ე რ ე ბ ა ს თ ა ნ პირდაპირი წ ვ დ ო მ ა. ამ
რეჟიმში ძირითადი მეხსიერება და შეტანა/ გამოტანის მოდული ინ-
ფორმაციის გაცვლას ახორციელებენ პირდაპირ, პროცესორის გვერდის
ავლით.

154
8.4. შეტანა/გამოტანის არხები და პროცესორები

შეტანა/გამოტანის სისტემების განვითარებასთან ერთად მათი


ფუნქციები რთულდებიან. ასეთი გართულების მთავარი მიზანი ცენ-
ტრალური პროცესორის მაქსიმალური გათავისუფლებაა შეტანა/გა-
მოტანის პროცესების მართვისაგან. ამ ამოცანის გადაწყვეტის რამდენი-
მე გზა ზემოთ იყო განხილული. ამ პრობლემების გადაწყვეტად
არსებობს შემდეგი გზები:
1. შეტანა/გამოტანის მოდულის შესაძლებლობების გაფართოება
და მისთვის შეტანა/გამოტანის ოპერაციებზე ორიენტირებულ ბრძანე-
ბათა სპეციალიზირებულ ნაკრებიანი პროცესორის გამოყენება. ცენ-
ტრალური პროცესორი აძლევს მითითებას ასეთ შეტანა/გამოტანის
პროცესორს, რომ მან შეასრულოს გამომთვლელი მანქანის მეხსიერება-
ში შენახული შეტანა/გამოტანის პროგრამა. შეტანა/გამოტანის პროცე-
სორი იღებს და ასრულებს ამ პროგრამის ბრძანებებს ცენტრალური
პროცესორის მონაწილეობის გარეშე და შეტყობინების სიგნალს უგ-
ზავნის ცენტრალურ პროცესორს მხოლოდ შეტანა/გამოტანის მთელი
პროგრამის დასრულების შემდეგ.
2. პუნქტ 1-ში განხილულ შეტანა/გამოტანის პროცესორს ეძლევა
თავისი ლოკალური მეხსიერება. ამ შემთხვევაში შესაძლებელია შეტა-
ნა/გამოტანის მრავალი მოწყობილობის მართვა ცენტრალური პროცე-
სორის მინიმალური გამოყენებით.
პირველ შემთხვევაში შეტანა/გამოტანის მოდულს ეძახიან შეტა-
ნა/გამოტანის არხებს, ხოლო მეორე შემთხვევაში შეტანა/გამოტანის
პროცესორს. პრინციპში განსხვავება შეტანა/გამოტანის არხსა და პრო-
ცესორს შორის საკმაოდ პირობითია, ამიტომ მომავალში გამოვიყენებთ
ტერმინს „არხი“.
შეტანა/გამოტანის სისტემის კონცეფცია შეტანა/გამოტანის არხე-
ბით დამახასიათებელია დიდი უნივერსალური გამომთვლელი მანქა-

155
ნებისათვის (მეინფრეიმებისათვის), სადაც შეტანა/გამოტანის ეფექტუ-
რი ორგანიზაციის პრობლემა და ცენტრალური პროცესორის მაქსიმა-
ლური გამოთავისუფლება მისი ძირითადი ფუნქციის სასარგებლოდ
ძალიან მკაცრად დგას. შეტანა/გამოტანის სისტემა შეტანა/გამოტანის
არხით შემოთავაზებულ და რეალიზებულ იქნა IBM 360 ოჯახის გამომ-
თვლელ მანქანებში და შემდგომ განვითარება ჰპოვა IBM 370 და IBM
390 ოჯახის გამომთვლელ მანქანებში.
შეტანა/გამოტანის არხიან გამომთვლელ მანქანებში ცენტრალუ-
რი პროცესორი უშუალოდ არ მონაწილეობს გარე მოწყობილობათა
მართვაში. მას ეს ამოცანა დელეგირებული აქვს შეტანა/გამოტანის არ-
ხების შემადგენლობაში მყოფი სპეციალიზებული პროცესორისადმი.
ცენტრალური პროცესორის ყველა ფუნქცია დაყვანილია შეტანა/გამო-
ტანის არხებში ოპერაციების გაშვებაზე და გაჩერებაზე, აგრეთვე არხის
და მასთან მიერთებული გარე მოწყობილობების მდგომარეობის შემოწ-
მებაზე. ამ მიზნებისათვის ცენტრალური პროცესორი იყენებს შეტანა/
გამოტანის მხოლოდ 4-იდან 7-მდე ბრძანებას. მაგალითად IBM 360-ში
ასეთი ბრძანება ოთხია:
- „დაიწყოს შეტანა/გამოტანა“;
- „გაჩერდეს შეტანა/გამოტანა“;
- შემოწმდეს შეტანა/გამოტანა“;
- „შემოწმდეს არხი“.
შეტანა/გამოტანის არხი ახორციელებს შეტანა/გამოტანის ოპერა-
ციებს ე. წ. ა რ ხ ი ს პ რ ო გ რ ა მ ი ს შესრულების გზით. არხის პრო-
გრამები თითოეული გარე მოწყობილობისათვის, რომელთანაც გათვა-
ლისწინებულია ინფორმაციის გაცვლა, აღწერენ შეტანა/გამოტანის ოპე-
რაციათა საჭირო თანმიმდევრობას და ინახებიან გამომთვლელი მანქა-
ნის ძირითად მეხსიერებაში. არხის პროგრამებში ბრძანებების როლს
ასრულებენ არხის მმართველი ს ი ტ ყ ვ ებ ი, რომელთა
სტრუქტურაც განსხვავდება ჩვეულებრივი მანქანური ბრძანების
სტრუქტურისაგან. არხის მმართველი ტიპიური სიტყვა შეიცავს:

156
-ოპერაციის კ ო დ ს, რომელიც შეტანა/გამოტანის არხსა
და გარე მოწყობილობისათვის განსაზღვრავს ოპერაციის ტიპს: „ჩაწერა“
(ძირითად მეხსიერებიდან ინფორმაციის გადატანა გარე მოწყობილო-
ბაში), „წაკითხვა“ (გარე მოწყობილობიდან ინფორმაციის ძირითად მეხ-
სიერებაში შეტანა), „მართვა“ (მაგნიტურ დისკებზე დამგროვებლის თა-
ვაკების, მაგნიტური ლენტის გადაადგილება და ა. შ.);
- მ ი მ თ ი თ ე ბ ლ ე ბ ი - დამატებითი მიწერილობებია, რომლე-
ბიც უთითებენ შეტანა/გამოტანის ოპერაციათა უფრო რთულ მიმდევ-
რობებს, მაგალითად შეტანისას გაშვებულ იქნან ცალკეული ჩაწერები
და პირიქით - ერთი ბრძანებით შეტანილ იქნას მთელ ძირითად მეხსი-
ერებაში „გაფანტული“ მასივი, როგორც მთლიანი:
-მონაცემთა მ ი ს ა მ ა რ თ ი, რომელიც უთითებს შეტანა/
გამოტანის ოპერაციაში გამოყენებულ მეხსიერების არეს;
-მონაცემთა მ თ ვ ლ ე ლ ი, რომელიც ინახავს მონაცემთა
გადასაცემი ბლოკის სიგრძეთა მნიშვნელობებს.
გარდა ამისა, არხის მმართველ სიტყვაში შეიძლება იყოს გარე
მოწყობილობის იდენტიფიკატორი და ინფორმაცია მისი პრიორიტე-
ტის დონის შესახებ, მითითებები მოქმედებათა შესახებ, რომლებიც უნ-
და შესრულდნენ შეცდომების წარმოშობისას და ა.შ.
ცენტრალური პროცესორი ახდენს შეტანა/გამოტანის ინიცირებას
არხის ინსტრუქტირებით ძირითად მეხსიერებაში არსებული არხის
პროგრამის შესრულების აუცილებლობის შესახებ და გამომთვლელი
მანქანის მეხსიერებაში ამ პროგრამის საწყისი მისამართის მითითების
გზით. შეტანა/გამოტანის არხი მიჰყვება ამ მითითებებს და მართავს
მონაცემთა გადაგზავნას. აღვნიშნოთ, რომ არხის მიერ ინფორმაციის
გადაგზავნა ხდება მეხსიერებაში პირდაპირი შეღწევის რეჟიმში. გარე
მოწყობილობა ურთიერთმოქმედებს არხთან, ღებულობს მისგან ბრძა-
ნებებს. ამრიგად, შეტანა/გამოტანის არხიდან გამომთვლელ მანქანაში
შეტანა/ გამოტანის მართვა აგებულია იერარქიული სახით. შეტანა/გა-
მოტანის ოპერაციებში მონაწილეობს მოწყობილობათა სამი ტიპი:
- პროცესორი (მართვის პირველი დონე);

157
- შეტანა/გამოტანის არხი (მეორე დონე):
- გარე მოწყობილობები (მესამე დონე).
მოწყობილობათა თითოეულ ტიპს შეესაბამება მმართველი ინ-
ფორმაციის თავისი სახე:
- პროცესორს - შეტანა/გამოტანის ბრძანებები;
- არხს - არხის მმართველი სიტყვები;
- პერიფერიულ მოწყობილობას - ბრძანებები.
შეტანა/გამოტანის არხული სისტემის მქონე გამომთვლელი მან-
ქანის სტრუქტურა მოტანილია ნახ. 8.4-ზე.
შეტანა/გამოტანის არხსა და ძირითად მეხსიერებას შორის ინ-
ფორმაციის გაცვლა ხორციელდება გამომთვლელი მანქანის სისტემუ-
რი სალტის საშუალებით. გარე მოწყობილობები არხს უერთდებიან არა
უშუალოდ, არამედ გარე მოწყობილობების მართვის ბლოკების საშუა-
ლებით. გარე მოწყობილობების მართვის ბლოკი არხიდან ღებულობს
გარე მოწყობილობათა მართვაზე სიგნალებს (წაკითხვა, ჩაწერა, მატა-
რებლის ან მაგნიტური თავაკის გადაადგილება და ა. შ.) და გარდაქმნის
მათ მოცემული ტიპის გარე მოწყობილობის შესაბამისი მართვის სიგნა-
ლებში. ჩვეულებრივ ერთი გარე მოწყობილობების მართვის ბლოკი შე-
იძლება მოემსახუროს რამდენიმე ერთი ტიპის გარე მოწყობილობას,
მაგრამ სწრაფი გარე მოწყობილობების მისაერთებლად ხშირად გამოი-
ყენებიან მართვის ინდივიდუალური ბლოკები. თავის მხრივ, ზოგიერ-
თი გარე მოწყობილობა შეიძლება ერთდროულად მიუერთდეს რამდე-
ნიმე გარე მოწყობილობების მართვის ბლოკს. ეს საშუალებას იძლევა
ვისარგებლოთ სხვა გარე მოწყობილობების მართვის ბლოკის თავისუ-
ფალი ტრაქტით, თუ მოცემული გარე მოწყობილობების მართვის ბლო-
კი დაკავებულია მასზე მიერთებული ერთ-ერთი პერიფერიული მო-
წყობილობის მომსახურებით. ფიზიკურად გარე მოწყობილობების მარ-
თვის ბლოკი შეიძლება იყოს დამოუკიდებელი მოწყობილობა ან ინ-
ტეგრირებული გარე მოწყობილობასთან ან არხთან.

158
159
გარე მოწყობილობების მართვის ბლოკსა და შეტანა/გამოტანის
არხს შორის ინფორმაციის გაცვლა უზრუნველყოფილია ე. წ. ა რ ხ უ-
ლი ტ რ ა ქ ტ ე ბ ი თ. ჩვეულებრივ თითოეული გარე მოწყობილო-
ბების მართვის ბლოკი დაკავშირებულია ერთ-ერთ არხულ ტრაქტთან,
მაგრამ აგრეთვე შესაძლებელია მართვის ბლოკის მიერთება ერთდრო-
ულად რამდენიმე ტრაქტთან, რაც იმის საშუალებას იძლევა, რომ აცი-
ლებულ იქნას არასასურველი დაყოვნებები ერთ-ერთი მათგანის დაკა-
ვებულობის გამო.
შეტანა/გამოტანის არხის საზღვრებში ითვლება, რომ თითოეუ-
ლი გარე მოწყობილობა მიერთებულია თავის ქ ვ ე ა რ ხ თ ა ნ. ქვეარ-
ხებს აქვთ თავისი უნიკალური ნომრები, რომელთა საშუალებითაც
ხდება არხის პროგრამის გადამისამართება კონკრეტულ გარე მოწყობი-
ლობაზე. ფიზიკურად ქვეარხი რეალიზებულია მეხსიერების უბნის სა-
ხით, რომელშიც ინახებიან მოცემული გარე მოწყობილობის მიერ შეს-
რულებული შეტანა/გამოტანის ოპერაციის პარამეტრები: მისამართისა
და მონაცემთა მთვლელის მიმდინარე მნიშვნელობები, შეტანა/ გამოტა-
ნის ოპერაციის კოდი და მიმთითებლები, მომდევნო არხის მმართველი
სიტყვის მისამართი და სხვა. ამ პარამეტრების შენახვისათვის ჩვეულე-
ბრივ გამოყენებულია არხის ლოკალური მეხსიერება.
როგორც უკვე აღვნიშნეთ, გარე მოწყობილობასა და ძირითად
მეხსიერებას შორის ინფორმაციის გაცვლა რეალიზებულია მეხსიერება-
სთან პირდაპირი შეღწევის (მპშ) რეჟიმში, ამასთან ცენტრალური პრო-
ცესორისა და არხის ურთიერთქმედებისათვის ამოქმედებულია სიგნა-
ლები „მოთხოვნა მპშ“ და „დასტური მპშ“.
ცენტრალური პროცესორისათვის მიმდინარე არხული პროგრა-
მის დასრულების ან მისი შესრულებისას დაშვებული შეცდომების შე-
სახებ შეტყობინებისათვის შეტანა/გამოტანის არხი ცენტრალურ პრო-
ცესორში გასცემს სიგნალს „მოთხოვნა წყვეტაზე“. თავის მხრივ, ცენ-
ტრალურმა პროცესორმა შეიძლება არხის ყურადღება მიიპყროს სიგ-
ნალით „ყურადღება“.

160
გარე მოწყობილობის არხთან ურთიერთქმედების ორგანიზაციის
ხერხი განისაზღვრება ძირითად მეხსიერებასა და გარე მოწყობილობის
სწრაფქმედების შეფარდებით. ამ ნიშნით არსებობს გარე მოწყობილო-
ბების ორი ჯგუფი: სწრაფები (დამგროვებლები მაგნიტურ დისკებზე,
დამგროვებლები მაგნიტურ ლენტებზე), ინფორმაციის მიღებისა და გა-
დაცემის სიჩქარით 1მბაიტი/წმ - მდე; ნელად მოქმედნი (დისპლეები,
საბეჭდი მოწყობილობები და სხვა) 1კბაიტი/წმ და ნაკლები სიჩქარით.
ძირითადი მეხსიერების სწრაფქმედება მნიშვნელოვნად მაღალია. გარე
მოწყობილობის წარმადობის გათვალისწინებით შეტანა/გამოტანის არ-
ხში ხორციელდება მუშაობის ორი რეჟიმი: მ უ ლ ტ ი პ ლ ე ქ ს ურ ი
(დროის დაყოფის რეჟიმი) და მ ო ნ ო პ ო ლ უ რ ი.
მულტიპლექსურ რეჟიმში რამდენიმე გარე მოწყო-
ბილობა არხს ჰყოფს დროში, ამასთან არხთან პარალელურად მომუშავე
თითოეული გარე მოწყობილობა უკავშირდება შეტანა/გამოტანის არხს
დროის მოკლე შუალედებში მხოლოდ მას შემდეგ, როცა გარე მოწყობი-
ლობა მზად იქნება მიიღოს ან გასცეს ინფორმაციის მომდევნო ულუფა
(ბაიტი, ბაიტთა ჯგუფი და ა. შ.). ასეთი სქემაა მიღებული შეტანა/
გამოტანის მულტიპლექსურ ა რ ხ შ ი. თუ კავშირის სე-
ანსის განმავლობაში გადაიგზავნება ერთი ან რამდენიმე ბაიტი, რომ-
ლებიც ერთ მანქანურ სიტყვას ქმნიან, მაშინ არხს ბ ა ი ტ - მ უ ლ ტ ი -
პლექსურს უწოდებენ. არხი, რომელშიც კავშირის სეანსის ფარგ-
ლებში მონაცემთა გადაგზავნა ბლოკებად ხორციელდება, ბლოკ-
მულტიპლექსური ჰქვია.
მონოპოლურ რეჟიმში არხსა და გარე მოწყობილობას
შორის კავშირის დამყარების შემდეგ გარე მოწყობილობა ახდენს არხის
მონოპოლიზაციას მთელი იმ დროის განმავლობაში, რაც ესაჭიროება
პროცესორის მიერ ინიცირებული არხული პროცესისა და ამ პროგრა-
მით გათვალისწინებული გარე მოწყობილობას და ძირითად მეხსიერე-
ბას შორის მონაცემთა გადაგზავნების დასრულებას. არხული პროგრა-
მის შესრულების მთელი დროის განმავლობაში არხი მიუწვდომელი
ხდება სხვა გარე მოწყობილოებისათვის. მოცემულ პროცედურას უზ-

161
რუნველყოფს შეტანა/გამოტანის სელექტორული
ა რ ხ ი. აღვნიშნოთ, რომ, ბლოკ-მულტიპლექსურ არხში კავშირის სე-
ანსის ფარგლებში ბლოკის გადაგზავნა ხორციელდება მონოპოლურ
რეჟიმში.

8.4.1. არხთა ქვესისტემა

IBM 360-ის ოჯახის უნივერსალური გამომთვლელი მანქანების


მომდევნო ოჯახებში - IBM 370-ში და განსაკუთრებით IBM 390-ში არ-
ხების ბაზაზე შეტანა/გამოტანის სისტემის კონცეფციამ კიდევ უფრო
მაღალი განვითარება ჰპოვა და აისახა, ე. წ. შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს
ა რ ხ უ ლ ქ ვ ე ს ი ს ტ ე მ ა შ ი. ძირითადი იდეა მდგომარეობს ცალკე-
ული შეტანა/გამოტანის არხების ინტეგრირებაში შეტანა/გამოტანის ერ-
თიან სპეციალიზირებულ პროცესორში არხული ტრაქტებისა და ქვე-
არხების დიდი რიცხვით. გარე მოწყობილობების მართვის ბლოკები
ჩვეულებრივ უერთდებიან რამდენიმე არხულ ტრაქტს, რაც საშუალე-
ბას იძლევა დინამიურად ვცვალოთ ინფორმაციის გადაგზავნის გზა
მათი მიმდინარე დატვირთვის გათვალისწინებით. გარდა ამისა, სხვა-
დასხვა არხულ ტრაქტებს შეიძლება ახასიათებდეთ სხვადასხვა გამ-
ტარუნარიანობა და განსაზღვრული გარე მოწყობილობების მიერთე-
ბისას ტრაქტების არჩევის დროს შეიძლება გათვალისწინებულ იქნას
მათი სწრაფქმედება.
ყველაზე უფრო სრულყოფილი არხული ქვესისტემა გააჩნია IBM
390 ოჯახის გამომთვლელ მანქანებს. მათში გათვალისწინებულია 65536
- მდე ქვეარხისა და 256-მდე არხული ტრაქტის გამოყენება. რეალიზე-
ბულია არხული ტრაქტის ორი ტიპი: პარალელური და მიმდევრობი-
თი.
თავისი შესაძლებლობებითა და მოქმედების პრინციპით პ ა რ ა-
ლელური არხული ტრაქტები ანალოგიურია ზემოთ
განხილული მულტიპლექსური და სელექტორული არხებისა, მაგრამ

162
მათგან განსხვავებით უნივერსალურები არიან, ანუ შეუძლიათ იმუშა-
ონ ბაიტ-მულტიპლექსურ, ბლოკ-მულტიპლექსურ და სელექტორულ
რეჟიმებში. შეტანა/გამოტანის არხულ ქვესისტემაში ასეთ არხულ ტრაქ-
ტებს პარალელურებს ეძახიან, ვინაიდან ისინი უზრუნველყოფენ ინ-
ფორმაციის პარალელური კოდით გადაგზავნას.
შეტანა/გამოტანის არხულ ქვესისტემასთან ბეჭდურ-ოპტიკური
ხაზებით მიერთებულ გარე მოწყობილობებთან სამუშაოდ გამოიყენე-
ბიან მიმდევრობითი არხული ტრაქტები, რომლებიც ახორციელებენ
ESCON (Enterprise Systems Connection Architecture) პროტოკოლს. მიმ-
დევრობითი არხული ტრაქტი გათვალისწინებულია ინფორმაციის
მხოლოდ მიმდევრობითი კოდით და მხოლოდ სელექტორულ რეჟიმში
გადაცემაზე. გარე მოწყობილობების მართვის ბლოკების ESCON ტრაქ-
ტთან მიერთებას ემსახურება სპეციალური მოწყობილობები, რომლებ-
საც ESCON - დირექტორიებს ეძახიან. თითოეულ ასეთ მოწყობილობას
შეუძლია 60 გარე მოწყობილობების მართვის ბლოკამდე მიერთება და
მათგან 30-დან ინფორმაციის ერთეული გადაეცემა 10 მბაიტი/წმ - მდე
სიჩქარით.
გარდა ამისა, შეტანა/გამოტანის არხულ ქვესისტემაში გათვალის-
წინებულია სპეციალური კომუნიკაციური არხული ტრაქტები გამომთ-
ვლელი მანქანების ქსელებთან, მოდემებთან, სხვა სისტემებთან მისაერ-
თებლად.
პრინციპში შეტანა/გამოტანის არხული ქვესისტემის ძირითადი
უპირატესობა - არხული ტრაქტების დინამიური გადანაწილება - რაღაც
სახით შეიძლება რეალიზებულ იყოს თითოეული ცალკე არხის ფარგ-
ლებში. მაგრამ ყველა არხული რესურსის ერთიან არხულ ქვესისტემაში
გაერთიანება საშუალებას იძლევა გამოყენებულ იქნას დინამიური გა-
დანაწილებისა და ამ რესურსების გამოყენების ოპტიმალური სტრატე-
გიები და ამის მეშვეობით შეტანა/ გამოტანის სისტემის ეფექტურობის
ხარისხობრივად ახალ დონეზე აყვანა.

163
9. ძირითადი მიმართულებები პროცესორთა
არქიტექტურაში

ზემოთ ჩვენ უკვე განვიხილეთ ცენტრალური პროცესორის ძირი-


თადი შემადგენლები. ახლა ყურადღებას გავამახვილებთ პროცესორის
როგორც ერთიანი მოწყობილობის არქიტექტურისა და წარმადობის
ამაღლების ხერხების საერთო საკითხებზე.

9.1. გამოთვლების კონვეიერიზაცია

ელემენტარული ბაზის სრულყოფა უკვე აღარ იწვევს გამომთვ-


ლელი მანქანების წარმადობის კარდინალურ ზრდას. ამ საქმეში უფრო
პერსპექტიულად გვესახებიან არქიტექტურული ხერხები, რომელთა
შორის ერთ-ერთი ყველაზე მნიშვნელოვანია კონვეიერიზაცია.
კონვეიერის იდეის განსამარტავად ჯერ მივმართოთ ნახ. 9.1, ა -ს,
სადაც ნაჩვენებია დამოუკიდებელი ფუნქციური ბლოკი (ფბ). საწყისი
მონაცემები თავსდებიან შესასვლელ რეგისტრში (რეგშ), მუშავდებიან
ფუნქციურ ბლოკში, ხოლო დამუშავების შედეგი ფიქსირდება გამოსას-
ვლელ რეგისტრში (რეგგ). თუ ფუნქციურ ბლოკში დამუშავების მაქსი-
მალური დრო Tmax--ის ტოლია, მაშინ ახალი მონაცემები შესასვლელ რე-
გისტრში შეიძლება შეტანილ იქნან Tmax დროის გასვლის შემდეგ.
ახლა გავანაწილოთ ფუნქციურ ბლოკში შესასრულებელი ფუნ-
ქციები სამ დამოუკიდებელ ბლოკს - ფბ1, ფბ2 და ფბ3 - შორის (იხ. ნახ.
9.1, ა), თანაც ისე, რომ თითოეულ ფბi-ურ ბლოკში დამუშავების მაქ -

164
165
სიმალური დრო იყოს ტოლი და უდრიდეს Tmax/3. ბლოკებს შორის მო-
ვათავსოთ ბუფერული რეგi რეგისტრები (ნახ. 9.1, ბ), რომელთა დანიშ-
ნულებაა ფბi - ში დამუშავების შედეგის შენახვა, იმ შემთხვევისათვის
თუ მისი მომდევნო ფუნქციური ბლოკი ჯერ კიდევ არაა მზად გამოი-
ყენოს ეს შედეგი. განხილულ სქემაში მონაცემები კონვეიერის შესასვ-
ლელს შეიძლება მიეწოდებოდნენ Tmax/3 (სამჯერ უფრო ხშირად) ინტერ-
ვალით, თუმცა დაყოვნება მონაცემთა პირველი ერთეულის შესასვლელ
რეგისტრზე მოწოდების მომენტიდან მისი დამუშავების შედეგის გამო-
სასვლელი რეგისტრის გამოსასვლელზე გამოჩენის მომენტამდე ისევ
Tmax - შეადგენს, შემდეგი შედეგები გამოსასვლელი რეგისტრის გამო-
სასვლელზე ჩნდებიან უკვე Tmax/3 ინტერვალით.
პრაქტიკაში იშვიათად შეიძლება მივაღწიოთ იმას, რომ დაყოვნე-
ბები თითოეულ ფუნქციურ ბლოკში ერთნაირები იყვნენ. როგორც შე-
დეგი, კონვეიერის წარმადობა ეცემა, ვინაიდან შესასვლელი მონაცემე-
ბის მიწოდების პერიოდი განისაზღვრება თითოეულ ფუნქციურ ბლოკ-
ში მისი დამუშავების მაქსიმალური დროით. ამ ნაკლოვანების გამოსას-
წორებლად ან, უკიდურეს შემთხვევაში, მისი ნაწილობრივი კონპენსა-
ციის მიზნით თითოეული ბუფერული რეგისტრი (რეგi) საჭიროა შეიც-
ვალოს ბუფერული მეხსიერებით (ბმi), რომელსაც შეუძლია შეინახოს
მონაცემთა სიმრავლე და ორგანიზებულია პრინციპით FIFO -„პირველი
შევიდა - პირველი გამოვიდა“ (ნახ. 9.1, ბ). დაამუშავებს რა მონაცემთა
ელემენტს ფუნქციურ ბლოკს შეაქვს შედეგი i-ურ ბუფერულ მეხსიერე-
ბაში, იღებს i-1 ბუფერული მეხსიერებიდან მონაცემთა ახალ ელემენტს
და იწყებს დამუშავების ახალ ციკლს. ამასთან ეს თანმიმდევრობა სრუ-
ლდება თითოეული ფუნქციური ბლოკით სხვა ბლოკებისაგან დამოუ-
კიდებლად. თითოეულ ბლოკში დამუშავება შეიძლება მანამ გრძელდე-
ბოდეს, სანამ არ მოხდება წინა რიგის ლიკვიდაცია, ან სანამ არ გადაივ-
სება მომდევნო რიგი. თუ ბუფერული მეხსიერების ტევადობა საკმაოდ
დიდია, მაშინ დამუშავების დროის განსხვავებები არ ვლინდებიან წარ-
მადობაზე, მაგრამ მიუხედავად ამისა სასურველია, რომ დამუშავების
საშუალო ხანგრძლივობა ყველა ფუნქციურ ბლოკში იყოს ერთნაირი.

166
გამომთვლელი მანქანების არქიტექტურაში შეიძლება ვიპოვოთ
მრავალი ობიექტი, სადაც კონვეიერიზაცია უზრუნველყოფს გამომთ-
ვლელი მანქანის წარმადობის საგრძნობ მატებას. ზემოთ უკვე განხი-
ლული იყო ორი ასეთი ობიექტი - ოპერაციული მოწყობილობები და
მეხსიერება, ოღონდ განსაკუთრებით საგრძნობი ეფექტი მიიღწევა მან-
ქანური ციკლის ეტაპების კონვეიერიზაციის დროს.
საფეხურების მუშაობის სინქრონიზაციის ხერხის მიხედვით კონ-
ვეიერები შეძლება იყვნენ სინქრონულები და ასინქრონულები. ტრადი-
ციული გამომთვლელი მანქანებისათვის დამახასიათებელია ს ი ნ ქ-
რონული კ ო ნ ვ ე ი ე რ ე ბ ი. უპირველესად, ეს დაკავშირებუ-
ლია პროცესორის მუშაობის სინქრონულ ხასიათთან. კონვეიერის სა-
ფეხურები პროცესორში ჩვეულებრივ ერთმანეთთან ახლოს არიან გან-
ლაგებულნი, რისი მეშვეობითაც სინქრონიზაციის სიგნალების გავრცე-
ლების ტრაქტები საკმაოდ მოკლე მიიღება და სიგნალების „გამრუდე-
ბა“ ხდება არც თუ ისე მნიშვნელოვანი. ა ს ი ნ ქ რ ო ნ უ ლ ი კ ო ნ ვ ე-
იერები სასარგებლონი ხდებიან, თუ საფეხურებს შორის კავშირე-
ბი არც თუ ისე ძლიერია, ხოლო სიგნალური ტრაქტების სიგრძეები
სხვადასხვა საფეხურებს შორის ძლიერ განსხვავებულია. ასინქრონული
კონვეიერების მაგალითს შეიძლება წარმოადგენდნენ სისტოლიკური
მასივები.

9.1.1. ბრძანებათა კონვეიერი

ბრძანებათა კონვეიერის იდეა 1956 წელს აკადემიკოს ს. ა. ლებე-


დევის მიერ იქნა შემოთავაზებული. როგორც ცნობილია, ბრძანებების
ციკლი წარმოადგენს ეტაპების თანმიმდევრობას. თუ თითოეული მათ-
განის რეალიზაციას დავაკისრებთ დამოუკიდებელ მოწყობილობას და
თანმიმდევრობით გავაერთიანებთ ასეთ მოწყობილობებს, მაშინ მივი-
ღებთ ბრძანებათა კონვეიერის სქემას. ილუსტრაციისათვის ვისარგებ-

167
ლოთ კონკრეტული მაგალითით. გამოვყოთ ბრძანების ციკლში ექვსი
ეტაპი:
1. ბ რ ძ ა ნ ე ბ ი ს ა მ ო რ ჩ ე ვ ა. მეხსიერებიდან მომდევნო
ბრძანების ამოკითხვა და შეტანა ბრძანების რეგისტრში.
2. ბ რ ძ ა ნ ე ბ ი ს დ ე კ ო დ ი რ ე ბ ა. ოპერაციის კოდისა და
ოპერანდების დამისამართების ხერხების განსაზღვრა.
3. ო პ ე რ ა ნ დ ე ბ ი ს მისამართების გ ა მ ო თ ვ ლ ა.
თითოეული ოპერანდის საშემსრულებლო მისამართის გამოთვლა
მათი დამისამართების ხერხის ბრძანებაში მითითების შესაბამისად.
4. ო პ ე რ ა ნ დ ე ბ ი ს ა მ ო რ ჩ ე ვ ა. მეხსიერებიდან ოპე-
რანდების ამოღება. ეს ოპერაცია საჭიროა არაა რეგისტრებში მოთავ-
სებული ოპერანდებისათვის.
5. ბ რ ძ ა ნ ე ბ ი ს შ ე ს რ უ ლ ე ბ ა. მითითებული ოპერაციის
შესრულება.
6. შ ე დ ე გ ი ს ჩ ა წ ე რ ა. მეხსიერებაში შედეგის შეტანა.

ნახ. 9.2-ზე ნაჩვენებია კონვეიერი ექვსი საფეხურით, რომლებიც


შეესაბამებიან ბრძანების ციკლის ექვს ეტაპს. დიაგრამაში იგულისხმე-
ბა, რომ თითოეული ბრძანება აუცილებლად გადის ყველა ექვს საფე-
ხურს, თუმცა ეს შემთხვევა სულ მთლად ტიპიური არაა. ასე, მაგალი-
თად, რეგისტრის ჩატვირთვის ბრძანება არ მოითხოვს შედეგის ჩაწერის
ეტაპს. გარდა ამისა, აქ მიღებულია, რომ ყველა ეტაპი შეიძლება ერთ-
დროულად სრულდებოდეს. კონვეიერიზაციის გარეშე ცხრა ბრძანების
შესრულებას დასჭირდებოდა 9 x 6 = 54 დროის ერთეული. კონვეიერის
გამოყენება საშუალებას იძლევა შემცირდეს დამუშავების დრო 14 ერ-
თეულამდე.

168
169
9.1.2. სუპერკონვეიერული პროცესორები

კონვეიერის ეფექტურობა პირდაპირაა დაკავშირებული იმასთან,


თუ მის შესასვლელზე რა სიხშირით ხდება დასამუშავებელი ობიექტე-
ბის მიწოდება. კონვეიერის მუშაობის ტემპის n- ჯერადი ამაღლების
მიღწევა ორი გზით შეიძლება:
- კონვეიერის თითოეული საფეხურის n „ქვესაფეხურად“ დაყო-
ფით კონვეიერის შიგნით ტაქტური სიხშირის n-ჯერ გაზრდის პირო-
ბებში;
- პროცესორის შემადგენლობაში გადაფარვით მომუშავე n კონვე-
იერის ჩართვით.
აქ ჩვენ განვიხილავთ პირველ მათგანს, ცნობილს ს უ პ ე რ კ ო ნ -
ვეიერიზაციის სახელით (ტერმინი პირველად 1988 წელს იქნა
გამოყენებული). სუპერკონვეიერიზაციის ეფექტის საილუსტრაციოდ
შეიძლება ნახ. 9.3-ზე მოყვანილი დიაგრამის გამოყენება, რომელზეც
განხილულია ზემოთ მოყვანილი მაგალითი (იხ. ნახ. 9.2). სტანდარტუ-
ლი კონვეიერის ექვსი საფეხურიდან თითოეული დაყოფილია ორ უფ-
რო მარტივ ქვესაფეხურად, რომლებიც აღნიშნულია ინდექსებით 1 და
2. ქვესაფეხურებში ოპერაციათა შესრულებას ტაქტური პერიოდის ნა-
ხევარი ესაჭიროება. კონვეიერის შიგნით ოპერაციათა ტაქტირება
სრულდება სიხშირით, რომელიც ორჯერ აღემატება კონვეიერის „გარე“
ტაქტირების სიხშირეს. რის გამოც კონვეიერის თითოეულ საფეხურზე
„გარე“ ტაქტური პერიოდის შუალედში შეიძლება ორი ბრძანების შეს-
რულება.

170
171
არსებითად სუპერკონვეიერიზაცია დადის კონვეიერის საფეხუ-
რების რაოდენობის ზრდაზე როგორც ახალი საფეხურების დამატების
ხარჯზე, ასევე არსებული საფეხურების დანაწევრებით რამდენიმე მარ-
ტივ ქვესაფეხურად. მთავარი მოთხოვნაა თითოეულ ქვესაფეხურში
ოპერაციათა რეალიზაციის შესაძლებლობა უმარტივესი ტექნიკური სა-
შუალებებით, ანუ დროის მინიმალური დანახარჯებით. მეორე, არა ნაკ-
ლებ მნიშვნელოვან პირობას წარმოადგენს ყველა ქვესაფეხურზე და-
ყოვნებების ტოლობა.
პროცესორის სუპერკონვეიერულებზე მიკუთვნების კრიტერი-
უმს წარმოადგენს ბრძანებათა კონვეიერში საფეხურთა რაოდენობა. სუ-
პერკონვეიერულებს აკუთვნებენ პროცესორებს, რომლებშიც ასეთი სა-
ფეხურები ექვსზე მეტია. პირველ სერიულ სუპერკონვეიერულ პროცე-
სორად ითვლება MIPS R4000, რომლის ბრძანებათა კონვეიერი შედგება
რვა ქვესაფეხურისაგან. აქ სუპერკონვეიერიზაცია გახდა ბრძანების
ამორჩევისა და ოპერანდის ამორჩევის ეტაპების დაყოვნების შედეგი,
აგრეთვე კონვეიერში ტეგის შემოწმების ეტაპის შეტანა, რომლის წარ-
მოშობაც განპირობებულია მანქანის ბრძანებათა სისტემის არქიტექტუ-
რით.
სამწუხაროდ, სუპერკონვეიერიზაციის ხარჯზე მიღწეული მოგე-
ბა პრაქტიკაში შეიძლება აღმოჩნდეს მხოლოდ გონებაჭვრეტითი. კონ-
ვეიერის გაგრძელება იწვევს არა მხოლოდ ნებისმიერი კონვეიერისა-
თვის დამახასიათებელი პრობლემების გაღრმავებას, არამედ დამატე-
ბითი სირთულეების წარმოშობასაც. გრძელ კონვეიერში იზრდება კო-
ნფლიქტების ალბათობა. უფრო ძვირი ხდება გადასვლის პროგნოზის
შეცდომა - საჭირო ხდება კონვეიერის საფეხურების მეტი რაოდენობის
გასუფთავება, რასაც მეტი დრო სჭირდება. რთულდება კონვეიერის სა-
ფეხურების ურთიერთქმედების ლოგიკა. მიუხედავად ამისა გამომთვ-
ლელი მანქანების შემქმნელები ახერხებენ წარმატებით დაძლიონ ზე-
მოთჩამოთვლილი პრობლემების უმეტესობა, რაზეც მიუთითებს თანა-
მედროვე პროცესორებში ბრძანებათა კონვეიერში საფეხურთა რიცხვის
ზრდა ( ცხრილი 3).

172
ცხრილი 3
ბრძანებათა კონვეიერის სიგრძე პოპულარულ
მიკროპროცესორებში
ბრძანებათა კონვეიერში
მიკროპროცესორის ტიპი
საფეხურების რაოდენობა

MIPS R4400 8

UltraSPARC I 9

Pentium III 10

Itanium 10

UltraSPARC III 14

Pentium 4 20

9.2. არქიტექტურები ბრძანებათა სრული


და შეკვეცილი ნაკრებით

პროგრამირების თანამედროვე ტექნოლოგია ორიენტირებულია


მაღალი დონის ენებზე, რომელთა მთავარი ამოცანაა პროგრამის დაწე-
რის პროცესის გამარტივება. პროგრამირების მთელი პროცესის 90%-ზე
მეტი ხორციელდება მაღალი დონის ენებზე. სამწუხაროდ მაღალი დო-
ნის ენებისათვის დამახასიათებელი ოპერაციები განსხვავდებიან მანქა-
ნური ბრძანებებით რეალიზებული ოპერაციებისაგან. ამ პრობლემამ

173
მიიღო სემანტიკური გარღვევის სახელი და მას მივყა-
ვართ პროგრამების არასაკმაოდ ეფექტურ შესრულებასთან. ცდილობენ
რა გადალახონ სემანტიკური გარღვევა, გამომთვლელი მანქანის დამ-
მუშავებლები აფართოებენ ბრძანებათა სისტემას, ავსებენ მათ ბრძანე-
ბებით, რომლებიც ახორციელებენ მაღალი დონის ენებზე რთულ ოპე-
რაციებს აპარატურულ დონეზე, შემოაქვთ გადამისამართებას დამატე-
ბითი სახეები და ა. შ. გამომთვლელ მანქანებს, რომლებშიც განხორციე-
ლებულია ეს საშუალებები, ეწოდებათ კომპიუტერები ბ რ ძ ა ნ ე ბ ა თ ა
სრული ნ ა კ რ ე ბ ი თ (CISC –Complex Instruction Set Computer).
CISC-ის ტიპს შეიძლება მივაკუთვნოთ 80-იანი წლების შუამდე გამოშ-
ვებული ყველა გამომთვლელი მანქანა და დღეს გამოშვებულ მანქანათა
მნიშვნელოვანი ნაწილია.
სემანტიკური გარღვევის პრობლემის გადაწყვეტის CISC-ისათვის
დამახასიათებელ ხერხებს, ამასთან ერთად, მივყავართ გამომთვლელი
მანქანის არქიტექტურის გართულებასთან, ძირითადად მართვის მო-
წყობილობის, რაც თავის მხრივ, ნეგატიურად აისახება მთლიანად წარ-
მადობაზე. გარდა ამისა, CISC-ში ძლიერ რთულია ბრძანებების ეფექ-
ტური კონვეიერის შექმნა, რომელიც როგორც უკვე აღვნიშნეთ, არის გა-
მომთვლელი მანქანის წარმადობის ზრდის ერთ-ერთ ყველაზე უფრო
პერსპექტიული გზა. ყველაფერმა ამან აიძულა დამმუშავებლები გაეა-
ნალიზებინათ მაღალი დონის ენების კომპილაციის შემდეგ მიღებული
პროგრამები. ჩატარებულ იქნა კვლევების კომპლექსი, რის შედეგადაც
გამოვლინდნენ საინტერესო კანონზომიერებანი:
- მაღალი დონის ენების ოპერატორების ექვივალენტური რთუ-
ლი ბრძანებების რეალიზაცია, მოითხოვს მიკროპროგრამულ მართვის
მოწყობილობაში მმართველი მეხსიერების ტევადობის გაზრდას. რთუ-
ლი ბრძანებების მიკროპროგრამებმა შეიძლება დაიკავონ მმართველი
მეხსიერების 60/%-მდე, იმ დროს როცა პროგრამების მთელ მოცულო-
ბაში მათი წილი ხშირად არ აღემატება 0,2%-ს;
- კომპილირებულ პროგრამაში მაღალი დონის ენების ოპერატო-
რები რეალიზდებიან პროცედურების (ქვეპროგრამების) სახით, ამიტომ

174
პროცედურის გამოძახებისა და მისგან გამოსვლის ოპერაციებზე მოდის
გამოთვლითი დატვირთვის 15-იდან 45%-მდე.
- პროცედურის გამოძახებისას გამომძახებელი პროგრამა გადას-
ცემს ამ პროცედურას არგუმენტების რაღაც რაოდენობას. შემთხვევების
98%-ში გადაცემული არგუმენტების რიცხვი არ აღემატება ექვს. დაახ-
ლოებით ასეთივე მდგომარეობაა იმ პარამეტრებთანაც, რომლებსაც
პროცედურა უბრუნებს გამომძახებელ პროგრამას. პროგრამის მიერ გა-
მოყენებული ცვლადების 80%-ზე მეტი ლოკალურებია, ანუ იქმნებიან
პროცედურაში შესვლისას და ნადგურდებიან მისგან გამოსვლისას. და-
მოუკიდებელი პროცედურით შექმნილი ლოგიკური ცვლადების რაო-
დენობა შემთხვევათა 92%-ში არ აღემატება ექვს.
- გამოთვლების მსვლელობისას ოპერაციათა თითქმის ნახევარს
შეადგენს მინიჭების ოპერაცია, რომელიც დაიყვანება მონაცემთა გა-
დაგზავნაზე რეგისტრებს, მეხსიერების უჯრედებს ან რეგისტრებსა და
მეხსიერებას შორის.
კვლევის შედეგების დეტალურმა ანალიზმა დამმუშავებლები მი-
იყვანა ტრადიციული არქიტექტურული გადაწყვეტილებების სერიო-
ზულ გადასინჯვასთან, რისი შედეგიც გახდა არქიტექტურები
ბრძანებათა შეკვეცილი ნ ა კ რ ე ბ ი თ ( RISC- Reduced
Instruction Set Computer) გაჩენა. ტერმინი RISC პირველად გამოყენე-
ბულ იქნა პატერსონისა და დიტცელის მიერ 1980 წელს.

9.2.1. RISC- არქიტექტურის ძირითადი თვისებები

RISC არქიტექტურაში მთავარი ძალისხმევა მიმართულია მაქსი-


მალურად ეფექტური ბრძანებების კონვეიერის შექმნაზე, ანუ ისეთის,
სადაც ყველა ბრძანება იღება მეხსიერებიდან და მიეწოდება ცენტრა-
ლურ პროცესორს დასამუშავებლად თანაბარი ნაკადის სახით, ამასთან
არც ერთი ბრძანება არ უნდა იმყოფებოდეს მოლოდინის რეჟიმში, ხო-

175
ლო ცენტრალური პროცესორი დატვირთული უნდა რჩებოდეს მთელი
დროის განმავლობაში. გარდა ამისა, იდეალური იქნება ის ვარიანტი,
როცა ბრძანების ციკლის ნებისმიერი ეტაპი სრულდება ერთი ტაქტუ-
რი პერიოდის განმავლობაში.
ბოლო პირობა შედარებით მარტივად შეიძლება განვახორციე-
ლოთ ამორჩევის ეტაპისათვის. მხოლოდ საჭიროა, რომ ყველა ბრძანე-
ბას ჰქონდეს ცენტრალური პროცესორისა და მეხსიერების შემაერთებე-
ლი მონაცემთა სალტის სიგანის ტოლი სტანდარტული სიგრძე. სხვადა-
სხვა ბრძანებისათვის შესრულების დროის უნიფიკაცია- მნიშვნელოვ-
ნად უფრო რთული ამოცანაა, ვინაიდან რეგისტრულებთან ერთად არ-
სებობენ აგრეთვე მეხსიერებაზე მიმართვის ბრძანებები.
ბრძანებების ერთნაირი სიგრძის გარდა, საჭიროა გვქონდეს დე-
კოდირებისა და მართვის შედარებით მარტივი ქვესისტემა: მართვის
რთული მოწყობილობა შეიტანს დამატებით დაყოვნებებს მართვის
სიგნალის ფორმირებაში. მართვის მოწყობილობის მნიშვნელოვანი გა-
მარტივების ცხადი გზა - ესაა შესასრულებელი ბრძანებების რიცხვის,
ბრძანებებისა და მონაცემების ფორმატების, აგრეთვე გადამისამართე-
ბის სახეების შემცირება.
ზედმეტია შეგახსენოთ, რომ ბრძანებების შეკვეცილ სიაში უნდა
დარჩნენ ისინი, რომელებიც ყველაზე ხშირად გამოიყენებიან. კვლევებ-
მა აჩვენა, რომ ტიპიური პროგრამების შესრულების 80-90% მოდის
ბრძანებების შედარებით მცირე ნაწილზე (10-20%). ყველაზე ხშირად
მოთხოვნილ მოქმედებებს მიეკუთვნებიან მონაცემთა გადაგზავნა,
არითმეტიკული და ლოგიკური ოპერაციები. ძირითადი მიზეზი, რო-
მელიც ხელს უშლის ბრძანების ციკლის ყველა ეტაპის დაყვანას ერთ
ტაქტურ პერიოდამდე, ესაა ოპერანდების ამორჩევისათვის და/ან შედე-
გების ჩაწერისათვის მეხსიერებასთან მიღწევის პოტენციური აუცილებ-
ლობა. საჭიროა მაქსიმალურად შემცირდეს იმ ბრძანებათა რიცხვი,
რომლებსაც აქვთ მეხსიერებასთან შეღწევის საშუალება. ეს მოსაზრება
RISC-ის ზემოთ მოხსენებულ პრინციპებს უმატებს კიდევ ორს:

176
- შესრულების დროს მეხსიერებასთან წვდომა ხორციელდება
მხოლოდ „წაკითხვა“ და ჩაწერა“ ბრძანებებით;
- ყველა ოპერაციას, გარდა „წაკითხვა“ და „ჩაწერა“, აქვთ ტიპი
„რეგისტრი - რეგისტრი“.
უმრავლესი ბრძანებების შესრულების გასამარტივებლად და მათ
დასაყვანად „რეგისტრი-რეგისტრი“ ტიპთან საჭიროა ცენტრალური
პროცესორი აღვჭურვოთ საერთო დანიშნულების რეგისტრების მნიშვ-
ნელოვანი რიცხვით. ცენტრალური პროცესორის რეგისტრთა ფაილში
რეგისტრების დიდი რიცხვი საშუალებას იძლევა ვუზრუნველვყოთ
მომდევნო ოპერაციებში ოპერანდების სახით გამოყენებული შუალე-
დური შედეგების დროებითი შენახვა და მეხსიერებაზე მიმართვების
რიცხვის შემცირება, ოპერაციათა შესრულების დაჩქარება. 32-ის ტოლი
რეგისტრების მინიმალური რიცხვი მიღებულია როგორც დე-ფაქტო
სტანდარტი RISC- კომპიუტერების უმრავლესი მწარმოებლისათვის.

9.2.2. RISC-ის უპირატესობები და ნაკლოვანებები

CISC-ისა და RISC-ის უპირატესობებისა და ნაკლოვანებების შე-


დარებისას შეუძლებელია ცალსახად გავაკეთოთ დასკვნა ერთი არქი-
ტექტურის მეორეზე უდავო უპირატესობის შესახებ. გამომთვლელი
მანქანების ცალკეულ სფეროებში გამოყენებისას უკეთესია ერთი ან მე-
ორე არქიტექტურა. მიუხედავად ამისა, ქვემოთ მოყვანილია ძირითადი
არგუმენტაცია RISC-არქიტექტურის სასარგებლოდ და საწინააღმდე-
გოდ.
RISC ტექნოლოგიებისათვის დამახასიათებელია მართვის მოწყო-
ბილობის შედარებით მარტივი სტრუქტურა. მართვის მოწყობილობის
რეალიზაციისათვის მიკროსქემის კრისტალზე გამოყოფილი ფართობი
მნიშვნელოვნად მცირეა. ასე მაგალითად RISC I-ში ის შეადგენს 6%-ს,
ხოლო RISC II-ში 10%-ს. როგორც შედეგი, ჩნდება შესაძლებლობა კრი-

177
სტალზე მოთავსდეს ცენტრალური პროცესორის რეგისტრების დიდი
რაოდენობა (138 RISC II-ში ). გარდა ამისა, რჩება მეტი ადგილი ცენ-
ტრალური პროცესორის სხვა კვანძებისათვის და დამატებითი მოწყო-
ბილობებისათვის: კეშ-მეხსიერების, მცურავი მძიმის არითმეტიკის
ბლოკის, ძირითადი მეხსიერების ნაწილის, მეხსიერების მართვის
ბლოკის, შეტანა/გამოტანის პორტებისათვის.
ბრძანებების ნაკრების უნიფიკაცია, ორიენტაცია ნაკადურ კონვე-
იერულ დამუშავებაზე, ბრძანებათა ზომებისა და მათი შესრულების
ხანგრძლივობის უნიფიკაცია, კონვეიერზე ლოდინის პერიოდების აღ-
მოფხვრა - ყველა ეს ფაქტორი დადებითად აისახება საერთო სწრაფქმე-
დების ამაღლებაზე. მარტივ მართვის მოწყობილობას აქვს ცოტა ვენტი-
ლები და, გამომდინარე, კავშირის მოკლე ხაზები მართვის სიგნალების
გასატარებლად. ბრძანებების, ფორმატებისა და რეჟიმების მცირე რიცხ-
ვი იწვევს დეკოდირების სქემის გამარტივებას და ის უფრო სწრაფად
სრულდება. RISC -ში გამოყენებული მართვის მოწყობილობა „ხისტი“
ლოგიკით მიკროპროგრამულზე სწრაფია. მაღალ წარმადობას ხელს
უწყობს პროცედურებს შორის პარამეტრების გადაცემის გამარტივებაც.
ამრიგად, RISC -ის გამოყენება იწვევს პროგრამის მეხსიერების დროის
შემცირებას ან ბრძანებაზე ციკლთა რიცხვის შემცირების ხარჯზე
სიჩქარის გაზრდას.
მართვის მოწყობილობის სიმარტივე, ღირებულების შემცირები-
სა და საიმედობის ზრდასთან ერთად, RISC -ის სასარგებლოდ მეტყვე-
ლებს. მართვის მოწყობილობის დამუშავება ნაკლებ დროს მოითხოვს.
მარტივ მართვის მოწყობილობაში იქნება ნაკლები კონსტრუქციული
შეცდომა და ამიტომ ის უფრო საიმედოა.
ბევრ თანამედროვე CISC - მანქანას, ისეთებს როგორებიცაა VAX
11/780, VAX -8600, გააჩნია ბევრი საშუალება მაღალი დონის ენების იმ
ფუნქციების პირდაპირი მხარდაჭერისათვის, რომლებიც ყველაზე
ხშირად გამოიყენებიან ამ ენებში (პროცედურების მართვა, ოპერაციები
მასივებთან, მასივების ინდექსების შემოწმება, ინფორმაციის დაცვა,
მეხსიერების მართვა და ა. შ.). RISC - საც გააჩნია რიგი საშუალებებისა

178
მაღალი დონის ენების უშუალო მხარდაჭერისა და მაღალი დონის
ენების კომპილატორების დამუშავების გამარტივებისათვის, რისი
მეშვეობითაც ეს არქიტექტურა მაღალი დონის ენების მხარდაჭერის
მხრივ არაფრით არ ჩამოუვარდება CISC - ს.
RISC - ის ნაკლოვანებები პირდაპირ არიან დაკავშირებული ამ
არქიტექტურის ზოგიერთ უპირატესობასთან. პრინციპული ნაკლოვა-
ნებაა ბრძანებების რიცხვის შემცირება: რიგი ფუნქციების შესასრულებ-
ლად საჭიროა რამდენიმე ბრძანების გამოყენება ნაცვლად ერთისა
CISC-ში. ეს აგრძელებს პროგრამის კოდს, ზრდის მეხსიერების დატ-
ვირთვას და ბრძანებათა ტრაფიკს მეხსიერებასა და პროცესორს შორის.
უკანასკნელმა გამოკვლევებმა აჩვენეს, რომ RISC -პროგრამა საშუალოდ
30% -ით გრძელია ფუნქციის შემსრულებელ CISC - პროგრამაზე.
თუმცა რეგისტრების დიდი რაოდენობა მნიშვნელოვან უპირა-
ტესობებს იძლევა, მაგრამ თავის თავად ის ართულებს რეგისტრის კო-
დის დეკოდირების სქემას, რის გამოც იზრდება რეგისტრებთან მიღწე-
ვის დრო.
უმრავლეს RISC - სისტემებში „ხისტი“ ლოგიკით რეალიზებული
მართვის მოწყობილობა ნაკლებ მოქნილია, შეცდომებისადმი უფრო
მეტი მიდრეკილება აქვს, ართულებს შეცდომების მოძიებასა და
გასწორებას, აგებს რთული ბრძანებების შესრულებისას.
ერთსიტყვიანი ბრძანება გამორიცხავს პირდაპირ გადამისამარ-
თებას სრული 32 -ბიტიანი მისამართისათვის. ამიტომ ზოგიერთი
მწარმოებელი უშვებს ორმაგი სიგრძის ბრძანებების მცირე ნაწილს, მა-
გალითად Intel 80960 - ში.

179
9.3. სუპერსკალარული პროცესორები

ვინაიდან ელემენტთა ბაზის გაუმჯობესების შესაძლებლობა


პრაქტიკულად ამოწურულია, ამიტომ გამომთვლელი მანქანების მწარ-
მოებლურობის შემდგომი ზრდა მოთავსებულია არქიტექტურულ გა-
დაწყვეტათა სიბრტყეში. როგორც უკვე ავღნიშნეთ, ამ მხრივ ერთ-ერთი
ყველაზე ეფექტური მიდგომა მდგომარეობს გამოთვლით პროცესში პა-
რალელურობის სხვადასხვა დონის შეტანაში. ადრე განხილული ბრძა-
ნებათა კონვეიერი ასეთი მიდგომის ტიპიური მაგალითია. იგივე მიზ-
ნებს ემსახურებიან არითმეტიკული კონვეიერები, სადაც კონვეიერიზა-
ციაში ჰყვება არითმეტიკული ოპერაციების შესრულების პროცესი. პა-
რალელურობის დამატებითი დონე რეალიზდება ვექტრულ და მატრი-
ცულ პროცესორებში, მაგრამ მხოლოდ ვექტორებისა და მასივების ტი-
პის მრავალკომპონენტიანი ოპერანდების დამუშავების დროს. აქ მაღა-
ლი სწრაფქმედება მიიღწევა ვექტორის ან მასივის ყველა კომპონენტის
ერთდროული დამუშავების ხარჯზე, ოღონდ მსგავსი ოპერანდები და-
მახასიათებელია დასამუშავებელი ამოცანების მხოლოდ საკმაოდ ვიწ-
რო წრისათვის. ჩვეულებრივ გამოთვლითი დატვირთვის ძირითადი
მოცულობა მოდის სკალარულ გამოთვლებზე, ანუ ერთეული (ცალკე-
ული) ოპერანდების დამუშავებაზე, მაგალითად ისეთებისა, როგორე-
ბიცაა მთელი რიცხვები. მსგავსი გამოთვლებისათვის დამატებითი პა-
რალელიზმი მნიშვნელოვნად რთულად რეალიზდება, მაგრამ, მიუხე-
დავად ამისა, შესაძლებელია და ამის მაგალითია სუპერსკალარული
პროცესორები.
სუპერსკალარული (ეს ტერმინი პირველად 1987 წელს
იქნა გამოყენებული) ჰქვია ცენტრალურ პროცესორს, რომელიც ერთ-
დროულად ასრულებს ერთზე მეტ სკალარულ ბრძანებას. ეს მიიღწევა
ცენტრალური პროცესორის შემადგენლობაში რამდენიმე დამოუკიდე-
ბელი ფუნქციური (შემსრულებელი) ბლოკის, რომელთაგან თითოეუ-
ლი პასუხს აგებს ოპერაციათა თავის კლასზე და შეიძლება პროცესორ-

180
ში რამდენიმე ეგზემპლიარად იყოს, ჩართვის ხარჯზე. ასე, მაგალითად,
Pentium III მიკროპროცესორში მთელრიცხვა არითმეტიკისა და მცუ-
რავი მძიმის ოპერაციათა ბლოკები დუბლირებულებია, ხოლო Pentium
4 და Athlon მიკროპროცესორებში - გასამებულებია. ტიპიური სუპერ-
სკალარული პროცესორის სტრუქტურა მოტანილია ნახ. 9.4-ზე. პროცე-
სორი შეიცავს ექვს ბლოკს: ბრძანებების ამორჩევის, ბრძანებების დეკო-
დირების, ბრძანებების დისპეჩერიზაციის, ბრძანებების ფუნქციურ
ბლოკებად განაწილების, შემსრულებელ ბლოკს და მდგომარეობის გა-
ნახლების ბლოკს.
ბრძანებების ამორჩევის ბლოკი ძირითადი მეხ-
სიერებიდან იღებს ბრძანებებს ბრძანებების კეშ-მეხსიერების გავლით.
ეს ბლოკი ინახავს ბრძანებათა მთვლელის რამდენიმე მნიშვნელობას
და ამუშავებს პირობითი გადასვლის ბრძანებებს.
დეკოდირების ბლოკი ახდენს კეშ-მეხსიერებიდან
ამოღებულ ბრძანებებში არსებული ოპერაციის კოდის გაშიფრას. ზოგი-
ერთ სუპერსკალარულ პროცესორში, მაგალითად Intel ფირმის მიკრო-
პროცესორებში, ამორჩევისა და დეკოდირების ბლოკები შეთავსებულია
(შერწყმულია).
დისპერეჩერიზაციისა და გ ა ნ ა წ ი ლ ე ბ ი ს ბ ლ ო-
კ ე ბ ი ურთიერთქმედებენ ერთმანეთს შორის და ერთობლიობაში სუ-
პერსკალარულ პროცესორში ასრულებენ ტრაფიკის კონტროლერის
როლს. ორივე ბლოკი ინახავს დეკოდირებული ბრძანებების რიგს. გა-
ნაწილების ბლოკის რიგი ხშირად ნაწილდება რამდენიმე დამოუკიდე -

181
ნახ. 9.4. სუპერსკალარული პროცესორის არქიტექტურა

ბელ ბუფერს (ბრძანებათა დამგროვებლების ან რეზერვირების სქემების


(reservation station)) შორის, რომელთა დანიშნულებაა დეკოდირებული,
მაგრამ ჯერ კიდევ შეუსრულებელი ბრძანებების შენახვა. ბრძანებათა

182
თითოეული დამგროვებელი დაკავშირებულია თავის ფუნქციურ
ბლოკთან, ამიტომ დამგროვებელთა რიცხვი ჩვეულებრივ ფუნქციურ
ბლოკთა რიცხვის ტოლია, მაგრამ თუ პროცესორში გამოყენებულია
რამდენიმე ერთნაირი ფუნქციური ბლოკი, მაშინ მათ უმატებენ საერ-
თო დამგროვებელს. დისპეჩერიზაციის ბლოკისადმი დამოკიდებულე-
ბაში ბრძანებათა დამგროვებლები გამოდიან ვირტუალურ ფუნქციურ
მოწყობილობათა როლში. რიგის ორივე სახე ნაჩვენებია ნახ. 9.5-ზე. ზო-
გიერთ სუპერსკალარულ პროცესორში ისინი გაერთიანებულია ერთ
რიგში.

ნახ. 9.5. დისპეჩერიზაციისა და განაწილების რიგები

გარდა ამისა, დისპეჩერიზაციის ბლოკი აგრეთვე ინახავს ტ ა ბ -


ლ ო დ (scoreboard) წოდებულ თავისუფალ ფუნქციურ ბლოკთა სი-
ას. ტაბლო გამოიყენება განაწილების რიგის მდგომარეობისათვის თვა-
ლის მისადევნებლად. ციკლის განმავლობაში ერთხელ დისპეჩერიზა-
ციის ბლოკი იღებს ბრძანებებს თავისი რიგიდან, კითხულობს მეხსიე-
რებიდან ან რეგისტრებიდან ამ ბრძანებათა ოპერანდებს, რის შემდეგაც
ტაბლოს მდგომარეობისგან დამოკიდებულებით, ათავსებს ბრძანებები-
სა და ოპერანდების მნიშვნელობებს განაწილების რიგში. ამ ოპერაციას
ბრძანებათა გაცემა ჰქვია. განაწილების ბლოკი თითოეულ

183
ციკლში ამოწმებს თავის რიგში თითოეულ ბრძანებას მისი შესრულე-
ბისათვის ყველა აუცილებელი ოპერანდის არსებობაზე და დადებითი
პასუხის შემთხვევაში იწყებს ასეთი ბრძანებების შესრულებას შესაბა-
მის ფუნქციურ ბლოკში.
შესრულების ბლოკი შეიცავს ფუნქციურ ბლოკთა ნაკ-
რებს. ფუნქციურ ბლოკთა მაგალითებად შეიძლება მოვიტანოთ მთელ-
რიცხვა ოპერაციული ბლოკები, მცურავი მძიმით შეკრებისა და გამრავ-
ლების ბლოკები, მეხსიერებასთან მიღწევის ბლოკი. როცა მთავრდება
ბრძანების შესრულება, მაშინ მისი შედეგი იწერება და ანალიზდება
მდგომარეობის განახლების ბ ლ ო კ ი თ, რომელიც უზ-
რუნველყოფს განაწილების რიგში იმ ბრძანებებით მიღებული შედეგის
აღრიცხვას, სადაც ეს შედეგი გამოდის ერთ-ერთი ოპერანდის სახით.
როგორც ზემოთ იყო აღნიშნული, სუპერსკალარულობა გულის-
ხმობს შემსრულებელი ბლოკების მაქსიმალური რაოდენობის პარალე-
ლურ მუშაობას, რაც შესაძლებელია მხოლოდ რამდენიმე სკალარული
ნამრავლის ერთდროული შესრულებისას. ბოლო პირობა კარგად ეხა-
მება კონვეიერულ დამუშავებას, ამასთან სასურველია, რომ სუპერსკა-
ლარულ პროცესორში რამდენიმე კონვეიერი იყოს, მაგალითად ორი ან
სამი.
მსგავსი მიდგომა რეალიზებულია Intel Pentium მიკროპროცესო-
რებში, სადაც ორი კონვეიერია, თითოეული თავისი არითმეტიკულ-
ლოგიკური მოწყობილობით (ნახ. 9.6). აღვნიშნოთ, რომ აქ სტანდარტუ-
ლი კონვეიერისაგან განსხვავებით, თითოეულ ციკლში აუცილებელია
შევასრულოთ ერთზე მეტი ბრძანების ამორჩევა. შესაბამისად გამომ-
თვლელი მანქანის მეხსიერება უნდა უშვებდეს რამდენიმე ბრძანებისა
და ოპერანდის ერთდროულ ამოკითხვას, რაც ყველაზე ხშირად უზ-
რუნველყოფილია მისი მოდულური აგებულების ხარჯზე.

184
185
სუპერსკალარული კონვეიერის უფრო ინტეგრირებული მიდგომა
ნაჩვენებია ნახ. 9.7-ზე. აქ ამორჩევის ბლოკი იღებს მეხსიერებიდან ერ-
თზე მეტ ბრძანებას და გადასცემს მათ ბრძანებათა დეკოდირების და
ოპერანდების მისამართების გამოთვლის საფეხურების გავლით ოპე-
რანდების ამორჩევის ბლოკში. როცა ოპერანდები მისაღწევნი ხდებიან,
მაშინ ბრძანებები ნაწილდებიან შესაბამისი შემსრულებელი ბლოკების
მიხედვით. მივაქციოთ ყურადღება იმას, რომ ოპერაციები „წაკითხვა“,
„ჩაწერა“ და „გადასვლა“ რეალიზდებიან დამოუკიდებელი შემსრულე-
ბელი ბლოკებით. სუპერსკალარული პროცესორის მსგავსი სახე გამოი-
ყენება ფირმა Intel-ის Pentium II და Pentium III მიკროპროცესორებში,
ხოლო ფორმა სამი კონვეიერით - ფირმა АМD -ს Athlon მიკროპროცე-
სორში.
სხვადასხვა შეფასებით, სუპერსკალარული მიდგომის გამოყენება
იწვევს გამომთვლელი მანქანის წარმადობის 1,8-დან 8-მდე ზრდას.
სუპერსკალარული და სუპერკონვეიერული რეჟიმების ეფექტუ-
რობის შეფასებისათვის ნახ. 9.8-ზე ნაჩვენებია რვა მიმდევრობითი
სკალარული ბრძანების შესრულების პროცესი. ზედა დიაგრამა ასახავს
სუპერსკალარულ კონვეიერს, რომელიც უზრუნველყოფს თითოეულ
ტაქტურ პერიოდში ორი ბრძანების ერთდროულ შესრულებას. აღვნიშ-
ნოთ, რომ შესაძლებელია ისეთი სუპერსკალარული კონვეიერების აგე-
ბა, რომლებშიც ერთდროულად მუშავდება ბრძანებათა დიდი რაოდე-
ნობა.
ზოგიერთი გამომთვლელი მანქანის პროცესორებში რეალიზებუ-
ლია როგორც სუპერსკალარულობა, ისე სუპერკონვეირულობაც (ნახ.
9.9). ასეთ შეთავსებას ადგილი აქვს ფირმა АМD-ს Athlon და Duron
მიკროპროცესორებში, ამასთან ეს მოიცავს არა მარტო ბრძანებათა კონ-
ვეიერს, არამედ მცურავი მძიმის ფორმაში რიცხვების დამუშავების
ბლოკსაც.

186
187
188
189
ლიტერატურა

1. Циклер Б. Я., Орлов С. А. Организация ЭВМ и систем: Учебник для


вузов.-СПб.: Питер,2004.
2. Таненбаум Э. Архитектура компьютера. 5-е изд.-СПб.: Питер,2007.
3. Степанов А. Н. Архитектура вычислительных систем и компьютер-
ных сетей.-СПб.: Питер, 2007.
4. Костров Б. В., Ручкин В. Н. Архитектура микропроцессорных систем.-
М.: Издательство Диалог-МИФИ, 2007.
5. Королев Л. Н. Архитектура электронных вычислительных машин.-М.:
Научный мир, 2005.
6. Новожилов О. П. Архитектура ЭВМ и систем.Учебное пособие для
бакалавров.-М.: Издательство Юрайт, 2012.
7. Мартиросян С. Т. Организация ЭВМ и систем.-М.: Издательство
МГИЭМ, 2007.
8. Бройдо В. Л., Ильина О. П. Архитектура ЭВМ и систем.-Учебник для
вузов.-СПб.: Питер,2006.
9. Жмакин А. П. Архитектура ЭВМ.-СПб.: БХВ-Петербург, 2006.
10. Баула В. Г. Введение в архитектуру ЭВМ и системы программирова-
ния.-М.: Издательство МГУ, 2003.
11. Александриди Т. М., Котович И. С., Матюхина Е. Н. Организация
ЭВМ и систем. Часть 4. Микропроцессорные устройства: Учебное
пособие / МАДИ (ГТУ).-М. 2008.
12. Горбачев Д. В. Организация ЭВМ.-Оренбург: Издательство ОГУ, 2009.
13. Ершов С. С. Архитектура и организация ЭВМ: Учебное пособие.-
Челябинск: Изд-во ЮурГУ, 2008.
14. Деева Н. В. Архитектура ЭВМ и систем: Учебное пособие.-Новоси-
бирск, СГГА, 2006.
15. Семенихин И. Н. Архитектура ЭВМ.-Шахты: Издательство ЮРГУЭС,
2006.

190
ს ა რ ჩ ე ვ ი

1. ზოგადი ცნობები კომპიუტერის შესახებ . . . . . . . . . . . . . . . . . . . . . . 3


1.1. კომპიუტერის შექმნის წინაისტორია . . . . . . . . . . . . . . . . . . . . . 3
1.2. კომპიუტერების კლასიფიკაცია . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3. მეხსიერებაში შენახული პროგრამის მქონე გამომთვლელი
მანქანის კონცეფცია . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4. გამომთვლელი მანქანებისა და სისტემების
სტრუქტურათა ტიპები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.1.გამომთვლელი მანქანების სტრუქტურები . . . . . . . . . . .24
1.4.2. გამოთვლითი სისტემების სტრუქტურები . . . . . . . . 27
1.5. გამომთვლელი მანქანებისა და გამომთვლელი სისტემების
გაუმჯობესების პერსპექტივები . . . . . . . . . . . . . . . . . . . . . . . . . 28
2. ბრძანებათა სისტემის არქიტექტურა . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1. ბრძანებათა სისტემის არქიტექტურის კლასიფიკაცია . . . . 34
2.2. ოპერანდთა ტიპები და ფორმატები . . . . . . . . . . . . . . . . . . . . 52
2.3. ბრძანებათა ტიპები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4. რძანებათა ფორმატები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3. ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
ორგანიზაცია . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1. ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
სქემა . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1.1. მართვის მოწყობილობა . . . . . . . . . . . . . . . . . . . . . . . . . 64
4. სალტეთა ორგანიზაცია . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1. სალტეთა ტიპები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2. სალტეთა იერარქია . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.3. სალტეთა არბიტრაჟი . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5. მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.1. მეხსიერების სისტემის მახასიათებლები . . . . . . . . . . . . . . . 89
5.2. მეხსიერების მოწყობილობათა იერარქია . . . . . . . . . . . . . . 93
5.3. ძირითადი მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

191
5.4. სტეკური მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.5. ასოციაციური მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.6. კეშ - მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.7. ვირტუალური მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.8. გარე მეხსიერება . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6. მართვის მოწყობილობები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.1. ცენტრალური მართვის მოწყობილობების ფუნქციები . . 116
6.2. მართვის მოწყობილობის მოდელი . . . . . . . . . . . . . . . . . . . . 117
6.3. მართვის მოწყობილობის სტრუქტურა . . . . . . . . . . . . . . . . . 119
7. გამომთვლელი მანქანების ოპერაციული მოწყობილობები . . . . 124
7.1. ოპერაციული მოწყობილობების სტრუქტურები . . . . . . . . 126
7.1.1. ოპერაციული მოწყობილობები ხისტი სტრუქტურით 127
7.1.2. ოპერაციული მოწყობილობები მაგისტრალური
სტრუქტურით . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.1.2.1. მაგისტრალურ სტრუქტურიანი ოპერაციული
მოწყობილობების კლასიფიკაცია . . . . . . . . . . . . 131
7.1.2.2. მაგისტრალური ოპერაციული მოწყობილობის
საერთო დანიშნულების რეგისტრის კვანძის
ორგანიზაცია . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.1.2.3. მაგისტრალური ოპერაციული მოწყობილობის
ოპერაციული ბლოკის ორგანიზაცია . . . . . . . . . . 135
8. შეტანა / გამოტანის სისტემები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.1. გარე მოწყობილობები . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.2. შეტანა/გამოტანის მოდულები . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2.1. მოდულის ფუნქციები . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2.2. მოდულის სტრუქტურა . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.3. შეტანა/გამოტანის მართვის მეთოდები . . . . . . . . . . . . . . . . . 153
8.4. შეტანა/გამოტანის არხები და პროცესორები . . . . . . . . . . . . .155
8.4.1. არხთა ქვესისტემა . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9. ძირითადი მიმართულებები პროცესორთა არქიტექტურაში . . . . 164

192
9.1. გამოთვლების კონვეიერიზაცია . . . . . . . . . . . . . . . . . . . . . . 164
9.1.1. ბრძანებათა კონვეიერი . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.1.2. სუპერკონვეიერული პროცესორები . . . . . . . . . . . . . 170
9.2. არქიტექტურები ბრძანებათა სრული და შეკვეცილი
ნაკრებით . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2.1. RISC- არქიტექტურის ძირითადი თვისებები . . . . . . 175
9.2.2. RISC-ის უპირატესობები და ნაკლოვანებები . . . . . . 177
9.3. სუპერსკალარული პროცესორები . . . . . . . . . . . . . . . . . . . 180

ლ ი ტ ე რ ა ტ უ რ ა . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

193
კომპიუტერის არქიტექტურა და ორგანიზება

ავტორი:

თენგიზ ხინიკაძე - ტექნიკურ მეცნიერებათა კანდიდატი,


ბათუმის შოთა რუსთაველის სახელმწიფო უნივერსი-
ტეტის განათლებისა და მეცნიერებათა ფაკულტეტის
კომპიუტერულ მეცნიერებათა დეპარტამენტის ასოცი-
რებული პროფესორი

194

You might also like