КАТЕГОРИИ: Архитектура-(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
Тут А, В і С - адреси комірок пам’яті, в яких знаходяться числа А, В, С; 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; Просмотров: 788; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |