Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 897; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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