Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Порівняльний аналіз форматів команд




Таким чином, як видно з попереднього пункту та прикладів із табл. 3.7, при роботі з основною пам’яттю в комп’ютерах використовуються нуль-, одно-, дво-, три- і чотири­адресні команди (рис. 3.20).

 

Рис. 3.20. Формати команд комп’ютерів

Розглянемо роботу комп’ютера з різними форматами команд на прикладі команди додавання двох чисел, яка найширше використовується. Нехай потрібно додати в АЛП число, яке знаходиться в пам’яті за адресою А, до числа, яке знаходиться в пам’яті за адресою В, і результат розмістити за адресою С:

С:= [А] + [В].

В табл. 3.7 показана послідовність команд, які потрібно виконати при використанні трьох типів описаних архітектур для виконання операції додавання двох чисел.

Таблиця 3.7

Тип архітектури
Стекова Акумуляторна На основі регістрів загального призначення
Регістр-пам’ять Регістр-регістр Пам’ять-пам’ять
Push А Load А Load R1,A Load R1,A Add A,B,C
Push В Add В Add R1,B Load R2,B  
Add Store С Store C,R1 Add R3,R1,R2  
Pop С     Store C,R3  

Тут А, В і С - адреси комірок пам’яті, в яких знаходяться числа А, В, С; Rl, R2 і R3 - адреси регістрів процесора.

При використанні триадресної команди та архітектури типу “пам’ять-пам’ять” вона символічно може бути записана наступним чином:

ADD А,В,С.

Якщо використовується двоадресна команда та архітектура типу “пам’ять-пам’ять”, то для виконання поставленої задачі необхідно виконати дві команди:

ADD А,В, яка означає [А]:= [А] + [В],

MOVE А,С, яка означає [С]:= [А],

або дві команди:

MOVE В,С, яка означає [С]:= [В],

ADD А,С, яка означає [С]:= [А] + [В].

Тут при виконанні двоадресної команди результат розміщується за адресою одного з операндів.

Одноадресна команда може бути реалізована з використанням акумуляторної архі­тектури. В цьому випадку операція С:= [А] + [В] може бути виконана послідовністю із трьох команд:

LOAD А, яка означає АКК:= [А],

ADD В, яка означає АКК:= [АКК] + [В],

STORE С, яка означає С:= [АКК].

При використанні архітектури на снові регістрів загального призначення, кожен з цих регістрів може бути використаний як акумулятор. Якщо таких регістрів г (зазвичай г рівне 8,16, 32, 64), в полі команди необхідно добавити log2r бітів (3-6 бітів) для адреса­ції регістрів, що беруть участь у виконанні операції. Це значно менше, ніж для адресації комірок пам’яті. Якщо Ri - i-й регістр регістрового файлу процесора, то команди з аку­мулятором можна замінити наступними:

LOAD A,Ri, яка означає Ргі:= [А],

ADD B,Ri, яка означає Ргі:= [Ргі] + [В],

STORE Ri,A, яка означає [А]:= [Ргі].

Такого типу команди, коли одна частина адресного поля адресує основну пам’ять, а друга - регістровий файл, іноді називаються півтора адресними. Часто в комп’ютерах використовуються команди, в адресній частині яких вказуються тільки номери регі­стрів, наприклад:

ADD Ri,Rj, яка означає Rj:= Ri + Rj

В цьому випадку команда є найкоротшою в порівнянні з іншими, та виконується в процесорі найшвидше.

Головні критерії вибору формату команд:

- чим коротша команда, тим менша ємність пам’яті потрібна для її зберігання і тим менша розрядність шини команд;

- чим більша адресність команди, тим менше відбувається звернень до пам’яті, тобто тим більша швидкодія комп’ютера.

Зазвичай шукається компромісне (оптимальне) рішення, і враховується, що розмір команди повинен бути узгодженим з розміром даних, оскільки вони зберігаються в од­ній пам’яті.

В перших комп’ютерах використовувалась архітектура на основі регістрів загально­го призначення типу “пам’ять-па в чим більша адресність команди, тим менше відбувається звернень до пам’яті, тобто тим більша швидкодія комп’ютера.

Зазвичай шукається компромісне (оптимальне) рішення, і враховується, що розмір команди повинен бути узгодженим з розміром даних, оскільки вони зберігаються в од­ній пам’яті.

В перших комп’ютерах використовувалась архітектура на основі регістрів загально­го призначення типу “пам’ять-пам’ять”. Але оскільки з розвитком елементної бази утво­рився великий розрив між швидкодією основної пам’яті та процесора, ця архітектура стала неефективною.

Після 1985 року більшість комп’ютерів будуються на основі архітектури типу регістр-пам’ять або регістр-регістр. Цьому є дві причини:

- перша - регістри процесора швидші пам’яті;

- друга - регістри простіше і ефективніше використовуються комп’ютером.

В цьому випадку найважливішим є те, що регістри можуть бути використані для зберігання змінних. Тоді зменшується об’єм обміну з пам’яттю і прискорюється вико­нання програми, оскільки регістри швидші пам’яті. Крім того, зменшується формат ко­манди, оскільки адреса регістра коротша адреси пам’яті, тому що ємність регістрового файлу менша ємності ОП. Розробнику компілятора простіше працювати коли всі регі­стри регістрового файлу еквівалентні і загальнодоступні. В комп’ютерах перших поко­лінь регістри закріплювалися для конкретних цілей і тим самим число регістрів значно зменшувалось.

Яка кількість регістрів загального призначення є ефективною? Відповідь залежить від того, як вони використовуються компілятором. Більшість компіляторів використо­вують по декілька регістрів для роботи з формулами, зберігання параметрів та змінних. Приклади комп’ютерів, в яких використовуються описані архітектури:

- регістр-регістр: SPARC, MIPS, Precision Architecture, Power PC, Alpha, Pentium IV, Athlon;

- регістр-пам’ять: Intel 80x86, Motorola 68000;

- пам’ять-пам’ять: VAX.

 




Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 760; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.