Professional Documents
Culture Documents
Ten Org Sruli 1
Ten Org Sruli 1
თენგიზ ხინიკაძე
ბათუმი - 2013
1
სახელმძღვანელოში განხილულია კომპიუტერის არქიტექტური-
სა და ორგანიზაციის საფუძვლები; მოტანილია ზოგადი ცნობები კომ-
პიუტერის შესახებ; აღწერილია ბრძანებათა სისტემის არქიტექტურა;
განხილულია ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
ორგანიზაცია; დეტალურადაა გარჩეული სალტეთა ორგანიზაცია, მეხ-
სიერების, მართვის მოწყობილობების, ოპერაციული მოწყობილობები-
სა და შეტანა/გამოტანის სისტემათა აგებულება; აღწერილია ძირითადი
მიმართულებები პროცესორების არქიტექტურაში: გამოთვლების კონ-
ვეიერიზაცია, არქიტექტურები ბრძანებათა სრული და შეკვეცილი ნაკ-
რებით, სუპერკონვეიერული და სუპერსკალარული პროცესორები.
იგი განკუთვნილია კომპიუტინგის სპეციალობის ბაკალავრიატის საფე-
ხურის სტუდენტებისა და კომპიუტერის შესწავლის ყველა მსურველი-
სათვის.
რედაქტორი:
გრიგოლ კახიანი - ბათუმის შოთა რუსთაველის სახელმწიფო
უნივერსიტეტის განათლებისა და მეცნიერებათა ფა-
კულტეტის კომპიუტერულ მეცნიერებათა დეპარტა-
მენტის ასისტენტ პროფესორი
რეცენზენტები:
გ. სურგულაძე - ტექნიკურ მეცნიერებათა დოქტორი, საქართვე-
ლოს პოლიტექნიკური უნივერსიტეტის ორგანიზაციუ-
ლი მართვის დეპარტამენტის სრული პროფესორი
ი. დიდმანიძე - ფიზიკა-მათემატიკის მეცნიერებათა დოქტორი,
ბათუმის შოთა რუსთაველის სახელმწიფო უნივერსი-
ტეტის კომპიუტერულ მეცნიერებათა დეპარტამენტის
უფროსი, სრული პროფესორი
2
1. ზოგადი ცნობები კომპიუტერის შესახებ
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
ნებების თანმიმდევრობა, ამოცანის პირობის მიხედვით, შეიძლება რამ-
დენჯერმე გამოვიყენოთ (ციკლის ორგანიზებით)).
7
ამრიგად, მართვის მოწყობილობა ასრულებს პროგრამის ინ-
სტრუქციებს ავტომატურად, ანუ ადამიანის ჩარევის გარეშე. მას შეუძ-
ლია გაცვალოს ინფორმაცია კომპიუტერის ოპერატიულ მეხსიერებას-
თან და გარე მოწყობილობასთან. ვინაიდან როგორც წესი, გარე მოწყო-
ბილობები მუშაობს გაცილებით ნელა, ვიდრე კომპიუტერის სხვა შე-
მადგენლები, ამიტომ მართვის მოწყობილობას, შეტანა-გამოტანის ოპე-
რაციის დამთავრებამდე, შეუძლია შეწყვიტოს პროგრამების შესრულე-
ბის მსვლელობა. პროგრამის მსვლელობის ყველა შედეგი უნდა გამო-
ვიტანოთ შეტანა-გამოტანის მოწყობილობით გარე მოწყობილობაზე.
ამის შემდეგ კომპიუტერი გადადის მოლოდინის რეჟიმში.
აქვე შევნიშნავთ, რომ თანამედროვე კომპიუტერების აგებულება
განსხვავდება ზემოთ აღწერილი სქემისაგან. კერძოდ, არითმეტიკულ-
ლოგიკური მოწყობილობა და მართვის მოწყობილობა, როგორც წესი,
გაერთიანებულია ერთ მოწყობილობაში - ცენტრალურ პროცესორში.
გარდა ამისა, პროგრამის შესრულების პროცესი შეიძლება შეწყდეს გა-
დაუდებელი მოქმედების გამო, რომელიც დაკავშირებულია კომპიუტე-
რის გარე მოწყობილობიდან წყვეტის სიგნალის მიღებაზე. ბევრი სრაფ-
მოქმედი კომპიუტერი პარალელურად ახორციელებს რამდენიმე პრო-
ცესორიდან მონაცემების დამუშავებას. მიუხედავად ამისა, თანამედრო-
ვე კომპიუტერების აგებულება ძირითადად შეესაბამება ჯონ ფონ ნეი-
მანის კონცეფციას.
8
სხვადასხვა ნიშნის მიხედვით, კერძოდ: მუშაობის პრინციპის, დანიშ-
ნულების, გამოთვლითი პროცესის ორგანიზაციის ხერხების, ზომების
და გამოთვლითი სიმძლავრის, ფუნქციური შესაძლებლობების და სხვა.
გამომთვლელი მანქანები
u u
t t
ა) ბ)
ნახ. 1.3. გამომთვლელ მანქანებში ინფორმაციის წარმოდგენის
ორი ფორმა: ა) - ანალოგური; ბ) - ციფრული, იმპულსური.
9
ციფრული გამომთვლელი მანქანები (ცგმ) - დისკრეტული
მოქმედების გამომთვლელი მანქანები, მუშაობენ დისკრეტულ, უფრო
ზუსტად, ციფრულ ფორმაში წარმოდგენილ ინფორმაციასთან.
ანალოგური გამომთვლელი მანქანები (აგმ) - უწყვეტი მოქმედე-
ბის გამომთვლელი მანქანები, მუშაობენ უწყვეტი (ანალოგური) ფორ-
მით წარმოდგენილ ინფორმაციასთან, ე. ი. რაიმე ფიზიკური სიდიდის
(ყველაზე ხშირად ელექტრული ძაბვის) მნიშვნელობების უწყვეტ რიგ-
თან.
ჰიბრიდული გამომთვლელი მანქანები (ჰგმ) - კომბინირებული
მოქმედების გამომთვლელი მანქანები, მუშაობემ ციფრული და ანალო-
გური ფორმით წარმოდგენილ ინფორმაციასთან; მას გააჩნია როგორც
აგმ-ის, ისე ცგმ-ის უპირატესობები. ჰგმ-ის გამოყენება მიზანშეწონი-
ლია რთული, მაღალი სისწრაფით მომუშავე ტექნიკური კომპლექსების
მართვის ამოცანების გადასაწყვეტად.
ანალოგური გამომთვლელი მანქანები ექსპლუატაციაში მარტივი
და მოხერხებულებია; ამოცანათა დაპროგრამება მათზე, როგორც წესი,
არაშრომატევადია; ამოცანათა ამოხსნის სისწრაფე რაგინდ მაღალია
(მეტია ვიდრე ცგმ-ზე), მაგრამ ამოხსნის სიზუსტე დაბალია (ფარდობი-
თი ცდომილება 2-5%-ს შეადგენს). აგმ-ზე ყველაზე ეფექტურია ისეთი
მათემატიკური ამოცანების ამოხსნა, რომლებიც დიფერენციალურ გან-
ტოლებებს შეიცავენ და არ თხოულობენ რთულ ლოგიკას.
ყველაზე ფართო გავრცელება მოიპოვეს ცგმ-ა ინფორმაციის
დისკრეტული წარმოდგენით - ელექტრონულმა ციფრულმა გამომთვ-
ლელმა მანქანებმა. მათ, ჩვეულებრივ, ელექტრონულ გამომთვლელ
მანქანებს, ან უბრალოდ, კომპიუტერებს უწოდებენ.
10
II თაობა, 60-იანი წლები: დისკრეტულ ნახევარგამტარულ
ელემენტებზე (ტრანზისტორებზე) აგებული ეგმ-ები;
III თაობა, 70-იანი წლები: მცირე და საშუალო დონის ინტე-
გრაციის ნახევარგამტარულ ინტეგრალურ სქემებზე აგებული
ეგმ-ები;
IV თაობა, 80-იანი წლები: დიდ ინტეგრალურ სქემებზე -
მიკროპროცესორებზე აგებული ეგმ-ები;
V თაობა, 90-იანი წლებიდან დღემდე: პარალელურად მომუ-
შავე ასობით მიკროპროცესორებზე აგებული ეგმ-ები, რომლე-
ბიც საშუალებას იძლევიან აიგოს ცოდნის ბაზების ეფექტური
სისტემები; აგებული ეგმ-ები ზერთულ მიკროპროცესორებზე
პარალელურ-ვექტორული სტრუქტურით, რომლებიც ერთ-
დროულად ასრულებენ პროგრამის ათობით მიმდევრობით
ბრძანებას.
გამომთვლელი მანქანები
პრობლემურ-
უნივერსალური სპეციალიზირე-
ორიენტირებულ
ბული
ი
ნახ. 1.4. ეგმ-ის კლასიფიკაცია დანიშნულების მიხედვით
11
უნივერსალური ეგმ-ების დანიშნულებაა სხვადასხვა სახის სა-
ინჟინრო-ტექნიკური ამოცანების (ეკონომიკური, მათემატიკური, ინ-
ფორმაციული და სხვა) ამოხსნა. ისინი ფართოდ გამოიყენება კოლექ-
ტიური მოხმარების გამოთვლით ცენტრებში და სხვა მძლავრ გამოთ-
ვლით კომპლექსებში.
უნივერსალური ეგმ-ების დამახასიათებელ ნიშნებს წარმოად-
გენს:
მაღალი მწარმოებლურობა (წარმადობა);
დასამუშავებელი მონაცემების ფორმების მრავალფეროვნება:
(ორობითი, ათობითი, სიმბოლური) მათი ცვლადების დიდი
დიაპაზონისა და წარმოდგენის დიდი სიზუსტის დროს;
შესასრულებელ ოპერაციათა (არითმეტიკულ, ლოგიკურ, სპე-
ციალურ) დიდი ნუსხა;
ოპერატიული მეხსიერების დიდი მოცულობა;
ინფორმაციის შეყვანა-გამოყვანის სისტემის განვითარებული
ორგანიზაცია, რომელიც უზრუნველყოფს მრავალფეროვანი
გარე მოწყობილობის მიერთებას.
პრობლემურ-ორიენტირებული ეგმ-ები ემსახურებიან უფრო შე-
ზღუდული წრის ამოცანების ამოხსნას, როგორც წესი, ესაა ტექნოლო-
გიური პროცესების მართვა; შედარებით მცირე მოცულობის მონაცემე-
ბის რეგისტრაცია, დაგროვება და დამუშავება; შედარებით არართული
ალგორითმებით გათვლების შესრულება; უნივერსალურ ეგმ-ებთან
შედარებით მათ შეზღუდული აპარატურული და პროგრამული რე-
სურსები აქვთ.
პრობლემურ-ორიენტირებული ეგმ-ებს მიეკუთვნება მრავალფე-
როვანი მმართველი გამომთვლელი კომპლექსები.
სპეციალიზირებული ეგმ-ები ემსახურებიან ვიწრო წრის ამოცა-
ნების ამოხსნას, ან მკაცრად განსაზღვრული ფუნქციების ჯგუფის რეა-
ლიზაციისას. ეგმ-ის ასეთი ვიწრო ორიენტაცია საშუალებას იძლევა
სპეციალიზირებულ იქნას მისი სტრუქტურა, მნიშვნელოვნად შემცირ-
12
დეს მათი სირთულე და ღირებულება მუშაობის მაღალი მწარმოებლუ-
რობისა და საიმედობის პირობებში.
სპეციალიზირებულ ეგმ-ებს შეიძლება, მაგალითად, მივაკუთ-
ვნოთ სპეციალური დანიშნულების პროგრამირებადი მიკროპროცესო-
რები, ადაპტორები, რომლებიც ასრულებენ მართვის ლოგიკურ ფუნქ-
ციებს ცალკეული არართული ტექნიკური მოწყობილობებისათვის, აგ-
რეგატებისა და პროცესებისათვის; გამოთვლითი სისტემების კვანძების
მუშაობის შეთანხმების მოწყობილობები.
გამომთვლელი მანქანები
13
ეგმ-ის შესაძლებლობა ერთდროულად იმუშაოს რამდენიმე
მომხმარებელთან და ერთდროულად შეასრულოს რამდენიმე
პროგრამა;
მანქანაში გამოყენებულ ოპერაციულ სისტემათა ტიპები და
ტექნიკურ-ექსპლოატაციური მახასიათებლები;
პროგრამული უზრუნველყოფის არსებობა და ფუნქციური
შესაძლებლობები;
სხვა ტიპის ეგმ-ებისათვის დაწერილ პროგრამათა შესრულე-
ბის შესაძლებლობა (სხვა ტიპის ეგმ-ებთან პროგრამული თავ-
სებადობა - მხარდაჭერა);
მანქანის ბრძანებათა სისტემა და სტრუქტურა;
კავშირის ხაზებთან და გამომთვლელ ქსელებთან მიერთების
შესაძლებლობა;
ეგმ-ის ექსპლოატაციური საიმედობა;
ეგმ-ის დროში სასარგებლო გამოყენების კოეფიციენტი, რომე-
ლიც განისაზღვრება სასარგებლო მუშაობის დროის პროფი-
ლაქტიკის დროსთან ფარდობით.
ისტორიულად ჯერ დიდი ეგმ-ები შეიქმნა, რომელთა ელემენტ-
თა ბაზამ გაიარა გზა ელექტრონულ-ვაკუუმური მილაკებიდან ზემაღა-
ლი ხარისხის ინტეგრაციის ინტეგრალურ სქემებამდე.
დიდი ეგმ-ების წარმადობა არასაკმარისი აღმოჩნდა რიგი ამოცა-
ნებისათვის: მეტეომდგომარეობის პროგნოზირება, რთული სამხედრო
კომპლექსების მართვა, ეკოლოგიური სისტემის მოდელირება და სხვა.
ეს გახდა წინაპირობა სუპერ-ეგმ-ის - ყველაზე მძლავრი გამოთვლითი
სისტემის დასამუშავებლად. ეს სისტემები დღესაც ინტენსიურად ვი-
თარდება.
70-იან წლებში მცირე ეგმ-ის შექმნა განპირობებული იყო, ერთის
მხრივ, პროგრესით ელექტრონული ელემენტების ბაზის სფეროში, ხო-
ლო მეორეს მხრივ - დიდი ეგმ-ის რესურსების სიჭარბით რიგი დამატე-
ბებისათვის. მცირე ეგმ-ებს ყველაზე ხშირად იყენებენ ტექნოლოგიური
პროცესების მართვისათვის. ისინი მნიშვნელოვნად იაფიანებია.
14
ელემენტთა ბაზის წარმოებაში და არქიტექტურულ გადაწყვე-
ტებში შემდგომმა წარმატებებმა მიგვიყვანა სუპერმინი ეგმ-ის შექმნას-
თან. ეს გამომთვლელი მანქანა არქიტექტურით, ზომებითა და ღირებუ-
ლებით მიეკუთვნება მცირე ეგმ-თა კლასს, ხოლო წარმადობით ედარე-
ბა დიდ ეგმ-ს.
1969 წელს მიკროპროცესორის გამოგონებამ გამოიწვია 70-იან
წლებში მიკრო ეგმ-ის (ნახ.1.6.) შექმნა. თავდაპირველად მიკროპრო-
ცესორის არსებობა ითვლებოდა მიკრო ეგმ-ის განმსაზღვრელ ნიშნად.
ახლა მიკროპროცესორები გამოიყენება ყველა კლასის კომპიუტერებში.
მიკრო-ეგმ
უნივერსალური სპეციალიზებული
15
პერსონალური კომპიუტერი (პკ) - ერთმომხმარებლიანი მიკრო-
ეგმ-ია, რომელიც აკმაყოფილებს საერთო მიღწევის მოთხოვნას და გა-
მოყენების უნივერსალურობას.
მუშა სადგურები (Work Station) წარმოადგენს ერთმომხმარებლი-
ან მძლავრ მიკრო-ეგმ-ს, რომელიც სპეციალიზირებულია განსაზღვრუ-
ლი სახის სამუშაოს (გრაფიკული, საინჟინრო, საგამომცემლო და ა. შ.)
შესასრულებლად.
სერვერები (Server) - ქსელებში მომუშავე მრავალმომხმარებლია-
ნი მძლავრი მიკრო-ეგმ-ია, გამოყოფილი ქსელის სადგურიდან მიღებუ-
ლი მოთხოვნების დასამუშავებლად.
ზემოთ მოყვანილი კლასიფიკაცია პირობითია, ვინაიდან მძლავ-
რი თანამედროვე პკ, აღჭურვილი პრობლემურ-ორიენტირებული პრო-
გრამებითა და აპარატურული უზრუნველყოფით, შეიძლება გამოვიყე-
ნოთ როგორც სრულფასოვანი მუშა სადგური, ისე მრავალმომხმარებ-
ლიანი მიკრო-ეგმ-ი, აგრეთვე როგორც კარგი სერვერი, რომელიც თავი-
სი მახასიათებლებით თითქმის არ ჩამოუვარდება მცირე ეგმ-ს.
16
ვისებურება გახდა მეხსიერებაში შენახული პროგრამის კონცეფცია. ამ
კონცეფციამ მრავალი წლით განსაზღვრა გამომთვლელი მანქანების
მომდევნო თაობების აგების საბაზისო პრინციპები. ავტორობის შესახებ
რამდენიმე ვერსია არსებობს, მაგრამ ვინაიდან დასრულებული სახით
ის პირველად 1945 წელს ფონ ნეიმანის სტატიაში იყო აღწერილი, ამი-
ტომაც ფონ ნეიმანის სახელი ფიგურირებს მსგავსი არქიტექტურების
მქონე მანქანათა აღნიშვნებში. ეს მანქანები დღეისათვის გამომთვლე-
ლი მანქანებისა და სისტემების უდიდეს უმრავლესობას წარმოადგენენ.
გამომთვლელი მანქანების აგების ფონ ნეიმანისეული კონცეფ-
ციის არსი შეიძლება დაყვანილ იქნეს ოთხ პრინციპამდე:
- ორობითი კოდირება;
- პროგრამული მართვა;
- მეხსიერების ერთგვაროვნება;
- მისამართების გამოყენება.
განვიხილოთ თითოეული ამ პრინციპთაგანი უფრო დაწვრი-
ლებით.
17
ოპერაციის ველი წარმოადგენს მითითებას იმაზე, თუ რომელი
ოპერაცია უნდა შესრულდეს და მოიცემა r - თანრიგა ორობითი
კომბინაციით.
სამისამართო ნაწილი და მისი მისამართების შემქმნელი რიცხვი
დამოკიდებულია ბრძანების ტიპზე: მონაცემთა გარდაქმნის ბრძანებებ-
ში სამისამართო ნაწილი შეიცავს დასამუშავებელი ობიექტების (ოპე-
რანდების) და შედეგების მისამართებს; გამოთვლების რიგის ცვლილე-
ბის ბრძანებებში - შეტანა/გამოტანის მოწყობილობის ნომერს. სამისა-
მართო ნაწილი აგრეთვე წარმოდგენილია ორობითი თანმიმდევრო-
ბით, რომლის სიგრძეც p - თი ავღნიშნოთ, ამრიგად, ბრძანებას გამომ-
თვლელ მანქანაში აქვს (r+p) - თანრიგა ორობითი კომბინაციის სახე.
18
შევასრულოთ ბრძანებებზე იგივე ოპერაციები, რაც რიცხვებზე და გამომ-
დინარე, გვიხსნის რიგ შესაძლებლობას. ასე, ბრძანების სამისამართო ნა-
წილის ციკლური ცვლილებით შეიძლება ვუზრუნველყოთ მონაცემთა
მასივის მიმდევრობით ელემენტებზე მიმართვა. ასეთ ხერხს ბრძანების
მოდიფიკაცია ჰქვია და თანამედროვე პროგრამირების პოზიციებიდან
დაწუნებულია. უფრო სასარგებლოა ერთგვაროვნების პრინციპის მეორე
შედეგი, როცა ერთი პროგრამის ბრძანებები შეიძლება მიღებულ იქნენ
როგორც სხვა პროგრამის შესრულების შედეგი. ეს პრინციპი საფუძვლად
უდევს ტ რ ა ნ ს ლ ი ა ც ი ა ს - პროგრამის ტექსტის მაღალი დონის ენი-
დან კონკრეტული გამომთვლელი მანქანის ენაზე გადაყვანას.
ფონ ნეიმანის სტატიაში აღწერილი გამომთვლელი მანქანის კონ-
ცეფცია გულისხმობს ბრძანებებისა და მონაცემების შენახვისათვის ერ-
თიანი მეხსიერების გამოყენებას. ასეთი მიდგომა საფუძვლად დაედო
პრინსტონის უნივერსიტეტში შექმნილ გამომთვლელ მანქანებს, რის გა-
მოც მან მიიღო „პ რ ი ნ ს ტ ო ნ ი ს ა რ ქ ი ტ ე ქ ტ უ რ ი ს“ სახელი. პრაქ-
ტიკულად იმავდროულად ჰარვარდის უნივერსიტეტში შეთავაზებულ
იქნა მეორე მოდელი, რომელშიც გამომთვლელ მანქანას გააჩნდა ცალკე
მეხსიერება ბრძანებებისათვის და ცალკე მეხსიერება მონაცემებისათვის.
არქიტექტურის ამ სახეს „ჰ ა რ ვ ა რ დ ი ს ა რ ქ ი ტ ე ქ ტ უ რ ა ს“ - ეძა-
ხიან. დიდი ხნის განმავლობაში უპირატესობა ენიჭებოდა და ახლაც ენი-
ჭება პრინსტონის არქიტექტურას, თუმცა ის იწვევს „პროცესორ - მეხსი-
ერების“ ტრაქტის გამტარუნარიანობის პრობლემებს (ტიპიური ფონ ნეი-
მანისეული მონაცემების ტრაქტი შედგება არითმეტიკულ-ლოგიკური
მოწყობილობის, ჩვეულებრივ, 8-დან 32-მდე რეგისტრისა და რამდენიმე
კომუნიკაციური სალტისაგან. პროცესორის ტრაქტის სტრუქტურა, არქი-
ტექტურის თავისებურებები დამოკიდებულია ბრძანებათა სისტემის
სტრუქტურისაგან). ბოლო დროს კეშ-მეხსიერების ფართო გამოყენებას-
თან დაკავშირებით გამომთვლელი მანქანის დამმუშავებლები სულ უფ-
რო და უფრო ხშირად მიმართავენ ჰარვარდის არქიტექტურას.
19
დამისამართების პრინციპი
სტრუქტურულად ძირითადი მეხსიერება შედგება გადანომრი-
ლი უჯრედებისაგან, ამასთან პროცესორისათვის ნებისმიერ მომენტში
მისაწვდომია ნებისმიერი უჯრედი. ბრძანებებისა და მონაცემების
ორობითი კოდები იყოფიან ინფორმაციის ერთეულებად, რომლებსაც
ს ი ტ ყ ვ ე ბ ი ჰქვიათ და ინახებიან მეხსიერების უჯრედებში, ხოლო
მათთან მისაღწევად გამოიყენებიან შესაბამისი უჯრედების ნომრები -
მ ი ს ა მ ა რ თ ე ბ ი.
20
ნახ. 1.8. ფონ ნეიმანისეული გამომთვლელი მანქანის სტრუქტურა
21
სიერება ძირითადად შედგება ნახევარგამტარული ოპერატიული და-
მახსოვრების მოწყობილობებისაგან, რომლებიც უზრუნველყოფენ ინ-
ფორმაციის როგორც წაკითხვას, ისე ჩაწერას. ასეთი მეხსიერების მო-
წყობილობები ენერგოდამოკიდებულნი არიან - ელექტრული კვების
გათიშვის შემთხვევაში მათში ჩაწერილი ინფორმაცია იკარგება. თუ სა-
ჭიროა, რომ ძირითადი მეხსიერების ნაწილი ენერგოდამოუკიდებელი
იყოს, მაშინ ძირითად მეხსიერებაში რთავენ მ უ დ მ ი ვ ი მ ე ხ ს ი ე -
რების მ ო წ ყ ო ბ ი ლ ო ბ ე ბ ს , რომლებიც აგრეთვე უზრუნველ-
ყოფენ ნებისმიერ მიღწევას. მუდმივი მეხსიერების მოწყობილობაში შე-
ნახული ინფორმაცია შეიძლება მხოლოდ წავიკითხოთ.
ძირითადი მეხსიერების უჯრედის ზომა ჩვეულებრივ რვა ორო-
ბითი თანრიგის - ბაიტის ტოლი აიღება. დიდი რიცხვების შესანახად
იყენებენ 2, 4 და 8 ბაიტს, განაწილებულებს თანმიმდევრობითი მისა-
მართების მქონე უჯრედებში. ასეთ შემთხვევაში რიცხვის მისამართად
ხშირად იღებენ მისი უმცროსი ბაიტის მისამართს. ასე 32- თანრიგიანი
რიცხვის შენახვისას 200, 201, 202, 203 მისამართების მქონე უჯრედებში
რიცხვის მისამართი იქნება 200. ასეთ წესს უწოდებენ დამისამართებას
უმცროსი ბაიტით ან „მახვილბოლოვან“ მეთოდს. შესაძლებელია საწი-
ნააღმდეგო მიდგომაც - უმცირეს მისამართზე თავსდება უფროსი ბაი-
ტი. ეს ხერხი ცნობილია როგორც დამისამართება უფროსი ბაიტით ან
„ბლაგვბოლოვანი“ მეთოდი. პრინციპში ბაიტთა ჩაწერის რიგის არჩევა
მნიშვნელოვანია მხოლოდ მონაცემების გადაგზავნისას გამომთვლელ
მანქანებს შორის მათი მისამართების სხვადასხვა ფორმების დროს ან
რიცხვის ცალკეულ ბაიტებთან მანიპულირებისას. გამომთვლელი მან-
ქანების უმრავლესობაში გათვალისწინებულია სპეციალური ინსტრუქ-
ციები დამისამართების ერთი ხერხიდან მეორეში გადასასვლელად.
დიდი პროგრამებისა და მონაცემთა მასივების ხანგრძლივი შე-
ნახვისათვის გამომთვლელ მანქანაში ჩვეულებრივ არის დამატებითი
მეხსიერება, ე. წ. მ ე ო რ ა დ ი მეხსიერება. მეორადი მეხსიერება ენერ-
გოდამოუკიდებელია და უფრო ხშირად ინახება სპეციალური პროგრა-
მულად მხარდაჭერილი ობიექტების - ფ ა ი ლ ე ბ ი ს სახით.
22
მართვის მ ო წ ყ ო ბ ი ლ ო ბ ა - გამომთვლელი მანქანის უმ-
ნიშვნელოვანესი ნაწილია. ის უზრუნველყოფს პროგრამების ავტომა-
ტურ შესრულებას (მართვის ფუნქციათა რეალიზაციის გზით) და უზ-
რუნველყოფს გამომთვლელი მანქანის, როგორც ერთიანი სისტემის,
ფუნქციონირებას. მართვის მოწყობილობის ფუნქციების გასამართავად
საჭიროა გამომთვლელი მანქანა განვიხილოთ როგორც იმ ელემენტთა
ერთობლიობა, რომელთა შორისაც ხდება ინფორმაციის გადაგზავნა და
შესაძლებელია განხორციელდეს ამ ინფორმაციის განსაზღვრული სახის
დამუშავება. ინფორმაციის გადაგზავნა გამომთვლელი მანქანის ნებისმი-
ერ ელემენტს შორის ინიცირდება თავისი მ ა რ თ ვ ი ს ს ი გ ნ ა ლ ი თ,
ანუ გამოთვლითი პროცესის მართვა დადის საჭირო მართვის სიგნალებ-
ის ნაკრების გაცემით საჭირო დროით თანმიმდევრობაში. მართვის სიგ-
ნალთა კავშირები ნაჩვენებია ნახ.1.8-ზე წყვეტილი ხაზებით. მართვის
მოწყობილობის ძირითად ფუნქციას წარმოადგენს იმ მართვის სიგნალ-
თა ფორმირება, რომლებიც პასუხს აგებენ მეხსიერებიდან პროგრამით
მითითებული რიგით ბრძანებათა ამოღებაზე და ამ ბრძანებების შემდ-
გომი გამოყენება. გარდა ამისა, მართვის მოწყობილობა ახორციელებს
მართვის სიგნალებს ფორმირებას გამოთვლითი მანქანის შიგა და გარე
მოწყობილობათა სინქრონიზაციისა და კოორდინაციისათვის.
გამომთვლელი მანქანის კიდევ ერთ განუყოფელ ნაწილს წარმო-
ადგენს ა რ ი თ მ ე ტ ი კ უ ლ - ლ ო გ ი კ უ რ ი მ ო წ ყ ო ბ ი ლ ო ბ ა. ის
უზრუნველყოფს ორი შეტანილი ცვლადის არითმეტიკულ და ლოგი-
კურ დამუშავებას, რის შედეგადაც ფორმირდება გამოსასვლელი ცვლა-
დი. არითმეტიკულ-ლოგიკური მოწყობილობის ფუნქციები ჩვეულე-
ბრივ დაიყვანებიან მარტივ არითმეტიკულ და ლოგიკურ ოპერაციება-
მდე. ოპერაციის შედეგის გარდა არითმეტიკულ-ლოგიკური მოწყობი-
ლობა ახდენს შ ე დ ე გ ი ს ნ ი შ ა ნ თ ა რ ი გ ი ს (ალმების) ფორმირე-
ბას, რომლებიც ახასიათებენ მიღებულ შედეგსა და მისი მიღების პრო-
ცესში მომხდარ შემთხვევებს (ნულთან ტოლობა, ნიშანი, ლუწობა, გა-
დატანა, გადავსება და ა.შ) ალმები შეიძლება ანალიზდებოდნენ მარ-
23
თვის მოწყობილობაში პროგრამის ბრძანებების შესრულების შემდგომი
თანმიმდევრობის შესახებ გადაწყვეტილების მიღების მიზნით.
მართვის მოწყობილობა და არითმეტიკულ-ლოგიკური მოწყობი-
ლობა მჭიდრო ურთიერთკავშირშია და მათ ჩვეულებრივ განიხილავენ
როგორც ერთ მოწყობილობას, ცნობილს ცენტრალური პროცესორის
სახელით ან უბრალოდ პროცესორად. მართვის მოწყობილობისა და
არითმეტიკულ-ლოგიკური მოწყობილობის გარდა პროცესორში აგ-
რეთვე შედის საერთო დანიშნულების რეგისტრთა ნაკრები, რომლებიც
ემსახურებიან ინფორმაციის შუალედურ შენახვას პროცესორში მისი
დამუშავების დროს.
24
ნა/გამოტანის მოწყობილობები) შორის არსებობენ უშუალო კავშირები.
კავშირთა თავისებურებები (სალტეებში ხაზთა - ფიზიკური გამტარე-
ბის რიცხვი, გამტარუნარიანობა და ა.შ) განსაზღვრულია ინფორმაციის
სახით, გაცვლის ხასიათით და ინტენსივობით. უშუალო კავშირებიანი
არქიტექტურის უპირატესობად შეიძლება ჩაითვალოს „ვიწრო ადგი-
ლების“ გადაჭრის შესაძლებლობა მხოლოდ განსაზღვრული კავშირებ-
ის სტრუქტურისა და მახასიათებლების გაუმჯობესების გზით, რაც
ეკონომიკური თვალსაზრისით შეიძლება ყველაზე ხელსაყრელი იყოს.
ფონ-ნეიმანისეულ გამომთვლელ მანქანებში ასეთ „ვიწრო ადგილს“
წარმოადგენს ცენტრალურ პროცესორსა და მეხსიერებას შორის მონა-
ცემთა გადაგზავნის არხი, და მისი „გადაჭრა“ საკმაოდ რთულია. გარ-
და ამისა, უშუალო კავშირებიანი გამომთვლელი მანქანები ცუდად ექ-
ვემდებარებიან გადაწყობას ანუ რეკონფიგურაციას.
საერთო სალტიან ვარიანტში გამომთვლელი მანქანის ყველა მო-
წყობილობა მიერთებულია მაგისტრალურ არხზე, რომელიც ერთადერ-
თი ტრაქტია ბრძანებების, მონაცემების და მართვის ნაკადებისათვის
(ნახ. 1.9.). საერთო სალტის არსებობა არსებითად ამარტივებს გამომ-
25
თვლელი მანქანის რეალიზაციას, საშუალებას იძლევა ადვილად შეიც-
ვალოს მანქანის შემადგენლობა და კონფიგურაცია. ამ თვისებათა საშუ-
ალებით სალტურმა არქიტექტურამ ფართო გავრცელება ჰპოვა მინი და
მიკრო ეგმ-ებში. ამასთან ერთად, სწორედ სალტესთანაა დაკავშირებუ-
ლი არქიტექტურის ძირითადი ნაკლი: დროის თითოეულ მომენტში
სალტით ინფორმაციის გაცემა შეუძლია მხოლოდ ერთ მოწყობილობას.
სალტეზე ძირითად დატვირთვას ქმნიან გაცვლები პროცესორსა და
მეხსიერებას შორის, დაკავშირებულნი მეხსიერებიდან ბრძანებებისა
და მონაცემების ამოღებით და გამოთვლის შედეგების მეხსიერებაში
ჩაწერით. შეტანა/გამოტანის ოპერაციებზე რჩება სალტის გამტარუნა-
რიანობის შესაძლებლობათა მხოლოდ ნაწილი. პრაქტიკა გვიჩვენებს,
რომ საკმაოდ სწრაფი სალტის დროსაც კი დამატებათა 90%-ისათვის ეს
დამატებითი რესურსები საკმარისი არაა, განსაკუთრებით მონაცემების
დიდი მასივების შეტანის და გამოტანის დროს.
მთლიანობაში უნდა ვაღიაროთ, რომ ბრძანებათა თანმიმდევრო-
ბითი ფონ-ნეიმანისეული კონცეფციის შენარჩუნებისას სალტური არ-
ქიტექტურა „წმინდა“ სახით არასაკმარისად ეფექტურია. უფრო მეტა-
დაა გავრცელებული ა რ ქ ი ტ ე ქ ტ უ რ ა ი ე რ ა რ ქ ი უ ლ ი ს ა ლ -
ტ ე ე ბ ი თ, სადაც მაგისტრალური სალტის გარდა არის კიდევ რამდე-
ნიმე დამატებითი სალტე. მათ შეუძლიათ განახორციელონ უშუალო
კავშირები ყველაზე ინტენსიური გაცვლის მქონე მოწყობოლობებს შო-
რის, მაგალითად პროცესორსა და კეშ-მეხსიერებას შორის. დამატებითი
სალტეების გამოყენების მეორე ვარიანტია შეტანა/გამოტანის ერთტი-
პიური მოწყობილობების გაერთიანება შემდგომი გამოსვლით დამატე-
ბითი სალტიდან მაგისტრალურზე. ყველა ეს ზომა საშუალებას იძლევა
შემცირდეს დატვირთვა საერთო სალტეზე და უფრო ეფექტურად იქნეს
გამოყენებული მისი გამტარიანობა.
26
1.4.2. გამოთვლითი სისტემების სტრუქტურები
27
გაცვლა უზრუნველყოფილია კომუნიკაციური ქსელის საშუალებით
შეტყობინებათა გაცვლის გზით.
28
დურეს შემთხვევაში, განსაზღვრული კლასის ამოცანების უფრო ეფექ-
ტურ ამოხსნაზე. არქიტექტურათა ევოლუციას განსაზღვრავენ სრულე-
ბით განსხვავებული ფაქტორები - ტექნოლოგია, პარალელიზმი, ღირე-
ბულება, ოპერაციული სისტემები, დამატებები და სხვა. თითოეული
მათგანის როლის დაუკნინებლად საჭიროა ვაღიაროთ, რომ გამოთვლი-
თი ტექნიკის საშუალებათა დამუშავებისას ყველაზე მკაფიო წარმატე-
ბები დაკავშირებულია ტექნოლოგიურ მიღწევებთან.
თითოეული ახალი ტექნოლოგიური წარმატებისას არქიტექტუ-
რული იდეებიდან ბევრი გადადის პრაქტიკული რეალიზაციის დონე-
ზე.
ტექნოლოგიური პროგრესი ავსებს მნიშვნელოვან ცვლილებებს
გამომთვლელი მანქანების არქიტექტურაში. უპირველეს ყოვლისა, ეს
ეხება გამომთვლელი მანქანის პროცესორის შემადგენლობაში ინდექ-
სური რეგისტრების გაჩენას, რამაც გაამარტივა მასივის ელემენტებთან
მიღწევა. უპირველესად, მასივის ელემენტთა ციკლური დამუშავები-
სას, აუცილებელი იყო ბრძანების კოდის მოდიფიცირება, კერძოდ, მას-
ში დამახსოვრებული მასივის ელემენტის მისამართის, როგორც შედე-
გი, გამოთვლების მიმდინარეობისას ზოგიერთი ბრძანების კოდის
მუდმივად იცვლებოდნენ, რაც ართულებდა პროგრამის გამართვას.
ინდექსური რეგისტრების გამოყენებით მასივის ელემენტის მისამართი
გამოითვლება როგორც ჯამი ბრძანების სამისამართო ნაწილისა და ინ-
დექსური რეგისტრის შემცველობისა. ეს საშუალებას იძლევა შესრულ-
დეს მიმართვა მასივის ნებისმიერ ელემენტზე ბრძანების კოდზე ხელ-
შეუხებლად, მხოლოდ ინდექსური რეგისტრის შემცველობის მოდიფი-
ცირების გზით.
გამომთვლელი მანქანის სტრუქტურაში მეორე პრინციპული
ცვლილება გახდა მცურავი მძიმის ფორმატში რიცხვთა დამუშავების
აპარატურული ბლოკის დამატება. მანამდე ნამდვილ რიცხვთა დამუშა-
ვება ხორციელდებოდა ქვეპროგრამათა მეშვეობით, რომელთაგან თი-
თოეული ახდენდა მცურავი მძიმით რაღაც ოპერაციის (შეკრება, გამ-
29
რავლება და ა.შ.) შესრულების იმიტაციას, იყენებდა რა ამ მიზნით ჩვე-
ულებრივ მთელრიცხვა არითმეტიკულ-ლოგიკურ მოწყობილიბას.
მესამე მნიშვნელოვანი ცვლილება გამომთვლელი მანქანის არქი-
ტექტურაში ესაა გამომთვლელი მანქანის შემადგენლობაში შეტანა/გა-
მოტანის პროცესორების შემოტანა, რომლებმაც გამოათავისუფლეს ცენ-
ტრალური პროცესორის შეტანა/გამოტანის მართვის რუტინული ოპე-
რაციებისაგან და უზრუნველყოფს „მეხსიერება - შეტანა/გამოტანის მო-
წყობილობა“ ტრაქტის უფრო მაღალი გამტარუნარიანობას.
გამომთვლელი მანქანების არქიტექტურაში ერთ-ერთი უმნიშ-
ვნელოვანესი მოვლენა გახდა იდეა ბრძანებათა შეკვეცილ ნაკრებიანი
გამომთვლელი მანქანების აგებისა (RISC, Redused Instruction Set Compu-
ter), რომელიც წამოყენებულ იქნა 1975 წელს და პირველი რეალიზაცია
ჰპოვა 1980 წელს. გამარტივებულად RISC კონცეფციის არსი მდგომარე-
ობს გამომთვლელი მანქანის ბრძანებათა ნაკრების დაყვანაზე ყველაზე
მეტად გამოყენებულ უმარტივეს ბრძანებებამდე. ეს საშუალებას იძლე-
ვა პროცესორის სქემოტექნიკის გამარტივებისა და თითოეული „მარტი-
ვი“ ბრძანების შესრულების დროის მკვეთრად შემცირებისა. უფრო
რთული ბრძანებები რეალიზებულია როგორც ქვეპროგრამები, შედგე-
ნილნი სწრაფი „მარტივი“ ბრძანებებისაგან.
მეხუთე თაობის გამოთვლითი სისტემების არქიტექტურაში შე-
იქმნა ორი პრინციპულად განსხვავებული მიდგომა: არქიტექტურა ერ-
თობლივად გამოყენებული მეხსიერებით და არქიტექტურა განაწილე-
ბული მეხსიერებით.
და ბოლოს, მესამე მიმართულება მეხუთე თაობის გამოთვლითი
სისტემების არქიტექტურაში ესაა გამოთვლითი სისტემები, რომლებ-
შიც რამდენიმე ათასი საკმაოდ მარტივი პროცესორი მუშაობს საერთო
მართვის მოწყობილობის მართვით და ერთდროულად ასრულებს ერ-
თი და იგივე ოპერაციებს, მაგრამ თითოეული საკუთარ მონაცემებზე.
საერთოდ გამომთვლელი მანქანებისა და გამომთვლელი სისტე-
მების არქიტექტურათა კვლევაში ძირითადი მიმართულებები პირობი-
თად შეიძლება დაიყოს ორ ჯგუფად : ევოლუციურად და რევოლუციუ-
30
რად. პირველ ჯგუფს მიეკუთვნებიან ის კვლევები, რომელთა მიზეზ-
საც წარმოადგენს უკვე საკმაოდ ცნობილი იდეების რეალიზაციის მე-
თოდების სრულყოფა. გამოკვლევები, რომლებსაც პირობითად რევო-
ლუციური ჰქვიათ, მიმართულნი არიან უკვე ტრადიციულებად ქცეულ
ფონ-ნეიმანისეული სრულებით ახალი არქიტექტურების შექმნაზე.
ევოლუციური კვლევების უმრავლესობა დაკავშირებულია მიკ-
როპროცესორების არქიტექტურათა სრულყოფაზე. პრინციპში მიკრო-
პროცესორებში კარდინალურად ახალი არქიტექტურული მიდგომების
რაოდენობა შედარებით მცირე. ძირითადი იდეები, რომლებიც საფუძ-
ვლად უდევთ თანამედროვე მიკროპროცესორებს, წამოყენებული იყ-
ვნენ მრავალი წლის წინ, მაგრამ ტექნოლოგიის არასრულყოფილებისა
და რეალიზაციის მაღალი ღირებულების გამო გამოყენება ჰპოვეს მხო-
ლოდ დიდ უნივერსალურ გამომთვლელ მანქანებში (მეინფრეიმებში)
და სუპერ ეგმ-ებში. მიკროპროცესორთა არქიტექტურაში ყველაზე მე-
ტად მნიშვნელოვანი ცვლილებები დაკავშირებულნი არიან ბრძანებათა
დონეზე პარალერულობის დონის ამაღლებასთან (რამდენიმე ბრძანებ-
ის ერთდროულად შესრულების შესაძლებლობა). აქ პირველ რიგში
უნდა ავღნიშნოთ კონვეიერიზაცია, სუპესკალარული დამუშავება და
არქიტექტურა ზეგრძელი ბრძანებითი სიტყვებით (VLIW). „დიდი“ სის-
ტემების გლობალური არქიტექტურული მიდგომების მიკროპროცესო-
რებზე წარმატებით გადატანის შემდეგ მკლევართა ძირითადი ძალის-
ხმევა უკვე მიმართულია კერძო არქიტექტურულ ცვლილებებზე. ასეთი
ევოლუციური არქიტექტურების მაგალითებს წარმოადგენენ: ბრძანება-
თა კონვეირებში პროგნოზირების მეთოდების გაუმჯობესება, კეშ-მეხ-
სიერებაზე წარმატებულ მიმართვათა სიხშირის ზრდა ბუფერიზაციის
ხერხების გართულების ხარჯზე და ა.შ.
ფართო გამოყენების გამოთვლით საშუალებათა სფეროში გან-
ხორციელებული მიღწევები ჯერ-ჯერობით განპირობებულნი არიან
სწორედ „ევოლუციური“ კვლევებით. მაგრამ ახლავეა ცხადი, რომ ტრა-
დიციული არქიტექტურის ჩარჩოში დარჩენით, ჩვენ საკმაოდ მალე შე-
ვეჯახებით ტექნოლოგიურ შეზღუდვებს. ტექნოლოგიური ბარიერის
31
დაძლევის ერთ-ერთი გზა არატრადიციულ მიდგომებშია. ამ მიმართუ-
ლებით ჩატარებული კვლევები, ჩვენი კლასიფიკაციით „რევოლუციუ-
რებს“ მიეკუთვნებიან. ასეთი მტკიცებულებების სამართლიანობა დას-
ტურდება არატრადიციული არქიტექტურის გამოთვლით სისტემების
პირველი ნიმუშებით.
ვაფასებთ რა გამოთვლითი ტექნიკის ევოლუციური და რევო-
ლუციური პერსპექტივებს, შეიძლება ვამტკიცოთ, რომ ახლო მომავალ-
ში დიდ პროგრესს შეძლება ველოდოთ პარალელურობის იდეების გა-
მოყენებისა და დამახსოვრების მოწყობილობათა ეფექტური იერარქიის
შექმნის გზაზე.
32
2. ბრძანებათა სისტემის არქიტექტურა
33
1. რა სახის მონაცემები იქნებიან წარმოდგენილი გამომთვლელ
მანქანაში და რა ფორმით?
2. სად შეიძლება შენახულ იქნას ეს მონაცემები გარდა ძირითადი
მეხსიერებისა?
3. როგორ განხორციელდება მონაცემებთან მიღწევა?
4. რა ოპერაციები შეიძლება შესრულდეს მონაცემებზე?
5. რამდენი ოპერანდი შეიძლება იყოს ბრძანებაში?
6. როგორ მოხდება მომდევნო ბრძანების მისამართის განსაზღვ-
რა?
7. როგორ იქნებიან ბრძანებები კოდირებული?
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
- მეხსიერებასთან გამოყოფილი მიღწევით;
ამა თუ იმ არქიტექტურის არჩევა მოქმედებს შემდეგ პრინციპულ
მომენტებზე: რამდენი მისამართი იქნება ბრძანების სამისამართო ნა-
წილში, როგორი იქნება ამ ბრძანებების სიგრძე, რამდენად მარტივად
განხორციელდება ოპერანდებთან მიღწევა და, საბოლოოდ, როგორი
იქნება ბრძანების საერთო სიგრძე.
40
ინფორმაცია წინასწარ იძვრის ერთი პოზიციით ქვევით. წაკითხვა და-
საშვებია აგრეთვე მხოლოდ სტეკის წვეროდან. ამოღებული ინფორმა-
ცია იშლება სტეკიდან, ხოლო მისი დარჩენილი ნაწილი იძვრის ზემოთ
გამომთვლელ მანქანებში, რომლებშიც ბრძანებათა სისტემის
არქიტექტურა რეალიზებულია სტეკის საფუძველზე (მათ ჩვეულებრივ
სტეკურებს ეძახიან), დამუშავების წინ ოპერანდები თავსდებიან
სტეკური მეხსიერების ორ ზედა უჯრედში. ოპერაციის შედეგი შეაქვთ
სტეკში.
სტეკური ბრძანებათა სისტემის არქიტექტურის საფუძველზე
აგებული მანქანის ერთ-ერთი შესაძლო ვარიანტის ძირითადი კვანძები
და ინფორმაციული ტრაქტები მოტანილია ნახ. 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-ზე.
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-ზე.
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
ლება მივაკუთვნოთ დეკოდირებისა და ბრძანებების შესრულების სი-
მარტივე.
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. ბრძანებათა ტიპები
57
ახორციელებენ ბრძანების შედგენილი ნაწილის კოდირებას. შესაძლო
ფორმატების შეფასებებისას საჭიროა გავითვალისწინოთ შემდეგი ფაქ-
ტორები:
- განსხვავებულ ბრძანებათა საერთო რიცხვი;
- ბრძანების საერთო სიგრძე;
- ბრძანების ველთა ტიპები (ფიქსირებული ან ცვლადი სიგრძის)
და მათი სიგრძე;
- დეკოდირების სიმარტივე;
- გადამისამართება და მისი ხერხები;
- დეკოდირებისა და ბრძანებების შესრულებისათვის საჭირო მო-
წყობილობათა ღირებულება.
ერთი გამომთვლელი მანქანის ბრძანებათა სისტემაში შეიძლება
გამოიყენებოდნენ ბრძანებათა სხვადასხვა ფორმატები. ჩვეულებრივ ეს
დაკავშირებულია გადამისამართების სხვადასხვა ხერხის გამოყენებას-
თან. ამ შემთხვევაში ბრძანების კოდის შემადგენლობაში შეჰყავთ ველი
გადამისამართების ხერხის მისათითებლად და ბრძანების განზოგადე-
ბული ფორმატი იღებს ნახ. 2.8-ზე მოცემულ სახეს.
58
„მაქსიმალურ ვარიანტში“ აუცილებელია სამი კომპონენტის მითითება:
პირველი ოპერანდის მისამათის, მეორე ოპერანდის მისამართის და იმ
უჯრედის მისამართის, სადაც ჩაიწერება ოპერაციის შედეგი. პრინციპ-
ში შეიძლება დამატებული იყოს კიდევ ერთი მისამართი, რომელიც
უთითებს მომდევნო ინსტრუქციის შენახვის ადგილს. შედეგად ადგი-
ლი აქვს ბრძანების ოთხმისამართიან ფორმატს (ნახ. 2.9). ასეთი ფორმა-
ტი გამოიყენება გასული საუკუნის 40-იან წლებში დამუშავებულ გა-
მომთვლელ მანქანაში EDVAC.
ოპერაცია მისამართები
ოპერაციის შემდეგი
I ოპერანდი II ოპერანდი შედეგი
კოდი ბრძანება
ნახ. 2.9. ბრძანების ოთხმისამართიანი ფორმატი
ოპერაცია მისამართები
ოპერაციის
I ოპერანდი II ოპერანდი შედეგი
კოდი
ნახ. 2.10. ბრძანების სამმისამართიანი ფორმატი
59
სიერების უჯრედის მისამართს აქვს 32 ბიტის ტოლი სიგრძე, ხოლო
ოპერაციის კოდი 8 ბაიტია, მაშინ ბრძანების სიგრძე 104 ბიტი (13 ბაი-
ტი) იქნება.
თუ მითითების გარეშე შედეგის მისამართად ავიღებთ ერთ-ერ-
თი ოპერანდის მისამართის (ჩვეულებრივ მეორის), მაშინ შეიძლება მე-
სამე მისამართის გარეშეც ვიმუშაოთ და შედეგად მივიღებთ ბრძანების
ორმისამართიან ფორმატს (ნახ. 2.11). ბუნებრივია, რომ ამ შემთხვევაში
შესაბამისი ოპერანდი ოპერაციის შესრულების შემდეგ იკარგება.
ოპერაცია მისამართები
ოპერაციის II ოპერანდი/
I ოპერანდი
კოდი შედეგი
ნახ. 2.11. ბრძანების ორმისამართიანი ფორმატი
ოპერაცია მისამართები
ოპერაციის
I ან II ოპერანდი
კოდი
ნახ. 2.12. ბრძანების ერთმისამართიანი ფორმატი
60
ცხვი დიდი არაა, ამიტომ ერთ-ერთი მათგანის მისათითებლად საკმა-
რისია ბრძანებაში გვქონდეს შედარებით მოკლე სამისამართო ველი. შე-
საბამის ფორმატს ერთნახევარმისამართიანი ან რეგისტრული ფორმატი
ჰქვია (ნახ. 2.13):
ოპერაცია მისამართები
ოპერაციის
რეგისტრი II ოპერანდი
კოდი
ნახ. 2.13. ბრძანების ერთნახევარმისამართიანი ფორმატი
ოპერაცია
ოპერაციის
კოდი
ნახ. 2.14. ბრძანების ნულმისამართიანი ფორმატი.
61
ოპერაციათა სისტემა
ოპერაციათა ს ი ს ი ტ ე მ ა ჰქვია გამომთვლელი მანქანის
ტექნიკური საშუალებებით უშუალოდ შესრულებულ ოპერაციათა სი-
ას. გამომთვლელი მანქანის ოპერაციათა სისტემა განისაზღვრება მისი
გამოყენების ზონით, მოთხოვნებით ღირებულებაზე, წარმადობითა და
გამოთვლების სიზუსტით.
62
3. ფონ ნეიმანისეული გამომთვლელი მანქანის
ფუნქციური ორგანიზაცია
3.1. ფონ ნეიმანისეული გამომთვლელი მანქანის ფუნქციური
სქემა
63
- ე რ თ მ ი ს ა მ ა რ თ ი ა ნ ი ბ რ ძ ა ნ ე ბ ე ბ ი. ბრძანებების
სამისამართო ნაწილი შეიცავს მხოლოდ ერთ მისამართს. ორ ოპერან-
დთან ოპერაციების შესრულებისას იგულისხმება, რომ მეორე ოპე-
რანდი იმყოფება არითმეტიკულ-ლოგიკური მოწყობილობის სპე-
ციალურ რეგისტრში აკუმულატორში, ხოლო შედეგიც ასევე აკუ-
მულატორში რჩება.
64
ბრძანებათა მთვლელი
65
თვლელი მანქანის დამმუშავებლები იყენებენ სხვა დასახელებებს, კერ-
ძოდ პ რ ო გ რ ა მ უ ლ მ თ ვ ლ ე ლ ს (PC, Program counter) ან ბ რ ძ ა-
ნების მ ი მ თ ი თ ე ბ ე ლ ს (IP, Instruction Pointer). ბოლო განსაზღ-
ვრება, ჩვენი აზრით, საუკეთესოდ ასახვავს მართვის მოწყობილობის
განსახილველი კვანძის დანიშნულებას.
ბოლოს აღვნიშნოთ, რომ რიგ გამომთვლელ მანქანებში ბრძანება-
თა მთვლელი განხორციელებულია ჩვეულებრივი რეგისტრის სახით,
ხოლო მისი შემცველობის გაზრდა ხორციელდება გარე სქემით (ინკრი-
მენტ/დეკრემენტის სქემით).
ბრძანების რეგისტრი
66
ნარჩენ სიტყვებს მეხსიერებიდან ამოკითხვა და ბრძანების რეგისტრში
ჩატვირთვა. თავად ბრძანების შესრულება იწყება ბრძანების რეგისტრ-
ში მისი სრული კოდის შეტანის შემდეგ.
სტეკის მაჩვენებელი
67
ერების მისამართის რეგისტრის არსებობა საშუალებას იძლევა მოხდეს
ძირითადი მეხსიერებებისა და მანქანის სხვა მოწყობილობების სწრაფ-
ქმედებაში განსხვავების კონპენსაცია.
68
მიკროპროგრამული ავტომატი
მართებულია მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ა ვ ტ ო მ ა ტ ი ჩავ-
თვალოთ მართვის მოწყობილობის ცენტრალურ კვანძად. სწორედ მიკ-
როპროგრამული ავტომატი ახდენს მართვის სიგნალების თანმიმდევ-
რობის ფორმირებას, რომელთა შესაბამისადაც ხორციელდება მეხსიე-
რებიდან ამორჩევისა და ბრძანებების შასასრულებლად აუცილებელი
ყველა მოქმედება. მიკროპროგრამული ავტომატისათვის საწყის ინ-
ფორმაციას წარმოადგენს: ოპერაციის დეკოდირებული კოდი, წინა გა-
მოთვლების შედეგის დამახასიათებელ ნიშანთა (ალმების) მდგომარეო-
ბა, აგრეთვე გარე მოთხოვნები მიმდინარე პროგრამის შეწყვეტაზე და
გადასვლა წყვეტების მომსახურების პროგრამაზე.
არითმეტიკულ-ლოგიკური მოწყობილობა
ოპერაციული ბლოკი
69
ციის კოდის მოწოდება ხდება უშუალოდ ბრძანებების რეგისტრიდან.
რეალურ მანქანებში ოპერაციის კოდი ხშირად მიკროპროგრამულ ავ-
ტომატში გარდაიქმნება სხვა ფორმაში და უკვე მიკროპროგრამული
ავტომატიდან ეწოდება არითმეტიკულ-ლოგიკურ მოწყობილობას. თა-
ნამედროვე არითმეტიკულ-ლოგიკურ მოწყობილობების ოპერაციული
ბლოკები იგებიან როგორც კომბინაციური სქემები, ანუ მათ არ გააჩნი-
ათ შიგა მეხსიერება და შედეგის დამახსოვრების მომენტამდე ოპერან-
დები უნდა იმყოფებოდნენ ბლოკის შესასვლელზე.
ოპერანდთა რეგისტრები
ნიშნულთა რეგისტრი
70
ნიშნულთა ფორმირება ხორციელდება ნიშნულთა რეგისტრის
მდგომარეობის ფორმირების ბლოკით, რომელიც შეიძლება შედიოდეს
ოპერაციული ბლოკის შემადგენლობაში, ან რეალიზებული იყოს
ოპერაციულ ბლოკსა და ნიშნულთა რეგისტრს შორის მოთავსებული
გარე სქემის სახით.
აკუმულატორი
ძირითადი მეხსიერება
71
სიერების უჯრედები ორგანიზებულია მატრიცის სახით, ხოლო უჯრე-
დის ამორჩევა ხორციელდება ამ მატრიცის შესაბამის სტრიქონსა და
სვეტზე ნების დართვის სიგნალების მიწოდების გზით. ამის უზრუნ-
ველყოფა ხდება მეხსიერების მისამართის დეკოდერით, რომელიც გარ-
დაქმნის მეხსიერების მისამართის რეგისტრიდან მიღებულ უჯრედის
მისამართის რეგისტრიდან მიღებულ უჯრედის მისამართის ნების
დართვის (ნებართვის) სიგნალებში, რომლებიც მიეწოდებიან იმ ჰორი-
ზონტალურ და ვერტიკალურ ხაზებს, რომელთა გადაკვეთაზეცაა მო-
თავსებული სამისამართო (საჭირო) უჯრედი. ძირითადი მეხსიერების
თანამედროვე მოცულობისას მოცემული სიგნალების რეალიზაციის-
თვის იყენებენ დამახსოვრების მოწყობილობების რამდენიმე მიკროსქე-
მას. ასეთ პირობებში უჯრედისადმი მიმართვის პროცესი შედგება სა-
ჭირო მიკროსქემის არჩევისა (მისამართის უფროსი თანრიგების საფუძ-
ველზე) და მიკროსქემის შიგნით უჯრედის ამორჩევაში (განისაზღვრე-
ბა მისამართის უმცროსი თანრიგებით). პროცედურის პირველი ნაწი-
ლი ხორციელდება გარე სქემებით, ხოლო მეორე - დამამახსოვრებელი
მოწყობილობის მიკროსქემათა შიგნით.
შეტანა/გამოტანის მოდული
72
შეტანის პორტები და გამოტანის პორტები
73
4. სალტეთა ორგანიზაცია
74
ნახ. 4.1. ინფორმაციული ნაკადები გამომთვლელ მანქანაში
75
ნახ. 4.2. ურთიერთკავშირის სტრუქტურათა ევოლუცია (ცპ- ცენტრა-
ლური პროცესორი, ძმმ - ძირითადი მეხსიერების მოდული, შ/გ მ-
შეტანა/გამოტანის მოდული)
76
გამომთვლელი მანქანის ნაწილების ურთიერთკავშირი და მისი
„ურთიერთობა“ გარე სამყაროსთან უზრუნველყოფილია სალტეთა სის-
ტემით. მანქანათა უმრავლესობა შეიცავს რამდენიმე განსხვავებულ
სალტეს, რომელთაგან თითოეული ოპტიმიზებულია კომუნიკაციათა
განსაზღვრული სახის მიმართ. სალტეთა ნაწილი დამალულია ინტე-
გრალური მიკროსქემების შიგნით ან მისაღწევია მხოლოდ ბეჭდური
დაფის საზღვრებში. ზოგიერთ სალტეს აქვს გარედან მისაწვდომი წერ-
ტილები, რომ მათზე ადვილად განხორციელდეს დამატებით მოწყობი-
ლობათა მიერთება. ამასთან, ასეთ სალტეთა უმრავლესობა არა მხო-
ლოდ მისაწვდომია, არამედ პასუხობს გარკვეულ სტანდარტებს, რაც
საშუალებას იძლევა სალტეზე მიერთებულ იქნას სხვადასხვა წარმადო-
ბის მოწყობილობები.
კონკრეტული სალტის დასახასიათებლად საჭიროა აღვწეროთ:
- სასიგნალო ხაზების ერთობლიობა;
- სალტის ფიზიკური, მექანიკური და ელექტრული მახასიათებ-
ლები;
- არბიტრაჟის, მდგომარეობის, მართვისა და სინქრონიზაციის
გამოყენებული სიგნალები;
- სალტესთან მიერთებული მოწყობილობების ურთიერთქმედე-
ბის წესები (სალტის პროტოკოლი).
სალტეს ქმნის კომუნიკაციურ ხაზთა ნაკრები, რომელთაგან თი-
თოეულს შეუძლია გადასცეს ორობითი ციფრებით 1 და 0 წარმოდგე-
ნილი სიგნალები. ხაზით შეიძლება გადაიგზავნოს ასეთი სიგნალების
დროში გაშლილი თანმიმდევრობა. რამდენიმე ხაზის ერთობლივი გა-
მოყენების შემთხვევაში შესაძლებელია ორობითი რიცხვების ერთდრო-
ული (პარალელური) გადაცემა. ფიზიკურად სალტის ხაზები რეალი-
ზებულია ცალკეული გამტარების სახით, როგორც გამტარი მასალის
ზოლები სამონტაჟო დაფაზე ან როგორც ალუმინის ან სპილენძის გამ-
ტარი ბილიკები მიკრო სქემის კრისტალზე.
სალტეზე ოპერაციებს ტ რ ა ნ ზ ა ქ ც ი ე ბ ს უწოდებენ. ტრან-
ზაქციათა ძირითადი სახეებია - წ ა კ ი თ ხ ვ ი ს ტ რ ა ნ ზ ა ქ ც ი ა და
77
ჩაწერის ტ რ ა ნ ზ ა ქ ც ი ა. თუ გაცვლაში მონაწილეობს შეტანა
/გამოტანის მოწყობილობა, შეიძლება ვისაუბროთ შ ე ტ ა ნ ი ს ა და
გამოტანის ტრანზაქციების შესახებ, რომლებიც არსები-
თად ექვივალენტურებია შესაბამისად ჩაწერისა და წაკითხვის ტრან-
ზაქციების. სალტური ტრანზაქცია შედგება ორი ნაწილისაგან: მისა-
მართის გაგზავნისა და მონაცემთა მიღებისაგან (ან გადაგზავნისაგან).
როცა ორი მოწყობილობა ახორციელებს ინფორმაციის გაცვლას
სალტის მეშვეობით, მაშინ ერთ-ერთმა მათგანმა უნდა მოახდინოს გაც-
ვლის ინიცირება და მისი მართვა. ასეთ მოწყობილობას წ ა მ ყ ვ ა ნ ი
(bus master) ეწოდება. კომპიუტერულ ტერმინოლოგიაში „წამყვანი“ -
ნებისმიერი მოწყობილობაა, რომელსაც შეუძლია თავის თავზე აიღოს
სალტის ფლობა და მართოს მონაცემთა გადაგზავნა. აუცილებელი არაა,
რომ წამყვანმა თავად გამოიყენოს მონაცემები. მან, მაგალითად, შეიძ-
ლება მიიტაცოს სალტის მართვა სხვა მოწყობილობის ინტერესებიდან
გამომდინარე. მოწყობილობებს, რომლებსაც არ გააჩნიათ ტრანზაქცი-
ათა ინიცირების შესაძლებლობა, მ ი მ ყ ო ლ ს (bus slave) ეძახიან.
პრინციპში სალტეზე შეიძლება მიერთებული იყოს რამდენიმე პოტენ-
ციური წამყვანი, მაგრამ დროის ნებისმიერ მომენტში აქტიურია მხო-
ლოდ ერთი მათგანი: თუ რამდენიმე მოწყობილობა ერთდროულად
გადასცემს ინფორმაციას, მაშინ მათი სიგნალები ფარავენ ერთმანეთს
და მახინჯდებიან. რამდენიმე წამყვანის ერთდროული გააქტიურების
თავიდან ასაცილებლად ნებისმიერ სალტეში გათვალისწინებულია
სალტის მართვასთან ერთ-ერთი პრეტენდენტის დაშვების პროცედურა
(არბიტრაჟი). ამასთან ზოგიერთი სალტე უშვებს ჩაწერის მრავლის მა-
უწყებელ (მრავლის აღმთქმელ) რეჟიმს, როცა ინფორმაცია ერთი წამ-
ყვანიდან პირდაპირ გადაეცემა რამდენიმე მიმყოლს (აქ არბიტრაჟი
საჭირო არაა). ერთი მოწყობილობით გაცემული სიგნალი მისაღწევია
სალტეზე მიერთებული ყველა დანარჩენი მოწყობილობისათვის.
78
4.1. სალტეთა ტიპები
79
ვინაიდან ფონ-ნეიმანისეულ მანქანებში სწორედ პროცესორსა და
მეხსიერებას შორის გაცვლა ბევრად განაპირობებს გამომთვლელი მან-
ქანის სწრაფქმედებას, ამიტომ დამმუშავებლები ცენტრალური პროცე-
სორის მეხსიერებასთან კავშირს განსაკუთრებულ ყურადღებას აქცევენ.
მაქსიმალური გამტარუნარიანობის უზრუნველსაყოფად სალტე „პრო-
ცესორი - მეხსიერება“ ყოველთვის პროექტირდება მეხსიერების სისტე-
მის ორგანიზაციის თავისებურებათა გათვალისწინებით, ხოლო სალ-
ტის სიგრძეს შესაძლებლად მინიმალურს აკეთებენ.
შეტანა/გამოტანის სალტე
სისტემური სალტე
80
სალტე ემსახურება გამომთვლელი მანქანის ყველა მოწყობილობის
ფიზიკურ და ლოგიკურ გაერთიანებას. ვინაიდან მანქანის ძირითადი
მოწყობილობები, როგორც წესი, მოთავსებულნი არიან საერთო სამონ-
ტაჟო დაფაზე, ამიტომ სისტემურ სალტეს ხშირად გამაერთიანებელ
სალტეს (backplane bus) ეძახიან, თუმცა ეს ტერმინები არ შეიძლება
მკაცრად ექვივალენტურებად ჩავთვალოთ.
სისტემურ სალტეში შეიძლება გაერთიანდეს რამდენიმე ასეული
ხაზი. სალტის ხაზთა ერთობლიობა შეიძლება დაიყოს სამ ფუნქციურ
ჯგუფად (ნახ. 4.3): მონაცემთა სალტედ, მისამართის სალტედ და
მართვის სალტედ. ამ უკანასკნელს ჩვეულებრივ აკუთვნებენ სისტემურ
სალტეზე მიერთებული მოდულებისათვის კვების ძაბვის მომწოდებელ
სადენებს.
81
ფიზიკურად სისტემური სალტე წარმოადგენს ელექტრული გამ-
ტარების პარალელურ ერთობლიობას. ამ გამტარებად გამოიყენებიან
მეტალის ზოლები ბეჭდურ დაფაზე. სალტე მიიყვანება ყველა მოდულ-
თან და თითოეული მათგანი უერთდება ყველა დანარჩენს ან ზოგიერთ
მის ხაზს. თუ გამომთვლელი მანქანა კონსტრუქციულად რამდენიმე
დაფაზეა აგებული, მაშინ სალტის ყველა ხაზი გამოყვანილია გასარ-
თებზე, რომლებიც შემდეგ ერთიანდებიან სადენებით საერთო შასიზე.
უნივერსალური გამომთვლელი მანქანის სტანდარტიზებულ
სისტემურ სალტეებს შორის ყველაზე მეტად ცნობილია Unibus, Fastbus,
Futurebus, VME, NuBus, Multibus-II სალტეები. როგორც წესი, პერსონა-
ლურ კომპიუტერებს აგებენ ISA, ან ETSA ან MCA სტანდარტის სისტე-
მური სალტეების საფუძველზე.
82
ერთსალტიანი გამომთვლელი მანქანა
83
ყოფენ მონაცემეთა ბუფერიზაციას მათი გადაგზავნისას სისტემურ
სალტესა და შეტანა/გამოტანის მოწყობილობას შორის. ეს საშუალებას
აძლევს გამომთვლელ მანქანას მხარი დაუჭიროს შეტანა/გამოტანის
მრავალ მოწყობილობასთან მუშაობას და იმავე დროს განახორციელოს
ინფორმაციის გაცვლის პროცესი პროცესორი-მეხსიერება ტრაქტით და
ინფორმაციის გაცვლა შეტანა/გამოტანის მოწყობილობებთან.
84
შეტანა/გამოტანის მოწყობილობა. შეტანა/გამოტანის სხვა მოწყობილო-
ბები მიერთებულია SCSI Bus სალტეზე.
85
რება“. ეს სქემა კიდევ უფრო ამცირებს დატვირთვას სალტეზე „პროცე-
სორი-მეხსიერება“. სალტეთა ასეთ ორგანიზაციას „მინაშენიან“ არქი-
ტექტურას (mezzanine architecture) უწოდებენ.
პრიორიტეტების სქემები
86
დინამიურ პრიორიტეტიანი სისტემები თითოეულ მომთხოვნ
მოწყობილობას აძლევენ შანს ადრე თუ გვიან მიიღოს სალტის მარ-
თვის უფლება, ანუ ასეთ სისტემებში რეალიზებულია თანაბარი მიღწე-
ვადობის პრინციპი.
ყველაზე ფართო გავრცელება მოიპოვეს პრიორიტეტის დინამი-
ური ცვლილების შემდეგმა ალგორითმებმა:
- პრიორიტეტების მარტივი ციკლური ცვლა;
- პრიორიტეტების ციკლური ცვლა ბოლო მოთხოვნის გათვა-
ლისწინებით;
- პრიორიტეტების ცვლა შემთხვევითი კანონით;
- თანაბარი პრიორიტეტების სქემა;
- ყველაზე ძველი გამოყენების ალგორითმი.
პ რ ი ო რ ი ტ ე ტ ე ბ ი ს მ ა რ ტ ი ვ ი ც ი კ ლ უ რ ი ც ვ ლ ის
ალგორითმში არბიტრაჟის თითოეული ციკლის შემდეგ ყველა პრიო-
რიტეტი დაბლდება ერთი დონით, ამასთან მოწყობილობა, რომელსაც
ადრე პრიორიტეტის უდაბლესი დონე ჰქონდა, უმაღლეს პრიორიტეტს
ღებულობს.
ბოლო მოთხოვნის გათვალისწინებით პრიო-
რიტეტების ც ვ ლ ი ს სქემაში ყველა შესაძლო მოთხოვნა წესრი-
გდება ციკლური სიის შესაბამისად. მომდევნო მოთხოვნის დამუშავე-
ბის შემდეგ მომსახურებულ წამყვანს ენიჭება უდაბლესი დონის პრიო-
რიტეტი. სიაში შემდეგი მოწყობილობა იღებს უმაღლეს პრიორიტეტს,
ხოლო დანარჩენ მოწყობილობებს პრიორიტეტი ენიჭებათ დაღმავალი
რიგით (კლებადობით), ციკლურ სიაში მათი მიდევნების თანახმად.
პრიორიტეტების ციკლური ცვლის ორივე სქემაში თითოეული
წამყვანი უზრუნველყოფილია შანსით მიიღოს სალტე თავის განკარგუ-
ლებაში, თუმცა უფრო ფართო გავრცელება მოიპოვა მეორე ალგორით-
მმა.
შემთხვევითი კანონით პრიორიტეტების ცვ
ლ ი ს ა ს არბიტრაჟის მომდევნო ციკლის შემდეგ ფსევდო შემთხ-
87
ვევითი რიცხვების გენერატორის საშუალებით თითოეულ წამყვანს
ენიჭება პრიორიტეტის დონის შემთხვევითი მნიშვნელობა.
თანაბარი პრიორიტეტების ს ქ ე მ ა შ ი არბიტრ-
თან რამდენიმე მოთხოვნის მიწოდებისას თითოეულ მათგანს მომსა-
ხურების თანაბარი შანსი გააჩნია. შესაძლო კონფლიქტი არბიტრის
მიერ წყდება. ასეთი სქემა მიღებულია ასინქრონულ სისტემებში.
ყველაზე ა დ რ ე უ ლ ი (ძველი) გ ა მ ო ყ ე ნ ე ბ ი ს ალ-
გორითმში (LRU, Least Recently Used) არბიტრაჟის ყოველი ციკ-
ლის შემდეგ უმაღლესი პრიორიტეტი ენიჭება იმ წამყვანს, რომელსაც
სხვებზე დიდი ხნის განმავლობაში არ გამოუყენებია სალტე.
განხილულებს გარდა არსებობს პრიორიტეტების ცვლის რამდე-
ნიმე ალგორითმი, რომლებიც წმინდად დინამიურები არ არიან, ვინაი-
დან პრიორიტეტების ცვლა ხორციელდება არბიტრაჟის არა ყოველი
ციკლის შემდეგ. ასეთ ალგორითმებს მიეკუთვნებიან:
- რიგის ალგორითმი (პირველი მივიდა-პირველს მოემსახურ-
ნენ);
- ალგორითმი დროის ფიქსირებული ქვანტით.
რიგის ალგორითმში მოთხოვნების მომსახურება ხორ-
ციელდება არბიტრაჟის ციკლის დაწყების მომენტისათვის შექმნილი
რიგის მიხედვით. ჯერ ხდება რიგის პირველი მოთხოვნის მომსახურე-
ბა, ანუ სხვებზე ადრე მოსული მოთხოვნის. ალგორითმის აპარატურუ-
ლი რეალიზაცია დაკავშირებულია რიგ სირთულეებთან, ამიტომ ის
იშვიათად გამოიყენება.
დროის ფიქსირებული ქვანტის ალგორითმში
წამყვანს სალტის მიტაცებისათვის არბიტრაჟის ციკლის განმავლობაში
გამოყოფილი აქვს დროის განსაზღვრული ქვანტი. თუ ამ მომენტში
წამყვანს სალტე არ ესაჭიროება, მაშინ მასზე გამოყოფილი ქვანტი გამო-
უყენებელი რჩება. ასეთი მეთოდი ყველაზე მეტად გამოყენებადია სინ-
ქრონული პროტოკოლის მქონე სალტეებისათვის.
88
5. მ ე ხ ს ი ე რ ე ბ ა
89
განთავსების ადგილის მიხედვით გვაქვს პროცესო-
რული, შიგა და გარე მეხსიერების მოწყობილობები. მეხსიერების ყვე-
ლაზე სწრაფი სახეობები (რეგისტრები, პირველი დონის კეშ-მეხსიერე-
ბა) ჩვეულებრივ მოთავსებულნი არიან საერთო კრისტალზე პროცე-
სორთან ერთად, ხოლო საერთო დანიშნულების რეგისტრები საერთოდ
ითვლებიან ცენტრალური პროცესორის ნაწილად. მეორე ჯგუფს (შიგა
მეხსიერებას) ქმნიან მეხსიერების ის მოწყობილობები, რომლებიც მო-
თავსებულნი არიან სისტემურ პლატაზე. შიგა მეხსიერებას აკუთვნებენ
ძირითად მეხსიერებას, აგრეთვე მეორე და მომდევნო დონეების კეშ-
მეხსიერებას (მეორე დონის კეშ-მეხსიერება ასევე შეიძლება მოთავსე-
ბული იყოს პროცესორის კრისტალზე). დიდი ტევადობის ნელი მეხსი-
ერების მოწყობილობებს (მაგნიტური და ოპტიკური დისკები, მაგნი-
ტური ლენტები) ეძახიან გარე მეხსიერებას, ვინაიდან გამომთვლელი
მანქანის ბირთვს ისინი ერთვებიან შეტანა/გამოტანის მოწყობილობე-
ბის ანალოგიურად.
მეხსიერების მოწყობილობის ტ ე ვ ა დ ო ბ ა ს ახასიათებენ ბი-
ტების ან ბაიტების იმ რიცხვით, რომელიც შეიძლება ინახებოდეს მას-
ში. პრაქტიკაში გამოიყენება უფრო დიდი ერთეულები, ხოლო მათი
აღნიშვნისათვის „ბიტ“ ან „ბაიტ“ სიტყვებს წინსართებს უმატებენ: კი-
ლო, მეგა, გიგა, ტერა, პეტა, ეკზა. სტანდარტულად ეს წინსართები ნიშ-
ნავენ ძირითადი გაზომვის ერთეულის გამრავლებას შესაბამისად 103,
106, 109, 1012, 1015 და 1018-ზე.
მეხსიერების მოწყობილობის მნიშვნელოვან მახასიათებელს წარ-
მოადგენს გადაგზავნის ე რ თ ე უ ლ ი. ძირითადი მეხსიერე-
ბისათვის გადაგზავნის ერთეული განისაზღვრება მონაცემთა სალტის
სიფართით (სიგანით), ანუ სალტის ხაზებით პარალელურად გადაცე-
მული ბიტების რაოდენობით. ჩვეულებრივ გადაცემის ერთეული ტო-
ლია სიტყვის სიგრძის, მაგრამ არა აუცილებლად. გარე მეხსიერებისა-
თვის მონაცემები ხშირად გადაიცემიან სიტყვის ზომაზე მეტი ერთეუ-
ლებით და ასეთ ერთეულებს ბლოკებს ეძახიან.
90
სწრაფქმედების შეფასებისას აუცილებლადაა გასათვალისწინე-
ბელი მეხსიერების მოწყობილობის მოცემულ ტიპში გამოყენებულ მო-
ნაცემებთან წ ვ დ ო მ ი ს მ ე თ ო დ ი. ანსხვავებენ წვდომის ოთხ
ძირითად მეთოდს:
- მიმდევრობითი წ ვ დ ო მ ა. მეხსიერების მოწყობი-
ლობა მიმდევრობითი წვდომით ორიენტირებულია ინფორმაციის
შენახვაზე მონაცემთა ბლოკების თანმიმდევრობის სახით. მათ ჩანა-
წერებს ეძახიან. საჭიროა ელემენტთან მიღწევისათვის (სიტყვასთან ან
ბაიტთან) აუცილებელია წაკითხულ იქნას მის წინ გასული ყველა
მონაცემი. წვდომის დრო დამოკიდებულია საჭირო ჩანაწერის მდე-
ბარეობით ინფორმაციის მატარებელზე ჩანაწერთა თანმიმდევრობაში
და მოცემული ჩანაწერის შიგნით ელემენტის პოზიციაზე. ამის
მაგალითია მეხსიერების მოწყობილობა მაგნიტურ ლენტზე.
- პ ი რ დ ა პ ი რ ი წ ვ დ ო მ ა. ყოველ ჩანაწერს გააჩნია უნიკა-
ლური მისამართი, რომელიც ასახავს მის ფიზიკურ მდებარეობას ინ-
ფორმაციის მატარებელზე. მიმართვა ხორციელდება როგორც სამისა-
მართო წვდომა ჩანაწერის დასაწყისთან, შემდგომში მიმდევრობითი
მიღწევით ჩანაწერის შიგნით ინფორმაციის განსაზღვრულ ერთეულ-
თან. შედეგად გარკვეულ პოზიციასთან წვდომის დრო ცვლად სიდი-
დეს წარმოადგენს. ასეთი რეჟიმი მაგნიტური დისკებისთვისაა დამახ-
სოვრებული.
- ნ ე ბ ი ს მ ი ე რ ი წ ვ დ ო მ ა. მეხსიერების ყოველ უჯრედს გა-
აჩნია უნიკალური ფიზიკური მისამართი. ნებისმიერ უჯრედზე მიმარ-
თვას ესაჭიროება ერთი და იგივე დრო და შეიძლება სრულდებოდეს
ნებისმიერი რიგით. ამის მაგალითია ძირითადი მეხსიერების მოწყობი-
ლობა.
- ასოციატიური წ ვ დ ო მ ა. მიღწევის ეს სახე საშუალებას
იძლევა შესრულდეს უჯრედთა ძიება, რომლებიც შეიცავენ ისეთ ინ-
ფორმაციას, რომელშიც ცალკეული ბიტების მნიშვნელობა ემთხვევა
მოცემულ ნიმუშში იგივე სახელის მქონე ბიტების მდგომარეობას. შე-
დარება ხორციელდება პარალელურად მეხსიერების ყველა უჯრედი-
91
სათვის, დამოუკიდებლად მისი ტევადობისა. ასეთი პრინციპითაა აგე-
ბული კეშ-მეხსიერების ზოგიერთი ბლოკი.
მეხსიერების მოწყობილობის ს წ რ ა ფ ქ მ ე დ ე ბ ა არის მისი
ერთ-ერთი უმნიშვნელოვანესი მახასიათებელი. სწრაფქმედების რაო-
დენობრივი შეფასებისათვის ჩვეულებრივ სამ პარამეტრს იყენებენ.
- წ ვ დ ო მ ი ს დ რ ო (Тწ). მეხსიერებისათვის ნებისმიერი წვდო-
მით ის შეესაბამება დროის ინტერვალს მისამართის მოსვლის მომენტი-
დან იმ მომენტამდე, როცა მონაცემები შეაქვთ მეხსიერებაში ან მისაღ-
წევნი ხდებიან. მეხსიერების მოწყობილობაში ინფორმაციის მოძრავი
მატარებლით - ეს საჭირო პოზიციაში ჩაწერა/ წაკითხვის თავაკის (ან
მატარებლის) დაყენების დროა.
- მეხსიერების ციკლის ხ ა ნ გ რ ძ ლ ი ვ ო ბ ა ან მ ი-
მ ა რ თ ვ ი ს პ ე რ ი ო დ ი (Тც). ცნება გამოიყენება მეხსიერებისათვის
ნებისმიერი წვდომით, რომლისათვისაც ის ნიშნავს მინიმალურ დროს
მეხსიერებისადმი ორ მიმდევრობით მიმართვას შორის. მიმართვის პე-
რიოდი შედგება წვდომის დროისა და კიდევ რაღაც დამატებითი დრო-
ისაგან. დამატებითი დრო შეიძლება საჭირო იყოს ხაზებში სიგნალების
მილევისათვის, ხოლო ზოგიერთი ტიპის მეხსიერების მოწყობილობებ-
ში, რომლებშიც ინფორმაციის ამოკითხვა მის განადგურებას იწვევს, -
ამოკითხული ინფორმაციის აღდგენისათვის.
- გ ა დ ა ც ე მ ი ს ს ი ს წ რ ა ფ ე. ეს ის სისწრაფეა, რომლითაც
მონაცემები შეიძლება გადაეცემოდნენ მეხსიერებას ან პირიქით. მეხ-
სიერებისათვის ნებისმიერი შეღწევით ის - ს ტოლია სხვა სახის
ც
92
ვსაუბრობთ რა მეხსიერების მოწყობილობის ფ ი ზ ი კ უ რ
ტ ი პ ზ ე, აუცილებელია მოვიხსენიოთ მეხსიერების მოწყობილობის
სამი ყველაზე მეტად გავრცელებული ტექნოლოგია - ესაა მეხსიერება
ნახევარგამტარებზე, მეხსიერება ინფორმაციის მაგნიტურ მატარებელ-
ზე, გამოყენებული მაგნიტურ დისკებსა და ლენტებზე და მეხსიერება
ოპტიკურ მატარებელზე - ოპტიკური დისკები.
გამოყენებული ტექნოლოგიებისაგან დამოკიდებულებით საჭი-
როა გავითვალისწინოთ მეხსიერების მოწყობილობების რიგი ფი-
ზიკური თ ა ვ ი ს ე ბ უ რ ე ბ ე ბ ი, მაგალითად ენერგოდამოკიდე-
ბულება. ენერგოდამოკიდებულ მეხსიერებაში ინფორმაცია შეიძლება
დამახინჯდეს ან დაიკარგოს კვების წყაროს გათიშვისას. ენერგოდამო-
უკიდებელ მეხსიერების მოწყობილობებში ჩაწერილი ინფორმაცია არ
იშლება კვების წყაროს გათიშვის დროსაც კი. მაგნიტური და ოპტიკუ-
რი მეხსიერებები - ენერგოდამოუკიდებლებია. ნახევარგამტარული
მეხსიერება შეიძლება როგორც ენერგოდამოკიდებული, ისე ენერგოდა-
მოუკიდებელი იყოს მისი ტიპისაგან დამოკიდებულებით. ენერგოდა-
მოკიდებულების გარდა გათვალისწინებული უნდა იყოს ის გარემოება,
რომ ინფორმაციის ამოკითხვა იწვევს თუ არა მის განადგურებას.
მეხსიერების მოწყობილობის ღ ი რ ე ბ უ ლ ე ბ ა მიღებულია
შეფასდეს მეხსიერების მოწყობილობის საერთო ღირებულების ფარ-
დობით მას ტევადობასთან ბიტებში, ანუ ერთი ბიტი ინფორმაციის შე-
ნახვის ღირებულება.
93
სერიოზული ჩამორჩენის გამო. ამასთან ეს გარღვევა განუწყვეტლივ
იზრდება.
თუ გავაანალიზებთ დღეისათვის გამოყენებული მეხსიერების
მოწყობილობათა ტიპებს, შევამჩნევთ შემდეგ კანონზომიერებას:
- რაც უფრო ნაკლებია წვდომის დრო, მით უფრო მაღალია ბი-
ტის შენახვის ღირებულება;
- რაც მეტია ტევადობა, მით ნაკლებია ბიტის შენახვის ღირებუ-
ლება, მაგრამ მეტია წვდომის დრო.
მეხსიერების სისტემის შექმნისას ყოველთვის ხდება მისაღები
ფასით მოთხოვნილი ტევადობისა და მაღალი სწრაფქმედების უზრუნ-
ველყოფის ამოცანის გადაწყვეტა. აქ ყველაზე მეტად გავრცელებულ
მიდგომას წარმოადგენს გამომთვლელი მანქანის მეხსიერების სისტე-
მის იერარქიული პრინციპით აგება. ი ე რ ა რ ქ ი უ ლ ი მ ე ხ ს ი ე რ ე-
ბ ა შედგება სხვადასხვა ტიპის მეხსიერების მოწყობილობებისაგან
(ნახ. 5.1), რომლებსაც, მახასიათებლებისაგან დამოკიდებულებით,
აკუთვნებენ იერარქიის განსაზღვრულ დონეს. ყველაზე მაღალი დონე
ნაკლები ტევადობისაა, უფრო სწრაფია და გააჩნია მაღალი ღირებულე-
ბა ბიტზე გადაანგარიშებით, ვიდრე დაბალ დონეს. იერარქიის დონე-
ები ურთიერთდაკავშირებულია: ერთ დონეზე ყველა მონაცემი ასევე
შეიძლება მოძიებულ იქნან უფრო დაბალ დონეზე, და ყველა მონაცემი
ამ უფრო დაბალ დონეზე შეიძლება ნაპოვნი იყოს შემდეგ უფრო დაბალ
დონეზე და ა. შ.
იერარქიის ზედა ოთხი დონე ქმნის გამომთვლელი მანქანის შ ი-
გა მ ე ხ ს ი ე რ ე ბ ა ს, ხოლო ქვედა დონე - გ ა რ ე ან მ ე ო რ ა დ ი
მეხსიერებაა. იერარქიულ სტრუქტურაში ქვემოთ მოძრაობის მიხედ-
ვით:
1. მცირდება ფარდობა „ღირებულება/ბიტი“;
2. იზრდება ტევადობა;
3. იზრდება წვდომის დრო;
4. მცირდება ცენტრალური პროცესორის მხრიდან მეხსიერებაზე
მიმართვის სიხშირე.
94
ნახ. 5.1. დამახსოვრების მოწყობილობათა იერარქია
95
ყველაზე სწრაფი, მაგრამ ტევადობით მინიმალური მეხსიერების
ტიპია ცენტრალური პროცესორის რეგისტრები, რომლებსაც ზოგჯერ
აერთიანებენ ცნებით „ზ ე ო პ ე რ ა ტ ი უ ლ ი მ ე ხ ს ი - ე რ ე ბ ი ს
მ ო წ ყ ო ბ ი ლ ო ბ ა“. როგორც წესი, მასში რეგისტრების რაოდენობა
მცირეა, თუმცა არქიტექტურებში ბრძანებათა შემცირებული ნაკრებით
მათმა რიცხვმა შეიძლება რამდენიმე ასეულს მიაღწიოს. მნიშვნელოვ-
ნად დიდი ტევადობის ძირითადი მეხსიერება მოთავსებულია რამდე-
ნიმე დონით ქვემოთ. ცენტრალური პროცესორის რეგისტრებსა და ძი-
რითად მეხსიერებას შორის ხშირად ათავსებენ კეშ-მეხსიერებას, რომე-
ლიც ტევადობით შესამჩნევად აგებს ძირითად მეხსიერებასთან, მაგრამ
მნიშვნელოვნად უკეთესია ამ უკანასკნელზე სწრაფქმედებით. ის იგივე
პარამეტრით აგებს ზეოპერატიულ მეხსიერების მოწყობილობასთან.
თანამედროვე გამომთვლელი მანქანების უმრავლესობაში არის კეშ-
მეხსიერების რამდენიმე დონე, რომლებიც L ასოთი და კეშ-მეხსიერე-
ბის დონის ნომრით აღინიშნებიან. ნახ. 5.1-ზე მოყვანილია ორი ასეთი
დონე. ბოლო დამუშავებებში უფრო ხშირად მოჰყავთ კეშ-მეხსიერების
მესამე დონე (L3), ამასთან გამომთვლელი მანქანის დამმუშავებლები
საუბრობენ მეოთხე დონის - L4 შემოტანის მიზანშეწონილობის შესა-
ხებ. კეშ-მეხსიერების ყოველ მომდევნო დონეს აქვს უფრო დიდი ტევა-
დობა, მაგრამ ერთდროულად ნაკლები სწრაფქმედება წინამორბედთან
შედარებით. როგორც არ უნდა იყოს, სწრაფქმედებით კეშ-მეხსიერების
ნებისმიერი დონე აჭარბებს ძირითად მეხსიერებას. შიგა მეხსიერების
ყველა სახე რეალიზებულია ნახევარგამტარული ტექნოლოგიების სა-
ფუძველზე და ძირითადად ენერგოდამოკიდებულები არიან.
ინფორმაციის (პროგრამებისა და მონაცემების) დიდი მოცულო-
ბების ხანგრძლივი შენახვა უზრუნველყოფილია გარე მეხსიერების მო-
წყობილობებით, რომელთა შორის ყველაზე მეტადაა გავრცელებული
მეხსიერების მოწყობილობები მაგნიტური და ოპტიკური დისკების სა-
ფუძველზე, აგრეთვე მაგნიტოლენტური მეხსიერების მოწყობილობები.
და ბოლოს, იერარქიის კიდევ ერთი დონე შეიძლება იქნეს დამა-
ტებული ძირითად მეხსიერებასა და დისკებს შორის. ამ დონეს დისკუ-
96
რი კეშ-მეხსიერება ჰქვია. ის რეალიზდება დამოუკიდებელი მეხსიერე-
ბის მოწყობილობის სახით და შედის მაგნიტური დისკის შემადგენ-
ლობაში. დისკური კეშ-მეხსიერება მნიშვნელოვნად აუმჯობესებს წარ-
მადობას დისკსა და ძირითად მეხსიერებას შორის ინფორმაციის გაც-
ვლის დროს.
იერარქია შეიძლება შევსებულ იქნას მეხსიერების სხვა სახეებით.
ასე მაგალითად, ფირმა IBM- ის გამომთვლელი მანქანის ზოგიერთი
მოდელი შეიცავს ე. წ. გაფართოებულ მეხსიერებას (expanded storage),
შესრულებულს ნახევარგამტარული ტექნოლოგიის საფუძველზე,
ოღონდ ძირითად მეხსიერებასთან შედარებით გააჩნია ნაკლები სწრაფ-
ქმედება და ღირებულება. მკაცრად რომ ვიმსჯელოთ, მეხსიერების ეს
სახე არ შედის იერარქიაში, არამედ წარმოადგენს მისგან განშტოებას,
ვინაიდან მონაცემები შეიძლება გადაცემულ იქნან მხოლოდ გაფართო-
ებულ და ძირითად მეხსიერებას შორის, მაგრამ დაუშვებელია გაცვლა
გაფართოებულსა და გარე მეხსიერებას შორის.
97
გორც უჯრედთა მასივი, ხოლო „ნებისმიერი წვდომა“ ნიშნავს, რომ ნე-
ბისმიერ უჯრედზე მიმართვას ერთი და იგივე დრო სჭირდება და შე-
იძლება ნებისმიერი თანმიმდევრობით შესრულდეს. თითოეული უჯ-
რედი შეიცავს დამახსოვრების ელემენტების ფიქსირებულ რიცხვს და
უნიკალური მისამართი გააჩნია, რომლის საშუალებითაც ხორციელ-
დება უჯრედის გარჩევა ჩაწერის ან წაკითხვის ოპერაციების შესასრუ-
ლებლად მათზე მიმართვის დროს.
ნახევრადგამტარული ტექნოლოგიების სფეროში მიღწეული
უდიდესი წარმატების შედეგია ძირითადი მეხსიერების ელემენტური
ბაზის შეცვლა. ფერომაგნიტური რგოლების საფუძველზე აგებული
მეხსიერების მოწყობილობები ყველგან ნახევარგამტარული მიკროსქე-
მებით შეიცვალა.
ძირითადი მეხსიერება შეიძლება შედგებოდეს ორი ტიპის მო-
წყობილობებისაგან: ო პ ე რ ა ტ ი უ ლ ი მ ე ხ ს ი ე რ ე ბ ი ს მ ო წ ყ ო-
ბ ი ლ ო ბ ე ბ ი ს ა გ ა ნ და მ უ დ მ ი ვ ი მეხსიერების მო-
წ ყ ო ბ ი ლ ო ბ ი ს ა გ ა ნ.
ძირითადი მეხსიერების უდიდეს ნაწილს ოპერატიული მეხსიე-
რების მოწყობილობა წარმოადგენს, რომელსაც ოპერატიული იმიტომ
ჰქვია, რომ ის უშვებს ინფორმაციის როგორც ჩაწერას, ისე წაკითხვას.
ამასთან ორივე ოპერაცია სრულდება ერთტიპიურად (ერთნაირად),
პრაქტიკულად ერთი და იგივეა სიჩქარით და ხორციელდება ელექ-
ტრული სიგნალების დახმარებით. ინგლისურ ენოვან ლიტერატურაში
ოპერატიულ მეხსიერების მოწყობილობას შეესაბამება აბრევიატურა
RAM –Random Access Memory, ანუ „მეხსიერება ნებისმიერი წვდომით“,
რაც სულ მთლად კორექტული არაა, ვინაიდან მუდმივი მეხსიერების
მოწყობილობაც და პროცესორის რეგისტრებიც წარმოადგენენ მეხსიე-
რებას ნებისმიერი წვდომით. ნახევარგამტარული ოპერატიული მეხსი-
ერების მოწყობილობების უმრავლესობისათვის დამახასიათებელია
ენერგოდამოკიდებულება - კვების ხანმოკლე შეწყვეტის დროსაც კი
ინფორმაცია იკარგება. ოპერატიული მეხსიერების მოწყობილობის მიკ-
98
როსქემა მუდმივად უნდა იყოს მიერთებული კვების წყაროსთან და
ამიტომ შეიძლება გამოიყენებოდეს, როგორც დროებითი მეხსიერება.
ძირითადი მეხსიერების ნახევარგამტარული მეხსიერების მო-
წყობილობების მეორე ჯგუფს ქმნიან მუდმივი მეხსიერების მოწყობი-
ლობების ენერგოდამოკიდებული მიკროსქემები (ROM – Rend – Only
Memory). მუდმივი მეხსიერების მოწყობილობა უზრუნველყოფს ინ-
ფორმაციის წაკითხვას, მაგრამ არ უშვებს მის შეცვლას.
99
ა)
ბ)
100
მოიყოფა ყველაზე დიდ მისამართებიანი მეხსიერების უბანი, ხოლო
სტეკი ფართოვდება მისამართების შემცირების მიმართულებით. ვინაი-
დან ჩვეულებრივ პროგრამა იტვირთება მცირე მისამართებიდან და-
წყებული, ამიტომ ასეთი ხერხი ბევრ შემთხვევაში საშუალებას იძლევა
აცილებულ იქნას პროგრამისა და სტეკის ზონების გადაფარვა. სტეკის
დამისამართება უზრუნველყოფილია სპეციალური რეგისტრით - ს ტ ე-
კის მ ა ჩ ვ ე ნ ე ბ ლ ი თ (SP – Stack pointer), რომელშიც წინასწარ
თავსდება სტეკისათვის გამოყოფილი ძირითადი მეხსიერების ზონის
უდიდესი მისამართი (ნახ. 5.2,ბ).
სტეკში მომდევნო ელემენტის შეტანისას ჯერ ხდება სტეკის მაჩ-
ვენებლის შემცველობის ერთი ერთეულით შემცირება, რომელიც შემ-
დეგ გამოიყენება იმ უჯრედზე მისამართავად, სადაც ხდება ჩაწერა. ანუ
სტეკის მაჩვენებელი ინახავს იმ უჯრედის მისამართს, რომელზეც იყო
განხორციელებული ბოლო მიმართვა.
სტეკიდან სიტყვის ამოკითხვისას ამ სიტყვის მისამართად იღება
სტეკის მაჩვენებლის მიმდინარე შემცველობა, ხოლო სიტყვის ამოღების
შემდეგ, სტეკის მაჩვენებლის შემცველობა ერთი ერთეულით იზრდება.
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
ასოციაციური ნიშნის მაქსიმალური ან მინიმალური მნიშვნელობით
(შემდგომი ძიებიდან მისი გამორიცხვით) არსებითად წარმოადგენს ინ-
ფორმაციის მოწესრიგებულ ამორჩევას. მოწესრიგებული ამორჩევა
(ამონაკრები) შეიძლება სხვა ხერხითაც იყოს უზრუნველყოფილი, თუ
მოვძებნით ისეთ სიტყვებს, რომელთა ასოციაციური ნიშანი გამოკითხ-
ვის ნიშანთან მიმართებაში არის უახლესი დიდი ან მცირე მნიშვნელო-
ბა.
106
იძლევა სიტყვები ისეთი ნიშნებით, რომლებიც იმყოფებიან მოცემული
საზღვრების შიგნით ან გარეთ.
ცხადია, რომ ძიების რთული მეთოდების რეალიზაცია დაკავში-
რებულია ასოციაციური დამახსოვრების მოწყობილობის არქიტექტუ-
რაში შესაბამისი ცვლილებებით, კერძოდ დამახსოვრების მოწყობილო-
ბის სქემის გართულებით და მასში დამატებითი ლოგიკის შეტანით.
ასოციაციური დამახსოვრების მოწყობილობის აგების დროს არ-
ჩევანს აკეთებენ მეხსიერების შემცველობის გამოკითხვის ორგანიზა-
ციის ოთხ ვარიანტს შორის ( ნახ. 5.5). ეს ვარიანტები შეიძლება კომბი-
ნირდებოდნენ პარალელურად თანრიგთა ჯგუფის მიხედვით და მიმ-
დევრობით ჯგუფების მიხედვით. ძიების დროის მხრივ ყველაზე ეფექ-
ტურად შეიძლება ჩაითვალოს პარალელური გამოკითხვა როგორც სი-
ტყვების, ისე თანრიგების მიხედვით, მაგრამ დამამახსოვრებელ ელე-
მენტთა არა ყველა სახე უშვებს ასეთ შესაძლებლობას.
მნიშვნელოვან მომენტს წარმოადგენს ასოციაციური დამახსოვ-
რების მოწყობილობიდან ინფორმაციის ამოკითხვის ორგანიზაცია,
როცა ძიების ნიშანს ემთხვევიან რამდენიმე სიტყვის ასოციაციური ნიშ-
ნები. ამ შემთხვევაში გამოიყენება ორიდან ერთი მიდგომა (ნახ. 5.6):
რიგობითი მწკრივი რეალიზებულია საკმაოდ რთული მოწყო-
ბილობით, რომელშიც ფიქსირდებიან მრავალმნიშვნელოვანი პასუხის
შემქმნელი სიტყვები. რიგითობის მწკრივი (ჯაჭვი) საშუალებას იძლევა
მოხდეს სიტყვების ამოკითხვა ასოციაციური დამახსოვრების მოწყობი-
ლობის უჯრედის ნომრის ზრდის მიხედვით ასოციაციური ნიშნების
სიდიდისაგან დამოუკიდებლად.
მრავალმნიშვნელოვანი ხერხის დროს ამორჩევა ხორციელდება
გამოკითხვათა სერიის შედეგებით. გამოკითხვათა სერია შეიძლება
ფორმირდებოდეს იმ თანრიგთა მოწესრიგების გზით, რომლებიც შე-
ნიღბულები იყვნენ და არ მონაწილეობდნენ ძიების ნიშანში. მეორე
ვარიანტში ამ მიზნებისათვის გამოიყოფიან სპეციალური უჯრედები.
არსებობს ალგორითმთა მთელი რიგი, რომლებიც ახორციელებენ ასო-
107
ციაციური დამახსოვრების მოწყობილობიდან მოწესრიგებული ამონაკ-
რეფის ამოღების ორგანიზაციას.
108
ასოციაციური დამახსოვრების მოწყობილობის არქიტექტურაში
მნიშვნელოვანი განსხვავებები შეიძლება დაკავშირებულნი იყვნენ ინ-
ფორმაციის ჩაწერის ამორჩეულ პრინციპთან. ზემოთ აღწერილი იყო
უმცირესი ნომრის მქონე თავისუფალ უჯრედში ჩაწერის ვარიანტი.
პრაქტიკაში გამოიყენება სხვა ხერხებიც (ნახ. 5.7), რომელთაგან ყველა-
ზე რთულია - ჩაწერა ასოციაციური დამახსოვრების მოწყობილობის
შესასვლელზე ინფორმაციის ნიშნის სიდიდის მიხედვით დახარისხე-
ბით. აქ იმ უჯრედის ადგილმდებარეობა, რომელშიც უნდა მოთავსდეს
109
5.6. კეშ - მეხსიერება
110
შესაფარი, სამალავი), ვინაიდან ასეთი მეხსიერება ჩვეულებრივ დაფა-
რულია პროგრამისტისაგან იმ აზრით, რომ მას არ შეუძლია მისი დამი-
სამართება და შეიძლება საერთოდ არ იცოდეს მისი არსებობის შესახებ.
პირველად კეშ - სისტემები გამოჩნდნენ IBM 360 ოჯახის 85 მოდელის
მანქანებში.
საერთო სახით კეშ-მეხსიერების გამოყენება განვმარტოთ შემდე-
გი სახით. როცა ცენტრალური პროცესორი ცდილობს ძირითადი მეხ-
სიერებიდან სიტყვის წაკითხვას, ჯერ ხორციელდება ამ სიტყვის ასლის
მოძიება კეშში. თუ ასეთი ასლი არსებობს, მაშინ ძირითად მეხსიერება-
ზე მიმართვა არ წარმოებს, ხოლო ცენტრალურ პროცესორში გადაიცემა
კეშ-მეხსიერებიდან ამოღებული სიტყვა. მიღებულია მოცემულ სიტუა-
ციას უწოდონ წარმატებული მიმართვა ან მ ო ხ -ვ ე დ რ ა (hit). კეშში
სიტყვის არ არსებობისას, ანუ არა წარმატებული მიმართვის დროს -
აცილებისას (miss), - საჭირო სიტყვა ცენტრალურ პროცესორში
გადაიცემა ძირითადი მეხსიერებიდან, მაგრამ ერთდროულად ძირითა-
დი მეხსიერებიდან კეშ- მეხსიერებაში გადაიცემა მონაცემთა ბლოკი,
რომელიც ამ სიტყვას შეიცავს.
ნახ. 5.8-ზე მოყვანილია სისტემის სტრუქტურა ძირითადი და კეშ-
მეხსიერებით. ძირითადი მეხსიერება შესდგება 2n დამისამართებული
სიტყვისაგან, სადაც თითოეულ სიტყვას გააჩნია უნიკალური n -
თანრიგიანი მისამართი. კეშთან ურთიერთქმედებისას ეს მეხსიერება
განიხილება როგორც ფიქსირებული სიგრძის M ბლოკი თითოეულში
K სიტყვით (M=2n/K). კეშ- მეხსიერება შესდგება ანალოგიური ზომის C
ბლოკისაგან (კეშ-მეხსიერებაში ბლოკებს მიღებულია სტრიქონებ
ი ვუწოდოთ), ამასთან მათი რაოდენობა მნიშვნელოვნად ნაკლებია
ძირითად მეხსიერებაში ბლოკების რაოდენობაზე (C < < M). ძირითადი
მეხსიერების რომელიმე ბლოკიდან სიტყვის ამოკითხვისას ეს ბლოკი
კოპირდება კეშის ერთ-ერთ სტრიქონში. ვინაიდან ძირითადი მეხსიე-
რების ბლოკების რაოდენობა მეტია სტრიქონების რაოდენობაზე, ამი-
ტომ დამოუკიდებელი სტრიქონი არ შეიძლება მუდმივად იყოს გამო-
ყოფილი ძირითადი მეხსიერების ერთი და იგივე ბლოკისათვის. ამ
111
ნახ. 5.8. სისტემის სტრუქტურა ძირითადი და კეშ-მეხსიერებით
112
მიზეზით კეშ-მეხსიერების თითოეულ სტრიქონს შეესაბამება ტეგი
(ნიშანი), რომელიც შეიცავს ცნობებს იმის შესახებ, თუ ძირითადი მეხ-
სიერების რომელი ბლოკის ასლი ინახება მოცემულ მომენტში მოცე-
მულ სტრიქონში. ტეგად ჩვეულებრივ გამოიყენება ძირითადი მეხსიე-
რების მისამართის ნაწილი.
მეხსიერების იერარქიულ სისტემაში კეშ-მეხსიერების ეფექტურ
გამოყენებაზე მოქმედებს მომენტების მთელი რიგი. მათგან ყველაზე
მნიშვნელოვნებს შეიძლება მივაკუთვნოთ:
- კეშ-მეხსიერების მოცულობა;
- სტრიქონის ზომა;
- ძირითადი მეხსიერების კეშ-მეხსიერებაზე ასახვის ხერხი;
- შევსებულ კეშ-მეხსიერებაში ინფორმაციის შენაცვლების ალ-
გორითმი;
- კეშ-მეხსიერების დონეთა რიცხვი.
113
მსგავსი მიდგომის სირთულე იმაში მდგომარეობს, რომ ძირითად მეხ-
სიერებაზე და გარე დამახსოვრების მოწყობილობაზე მიმართვის პრო-
ცესები მნიშვნელოვნად განსხვავდებიან, და ეს ართულებს პროგრამის-
ტის ამოცანას. ასეთი სიტუაციიდან გამოსავალი გახდა 1959 წელს
ვირტუალური მეხსიერების იდეის გაჩენა. მის ქვეშ ესმით
იერარქიული მეხსიერების ავტომატური მართვის მეთოდი, როდესაც
პროგრამისტს ეჩვენება, რომ მას საქმე აქვს დიდი მოცულობისა და მა-
ღალი სრაფქმედების ერთიან მეხსიერებასთან. ამ მეხსიერებას ვირტუა-
ლურს (მოჩვენებითს) უწოდებენ. თავისი არსით მეხსიერების გავირ-
ტუალება იერარქიული მეხსიერების კონცეფციის აპარატურული და
პროგრამული რეალიზაციის ხერხს წარმოადგენს.
ვირტუალური მეხსიერების იდეის ჩარჩოებში ძირითადი მეხსი-
ერება განიხილება როგორც N მისამართის წრფივი არე, წოდებული
მეხსიერების ფ ი ზ ი კ უ რ ა რ ე დ. იმ ამოცანებისათვის, რომლებსაც
N უჯრედზე მეტი ესაჭიროებათ, გამოიყოფა მისამართების მნიშვნე-
ლოვნად უფრო დიდი არე (ჩვეულებრივ ყველა სახის მეხსიერების სა-
ერთო მოცულობის ტოლი), წოდებული ვირტუალურ ა რ ე დ,
ზოგად შემთხვევაში არა აუცილებლად წრფივი. ვირტუალური არის
მისამართებს ვ ი რ ტ უ ა ლ უ რ ე ბ ს ეძახიან, ხოლო ფიზიკური არის
მისამართებს - ფ ი ზ ი კ უ რ ე ბ ს. პროგრამა იწერება ვირტუალურ მი-
სამართებში, ვინაიდან მისი შესრულებისათვის საჭიროა, რომ დასამუ-
შავებელი ბრძანებები და მონაცემები იმყოფებოდნენ ძირითად მეხსიე-
რებაში, ამიტომ მოთხოვნილია, რომ თითოეულ ვირტუალურ მისა-
მართს შეესაბამებოდეს ფიზიკური. ამრიგად, გამოთვლების პროცესში
უპირველესად საჭიროა გარე დამახსოვრების მოწყობილობიდან ძირი-
თად მეხსიერებაში ინფორმაციის იმ ნაწილის გადაწერა, რომელზეც მი-
უთითებს ვირტუალური მისამართი (ვირტუალური არის ფიზიკურად
ასახვა), რის შემდეგაც საჭიროა ვირტუალური მისამართის ფიზიკურში
გარდაქმნა (ნახ. 5.9).
ვირტუალური მეხსიერების სისტემაში შეიძლება ორი კლასის
გამოყოფა: სისტემები ბლოკების ფიქსირებული ზომებით (გვერდებით
114
ორგანიზაცია) და სისტემები ბლოკების ცვლადი ზომებით (სეგმენტუ-
რი ორგანიზაცია). ჩვეულებრივ ორივე ვარიანტს ათანხმებენ (სეგმენ-
ტურ - გვერდებითი ორგანიზაცია).
115
6. მართვის მოწყობილობები
116
მეოთხე ეტაპზე სრულდება მიზნის ფუნქცია - ო პ ე რ ა ნ დ ი ს ა მ
ორჩევა მეხსიერებიდან წინა ეტაპზე ფორმირებული შემსრულე-
ბელი მისამართით.
და ბოლოს, მანქანური ციკლის ბოლო ეტაპზე მოქმედებას უთი-
თებს მიზნის ფუნქცია - ო პ ე რ ა ც ი ი ს შ ე ს რ უ ლ ე ბ ა. ცხადია, რომ
ამ ფუნქციის მოდიფიკაციათა რაოდენობა ტოლია გამომთვლელი
მანქანის ბრძანებათა სისტემაში არსებული ოპერაციების რაოდენობის.
მიზნის ფუნქციათა მიმდევრობის რიგი მთლიანად განსაზღვ-
რავს მართვის მოწყობილობისა და მთლიანად მთელი გამომთვლელი
მანქანის მუშაობის დინამიკას.
117
ნახ. 6.1. მართვის მოწყობილობის მოდელი
118
რომლებიც უზრუნველყოფენ მართვის მოწყობილობისათვის წყვეტებ-
ზე მოთხოვნების, დადასტურებების და ა. შ. გადაცემას.
- თავის მხრივ მართვის მოწყობილობა, უფრო ზუსტად კი მიკ-
როპროგრამული ავტომატი, ქმნის შემდეგ გამოსასვლელ ინფორმაციას:
-მართვის შიგა ს ი გ ნ ა ლ ე ბ ი - ეს სიგნალები ზემოქმე-
დებენ ცენტრალური პროცესორის შიგა სქემებზე და მიეკუთვნებიან
ორიდან ერთ-ერთ ტიპს: იმათ, რომლებიც იწვევენ მონაცემების გადა-
ადგილებას რეგისტრიდან რეგისტრში, და იმათ, რომლებიც ახორცი-
ელებენ გამომთვლელი მანქანის ოპერაციული მოწყობილობის განსა-
ზღვრული ფუნქციების ი ნ ი ც ი რ ე ბ ა ს ;
-სიგნალები სისტემური ს ა ლ ტ ი ს კ ე ნ - აგრეთვე
მიეკუთვნებიან ორიდან ერთ-ერთ ტიპს: მმართველი სიგნალები მეხსი-
ერებისაკენ და მმართველი სიგნალები შეტანა/გამოტანის მოდულის-
კენ.
119
მანქანური ციკლის შემადგენლობას და რეალიზაციის რიგს, მიღებუ-
ლია ვუწოდოთ მ ი კ რ ო პ რ ო გ რ ა მ ა. მართვის სიგნალები გამომუ-
შავდებიან მართვის მოწყობილობით, უფრო ზუსტად კი მისი ერთ-ერ-
თი კვანძით - მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ა ვ ტ ო მ ა ტ ი თ. სახელ-
წოდება ასახავს იმას, რომ მიკროპროგრამული ავტომატი განსაზღვრავს
მიკროპროგრამას როგორც მიკროოპერაციათა შესრულების თანმიმ-
დევრობას.
ზემოთ ჩამოთვლილი მიზნის ფუნქციების რეალიზაციის მიკრო-
პროგრამები ინიცირდებიან (იქმნებიან) დ ა ვ ა ლ ე ბ ი ს მ ი მ ც ე მ ი
(წარმმართველი) მ ო წ ყ ო ბ ი ლ ო ბ ი თ, რომელიც გამოიმუშავებს
მართვის სიგნალების მოთხოვნილ თანმიმდევრობას და შედის მარ-
თვის მოწყობილობის მმართველი ნაწილის შემადგენლობაში.
მიკროპროგრამები სრულდებიან შ ე მ ს რ უ ლ ე ბ ე ლ ი მ ო-
წ ყ ო ბ ი ლ ო ბ ი თ, რომელიც შედის ძირითადი მეხსიერების და
ოპერაციული მოწყობილობის შემადგენლობაში. მომდევნო ბრძანების
მისამართის ფორმირებისა და ოპერაციათა შესრულების მიზნის ფუნქ-
ციებისათვის შემსრულებული მოწყობილობის როლს ასრულებს მარ-
თვის მოწყობილობის სამისამართო ნაწილი. მართვის მოწყობილობის
განზოგადებულ სტრუქტურაში (ნახ. 6.2) შეიძლება გამოვყოთ ორი ნა-
წილი: მმართველი და სამისამართო.
მართვის მოწყობილობის მმართველი ნაწილის დანიშნულებაა
გამომთვლელი მანქანის ოპერაციული ბლოკის, მართვის მოწყობილო-
ბის სამისამართო ნაწილის, ძირითადი მეხსიერების და გამომთვლელი
მანქანის სხვა კვანძების მუშაობის კოორდინაცია.
მართვის მოწყობილობის სამისამართო ნაწილი უზრუნველყოფს
ძირითადი მეხსიერების ბრძანების მისამართების და ოპერანდების
შემსრულებელი მისამართების ფორმირებას.
მართვის მოწყობილობის მმართველ ნაწილში შედიან:
- ბრძანების რეგისტრი, რომელიც შედგება სამისამართო და
ოპერაციული ნაწილებისაგან;
- მიკროპროგრამული ავტომატი;
120
121
- წყვეტებისა და პრიორიტეტების კვანძი.
ბრძანების რეგისტრის დანიშნულებაა მეხსიერების
მოწყობილობიდან მომდევნო ბრძანების მიღება. მიკროპროგრამული
ავტომატი ბრძანების ოპერაციული ნაწილის გაშიფრის შედეგების სა-
ფუძველზე გამოიმუშავებს მიკრობრძანებათა განსაზღვრულ თანმიმ-
დევრობას, რომლებიც იწვევენ მართვის მოწყობილობის ყველა მიზნის
ფუნქციის შესრულებას.
მიკრობრძანებების ფორმირების ხერხისგან დამოკიდებულებით
გვაქვს შემდეგი მ ი კ რ ო პ რ ო გ რ ა მ უ ლ ი ავტომატები:
- ხისტი ანუ აპარატურული ლოგიკით;
- პროგრამირებადი ლოგიკით.
წყვეტებისა და პრიორიტეტების კ ვ ა ნ ძ ი ს სა-
შუალებით ხორციელდება რეაგირება სხვადასხვა სიტუაციებზე, რომ-
ლებიც დაკავშირებულნი არიან როგორც მუშა პროგრამების შესრულე-
ბასთან, ისე გამომთვლელი მანქანის მდგომარეობასთან.
მართვის მოწყობილობის სამისამართო ნაწილი შედგება:
- მართვის მოწყობილობის ოპერაციული კვანძისაგან;
- მისამართის რეგისტრისაგან;
- ბრძანებების მთვლელისაგან.
მისამართის რეგისტრი გამოიყენება ოპერანდების
შემსრულებელი მისამართების შენახვისათვის, ხოლო ბ რ ძ ა ნ ე ბ ა -
თა მთვლელი - ბრძანების მისამართების გამომუშავებისა და
შენახვისათვის. მისამართის რეგისტრისა და ბრძანებათა მთვლელის
შემცველობა იგზავნება ძირითადი მეხსიერების მისამართის რეგისტ-
რში შესაბამისად ოპერანდებისა და ბრძანებების გამოსამუშავებლად.
მართვის მ ო წ ყ ო ბ ი ლ ო ბ ი ს ო პ ე რ ა ც ი უ ლ ი კ ვ ა ნ ძ ი,
რომელსაც სხვაგვარად ინდექსური არითმეტიკის კვანძს ან სამისამარ-
თო კვანძს ეძახიან, ამუშავებს ბრძანებების სამისამართო ნაწილებს,
აფორმირებს ოპერანდების შემსრულებელ მისამართებს, აგრეთვე ამ-
ზადებს მომდევნო ბრძანების მისამართს გადასვლის ბრძანების შესრუ-
ლების დროს. მართვის მოწყობილობის ოპერაციული კვანძის შემად-
122
გენლობა შეიძლება ანალოგიური იყოს გამომთვლელი მანქანის ძირი-
თადი ოპერაციული მოწყობილობის შემადგენლობის (ზოგჯერ უმარ-
ტივეს გამომთვლელ მანქანებში მოწყობილობებზე დანახარჯების ეკო-
ნომიის მიზნით მართვის მოწყობილობის ოპერაციული კვანძი შეთავ-
სებულია ძირითად ოპერაციულ მოწყობილობასთან.)
მართვის მოწყობილობაში შეიძლება აგრეთვე შედიოდნენ და-
მატებითი კვანძები, კერძოდ მეხსიერებასთან პირდაპირი შეღწევის
(მიღწევის) ორგანიზაციის კვანძი. ჩვეულებრივ ეს კვანძი მზადდება
დამოუკიდებელი მოწყობილობის - მეხსიერებასთან პირდაპირი შეღ-
წევის კონტროლერის სახით. ის უზრუნველყოფს ოპერაციული მო-
წყობილობის მუშაობის დროში შეთავსებას ძირითად მეხსიერებასა და
გამომთვლელი მანქანის სხვა მოწყობილობებს შორის ინფორმაციის
გაცვლის პროცესთან, რითიც ზრდის მანქანის საერთო წარმადობას.
საკმაოდ ხშირად მართვის მოწყობილობის სხვადასხვა კვანძების
რეგისტრებს აერთიანებენ მართვის მოწყობილობის მმართველ (სპეცია-
ლურ) რეგისტრთა დამოუკიდებელ კვანძად.
123
7. გამომთვლელი მანქანების ოპერაციული
მოწყობილობები
124
რიცხვა ოპერაციული მოწყობილობებს და ოპერაციული მოწყობილო-
ბებს რიცხვების დასამუშავებლად მცურავი მძიმის ფორმატში.
მინიმალურ ვარიანტში არითმეტიკულ-ლოგიკური მოწყობილო-
ბა უნდა შეიცავდეს აპარატურას, რომლის საშუალებითაც განხორცი-
ელდება მხოლოდ ძირითადი ლოგიკური ოპერაციები, ძვრები, აგრეთ-
ვე ფიქსირებული მძიმის ფორმაში რიცხვების შეკრება და გამოკლება.
ამ ნაკრებზე დაყრდნობით შეიძლება პროგრამული ხერხით ვუზრუნ-
ველყოთ დანარჩენი არითმეტიკული და ლოგიკური ოპერაციების შეს-
რულება როგორც რიცხვებისათვის ფიქსირებული მძიმით, ისე ინფორ-
მაციის წარმოდგენის სხვა ფორმებისათვის. ოღონდ საჭიროა გავითვა-
ლისწინოთ, რომ მსგავსი ვარიანტი არ იძლევა გამოთვლების მაღალი
125
სისწრაფის მიღწევის საშუალებას, ამიტომ ტექნოლოგიური შესაძლებ-
ლობების გაფართოებისას არითმეტიკულ-ლოგიკურ მოწყობილობის
შემადგენლობაში აპარატურული საშუალებების წილი მუდმივად იზ-
რდება.
ნახ. 7.1-ზე მოტანილია გამოთვლითი ტექნიკის ელემენტური ბა-
ზის განვითარებასთან ერთად არითმეტიკულ-ლოგიკური მოწყობი-
ლობის ფუნქციების აპარატურულ და პროგრამულ რეალიზაციებს შო-
რის ფარდობის ცვლილების დინამიკა. აქ იგულისხმება, რომ ვერტიკა-
ლურ ღერძზე აითვლება კალენდარული დრო.
126
ფუნქციის ყოველი ელემენტის შეცვლით სტრუქტურული ბაზისის შე-
საბამისი ელემენტით. კანონიკურ სტრუქტურას სხვა ვარიანტებთან შე-
დარებით გააჩნია მაქსიმალური წარმადობა, ოღონდ მასში მოწყობი-
ლობათა სიჭარბეა. პრაქტიკული პოზიციებიდან გამომდინარე დიდ ინ-
ტერესს იწვევს ოპერაციული მოწყობილობების სტრუქტურათა სხვა
ორი სახე: ხისტი და მაგისტრალური.
127
ნახ. 7.2. ოპერაციული მოწყობილობა ხისტი სტრუქტურით
128
კომბინირებული ამჯამავის დანიშნულებაა მის მარცხენა (მარცხ.
ამჯ.) და მარჯვენა (მარჯ. ამჯ.) შესასვლელებზე მოსული ოპერანდების
აჯამვა (ჩვეულებრივ ან 2-ის მოდულით). აჯამვის შედეგი შედის ამჯა-
მავის რეგისტრში: ამჯ. რ : = მარცხ. ამჯ. + მარჯ. ამჯ. (მართვის G2 ამჯ. რ
სიგნალით) ან ამჯ. რ : = მარცხ. ამჯ.⨁ მარჯ. ამჯ. (მართვის (G2 М2 ამჯ.
რ სიგნალით).
ხისტი სტრუქტურის მქონე ოპერაციული მოწყობილობის მო-
დელს წარმოადგენს ე. წ. I ავტომატი.
ხისტი სტრუქტურის მქონე ოპერაციული მოწყობილობის უპი-
რატესობას მაღალი სწრაფქმედება წარმოადგენს, ხოლო ნაკლს-სტრუქ-
ტურის მცირე რეგულარობა, რაც ართულებს ასეთი ოპერაციული მო-
წყობილობების დამზადებას დიდი ინტეგრალური სქემების სახით.
129
ნახ. 7.3. მაგისტრალური ოპერაციული მოწყობილობა
130
ტულ რეგისტრში. დემულტიპლექსორი წარმოადგენს მართვად კომუ-
ტატორს, რომელსაც აქვს ერთი ინფორმაციული შესასვლელი და N ინ-
ფორმაციული გამოსასვლელი. შესასვლელი უერთდება მოცემული С
მისამართის მქონე გამოსასვლელს, რომელიც ეწოდება (მისამართი)
DМХ С-ს სამისამართო შესასვლელებს მართვის მოწყობილობიდან.
მაგისტრალურ სტრუქტურიანი ოპერაციული მოწყობილობის
მოდელს წარმოადგენს М-ავტომატი. М-ავტომატი ეწოდება ოპერაცი-
ული მოწყობილობის მოდელს, აგებულს კომბინაციური სქემების გაერ-
თიანების პრინციპის საფუძველზე და რომელიც ყოველ ტაქტზე ახორ-
ციელებს მხოლოდ ერთ მიკრო ოპერაციას.
მაგისტრალური ოპერაციული მოწყობილობის ძირითად ღირსე-
ბას წარმოადგენს მაღალი უნივერსალურობა და სტრუქტურის რეგუ-
ლარულობა, რაც ამარტივებს მათ რეალიზაციას ინტეგრალური სქემის
კრისტალებზე. საერთოდ, ოპერაციულ მოწყობილობებს მაგისტრალუ-
რი სტრუქტურით თანამედროვე გამომთვლელ მანქანებში უპირატესი
ადგილი უჭირავთ.
131
რად სხვადასხვა ტიპის მონაცემთა გადასაცემად დროის სხვადასხვა
მომენტში.
ფუნქციური დანიშნულების მიხედვით გამოყოფენ:
- გარე კ ა ვ შ ი რ თ ა მ ა გ ი ს ტ რ ა ლ ე ბ ს, რომლებიც ოპე-
რაციულ მოწყობილობებს აკავშირებენ მეხსიერებასთან და გამომთვ-
ლელი მანქანის შეტანა/გამოტანის არხებთან;
- ოპერაციულ მოწყობილობებს შ ი გ ა მ ა გ ი ს ტ რ ა ლ ე ბ ი თ,
რომლებიც პასუხს აგებენ საერთო დანიშნულების რეგისტრების კვანძ-
სა და ოპერაციულ ბლოკს შორის კავშირზე.
გარე კავშირთა მაგისტრალების რაოდენობა დამოკიდებულია
კონკრეტული გამომთვლელი მანქანის არქიტექტურაზე და ჩვეულე-
ბრივ გარე კავშირებისათვის არ აღემატება ორს, ხოლო შიგა კავშირები-
სათვის სამს.
სამმაგისტრალური ოპერაციული მოწყობილობის სტრუქტურა
წარმოდგენილია ნახ. 7.4, ა -ზე, ხოლო მისი შესაბამისი „შეკრების“ ტი-
პის ოპერაციის შესრულების მიკროპროგრამა - ნახ. 7.4, ბ-ზე.
132
მავლობაში. სამმაგისტრალური ორგანიზაციის ძირითადი ნაკლია დი-
დი ინტეგრალური სქემის კრისტალზე დაკავებული დიდი ფართობი
(კრისტალის ფართობის 0,16-იდან 0,22-მდე ნაწილი).
ორმაგისტრალური ორგანიზაცია მაგისტრალებით დაკავებული
ნაკლები ფართობისას (კრისტალის ფართობის 0,06-იდან 0,19-მდე ნა-
წილი) მოითხოვს, როგორც მინიმუმ, ერთი ბუფერული რეგისტრის
(ბფრ) შემოტანას, რომლის დანიშნულებაა ერთ-ერთი ოპერანდის დრო-
ებითი შენახვა (ნახ. 7.5, ა), ამასთან შეკრების ოპერაცია უკვე ორ ტაქტში
სრულდება (ნახ. 7.5, ბ):
- I ტაქტი: ერთ-ერთი ოპერანდის ბუფერულ რეგისტრში ჩატ-
ვირთვა;
-II ტაქტი: ოპერაციულ ბლოკში მიკროოპერაციის შესრულება
ბუფერული რეგისტრისა და ერთ-ერთი საერთო დანიშნულების რე-
გისტრის შემცველობებზე; შედეგის საერთო დანიშნულების რეგისტ-
რში ჩაწერა.
133
მდე ნაწილი). ამასთან, ერთამაგისტრალურ ოპერაციულ ბლოკში ჩნდე-
ბა არანაკლებ ორი ბუფერული რეგისტრის ბფრ1 და ბფრ2-ის შეტანის
აუცილებლობა, ხოლო ოპერაციის ხანგრძლივობა იზრდება სამ ტაქტა-
მდე (ნახ. 7.6, ბ):
-I ტაქტი : ერთ-ერთი ოპერანდის ბფრ1-ში ჩატვირთვა;
-II ტაქტი : მეორე ოპერანდის ბფრ2-ში ჩატვირთვა;
-III ტაქტი : ოპერაციულ ბლოკში მიკროოპერაციის შესრულება
ბფრ1-სა და ბფრ2 -ის შემცველობაზე; შედეგის ერთ-ერთ საერთო და-
ნიშნულების რეგისტრში ჩაწერა.
134
აღემატება იმ მინიმუმს, რომელიც აუცილებელია ოპერაციათა უნივერ-
სალური სისტემის რეალიზაციისათვის. რეგისტრების სიჭარბე გამოი-
ყენება:
- მისამართის შემადგენელი ნაწილების შესანახად (ინდექსის, ბა-
ზის);
- ბუფერულ, ზეოპერატიულ მეხსიერებად (გამომთვლელი მან-
ქანის წარმადობის გაზრდისათვის ძირითად მეხსიერებასა და ოპერა-
ციულ მოწყობილობას შორის საჭირო გადაგზავნების შემცირების ხარ-
ჯზე).
საშუალოდ რეგისტრების რაოდენობა მერყეობს 8-დან 16-მდე,
ზოგჯერ შეიძლება მიაღწიოს 32- 64-ს. პროცესორებში ბრძანებათა შემ-
ცირებული ნაკრებით საერთო დანიშნულების რეგისტრების რაოდენო-
ბა ასეულს აღწევს.
საერთო დანიშნულების რეგისტრის კვანძის ორგანიზაციამ შე-
იძლება უზრუნველყოს ერთარხიანი ან ორარხიანი შეღწევა, როგორც
შესასვლელით (ჩაწერა), ისე გამოსასვლელით (წაკითხვა). პირველ შემ-
თხვევაში კვანძის შესასვლელს უერთდება ერთი დემულტიპლექსორი,
ხოლო გამოსასვლელს - ერთი მულტიპლექსორი. მეორე შემთხვევაში
შეღწევა ხორციელდება ორი დემულტიპლექსორის და (ან) ორი მულ-
ტიპლექსორის საშუალებით. ორარხიანი შეღწევა ზრდის ოპერაციული
მოწყობილობის სწრაფქმედებას, ვინაიდან საშუალებას იძლევა განხორ-
ციელდეს პარალელური მიმართვა ორ რეგისტრზე.
135
მიმდევრობით ოპერაციულ ბ ლ ო კ შ ი (ნახ. 7.7)
ოპერაციები სრულდებიან ბიტებად, თანრიგ-თანრიგ.
136
ნახ. 7.8. პარალელური ოპერაციული ბლოკი
137
მარცხენა და მარჯვენა შესასვლელზე კოდების ლოგიკური შეკრებისა
და ლოგიკური გამრავლების მიკროოპერაციებს:
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
იქნებოდა გარე მოწყობილობასთან ინფორმაციის გაცვლისათვის გამო-
გვეყენებინა მაღალი სიჩქარის მქონე სისტემური სალტე. და ბოლოს, გა-
რე მოწყობილობებში ხშირად გამოიყენებიან მათთან მიერთებული გა-
მომთვლელი მანქანისაგან განსხვავებული მონაცემთა ფორმატები და
სიტყვათა სიგრძეები.
144
ბები (მაგნიტური და ოპტიკური დისკები, მაგნიტური ლენტები და ა.
შ.), გადამწოდები და შემსრულებელი მექანიზმები. აღვნიშნოთ გარე
მეხსიერების გაორებული როლი, რომელიც ერთის მხრივ, წარმოად-
გენს გამომთვლელი მანქანის ნაწილს, მეორეს მხრივ - გარე მოწყობი-
ლობაა. და ბოლოს, მესამე კატეგორიის მოწყობილობები საშუალებას
აძლევენ გამომთვლელ მანქანას გაცვალოს ინფორმაცია შორს მყოფ
ობიექტებთან, რომლებიც შეიძლება მიეკუთვნებოდნენ ორ პირველ
ჯგუფს. შორს მყოფი ობიექტების როლში შეიძლება იყვნენ აგრეთვე
სხვა გამომთვლელი მანქანები.
გარე მოწყობილობების განზოგადებული სტრუქტურა მოტანი-
ლია ნახ. 8.2-ზე.
145
შეტანა/გამოტანის მოდულით ინტერფეისი რეალიზდება მარ-
თვის, მდგომარეობისა და მონაცემების სიგნალების სახით. მ ო ნ ა ც ე -
მ ე ბ ი წარმოდგენილებია ბიტების ერთობლიობით, რომლებიც უნდა
გადაეცნენ შეტანა/გამოტანის მოდულში ან მისგან უნდა იქნან მიღე-
ბულნი. მ ა რ თ ვ ი ს სიგნალები განსაზღვრავენ გარე მოწყო-
ბილობის მიერ შესრულებულ ფუნქციას. ეს შეიძლება იყოს ყველა მო-
წყობილობისათვის სტანდარტული ფუნქცია - მონაცემთა გადაგზავნა
შეტანა/გამოტანის მოდულში ან მისგან მონაცემების მიღება, ანდა მო-
ცემული ტიპის გარე მოწყობილობისათვის სპეციფიკური ფუნქცია;
ისეთი, მაგალითად, როგორიცაა მაგნიტური დისკის თავაკის პოზიცი-
ონირება ან მაგნიტური ლენტის გადახვევა. მდგომარეობის სიგნალები
ახასიათებენ მოწყობილობის მიმდინარე მდგომარეობას, კერძოდ ჩარ-
თულია თუ არა გარე მოწყობილობა და მზადაა თუ არა ის მონაცემთა
გადასაცემად.
მართვის ლოგიკა - ეს სქემებია, რომლებიც ახორციელებენ გარე
მოწყობილობის მუშაობის კოორდინაციას მონაცემთა გადაცემის მი-
მართულების შესაბამისად. გარდამქმნელის ამოცანას წარმოადგენს
სრულებით განსხვავებული ფიზიკური ბუნების ინფორმაციული სიგ-
ნალების ტრანსფორმაცია ელექტრულ სიგნალებში და აგრეთვე უკუ
გარდაქმნა. ჩვეულებრივ გარდამქმნელთან ერთად გამოიყენება ბუფე-
რული მეხსიერება, რომელიც უზრუნველყოფს შეტანა/გამოტანის მო-
დულსა და გარე მოწყობილობას შორის გადასაგზავნი მონაცემების
დროებით შენახვას.
146
8.2. შეტანა/გამოტანის მოდულები
147
ცესორსა და მეხსიერებას. ასეთი განსხვავება ბუფერიზაციის ხარჯზე
კომპენსირდება. გარე მოწყობილობაზე ინფორმაციის გამოტანისას მო-
ნაცემები გადაიგზავნებიან ძირითადი მეხსიერებიდან შეტანა/გამოტა-
ნის მოდულში მაღალი სისწრაფით. მოდულში ეს მონაცემები ბუფე-
რიზდებიან, ხოლო შემდეგ მიემართებიან გარე მოწყობილობისაკენ
მისთვის დამახასიათებელი სისწრაფით. გარე მოწყობილობიდან შეტა-
ნისას მონაცემები ისევ ბუფერიზდებიან, რომ არ აიძულონ იმუშაოს
მეხსიერება ნელი გადაცემის რეჟიმში. ამრიგად, შეტანა/გამოტანის მო-
დულს უნდა გააჩნდეს იმის შესაძლებლობა, რომ იმუშაოს როგორც
მეხსიერების სიჩქარით, ისე გარე მოწყობილობის სიჩქარით.
შეტანა/გამოტანის მოდულის კიდევ ერთი უმნიშვნელოვანესი
ფუნქციაა შეტანა /გამოტანის პროცესში წარმოქმნილი შეცდომების აღ-
მოჩენა. საჭიროა ცენტრალურ პროცესორს გაეგზავნოს შეტყობინება
შეცდომის აღმოჩენის ყოველი შემთხვევის შესახებ. უკანასკნელთა წარ-
მოშობის მიზეზები მრავალგვარი ფაქტორებია, რომლებიც პირველ მი-
ახლოებაში შეიძლება შემდეგ ჯგუფებამდე დავიყვანოთ:
- გარემოს ზემოქმედება;
- ელემენტთა ბაზის დაძველება;
- სისტემური პროგრამული უზრუნველყოფა;
- სამომხმარებლო პროგრამული უზრუნველყოფა.
148
149
შეტანა/გამოტანის მოდულის კავშირი გამომთვლელი მანქანის
ბირთვთან ხორციელდება სისტემური ან სპეციალიზებული სალტის
საშუალებით. ამ მხრიდან შეტანა/გამოტანის მოდულში რეალიზდება ე.
წ. „დიდი“ ინტერფეისი. დიდი განსხვავება ბრძანებათა სისტემასა და
გამომთვლელი მანქანის სალტეთა არქიტექტურაში იმის მიზეზია, რომ
„დიდი“ ინტერფეისის მხრიდან შეტანა/გამოტანის მოდულების უნიფი-
ცირება საკმაოდ რთულია და ხშირად შეტანა/გამოტანის მოდულები,
შექმნილნი ერთი ტიპის გამომთვლელი მანქანებისათვის, არ შეიძლება
გამოყენებულ იქნან სხვებისათვის. მიუხედავად ამისა, სტრუქტურუ-
ლი სახით ისინი საკმაოდ მსგავსებია.
მისგან მოდულში გადაცემული მონაცემები ბუფერიზდებიან მო-
ნაცემთა რეგისტრში. ბუფერიზაციის საშუალებით კომპენსირდება
განსხვავება გამომთვლელი მანქანის ბირთვის სწრაფქმედებასა და გარე
მოწყობილობებს შორის. როგორც წესი, რეგისტრის თანრიგიანობა ემ-
თხვევა მონაცემთა სალტის სიგანეს „დიდი“ ინტერფეისის მხრიდან (2,
4 ან 8 ბაიტი). თავის მხრივ, გარე მოწყობილობების უმრავლესობა ორი-
ენტირებულია ინფორმაციის ბაიტებად გაცვლაზე. ინფორმაციის ბა-
იტებად გადაგზავნა „ფართო“ სისტემური სალტით ფრიად ეფექტური
გადაწყვეტაა, ამიტომ „მცირე“ ინტერფეისის მხრიდან მონაცემთა რე-
გისტრს ხშირად ავსებენ შეფუთვა/განფუთვის კვანძით (სქემაზე ნაჩ-
ვენები არაა). შეტანისას ეს კვანძი უზრუნველყოფს მონაცემთა რეგი-
სტრის მიმდევრობით ბაიტურ შევსებას (შეფუთვა), ხოლო გამოტანისას
- რეგისტრის შემცველობის მიმდევრობით ბაიტურ გაცემას გარე მოწ-
ყობილობაზე (განფუთვა). შედეგად „დიდი“ ინტერფეისით მონაცემთა
გაცვლისას დაკავებულია მონაცემთა სალტის მთელი სიგანე. შეტა-
ნა/გამოტანის მოდულში, რომლებიც გათვალისწინებულია გარე მო-
წყობილობების დიდ რიცხვთან სამუშაოდ, შეიძლება შედიოდეს მონა-
ცემთა რამდენიმე რეგისტრი, რაც საშუალებას არ იძლევა დამოუკი-
დებლად შევინახოთ თითოეული გარე მოწყობილობის მიმდინარე მო-
ნაცემები.
150
მონაცემთა რეგისტრის გარდა შეტანა/გამოტანის მოდულის შე-
მადგენლობაში აგრეთვე შედის მართვის რეგისტრი და მდგომარეობის
რეგისტრი (ან შერწყმული მართვა/მდგომარეობის რეგისტრი).
მართვის რ ე გ ი ს ტ რ შ ი ფიქსირდება ცენტრალური პრო-
ცესორიდან მიღებული მოდულის ან მასთან მიერთებული გარე მოწყო-
ბილობების მართვის სიგნალები. რეგისტრის ცალკეული თანრიგები
შეიძლება წარმოადგენდნენ ისეთ ბრძანებებს, როგორიცაა შეტანა/გამო-
ტანის მოდულის რეგისტრების გასუფთავება, გარე მოწყობილობის ჩა-
მოყრა (განულება), კითხვის დაწყება, ჩაწერის დაწყება და ა. შ. რთულ
შეტანა/გამოტანის მოდულში არის მართვის რამდენიმე რეგისტრი, მა-
გალითად მთლიანად მოდულის მმართველი სიგნალების რეგისტრი
და თითოეული გარე მოწყობილობისათვის დამოუკიდებელი მართვის
რეგისტრი.
მდგომარეობის რ ე გ ი ს ტ რ ი ს დანიშნულებაა შეტა-
ნა/გამოტანის მოდულის და მასთან მიერთებული გარე მოწყობილობე-
ბის მდგომარეობის შენახვა. რეგისტრის განსაზღვრული თანრიგის შემ-
ცველობა შეიძლება ახასიათებდეს, მაგალითად შეტანის მოწყობილო-
ბის მზადყოფნას მონაცემთა მომდევნო ულუფის მისაღებად, გამოტა-
ნის მოწყობილობის დაკავებულობას ან გარე მოწყობილობის ავტონო-
მიურ რეჟიმში ყოფნას (off line). შეტანა/გამოტანის მოდულში გამორი-
ცხული არაა მდგომარეობის ერთზე მეტი რეგისტრის არსებობა.
შეტანა/გამოტანის პროცედურა გულისხმობს შეტანა/გამოტანის
მოდულის თითოეულ რეგისტრთან ან ცალ-ცალკე გარე მოწყობილო-
ბასთან მუშაობის შესაძლებლობას. ასეთი შესაძლებლობა უზრუნველ-
ყოფილია სამისამართო სისტემით. თითოეულ მოდულს შეტანა/ გამო-
ტანის სამისამართო სივრცეში (შეთავსებულში ან განცალებულში) გა-
მოეყოფა მისამართების უნიკალური ნაკრები, რომლებშიც მისამართე-
ბის რაოდენობა დამოკიდებულია სამისამართო ელემენტების რიცხვი-
საგან. ცენტრალური პროცესორიდან მიღებული მისამართი მისამარ-
თის სელექტორის დახმარებით მოწმდება მოცემული შეტანა/გამოტა-
ნის მოდულისათვის გამოყოფილი დიაპაზონის კუთვნილებაზე. დას-
151
ტურის შემთხვევაში DC დეკოდერი ახდენს მისამართის განკოდირებას,
ნებას რთავს მუშაობაზე მოდულის ან გარე მოწყობილობის შესაბამისი
რეგისტრით.
შეტანა/გამოტანის მართვის კვანძი თავისი არსით ასრულებს შე-
ტანა/გამოტანის მოდულის მართვის ადგილობრივი მოწყობილობის
როლს. მას ორი ამოცანა აკისრია: ცენტრალურ პროცესორთან ურთიერ-
თქმედების უზრუნველყოფა და შეტანა/გამოტანის მოდულის ყველა
შემადგენლის მუშაობის კოორდინაცია. ცენტრალურ პროცესორთან
კავშირი ხორციელდება მართვის ხაზების საშუალებით, რომლებითაც
ცენტრალური პროცესორიდან მოდულს მიეწოდებიან სიგნალები, რომ-
ლებიც ემსახურებიან შეტანა/გამოტანის ოპერაციათა სინქრონიზაციას.
უკუ მიმართულებით გადაეცემიან ის სიგნალები, რომლებიც ინფორ-
მაციას გასცემენ მოდულში მომხდარი შემთხვევების შესახებ, მაგალი-
თად წყვეტის სიგნალები. მართვის ხაზების ნაწილი შეიძლება მოდუ-
ლის მიერ გამოყენებულ იქნას არბიტრაჟისათვის. მართვის კვანძის მე-
ორე ფუნქცია რეალიზდება მართვის შიგა სიგნალების დახმარებით.
„მცირე“ ინტერფეისის მხრიდან შეტანა/გამოტანის მოდული უზ-
რუნველყოფს გარე მოწყობილობათა მიერთებას და მათთან ურთიერ-
თქმედებას. შეტანა/გამოტანის მოდულის ეს ნაწილი უფრო უნიფიცი-
რებულია, ვინაიდან გარე მოწყობილობები ყოველთვის ექვემდებარე-
ბიან ერთ-ერთ სტანდარტულ პროტოკოლს. თითოეულ გარე მოწყობი-
ლობას „ემსახურება“ „მცირე“ ინტერფეისის თავისი კვანძი, რომელიც
ახორციელებს მოცემული გარე მოწყობილობისათვის მიღებულ ურთი-
ერთქმედების სტანდარტულ პროტოკოლს.
გარე მოწყობილობათა ფართო სპექტრის მართვისას მოდულმა
შესაძლებლობის ფარგლებში უნდა გაათავისუფლოს ცენტრალური
პროცესორი კონკრეტული გარე მოწყობილობის დეტალების ცოდნისა-
გან, რომ ცენტრალურმა პროცესორმა შეძლოს ნებისმიერი მოწყობილო-
ბის მართვა წაკითხვისა და ჩაწერის მარტივი ბრძანებების დახმარებით.
ამ დროს შეტანა/გამოტანის მოდული თავის თავზე იღებს სინქრონიზა-
ციის, მონაცემთა ფორმატების შეთანხმების და ა. შ. ამოცანებს.
152
შეტანა/გამოტანის მოდულს, რომელიც თავის თავზე იღებს გარე
მოწყობილობის დეტალურ მართვას და ურთიერთობას ახორციელებს
ცენტრალურ პროცესორთან მხოლოდ მაღალი დონის ბრძანებებით,
ხშირად უწოდებენ შ ე ტ ა ნ ა / გ ა მ ო ტ ა ნ ი ს ა რ ხ ს ან შ ე ტ ა ნ ა /
გამოტანის პ რ ო ც ე ს ო რ ს. ყველაზე პრიმიტიულ შეტანა/გამო-
ტანის მოდულს, რომელიც მოითხოვს ცენტრალური პროცესორიდან
დეტალურ მართვას, უწოდებენ შეტანა/გამოტანის კონტ-
როლერს ან მ ა რ თ ვ ი ს კ ო ნ ტ რ ო ლ ე რ ს. როგორც წესი, შე-
ტანა/გამოტანის კონტროლერები ტიპიურებია მიკრო ეგმ-ებისათვის,
ხოლო შეტანა/გამოტანის არხები-უნივერსალური გამომთვლელი მან-
ქანებისათვის.
153
ბების გაცემით. გასცემს რა შეტანა/გამოტანის მოდულისადმი ბრძანე-
ბას, ცენტრალური პროცესორი უნდა დაელოდოს მისი შესრულების
დასრულებას. ვინაიდან ცენტრალური პროცესორი უფრო სწრაფად
მუშაობს, ვიდრე შეტანა/გამოტანის მოდული, ამიტომ ამას მივყავართ
დროით დანაკარგებამდე.
შეტანა/გამოტანა წყვეტებით ბევრი რამით ემთხ-
ვევა პროგრამული მართვის მეთოდს. განსხვავება იმაში მდგომარეობს,
რომ შეტანა/გამოტანის ბრძანების გაცემის შემდეგ ცენტრალურმა პრო-
ცესორმა მოწყობილობის მდგომარეობის გამოსავლენად ციკლურად არ
უნდა გამოკითხოს შეტანა/გამოტანის მოდული. ამის ნაცვლად პროცე-
სორმა შეიძლება გააგრძელოს სხვა ბრძანებების შესრულება მანამ, სანამ
არ მიიღებს მოთხოვნას წყვეტაზე შეტანა/გამოტანის მოდულიდან, რი-
თაც მას ატყობინებენ ადრე გაცემული შეტანა/გამოტანის ბრძანების
დასრულების შესახებ. ისევე როგორც პროგრამულად მართული შეტა-
ნა/გამოტანის დროს, ცენტრალური პროცესორი პასუხს აგებს მეხსიერე-
ბიდან მონაცემების ამოკრეფაზე (გამოტანაზე) და მეხსიერებაში მონა-
ცემების ჩაწერაზე (შეტანაზე).
როგორც შეტანა/გამოტანის სიჩქარის, ასევე ცენტრალური პრო-
ცესორის ეფექტურ გამოყენებას უზრუნველყოფს შეტანა/გამოტანის მე-
სამე ხერხი - მ ე ხ ს ი ე რ ე ბ ა ს თ ა ნ პირდაპირი წ ვ დ ო მ ა. ამ
რეჟიმში ძირითადი მეხსიერება და შეტანა/ გამოტანის მოდული ინ-
ფორმაციის გაცვლას ახორციელებენ პირდაპირ, პროცესორის გვერდის
ავლით.
154
8.4. შეტანა/გამოტანის არხები და პროცესორები
155
ნებისათვის (მეინფრეიმებისათვის), სადაც შეტანა/გამოტანის ეფექტუ-
რი ორგანიზაციის პრობლემა და ცენტრალური პროცესორის მაქსიმა-
ლური გამოთავისუფლება მისი ძირითადი ფუნქციის სასარგებლოდ
ძალიან მკაცრად დგას. შეტანა/გამოტანის სისტემა შეტანა/გამოტანის
არხით შემოთავაზებულ და რეალიზებულ იქნა IBM 360 ოჯახის გამომ-
თვლელ მანქანებში და შემდგომ განვითარება ჰპოვა IBM 370 და IBM
390 ოჯახის გამომთვლელ მანქანებში.
შეტანა/გამოტანის არხიან გამომთვლელ მანქანებში ცენტრალუ-
რი პროცესორი უშუალოდ არ მონაწილეობს გარე მოწყობილობათა
მართვაში. მას ეს ამოცანა დელეგირებული აქვს შეტანა/გამოტანის არ-
ხების შემადგენლობაში მყოფი სპეციალიზებული პროცესორისადმი.
ცენტრალური პროცესორის ყველა ფუნქცია დაყვანილია შეტანა/გამო-
ტანის არხებში ოპერაციების გაშვებაზე და გაჩერებაზე, აგრეთვე არხის
და მასთან მიერთებული გარე მოწყობილობების მდგომარეობის შემოწ-
მებაზე. ამ მიზნებისათვის ცენტრალური პროცესორი იყენებს შეტანა/
გამოტანის მხოლოდ 4-იდან 7-მდე ბრძანებას. მაგალითად IBM 360-ში
ასეთი ბრძანება ოთხია:
- „დაიწყოს შეტანა/გამოტანა“;
- „გაჩერდეს შეტანა/გამოტანა“;
- შემოწმდეს შეტანა/გამოტანა“;
- „შემოწმდეს არხი“.
შეტანა/გამოტანის არხი ახორციელებს შეტანა/გამოტანის ოპერა-
ციებს ე. წ. ა რ ხ ი ს პ რ ო გ რ ა მ ი ს შესრულების გზით. არხის პრო-
გრამები თითოეული გარე მოწყობილობისათვის, რომელთანაც გათვა-
ლისწინებულია ინფორმაციის გაცვლა, აღწერენ შეტანა/გამოტანის ოპე-
რაციათა საჭირო თანმიმდევრობას და ინახებიან გამომთვლელი მანქა-
ნის ძირითად მეხსიერებაში. არხის პროგრამებში ბრძანებების როლს
ასრულებენ არხის მმართველი ს ი ტ ყ ვ ებ ი, რომელთა
სტრუქტურაც განსხვავდება ჩვეულებრივი მანქანური ბრძანების
სტრუქტურისაგან. არხის მმართველი ტიპიური სიტყვა შეიცავს:
156
-ოპერაციის კ ო დ ს, რომელიც შეტანა/გამოტანის არხსა
და გარე მოწყობილობისათვის განსაზღვრავს ოპერაციის ტიპს: „ჩაწერა“
(ძირითად მეხსიერებიდან ინფორმაციის გადატანა გარე მოწყობილო-
ბაში), „წაკითხვა“ (გარე მოწყობილობიდან ინფორმაციის ძირითად მეხ-
სიერებაში შეტანა), „მართვა“ (მაგნიტურ დისკებზე დამგროვებლის თა-
ვაკების, მაგნიტური ლენტის გადაადგილება და ა. შ.);
- მ ი მ თ ი თ ე ბ ლ ე ბ ი - დამატებითი მიწერილობებია, რომლე-
ბიც უთითებენ შეტანა/გამოტანის ოპერაციათა უფრო რთულ მიმდევ-
რობებს, მაგალითად შეტანისას გაშვებულ იქნან ცალკეული ჩაწერები
და პირიქით - ერთი ბრძანებით შეტანილ იქნას მთელ ძირითად მეხსი-
ერებაში „გაფანტული“ მასივი, როგორც მთლიანი:
-მონაცემთა მ ი ს ა მ ა რ თ ი, რომელიც უთითებს შეტანა/
გამოტანის ოპერაციაში გამოყენებულ მეხსიერების არეს;
-მონაცემთა მ თ ვ ლ ე ლ ი, რომელიც ინახავს მონაცემთა
გადასაცემი ბლოკის სიგრძეთა მნიშვნელობებს.
გარდა ამისა, არხის მმართველ სიტყვაში შეიძლება იყოს გარე
მოწყობილობის იდენტიფიკატორი და ინფორმაცია მისი პრიორიტე-
ტის დონის შესახებ, მითითებები მოქმედებათა შესახებ, რომლებიც უნ-
და შესრულდნენ შეცდომების წარმოშობისას და ა.შ.
ცენტრალური პროცესორი ახდენს შეტანა/გამოტანის ინიცირებას
არხის ინსტრუქტირებით ძირითად მეხსიერებაში არსებული არხის
პროგრამის შესრულების აუცილებლობის შესახებ და გამომთვლელი
მანქანის მეხსიერებაში ამ პროგრამის საწყისი მისამართის მითითების
გზით. შეტანა/გამოტანის არხი მიჰყვება ამ მითითებებს და მართავს
მონაცემთა გადაგზავნას. აღვნიშნოთ, რომ არხის მიერ ინფორმაციის
გადაგზავნა ხდება მეხსიერებაში პირდაპირი შეღწევის რეჟიმში. გარე
მოწყობილობა ურთიერთმოქმედებს არხთან, ღებულობს მისგან ბრძა-
ნებებს. ამრიგად, შეტანა/გამოტანის არხიდან გამომთვლელ მანქანაში
შეტანა/ გამოტანის მართვა აგებულია იერარქიული სახით. შეტანა/გა-
მოტანის ოპერაციებში მონაწილეობს მოწყობილობათა სამი ტიპი:
- პროცესორი (მართვის პირველი დონე);
157
- შეტანა/გამოტანის არხი (მეორე დონე):
- გარე მოწყობილობები (მესამე დონე).
მოწყობილობათა თითოეულ ტიპს შეესაბამება მმართველი ინ-
ფორმაციის თავისი სახე:
- პროცესორს - შეტანა/გამოტანის ბრძანებები;
- არხს - არხის მმართველი სიტყვები;
- პერიფერიულ მოწყობილობას - ბრძანებები.
შეტანა/გამოტანის არხული სისტემის მქონე გამომთვლელი მან-
ქანის სტრუქტურა მოტანილია ნახ. 8.4-ზე.
შეტანა/გამოტანის არხსა და ძირითად მეხსიერებას შორის ინ-
ფორმაციის გაცვლა ხორციელდება გამომთვლელი მანქანის სისტემუ-
რი სალტის საშუალებით. გარე მოწყობილობები არხს უერთდებიან არა
უშუალოდ, არამედ გარე მოწყობილობების მართვის ბლოკების საშუა-
ლებით. გარე მოწყობილობების მართვის ბლოკი არხიდან ღებულობს
გარე მოწყობილობათა მართვაზე სიგნალებს (წაკითხვა, ჩაწერა, მატა-
რებლის ან მაგნიტური თავაკის გადაადგილება და ა. შ.) და გარდაქმნის
მათ მოცემული ტიპის გარე მოწყობილობის შესაბამისი მართვის სიგნა-
ლებში. ჩვეულებრივ ერთი გარე მოწყობილობების მართვის ბლოკი შე-
იძლება მოემსახუროს რამდენიმე ერთი ტიპის გარე მოწყობილობას,
მაგრამ სწრაფი გარე მოწყობილობების მისაერთებლად ხშირად გამოი-
ყენებიან მართვის ინდივიდუალური ბლოკები. თავის მხრივ, ზოგიერ-
თი გარე მოწყობილობა შეიძლება ერთდროულად მიუერთდეს რამდე-
ნიმე გარე მოწყობილობების მართვის ბლოკს. ეს საშუალებას იძლევა
ვისარგებლოთ სხვა გარე მოწყობილობების მართვის ბლოკის თავისუ-
ფალი ტრაქტით, თუ მოცემული გარე მოწყობილობების მართვის ბლო-
კი დაკავებულია მასზე მიერთებული ერთ-ერთი პერიფერიული მო-
წყობილობის მომსახურებით. ფიზიკურად გარე მოწყობილობების მარ-
თვის ბლოკი შეიძლება იყოს დამოუკიდებელი მოწყობილობა ან ინ-
ტეგრირებული გარე მოწყობილობასთან ან არხთან.
158
159
გარე მოწყობილობების მართვის ბლოკსა და შეტანა/გამოტანის
არხს შორის ინფორმაციის გაცვლა უზრუნველყოფილია ე. წ. ა რ ხ უ-
ლი ტ რ ა ქ ტ ე ბ ი თ. ჩვეულებრივ თითოეული გარე მოწყობილო-
ბების მართვის ბლოკი დაკავშირებულია ერთ-ერთ არხულ ტრაქტთან,
მაგრამ აგრეთვე შესაძლებელია მართვის ბლოკის მიერთება ერთდრო-
ულად რამდენიმე ტრაქტთან, რაც იმის საშუალებას იძლევა, რომ აცი-
ლებულ იქნას არასასურველი დაყოვნებები ერთ-ერთი მათგანის დაკა-
ვებულობის გამო.
შეტანა/გამოტანის არხის საზღვრებში ითვლება, რომ თითოეუ-
ლი გარე მოწყობილობა მიერთებულია თავის ქ ვ ე ა რ ხ თ ა ნ. ქვეარ-
ხებს აქვთ თავისი უნიკალური ნომრები, რომელთა საშუალებითაც
ხდება არხის პროგრამის გადამისამართება კონკრეტულ გარე მოწყობი-
ლობაზე. ფიზიკურად ქვეარხი რეალიზებულია მეხსიერების უბნის სა-
ხით, რომელშიც ინახებიან მოცემული გარე მოწყობილობის მიერ შეს-
რულებული შეტანა/გამოტანის ოპერაციის პარამეტრები: მისამართისა
და მონაცემთა მთვლელის მიმდინარე მნიშვნელობები, შეტანა/ გამოტა-
ნის ოპერაციის კოდი და მიმთითებლები, მომდევნო არხის მმართველი
სიტყვის მისამართი და სხვა. ამ პარამეტრების შენახვისათვის ჩვეულე-
ბრივ გამოყენებულია არხის ლოკალური მეხსიერება.
როგორც უკვე აღვნიშნეთ, გარე მოწყობილობასა და ძირითად
მეხსიერებას შორის ინფორმაციის გაცვლა რეალიზებულია მეხსიერება-
სთან პირდაპირი შეღწევის (მპშ) რეჟიმში, ამასთან ცენტრალური პრო-
ცესორისა და არხის ურთიერთქმედებისათვის ამოქმედებულია სიგნა-
ლები „მოთხოვნა მპშ“ და „დასტური მპშ“.
ცენტრალური პროცესორისათვის მიმდინარე არხული პროგრა-
მის დასრულების ან მისი შესრულებისას დაშვებული შეცდომების შე-
სახებ შეტყობინებისათვის შეტანა/გამოტანის არხი ცენტრალურ პრო-
ცესორში გასცემს სიგნალს „მოთხოვნა წყვეტაზე“. თავის მხრივ, ცენ-
ტრალურმა პროცესორმა შეიძლება არხის ყურადღება მიიპყროს სიგ-
ნალით „ყურადღება“.
160
გარე მოწყობილობის არხთან ურთიერთქმედების ორგანიზაციის
ხერხი განისაზღვრება ძირითად მეხსიერებასა და გარე მოწყობილობის
სწრაფქმედების შეფარდებით. ამ ნიშნით არსებობს გარე მოწყობილო-
ბების ორი ჯგუფი: სწრაფები (დამგროვებლები მაგნიტურ დისკებზე,
დამგროვებლები მაგნიტურ ლენტებზე), ინფორმაციის მიღებისა და გა-
დაცემის სიჩქარით 1მბაიტი/წმ - მდე; ნელად მოქმედნი (დისპლეები,
საბეჭდი მოწყობილობები და სხვა) 1კბაიტი/წმ და ნაკლები სიჩქარით.
ძირითადი მეხსიერების სწრაფქმედება მნიშვნელოვნად მაღალია. გარე
მოწყობილობის წარმადობის გათვალისწინებით შეტანა/გამოტანის არ-
ხში ხორციელდება მუშაობის ორი რეჟიმი: მ უ ლ ტ ი პ ლ ე ქ ს ურ ი
(დროის დაყოფის რეჟიმი) და მ ო ნ ო პ ო ლ უ რ ი.
მულტიპლექსურ რეჟიმში რამდენიმე გარე მოწყო-
ბილობა არხს ჰყოფს დროში, ამასთან არხთან პარალელურად მომუშავე
თითოეული გარე მოწყობილობა უკავშირდება შეტანა/გამოტანის არხს
დროის მოკლე შუალედებში მხოლოდ მას შემდეგ, როცა გარე მოწყობი-
ლობა მზად იქნება მიიღოს ან გასცეს ინფორმაციის მომდევნო ულუფა
(ბაიტი, ბაიტთა ჯგუფი და ა. შ.). ასეთი სქემაა მიღებული შეტანა/
გამოტანის მულტიპლექსურ ა რ ხ შ ი. თუ კავშირის სე-
ანსის განმავლობაში გადაიგზავნება ერთი ან რამდენიმე ბაიტი, რომ-
ლებიც ერთ მანქანურ სიტყვას ქმნიან, მაშინ არხს ბ ა ი ტ - მ უ ლ ტ ი -
პლექსურს უწოდებენ. არხი, რომელშიც კავშირის სეანსის ფარგ-
ლებში მონაცემთა გადაგზავნა ბლოკებად ხორციელდება, ბლოკ-
მულტიპლექსური ჰქვია.
მონოპოლურ რეჟიმში არხსა და გარე მოწყობილობას
შორის კავშირის დამყარების შემდეგ გარე მოწყობილობა ახდენს არხის
მონოპოლიზაციას მთელი იმ დროის განმავლობაში, რაც ესაჭიროება
პროცესორის მიერ ინიცირებული არხული პროცესისა და ამ პროგრა-
მით გათვალისწინებული გარე მოწყობილობას და ძირითად მეხსიერე-
ბას შორის მონაცემთა გადაგზავნების დასრულებას. არხული პროგრა-
მის შესრულების მთელი დროის განმავლობაში არხი მიუწვდომელი
ხდება სხვა გარე მოწყობილოებისათვის. მოცემულ პროცედურას უზ-
161
რუნველყოფს შეტანა/გამოტანის სელექტორული
ა რ ხ ი. აღვნიშნოთ, რომ, ბლოკ-მულტიპლექსურ არხში კავშირის სე-
ანსის ფარგლებში ბლოკის გადაგზავნა ხორციელდება მონოპოლურ
რეჟიმში.
162
მათგან განსხვავებით უნივერსალურები არიან, ანუ შეუძლიათ იმუშა-
ონ ბაიტ-მულტიპლექსურ, ბლოკ-მულტიპლექსურ და სელექტორულ
რეჟიმებში. შეტანა/გამოტანის არხულ ქვესისტემაში ასეთ არხულ ტრაქ-
ტებს პარალელურებს ეძახიან, ვინაიდან ისინი უზრუნველყოფენ ინ-
ფორმაციის პარალელური კოდით გადაგზავნას.
შეტანა/გამოტანის არხულ ქვესისტემასთან ბეჭდურ-ოპტიკური
ხაზებით მიერთებულ გარე მოწყობილობებთან სამუშაოდ გამოიყენე-
ბიან მიმდევრობითი არხული ტრაქტები, რომლებიც ახორციელებენ
ESCON (Enterprise Systems Connection Architecture) პროტოკოლს. მიმ-
დევრობითი არხული ტრაქტი გათვალისწინებულია ინფორმაციის
მხოლოდ მიმდევრობითი კოდით და მხოლოდ სელექტორულ რეჟიმში
გადაცემაზე. გარე მოწყობილობების მართვის ბლოკების ESCON ტრაქ-
ტთან მიერთებას ემსახურება სპეციალური მოწყობილობები, რომლებ-
საც ESCON - დირექტორიებს ეძახიან. თითოეულ ასეთ მოწყობილობას
შეუძლია 60 გარე მოწყობილობების მართვის ბლოკამდე მიერთება და
მათგან 30-დან ინფორმაციის ერთეული გადაეცემა 10 მბაიტი/წმ - მდე
სიჩქარით.
გარდა ამისა, შეტანა/გამოტანის არხულ ქვესისტემაში გათვალის-
წინებულია სპეციალური კომუნიკაციური არხული ტრაქტები გამომთ-
ვლელი მანქანების ქსელებთან, მოდემებთან, სხვა სისტემებთან მისაერ-
თებლად.
პრინციპში შეტანა/გამოტანის არხული ქვესისტემის ძირითადი
უპირატესობა - არხული ტრაქტების დინამიური გადანაწილება - რაღაც
სახით შეიძლება რეალიზებულ იყოს თითოეული ცალკე არხის ფარგ-
ლებში. მაგრამ ყველა არხული რესურსის ერთიან არხულ ქვესისტემაში
გაერთიანება საშუალებას იძლევა გამოყენებულ იქნას დინამიური გა-
დანაწილებისა და ამ რესურსების გამოყენების ოპტიმალური სტრატე-
გიები და ამის მეშვეობით შეტანა/ გამოტანის სისტემის ეფექტურობის
ხარისხობრივად ახალ დონეზე აყვანა.
163
9. ძირითადი მიმართულებები პროცესორთა
არქიტექტურაში
164
165
სიმალური დრო იყოს ტოლი და უდრიდეს Tmax/3. ბლოკებს შორის მო-
ვათავსოთ ბუფერული რეგi რეგისტრები (ნახ. 9.1, ბ), რომელთა დანიშ-
ნულებაა ფბi - ში დამუშავების შედეგის შენახვა, იმ შემთხვევისათვის
თუ მისი მომდევნო ფუნქციური ბლოკი ჯერ კიდევ არაა მზად გამოი-
ყენოს ეს შედეგი. განხილულ სქემაში მონაცემები კონვეიერის შესასვ-
ლელს შეიძლება მიეწოდებოდნენ Tmax/3 (სამჯერ უფრო ხშირად) ინტერ-
ვალით, თუმცა დაყოვნება მონაცემთა პირველი ერთეულის შესასვლელ
რეგისტრზე მოწოდების მომენტიდან მისი დამუშავების შედეგის გამო-
სასვლელი რეგისტრის გამოსასვლელზე გამოჩენის მომენტამდე ისევ
Tmax - შეადგენს, შემდეგი შედეგები გამოსასვლელი რეგისტრის გამო-
სასვლელზე ჩნდებიან უკვე Tmax/3 ინტერვალით.
პრაქტიკაში იშვიათად შეიძლება მივაღწიოთ იმას, რომ დაყოვნე-
ბები თითოეულ ფუნქციურ ბლოკში ერთნაირები იყვნენ. როგორც შე-
დეგი, კონვეიერის წარმადობა ეცემა, ვინაიდან შესასვლელი მონაცემე-
ბის მიწოდების პერიოდი განისაზღვრება თითოეულ ფუნქციურ ბლოკ-
ში მისი დამუშავების მაქსიმალური დროით. ამ ნაკლოვანების გამოსას-
წორებლად ან, უკიდურეს შემთხვევაში, მისი ნაწილობრივი კონპენსა-
ციის მიზნით თითოეული ბუფერული რეგისტრი (რეგi) საჭიროა შეიც-
ვალოს ბუფერული მეხსიერებით (ბმi), რომელსაც შეუძლია შეინახოს
მონაცემთა სიმრავლე და ორგანიზებულია პრინციპით FIFO -„პირველი
შევიდა - პირველი გამოვიდა“ (ნახ. 9.1, ბ). დაამუშავებს რა მონაცემთა
ელემენტს ფუნქციურ ბლოკს შეაქვს შედეგი i-ურ ბუფერულ მეხსიერე-
ბაში, იღებს i-1 ბუფერული მეხსიერებიდან მონაცემთა ახალ ელემენტს
და იწყებს დამუშავების ახალ ციკლს. ამასთან ეს თანმიმდევრობა სრუ-
ლდება თითოეული ფუნქციური ბლოკით სხვა ბლოკებისაგან დამოუ-
კიდებლად. თითოეულ ბლოკში დამუშავება შეიძლება მანამ გრძელდე-
ბოდეს, სანამ არ მოხდება წინა რიგის ლიკვიდაცია, ან სანამ არ გადაივ-
სება მომდევნო რიგი. თუ ბუფერული მეხსიერების ტევადობა საკმაოდ
დიდია, მაშინ დამუშავების დროის განსხვავებები არ ვლინდებიან წარ-
მადობაზე, მაგრამ მიუხედავად ამისა სასურველია, რომ დამუშავების
საშუალო ხანგრძლივობა ყველა ფუნქციურ ბლოკში იყოს ერთნაირი.
166
გამომთვლელი მანქანების არქიტექტურაში შეიძლება ვიპოვოთ
მრავალი ობიექტი, სადაც კონვეიერიზაცია უზრუნველყოფს გამომთ-
ვლელი მანქანის წარმადობის საგრძნობ მატებას. ზემოთ უკვე განხი-
ლული იყო ორი ასეთი ობიექტი - ოპერაციული მოწყობილობები და
მეხსიერება, ოღონდ განსაკუთრებით საგრძნობი ეფექტი მიიღწევა მან-
ქანური ციკლის ეტაპების კონვეიერიზაციის დროს.
საფეხურების მუშაობის სინქრონიზაციის ხერხის მიხედვით კონ-
ვეიერები შეძლება იყვნენ სინქრონულები და ასინქრონულები. ტრადი-
ციული გამომთვლელი მანქანებისათვის დამახასიათებელია ს ი ნ ქ-
რონული კ ო ნ ვ ე ი ე რ ე ბ ი. უპირველესად, ეს დაკავშირებუ-
ლია პროცესორის მუშაობის სინქრონულ ხასიათთან. კონვეიერის სა-
ფეხურები პროცესორში ჩვეულებრივ ერთმანეთთან ახლოს არიან გან-
ლაგებულნი, რისი მეშვეობითაც სინქრონიზაციის სიგნალების გავრცე-
ლების ტრაქტები საკმაოდ მოკლე მიიღება და სიგნალების „გამრუდე-
ბა“ ხდება არც თუ ისე მნიშვნელოვანი. ა ს ი ნ ქ რ ო ნ უ ლ ი კ ო ნ ვ ე-
იერები სასარგებლონი ხდებიან, თუ საფეხურებს შორის კავშირე-
ბი არც თუ ისე ძლიერია, ხოლო სიგნალური ტრაქტების სიგრძეები
სხვადასხვა საფეხურებს შორის ძლიერ განსხვავებულია. ასინქრონული
კონვეიერების მაგალითს შეიძლება წარმოადგენდნენ სისტოლიკური
მასივები.
167
ლოთ კონკრეტული მაგალითით. გამოვყოთ ბრძანების ციკლში ექვსი
ეტაპი:
1. ბ რ ძ ა ნ ე ბ ი ს ა მ ო რ ჩ ე ვ ა. მეხსიერებიდან მომდევნო
ბრძანების ამოკითხვა და შეტანა ბრძანების რეგისტრში.
2. ბ რ ძ ა ნ ე ბ ი ს დ ე კ ო დ ი რ ე ბ ა. ოპერაციის კოდისა და
ოპერანდების დამისამართების ხერხების განსაზღვრა.
3. ო პ ე რ ა ნ დ ე ბ ი ს მისამართების გ ა მ ო თ ვ ლ ა.
თითოეული ოპერანდის საშემსრულებლო მისამართის გამოთვლა
მათი დამისამართების ხერხის ბრძანებაში მითითების შესაბამისად.
4. ო პ ე რ ა ნ დ ე ბ ი ს ა მ ო რ ჩ ე ვ ა. მეხსიერებიდან ოპე-
რანდების ამოღება. ეს ოპერაცია საჭიროა არაა რეგისტრებში მოთავ-
სებული ოპერანდებისათვის.
5. ბ რ ძ ა ნ ე ბ ი ს შ ე ს რ უ ლ ე ბ ა. მითითებული ოპერაციის
შესრულება.
6. შ ე დ ე გ ი ს ჩ ა წ ე რ ა. მეხსიერებაში შედეგის შეტანა.
168
169
9.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
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 წელს.
175
ლო ცენტრალური პროცესორი დატვირთული უნდა რჩებოდეს მთელი
დროის განმავლობაში. გარდა ამისა, იდეალური იქნება ის ვარიანტი,
როცა ბრძანების ციკლის ნებისმიერი ეტაპი სრულდება ერთი ტაქტუ-
რი პერიოდის განმავლობაში.
ბოლო პირობა შედარებით მარტივად შეიძლება განვახორციე-
ლოთ ამორჩევის ეტაპისათვის. მხოლოდ საჭიროა, რომ ყველა ბრძანე-
ბას ჰქონდეს ცენტრალური პროცესორისა და მეხსიერების შემაერთებე-
ლი მონაცემთა სალტის სიგანის ტოლი სტანდარტული სიგრძე. სხვადა-
სხვა ბრძანებისათვის შესრულების დროის უნიფიკაცია- მნიშვნელოვ-
ნად უფრო რთული ამოცანაა, ვინაიდან რეგისტრულებთან ერთად არ-
სებობენ აგრეთვე მეხსიერებაზე მიმართვის ბრძანებები.
ბრძანებების ერთნაირი სიგრძის გარდა, საჭიროა გვქონდეს დე-
კოდირებისა და მართვის შედარებით მარტივი ქვესისტემა: მართვის
რთული მოწყობილობა შეიტანს დამატებით დაყოვნებებს მართვის
სიგნალის ფორმირებაში. მართვის მოწყობილობის მნიშვნელოვანი გა-
მარტივების ცხადი გზა - ესაა შესასრულებელი ბრძანებების რიცხვის,
ბრძანებებისა და მონაცემების ფორმატების, აგრეთვე გადამისამართე-
ბის სახეების შემცირება.
ზედმეტია შეგახსენოთ, რომ ბრძანებების შეკვეცილ სიაში უნდა
დარჩნენ ისინი, რომელებიც ყველაზე ხშირად გამოიყენებიან. კვლევებ-
მა აჩვენა, რომ ტიპიური პროგრამების შესრულების 80-90% მოდის
ბრძანებების შედარებით მცირე ნაწილზე (10-20%). ყველაზე ხშირად
მოთხოვნილ მოქმედებებს მიეკუთვნებიან მონაცემთა გადაგზავნა,
არითმეტიკული და ლოგიკური ოპერაციები. ძირითადი მიზეზი, რო-
მელიც ხელს უშლის ბრძანების ციკლის ყველა ეტაპის დაყვანას ერთ
ტაქტურ პერიოდამდე, ესაა ოპერანდების ამორჩევისათვის და/ან შედე-
გების ჩაწერისათვის მეხსიერებასთან მიღწევის პოტენციური აუცილებ-
ლობა. საჭიროა მაქსიმალურად შემცირდეს იმ ბრძანებათა რიცხვი,
რომლებსაც აქვთ მეხსიერებასთან შეღწევის საშუალება. ეს მოსაზრება
RISC-ის ზემოთ მოხსენებულ პრინციპებს უმატებს კიდევ ორს:
176
- შესრულების დროს მეხსიერებასთან წვდომა ხორციელდება
მხოლოდ „წაკითხვა“ და ჩაწერა“ ბრძანებებით;
- ყველა ოპერაციას, გარდა „წაკითხვა“ და „ჩაწერა“, აქვთ ტიპი
„რეგისტრი - რეგისტრი“.
უმრავლესი ბრძანებების შესრულების გასამარტივებლად და მათ
დასაყვანად „რეგისტრი-რეგისტრი“ ტიპთან საჭიროა ცენტრალური
პროცესორი აღვჭურვოთ საერთო დანიშნულების რეგისტრების მნიშვ-
ნელოვანი რიცხვით. ცენტრალური პროცესორის რეგისტრთა ფაილში
რეგისტრების დიდი რიცხვი საშუალებას იძლევა ვუზრუნველვყოთ
მომდევნო ოპერაციებში ოპერანდების სახით გამოყენებული შუალე-
დური შედეგების დროებითი შენახვა და მეხსიერებაზე მიმართვების
რიცხვის შემცირება, ოპერაციათა შესრულების დაჩქარება. 32-ის ტოლი
რეგისტრების მინიმალური რიცხვი მიღებულია როგორც დე-ფაქტო
სტანდარტი RISC- კომპიუტერების უმრავლესი მწარმოებლისათვის.
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. სუპერსკალარული პროცესორები
180
ში რამდენიმე ეგზემპლიარად იყოს, ჩართვის ხარჯზე. ასე, მაგალითად,
Pentium III მიკროპროცესორში მთელრიცხვა არითმეტიკისა და მცუ-
რავი მძიმის ოპერაციათა ბლოკები დუბლირებულებია, ხოლო Pentium
4 და Athlon მიკროპროცესორებში - გასამებულებია. ტიპიური სუპერ-
სკალარული პროცესორის სტრუქტურა მოტანილია ნახ. 9.4-ზე. პროცე-
სორი შეიცავს ექვს ბლოკს: ბრძანებების ამორჩევის, ბრძანებების დეკო-
დირების, ბრძანებების დისპეჩერიზაციის, ბრძანებების ფუნქციურ
ბლოკებად განაწილების, შემსრულებელ ბლოკს და მდგომარეობის გა-
ნახლების ბლოკს.
ბრძანებების ამორჩევის ბლოკი ძირითადი მეხ-
სიერებიდან იღებს ბრძანებებს ბრძანებების კეშ-მეხსიერების გავლით.
ეს ბლოკი ინახავს ბრძანებათა მთვლელის რამდენიმე მნიშვნელობას
და ამუშავებს პირობითი გადასვლის ბრძანებებს.
დეკოდირების ბლოკი ახდენს კეშ-მეხსიერებიდან
ამოღებულ ბრძანებებში არსებული ოპერაციის კოდის გაშიფრას. ზოგი-
ერთ სუპერსკალარულ პროცესორში, მაგალითად Intel ფირმის მიკრო-
პროცესორებში, ამორჩევისა და დეკოდირების ბლოკები შეთავსებულია
(შერწყმულია).
დისპერეჩერიზაციისა და გ ა ნ ა წ ი ლ ე ბ ი ს ბ ლ ო-
კ ე ბ ი ურთიერთქმედებენ ერთმანეთს შორის და ერთობლიობაში სუ-
პერსკალარულ პროცესორში ასრულებენ ტრაფიკის კონტროლერის
როლს. ორივე ბლოკი ინახავს დეკოდირებული ბრძანებების რიგს. გა-
ნაწილების ბლოკის რიგი ხშირად ნაწილდება რამდენიმე დამოუკიდე -
181
ნახ. 9.4. სუპერსკალარული პროცესორის არქიტექტურა
182
თითოეული დამგროვებელი დაკავშირებულია თავის ფუნქციურ
ბლოკთან, ამიტომ დამგროვებელთა რიცხვი ჩვეულებრივ ფუნქციურ
ბლოკთა რიცხვის ტოლია, მაგრამ თუ პროცესორში გამოყენებულია
რამდენიმე ერთნაირი ფუნქციური ბლოკი, მაშინ მათ უმატებენ საერ-
თო დამგროვებელს. დისპეჩერიზაციის ბლოკისადმი დამოკიდებულე-
ბაში ბრძანებათა დამგროვებლები გამოდიან ვირტუალურ ფუნქციურ
მოწყობილობათა როლში. რიგის ორივე სახე ნაჩვენებია ნახ. 9.5-ზე. ზო-
გიერთ სუპერსკალარულ პროცესორში ისინი გაერთიანებულია ერთ
რიგში.
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
ლიტერატურა
190
ს ა რ ჩ ე ვ ი
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