Меркулов В.И., Дрогалин В.В. Авиационные системы радиоуправления. Том 2 (2003) (1151998), страница 22
Текст из файла (страница 22)
Открытыми СОТ8-технологиями стандартами де-факто можно назвать ряд известных операционных систем (ОС) общего назначения ((ЛЧ1Х и др.) и реального времени (Чх9Уогкв, 089, р808+, ЧИХ, ОХХ, 08Е, 1.упх08) и, соответственно, широкий класс инструментальных технологий разработки программного обеспечения (ПО) с использованием языков: С/С++, АДА и т.п. В СОТ8-технологии попадают архитектуры процессоров, сетей, графики; инструментальные программные технологии, прикладное и инструментальное ПО для различных ОС, полупроводниковые технологии и т.д., вплоть до идеологии (алгоритмы, методологии) продуктов.
Таким образом, сегодня для реализации спецсистем в подавляющем большинстве случаев ставится вопрос о выборе и адаптации ряда конкретных компьютерных СОТб-технологий, а не разработка новой сквозной технологии. СОТ8-технологии — зто инструмент создания систем, их технологическая основа. Они позволяют использовать огромный парк готовых покупных аппаратных и программных компонентов, при необходимости разрабатывать и производить собственные оригинальные модули и программное обеспечение, концентрируя основные усилия на внедрении и сопровождении собственной целевой системы, разработке прикладного ПО в минимальные сроки. В условиях быстрого морального старения микросхемных наборов при наличии сменных стандартных модулей и интерфейсов упрощается модернизация системы.
Применение технологии открытых систем предполагает знание международных интерфейсов (стандартов), позволяющих создавать программно-аппаратные средства, конфигурация которых определяется назначением системы. 9.3. ВЫЧИСЛИТЕЛЬНЫЕ СРЕДСТВА ДЛЯ БВС 9.3.1. АРХИТЕКТУРА И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ СРЕДСТВ Важнейшими компонентами любой компьютерной системы (подсистемы) являются оперативная (или главная) память, центральный процессор (ЦП), подсистема ввода/вывода, система магистралей (ком- 115 мутаторов), обеспечивающая взаимодействие всех перечисленных компонентов, и системное программное обеспечение !31).
При описании вычислительных систем принято различать их архитектуру и структурную организацию. Архитектури вычисзитеяьной систел~ы — система основных функциональных средств, доступных пользователю, и принципов организации процесса переработки информации на уровне операций над массивами и задачами в целом. В число характеристик архитектуры входят набор машинных команд, формат разрядной сетки для представления данных разных типов, механизм обращения к средствам ввода- вывода н метод адресации памяти. Система команд компьютера представляет собой встраиваемый в компьютер машинный язык (ЯО), на котором человек может общаться с компьютером. Однако использование такого примитивного машинного языка неудобно для человека и с течением времени появился ряд уровней языков (абстракций), каждый из которых надстраивается над языком более низкого уровня.
Таким образом преодолеваются сло>кности при общении человека с компьютером. Если для выполнения программы, написанной на языке Я1, каждая команда Я1 заменяется на эквивалентный набор команд в языке ЯО исполняющей машины, имеет место трансляция. В этом случае вместо исходной программы на Я1 выполняется объектная программа на ЯО. Если после выборки каждой команды из программы на Я1 происходит выполнение эквивалентного ей набора команд на ЯО, то имеет место интерпретация. Программа, выполняющая такой перевод называется интерпретатором. При применении обоих методов компьютер в конечном итоге выполняет набор команд на языке ЯО, эквивалентных командам Я1.
Однако следует помнить, что процесс программной интерпретации языка более высокого уровня требует дополнительного времени для своего выполнения. Создание целого ряда языков, каждый из которых более удобен для человека, чем предыдущий, продолжается и по сей день. В общем случае, архитектура компьютера может рассматриваться в виде ряда уровней, связи между которыми показаны на рис.
9.2. Под структурной организацией котпьюзперной систел~ы подразул~евается совокупность опериционных блоков (усзпройсзпв) и их взаилюсвязей„обеспечиваюи(ая реализицню спецификаций, задинных ирхитектурой колтьютера. 116 Уронил Язык ЯЗ коынилясор) Язык Я2 (ассемблер) Язык Я) (ассемблер) Язык ЯО ия (мюсролросрамма) потаенное исполнение операций Микропрограмма обеспечение Рис. 9.2 Структура компьютерной системы включает в себя скрытые от программиста детали аппаратной реализации системы — управляющие сигналы, аппаратный интерфейс между процессором и периферийным оборудованием, функционирование памяти. Наиболее распространенным способом организации связей между основными компонентами компьютеров являются магистрали (или шины), вариантов построения н конструкций которых имеется достаточно много. Прн проектировании подсистемы памяти перед конструктором стоит задача„которую каждый раз приходится решать по-новому.
Необходимо увязать три противоречивых требования: обеспечить как можно больший объем памяти, как можно меньшее время обращения к ней и как можно меньшую стоимость устройства. 117 Для подавляющего большинства современных приложений требуется, чтобы система располагала очень большими ресурсами памяти. Поэтому одной оперативной памяти в составе вычислительной системы оказывается недостаточно.
В частности, постоянным компонентом всех современных компьютерных систем общего назначения являются устройства внешней памяти. Для нынешнего этапа развития технологии в области систем памяти характерны следующие особенности: чем больше объем требуемой памяти в системе, тем потенциально ниже может быть быстродействие; чем выше требуемое быстродействие, тем выше относительная стоимость запоминающего устройства (ЗУ) (в пересчете на бит хранимой информации); чем больше объем памяти в системе, тем ниже относительная (на бит информации) стоимость ЗУ.
Разрешить эти противоречия можно, включив в состав вычислительной системы иерарРсгнстрм хически организованное ЗУ, в котором используют виды памяти, созданные на базе разных 1.го уровня технологий (рис. 9.3). При этом КЭШ-память на верхнем уровне иерархии ис- 2 го уровня пользуются более быстродейст- вующие виды памяти, но меньше- Главная (оператявная) пенять го объема, на нижних последую- щих — менее быстродействующие, В нееп няя паняеь но все большего обьема. КлючеРне. 9.3 вым вопросом, решение которого обеспечивает успех такого разделения памяти, является организация потоков информации в системе, обеспечивающая по мере перехода от устройств верхних уровней иерархии к устройствам нижних уровней снижение интенсивности обращений к соответствующим уровням. Извлечь положительный эффект из объективно присущего программам, написанным на процедурных языках, свойства локальности ссылок позволяет, например, двухуровневая организация оперативной памяти, когда наряду с оперативной памятью большого объема применяется быстродействующая память небольшого объема (КЭШ-память).
Свойство локальности состоит в том, что, если программа обратится к какому-то элементу данных, этот элемент может вскоре понадобиться вновь. Это локальность во времени. Кроме того, вскоре могут 118 потребоваться элементы данных, адреса которых мало отличаются от адреса данных, используемых в настоящий момент. Это локальность в пространстве. Свойство локальности ссылок в текстах программ составляет основу организации всех систем КЭШ-памяти. В работе устройств ввода-вывода основное внимание уделяется организации взаимодействия устройств ввода-вывода с прочими компонентами компьютерной системы, в частности, методам программного ввода- вывода по прерыванию и прямого доступа к памяти.
Оптимизируются также интерфейсы между модулями ввода-вывода и внешними устройствами. Совершенствование вычислительной техники в направлении повышения производительности, надежности, живучести, удобства программирования и использования (эксплуатации) представляет собой непрерывную цепь изменений архитектуры, структуры и элементной базы компьютеров и вычислительных систем. Развитие архитектуры определяется совершенствованием языков программирования, а развитие структуры — прогрессом элементной базы и стремлением наилучшим образом реализовать требуемую архитектуру. В языках программирования допускается широкая вариация типов данных и создание новых типов.