- •Глава 2. Многоуровневая организация компьютера. Архитектура и структура компьютера
- •2.1 Сущность многоуровневой организации компьютера
- •2.2. Современные многоуровневые компьютеры
- •2.3. Развитие многоуровневых компьютеров
- •2.4. Аппаратное и программное обеспечение логически эквивалентны
- •2.5. Изобретение микропрограммирования
- •2.6. Изобретение операционной системы
- •2.7. Смещение функциональности на уровень микрокода
- •2.8. О терминах "архитектура и структура" компьютера
- •2.9. Методы исследования сложных систем
- •Контрольные вопросы
2.7. Смещение функциональности на уровень микрокода
С 1970 года, когда получило развитие микропрограммирование, у производителей появилась возможность вводить новые машинные команды расширением микропрограмм, то есть путем программирования. Это открытие привело к виртуальному взрыву в производстве программ компьютерных команд, поскольку производители начали конкурировать друг с другом, стараясь выпустить лучшие программы. Эти команды не представляли особой ценности, поскольку те же задачи можно было легко решить, используя уже существующие программы, но обычно они работали немного быстрее. Например, во многих компьютерах использовалась команда INC (INCrement), которая прибавляла к числу единицу. Тогда уже существовала общая команда сложения ADD, и не было необходимости вводить новую команду, прибавляющую к числу единицу. Тем не менее команда INC работала немного быстрее, чем ADD, поэтому ее также включили в набор команд.
2.8. О терминах "архитектура и структура" компьютера
При описании компьютеров принято различать их архитектуру и структуру.
По одному из определений «Архитектура виртуального компьютера – это абстрактное представление или определение этого компьютера с точки зрения программиста, разрабатывающего программы на языке этого виртуального компьютера».
«Архитектура физического компьютера – это абстрактное представление или определение этого физического компьютера с точки зрения программиста, разрабатывающего программы на машинно-ориентированном языке, или разработчика компилятора с языков более высоких уровней на машинно-ориентированный язык».
Архитектура определяет принципы организации компьютера и функции процессора и не отражает такие проблемы, как управление и передача данных внутри процессора, между процессором и другими компонентами компьютера, конструктивные особенности логических микросхем и специфика их производства.
Таким образом, термин архитектура компьютера относится к тем характеристикам компьютера, которые доступны извне, т.е. со стороны программы, или, с другой точки зрения, оказывают непосредственное влияние на логику выполнения программы.
В число характеристик архитектуры входят:
- набор машинных команд;
- форматы и представление данных;
- методы адресации памяти;
- механизм обращения к средствам ввода-вывода и ряд других.
Под термином структура (структурная организация) компьютера подразумевается совокупность операционных блоков (устройств) и их взаимосвязей, обеспечивающая реализацию спецификаций, заданных архитектурой компьютера.
Характеристики структурной организации включают скрытые от программиста детали аппаратной реализации компьютера – управляющие сигналы, аппаратные интерфейсы, количество операционных устройств, ширина и вид связей между компонентами компьютера, параметры отдельных устройств и т.п.
Например, вопрос о том, следует ли в набор машинных команд включить команду умножения, относится к компетенции специалиста, разрабатывающего архитектуру компьютера, а вопрос, как организовать выполнение команды умножения — с помощью специальной матричной схемы или с помощью многократного обращения к блоку суммирования — должен решать специалист по структурной организации. Он принимает решение на основании имеющейся априорной информации о частоте выполнения команд умножения в той области применения, для которой проектируется система, соотношении между временами выполнения команды в альтернативных вариантах реализации, стоимости соответствующих средств и их физических размерах.
История развития вычислительной техники и современная практика проектирования компьютеров свидетельствуют о том, что разделение между структурной организацией и архитектурой имеет отнюдь не академический интерес. Многие фирмы — производители компьютерного оборудования предлагают на рынках целые семейства компьютеров, все члены которого имеют единую архитектуру, но отличаются структурной организацией. В результате разные модели семейства имеют разную цену и производительность. Опыт разработки семейств компьютеров показал, что архитектура может быть довольно консервативной и сохраняться на протяжении длительного времени, в то время как структурная организация быстро изменяется вслед за изменениями в технологии производства отдельных компонентов системы. Прекрасным примером тому может служить история персональных компьютеров. Архитектура IA-32, впервые воплощенная в процессоре Intel 80386 в 1985 г. и сегодня реализуется во всех процессорах этой фирмы.
В течение последующих лет различные фирмы разработали много моделей компьютеров с той же базовой архитектурой, в которых использовалась более совершенная и менее дорогая элементная база, новые принципы организации выполнения командя, новые типы интерфейсов периферийных устройств и другие усовершенствования. В результате, по сравнению с предыдущими моделями, значительно возростала производительность компьютеров при одновременном снижении цены, и в то же время сохранялась программная совместимость.
Под программной совместимостью понимается способность новых моделей компьютеров выполнять ранее разработанные программы, существующие в двоичном виде.
Изменялась ли архитектура новых компьютеров по сравнению с первым вариантом архитектуры? Да, но все нововведения не затрагивали базовую архитектуру IA-32, а были ее расширениями. Это позволило во всех новых компьютерах обеспечить программную совместимость с ранее разработанными программами. В то же время программы, разработанные с использованием расширений архитектуры позволяют существенно увеличить производительность компьютера при их выполнении.
