Архитектура
Термин “архитектура ЭВМ” является одним из самых неоднозначно используемых. Можно выделить как минимум три наиболее распространенных уровня его применения: · под архитектурой понимаются любые сведения, относящиеся к устройству ЭВМ (данная трактовка встречается в основном среди пользователей, весьма поверхностно знакомых с устройством ВТ, и авторами серьезной компьютерной литературы не признается); · архитектура — это самые общие принципы устройства ЭВМ: функциональные узлы и их связь, механизм исполнения программы, принцип двоичного кодирования команд и обрабатываемых данных и т.д.; именно в этом ключе во многих книгах используется устойчивое сочетание “архитектура фон Неймана”, применимое практически к любой ЭВМ любого поколения (см. “Базовые принципы устройства”); · наконец, в наиболее узкопрофессиональном смысле термин “архитектура” используется в значении базовые принципы данного программно-совместимого семейства машин, в частности, IBM PC, Apple, PDP или MSX; в настоящей статье принята именно такая трактовка понятия. “К концу 50-х годов компания IBM, которая лидировала тогда на компьютерном рынке, решила, что производство семейства компьютеров, каждый из которых выполняет одни и те же команды, имеет много преимуществ и для самой компании, и для покупателей. Чтобы описать этот уровень совместимости, компания IBM ввела термин архитектура. Новое семейство компьютеров должно было иметь одну общую архитектуру и много разных разработок, различающихся по цене и скорости, которые могли выполнять одну и ту же программу”.
Слово “архитектура” в изначальном своем смысле используется в градостроении. Обладая достаточно сложной структурой, современный город состоит из районов, площадей, улиц, домов и т.п., расположенных определенным образом. Жителей города обычно мало интересует, как выглядит конкретный дом и из каких материалов он построен. Зато очень важно знать район, где этот дом расположен, улицы, ведущие к нему, и транспорт, пользуясь которым можно сократить время в пути. Для того чтобы ориентироваться в хитросплетении улиц и площадей, в любом городе существует исторически сложившаяся система названий, а также определенная нумерация домов. Классическим примером продуманной планировки города может служить известная система взаимно перпендикулярных улиц города Нью-Йорка (они называются avenue и street).
Архитектура и организация К архитектуре относится именно логическое построение вычислительных средств, без учета конкретных деталей их реализации. Вопросы физического построения (элементная база, емкость памяти, тактовая частота) образуют отдельный круг проблем, который принято определять понятием организация. Архитектура и организация — это две дополняющие друг друга стороны описания ЭВМ.
Машины одного семейства Целью явного формулирования основополагающих принципов служит вполне понятное стремление: все машины одного семейства независимо от их конкретного устройства и фирмы-производителя должны быть способны выполнять одну и ту же программу.
Принцип совместимости снизу вверх На практике из-за постоянного роста мощности вычислительной техники чаще используется менее жесткий принцип совместимости снизу вверх: все программы данной модели выполнимы на более старших, но не обязательно наоборот.
Использованы при программировании Из сказанного следует важный вывод, что с точки зрения архитектуры важны не все сведения о строении ЭВМ, а только те, которые могут быть хоть как-то использованы при программировании.
Приведем примеры. Математический сопроцессор исполняет специализированные команды программы, связанные с обработкой вещественных чисел; следовательно, независимо от того, представлен ли он отдельной микросхемой или находится внутри центрального процессора (начиная с Intel 80486), сопроцессор может рассматриваться как составная часть архитектуры IBM PC. Напротив, наличие кэш-памяти “невидимо” для программы: у нее нет адреса, по которому программист мог бы к ней обращаться, — значит, кэш, строго говоря, к архитектуре не относится.
Обычно относят к архитектуре ЭВМ, не претендуя на полный охват, назовем наиболее важное: методы выполнения команд программы и влияние анализа тех или иных условий на их порядок (например, условные переходы), способы доступа к памяти и внешним устройствам, возможности изменения конфигурации оборудования, принципы построения системы команд и их кодирования, форматы данных и особенности их машинного представления.
Компьютер Собственно компьютер и все его устройства принято называть аппаратным обеспечением. Поскольку компьютер — это автомат, выполняющий программу, очевидно, что для нормального функционирования аппаратной части требуются еще программы, т.е. программное обеспечение. Hardware Software
Потребности специалистов Очевидно, что наличие ПО позволяет адаптировать одно и то же компьютерное оборудование к потребностям специалистов из самых разнообразных областей. В результате и писатель, и бухгалтер, и инженер-технолог могут пользоваться абсолютно одинаковыми вычислительными машинами. С экономической точки зрения такой подход необычайно продуктивен, поскольку универсальные изделия, выпускаемые в больших количествах, получаются существенно дешевле: легче автоматизировать их производство.
Роль программной и аппаратной частей Считается, что роль программной и аппаратной частей примерно одинакова, они должны гармонично соответствовать друг другу. В частности, устанавливаемое на компьютер программное обеспечение должно соответствовать его аппаратным характеристикам, а технические возможности компьютера полностью реализуются только после установки соответствующего ПО (например, многоядерность процессоров сама по себе, без поддержки обновленного программного обеспечения, обещанного подъема производительности не обеспечит).