КАТЕГОРИИ: Архитектура-(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) |
Принципи формування системи команд комп’ютера
Команди ввeдення-виведєння Команди введення-виведення значно змінюються від одного комп’ютера до іншого. Базовими типами команд введення-виведення є програмоване введення-виведення, введення-виведення за перериваннями та прямий доступ до пам’яті. При розгляді цих способів введення-виведення будуть розглянуті і відповідні команди.
При розробці комп’ютера необхідно враховувати багато особливостей вибору системи команд. З одного боку система команд повинна бути функціонально повного, тобто комп’ютер повинен забезпечувати виконання всіх заданих функцій. З іншого боку система команд має бути ортогональною, тобто не повинна бути надлишковою. Для нового комп’ютера, який є розширенням відповідної серії, першочерговою є сумісність програми, які виконуються на одному комп’ютері, повинні виконуватись і на іншому комп’ютері. Для збільшення терміну використання важливим є розширення адресного діапазону та однорідності адресного простору. І, нарешті, важливим є розмір та організація самого формату команди. Розглянемо ці особливості детальніше Є багато рівнів повноти системи команд. На найнижчому рівні всі комп’ютерні операції можуть бути виконані на базі операції інверсії логічного множення (NAND). Відповідно команда умовного переходу, яка також зберігає вміст програмного лічильника, забезпечує виконання всіх пересилок в комп’ютері. Тому можна створити повну систему команд на базі цих операцій. Теоретично система команд комп’ютера може включати лише одну команду. Відомий комп’ютер з назвою Single Instruction Computer (SIC), який є прикладом комп’ютера з нижньою межею кількості команд Єдиною командою SIC є команда "відняти та перейти за умови, що отримано негативний результат (Subtract and Branch if Negative). Зрозуміло, що коли “запрограмувати ” цією командою усі інші команди деякої реальної машини, то шляхом повного перебирання можна довести повноту системи команд, яку складено лише з однієї команди sbn. Недоліки SIC є зрозумілими, принаймні, на прикладі програмування однією командою операції множення (ділення тощо). Тобто програми на базі простих операцій є дуже складними. Існує фундаментальний зв’язок між простотою процесора і складністю програми. Оскільки, як було показано вище, виконувати обробку даних з застосуванням однієї команди недоцільно, в реальних комп’ютерах застосовується система команд, до складу якої входить широкий спектр команд обробки даних, переміщення даних, передачі керування та введення-виведення В ранніх комп’ютерах розробники старалися включити в систему команд максимальну їх кількість з тим, щоб забезпечити програмістам гнучкість та можливість вибору найдоцільнішої для конкретного випадку команди. Але з ростом досвіду та з проведених досліджень стало зрозумілим, що далеко не всі можливі команди доцільно включати в систему команд комп’ютера. Адже, з одного боку, це ускладнює формат команди, а в результаті і сам комп’ютер, а з іншого боку, багато команд дуже рідко використовуються на практиці. Тому кращим є варіант реалізації таких команд на основі інших. Для прикладу на рис. 3.11 подано середню частоту використання команд передачі керування в різних задачах при обробці даних з фіксованою (темніший колір лінії) та з рухомою комою (світліший колір лінії).
Рис. 3.11. Середня частота використання команд передачі керування Як видно з рисунка, найчастіше використовуються команди умовного переходу, тоді як команди звертання до підпрограм і особливо команди безумовного переходу використовуються досить рідко. Зрозуміло, що при потребі скорочення кількості команд доцільно залишити саме команди умовного переходу. Більше того, зважаючи на частоту використання при реалізації, доцільно шукати шляхи прискорення виконання саме цих команд. Проаналізуємо далі самі команди умовного переходу, оскільки їх є декілька типів, і кожен тип також має свою частоту використання (рис. 3.12).
Рис. 3.12. Середня частота використання різних типів команд умовного переходу Як видно з рисунка, деякі типи команд умовного переходу в вибраних тестових програмах не використовуються взагалі (команда „більше ніж” для чисел з фіксованою та рухомою комою, команда „більше ніж або рівне” для чисел з рухомою комою), або використовуються досить рідко. Оскільки ці команди взаємозамінні, немає сенсу реалізації їх всіх і доцільно обмежитись найуживанішими. Подібний аналіз проводиться і для інших типів команд з метою оптимізації системи команд комп’ютера. Ортогональність характеризує незалежність команд. Набір команд є ортогональним, якщо існує тільки один простий шлях виконання набору операцій. Наприклад, для виконання арифметичних операцій можуть бути використані базові булеві операції, але час їх виконання в цьому випадку буде дуже великим. Це означає, що існування арифметичних операцій поряд з булевими не порушує ортогональності. Існують спеціальні оптимізуючі компілятори, які слідкують за повнотою системи команд та їх ортогональністю. Сумісність як і повнота та ортогональність має багато рівнів. Це може бути сумісність по вихідному коду, або по одному з об’єктних кодів. Близьким до сумісності є поняття взаємозамінності, тобто можливості виконання тієї ж програми на різних апаратних засобах.
Дата добавления: 2014-11-06; Просмотров: 934; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |