Интерфейсы внешних запоминающих устройств IBM PC

advertisement
Архитектура ЭВМ. Вычислительные системы, сети, телекоммуникации.
Глава 1. ПРИНЦИПЫ ПОСТРОЕНИЯ И АРХИТЕКТУРА ЭВМ
1.2. Классификация средств ЭВТ
1.3. Общие принципы построения современных ЭВМ
1.4. Функции программного обеспечения
1.5. Персональные ЭВМ
ГЛАВА 2. ИНФОРМАЦИОННО-ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ
2.1. Системы счисления
2.1.1. Перевод целых чисел
2.1.2. Перевод дробных чисел
2.2. Представление информации в ЭВМ
2.2.1. Представление числовой информации
2.2.2. Представление других видов информации
2.3. Арифметические основы ЭВМ
2.3.1. Машинные коды
2.3.2. Арифметические операции над числами с фиксированной точкой
2.3.3. Арифметические операции над двоичными числами с плавающей точкой
2.3.4. Арифметические операции над двоично-десятичными кодами чисел
2.4.1.Основные сведения из алгебры логики
2.4.2. Законы алгебры логики
2.4.3. Понятие о минимизации логических функций
2.4.4. Техническая интерпретация логических функций
ГЛАВА 3. КЛАССИФИКАЦИЯ ЭЛЕМЕНТОВ И УЗЛОВ
3.1. Классификация элементов и узлов ЭВМ
3.2. Комбинационные схемы
3.3. Схемы с памятью
3.4. Проблемы развития элементной базы
ГЛАВА 4. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ
4.1. Общие принципы функциональной и структурной организации ЭВМ
4.2. Организация функционирования ЭВМ с магистральной архитектурой
4.3. Организация работы ЭВМ при выполнении задания пользователя
4.4.1. Отображение адресного пространства программы на основную память
4.4.2. Адресная структура команд микропроцессора и планирование ресурсов
4.4.3. Виртуальная память
4.5. Система прерываний ЭВМ
Глава 5. ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ
5.1 Основная память
5.1.1. Состав, устройство и принцип действия основной памяти
5.1.2. Размещение информации в основной памяти IBM PC
5.1.3. Расширение основной памяти IBM PC
5.2 Центральный процессор ЭВМ
5.2.1. Структура базового микропроцессора
5.2.2. Система команд микропроцессора
5.2.3. Взаимодействие элементов при работе микропроцессора
5.2.4. Работа микропроцессора при выполнении программного прерывания
Глава 6. УПРАВЛЕНИЕ ВНЕШНИМИ УСТРОЙСТВАМИ
6.1. Принципы управления
6.2. Прямой доступ к памяти
6.3. Интерфейс системной шины
6.4. Интерфейсы внешних запоминающих устройств IBM PC
6.5.Способы организации совместной работы периферийных и центральных устройств
6.6. Последовательный и параллельный интерфейсы ввода-вывода
Глава 7. ВНЕШНИЕ УСТРОЙСТВА ЭВМ
7.1.Системы визуального отображения информации (видеосистемы)
7.2. Клавиатура
1
7.3. Принтер
7.4. Сканер
7.5. Анимационные устройства ввода-вывода
7.6. Устройства ввода-вывода звуковых сигналов
7.6.2. Ввод в ЭВМ и машинный синтез речи
7.6.3. Программное обеспечение для работы со звуковой информацией
Глава 8. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА (ВЗУ)
8.1. Внешние запоминающие устройства на гибких магнитных дисках
8.2. Накопитель на жестком магнитном диске
8.3. Стриммер
8.4. Оптические запоминающие устройства
Глава 9. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
9.1. Структура программного обеспечения ЭВМ
9.2. Операционные системы
9.3. Системы автоматизации программирования
9.4. Пакеты программ
9.5. Комплекс программ технического обслуживания
9.6. Режимы работы ЭВМ
Глава 10. ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
10.1. Классификация вычислительных систем
10.2. Архитектура вычислительных систем
10.3. Комплексирование в вычислительных системах
10.4. Типовые структуры вычислительных систем
10.5. Организация функционирования вычислительных систем
Глава 1. ПРИНЦИПЫ ПОСТРОЕНИЯ И АРХИТЕКТУРА ЭВМ
1.1. Основные характеристики ЭВМ
Первые электронные вычислительные машины (ЭВМ) появились всего лишь 50 лет тому назад. За это
время микроэлектроника, вычислительная техника и вся индустрия информатики стали одними из
основных составляющих мирового научно-технического прогресса. Влияние вычислительной техники
на все сферы деятельности человека продолжает расширяться вширь и вглубь. В настоящее время ЭВМ
используются не только для выполнения сложных расчетов, но и в управлении производственными
процессами, в образовании, здравоохранении, экологии и т.д. Это объясняется тем, что ЭВМ способны
обрабатывать любые виды информации: числовую, текстовую, табличную, графическую, видео,
звуковую.
Электронная вычислительная машина - комплекс технических и программных средств,
предназначенный для автоматизации подготовки и решения задач пользователей. Под пользователем
понимают человека, в интересах которого проводится обработка данных на ЭВМ. В качестве
пользователя могут выступать заказчики вычислительных работ, программисты, операторы. Как
правил?, время подготовки задач во много раз превышает время их решения.
Требования пользователей к выполнению вычислительных работ удовлетворяются специальным
подбором и настройкой технических и программных средств. Обычно эти средства взаимосвязаны и
объединяются в одну структуру.
Структура - совокупность элементов и их связей. Различают структуры технических, программных и
аппаратурно-программных средств. Выбирая ЭВМ для решения своих задач, пользователь интересуется
функциональными возможностями технических и программных модулей (как быстро может быть
решена задача, насколько ЭВМ подходит для решения данного круга задач, какой сервис программ
имеется в ЭВМ, возможности диалогового режима, стоимость подготовки и решения задач и т.д.). При
этом пользователь интересуется не конкретной технической и программной реализацией отдельных
модулей, а более общими вопросами возможности организации вычислений. Последнее включается в
понятие архитектуры ЭВМ, содержание которого достаточно обширно.
Архитектура ЭВМ - это многоуровневая иерархия аппаратурно-программных средств, из которых
строится ЭВМ. Каждый из уровней допускает многовариантное построение и применение. Конкретная
реализация уровней определяет особенности структурного построения ЭВМ. В последующих разделах
учебника эти вопросы подробно рассматриваются.
2
Детализацией архитектурного и структурного построения ЭВМ занимаются различные категории
специалистов вычислительной техники. Инженеры-схемотехники проектируют отдельные технические
устройства и разрабатывают методы их сопряжения друг с другом. Системные программист создают
программы управления техническими средствами, информационного взаимодействия между уровнями,
организации вычислительного процесса. Программисты-прикладники разрабатывают пакеты программ
более высокого уровня, которые обеспечивают взаимодействие пользователей с ЭВМ и необходимый
сервис при решении ими своих задач.
Самого же пользователя интересуют обычно более общие вопросы, касающиеся его взаимодействия с
ЭВМ (человеко-машинного интерфейса), начиная со следующих групп характеристик ЭВМ,
определяющих ее структуру:
 технические и эксплуатационные характеристики ЭВМ (быстродействие и
производительность, показатели надежности, достоверности, точности, емкость оперативной
и внешней памяти, габаритные размеры, стоимость технических и программных средств,
особенности эксплуатации и др.);
 характеристики и состав функциональных модулей базовой конфигурации ЭВМ;
возможность расширения состава технических и программных средств; возможность
изменения структуры;
 состав программного обеспечения ЭВМ и сервисных услуг (операционная система или среда,
пакеты прикладных программ, средства автоматизации программирования).
Классификация средств ЭВТ
В настоящее время в мире произведены, работают и продолжают выпускаться миллионы
вычислительных машин, относящихся к различным поколениям, типам, классам, отличающихся своими
областями применения, техническими характеристиками и вычислительными возможностями.
Традиционно электронную вычислительную технику (ЭВТ) подразделяют на аналоговую и цифровую.
В аналоговых вычислительных машинах (АВМ) обрабатываемая информация представляется
соответствующими значениями аналоговых величин:
тока, напряжения, угла поворота какого-то механизма и т.п. Эти машины обеспечивают приемлемое
быстродействие, но не очень высокую точность вычислений (0.001-0.01). Распространены подобные
машины не очень широко. Они используются в основном в проектных и научно-исследовательских
учреждениях в составе различных стендов по отработке сложных образцов техники. По своему
назначению их можно рассматривать как специализированные вычислительные машины.
В настоящее время под словом ЭВМ обычно понимают цифровые вычислительные машины, в которых
информация кодируется двоичными кодами чисел. Именно эти машины благодаря универсальным
возможностям и являются самой массовой вычислительной техникой.
Рынок современных компьютеров отличается разнообразием и динамизмом, каких еще не знала ни одна
область человеческой деятельности. Каждый год стоимость вычислений сокращается примерно на 2530%, стоимость хранения единицы информации - до 40%. Практически каждое десятилетие меняется
поколение машин, каждые два года - основные типы микропроцессоров - СБИС, определяющих
характеристики новых ЭВМ. Такие темпы сохраняются уже многие годы.
То, что 10-15 лет назад считалось современной большой ЭВМ, в настоящее время является устаревшей
техникой с очень скромными возможностями. Современный персональный компьютер с
быстродействием в десятки и сотни миллионов операций в секунду становится доступным средством
для массового пользователя.
В этих условиях любая предложенная классификация ЭВМ очень быстро устаревает и нуждается в
корректировке. Например, в классификациях десятилетней давности широко использовались названия
мини-, миди- и микроЭВМ, которые почти исчезли из обихода. Вместе с тем существует целый ряд
закономерностей развития вычислительной техники, которые позволяют предвидеть и предсказывать
основные результаты этого поступательного движения. Необходимо анализировать традиционные и
новые области применения ЭВМ, классы и типы используемых вычислительных средств, сложившуюся
конъюнктуру рынка информационных технологий и его динамику, количество и качество
вычислительной техники, выпускаемой признанными лидерами - производителями средств ЭВТ и т.д.
Коротко рассмотрим эти основные вопросы, выяснение которых позволит понять, какая вычислительная
техника требуется для решения определенных задач.
Академик В.М. Глушков указывал, что существуют три глобальные сферы деятельности человека,
которые требуют использования качественно различных типов ЭВМ.
3
Первое направление является традиционным - применение ЭВМ для автоматизации вычислений.
Научно-техническая революция во всех областях науки и техники постоянно выдвигает новые научные,
инженерные, экономические задачи, которые требуют проведения крупномасштабных вычислений
(задачи проектирования новых образцов техники, моделирования сложных процессов, атомная и
космическая техника и др.). Отличительной особенностью этого направления является наличие хорошей
математической основы, заложенной развитием математических наук и их приложений. Первые, а затем
и последующие вычислительные машины классической структуры в первую очередь и создавались для
автоматизации вычислений.
Вторая сфера применения ЭВМ связана с использованием их в системах управления. Она родилась
примерно в 60-е годы, когда ЭВМ стали интенсивно внедряться в контуры управления автоматических
и автоматизированных систем. Математическая база этой новой сферы практически отсутствовала, в
течение последующих 15-20 лет она была создана.
Новое применение вычислительных машин потребовало видоизменения их структуры. ЭВМ,
используемые в управлении, должны были не только обеспечивать вычисления, но и автоматизировать
сбор данных и распределение результатов обработки.
Сопряжение с каналами связи потребовало усложнения режимов работы ЭВМ, сделало их
многопрограммными и многопользовательскими. Для исключения взаимных помех между программами
пользователей в структуру машин были введены средства разграничения: блоки прерываний и
приоритетов, блоки защиты и т.п. Для управления разнообразной периферией стали использоваться
специальные процессоры ввода-вывода данных или каналы. Именно тогда и появился дисплей как
средство оперативного человеко-машинного взаимодействия пользователя с ЭВМ.
Новой сфере работ в наибольшей степени отвечали мини-ЭВМ. Именно они стали использоваться для
управления отраслями, предприятиями, корпорациями. Машины нового типа удовлетворяли
следующим требованиям:

были более дешевыми по сравнению с большими ЭВМ, обеспечивающими централизованную
обработку данных;

были более надежными, особенно при работе в контуре управления;

обладали большой гибкостью и адаптируемостью настройки на конкретные условия
функционирования;

имели архитектурную прозрачность, т.е. структура и функции ЭВМ были понятны
пользователям.
Начало выпуска подобных ЭВМ связано с малыми управляющими машинами PDP фирмы DEC. Термин
“мини-ЭВМ” появился в 1968 г. применительно к модели PDP-8. В настоящее время использование
мини-ЭВМ сокращается. Исчезает и термин мини-ЭВМ. На смену им приходят ЭВМ других типов:
серверы, обеспечивающие диспетчерские функции в сетях ЭВМ, средние ЭВМ или старшие модели
персональных ЭВМ (ПЭВМ).
Одновременно со структурными изменениями ЭВМ происходило и качественное изменение характера
вычислений. Доля чисто математических расчетов постоянно сокращалась, и в настоящее время она
составляет около 10% от всех вычислительных работ. Машины все больше стали использоваться для
новых видов обработки: текстов, графики, звука и др.
Третье направление связано с применением ЭВМ для решения задач искусственного интеллекта.
Напомним, что задачи искусственного интеллекта предполагают получение не точного результата, а
чаще всего осредненного в статистическом , вероятностном смысле. Примеров подобных задач много:
задачи робототехники, доказательства теорем, машинного перевода текстов с одного языка на другой,
планирования с учетом неполной информации, составления прогнозов, моделирования сложных
процессов и явлений и т.д. Это направление все больше набирает силу. Во многих областях науки и
техники создаются и совершенствуются базы данных и базы знаний, экспертные системы. Для
технического обеспечения этого направления нужны качественно новые структуры ЭВМ с большим
количеством вычислителей (ЭВМ или процессорных элементов), обеспечивающих параллелизм в
вычислениях. По существу, ЭВМ уступают место сложнейшим вычислительным системам.
Уже это небольшое перечисление областей применения ЭВМ показывает, что для решения различных
задач нужна соответственно и различная вычислительная техника. Поэтому рынок компьютеров
постоянно имеет широкую градацию классов и моделей ЭВМ. Фирмы-производители средств ВТ очень
внимательно отслеживают состояние рынка ЭВМ. Они не просто констатируют отдельные факты и
тенденции, а стремятся активно воздействовать на них и опережать потребности потребителей. Так,
4
например, фирма IBM, выпускающая примерно 80% мирового машинного “парка”, в настоящее время
выпускает в основном четыре класса компьютеров, перекрывая ими широкий класс задач
пользователей.
• Большие ЭВМ (mainframe), которые представляют собой многопользовательские машины с
центральной обработкой, с большими возможностями для работы с базами данных, с различными
формами удаленного доступа. Казалось, что с появлением быстропрогрессирующих ПЭВМ большие
ЭВМ обречены на вымирание. Однако они продолжают развиваться и выпуск их снова стал
увеличиваться , хотя их доля в общем парке постоянно снижается. По оценкам IBМ, около половины
всего объема данных в информационных системах мира должно храниться именно на больших
машинах. Новое их поколение предназначено для использования в сетях в качестве крупных серверов.
Начало этого направления было положено фирмой IBM еще в 60-е годы выпуском машин IBM/360,
IBM/370. Эти машины получили широкое распространение в мире. Новая серия машин S/390
продолжает эту линию. Она насчитывает более двух десятков моделей: a) IBM S/390 Parallel Enterprise
Server-Generation 3 (13 моделей) - призваны заменить большие ЭВМ ранних моделей. Они позволяют
задавать переменную конфигурацию (число процессоров - 1-10, емкость оперативной памяти - 51281292 Мбайта, число каналов - 3-256); б) IBM S/ 390 Multiprise 2000 (тоже 13 моделей) - ориентированы
на использование на средних предприятиях (число процессоров 1-5).Развитие ЭВМ данного класса
имеет большое значение для России. В 1970-1990 гг. основные усилия нашей страны в области
вычислительной техники были сосредоточены на программе ЕС ЭВМ (Единой системы ЭВМ),
заимствовавшей архитектуру IBM 360/370. Было выпущено несколько десятков тысяч ЭВМ этой
системы. Более пяти тысяч ЭВМ серии ЕС еще продолжают работать в различных учреждениях и
производствах. Большинство АСУ верхнего уровня государственного управления в РФ (в силовых
структурах, банках, на транспорте, связи и т.д.) оснащено этими машинами. Накоплен громадный
программно-информационный задел, который следует рассматривать как элемент национального
достояния (по стоимости) и элемент национальной безопасности (по стратегической значимости).
Поэтому принято решение на дальнейшее развитие этого направления. После подписания соглашения с
фирмой IBM в марте 1993 г. Россия получила право производить 23 новейшие модели-аналоги ЭВМ
IBM S/390 с производительностью от 1,5 до 167 млн. операций в секунду. По расходам на управление и
эксплуатацию эти машины оказываются эффективнее других вычислительных средств.
• Машины RS/6000 - очень мощные по производительности и предназначенные для построения рабочих
станций для работы с графикой, Unix-серверов, кластерных комплексов. Первоначально эти машины
предполагалось применять для обеспечения научных исследований.
• Средние ЭВМ, предназначенные в первую очередь для работы в финансовых структурах (ЭВМ типа
AS/400 (Advanced Portable Model 3) -“бизнес-компьютеры”, 64-разрядные). В этих машинах особое
внимание уделяется сохранению и безопасности данных, программной совместимости и т.д. Они могут
использоваться в качестве серверов в локальных сетях.
• Компьютеры на платформе микросхем фирмы Intel. IBM-совместимые компьютеры этого класса
составляют примерно 50% рынка всей компьютерной техники. Более половины их поступает в сферу
малого бизнеса. Несмотря на столь внушительный объем выпуска персональных компьютеров этой
платформы, фирма ШМ проводит большие исследования и развитие собственной альтернативной
платформы, получившей название Power PC. Это направление позволило бы значительно улучшить
структуру аппаратурных средств ПК, а значит, и эффективность их применения. Однако новые модели
этой платформы пока не выдерживают конкуренции с IBM PC. Немаловажным здесь является и
неразвитость рынка программного обеспечения. Поэтому у массового пользователя это направление
спроса не находит, и доля компьютеров с процессорами Power PC незначительна.
Кроме перечисленных типов вычислительной техники, необходимо отметить класс вычислительных
систем, получивший название “суперЭВМ”, С развитием науки и техники постоянно выдвигаются
новые крупномасштабные задачи, требующие выполнения больших объемов вычислений. Особенно
эффективно применение суперЭВМ при решении задач проектирования, в которых натурные
эксперименты оказываются дорогостоящими, недоступными или практически неосуществимыми. В
этом случае ЭВМ позволяет методами численного моделирования получить результаты
вычислительных экспериментов, обеспечивая приемлемое время и точность решения, т.е. решающим
условием необходимости разработки и применения подобных ЭВМ является экономический показатель
“производительность/стоимость”. Например, при создании суперЭВМ GF-11 (Gigaflop-11) с
быстродействием 11 млрд. операций в секунду предварительные расчеты, проведенные фирмой ЮМ,
показали, что применение этой системы позволит решить целый комплекс новых задач. Одной из таких
5
задач было уточнение массы протона на основе квантовой хромодинамики - доминирующей теории,
пытающейся описать первичную структуру материи. При использовании новой ЭВМ должна была быть
выполнена эта работа за 1,5 - 4 месяца с точностью 10%. Решение же этой задачи на существующей
вычислительной технике требовало около 15 лет. Еще одним примером крупномасштабных задач
следует считать задачу разработки новых схем СБИС для следующих поколений ЭВМ. СуперЭВМ
позволяют по сравнению с другими типами машин точнее, быстрее и качественнее решать подобные
задачи, обеспечивая необходимый приоритет в разработках перспективной вычислительной техники.
Дальнейшее развитие суперЭВМ связывается с использованием направления массового параллелизма,
при котором одновременно могут работать сотни и даже тысячи процессоров. Образцы таких машин
уже выпускаются несколькими фирмами:

nCube (гиперкубическиеЭВМ),

Connection Machine,

Mass Par,

NCR/Teradata,

KSR,

ШМ RS/6000,

MPP идр.
Необходимо отметить и еще один класс наиболее массовых средств ЭВТ - встраиваемые
микропроцессоры. Успехи микроэлектроники позволяют создавать миниатюрные вычислительные
устройства, вплоть до однокристальных ЭВМ. Эти устройства, универсальные по характеру
применения, могут встраиваться в отдельные машины, объекты, системы. Они находят все большее
применение в бытовой технике (телефонах, телевизорах, электронных часах, микроволновых печах и
т.д.), в городском хозяйстве (энерго-, тепло- , водоснабжении, регулировке движения транспорта и т.д.),
на производстве (робототехнике, управлении технологическими процессами). Постепенно они входят в
нашу жизнь, все больше изменяя среду обитания человека.
Таким образом, можно предложить следующую классификацию средств вычислительной техники, в
основу которой положено их разделение по быстродействию.

СуперЭВМ для решения крупномасштабных вычислительных задач, для обслуживания
крупнейших информационных банков данных.

Большие ЭВМ для комплектования ведомственных, территориальных и региональных
вычислительных центров.

Средние ЭВМ широкого назначения для управления сложными технологическими
производственными процессами. ЭВМ этого типа могут использоваться и для управления
распределенной обработкой информации в качестве сетевых серверов.

Персональные и профессиональные ЭВМ, позволяющие удовлетворять индивидуальные
потребности пользователей. На базе этого класса ЭВМ строятся автоматизированные рабочие
места (АРМ) для специалистов различного уровня.

Встраиваемые микропроцессоры, осуществляющие автоматизацию управления отдельными
устройствами и механизмами.
Высокие скорости вычислений, обеспечиваемые ЭВМ различных классов, позволяют перерабатывать и
выдавать все большее количество информации, что, в свою очередь, порождает потребности в создании
связей между отдельно используемыми ЭВМ. Поэтому все современные ЭВМ в настоящее время имеют
средства подключения к сетям связи и комплексирования в системы.
Перечисленные типы ЭВМ, которые должны использоваться в индустриально развитых странах,
образуют некое подобие пирамиды с определенным соотношением численности ЭВМ каждого слоя и
набором их технических характеристик. Распределение вычислительных возможностей по слоям
должно быть сбалансировано. Например, система обработки данных, используемая на Олимпийских
играх в Атланте, содержала: 4 больших ЭВМ S/390,16 систем RS/6000, более 80 систем AS/400, более
7000 IBM PC, более 1000 лазерных принтеров, более 250 локальных сетей Token Ring и др. Многие
ПЭВМ имели сопряжение с датчиками скорости, времени и т.д.
Требуемое количество суперЭВМ для отдельной развитой страны, такой, как Россия, должно составлять
100-200 шт., больших ЭВМ - тысячи, средних - десятки и сотни тысяч, ПЭВМ - миллионы,
встраиваемых микроЭВМ - миллиарды. Все используемые ЭВМ различных классов образуют
машинный парк страны, жизнедеятельность которого и его информационное насыщение определяют
успехи информатизации общества и научно-технического прогресса страны. Формирование
6
сбалансированного машинного парка является сложной политической, экономической и социальной
проблемой, решение которой требует многомиллиардных инвестиций. Для этого должна быть
разработана соответствующая структура: создание специальных производств (элементной базы ЭВМ,
программного обеспечения и технических связей), смена поколений машин и технологий, изменение
форм экономического и административного управления, создание новых рабочих мест и т.д.
Общие принципы построения современных ЭВМ
Основным принципом построения всех современных ЭВМ является программное управление. В основе
его лежит представление алгоритма решения любой задачи в виде программы вычислений.
“Алгоритм - конечный набор предписаний, определяющий решение задачи посредством конечного
количества операций”. “Программа ( для ЭВМ) - упорядоченная последовательность команд,
подлежащая обработке” (стандарт ISO 2382/1-84). Следует заметить, что строгого, однозначного
определения алгоритма, равно как и однозначных методов его преобразования в программу
вычислений, не существует. Принцип программного управления может быть осуществлен различными
способами. Стандартом для построения практически всех ЭВМ стал способ, описанный Дж. фон
Нейманом в 1945 г. при построении еще первых образцов ЭВМ. Суть его заключается в следующем.
Все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде
программы, состоящей из последовательности управляющих слов-команд. Каждая команда содержит
указания на конкретную выполняемую операцию, место нахождения (адреса) операндов и ряд
служебных признаков. Операнды - переменные, значения которых участвуют в операциях
преобразования данных. Список (массив) всех переменных (входных данных, промежуточных значений
и результатов вычислений) является еще одним неотъемлемым элементом любой программы.
Для доступа к программам, командам и операндам используются их адреса. В качестве адресов
выступают номера ячеек памяти ЭВМ, предназначенных для хранения объектов. Информация (
командная и данные: числовая, текстовая, графическая и т.п.) кодируется двоичными цифрами 0 и 1.
Поэтому различные типы информации, размещенные в памяти ЭВМ, практически неразличимы,
идентификация их возможна лишь при выполнении программы, согласно ее логике, по контексту.
Каждый тип информации имеет форматы - структурные единицы информации, закодированные
двоичными цифрами 0 и 1. Обычно все форматы данных, используемые в ЭВМ, кратны байту, т.е.
состоят из целого числа байтов.
Последовательность битов в формате, имеющая определенный смысл, называется полем. Например, в
каждой команде программы различают поле кода операций, поле адресов операндов. Применительно к
числовой информации выделяют знаковые разряды, поле значащих разрядов чисел, старшие и младшие
разряды.
Последовательность, состоящая из определенного принятого для данной ЭВМ числа байтов, называется
словом. Для больших ЭВМ размер слова составляет четыре байта, для ПЭВМ - два байта. В качестве
структурных элементов информации различают также полуслово, двойное слово и др.
Схема ЭВМ, отвечающая программному принципу управления, логично вытекает из последовательного
характера преобразований, выполняемых человеком по некоторому алгоритму (программе).
Обобщенная структурная схема ЭВМ первых поколений представлена на рис. 1.1.
В любой ЭВМ имеются устройства ввода информации (УВв), с помощью которых пользователи вводят
в ЭВМ программы решаемых задач и данные к ним. Введенная информация полностью или частично
сначала запоминается в оперативном запоминающем устройстве (ОЗУ), а затем переносится во внешнее
запоминающее устройство (ВЗУ), предназначенное для длительного хранения информации, где
преобразуется в специальный программный объект - файл. “Файл - идентифицированная совокупность
экземпляров полностью описанного в конкретной программе типа данных, находящихся вне программы
во внешней памяти и доступных программе посредством специальных операций (ГОСТ 20866 - 85)”.
7
Рис. 1.1. Структурная схема ЭВМ первого и второго поколений
При использовании файла в вычислительном процессе его содержимое переносится в ОЗУ. Затем
программная информация команда за командой считывается в устройство управления (УУ).
Устройство управления предназначается для автоматического выполнения программ путем
принудительной координации всех остальных устройств ЭВМ. Цепи сигналов управления показаны на
рис. 1.1 штриховыми линиями. Вызываемые из ОЗУ команды дешифрируются устройством управления:
определяются код операции, которую необходимо выполнить следующей, и адреса операндов,
принимающих участие в данной операции.
В зависимости от количества используемых в команде операндов различаются одно-, двух-,
трехадресные и безадресные команды. В одноадресных командах указывается, где находится один из
двух обрабатываемых операндов. Второй операнд должен быть помещен заранее в арифметическое
устройство (для этого в систему команд вводятся специальные команды пересылки данных между
устройствами).
Двухадресные команды содержат указания о двух операндах, размещаемых в памяти (или в регистрах и
памяти). После выполнения команды в один из этих адресов засылается результат, а находившийся там
операнд теряется.
В трехадресных командах обычно два адреса указывают, где находятся исходные операнды, а третий куда необходимо поместить результат.
В безадресных командах обычно обрабатывается один операнд, который до и после операции находится
на одном из регистров арифметико-логического устройства (АЛУ). Кроме того, безадресные команды
используются для выполнения служебных операций (очистить экран, заблокировать клавиатуру, снять
блокировку и др.).
Все команды программы выполняются последовательно, команда за командой, в том порядке, как они
записаны в памяти ЭВМ (естественный порядок следования команд). Этот порядок характерен для
линейных программ, т.е. программ, не содержащих разветвлений. Для организации ветвлений
используются команды, нарушающие естественный порядок следования команд. Отдельные признаки
результатов r(r = 0, r < 0, r > 0 и др.) устройство управления использует для изменения порядка
выполнения команд программы.
АЛУ выполняет арифметические и логические операции над данными. Основной частью АЛУ является
операционный автомат, в состав которого входят сумматоры, счетчики, регистры, логические
преобразователи и др. Оно каждый раз перенастраивается на выполнение очередной операции.
Результаты выполнения отдельных операций сохраняются для последующего использования на одном
из регистров АЛУ или записываются в память. Результаты, полученные после выполнения всей
программы вычислений, передаются на устройства вывода (УВыв) информации. В качестве УВыв могут
использоваться экран дисплея, принтер, графопостроитель и др.
Современные ЭВМ имеют достаточно развитые системы машинных операций. Например, ЭВМ типа
IBM PC имеют около 200 различных операций (170 - 230 в зависимости от типа микропроцессора).
Любая операция в ЭВМ выполняется по определенной микропрограмме, реализуемой в схемах АЛУ
соответствующей последовательностью сигналов управления (микрокоманд). Каждая отдельная
микрокоманда- это простейшее элементарное преобразование данных типа алгебраического сложения,
сдвига, перезаписи информации и т.п.
Уже в первых ЭВМ для увеличения их производительности широко применялось совмещение операций.
При этом последовательные фазы выполнения отдельных команд программы (формирование адресов
операндов, выборка операндов, выполнение операции, отсылка результата) выполнялись отдельными
функциональными блоками. В своей работе они образовывали своеобразный конвейер, а их
параллельная работа позволяла обрабатывать различные фазы целого блока команд. Этот принцип
получил дальнейшее развитие в ЭВМ следующих поколений. Но все же первые ЭВМ имели очень
сильную централизацию управления, единые стандарты форматов команд и данных, “жесткое”
построение циклов выполнения отдельных операций, что во многом объясняется ограниченными
возможностями используемой в них элементной базы. Центральное УУ обслуживало не только
вычислительные операции, но и операции ввода-вывода, пересылок данных между ЗУ и др. Все это
позволяло в какой-то степени упростить аппаратуру ЭВМ, но сильно сдерживало рост их
производительности.
В ЭВМ третьего поколения произошло усложнение структуры за счет разделения процессов вводавывода информации и ее обработки (рис. 1.2).
8
Рис. 1.2. Структурная схема ЭВМ третьего поколения
Сильносвязанные устройства АЛУ и УУ получили название процессор, т.е. устройство,
предназначенное для обработки данных. В схеме ЭВМ появились также дополнительные устройства,
которые имели названия: процессоры ввода-вывода, устройства управления обменом информацией,
каналы ввода-вывода (КВВ). Последнее название получило наибольшее распространение
применительно к большим ЭВМ. Здесь наметилась тенденция к децентрализации управления и
параллельной работе отдельных устройств, что позволило резко повысить быстродействие ЭВМ в
целом.
Среди каналов ввода-вывода выделяли мультиплексные каналы, способные обслуживать большое
количество медленно работающих устройств ввода-вывода (УВВ), и селекторные каналы,
обслуживающие в многоканальных режимах скоростные внешние запоминающие устройства (ВЗУ).
В персональных ЭВМ, относящихся к ЭВМ четвертого поколения, произошло дальнейшее изменение
структуры (рис. 1.3). Они унаследовали ее от мини-ЭВМ.
Рис. 1.3. Структурная схема ПЭВМ
Соединение всех устройств в единую машину обеспечивается с помощью общей шины,
представляющей собой линии передачи данных, адресов, сигналов управления и питания. Единая
система аппаратурных соединений значительно упростила структуру, сделав ее еще более
децентрализованной. Все передачи данных по шине осуществляются под управлением сервисных
программ.
Ядро ПЭВМ образуют процессор и основная память (ОП), состоящая из оперативной памяти и
постоянного запоминающего устройства (ПЗУ). ПЗУ предназначается для записи и постоянного
хранения наиболее часто используемых программ управления. Подключение всех внешних устройств
(ВнУ), дисплея, клавиатуры, внешних ЗУ и других обеспечивается через соответствующие адаптеры согласователи скоростей работы сопрягаемых устройств или контроллеры - специальные устройства
управления периферийной аппаратурой. Контроллеры в ПЭВМ играют роль каналов ввода-вывода. В
качестве особых устройств следует выделить таймер - устройство измерения времени и контроллер
прямого доступа к памяти (КПД) - устройство, обеспечивающее доступ к ОП, минуя процессор.
Способ формирования структуры ПЭВМ является достаточно логичным и естественным стандартом для
данного класса ЭВМ.
Децентрализация построения и управления вызвала к жизни такие элементы, которые являются общим
стандартом структур современных ЭВМ:
Модульность построения, магистральность, иерархия управления.
9
Модульность построения предполагает выделение в структуре ЭВМ достаточно автономных,
функционально и конструктивно законченных устройств (процессор, модуль памяти, накопитель на
жестком или гибком магнитном диске).
Модульная конструкция ЭВМ делает ее открытой системой, способной к адаптации и
совершенствованию. К ЭВМ можно подключать дополнительные устройства, улучшая ее технические и
экономические показатели. Появляется возможность увеличения вычислительной мощности, улучшения
структуры путем замены отдельных устройств на более совершенные, изменения и управления
конфигурацией системы, приспособления ее к конкретным условиям применения в соответствии с
требованиями пользователей.
В современных ЭВМ принцип децентрализации и параллельной работы распространен как на
периферийные устройства, так и на сами ЭВМ (процессоры). Появились вычислительные системы,
содержащие несколько вычислителей (ЭВМ или процессоры), работающие согласованно и параллельно.
Внутри самой ЭВМ произошло еще более резкое разделение функций между средствами обработки.
Появились отдельные специализированные процессоры, например сопроцессоры, выполняющие
обработку чисел с плавающей точкой, матричные процессоры и др.
Все существующие типы ЭВМ выпускаются семействами, в которых различают старшие и младшие
модели. Всегда имеется возможность замены более слабой модели на более мощную. Это
обеспечивается информационной, аппаратурной и программной совместимостью. Программная
совместимость в семействах устанавливается по принципу снизу-вверх, т.е. программы, разработанные
для ранних и младших моделей, могут обрабатываться и на старших, но не обязательно наоборот.
Модульность структуры ЭВМ требует стандартизации и унификации оборудования, номенклатуры
технических и программных средств, средств сопряжения - интерфейсов, конструктивных решений,
унификации типовых элементов замены, элементной базы и нормативно-технической документации.
Все это способствует улучшению технических и эксплуатационных характеристик ЭВМ, росту
технологичности их производства.
Децентрализация управления предполагает иерархическую организацию структуры ЭВМ.
Централизованное управление осуществляет устройство управления главного, или центрального,
процессора. Подключаемые к центральному процессору модули (контроллеры и КВВ) могут, в свою
очередь, использовать специальные шины или магистрали для обмена управляющими сигналами,
адресами и данными. Инициализация работы модулей обеспечивается по командам центральных
устройств, после чего они продолжают работу по собственным программам управления. Результаты
выполнения требуемых операций представляются ими “вверх по иерархии” для правильной
координации всех работ.
Иерархический принцип построения и управления характерен не только для структуры ЭВМ в целом,
но и для отдельных ее подсистем. Например, по этому же принципу строится система памяти ЭВМ.
Так, с точки зрения пользователя желательно иметь в ЭВМ оперативную память большой
информационной емкости и высокого быстродействия. Однако одноуровневое построение памяти не
позволяет одновременно удовлетворять этим двум противоречивым требованиям. Поэтому память
современных ЭВМ строится по многоуровневому, пирамидальному принципу.
В состав процессоров может входить сверхоперативное запоминающее устройство небольшой емкости,
образованное несколькими десятками регистров с быстрым временем доступа (единицы нс). Здесь
обычно хранятся данные, непосредственно используемые в обработке.
Следующий уровень образует кэш-память или память блокнотного типа. Она представляет собой
буферное запоминающее устройство, предназначенное для хранения активных страниц объемом
десятки и сотни Кбайтов. Время обращения к данным составляет 10-20 нс, при этом может
использоваться ассоциативная выборка данных. Кэш-память, как более быстродействующая ЗУ,
предназначается для ускорения выборки команд программы и обрабатываемых данных. Сами же
программы пользователей и данные к ним размещаются в оперативном запоминающем устройстве
(емкость - миллионы машинных слов, время выборки - до 100 нс).
Часть машинных программ, обеспечивающих автоматическое управление вычислениями и
используемых наиболее часто, может размещаться в постоянном запоминающем устройстве (ПЗУ). На
более низких уровнях иерархии находятся внешние запоминающие устройства на магнитных носителях:
на жестких и гибких магнитных дисках, магнитных лентах, магнитооптических дисках и др. Их
отличает более низкое быстродействие и очень большая емкость.
Организация заблаговременного обмена информационными потоками между ЗУ различных уровней при
децентрализованном управлении ими позволяет рассматривать иерархию памяти как единую
10
абстрактную кажущуюся (виртуальную) память. Согласованная работа всех уровней обеспечивается под
управлением программ операционной системы. Пользователь имеет возможность работать с памятью,
намного превышающей емкость ОЗУ. ,
Децентрализация управления и структуры ЭВМ позволила перейти к более сложным
многопрограммным (мультипрограммным) режимам. При этом в ЭВМ одновременно может
обрабатываться несколько программ пользователей.
В ЭВМ, имеющих один процессор, многопрограммная обработка является кажущейся. Она
предполагает параллельную работу отдельных устройств, задействованных в вычислениях по
различным задачам пользователей. Например, компьютер может производить распечатку каких-либо
документов и принимать сообщения, поступающие по каналам связи. Процессор при этом может
производить обработку данных по третьей программе, а пользователь - вводить данные или программу
для новой задачи, слушать музыку и т.п.
В ЭВМ или вычислительных системах, имеющих несколько процессоров обработки, многопрограммная
работа может быть более глубокой. Автоматическое управление вычислениями предполагает
усложнение структуры за счет включения в ее состав систем и блоков, разделяющих различные
вычислительные процессы друг от друга, исключающие возможность возникновения взаимных помех и
ошибок (системы прерываний и приоритетов, защиты памяти). Самостоятельного значения в
вычислениях они не имеют, но являются необходимым элементом структуры для обеспечения этих
вычислений.
Как видно, полувековая история развития ЭВТ дала не очень широкий спектр основных структур ЭВМ.
Все приведенные структуры не выходят за пределы классической структуры фон Неймана. Их
объединяют следующие Традиционные признаки [53]:

ядро ЭВМ образует процессор - единственный вычислитель в структуре, дополненный
каналами обмена информацией и памятью;

линейная организация ячеек всех видов памяти фиксированного размера;

одноуровневая адресация ячеек памяти, стирающая различия между всеми типами
информации;

внутренний машинный язык низкого уровня, при котором команды содержат элементарные
операции преобразования простых операндов;

последовательное централизованное управление вычислениями;

достаточно примитивные возможности устройств ввода-вывода. Несмотря на все достигнутые
успехи, классическая структура ЭВМ не обеспечивает возможностей дальнейшего увеличения
производительности. Наметился кризис, обусловленный рядом существенных недостатков:

плохо развитые средства обработки нечисловых данных (структуры, символы, предложения,
графические образы, звук, очень большие массивы данных и др.);

несоответствие машинных операций операторам языков высокого уровня;

примитивная организация памяти ЭВМ;

низкая эффективность ЭВМ при решении задач, допускающих параллельную обработку и т.п.
Все эти недостатки приводят к чрезмерному усложнению комплекса программных средств,
используемого для подготовки и решения задач пользователей.
В ЭВМ будущих поколений, с использованием в них “встроенного искусственного интеллекта”,
предполагается дальнейшее усложнение структуры; В-первую очередь это касается совершенствования
процессов общения пользователей с ЭВМ (использование аудио-, видеоинформации, систем
мультимедиа и др.) , обеспечения доступа к базам данных и базам знаний, организации параллельных
вычислений. Несомненно, что этому должны соответствовать новые параллельные структуры с новыми
принципами их построения. В качестве примера укажем, что самая быстрая ЭВМ фирмы IBM в
настоящее время обеспечивает быстродействие 600 MIPS (миллионов команд в секунду), самая же
большая гиперкубическая система nCube дает быстродействие 123.103 MBPS. Расчеты показывают, что
стоимость одной машинной операции в гиперсисте-ме примерно в тысячу раз меньше. Вероятно,
подобными системами будут обслуживаться большие информационные хранилища.
Функции программного обеспечения
Электронные вычислительные машины являются универсальными техническими средствами
автоматизации вычислительных работ, т.е. они способны решать любые задачи, связанные с
преобразованием информации. Однако подготовка задач к решению на ЭВМ была и остается до
11
настоящего времени достаточно трудоемким процессом, требующим от пользователей во многих
случаях специальных знаний и навыков.
Для снижения трудоемкости подготовки задач к решению, более эффективного использования
отдельных технических, программных средств и ЭВМ в целом, а также облегчения их эксплуатации
каждая ЭВМ имеет специаль-ньй комплекс программных средств регулярного применения. Эти
средства обеспечивают взаимодействие пользователей с ЭВМ и являются своеобразным “посредником”
между ними. Они получили название программного обеспечения (ПО) ЭВМ.
Под программным обеспечением будем понимать комплекс программных средств регулярного
применения, предназначенный для подготовки и решения задач пользователей.
Программное обеспечение отдельных ЭВМ и ВС может сильно различаться составом используемых
программ, который определяется классом используемой вычислительной техники, режимами ее
применения, содержанием вычислительных работ пользователей и т.п. Развитие ПО современных ЭВМ
и ВС в значительной степени носит эволюционный и эмпирический характер, но можно выделить
закономерности в его построении.
В общем случае процесс подготовки и решения задач на ЭВМ пользователями предусматривает
выполнение следующей последовательности этапов (рис. 1.4):
Рис. 1.4. Автоматизация подготовки и решения задач в ЭВМ
формулировка проблемы и математическая постановка задачи;
выбор метода и разработка алгоритма решения;
программирование (запись алгоритма) с использованием некоторого алгоритмического языка;
планирование и организация вычислительного процесса - порядка и последовательности
использования ресурсов ЭВМ и ВС;

формирование “машинной программы”, т.е. программы, которую непосредственно будет
выполнять ЭВМ;

собственно решение задачи - выполнение вычислений по готовой программе.
По мере развития вычислительной техники автоматизация этих этапов идет снизу-вверх. В ЭВМ 1-го
поколения автоматизации подлежал только последний этап. Все пять предыдущих этапов пользователь
должен был готовить вручную самостоятельно. Трудоемкий и рутинный характер этих работ был
источником большого количества ошибок в заданиях. Поэтому в ЭВМ следующих поколений появились
сначала элементы, а затем целые системы, облегчающие процесс подготовки задач к решению.
Для ЭВМ 2-го поколения характерно широкое применение алгоритмических языков (Автокоды, Алгол,
Фортран и др.) и соответствующих трансляторов, позволяющих автоматически формировать машинные
программы по их описанию на алгоритмическом языке. Здесь же широко стали внедряться библиотеки
стандартных программ, что позволило строить машинные программы блоками, используя накопленный
и приобретенный программистами опыт. Отметим, что временные границы появления всех
нововведений достаточно размыты. Обычно их истоки можно обнаружить в недрах ЭВМ предыдущих
поколений.
ЭВМ 3-го поколения характеризуются расцветом операционных систем (ОС), отвечающих за
организацию и управление вычислительным процессом. Именно здесь слово “ЭВМ” все чаще стало
заменяться понятием “вычислительная система”, что в большей степени отражало усложнение как
аппаратурной, так и программной частей ЭВМ. Стоимость программного обеспечения стала расти и в
настоящее время намного опережает стоимость аппаратурных средств (рис 1.5).




12
Рис. 1.5. Динамика изменения стоимости аппаратурных и программных средств
Операционная система планирует последовательность распределения и использования ресурсов
вычислительной системы, а также обеспечивает их согласованную работу. Под ресурсами обычно
понимают те средства, которые используются для вычислений: машинное время отдельных процессоров
или ЭВМ, входящих в систему; объемы оперативной и внешней памяти; отдельные устройства,
информационные массивы; библиотеки программ; отдельные программы как общего, так и
специального применения и т.п. Наиболее употребительные функции ОС в части обработки внештатных
ситуаций (защита программ от взаимных помех, системы прерываний и приоритетов, служба времени,
сопряжение с каналами связи и т.д.) были полностью или частично реализованы аппаратурно.
Одновременно были реализованы более сложные режимы работы: коллективный доступ к ресурсам,
мультипрограммные режимы. Часть этих решений стала своеобразным стандартом и начала
использоваться повсеместно в ЭВМ различных классов. Это позволило в значительной степени
повысить эффективность применения ЭВМ и ВС в целом.
В ЭВМ 4-го поколения продолжается усложнение технических и программных структур (иерархия
управления средствами, увеличение их количества). Следует отметить заметное повышение
“интеллектуальности” машин. Особенно это стало видно при появлении персональных ЭВМ,
ориентированных на определенные категории пользователей. Программное обеспечение этих машин
создает дружественную среду общения человека и компьютера. Оно, с одной стороны, управляет
процессом обработки информации, а с другой - создает необходимый сервис для пользователя, снижая
трудоемкость его рутинной работы и предоставляя ему возможность больше внимания уделять
творчеству.
Подобные тенденции будут сохраняться и в ЭВМ следующих поколений. Так, по мнению
исследователей [34,53], машины следующего столетия будут иметь встроенный в них искусственный
интеллект, что позволит пользователям обращаться к машинам (системам) на естественном языке,
вводить и обрабатывать тексты, документы, иллюстрации, создавать системы обработки знаний и т.д.
Все это приводит к необходимости разработки сложного, многоэшелонного иерархического
программного обеспечения систем обработки данных.
Персональные ЭВМ
В настоящее время ПЭВМ являются самым массовым типом. Именно им отводится решающая роль при
переходе общества к информатизации - наиболее полному использованию информационных
технологий.
Интересны причины появления и развития этого класса ЭВМ. Структура и динамика развития мирового
парка ЭВМ показаны на рис 1.6.
13
Рис. 1.6. Структура и динамика развития мирового парка ЭВМ. Классы машин: 1 - большие ЭВМ; 2 мини-ЭВМ; 3 - персональные ЭВМ; 4 - суммарный парк
В настоящее время доля ПЭВМ в мировом парке составляет около 80%. Доли больших ЭВМ и миниЭВМ (в последнее время они заменяются средними ЭВМ новых поколений) оцениваются примерно по
10%. Развитие ПЭВМ определяется прежде всего экономическими факторами, так как стоимость
единицы вычислительной мощности в них обходится значительно дешевле. Появление ПЭВМ
закономерно и объясняется изменением характера вычислительных работ, в которых большую роль
играет нечисловая обработка.
Большие ЭВМ в основном использовались и используются для централизованной обработки
информации. В первую очередь они применялись для крупномасштабных вычислений по программам,
разработанным коллективами специалистов. Поэтому дорогие большие машины устанавливались в
крупных академических вычислительных центрах.
Мини-ЭВМ стали применяться для распределенной обработки данных и для управления объектами,
технологическими процессами, предприятиями.
С появлением персональных ЭВМ наметился новый этап в организации и обеспечении вычислений этап “персональных вычислений”. Суть его выражается девизом “One man - one job - one computer“
(человек - работа -компьютер). Таким образом, персональные ЭВМ призваны решать в первую очередь
те задачи, которые возникают у специалистов различного профиля в определенные моменты времени,
непосредственно на рабочих местах, т.е. там, где находятся источники данных, подлежащие обработке.
При этом самым распространенным режимом работы является режим непосредственного доступа к
ресурсам ЭВМ, “один на один с компьютером”. Подобный режим работы уже использовался при работе
с первыми ЭВМ, однако при централизованном управлении он был крайне неэффективен (см. п. 9.5.).
Если ранее за пультом большой ЭВМ должен был находиться профессиональный программист, то за
персональным компьютером обычно находится “непрограммирующий профессионал”. Так обычно
называют специалиста конкретной предметной области (бухгалтера, экономиста, инженераисследователя и т.п.), но не специалиста в вычислительной технике и программировании. Поэтому
возврат к режиму непосредственного доступа происходит на качественно новой основе.
При широком применении ПЭВМ в различных сферах деятельности человека выдвигаются требования
к их надлежащему программному обеспечению. В настоящее время число профессиональных
программистов в индустриально развитых странах составляет не более 0,5% населения. Фирмы разработчики программного обеспечения не могут обеспечить каждого пользователя ПЭВМ требуемым
набором программ. Их усилия сосредоточены на производстве пакетов прикладных программ и систем
программирования, рассчитанных на массового пользователя. Именно поэтому такой взрывной характер
имеют спрос, производство и распространение подобных пакетов. Они составляют фундамент для
последующей разработки собственных программ пользователя, учитывающих всю специфику
требуемых вычислений, т.е., как и во всех науках, специализация является надстройкой унификации.
Это позволяет пользователям - специалистам с невысокой математической, вычислительной и
программистской подготовкой необязательно самыми эффективными средствами и способами ставить и
решать задачи специальной обработки данных.
“МикроЭВМ, ориентированная на разработку и использование прикладных программ
“непрограммирующим профессионалом”, получила название персонального компьютера, а
соответствующий режим использования вычислительной техники - режим персональных
вычислений”[7].
Основная цель использования ПЭВМ - формализация профессиональных знаний. Здесь, в первую
очередь, автоматизируется рутинная часть работ специалистов, которая занимает более 75% их рабочего
времени. Применение ПЭВМ позволяет сделать труд специалистов более творческим, интересным,
эффективным. Персональные ЭВМ используются повсеместно, во всех сферах деятельности людей.
Новые сферы применения изменили и характер вычислительных работ. Так, инженерно-технические
расчеты составляют не более 9%, автоматизация управления сбытом, закупками, управление запасом 16%, финансово-экономические расчеты -15%, делопроизводство - более 10%, игровые задачи - 8% и
т.д.
Причинами стремительного роста индустрии персональных ЭВМ следует считать [41].
• высокую эффективность применения по сравнению с другими классами ЭВМ при малой стоимости (от
нескольких сотен до нескольких тысяч долларов в зависимости от типа и комплектации);

возможность индивидуального взаимодействия с ПК без каких-либо посредников и
ограничений;
14

большие возможности по обработке информации (быстродействие - сотни миллионов
операций в секунду, емкость памяти: оперативной - единицы и десятки Мбайтов, внешней сотни Кбайтов, единицы Гбайтов);

высокую надежность и простоту в эксплуатации;

возможность расширения и адаптации к особенностям применения;

наличие программного обеспечения, охватывающего практически все сферы человеческой
деятельности, а также мощных систем для разработки нового программного обеспечения;

простоту использования, основанную на “дружественном” взаимодействии с ПК, с помощью
пакетов прикладных программ.
Эффективная работа на ПЭВМ предполагает своевременное обеспечение ее необходимой входной
информацией и распространение полученных результатов обработки. Поэтому все ПЭВМ имеют
возможность сопряжения через сетевые адаптеры и модемы с каналами связи. Подключение ПЭВМ к
вычислительным сетям в еще большей степени повышает эффективность их применения.
ПЭВМ, как и другие типы машин, выпускаются целыми семействами, что позволяет перекрыть
достаточно широкий диапазон производительности, обеспечить преемственность в разработках и
возможность совершенствования систем обработки данных, построенных на их основе. Современные
ПЭВМ строятся на сверхбольших интегральных схемах. Машины типа IBM PC, составляющие почти
80% парка ПЭВМ, комплектуются микропроцессорами Pentium различных модификаций.
Различают младшие, средние и старшие модели ПК. В основу такого деления положены особенности
комплектации компьютера и обеспечиваемые этим его возможности.
К младшим моделям относят ПК с ограниченной конфигурацией, умеренной стоимостью, но с
широкими возможностями расширения. Средние модели предназначаются для решения более широкого
круга задач, а старшие - для обеспечения профессионально-ориентированных и интегрированных
автоматизированных рабочих мест.
Одной из основных характеристик ПК является тип используемого в нем микропроцессора. Рынок
микропроцессоров очень динамичен. Каждые год-два происходит обновление их основных типов. Так,
фирма Intel полностью перешла на выпуск процессоров Pentium MMX, имеющих расширенный состав
команд для обработки графической, аудио-, видео- и мультимедийной информации. Микропроцессором
начального уровня теперь является Pentium 166 MMX, намечается переход на частоты 233 МГц и выше.
Конкурирующие фирмы AMD, Cyrix, Motorola, Hewlett Packard и др. также совершенствуют свои
изделия.
Компьютеры оснащаются оперативной памятью 16-32 Мбайта с возможностью расширения до 128 (160)
Мбайт, кэш-памятью второго уровня емкостью 256-512 Кбайт, жесткими дисками - до 2 Гбайт и более.
Компьютеры могут иметь высокоскоростные диски CD ROM, сетевые адаптеры, графические адаптеры
и другие устройства.
Рассматривая класс ПЭВМ, нельзя не упомянуть о самой простейшей его разновидности - сетевом
компьютере (СК), также относящегося к настольным вычислителям. Вполне возможно, что он-в
ближайшее время станет еще одним стандартом, объединяющим целый класс компьютеров, который
получит массовое производство и распространение.
Прообразом СК можно считать простейшие “немые” терминалы, подключаемые к ЭВМ 2-го и 3-го
поколений. Они имели достаточно простую конструкцию (дисплей, клавиатуру, небольшую буферную
память и встроенный блок управления). Целью их создания и применения было обеспечение
коллективного и удаленного доступа пользователей к вычислительным ресурсам достаточно мощной
ЭВМ. Управление ими осуществляла ОС ЭВМ.
В настоящее время в связи с развитием сетей ЭВМ (локальных и глобальных) создание подобных
“сетевых приставок” на качественно новой основе становится вновь актуальным. Широкое развитие
сетевых технологий позволяет аккумулировать вычислительные мощности и все виды вычислительных
услуг. В связи с этим отпадает необходимость каждому пользователю иметь собственные автономные
средства обработки. Очень многие из них могут обращаться к вычислительным ресурсам сетей с
помощью простейших средств доступа - сетевых компьютеров. Требуемая информация и нужные виды
ее обработки будут выполнены серверами - управляющими ЭВМ сети, а пользователи будут получать
уже готовые требуемые им результаты обработки. Таким образом, для подобного вида услуг образуется
своеобразная ниша, которую должен заполнить сетевой компьютер.
Собственные средства обработки в СК представлены достаточно слабо или вообще отсутствуют.
Основу СК составляет весьма скромный по своим возможностям встроенный микропроцессор или блок
15
управления. Очень многие фирмы (Oracle, Sun, Philips, даже IBМ и др.) проявляют интерес к этому
новому классу компьютеров и связывают с ним большие надежды. Уже появились первые разработки
подобных устройств, но пока еще не выявлены единые принципы их структурного и функционального
построения.
В литературе отсутствует и единое их наименование: “тощие” ПК, Inemet - приборы, броузеры. WebPC,
Java-терминал, NetComputerи др.
Видимо, понятие “сетевой компьютер” в будущем будет отождествляться с целым спектром моделей,
различающихся своими функциональными возможностями. Чаще всего под СК понимают достаточно
дешевый компьютер с малой оперативной памятью, с отсутствием жесткого и гибкого дисков и со
слабым программным обеспечением. Стоимость СК может быть значительно ниже стоимости ПК
стандартной конфигурации.
Предполагается, что данный класс компьютеров найдет широкое распространение среди следующих
категорий пользователей: различные фирмы (особенно крупные), учебные заведения и частные
потребители.
фирмы, имеющие собственные локальные вычислительные сети, заинтересованы в построении
терминалов на СК. Все обычные офисные ПК, рабочие места секретарей, менеджеров, бухгалтеров,
журналистов можно перевести на СК. Это примерно на порядок сократит расходы по их техническому и
программному оснащению и обслуживанию.
Низкая стоимость СК и удобствоих применения позволяют по-новому решать вопросы
компьютеризации образования. С развитием индустрии СК появляется возможность доступа к
вычислительным ресурсам всех категорий обучаемых во всех регионах страны.
СК должны найти широкое распространение и у частных пользователей, многие из которых просто
незнакомы с вычислительной техникой. Объединение СК с телефонами и телевизорами позволит иначе
решать многие информационные задачи: самообучение, электронная почта, доступ к общественно
значимым базам данных, презентации, организация культурного обмена и др.
Для формирования и развития индустрии СК необходимо решить следующие проблемы:

создать языки программирования, не зависимые от особенностей построения СК;

разработать дешевые и быстродействующие микропроцессоры, составляющие основу СК;

обеспечить быстрый и легкий вход в глобальные и корпоративные сети;

создать компактное программное обеспечение для использования СК и приложений для
серверов, обслуживающих сети СК.
Самым распространенным языком программирования, обеспечивающим доступ к ресурсам сетей,
является язык Java - интерпретационный язык высокого уровня. Его отличительными особенностями
являются простота, независимость от аппаратуры и отсутствие связей со сложными операционными
системами. Это делает совместимыми СК различных производителей, позволяет управлять ими с общих
позиций. Поэтому многие фирмы приобрели лицензии на Java и обеспечивают его поддержку в своих
разработках.
Сетевые компьютеры, являясь продолжением аппаратуры сети, не требуют оснащения дорогими и
сложными микропроцессорами. Для обеспечения их функций можно использовать более простые
схемы, типа “Internet on a сhiр” (“Интернет на чипе”). Подобная продукция может быть представлена
десятками фирм.
Для подключения СК в сеть нужны каналы связи. Принципиально возможно использование любых
каналов. Наиболее дешевыми, но малоскоростными являются телефонные линии связи. Их пропускная
способность составляет до 30 Кбайт/с через аналоговые модемы и в несколько раз больше при переходе
к цифровым методам связи. Каждый СК при работе с сетью Должен пользоваться сетевыми ресурсами,
а это может вызывать перегруженность линий, обслуживающих большое число СК. Поэтому требуется
повышать скорости передачи данных в сетях и качество используемых каналов. Для новых
аппаратурных средств сети необходимы компактные управляющие программы и приложения для
серверов. Индустрия соответствующего программного обеспечения только начинает свое развитие.
Глава 2. ИНФОРМАЦИОННО-ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ
Системы счисления
Системой счисления называется способ изображения чисел с помощью ограниченного набора символов,
имеющих определенные количественные значения. Систему счисления образует совокупность правил и
приемов представления чисел с помощью набора знаков (цифр).
16
Различают позиционные и непозиционные системы счисления. В позиционных системах каждая цифра
числа имеет определенный вес, зависящий от позиции цифры в последовательности, изображающей
число. Позиция цифры называется разрядом. В позиционной системе счисления любое число можно
представить в виде:
An=am-1am-2…aia0*a-1a-2…a-k=am-1*Nm-1+am-2*Nm-2…+a-k*N-k
, (2.1)
где ai – i-я цифра числа; k – количество цифр в дробной части числа; m - количество цифр в целой части
числа; N – основание системы счисления.
Основание системы счисления N показывает, во сколько раз “вес” г-го разряда больше (i-1) разряда.
Целая часть числа отделяется от дробной части точкой (запятой).
Пример 2.1. А10=37.25.
В соответствии с формулой (2.1)это число формируется из цифр с весами рядов:
А10=3*101+7*100+2*10-1+5*10-2.
Теоретически наиболее экономичной системой счисления является система с основанием е=2,71828...,
находящимся между числами 2 и 3.
Во всех современных ЭВМ для представления числовой информации используется двоичная система
счисления. Это обусловлено:
более простой реализацией алгоритмов выполнения арифметических и логических операций;
более надежной физической реализацией основных функций, так как они имеют всего два состояния (0
и 1);
экономичностью аппаратурной реализации всех схем ЭВМ.
При N=2 число различных цифр, используемых для записи чисел, ограничено множеством из двух цифр
(нуль и единица). Кроме двоичной системы счисления широкое распространение получили и
производные системы:

двоичная- {0,1};

десятичная, точнее двоично-десятичное представление десятичных чисел, - {0, 1,...,9};

шестнадцатеричная - {0,1,2, ...9, А, В, С, D, Е, F}. Здесь шестнадцатеричная цифра А
обозначает число 10,В-число 11, ...,F-число 15;

восьмеричная (от слова восьмерик) - {0,1,2,3,4,5, б, 7}. Она широко используется во многих
специализированных ЭВМ.
Восьмеричная и шестнадцатеричная системы счисления являются производными от двоичной, так как
16 = 24 и 8 = 23. Они используются в основном для более компактного изображения двоичной
информации, так как запись значения чисел производится существенно меньшим числом знаков.
Пример 2.2. Число в двоичной, восьмеричной и шестнадцатеричной системах счисления имеет
следующее представление:
А2=1100100,101;
Аg=144.5;
A16=64.A;
A2=1*26+1*25+0*24+0*23+1*22+0*21+1*20+1*2-1+0*2-2+1*2-3;
A8=1*82+4*81+4*80+5*8-1;
A16=6*161+4*160+10*16-1.
Представление чисел в различных системах счисления допускает однозначное преобразование их из
одной системы в другую. В ЭВМ перевод из одной системы в другую осуществляется автоматически по
специальным программам. Правила перевода целых и дробных чисел отличаются.
Перевод целых чисел
Целое число с основанием N1 переводится в систему счисления с основанием N2 путем
последовательного деления числа An1, на основание N2 , записанного в виде числа с основанием N1, до
получения остатка. Полученное частное следует вновь делить на основание N2, и этот процесс надо
повторять до тех пор, пока частное не станет меньше делителя. Полученные остатки от деления и
последнее частное записываются в порядке, обратном полученному при делении. Сформированное
число и будет являться числом с основанием N2.
17
2.1.2. Перевод дробных чисел
Дробное число с основанием N1 переводится в систему счисления с основанием N2 путем
последовательного умножения An1 на основание N2, записанное в виде числа с основанием N1. При
каждом умножении целая часть произведения берется в виде очередной цифры соответствующего
разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет
разрядность полученного результата, представляющего число An1 в системе счисления N2.
Так как двоичная, восьмеричная и шестнадцатеричная системы связаны через степени числа 2, то
преобразования между ними можно выполнять другим более простым способом. Для перевода из
шестнадцатеричной (восьмеричной) системы счисления в двоичную достаточно двоичным кодом
записать шестнадцатеричные коды цифр тетрадами (по 4 двоичных разряда) и триадами (по 3 двоичных
разряда) - для восьмеричных цифр. Обратный перевод из двоичного кода производится в обратном
порядке: двоичное число разбивается влево и вправо от границы целой и дробной частей на тетрады для последующей записи цифр в шестнадцатеричном представлении, на триады - для записи их
значений восьмеричными цифрами.
Представление информации в ЭВМ
Информация - это сведения об окружающем мире и протекающих в нем процессах, воспринимаемые
человеком или специализированным устройством, например ЭВМ, для обеспечения целенаправленной
деятельности.
Информация может быть по своей физической природе: числовой, текстовой, графической, звуковой,
видео и др. Она также может быть постоянной (неменяющейся), переменной, случайной, вероятностной.
Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинноследственные связи в процессах и явлениях. Существуют различные способы оценки количества
информации. Классическим является подход, использующий формулу К. Шеннона. Применительно к
двоичной системе она имеет вид:
H=log2N,
где H – количество информации, несущей представление о состоянии, в котором находится объект; N –
количество равновероятных альтернативных состояний объекта.
Любая информация, обрабатываемая в ЭВМ, должна быть представлена двоичными цифрами {0,1}, т.е.
должна быть закодирована комбинацией этих цифр. Различные виды информации (числа, тексты,
графика, звук) имеют свой правила кодирования. Коды отдельных значений, относящиеся к различным!
видам информации, могут совпадать. Поэтому расшифровка кодированных! данных осуществляется по
контексту при выполнении команд программы.
18
Представление числовой информации
В ЭВМ используются три вида чисел: с фиксированной точкой (запятой), с плавающей точкой (запятой)
и двоично-десятичное представление. Точка (запятая) - это подразумеваемая граница целой и дробной
частей числа.
У чисел с фиксированной точкой в двоичном формате предполагается строго определенное место точки
(запятой). Обычно это место определяется или перед первой значащей цифрой числа, или после
последней значащей цифрой числа. Если точка фиксируется перед первой значащей цифрой, то это
означает, что число по модулю меньше единицы. Диапазон изменения значений чисел определяется
неравенством
.
Если точка фиксируется после последней значащей цифры, то это означает, что п- разрядные двоичные
числа являются целыми. Диапазон изменения их значений составляет:
Перед самым старшим из возможных разрядов двоичного числа фиксируется его знак. Положительные
числа имеют нулевое значение знакового разряда, отрицательные - единичные.
Другой формой представления чисел является представление их в виде чисел с плавающей точкой
(запятой). Числа с плавающей точкой представляются в виде мантиссы тa и порядка рa , иногда это
представление называют полулогарифмической формой числа. Например, число A10= 373 можно
представить в виде 0.373 • 103, при этом т = 0.373, р = 3, основание системы счисления
подразумевается фиксированным и равным десяти. Для двоичных чисел А2 в этом представлении также
формируется тa и порядок рa при основании системы счисления равным двум.
что соответствует записи
Порядок числа рa определяет положение точки (запятой) в двоичном числе. Значение порядка лежит в
диапазоне -рamax<=рa<=рamax , где величина pamах определяется числом разрядов к, отведенных для
представления порядка
Положительные и отрицательные значения порядка значительно усложняют обработку вещественных
чисел. Поэтому во многих современных ЭВМ используют не прямое значение рa, а модифицированное
р'a приведенное к интервалу
Значение р'a носит название “характеристика числа”. Обычно под порядок (модифицированный порядок
- характеристику) выделяют один байт. Старший разряд характеристики отводится под знак числа, а
семь оставшихся разрядов обеспечивают изменение порядка в диапазоне
Модифицированный порядок р'a вычисляется по зависимости
Этим самым значения р'a формируются в диапазоне положительных чисел
Мантисса числа ma представляется двоичным числом, у которого точка фиксируется перед старшим
разрядом, т. е.
где k - число разрядов, отведенных для представления мантиссы.
Если
то старший значащий разряд мантиссы в системе счисления с основанием N отличен от нуля. Такое
число называется нормализованным. Например, A2 =(100;0.101101)2 -нормализованное число А2=
1011.01 или А10= 11.25, а то же самое число А2 = (101 ;0.0101101) - число ненормализованное, так как
старший разряд мантиссы равен нулю.
Диапазон представления нормализованных чисел с плавающей точкой определяется
19
где r и k - соответственно количество разрядов, используемых для представления порядка и мантиссы.
Третья форма представления двоичных чисел - двоично-десятичная. Ее появление объясняется
следующим. При обработке больших массивов десятичных чисел (например, больших экономических
документов) приходится тратить существенное время на перевод этих чисел из десятичной системы
счисления в двоичную для последующей обработки и обратно -для вывода результатов. Каждый такой
перевод требует выполнения двух - четырех десятков машинных команд. С включением в состав
отдельных ЭВМ специальных функциональных блоков или спецпроцессоров десятичной арифметики
появляется возможность обрабатывать десятичные числа напрямую, без их преобразования, что
сокращает время вычислений. При этом каждая цифра десятичного числа представляется двоичной
тетрадой. Например, A10=3759, A2-10= 0011 0111 0101 1001. Положение десятичной точки (запятой),
отделяющей целую часть от дробной, обычно заранее фиксируется. Значение знака числа отмечается
кодом, отличным от кодов цифр. Например, “+” имеет значение тетрады “1100”, а “-” - “1101”.
Представление других видов информации
Различные виды информации могут быть разделены на две группы: статические и динамические. Так,
числовая, логическая и символьная информация является статической - ее значение не связано со
временем. В отличие от перечисленных типов вся аудиоинформация имеет динамический характер. Она
существует только в режиме реального времени, ее нельзя остановить для более подробного изучения.
Если изменить масштаб времени (увеличить или уменьшить), аудиоинформация искажается. Это
свойство иногда используется для получения звуковых эффектов.
Видеоинформация может быть как статической, так и динамической. Статическая видеоинформация
включает текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские двухмерные и объемные - трехмерные.
Динамическая видеоинформация - это видео-, мульт- и слайд- фильмы. В их основе лежит
последовательное экспонирование на экране в реальном масштабе времени отдельных кадров в
соответствии со сценарием.
Динамическая видеоинформация используется либо для передачи движущихся изображений
(анимация), либо для последовательной демонстрации отдельных кадров вывода (слайд-фильмы).
Для демонстрации анимационных и слайд-фильмов используются различные принципы. Анимационные
фильмы демонстрируются так, чтобы зрительный аппарат человека не мог зафиксировать отдельных
кадров. В современных высококачественных мониторах и в телевизорах с цифровым управлением
электронно-лучевой трубкой кадры сменяются до 70 раз в секунду, что позволяет высококачественно
передавать движение объектов.
При демонстрации слайд-фильмов каждый кадр экспонируется на экране столько времени, сколько
необходимо для восприятия его человеком (обычно от 30 с до 1 мин). Слайд-фильмы можно отнести к
статической видеоинформации.
По способу формирования видеоизображения бывают растровые, матричные и векторные.
Растровые видеоизображения используются в телевидении, а в ЭВМ практически не применяются.
Матричные изображения получили в ЭВМ наиболее широкое распространение. Изображение на экране
рисуется электронным лучом точками.
Информация представляется в виде характеристик значений каждой точки - пиксела (picture element),
рассматриваемого как наименьшей структурной единицей изображения. Количество высвечиваемых
одновременно пикселов на экране дисплея определяется его разрешающей способностью. В качестве
характеристик графической информации выступают: координаты точки (пиксела) на экране, цвет
пиксела, цвет фона (градация яркости). Вся эта информация хранится в видеопамяти дисплея. При
выводе графической информации на печать изображение также воспроизводится по точкам.
Изображение может быть и в векторной форме. Тогда оно составляется из отрезков линий ( в
простейшем случае - прямых), для которых задаются:
начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии).
Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с
сохранением формы, является “прозрачным” может быть наложено на любой фон и т.д.
Способы представления информации в ЭВМ, кодирование и преобразование кодов в значительной
степени зависят от принципа действия устройств, в которых эта информация формируется,
накапливается, обрабатывается и отображается.
20
Для кодирования символьной или текстовой информации применяются различные системы: при вводе
информации с клавиатуры кодирование происходит при нажатии клавиши, на которой изображен
требуемый символ, при этом в клавиатуре вырабатывается так называемый scan-код, представляющий
собой двоичное число, равное порядковому номеру клавиши.
Номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание
символа и присвоение ему внутреннего кода ЭВМ производятся специальной программой по
специальным таблицам: ДКОИ, КОИ-7, ASCII (Американский стандартный код передачи информации).
Всего с помощью таблицы кодирования ASCII (табл. 2.1) можно закодировать 256 различных символов.
Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до
FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).
Таблица 2.1
Таблица кодирования текстовой информации ASCII
Первая половина таблицы стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти
коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки
пунктуации и математические знаки: 2 lh - !, 26h - &, 28h - (, 2Bh -+,..., большие и малые латинские
буквы: 41h - A, 61h - а,...
Вторая половина таблицы содержит национальные шрифты, символы псевдографики, из которых могут
быть построены таблицы, специальные математические знаки. Нижнюю часть таблицы кодировок
можно заменять, используя соответствующие драйверы - управляющие вспомогательные программы.
Этот прием позволяет применять несколько шрифтов и их гарнитур.
Дисплей по каждому коду символа должен вывести на экран изображение символа - не просто
цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму.
Описание формы каждого символа хранится в специальной памяти дисплея - знакогенераторе.
Высвечивание символа на экране дисплея IBМ PC осуществляется с помощью точек, образующих
символьную матрицу.
Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным.
Темная точка кодируется цифрой 0, светлая (яркая)- 1.
Если изображать в матричном поле знака темные пикселы точкой, а светлые - звездочкой, то можно
графически изобразить форму символа.
Кодирование аудиоинформации - процесс более сложный. Аудиоинформация является аналоговой. Для
преобразования ее в цифровую форму используют аппаратурные средства: аналого-цифровые
преобразователи (АЦП), в результате работы которых аналоговый сигнал оцифровывается —
представляете ся в виде числовой последовательности. Для вывода оцифрованного звука на
аудиоустройства необходимо проводить обратное преобразование, которое осуществляется с помощью
цифро-аналоговых преобразователей (ЦАП).
Арифметические основы ЭВМ
Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни
машинных операций. Однако выполнение любой операции основано на использовании простейших
микроопераций типа сложения и сдвиг. Это позволяет иметь единое арифметико-логическое устройство
для выполнения любых операций, связанных с обработкой информации. Правила сложения двоичных
цифр двух чисел А и В представлены в табл. 2.2.
21
Здесь показаны правила сложения двоичных цифр ai, bi одноименных разрядов с учетом возможных
переносов из предыдущего разряда pi-1.
Подобные таблицы можно было бы построить для любой другой арифметической и логической
операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу
выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак “+”
кодируется двоичным нулем, а знак “-” - единицей. Действия над прямыми кодами двоичных чисел при
выполнении операций создают большие трудности, связанные с необходимостью учета значений
знаковых разрядов:
Таблица 2.2
Правила сложения двоичных цифр
Значения двоичных
Разряд
Перенос в следующий разряд
чисел А и В
Суммы
Рi
S
аi
bi
Pi-1
i
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
• во-первых, следует отдельно обрабатывать значащие разряды чисел и разряды знака;
• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может
заменяться вычитанием и наоборот).
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными
машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и
значащие разряды, а также заменять операцию вычитания операцией сложения,
Различают прямой код (П), обратный код (ОК) и дополнительный код (ДК) двоичных чисел.
2.3.1. Машинные коды
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или
единица) перед его старшим числовым разрядом.
Пример 2.5.
A10=+10 A2=+1010 [A2]П=0:1010;
B10=-15 B2=-1111 [B2]П=1:1111.
Точечной вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от
значащих.
Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных
чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом
разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а
единицы - нулями.
Пример 2.6.
A10=+5 A2=+101 [A2]П=[A2]OK=0:101;
B10=-13 B2=-1010 [B2]OK=1:0010.
Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на
инверсные. Укажем наиболее важные свойства обратного кода чисел:
• сложение положительного числа С с его отрицательным значением в обратном коде дает так
называемую машинную единицу МЕок= 1: 111... 11, состоящую из единиц в знаковом и значащих
разрядах числа;
• нуль в обратном коде имеет двоякое значение. Он может быть положительным - 0: 00...0 и
отрицательным числом - 1; 11... 11. Значение отрицательного нуля совпадает с МЕок. Двойственное
представление нуля явилось причиной того, что в современных ЭВМ все числа представляются не
обратным, а дополнительным кодом. Дополнительный код положительных чисел совпадает с их прямым
кодом. Дополнительный код отрицательного числа представляет собой результат суммирования
обратного кода числа с единицей младшего разряда (2° - для целых чисел, 2-k - для дробных).
Пример 2.7.
22
A10=+19 A2=+10011 [A2]П=[A2]OK=[A2]ДК=0:10011;
B10=-13 В2=-1101 [B2]ДК=[B2]OK+20=1:0010+1=1:0011.
Укажем основные свойства дополнительного кода:
• сложение дополнительных кодов положительного числа С с его отрицательным значением дает так
называемую машинную единицу дополнительного кода:
МЕДК=МЕОК+20=10: 00…00,
т.е. число 10 (два) в знаковых разрядах числа;
• дополнительный код получил такое свое название потому, что представление отрицательных чисел
является дополнением прямого кода чисел до машинной единицы МЕдк.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от
обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак “+” в этих кодах
кодируется двумя нулевыми знаковыми разрядами, а “-” - двумя единичными разрядами.
Пример 2.8.
A10=9 A2=+1001 [A2]П=[A2]OK=[A2]ДК=0:1001
[A2]МОК=[A2]МДК=00:1001;
B10=-9 B2=-1001 [B2]OK=1:0110 [B2]ДК=1:0111
[B2]МОК=11:0110 [B2]МДК=11:0111.
Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения
неправильного результата, когда значение результата превышает максимально возможный результат в
отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить
значение младшего знакового разряда. Значение знаковых разрядов “01” свидетельствует о
положительном переполнении разрядной сетки, а “10” - об отрицательном переполнении. В настоящее
время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения
разрядной сетки играют переносы, идущие в знаковый и из знакового разряда.
Машинные коды
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или
единица) перед его старшим числовым разрядом.
Пример 2.5.
A10=+10 A2=+1010 [A2]П=0:1010;
B10=-15 B2=-1111 [B2]П=1:1111.
Точечной вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от
значащих.
Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных
чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом
разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а
единицы - нулями.
Пример 2.6.
A10=+5 A2=+101 [A2]П=[A2]OK=0:101;
B10=-13 B2=-1010 [B2]OK=1:0010.
Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на
инверсные. Укажем наиболее важные свойства обратного кода чисел:
• сложение положительного числа С с его отрицательным значением в обратном коде дает так
называемую машинную единицу МЕок= 1: 111... 11, состоящую из единиц в знаковом и значащих
разрядах числа;
• нуль в обратном коде имеет двоякое значение. Он может быть положительным - 0: 00...0 и
отрицательным числом - 1; 11... 11. Значение отрицательного нуля совпадает с МЕок. Двойственное
представление нуля явилось причиной того, что в современных ЭВМ все числа представляются не
обратным, а дополнительным кодом. Дополнительный код положительных чисел совпадает с их прямым
кодом. Дополнительный код отрицательного числа представляет собой результат суммирования
обратного кода числа с единицей младшего разряда (2° - для целых чисел, 2-k - для дробных).
Пример 2.7.
A10=+19 A2=+10011 [A2]П=[A2]OK=[A2]ДК=0:10011;
B10=-13 В2=-1101 [B2]ДК=[B2]OK+20=1:0010+1=1:0011.
Укажем основные свойства дополнительного кода:
• сложение дополнительных кодов положительного числа С с его отрицательным значением дает так
называемую машинную единицу дополнительного кода:
23
МЕДК=МЕОК+20=10: 00…00,
т.е. число 10 (два) в знаковых разрядах числа;
• дополнительный код получил такое свое название потому, что представление отрицательных чисел
является дополнением прямого кода чисел до машинной единицы МЕдк.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от
обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак “+” в этих кодах
кодируется двумя нулевыми знаковыми разрядами, а “-” - двумя единичными разрядами.
Пример 2.8.
A10=9 A2=+1001 [A2]П=[A2]OK=[A2]ДК=0:1001
[A2]МОК=[A2]МДК=00:1001;
B10=-9 B2=-1001 [B2]OK=1:0110 [B2]ДК=1:0111
[B2]МОК=11:0110 [B2]МДК=11:0111.
Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения
неправильного результата, когда значение результата превышает максимально возможный результат в
отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить
значение младшего знакового разряда. Значение знаковых разрядов “01” свидетельствует о
положительном переполнении разрядной сетки, а “10” - об отрицательном переполнении. В настоящее
время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения
разрядной сетки играют переносы, идущие в знаковый и из знакового разряда.
Арифметические операции над числами с фиксированной точкой
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования
чисел в обратный или дополнительный код. Пусть числа A=>O и В=>О, тогда операция алгебраического
сложения выполняется в соответствии с табл. 2.3.
Таблица 2.3
Таблица преобразования кодов при алгебраическом сложении
Требуемая операция
Необходимое преобразование
А+В
А+В
А-В
А+(-В)
-А+В
(-А)+В
-А-В
(-А)+(-В)
Скобки в представленных выражениях указывают на замену операции вычитания операцией сложения
с обратным или дополнительным кодом соответствующего числа. Сложение двоичных чисел
осуществляется последовательно, поразрядно в соответствии с табл. 2.2. При выполнении сложения
цифр необходимо соблюдать следующие правила.
1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых
можно дописывать незначащие нули слева к целой части числа и незначащие нули справа к дробной
части числа.
2. Знаковые разряды чисел участвуют в сложении так же, как и значащие.
3. Необходимые преобразования кодов (п.2.3.1) производятся с изменением знаков чисел. Приписанные
незначащие нули изменяют свое значение при преобразованиях по общему правилу.
4. При образовании единицы переноса из старшего знакового разряда, в случае использования ОК, эта
единица складывается с младшим числовым разрядом. При использовании ДК единица переноса
теряется. Знак результата формируется автоматически, результат представляется в том коде, в котором
представлены исходные слагаемые.
Пример 2.9. Сложить два числа А10=7 В10=16
A2=+11=+0111;
B2=+1000=+10000.
Исходные числа имеют различную разрядность, необходимо провести выравнивание разрядной сетки:
[A2]П=[A2]OK=[A2]ДК=0: 00111;
[B2]П=[B2]OK=[B2]ДК=0: 10000.
Сложение в обратном или дополнительном коде дает один и тот же результат
24
Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового
разряда, что свидетельствует о получении правильного результата.
Пример 2.10. Сложить два числа А10 = + 16 В10 = —7 в ОК и ДК. В соответствии с табл. 2.3 должна быть
реализована зависимость А+(-В), в которой второй член преобразуется с учетом знака
При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В
случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего
разряда (см.п.4 правил). В случае ДК этот перенос игнорируется.
Умножение. Умножение двоичных чисел наиболее просто .реализуется в прямом коде. Рассмотрим,
каким образом оно приводится к операциям сложения и сдвигам.
Пример 2.11. Умножить два числа А10=7 В10=5.
Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в
десятичной системе.
Нетрудно видеть, что произведение получается путём сложения частных произведений,
представляющих собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов
множителя. Частные произведения, полученные умножением на нуль игнорируются. Важной
особенностью операции умножения n-разрядных сомножителей является увеличение разрядности
произведения до n+n=2n. Знак произведения формируется путём сложения знаковых разрядов
сомножителей. Возможные переносы из знакового разряда игнорируются.
Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения.
Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.
Пример 2.12. Разделить два числа А10=45 B10 =5
Деление произведено так же, как это делается обычно в десятичной системе. Сначала проверяется,
можно ли вычесть значение делителя из старших разрядов делимого. Если возможно, то в разряде
частного записывается единица и определяется частная разница. В противном случае в частное
записывается нуль и разряды делителя сдвигаются вправо на один разряд по отношению к разрядам
делимого. К полученной предыдущей разнице сносится очередная цифра делимого, и данный процесс
повторяется, пока не будет получена необходимая точность. Если учесть, что все вычитания в ЭВМ
заменяются сложением в ОК или в ДК (см. табл.2.3), то действительно операция деления приводится к
операциям сложения и сдвигам вправо разрядов делителя относительно разрядов делимого. Отметим,
что делимое перед операцией деления должно быть приведено к 2n-разрядной сетке. Только в этом
случае при делении на n-разрядный делитель получается n-разрядное частное.
Знак частного формируется также путем сложения знаковых разрядов делимого и делителя, как это
делалось при умножении.
25
2.3.3. Арифметические операции над двоичными числами с плавающей точкой
В современных ЭВМ числа с плавающей точкой хранятся в памяти машин, имея мантиссу и порядок
(характеристику) в прямом коде и нормализованном виде. Все арифметические действия над этими
числами выполняются так же, как это делается с ними, если они представлены в полулогарифмической
форме (мантисса и десятичный порядок) в десятичной системе счисления. Порядки и мантиссы
обрабатываются раздельно.
Сложение (вычитание). Операция сложения (вычитания) производится в следующей
последовательности.
1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания р=р1-р2. При
выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые.
2. Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют
одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание
порядков.
3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков Ар.
Младшие выталкиваемые разряды при этом теряются.
4. После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от
требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данными
табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам.
5. Порядок результата берется равным большему порядку.
6. Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений
порядка.
Пример 2.13. Сложить два числа А10=+1.375; B10=-0.625.
А2=+1.011=0: 1011*101; B2=-0.101=-0:101*100.
В нормализованном виде эти числа будут иметь вид:
1. Вычитаем порядки Δp=p1-p2=1-0=1. В машине эта операция требует операции сложения с
преобразованием порядка чисел в дополнительный код:
Определяем, что Δр≠ 0.
2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание
порядков.
3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд.
[B2]исх=0: 0 1: 101
после сдвига
[B2]п=0: 11:0101
[mB]дк= 1: 1011
4. Складываем мантиссы.
Мантисса числа С - положительная.
5. Порядок числа С равен порядку числа с большим порядком, т.е. р = +1.
[С2]п=0: 1 0: 0110.
Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю.
6. Нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из
значения порядка единицу:
26
Умножение (деление). Операция умножения (деления) чисел с плавающей точкой также требует
разных действий над порядками и мантиссами. Алгоритмы этих операций выполняются в следующей
последовательности.
1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с
фиксированной точкой.
2. При умножении (делении) мантиссы перемножаются (делятся).
3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей
(делимого и делителя). Возможные переносы из знакового разряда игнорируются.
Арифметические операции над двоичными числами с плавающей точкой
В современных ЭВМ числа с плавающей точкой хранятся в памяти машин, имея мантиссу и порядок
(характеристику) в прямом коде и нормализованном виде. Все арифметические действия над этими
числами выполняются так же, как это делается с ними, если они представлены в полулогарифмической
форме (мантисса и десятичный порядок) в десятичной системе счисления. Порядки и мантиссы
обрабатываются раздельно.
Сложение (вычитание). Операция сложения (вычитания) производится в следующей
последовательности.
1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания р=р1-р2. При
выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые.
2. Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют
одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание
порядков.
3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков Ар.
Младшие выталкиваемые разряды при этом теряются.
4. После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от
требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данными
табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам.
5. Порядок результата берется равным большему порядку.
6. Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений
порядка.
Пример 2.13. Сложить два числа А10=+1.375; B10=-0.625.
А2=+1.011=0: 1011*101; B2=-0.101=-0:101*100.
В нормализованном виде эти числа будут иметь вид:
1. Вычитаем порядки Δp=p1-p2=1-0=1. В машине эта операция требует операции сложения с
преобразованием порядка чисел в дополнительный код:
Определяем, что Δр≠ 0.
2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание
порядков.
3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд.
[B2]исх=0: 0 1: 101
после сдвига
[B2]п=0: 11:0101
[mB]дк= 1: 1011
4. Складываем мантиссы.
27
Мантисса числа С - положительная.
5. Порядок числа С равен порядку числа с большим порядком, т.е. р = +1.
[С2]п=0: 1 0: 0110.
Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю.
6. Нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из
значения порядка единицу:
Умножение (деление). Операция умножения (деления) чисел с плавающей точкой также требует
разных действий над порядками и мантиссами. Алгоритмы этих операций выполняются в следующей
последовательности.
1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с
фиксированной точкой.
2. При умножении (делении) мантиссы перемножаются (делятся).
3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей
(делимого и делителя). Возможные переносы из знакового разряда игнорируются.
2.3.4. Арифметические операции над двоично-десятичными кодами чисел
При обработке больших массивов экономической информации переводы чисел из десятичной системы в
двоичную и обратно могут требовать значительного машинного времени. Некоторые образцы ЭВМ
поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые
числа в их двоично-десятичном представлении. Действия над ними также приводятся к операции
алгебраического сложения отдельных цифр чисел, представленных дополнительными кодами в
соответствии с табл. 2.3.
Приведем один из алгоритмов сложения, который получил довольно широкое распространение.
1. Сложение чисел начинается с младших цифр (тетрад) и производится с учетом возникающих
переносов из младших разрядов в старшие.
2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.
3. Для того чтобы при сложении двоично-десятичных цифр возникали переносы, аналогичные при
сложении чисел в десятичном представлении, необходимо проводить так называемую десятичную
коррекцию. Для этого к каждой тетраде первого числа прибавляется дополнительно по цифре 6 10=01102,
что позволяет исключить шесть неиспользуемых комбинаций (1010-1111)2, так как они кодируют
шестнадцатеричные цифры A-F (числа 10-1510).
4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из
которых не было переносов, изымаются ранее внесенные избытки 610=01102. Для этого проводится
вторая коррекция. Операция вычитания заменяется, как и обычно, операцией сложения с числом 6,представленным дополнительным кодом 10102, но только в тех разрядах, в которых отсутствовали
переносы. При этой второй коррекции переносы из тетрад блокируются.
5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (п.п.1-4) к
тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. В
качестве знаке результата берется знак числа с большим модулем.
28
Основные сведения из алгебры логики
Теоретической основой построения ЭВМ являются специальные математические дисциплины. Одной из
них является алгебра логика или булева алгебра (Дж. Буль - английский математик прошлого столетия,
основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их
оптимизации и проектирования.
Вся информация в ЭВМ представляется в двоичной системе счисления. Поставим в соответствие
входным сигналам отдельных устройств ЭВМ соответствующие значения хi(i=1,n), а выходным
сигналам - значения функций yj(j=1,m) (рис.2.1).
Рис. 2.1. Представление схемы ЭВМ
В этом случае зависимостями
yj=f(x1,x2,…,xi,…,xn), (2.2)
где xi – i-й вход; n – число входов; yi – i-й выход; m – число выходов в устройстве,
можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость у , является
“булевой функцией, у которой число возможных состояний и каждой ее независимой переменной равно
двум” (стандарт ISO 2382/2-76), т.е. функцией алгебры логики, а ее аргументы определены на
множестве {0,1}. Алгебра логика устанавливает основные законы формирования и преобразования
логических функций. Она позволяет представить любую сложную функцию в виде композиции
простейших функций. Рассмотрим наиболее употребительные из них.
Известно, что количество всевозможных функций N от п аргументов выражается зависимостью
N=22n. (2.3)
При n=0 можно определить две основные функции (N=2), не зависящие от каких-либо переменных: у0 ,
тождественно равную нулю (у0=0), и у1 , тождественно равную единице ( у1=1). Технической
интерпретацией функции у1=1 может быть генератор импульсов. При отсутствии входных сигналов на
выходе этого устройства всегда имеются импульсы (единицы). Функция у0=0 может быть
интерпретирована отключенной схемой, сигналы от которой не поступают ни к каким устройствам.
При п=1 зависимость (2.3) дает N=4. Представим зависимость значений этих функций от значения
аргумента х в виде специальной таблицы истинности (табл. 2.4).
Таблица 2.4
Таблица функций от одной переменной
Yj
Y0
Y1
Y2
Y3
x
0
0
1
0
1
1
0
1
1
0
29
Таблицы истинности получили такое название, потому что они определяют значение функции в
зависимости от комбинации входных сигналов. В этой таблице, как и ранее, у0=0 и y1=1. Функция y2=х,
а функция у3=x- (инверсия x).
Этим функциям соответствуют определенные технические аналоги. Схема, реализующая зависимость
у2=х, называется повторителем, а схема y3=х - инвертором.
При п=2, N=l6, т.е. от двух переменных, можно построить шестнадцать различных функций. В табл. 2.5
представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.
Таблица 2.5
Таблица функций от двух переменных
Yi
Y0
Y1
Y2
Y3
...
Y4
Y5
Y6
Y7
Y8
Y9
...
Y15
X1 X2
00
0
1
0
1
0
1
0
1
1
0
01
0
1
0
1
...
1
0
0
1
0
1
...
10
0
1
1
0
1
0
0
1
0
1
11
0
1
1
0
1
0
1
0
1
0
Заметим, что в левой части таблицы перечислены всевозможные комбинации входных переменных
(наборы значений), а в правой - возможные реакции выходных сигналов. В табл. 2.5 представлены
функции у4-у9, полностью соответствующие функциям табл. 2.4, а также новые, часто используемые и
интересные функции у4-у9. При этом местоположение функций и их нумерация в таблице особого
значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для
каждой функции от двух аргументов вида (2.2). Для этого наборы переменных, на которых функция
принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются
знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных
форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом
или инверсном значениях, то такая форма функций называется совершенной.
Функция у4представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение
единицы, если значение единицы имеет хотя бы одна переменная х1 или х2:
Тождественность приведенных аналитических зависимостей можно установить, пользуясь законами
алгебры логики, приведенными ниже.
Функция y5 является инверсной функцией по отношению к y4:
Она имеет название “ отрицание дизъюнкции”. Иногда в литературе встречается ее специальное
название “стрелка Пирса”, по фамилии математика, исследовавшего ее свойства.
Функция у6 является функцией логического умножения. Она очень похожа на операцию обычного
умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:
Функция y7 является инверсной функцией по отношению к у6:
Она называется “отрицание конъюнкции” или “ штрих Шеффера”. Функция к называется логической
равнозначностью, она принимает значение единицы, если все ее переменные имеют одинаковое
значение (или 0 или 1):
Функция y9 является инверсной по отношению к y8:
Она принимает значение единицы, если ее переменные имеют противоположные значения. Ниже будет
показано, что функции у8 и у9 являются основой для построения сумматоров, так как они соответствуют
правилам формирования цифр двоичных чисел при сложении (вычитании).
Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости,
отражающие алгоритмы преобразования информации, представленной в двоичной системе счисления.
Алгебра логики устанавливает правила [6] формирования логически полного базиса простейших
функций, из которых могут строиться любые более сложные. Наиболее привычным базисом является
30
набор трех функций {инверсия -  , дизъюнкция - v, конъюнкция - Λ или &}. Работа с функциями,
представленными в этом базисе, очень похожа на использование операций обычной алгебры.
Алгебра логики устанавливает, что существуют и другие комбинации простейших логических функций,
обладающих свойством логической полноты. Например, наборы логических функций {инверсия,
дизъюнкция} и {инверсия, конъюнкция} также являются логически полными. Наиболее интересны
минимальные базисы, включающие по одной операции {“отрицание дизъюнкции ( )”} и {“отрицание
конъюнкции ( )”}. Однако работа с функциями, представленными в указанных базисах, требует от
специалистов по проектированию ЭВМ определенных навыков.
Законы алгебры логики
Из определения вышеприведенных функций можно установить целый ряд простейших свойств:
В алгебру логики установлен целый ряд законов, с помощью которых возможно преобразование
логических функций (ЛФ):
коммутативный (переместительный)
x1*x2=x2*x1
ассоциативный (сочетательный)
(x1*x2)*x3=(x1*x3)*x2=x1*(x2*x3)
Эти законы полностью идентичны законам обычной алгебры;
дистрибутивный (распределительный)
Закон поглощения. В дизъюнктивной форме ЛФ конъюнкция меньшего ранга, т.е. с меньшим числом
переменных, поглощает все конъюнкции большего ранга, если ее изображение содержится в них. Это
же справедливо и для конъюнктивных форм:
Закон склеивания
Закон свёртки
.
Правило де Моргана
где F - логическая функция общего вида, не зависящая от переменной х.
Убедиться в тождественности приведенных зависимостей можно путем аналитических преобразований
выражений или путем построения таблицы истинности для ЛФ, находящихся в левой и правой частях.
Используя данные зависимости, можно преобразовывать исходные выражения в более простые
(минимизировать их). По упрощенным выражениям можно построить техническое устройство,
имеющее минимальные аппаратурные затраты.
2.4.3. Понятие о минимизации логических функций
Проблема минимизации логических функций решается на основе применения законов склеивания и
поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них
оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они
отличаются друг от друга спецификой применения операций склеивания и поглощения, а также
различными способами сокращения переборов. Среди аналитических методов наиболее известным
является метод Квайна-Маккласки, среди табличных - метод с применением диаграмм Вейча [6].
31
Графические методы минимизации отличаются большей наглядностью и меньшей трудоемкостью.
Однако их применение эффективно при малом числе переменных п<5.
Рассмотрим последовательность действий минимизации ЛФ на примере.
Пример2.15. Найти минимальную дизъюнктивную форму функции, заданной таблицей истинности
(табл. 2.6).
Таблица 2.6
Таблица истинности функции Y=f(X1,X2,X3)
X1 Х2 Х3 Y
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
Эта функция интересна тем, что имеет несколько минимальных форм. По данным таблицы запишем
аналитическое выражение:
Штриховыми линиями в этом выражении отмечены пары конъюнкций, к которым можно применить
операцию склеивания типа
. Особенно это видно при использовании диаграммы Вейча, в
которой “склеиваемые” конъюнкции находятся по соседству друг с другом. Диаграмма Вейча просто
по-другому интерпретирует таблицу истинности (табл. 2.7).
Таблица 2.7
Диаграмма Вейча функции Y
После выделения конъюнкций (они отмечены звездочкой), видно, какие конъюнкции могут
образовывать пары для склеивания.
В результате применения операций склеивания и поглощения можно получить другое аналитическое
выражение:
в котором отсутствуют возможности дальнейших склеивании и поглощений. Однако последнее
выражение является избыточным, так как отдельные конъюнкции могут быть “липшими”, т.е. их
“составные части” могут включаться в другие конъюнкции. У данной функции существует пять
безызбыточных дизъюнктивных форм, из которых только две являются минимальными:
32
Из приведенных зависимостей видно, что только функции у1 и у4 являются минимальными формами
функций, так как они содержат наименьшее число конъюнкций и имеют минимальный ранг этих
конъюнкций.
Минимизация “вручную” возможна только для функций, зависящих от 4-5 переменных, так как
трудоемкость переборов растет в квадратичной зависимости от числа переменных. Применение мощных
ЭВМ для этих Целей позволяет расширить границы до п= 12-15. Если при этом учесть, что функции
могут быть частично определены (значения функций на некоторых наборах переменных можно
определять произвольно), а также что иногда приходится решать задачи совместной минимизации
систем ЛФ, то минимизация ЛФ становится сложной инженерной, практической и научной проблемой.
Понятие о минимизации логических функций
Проблема минимизации логических функций решается на основе применения законов склеивания и
поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них
оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они
отличаются друг от друга спецификой применения операций склеивания и поглощения, а также
различными способами сокращения переборов. Среди аналитических методов наиболее известным
является метод Квайна-Маккласки, среди табличных - метод с применением диаграмм Вейча [6].
Графические методы минимизации отличаются большей наглядностью и меньшей трудоемкостью.
Однако их применение эффективно при малом числе переменных п<5.
Рассмотрим последовательность действий минимизации ЛФ на примере.
Пример2.15. Найти минимальную дизъюнктивную форму функции, заданной таблицей истинности
(табл. 2.6).
Таблица 2.6
Таблица истинности функции Y=f(X1,X2,X3)
X1 Х2 Х3 Y
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
Эта функция интересна тем, что имеет несколько минимальных форм. По данным таблицы запишем
аналитическое выражение:
Штриховыми линиями в этом выражении отмечены пары конъюнкций, к которым можно применить
операцию склеивания типа
. Особенно это видно при использовании диаграммы Вейча, в
которой “склеиваемые” конъюнкции находятся по соседству друг с другом. Диаграмма Вейча просто
по-другому интерпретирует таблицу истинности (табл. 2.7).
Таблица 2.7
Диаграмма Вейча функции Y
После выделения конъюнкций (они отмечены звездочкой), видно, какие конъюнкции могут
образовывать пары для склеивания.
33
В результате применения операций склеивания и поглощения можно получить другое аналитическое
выражение:
в котором отсутствуют возможности дальнейших склеивании и поглощений. Однако последнее
выражение является избыточным, так как отдельные конъюнкции могут быть “липшими”, т.е. их
“составные части” могут включаться в другие конъюнкции. У данной функции существует пять
безызбыточных дизъюнктивных форм, из которых только две являются минимальными:
Из приведенных зависимостей видно, что только функции у1 и у4 являются минимальными формами
функций, так как они содержат наименьшее число конъюнкций и имеют минимальный ранг этих
конъюнкций.
Минимизация “вручную” возможна только для функций, зависящих от 4-5 переменных, так как
трудоемкость переборов растет в квадратичной зависимости от числа переменных. Применение мощных
ЭВМ для этих Целей позволяет расширить границы до п= 12-15. Если при этом учесть, что функции
могут быть частично определены (значения функций на некоторых наборах переменных можно
определять произвольно), а также что иногда приходится решать задачи совместной минимизации
систем ЛФ, то минимизация ЛФ становится сложной инженерной, практической и научной проблемой.
Техническая интерпретация логических функций
По логическим выражениям проектируются схемы ЭВМ. При этом следует придерживаться следующей
последовательности действий.
1. Словесное описание работы схемы.
2. Формализация словесного описания.
3. Запись функций в дизъюнктивной (конъюнктивной) совершенной нормальной форме по таблицам
истинности.
4. Минимизация логических зависимостей с целью их упрощения.
5. Представление полученных выражений в выбранном логически полном базисе элементарных
функций.
6. Построение схемы устройства.
7. Проверка работоспособности полученной схемы. Покажем взаимосвязь перечисленных этапов на
примере.
Пример2.16. Спроектировать схему, фиксирующую появление “неправильной” тетрады в двоичнодесятичном представлении чисел.
1. Каждая тетрада двоично-десятичного представления числа содержит десятичные цифры 0-9, что
соответствует двоичным числам 0000-1001. Значения тетрады, соответствующие двоичным числам
1010-1111 (шестнадцатеричные цифры A-F), не должны появляться при представлении десятичных
чисел.
2. Составим таблицу истинности функции (табл. 2.8), которая принимает значения, равные единице, при
появлении “неправильных” тетрад. Разряды тетрады обозначим переменнымих, у, z, u.
Т а б л и ц а 2.8
Таблица истинности функции F
34
3. Исходная совершенная дизъюнктивная нормальная форма записывается
4. Эта форма функции допускает упрощение, что видно по диаграмме Вейча (табл.2.9). Этот же
результат может быть получен аналитически.
Т а б л и ц а 2.9
Диаграмма Вейча для функции F
5. Минимальная форма функции F в логически полном базисе {&, v,  } будет иметь вид:
Для представления этой же схемы в другом полном базисе, например {&}, воспользуемся правилом де
Моргана:
6. По полученным зависимостям можно построить схемы фиксации “неправильных” тетрад (рис.2.2).
7. Проверить работоспособность построенных схем можно путем задания различных комбинаций
переменных х, у, z, и и определения реакции на выходе схемы F.
Рис. 2.2. Схема фиксации неправильных тетрад: а - схема в базисе (Г, &, V), б - схема в базисе (&).
Глава 3. Классификация элементов и узлов
Классификация элементов и узлов ЭВМ
35
При рассмотрении структуры любой ЭВМ обычно проводят ее детализацию. Как правило, в структуре
ЭВМ выделяют следующие структурные единицы: устройства, узлы, блоки и элементы. Такая
детализация соответствует вполне определенным операциям преобразования информации, заложенным
в программах пользователей.
Нижний уровень обработки реализуют элементы. Каждый элемент предназначается для обработки
единичных электрических сигналов, соответствующих битам информации. Узлы обеспечивают
одновременную обработку группы сигналов - информационных слов. Блоки реализуют некоторую
последовательность в обработке информационных слов - функционально обособленную часть
машинных операций (блок выборки команд, блок записи-чтения и др.). Устройства предназначаются
для выполнения отдельных машинных операций и их последовательностей.
В общем случае любая структурная единица ЭВМ обеспечивает преобразование входной информации Х
в выходную У (см. рис. 2.1).
Все современные вычислительные машины строятся на комплексах системах интегральных микросхем
(ИС). Электронная микросхема называется интегральной, если ее компоненты и соединения между
ними выполнены в едином технологическом цикле, на едином основании и имеют общую герметизацию
и защиту от механических воздействий. Каждая микросхема представляет собой миниатюрную
электронную схему, сформированную послойно в кристалле полупроводника: кремния, германия и т.д.
В состав микропроцессорных наборов включаются различные типы микросхем, но все они должны
иметь единый тип межмодульных связей, основанный на стандартизации параметров сигналов
взаимодействия (амплитуда, полярность, длительность импульсов и т.п.). Основу набора обычно
составляют большие БИС и даже сверхбольшие интегральные схемы. На очереди следует ожидать
появления ультра больших ИС (УБИС). Кроме них обычно используются микросхемы с малой и
средней степенью интеграции (СИС). Функционально микросхемы могут соответствовать устройству,
узлу или блоку, но каждая из них состоит из комбинации простейших логических элементов,
реализующих функции формирования, преобразования, запоминания сигналов и т.д.
Элементы ЭВМ можно классифицировать по различным признакам. Наиболее часто такими признаками
являются: тип сигналов, назначение элементов, технология их изготовления и т.д.
В ЭВМ широко применяют два способа физического представления сигналов: импульсный и
потенциальный. При импульсном способе представления сигналов единичному значению некоторой
двоичной переменной ставится в соответствие наличие импульса (тока или напряжения), нулевому
значению - отсутствие импульса (рис. 3.1, а). Длительность импульсного сигнала не превышает один
такт синхроимпульсов.
При потенциальном или статическом представлении сигналов единично значение двоичной переменной
отображается высоким уровнем напряжения, а нулевое значение - низким уровнем (рис. 3.1, б).
Рис. 3.1. Представление информации в ЭВМ: а - импульсные сигналы; б - потенциальные сигналы
Независимо от вида сигналов различают последовательный и параллельный коды передачи и
представления информации в ЭВМ.
При последовательном коде представления данных используются одиночные шины или линии
передачи, в которых сигналы, соответствующие отдельным разрядам данных, разнесены во времени.
Обработка такой информации производится последовательно разряд за разрядом. Такой вид
представления и передачи данных требует весьма экономичных по аппаратурным затратам схем
обработки данных. Время же обработки Определяется числом обрабатываемых сигналов (разрядов).
Параллельный код отображения и передачи информации предполагает параллельную и одновременную
фиксацию всех разрядов данных на различных шинах, т.е. параллельный код данных развернут в
пространстве. Это дает возможность ускорить обработку во времени, но затраты на аппаратурные
средства при этом возрастают пропорционально числу обрабатываемых разрядов.
36
Во всех вычислительных машинах используются и параллельно-последовательные коды представления
информации. При этом информация отображается частями. Части поступают на обработку
последовательно, а каждая часть данных представляется параллельным кодом.
По своему назначению элементы делятся на формирующие, логические и запоминающие.
К формирующим элементам относятся различные формирователи, усилители, усилителиформирователи и т.п. Данные элементы служат для выработки определенных электрических сигналов,
восстановления их параметров (амплитуды, полярности, мощности, длительности).
В каждой ЭВМ имеются специальные блоки, формирующие сигналы тактовой частоты, серии
синхронизирующих и управляющих сигналов, координирующих работу всех схем ЭВМ. Интервал
времени между импульсами основной частоты называется тактом. Длительность такта является важной
характеристикой ЭВМ, определяющей ее потенциальную производительность. Время выполнения
любой операции ЭВМ связано с определенным числом тактов.
Простейшие логические элементы преобразуют входные сигналы в соответствии с элементарными
логическими функциями, рассмотренными в п.2.4. В свою очередь, полученные сигналы могут
формировать следующий уровень сигналов и т. д. Сложные преобразования в соответствии с
требуемыми логическими зависимостями могут приводить к построению многоуровневых схем. Каждая
такая схема представляет собой композицию простейших логических схем.
Запоминающим элементом называется элемент, который способен принимать и хранить код двоичной
цифры (единицы или нуля). Элементы памяти могут запоминать и сохранять исходные значения
некоторых величин, промежуточные значения обработки и окончательные результаты вычислений.
Только запоминающие элементы в схемах ЭВМ позволяют проводить обработку информации с учетом
ее развития.
Комбинационные схемы
Обработка входной информации Х в выходную У (см. рис. 2.1) в любых схемах ЭВМ обеспечивается
преобразователями или цифровыми автоматами двух видов: комбинационными схемами и схемами с
памятью.
Комбинационные схемы - это схемы, у которых выходные сигналы Y = (у1, у2, ..., уm) в любой момент
дискретного времени однозначно определяются совокупностью входных сигналов Х = (х1, х2,..., хn),
поступающих в тот же момент времени t. Реализуемый в КС способ обработки информации называется
комбинационным потому, что результат обработки зависит только от комбинации входных сигналов и
формируется сразу при поступлении входных сигналов. Поэтому одним из достоинств комбинационных
схем является их высокое быстродействие. Преобразование информации однозначно описывается
логическими функциями вида Y=f(Х).
Логические функции и соответствующие им комбинационные схемы подразделяют на регулярные и
нерегулярные структуры. Регулярные структуры предполагают построение схемы таким образом, что
каждый из ее выходов строится по аналогии с предыдущими. В нерегулярных структурах такая
аналогия отсутствует. Примером построения нерегулярной структуры может служить разработка схемы
в примере 2.16.
В практике проектирования ЭВМ накоплен огромный опыт по синтезу различных схем. Многие
регулярные структуры положены в основу построения отдельных ИС малой и средней степени
интеграции или отдельных функциональных частей БИС и СБИС. Из регулярных комбинационных схем
наиболее распространены дешифраторы, шифраторы, схемы сравнения, комбинационные сумматоры,
коммутаторы и др.
Рассмотрим принципы построения подобных регулярных структур. Дешифраторы (ДШ) - это
комбинационные схемы с п входами и m =2n выходами. Единичный сигнал, формирующийся на одном
из т выходов, однозначно соответствует комбинации входных сигналов. Например, разработка
структуры ДШ для п=3 согласно методике, изложенной в п.2.4, позволяет получить таблицу истинности
(табл. 3.1) и логические зависимости.
Таблица 3.1
Таблица истинности дешифратора
Входы
Выходы
x1
x2
x3
Y0
Y1
...
Y5
...
Y7
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
37
0
1
1
0
0
…
0
...
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
0
0
1
Дешифраторы широко используются в ЭВМ для выбора информации па определенному адресу, для
расшифровки кода операции и др. Логические зависимости дешифратора:
На рис.3.2 представлены структурная схема ДШ, построенная в базисе (И, НЕ), и условное ее
обозначение на принципиальных электрических схемах ЭВМ. Кружочки у линий, выходящих из
логических элементов, указывают на инверсию функций, реализуемых элементами. '
Рис.3.2. Структурная схема дешифратора (а) и обозначение дешифратора на принципиальных
электрических схемах (б)
Шифратор (ШР) решает задачу, обратную схемам ДТП, т. е. по номеру входного сигнала формирует
однозначную комбинацию выходных сигналов. Пример построения ШР иллюстрируется таблицей
истинности (табл. 3.2) и схемами на рис. 3.3.
Таблица 3.2
Таблица истинности шифратора
Входы
Выходы
x1
x2
x3
X4
x5
x6
x7
yo
y1
y2
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
Логические зависимости:
38
Рис. 3.3. Структурная схема шифратора (а) и обозначение дешифратора на принципиальных
электрических схемах (б)
Обратим внимание, что табл. 3.2 и 3.1 во многом похожи, входы и выходы в них поменялись местами.
Состояния входов табл. 3.2 содержат только по одному единичному элементу. Другие произвольные
комбинации входов недопустимы.
Схемы сравнения или компаратор обычно строятся как поразрядные. Они широко используются и
автономно, и в составе более сложных схем, например при построении сумматоров.
Таблица истинности (табл.3.3) отражает логику работы 1-го разряда схемы сравнения при сравнении
двух векторов А и В. На рис 3.4 показана структурная схема компаратора.
Таблица 3.3
ai
0
0
1
1
Логическая зависимость:
Таблица истинности компаратора
Входы
bi
0
1
0
1
Выходы
Yi
0
0
0
1
На рис. 3.4, помимо выхода Y2, фиксирующего равенство значений разрядов, показаны выходы Y1 и Y3 ,
соответствующие сигналам "больше" и "меньше".
Рис.3.4. Структурная схема компаратора (а) и обозначение компаратора на принципиальных
электрических схемах (б)
Комбинационный сумматор. Принципы построения и работы сумматора вытекают из правил сложения
двоичных цифр (п.2.3). Схема сумматора также является регулярной и широко используется в ЭВМ.
При сложении одноразрядных двоичных цифр можно выявить закономерности в построении и
многоразрядных сумматоров.
39
Сначала рассмотрим сумматор, обеспечивающий сложение двух двоичных цифр а1 и b1, считая, что
переносы из предыдущего разряда не поступают. Этой логике отвечает сложение младших разрядов
двоичных чисел. Процесс сложения описывается таблицей истинности (табл. 3.4) и логическими
зависимостями (3.2), где Si - функция одноразрядной суммы и рi - функция формирования переноса.
Перенос формируется в том случае, когда а1 =1 и b1=1.
Таблица 3.4
Таблица истинности комбинационного полусумматора
Входы
Выходы
ai
bi
Si
Pi
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Логические зависимости:
(3.2)
Зависимости (3.2) соответствуют логике работы самого младшего разряда любого сумматора.
Структурная схема одноразрядного сумматора (полусумматора) представлена на рис 3.5.
Рис. 3.5. Структурная схема полусумматора (а) и обозначение полусумматора на принципиально
электрических схемах (б)
Логические зависимости полусумматора Si и компаратора (3.1) очень похожи, так как они инверсно по
отношению друг к другу.
Уравнения, положенные в основу одноразрядного сумматора, используются и при построении
многоразрядных сумматоров. Логика работы каждого разряда сумматора описывается табл. 2.2,
которую можно считать его таблицей истинности.
Таблица истинности сумматора, учитывающего сигналы переноса, отличается от таблицы
полусумматора (табл. 3.4) дополнительным входом р -переносом из предыдущих разрядов.
Исходные логические зависимости, формируемые по табл. 2.2, имеют следующие совершенные ДНФ:
Преобразование
этих выражений приводит к следующим зависимостям:
(3.3)
В приведенных выражениях индексы у переменных в правых частях уравнений опущены.
Из анализа логических зависимостей видно, что структурная схема i-го разряда сумматора требует
включения в свой состав трех схем сравнения для формирования разрядной суммы и шести схем
совпадения (рис. 3.6).
40
Структурная схема многоразрядного
изображается в виде рис. 3.7.
комбинационного
сумматора
на
электрических
схемах
Рис. 3.6. Структурная схема одного разряда комбинационного сумматора:
а- структурная схема одного разряда; б - условное изображение
Рис.3.7. Структурная схема многоразрядного комбинационного сумматора
Схемы с памятью
Более сложным преобразователем информации являются схемы с памятью. Наличие памяти в схеме
позволяет запоминать промежуточные состояния обработки и учитывать их значения в дальнейших
преобразованиях. Выходные сигналы Y = (y1, y2, ..., уm) в схемах данного типа формируются не только по
совокупности входных сигналов Х = (х1, х2, ..., хn), но и по совокупности состояний схем памяти Q = (q1,
q2, ..., qk). При этом различают текущий дискретный момент времени t и последующий (t+1) момент
времени (рис. 3.8).
41
Рис. 3.8. Обобщенная структура схемы с памятью
Передача значения Q между моментами времени t и (t+1) осуществляется обычно с применением
двухступенчатой памяти и синхронизирующих импульсов (СИ).
В качестве простейшего запоминающего элемента (ЗЭ) в современных ЭВМ используют триггеры. В
связи с успешным применением микроэлектроники в схемах основных устройств ЭВМ (процессоров и
оперативной памяти) исчезли в качестве запоминающихся элементов схемы, использующие остаточную
намагниченность - ферритовые сердечники. Самая простейшая схема триггера может быть
синтезирована по общим правилам (п.2.4.4).
Пример3.1. Построить автомат намят - триггер, имеющий вход R (Reset - сброс), Для установки
элемента в "нулевое состояние" и вход S (Sеt - установка) - для установки элемента в "единичное"
состояние. При отсутствии сигналов R=S=0 элемент должен сохранять свое состояние до тех пор, пока
не будут получены новые сигналы на входе К или 8.
Условия работы триггера могут быть представлены в виде таблицы переходов (табл. 3.5),
представляющей собой модификацию таблицы истинности.
Таблица 3.5
Условия работы триггера
Входы
Состояние qt+1
Режим
R
S
0
1
0
0
0
1
Хранение
1
0
0
0
Установка 0
0
1
1
1
Установка 1
l
l
?
?
Запрещенное состояние
Содержание таблицы расшифровывается следующим образом. Элемент памяти может сохранять
значение qt=0 или qt=1 в зависимости от установки ранее установленного состояния. При отсутствии
входных сигналов на входах R и S (R =0 и S =0) значения qt+1 первой строке таблицы в точности
повторяют значения qt. При поступлении сигнала R=l (сигнала установки "нуля") элемент независимо от
своего состояния принимает значение, равное нулю, qt+1=0. Если же на вход S поступает сигнал
установки "единицы" (S=1), то qt+1=1 независимо от предыдущего состояния qt. Одновременное
поступление сигналов на входы R и S является запрещенной ситуацией, так как она может привести к
непредсказуемому состоянию. В схемах формирования сигналов R и S должны быть предусмотрены
блокировки, исключающие их совпадения, S=R=1.
Для таблицы переходов (табл.3.5) может быть построена диаграмма Вейча (табл.3.6).
Таблица 3.6
Диаграмма Вейча для таблицы переходов триггера
42
В этой таблице знаком "~"отмечены запрещенные комбинации входных сигналов. Эти комбинации
могут быть использованы для упрощения логических зависимостей. Логическая зависимость,
описывающая работу элемента памяти, принимает вид:
(3.4)
Уравнение (3.4) получено путем эквивалентных преобразований. Добавление в него комбинаций,
соответствующих запрещенным ситуациям и помеченных знаком "~", т.е.
позволяет еще больше упростить уравнение триггера:
(3.5)
Для реализации полученной зависимости в базисе И - НЕ применим правило де Моргана и получим
функцию
По данной зависимости можно построить схему элемента памяти - асинхронного RS-тригера. В этой
схеме следует только соединить выход qt+1со входом qt. На рис.3.9 эта связь отмечена штриховой
линией.
Рис. 3.9. Схема асинхронного RS-триггера: а- схема; б - обозначение на принципиальных электрических
схемах; в - временная диаграмма
RS-триггер нашел широкое распространение в схемах ЭВМ. Одиночные триггеры этого типа часто
используются в различных блоках управления. В асинхронных RS-триггерах имеется один
существенный недостаток, обусловленный самой логикой их построения (см. табл. 3.5), т.е. в них
сигналы R и S должны быть разнесены во времени. Дополнение этого триггера комбинационными
схемами синхронизации на входе и выходе позволяет получить триггеры с более сложной логикой
работы: синхронные RS-триггеры, Т-, JK-, D- триггеры и целый ряд комбинированных RST-, JKRS-,
DRS-трштеров [ 4].
Прописные буквы в названиях триггеров обозначают:
• R (Reset - сброс) - вход установки триггера в нулевое состояние Q=0;
• S (Set - установка) - вход установки триггера в единичное состояние 0=1;
• Т (Toggle - релаксатор) - счетный вход триггера;
• J (Jerk - внезапное включение) - вход установки ЛС-триггера в единичное состояние Q=1;
• К (Kill - внезапное выключение) - Q=0;
• D (Delay - задержка) - вход установки триггера в единичное или нулевое состояние на время, равное
одному такту;
• С (Clock - часы) - вход синхронизирующих тактовых импульсов. На рис. 3.10 показаны схемы
синхронного однотактного (а) и двухтактного (б) RS-триггеров.
43
Двухкаскадная схема RS-триггера (рис.3.10, б) нашла наиболее широкое применение для построения nразрядных схем запоминания - всевозможных регистровых схем. Штриховыми линиями на схеме
указаны дополнительные точки подключения сигналов установки и сброса.
Рис. 3.10. Электрическая и функциональная схемы синхронных RS-тригтеров: а, б - варианты
На рис. 3.11 приведена схема Т-триггера или иначе - триггера со счетным входом. При значении 7=0
триггер сохраняет свое ранее установленное состояние - режим хранения состояния, при T=1 триггер
переходит в противоположное состояние. Таблица переходов (табл. 3.7) и диаграмма работы (рис. 3.11,
б) отражают динамику работы этого элемента.
Рис. 3.11. Схема триггера со счетным входом: а- функциональная; б - условное обозначение; в временная диаграмма
Таблица 3.7
Таблица переходов Т-триггера
Входные сигналы
Состояние qt
Режим
Xt
0
1
0
0
1
Хранение
l
1
0
Инверсия
По таблице переходов можно получить логическую функцию, реализуемую Т-триггером:
(3.7)
Нетрудно видеть, что зависимость (3.7) очень похожа на функцию (3.2), выведенную для
одноразрядного комбинационного полусумматора. На рис. 3.11, а показано, как двухтактный RS-триггер
преобразуется в Т-триггер.
Наиболее сложным типом триггера является JK-тригтер. Он, по существу, является объединением
двухтактного RS- и Т-триггеров. Этому соответствует его таблица переходов (табл.3.8).
Таблица 3.8
Таблица переходов JK-триггера
Входные сигналы
Состояние q
Режим
J
K
0
1
0
l
0
1
Хранение
0
0
l
0
Установка 0
0
l
0
l
Установка l
l
l
0
0
Инверсия
44
Если первые три строки таблицы переходов полностью повторяют соответствующие строки табл. 3.5, то
последняя строка, с запрещенной комбинацией для RS-триггера, соответствует режиму переключения
Т-триггера (см. табл.3.7). Схема JK-триггера изображена на рис. 3.12.
Рис. 3.12. JK-триггер: а - функциональная схема; б - условное обозначение
D-триггер обычно строится на основе двухтактного RS- или JK-тригера. Он предназначается для
хранения состояния (1 или 0) на один период тактовых импульсов (с задержкой на 1 такт). Таблица его
переходов отражена в табл. 3.9. На рис.3.13, а и б представлены варианты его построения, а на рис.3.13,
в - его условное обозначение.
Таблица 3.9
Таблица переходов D-триггера
Входные сигналы
Состояния q
Режим
D
0
l
0
0
0
Установка 0
l
1
1
Установка l
Рис. 3.13. D-триггер: a- функциональная схема на основе RS-триггера; б- функциональная схема на
основе JK-трштера; в - условное обозначение
Все перечисленные элементы памяти позволяют хранить одну единицу информации - бит или одну
двоичную цифру.
При построении ЭВМ широко используются функциональные схемы, обеспечивающие операции
хранения и преобразования информации над группами битов (машинными словами). Такие сложные
схемы называются узлами. К типовым узлам относят: регистры, счетчики, сумматоры. Все они также
принадлежат к регулярным структурам, состоящим из одинаковых параллельно работающих
одноразрядных схем.
Регистром называется узел, предназначенный для приема, временного хранения и выдачи машинного
слова. Регистры могут также использоваться для некоторых операций преобразования данных: для
сдвига кода числа (слова) на определенное число разрядов влево или вправо, для преобразования
последовательного кода числа в параллельный и наоборот и т.д. Эти дополнительные функции
регистров обеспечиваются путем усложнения схем хранения, выбора более сложных триггеров и
подключения дополнительных логических схем на их входах и выходах.
45
Таким образом, регистры представляют собой совокупность триггеров, число которых соответствует
числу разрядов в слове, и вспомогательных схем, обеспечивающих выполнение различных операций
над словом.
На рис.3.14 показана функциональная схема n-разрядного регистра, построенного на RS-триггерах.
Информация в регистр записывается под действием сигнала "Запись". Предварительно перед
установкой кода на регистр обычно на все разряды R подается сигнал сброса. На рисунке показано, что
подключение к входам R дополнительных инверторов позволяет избежать этой предварительной
операции. Здесь на вход каждого разряда поступает парафазный код двоичной цифры (xi - на вход Si и хi
- на вход Ri), т.е. прямое и инверсное значения кода подаются в противофазе.
На рис.3.15 изображена функциональная схема того же регистра, дополненная логическими элементами
для преобразования хранящегося на регистре кода. По сигналу "Прямой код" с регистра считывается
прямой код хранящихся данных, а по сигналу "Обратный код" - инверсное значение каждого разряда
слова. Если оба эти сигнала поступают одновременно, то считывается парафазный код хранящейся
информации. Более сложная логика на входе и выходе запоминающих элементов позволяет строить
сдвигающие регистры.
Рис. 3.14. Схема регистра на RS-триггерах: а - функциональная схема; б - условное обозначение
регистра
Рис. 3.15. Схема выдачи информации из регистра
Счетчик - узел ЭВМ, позволяющий осуществлять подсчет поступающих на его вход сигналов и
фиксацию результата в виде многоразрядного двоичного числа. Счетчик, состоящий из n-триггеров,
дает возможность подсчитывать до N сигналов, связанных зависимостью:
n = log2 NилиN = 2".
46
В ЭВМ счетчики используются для подсчета импульсов, сдвигов, формирования адресов и т.д.
Функционально различают суммирующие, вычитающие, реверсивные счетчики. Они также отличаются
друг от друга логикой работы дополнительных логических элементов, подключаемых к триггерам.
В основу построения любого счетчика положено свойство Т-триггеров изменять свое состояние при
подаче очередного сигнала на счетный вход Т. На рис.3.16 показана схема трех разрядов суммирующего
счетчика, построенного на Т-триггерах. Логика его работы представлена в табл. 3.10.
Таблица 3.10
Таблица переходов трехразрядного счетчика
Вход
Состояние
х
000
001
010
011
100
101
110
111
Режим
0
000
001
010
011
100
101
110
111
Хранение
1
001
010
011
100
101
110
111
000
Счет
Рис. 3.16. Организация счетчика на Т-триггерах: а - функциональная схема; б - временная диаграмма
Сумматор - узел ЭВМ, в котором суммируются коды чисел. Как правило, любой сумматор
представляет собой комбинацию одноразрядных сумматоров. Сумматоры различают по принципам
построения: накапливающего типа и комбинационного типа. Сумматоры накапливающего типа строят
на сложных JKRS-триггерах, дополняя их выходы достаточно сложными схемами формирования и
распространения переносов. Процесс сложения при этом осуществляется поэтапно. Сначала на
триггерах сумматора фиксируется код первого операнда, затем на счетные коды разрядов подается код
второго операнда. По зависимостям (3.3) на каждом триггере формируются одноразрядные суммы и
значения переносов между разрядами. Учет возникающих переносов задерживает формирование
окончательного результата суммы и может требовать дополнительных тактов сложения. Из-за этого
многоразрядные схемы сумматора накапливающего типа используются достаточно редко.
Более часто для построения сумматоров используются сумматоры комбинационного типа. Логика
работы такого сумматора была представлена данными табл. 2.2. Обычно у такого сумматора на входе и
выходе имеются регистры для хранения и преобразования кодов операндов и результата (рис.3.17).
Рис. 3.17. Упрощенная схема сумматора ЭВМ
Регистр Рг1 предназначается для хранения кода первого операнда, регистр Рг2 - для хранения кода
второго операнда. Сумматор по сигналам из устройства управления настраивается на выполнение
определенной машинной операции, соответствующей коду операции, находящемуся в коде команды.
Результат выполняемой операции фиксируется в регистре РгЗ . При необходимости этот результат
может использоваться для продолжения вычислений. Для этого предусматривается возможность
перезаписи содержимого регистра РгЗ на Рг1 в качестве значения одного из операндов при выполнении
очередной операции.
Проблемы развития элементной базы
47
Одним из главных факторов достижения высокого быстродействия, а значит, и высокой
производительности ЭВМ является построение их на новейшей элементной базе. Смена поколений
ЭВМ в значительной степени связана с переходами на новые поколения элементной базы, знаменующие
достижения новых частотных диапазонов работы схем в рамках доступных технологий. Успехи в
создании новой элементной базы определяются передовыми научными и техническими достижениями
целого ряда наук (физики, химии, оптики, механики и др.). Качество элементной базы является
показателем 'технического прогресса.
Все современные ЭВМ строятся на микропроцессорных наборах, основу которых составляют большие и
сверхбольшие интегральные схемы. Технологический принцип разработки и производства
интегральных схем действует уже более четверти века. Он заключается в циклическом послойном
изготовлении частей электронных схем по циклу программа - рисунок - схема. По программам на
напыленный фоторезисторный слой наносится рисунок будущего слоя микросхемы. Затем рисунок
протравливается, фиксируется, закрепляется и изолируется от новых слоев. На основе этого создается
пространственная твердотельная структура. Например, СБИС типа Pentium включает около трех с
половиной миллионов транзисторов, размещаемых в пятислойной структуре.
Степень микроминиатюризации, размер кристалла ИС, производительность и стоимость технологии
напрямую определяются типом литографии. До настоящего времени доминирующей оставалась
оптическая литография, т.е. послойные рисунки на фоторезисторе микросхем наносились световым
лучом. В настоящее время ведущие компании, производящие микросхемы, реализуют кристаллы с
размерами примерно 400мм2 - для процессоров (например, Pentium) и 200мм2 - для схем памяти.
Минимальный топологический размер (толщина линий) при этом составляет 0,5 - 0,35 мкм. Для
сравнения можно привести такой пример. Толщина человеческого волоса составляет примерно 100 мкм.
Значит, при таком разрешении на толщине волоса могут вычерчивать более двухсот линий.
Дальнейшие достижения в микроэлектронике связываются с электронной (лазерной), ионной и
рентгеновской литографией. Это позволяет выйти на размеры 0.25, 0.18 и даже 0.08мкм.
При таких высоких технологиях возникает целый ряд проблем. Микроскопическая толщина линий,
сравнимая с диаметром молекул, требует высокой чистоты используемых и напыляемых материалов,
применения вакуумных установок и снижения рабочих температур. Действительно, достаточно
попадания мельчайшей пылинки при изготовлении микросхемы, как она попадает в брак. Поэтому
новые заводы по производству микросхем имеют уникальное оборудование, размещаемое в чистых
помещениях класса 1, микросхемы в которых транспортируются от оборудования к оборудованию в
замкнутых сверхчистых мини-атмосферах класса 1000. Мини-атмосфера создается, например,
сверхчистым азотом или другим инертным газом при давлении 10-4 Topp [З].
Уменьшение линейных размеров микросхем и повышение уровня их интеграции заставляют
проектировщиков искать средства борьбы с потребляемой Wn и рассеиваемой Wp мощностью. При
сокращении линейных размеров микросхем в 2 раза их объемы изменяются в 8 раз. Пропорционально
этим цифрам должны меняться и значения Wn и Wp, в противном случае схемы будут перегреваться и
выходить из строя. В настоящее время основой построения всех микросхем была и остается КМОПтехнология (комплиментарные схемы, т.е. совместно использующие n- и р-переходы в транзисторах со
структурой металл - окисел -полупроводник).
Известно, что W=U*I. Напряжение питания современных микросхем составляет 5 - 3V. Появились
схемы с напряжением питания 2,8V, что выходит за рамки принятых стандартов. Дальнейшее
понижение напряжения нежелательно, так как всегда в электронных схемах должно быть обеспечено
необходимое соотношение сигнал-шум, гарантирующее устойчивую работу ЭВМ.
Протекание тока по микроскопическим проводникам сопряжено с выделением большого количества
тепла. Поэтому, создавая сверхбольшие интегральные схемы, проектировщики вынуждены снижать
тактовую частоту работы микросхем. На рис.3.18 показано, что использование максимальных частот
работы возможно только в микросхемах малой и средней интеграции. Максимальная частота fmax=10111012Гц доступна очень немногим материалам: кремнию Si, арсениду галлия GaAs и некоторым другим.
Поэтому они чаще всего и используются в качестве подложек в микросхемах.
48
Рис.3.18. Зависимость частоты f от степени интеграции А,
Таким образом, переход к конструированию ЭВМ на СБИС и ультра-СБИС должен сопровождаться
снижением тактовой частоты работы схемы. Дальнейший прогресс в повышении производительности
может быть обеспечен либо за счет архитектурных решений, либо за счет новых принципов построения
и работы микросхем. Альтернативных путей развития просматривается не очень много. Так как
микросхемы СБИС не могут работать с высокой тактовой частотой, то в ЭВМ будущих поколений их
целесообразно комплексировать в системы. При этом несколько СБИС должны работать параллельно, а
слияние работ в системе должно обеспечивать сверхскоростные ИС (ССИС), которые не могут иметь
высокой степени интеграции.
Большие исследования проводятся также в области использования явления сверхпроводимости и
туннельного эффекта - эффекта Джозефсона. Работа микросхем при температурах, близких к
абсолютному нулю (-273°С), позволяет достигнуть fmax, при этом Wp=Wn=0. Очень интересны
результаты по использованию "теплой сверхпроводимости". Оказывается, что для некоторых
материалов, в частности для солей бария, явление сверхпроводимости наступает уже при температурах
около –1500С. Высказывались соображения, что могут быть получены материалы, имеющие
сверхпроводимость при температурах, близких к комнатной. С уверенностью можно сказать, что
появление таких элементов знаменовало бы революцию в развитии средств вычислительной техники
новых поколений.
. В качестве еще одного из альтернативных путей развития элементной базы ЭВМ будущих поколений
следует рассматривать и биомолекулярную технологию. В настоящее время имеются опыты по синтезу
молекул на основе их стереохимического генетического кода, способных менять ориентацию и
реагировать на ток, на свет и т.п. Однако построение из них биологических микромашин еще находится
на стадии экспериментов. Таким образом, можно сделать вывод, что в настоящее время возможности
микроэлектроники еще не исчерпаны, но давление пределов уже ощутимо. Основой для ЭВМ будущих
поколений будут БИС и СБИС совместно с ССИС. При этом структуры ЭВМ и ВС будут широко
использовать параллельную работу микропроцессоров.
Глава 4. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ
Общие принципы функциональной и структурной организации ЭВМ
Электронные вычислительные машины включают, кроме аппаратурной части и программного
обеспечения (ПО), большое количество функциональных средств. К ним относятся коды, с помощью
которых обрабатываемая информация представляется в цифровом виде: арифметические коды - для
выполнения арифметических преобразований числовой информации; помехозащищенные коды,
используемые для защиты информации от искажений;
коды формы, определяющие, как должна выглядеть обрабатываемая в ЭВМ информация при
отображении; цифровые коды аналоговых величин (звука, “живого видео”) и др. Кроме кодов на
функционирование ЭВМ оказывают влияние алгоритмы их формирования и обработки, технология
выполнения различных процедур (например, начальной загрузки операционной системы, принятой в
системе технологии обработки заданий пользователей и др.); способы использования различных
устройств и организация их работы (например, организация системы прерываний или организация
49
прямого доступа к памяти), устранение негативных явлений (например, таких, как фрагментация
памяти) и др.
Будем считать, что коды, система команд, алгоритмы выполнения машинных операций, технология
выполнения различных процедур и взаимодействия hard и soft, способы использования устройств при
организации их совместной работы, составляющие идеологию функционирования ЭВМ, образуют
функциональную организацию ЭВМ.
Реализована идеология функционирования ЭВМ может быть по-разному: аппаратурными, программноаппаратурными или программными средствами. При аппаратурной и программно-аппаратурной
реализации могут быть применены регистры, дешифраторы, сумматоры; блоки жесткого аппаратурного
управления или микропрограммного с управлением подпрограммами (комплексами микроопераций);
устройства или комплексы устройств, реализованные в виде автономных систем (программируемых или
с жестким управлением) и др. При программной реализации могут быть применены различные виды
программ - обработчики прерываний, резидентные или загружаемые драйверы, соm-, ехе- или tsr программы, bat- файлы и др.
Будем считать, что способы реализации функций ЭВМ составляют структурную организацию ЭВМ.
Тогда элементная база, функциональные узлы и устройства ЭВМ, программные модули различных
видов (обработчики прерываний, драйверы, соm-, ехе-, tsr-программы, bat-файлы и др.) являются
структурными компонентами ЭВМ.
При серьезных конструктивных различиях ЭВМ могут быть совместимыми, т.е. приспособленными к
работе с одними и теми же программами (программная совместимость) и получению одних и тех же
результатов при обработке одной и той же, однотипно представленной информации (информационная
совместимость). Если аппаратурная часть электронных вычислительных машин допускает их
электрическое соединение для совместной работы и предусматривает обмен одинаковыми
последовательностями сигналов, то имеет место и техническая совместимость ЭВМ.
Совместимые ЭВМ должны иметь одинаковую функциональную организацию: информационные
элементы (символы) должны одинаково представляться при вводе и выводе из ЭВМ, система команд
должна обеспечивать в этих ЭВМ получение одинаковых результатов при одинаковых преобразованиях
информации. Работой таких машин должны управлять одинаковые или функционально совместимые
операционные системы (а для этого должны быть совместимы методы и алгоритмы планирования и
управления работой аппаратурно-программного вычислительного комплекса). Аппаратурные средства
должны иметь согласованные питающие напряжения, частотные параметры сигналов, а главное состав, структуру и последовательность выработки управляющих сигналов.
При неполной совместимости ЭВМ (при наличии различий в их функциональной организации)
применяют эмуляторы, т.е. программные преобразователи функциональных элементов.
Состав функциональных блоков и структурных средств неоднороден. Поэтому в большинстве случаев
функциональная и структурная организация будут рассматриваться в тех разделах, которые посвящены
соответствующим аппаратурной части (hardware) или программному обеспечению (Software).
Организация функционирования ЭВМ с магистральной архитектурой
ЭВМ представляет собой совокупность устройств, выполненных на больших интегральных схемах,
каждая из которых имеет свое функциональное назначение. Комплект интегральных схем, из которых
состоит ЭВМ, называется микропроцессорным комплектом. В состав микропроцессорных комплектов
входят: системный таймер, микропроцессор (МП), сопроцессоры, контроллер прерываний, контроллер
прямого доступа к памяти, контроллеры устройств ввода-вывода и др.
Все устройства ЭВМ делятся на центральные и периферийные. Центральные устройства полностью
электронные, периферийные устройства могут быть либо электронными, либо электромеханическими с
электронным управлением.
В центральных устройствах основным узлом, связывающим микропроцессорный комплект в единое
целое, является системная магистраль. Она состоит из трех узлов, называемых шинами: шина данных
(ШД), шина адреса (ША), шина управления (ШУ). В состав системной магистрали входят регистрызащелки, в которых запоминается передаваемая информация, шинные формирователи, шинные
арбитры, определяющие очередность доступа к системной магистрали, и др.
Логика работы системной магистрали, количество разрядов (линий) в шинах данных, адреса и
управления, порядок разрешения конфликтных ситуаций, возникающих при одновременном обращении
различных устройств ЭВМ к системной магистрали, образуют интерфейс системной шины.
50
В состав центральных устройств ЭВМ входят: центральный процессор, основная память и ряд
дополнительных узлов, выполняющих служебные функции: контроллер прерываний, таймер и
контроллер прямого доступа к памяти (ПДП).
Периферийные устройства делятся на два вида: внешние ЗУ (НМД, НГМД, НМЛ) и устройства вводавывода (УВВ): клавиатура, дисплей, принтер, мышь, адаптер каналов связи (КС) и др.
Управляющая работой ЭВМ программа перед началом выполнения загружается в основную память.
Адрес первой выполняемой команды передается микропроцессору и запоминается в счетчике команд.
Начало работы процессора заключается в том, что адрес из счетчика команд (в котором всегда хранится
адрес очередной команды) выставляется на шину адреса системной магистрали. Одновременно на шину
управления выдается команда: выборка из ОП, которая воспринимается основной памятью. Получив с
шины управления системной магистрали команду, основная память считывает адрес с шины адреса,
находит ячейку с этим номером и ее содержимое выставляет на шину данных, а на шину управления
выставляет сигнал о выполнении команды. Процессор, получив по шине управления сигнал об
окончании работы ОП, вводит число с шины данных на внутреннюю магистраль МП и через нее
пересылает введенную информацию в регистр команд.
В регистре команд полученная команда разделяется на кодовую и адресную части. Код команды
поступает в блок управления для выработки сигналов, настраивающих МП на выполнение заданной
операции, и для определения адреса следующей команды (который сразу заносится в счетчик команд).
Адресная часть команды выставляется на шину адреса системной магистрали (СМ) и сопровождается
сигналом выборка из ОП на шине управления. Выбранная из ОП информация через шину данных
поступает на внутреннюю магистраль МП, с которой вводится в арифметическое устройство (АУ). На
этом заканчивается подготовка МП к выполнению операции, и начинается ее выполнение в АЛУ.
Результат выполнения операции выставляется микропроцессором на шину данных, на шину адреса
выставляется адрес ОП, по которому этот результат необходимо записать, а на шину управления
выставляется команда запись в ОП. Получив с шины управления команду, ОП считывает адрес и
данные с системной магистрали, организует запись данных по указанному адресу и после выполнения
команды выставляет на шину управления сигнал, обозначающий, что число записано. Процессор,
получив этот сигнал, начинает выборку очередной команды: выставляет адрес из счетчика команд на
шину адреса, формирует команду выборка из ОП на шине управления и т.д.
В каждом цикле, получив команду в регистр команд и выделив код операции, процессор определяет, к
какому устройству она относится. Если команда должна выполняться процессором, организуется ее
выполнение по описанному циклу. Если же команда предназначена для выполнения в другом
устройстве ЭВМ, центральный процессор (ЦП) передает ее соответствующему устройству. Процесс
передачи команды другому устройству предусматривает следующие действия: ЦП выставляет на шину
адреса СМ адрес интересующего его устройства. По шинам управления передается сигнал поиск
устройства. Все устройства, подключенные к системной магистрали, получив этот сигнал, читают
номер устройства с шины адреса и сравнивают его со своим номером. Устройства, для которых эти
номера не совпадают, на эту команду не реагируют. Устройство с совпавшим номером вырабатывает
сигнал отклика по шине управления. ЦП, получив сигнал отклика, в простейшем случае выставляет
имеющуюся у него команду на шину данных и сопровождает ее по шине управления сигналом передаю
команду. Получив сигнал о приеме команды, ЦП переходит к выполнению очередной своей команды,
выставляя на шину адреса содержимое счетчика команд.
В более сложных случаях, получив сигнал, что устройство откликнулось, прежде чем передавать
команду, ЦП запрашивает устройство о его состоянии. Текущее состояние устройства закодировано в
байте состояния, который откликнувшееся устройство передает процессору через ШД системной
магистрали. Если устройство включено и готово к работе, то байт состояния -нулевой. Наличие в нем
единиц свидетельствует о нештатной ситуации, которую ЦП пытается проанализировать и в
необходимых случаях извещает оператора о сложившейся ситуации.
Взаимодействие МП с внешними устройствами предусматривает выполнение логической
последовательности действий, связанных с поиском устройства, определением его технического
состояния, обменом командами и информацией. Эта логическая последовательность действий вместе с
устройствами, реализующими ее, получила название интерфейс ввода-вывода.
Для различных устройств могут использоваться разные логические последовательности действий,
поэтому интерфейсов ввода-вывода может в одной и той же ЭВМ использоваться несколько. Если их
удается свести к одному, универсальному, то такой интерфейс называется стандартным. В IBM PC
51
есть два стандартных интерфейса для связи ЦП с внешними устройства-' ми: параллельный (типа
Centronics) и последовательный (типа RS-232).
Интерфейсы постоянно совершенствуются, поэтому с появлением новых ЭВМ, новых внешних
устройств и даже нового программного обеспечения появляются и новые интерфейсы. Так, в
программном обеспечении, разработанном ведущими фирмами, все шире используется новый
интерфейс Plug and Play (Включи - и играй), который предназначен для облегчения системной
настройки ЭВМ при подключении новых устройств, к машине. Этот интерфейс позволяет подключить с
помощью кабеля новое устройство, а после включения ЭВМ ее программное обеспечение
автоматически определяет состав подключенных устройств, их типы в настраивает машину на работу с
ними без вмешательства системного оператора.
Если при обращении ЦП к внешнему устройству продолжение выполнения основной программы
центральным процессором возможно только после завершения операции ввода-вывода, то ЦП, запустив
внешнее устройство, переходит в состояние ожидания и находится в нем до тех пор, пока внешнее
устройство не сообщит ему об окончании обмена данными. Это приводит к простою большинства
устройств ЭВМ, так как в каждый момент времени может работать только одно из них. Такой режим
работы получил название однопрограммного - в каждый момент времени все устройства находятся в
состоянии ожидания, и только одно устройство выполняет основную (и единственную) программу.
Для ликвидации таких простоев и повышения эффективности работы оборудования внешние
устройства сделаны автономными. Получив от ЦП необходимую информацию, они самостоятельно
организуют свою работу по обмену данными. Процессор же, запустив внешнее устройство, пытается
продолжить выполнение программы. При необходимости (если встретятся соответствующие команды)
он может запустить в работу несколько других устройств (так как внешние устройства работают
значительно медленнее процессора). Если же ему приходится переходить в режим ожидания, то,
пользуясь тем, что в ОП может одновременно находиться не одна, а несколько программ, ЦП переходит
к выполнению очередной программы. При этом создается ситуация, когда в один и тот же момент
времени различные устройства ЭВМ выполняют либо разные программы, либо разные части одной и
той же программы, такой режим работы ЭВМ называется многопрограммным.
Организация работы ЭВМ при выполнении задания пользователя
Организация процессов ввода, преобразования и отображения результатов относится к сфере
системного программного обеспечения. Это сложные цр9цесс.ы„ ^которые чаще всего делаются
“прозрачными”, т.е. незаметными для пользователя. Один из них - реализация задания пользователя:
профессиональный пользователь (программист) пишет задание для ЭВМ в виде программы на
алгоритмическом языке. Написанное задание (программа) представляет собой исходный модуль,
сопровождаемый управляющими предложениями, указывающими операционной системе ЭВМ, на
каком языке написана программа и что с ней надо делать. Если программа пишется на алгоритмическом
языке, то управляющие предложения - на языке управления операционной системой (в ЕС ЭВМ и IBM
360/370 этот язык называется -Job Control Langiage, в MS DOS IBM PC - это язык команд DOS, иногда
оформляемый в виде bat - файла).
Исходный модуль перед исполнением должен быть переведен на внутренний язык машины. Эта
операция выполняется специальной программой -транслятором (рис.4.1). Трансляторы выполняются в
виде двух разновидностей: интерпретаторы и компиляторы. Интерпретатор после перевода на язык
машины каждого оператора алгоритмического языка немедленно исполняет полученную машинную
программу. Компилятор же сначала полностью переводит всю программу, представленную ему в виде
исходного модуля (ИМ), на язык машины. Получаемая при этом машинная программа представляет
собой объектный модуль (ОМ). Результат работы компилятора может быть записан в библиотеку
объектных модулей (БОМ) или передан другим программам для дальнейшей обработки, поскольку
полученная машинная программа не готова к исполнению по двум причинам. Во-первых, она Сдержит
неразрешенные внешние ссылки (т.е. обращение к программам, которые не содержатся в исходном
модуле, но необходимы для работы основной программы, например, к стандартным программам
алгоритмического
52
Рис. 4.1. Обработка заданий операционной системой
языка, таким, как извлечение корня квадратного, вычисление тригонометрических функций и т.д.). Вовторых, объектный модуль представляет собой машинную программу в условных адресах - каждый
объектный модуль начинается с адреса Oh, тогда как для исполнения программа должна быть
“привязана” к конкретным физическим адресам основной памяти.
Недостающие программы должны быть взяты из библиотек компилятора (которые могут быть
написаны в виде исходных либо в виде объектных модулей) и добавлены к основной программе. Эту
операцию выполняет редактор связей. В результате работы редактора связей образуется загрузочный
модуль (ЗМ), который помещается в соответствующую библиотеку загрузочных модулей (БЗМ). В
загрузочном модуле все ссылки разрешены, т.е. он содержит все необходимые стандартные программы,
но привязки к памяти у загрузочного модуля нет.
Привязка к памяти загрузочного модуля производится программой выборки, которая переносит
загрузочный модуль из библиотеки загрузочных модулей (обычно хранящейся на магнитном носителе)
в основную память и во время этого переноса корректирует адреса, учитывая, с какого адреса основной
памяти размещается загрузочный модуль. После перемещения загрузочного модуля в основную память
программа выборки инициирует ее выполнение.
Представление машинной программы в виде исходных, объектных и загрузочных модулей позволяет
реализовать наиболее эффективные программные комплексы. Например, если по одной и той же
программе необходимо много раз производить расчеты, то неэффективно тратить каждый раз время на
трансляцию и редактирование программы - ее нужно оформить в виде загрузочного модуля и хранить в
соответствующей библиотеке. При обращении к такой программе сразу будет вызываться программа
выборки для загрузки соответствующего модуля (а этапы компиляции и редактирования связей будут
опускаться) - время на выполнение программы существенно сократится.
Если же программа только отлаживается или после каждого просчета ее нужно будет модернизировать,
то получение загрузочного модуля и обращение к программе выборки будут лишними операциями. Для
их обхода вместо редактора связей может быть применен загрузчик - программа, сочетающая в себе
функции редактирования связей и загрузки полученной машинной программы в основную память для
53
исполнения. Но при использовании загрузчика многократные просчеты по программе проводить
невыгодно, так как каждый раз приходится выполнять лишние операции редактирования связей.
Отображение адресного пространства программы на основную память
Алгоритмы распределения, использования, освобождения ресурсов и предоставления к ним
доступапредназначены для наиболее эффективной организации работы всего комплекса устройств
ЭВМ. Рассмотрим их на примере управления основной памятью.
Для выполнения программы при ее загрузке в основную память ей выделяется часть машинных ресурсов
- они необходимы для размещения команд, данных, управляющих таблиц и областей ввода-вывода, т.е.
производится трансляция адресного пространства откомпилированной программы в местоположение в
реальной памяти.
Выделение ресурсов может быть осуществлено самим программистом (особенно если он работает на
языке, близком машинному), но может производиться и операционной системой.
Если выделение ресурсов производится перед выполнением программы, такой процесс называется
статическим перемещением, в результате которого программа “привязывается” к определенному месту
в памяти вычислительной машины. Если же ресурсы выделяются в процессе выполнения программы,
это называется динамическим перемещением, в этом случае программа не привязана к определенному
месту в реальной памяти. Динамический режим можно реализовать только с помощью операционной
системы.
При статическом перемещении может встретиться два случая. 1. Реальная память больше требуемого
адресного пространства программы. В этом случае загрузка программы в реальную память
производится, начиная с 0-го адреса (рис.4.2).
Рис.4.2. Загрузка программы в реальную память (объем реальной памяти больше адресного
пространства программы)
Загружаемая программа А является абсолютной программой, так как никакого изменения адресов в
адресном пространстве, подготовленном компилятором, при загрузке в основную память не происходит
- программа располагается с 0-го адреса реальной памяти.
2. Реальная память меньше требуемого адресного пространства программы (рис.4.3).
Рис.4.3. Загрузка программы в реальную память (объем реальной памяти меньше адресного
пространства программы)
В этом случае программист (или операционная система) вынужден решать проблему, как организовать
выполнение программы. Методов решения проблемы существует несколько: можно создать оверлейную
структуру (т.е. разбить программу на части, вызываемые в ОП по мере необходимости), сделать
модули программы реентерабельными (т.е. допускающими одновременную работу модуля по
нескольким обращениям из разных частей программы или из различных программ) и т.д.
54
Реальная память
ОС
20Кбайт
Программа А
0Кбайт
Программа D
50Кбайт
10Кбайг
Программа В
20Кбайт
Программа С
Рис. 4.4. Фрагментация реальной памяти
В некоторых операционных системах адреса откомпилированной (с 0 адреса) программы могут быть
преобразованы в адреса реальной памяти, отличные от 0. При этом создается абсолютный модуль,
который требует размещения его в памяти всегда с одного и того же адреса.
При мультипрограммном режиме, если имеем программы А, В и С, для которых известно, что
программа А выполняется при размещении в памяти с адреса 60 Кбайт до 90 Кбайт, В - с 60 Кбайт до 90
Кбайт, С - с 50 Кбайт до 120 Кбайт, организовать их совместное выполнение невозможно, так как им
необходим один и тот же участок реальной памяти. Эти программы будут ждать друг друга либо их
нужно заново редактировать с другого адреса.
При работе в мультипрограммном режиме может сложиться ситуация, когда между программами
образуются незанятые участки памяти. На рис.4.4
Рис.4.5. Размещение программы в свободной части ОП
общий объем незанятой памяти, составляющий 50 Кбайт, достаточен, чтобы загрузить и программу D,
находящуюся в ожидании. Но ее не удается загрузить так как свободные участки памяти не являются
смежными. Такое состояние называется фрагментацией реальной памяти. Оно характерно для систем
со статическим перемещением.
В системах с динамическим перемещением программ перемещающий загрузчик размещает программу в
свободной части памяти (рис.4.5) и допускает использование несмежных ее участков.
В этом случае имеется больше возможностей для организации мультипрограммной работы, а
следовательно, и для более эффективного использования временных ресурсов ЭВМ.
Адресная структура команд микропроцессора и планирование ресурсов
При больших размерах реализуемых программ возникают некоторые противоречия при организации
мультипрограммного режима работы, трудности динамического распределения ресурсов.
В настоящее время разработано несколько способов решения этих противоречий. Например, для борьбы
с фрагментацией основной памяти адресное пространство программы может быть разбито на отдельные
сегменты, слабо связанные между собой. Тогда (рис.4.6) программа D общей длиной 50 Кбайт может
быть представлена в виде ряда сегментов, загружаемых в различные области ОП. Это позволяет
использовать реальную память, теряемую из-за фрагментации.
55
Рис. 4.6. Фрагментация ОП. Загрузка сегментированной программы
Адреса в каждом сегменте начинаются с 0. При статическом перемещении программы в процессе
загрузки ее в основную память адреса должны быть привязаны к конкретному месту в памяти, на что
уходит много времени, отвлекаются вычислительные ресурсы. Более эффективной является
динамическая трансляция адресов (ДТА), которая заключается в том, что сегменты загружаются в
основную память без трансляции адресного пространства (т.е. без изменения адресов в программе с
учетом физического размещения в памяти команд и данных), а трансляция адресов каждой команды
производится в процессе ее выполнения. Этот тип трансляции называется динамическим перемещением
и осуществляется специальными аппаратурными средствами ДТА.
Каждый сегмент программы должен иметь свое имя. Форма имени сегмента может быть любой,
например номер (рис.4.7 а, б).
При таком представлении адрес будет состоять из двух частей: s, i, где s -имя сегмента, i - адрес внутри
сегмента.
Если ЭВМ имеет 32-битовую адресную структуру, максимальная длина адреса в единственном сегменте
будет длиной 32 разряда. Если 16 разрядов из 32 отвести под номер сегмента (а 16 - под смещение), то в
этом случае все адресное пространство программы может состоять из 216= 64 Кбайта сегментов.
Сегмент может содержать 216= 64 Кбайта (т.е. иметь адреса от О до 65535). При другой структуре
адреса изменяются количество сегментов и их длина.
Рис.4.7. Форма имени сегмента: а - при выделении 8 разрядов; б - при выделении 16 разрядов
Структура адресов накладывает два важных ограничения:
• ограничивается максимальное число сегментов, которое может существовать в адресном пространстве
программы;
• ограничивается максимальное смещение любого адреса в сегменте. При загрузке в основную память
сегментированной программы каждый сегмент перемещается в реальную память отдельно, причем
участки основной памяти могут быть или не быть смежными. Трансляция адресов не происходит сегменты по-прежнему содержат свои относительные адреса.
56
Для динамической трансляции адресов (т.е. при определении абсолютных адресов по известным
относительным, содержащим номер сегмента и смещение) операционная система строит специальные
таблицы, устанавливающие соответствие между сегментируемым адресным пространством программы
и действительными адресами сегментов в реальной памяти (рис.4.8).
Рис.4.8. Динамическая трансляция адресов при сегментной организации программы
Процессор может обращаться к основной памяти, используя только абсолютные адреса.
Каждая строка таблицы сегментов содержит адрес начала сегмента в реальной памяти. Для каждого
сегмента имеется одна строка таблицы.
Таблицу сегментов содержит каждая выполняемая программа.
В дополнение к таблице сегментов для динамической трансляции адреса используется специальный
управляющий регистр, называемый регистром начала таблицы сегментов (РНТС или STOR (segment
table origin register)). В этот регистр занесен адрес таблицы сегментов выполняемой в данный момент
программы.
На рис.4.9 изображено выполнение программы D. В РНТС находится адрес таблицы сегментов этой
программы. Если программа В прервет выполнение программы D, то в РНТС будет занесен начальный
адрес таблицы сегментов программы В.
Допустим, для выполняемой программы D начальный адрес таблицы сегментов 68000. В реальной
вычислительной машине все действия выполняются в шестнадцатеричной системе счисления, мы же
проведем вычисления для простоты в десятичной системе счисления. '
Рис. 4.9. Технология динамической трансляции адресов
Для обращения к адресу 15000 сегмента 1 производятся следующие действия:
• РНТС указывает на начало таблицы сегментов программы D - 68000;
• номер сегмента в относительном адресе используется как индекс при обращении к таблице сегментов.
В данном примере обращение производится к 1-й строке;
57
• адрес, хранимый в выбранной строке таблицы сегментов, есть адрес начала сегмента в реальной
памяти. Смещение в относительном адресе добавляется к начальному адресу, и результат является
адресом в реальной памяти: 15000+75000=90000. Для относительного адреса (сегмент 3, смещение
13000) будет получен абсолютный адрес 218000.
При ДТА такое определение адресов ведется в процессе выполнения каждой команды.
Если операционной системе понадобится переместить исполняемую программу в другую часть памяти
(например, чтобы исключить фрагментацию), сначала надо будет переслать команды и данные
сегмента. Затем строку таблицы сегментов для данного сегмента нужно изменить так, чтобы она
содержала новый адрес, и выполнение программы может быть продолжено. Это дает возможность
динамического управления реальной памятью в процессе выполнения программы.
Использованием сегментации программ достигается уменьшение фрагментации основной памяти, но
полностью фрагментация не устраняется -остаются фрагменты, длина которых меньше длины сегмента
программы.
Если сегменты разделить на одну или несколько единиц, называемых страницами, которые имеют
фиксированный размер, то поскольку размер страницы достаточно мал по сравнению с обычным
размером сегментов, неиспользуемые фрагменты ОП значительно сокращаются в объеме - будет иметь
место так называемая фрагментация внутри страниц. Следовательно, потери все-таки останутся, но они
будут существенно меньше.
Сегментно-страничная организация добавляет еще один уровень в структуре адресного пространства
программы. Теперь адресное пространство программы дробится на сегменты, внутри сегментов - на
страницы и адреса внутри страниц. Структура адреса: (s, p, i) - рис.4.10, где s - имя сегмента
Рис.4.10. Адресная структура при сегментно-страничной организации памяти внутри адресного
пространства программы; p - имя страницы; i - адрес внутри страницы.
Формирование сегментно-страничной структуры выполняется автоматически с помощью операционной
системы.
Для динамической трансляции адресов каждому сегменту необходимы одна таблица сегментов и
несколько таблиц страниц (рис.4.11).
ДTА будет выполняться следующим образом:
• регистр начала таблицы сегментов содержит начальный адрес таблицы сегментов выполняемой
программы 28000;
• номер сегмента в относительном адресе используется как индекс для обращения к записи таблиц
сегментов. Эта запись идентифицирует начало таблицы страницы (реальный адрес) 30000;
• номер страницы в относительном адресе используется как индекс для обраще0ния к записи таблицы
страниц. Эта запись идентифицирует начало страничного блока, содержащего эту страницу - 128000;
• смещение в относительном адресе и местоположение страничного блока объединяются вместе,
формируя абсолютный адрес 129564. В реальной системе адрес страничного блока и смещение
связываются, т.е. соединяются вместе для образования абсолютного адреса. Все преимущества
динамического перемещения с использованием сегментации и страничной организации достигаются
благодаря аппаратуре и программному обеспечению, а не пользователям системы. Специальные
программы во время загрузки разбивают адресное пространство программы на сегменты и страницы,
строят таблицы сегментов и страниц. Средства ДТА автоматически транслируют адрес в процессе
выполнения программы.
Виртуальная память
Имея иерархическую структуру запоминающих устройств, на реальном объеме памяти, значительно
меньшем максимального, можно имитировать работу с максимальной памятью. В этом случае
программист работает так, как будто ему предоставлена реальная память максимально допустимого для
данной ЭВМ объема, хотя имеющаяся реальная память значительно меньше по объему. Такой режим
работы называется режимом виртуальной памяти.
58
Рис. 4.11. Структурная схема формирования абсолютного адреса при сегментно-страничной
организации ОП
59
Рис. 4.12. Структура виртуальной памяти
Теоретически доступная пользователю ОП, объем которой определяется только разрядностью адресной
части команды и которая не существует в действительности, называется виртуальной памятью.
Виртуальная память имеет сегментно-страничную организацию и реализована в иерархической системе
памяти ЭВМ. Часть ее размещается в страничных блоках основной памяти, а часть - в ячейках внешней
страничной памяти (slot). Внешняя страничная память является частью внешней памяти. Ячейка (слот)
- это записываемая область во внешней страничной памяти (например, на жестком магнитном диске).
Она того же размера, что и страница.
Вычислительная система с 24-разрядным адресом может иметь адресное пространство в 16 777 216 байт
(16 Мбайт), с 32-разрядным адресом - 4 Гбайт. Структура такой памяти показана на рис.4.12.
Все программные страницы физически располагаются в ячейках внешней страничной памяти.
Виртуальная же память существует только как продукт деятельности операционной системы
(функционирующей на основе совместного использования внешней и страничной памяти).
60
Загрузить программу в виртуальную память - значит переписать несколько программных страниц из
внешней страничной памяти в основную память. Если в процессе выполнения программы А система
обнаружит, что требуемой страницы нет в реальной памяти, она должна переслать копию этой страницы
из внешней страничной памяти в реальную память. Этот механизм называется принудительным
страничным обменом.
При расшифровке виртуального адреса номер сегмента с помощью таблицы сегментов соотносится с
адресом таблицы страниц. Таблица страниц содержит номер страницы и адрес страничного блока. В
виртуальном режиме к таблице страниц добавляется еще одна колонка, содержащая бит недоступности.
Нулевое состояние этого бита означает, что соответствующая страница загружена в реальную память.
Единичное состояние означает, что страница недоступна, ее надо переписать в реальную память из
внешней. Местоположение страницы во внешней памяти указывается в таблице внешних страниц.
Система прерываний ЭВМ
Современная ЭВМ представляет собой комплекс автономных устройств, каждое из которых выполняет
свои функции под управлением местного устройства управления независимо от других устройств
машины. Включает устройство в работу центральный процессор. Он передает устройству команду и все
необходимые для ее исполнения параметры. После начала работы устройства центральный процессор
отключается от него и переходит к обслуживанию других устройств или к выполнению других
функций.
Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с
функции на функцию. На что именно обращено внимание ЦП в каждый данный момент, определяется
выполняемой им программой.
Во время работы в ЦП поступает (и вырабатывается в нем самом) большое количество различных
сигналов. Сигналы, которые выполняемая в ЦП программа способна воспринять, обработать и учесть,
составляют поле зрения ЦП или другими словами - входят в зону его внимания.
Например, если процессором исполняется программа сложения двух двойных слов, которая анализирует
регистр флагов ЦП, то в “поле ее зрения” находятся флаги микропроцессора, определяющие знаки
исходных данных и результата, наличие переноса из тетрады или байта, переполнение разрядной сетки
и др. Такая программа готова реагировать на любой из сигналов, находящихся в ее зоне внимания (а
поскольку именно программа управляет работой ЦП, то она определяет и “зону внимания”
центрального процессора). Но ееяи во время выполнения такой программы нажать какую-либо клавишу,
то эта программа “не заметит” сигнала от этой клавиши, так как он не входит в ее “поле зрения”.
Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать на события, происходящие
вне его зоны внимания, наступления которых он “не ожидает”, существует система прерываний ЭВМ.
При отсутствии системы прерываний все заслуживающие внимания события должны находиться в поле
зрения процессора, что сильно усложняет программы и требует большой их избыточности. Кроме того,
поскольку момент наступления события заранее не известен, процессор в ожидании какого-либо
события может находиться длительное время, и чтобы не пропустить его появления, ЦП не может
“отвлекаться” на выполнение какой-либо другой работы. Такой режим работы (режим сканирования
ожидаемого события) связан с большими потерями времени ЦП на ожидание.
Кроме сокращения потерь на ожидание, режим прерываний позволяет организовать выполнение такой
работы, которую без него реализовать просто невозможно. Например, при появлении неисправностей,
нештатных ситуаций режим прерываний позволяет организовать работу по диагностике и
автоматическому восстановлению в момент возникновения нештатной ситуации, прервав выполнение
основной работы таким образом, чтобы сохранить полученные к этому времени правильные результаты.
Тогда как без режима прерываний обратить внимание на наличие неисправности система могла только
после окончания выполняемой работы (или ее этапа) и получения неправильного результата.
Таким образом, система прерываний позволяет микропроцессору выполнять основную работу, не
отвлекаясь на проверку состояния сложных систем при отсутствии такой необходимости, или прервать
выполняемую работу и переключиться на анализ возникшей ситуации сразу после ее появления.
Помимо требующих внимания нештатных ситуаций, которые могут возникнуть при работе
микропроцессорной системы, процессору полезно уметь “переключать внимание” и на различные виды
работ, одновременно выполняемые в системе. Поскольку управление работой системы осуществляется
программой, этот вид прерываний должен формироваться программным путем.
В зависимости от места нахождения источника прерываний они могут быть разделены на внутренние
(программные и аппаратурные) и внешние прерывания (поступающие в ЭВМ от внешних источников,
например, от клавиатуры или модема).
61
Принцип действия системы прерываний заключается в следующем:
при выполнении программы после каждого рабочего такта микропроцессора изменяются содержимое
регистров, счетчиков, состояние отдельных управляющих триггеров, т.е. изменяется состояние
процессора. Информация о состоянии процессора лежит в основе многих процедур управления
вычислительным процессом. Не вся информация одинаково актуальна, есть существенные элементы,
без которых невозможно продолжение работы. Эта информация должна сохраняться при каждом
“переключении внимания процессора”.
Совокупность значений наиболее существенных информационных элементов называется вектором
состояния или словом состояния процессора (в некоторых случаях она называется словом состояния
программы).
Вектор состояния в каждый момент времени должен содержать информацию, достаточную для
продолжения выполнения программы или повторного пуска ее с точки, соответствующей моменту
формирования данного вектора.
Вектор состояния формируется в соответствующем регистре процессора или в группе регистров,
которые могут использоваться и для других целей.
Наборы информационных элементов, образующих векторы состояния, отличаются у ЭВМ разных
типов. В ЮМ PC вектор состояния включает содержимое счетчика команд, сегментных регистров,
регистра флагов и аккумулятора (регистра АХ).
При возникновении события, требующего немедленной реакции со стороны машины, ЦП прекращает
обработку текущей программы и переходит к выполнению другой программы, специально
предназначенной для данного события, по завершении которой возвращается к выполнению
отложенной программы. Такой режим работы называется прерыванием.
Каждое событие, требующее прерывания, сопровождается специальным сигналом, который называется
запросом прерывания. Программа, затребованная запросом прерывания, называется обработчиком
прерывания.
Запросы на прерывание могут возникать из-за сбоев в аппаратуре (зафиксированных схемами контроля),
переполнения разрядной сетки, деления на нуль, выхода за установленные для данной программы
области памяти, затребования периферийным устройством операции ввода-вывода, завершения этой
операции ввода-вывода или возникновения при этой операции особых условий и т.д.
Некоторые из этих запросов порождаются самой программой, но время их возникновения невозможно
предсказать заранее.
При наличии нескольких источников запросов прерывания часть из них может поступать одновременно.
Поэтому в ЭВМ устанавливается определенный порядок (дисциплина) обслуживания поступающих
запросов. Кроме того, в ЭВМ предусматривается возможность разрешать или запрещать прерывания
определенных видов.
ПЭВМ ШМ PC может выполнять 256 различных прерываний, каждое из которых имеет свой номер
(двухразрядное шестнадцатеричное число).
Все прерывания делятся на две группы: прерывания с номера 00h по номер IFh называются
прерываниями базовой системы ввода-вывода (BIOS -Basic Input-Output System); прерывания с номера
20h по номер FFh называются прерываниями DOS. Прерывания DOS имеют более высокий уровень
организации, чем прерывания BIOS, они строятся на использовании модулей BIOS в качестве
элементов.
Прерывания делятся на три типа: аппаратурные, логические и программные. Аппаратурные прерывания
вырабатываются устройствами, требующими внимания микропроцессора: прерывание № 2 - отказ
питания; № 8 - от таймера; № 9 - от клавиатуры; № 12 - от адаптера связи; № 14 - от НГМД; № 15- от
устройства печати и др.
Запросы на логические прерывания вырабатываются внутри микропроцессора при появлении
“нештатных” ситуаций: прерывание № 0 - при попытке деления на 0; № 4 - при переполнении разрядной
сетки арифметико-логического устройства; № 1 - при переводе микропроцессора в пошаговый режим
работы; № 3 - при достижении программой одной из контрольных точек. Последние два прерывания
используются отладчиками программ для организации пошагового режима выполнения программ
(трассировки) и для остановки программы в заранее намеченных контрольных точках.
Запрос на программное прерывание формируется по команде INTn, где n — номер вызываемого
прерывания. Запрос на аппаратное или логическое прерывание вырабатывается в виде специального
электрического сигнала.
62
Глава 5. ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ
Состав, устройство и принцип действия основной памяти
Комплекс технических средств, реализующих функцию памяти, называется запоминающим
устройством (ЗУ). ЗУ необходимы для размещения в них команд и данных. Они обеспечивают
центральному процессору доступ к программам и информации.
Запоминающие устройства делятся на:

основную память,

сверхоперативную память (СОЗУ)

внешние запоминающие устройства.
Основная память включает в себя два типа устройств: оперативное запоминающее устройство (ОЗУ или
RAM - Random Access Memory) и постоянное запоминающее устройство (ПЗУ или ROM - Read Only
Memory).
ОЗУ предназначено для хранения переменной информации. Оно допускает изменение своего
содержимого в ходе выполнения процессором вычислительных операций с данными и может работать в
режимах записи, чтения, хранения.
ПЗУ содержит информацию, которая не должна изменяться в ходе выполнения процессором
вычислительных операций, например стандартные программы и константы. Эта информация заносится
в ПЗУ перед установкой микросхемы в ЭВМ. Основными операциями, которые может выполнять ПЗУ,
являются чтение и хранение.
Функциональные возможности ОЗУ шире, чем ПЗУ Но ПЗУ сохраняет информацию при отключении
питания (т.е. является энергонезависимой памятью) и может иметь более высокое быстродействие, так
как ограниченность функциональных возможностей ПЗУ и его специализация на чтении и хранении
позволяют сократить время выполнения реализуемых им операций считывания.
В современных ЭВМ микросхемы памяти (ОП и СОЗУ) изготавливают из кремния по
полупроводниковой технологии с высокой степенью интеграции элементов на кристалле (микросхемы
памяти относятся к так называемым “регулярным” схемам, что позволяет сделать установку элементов
памяти в кристалле (чипе) настолько плотной, что размеры элементов памяти становятся
сопоставимыми с размерами отдельных атомов).
Основной составной частью микросхемы является массив элементов памяти (ЭП), объединенных в
матрицу накопителя.
Каждый элемент памяти может хранить 1 бит информации и имеет свой адрес. ЗУ, позволяющие
обращаться по адресу к любому ЭП в произвольном порядке, называются запоминающими
устройствами с произвольным доступом.
При матричной организации памяти реализуется координатный принцип адресации ЭП, в связи с чем
адрес делится на две части (две координаты) - Х и Y. На пересечении этих координат находится элемент
памяти, чья информация должна быть прочитана или изменена.
ОЗУ связано с остальным микропроцессорным комплектом ЭВМ через системную магистраль (рис.5.1).
63
Рис. 5.1. Структурная схема ОЗУ
По шине управления передается сигнал, определяющий, какую операцию необходимо выполнить.
По шине данных передается информация, записываемая в память или считываемая из нее.
По шине адреса передается адрес участвующих в обмене элементов памяти (поскольку данные
передаются машинными словами, а один ЭП может воспринять только один бит информации, блок
элементов памяти состоит из n матриц ЭП, где n - количество разрядов в машинном слове).
Максимальная емкость памяти определяется количеством линий в шине адреса системной магистрали:
если количество линий обозначить от, то емкость памяти (т.е. количество элементов памяти, имеющих
уникальные адреса) определяется как 2m. Так, в IBM PC XT шина адреса СМ содержит 20 линий.
Поэтому максимальный объем ОП в этих машинах равен 220 = 1 Мбайт. В IBM PC AT (с
микропроцессором i80286) СМ содержит 24 линии, поэтому объем ОП может быть увеличен до 16
Мбайт. Начиная с МП i80386, шина адреса содержит 32 линии. Максимальный объем ОП увеличился до
232= 4Гб.
Микросхемы памяти могут строиться на статических (SRAM) и динамических (DRAM) ЭП. В качестве
статического ЭП чаще всего выступает статический триггер. В качестве динамического ЭП может
использоваться электрический конденсаторб сформированный внутри кремниевого кристалла.
Статические ЭП способны сохранять свое состояние (0 или 1) неограниченно долго (при включенном
питании). Динамические ЭП с течением времени записанную в них информацию теряют (например, изза саморазряда конденсатора), поэтому они нуждаются в периодическом восстановлении записанной в
них информации - в регенерации.
Микросхемы элементов памяти динамических ОЗУ отличаются от аналогичных ЭП статических ОЗУ
меньшим числом компонентов в одном элементе памяти, в связи с чем имеют меньшие размеры и могут
быть более плотно упакованы в кристалле. Однако из-за необходимости регенерации информации
динамические ОЗУ имеют более сложные схемы управления.
Основными характеристиками ОЗУ являются объем и быстродействие.
В современных ПЭВМ ОЗУ имеет модульную структуру. Сменные модули могут иметь различное
конструктивное исполнение (SIP, ZIP, SIMM, DIMM). Увеличение объема ОЗУ обычно связано с
установкой дополнительных модулей, которые выпускаются в 30-контактном (30-pin) и 72-контактном
исполнениях на 1,4, 8, 16, 32 и 64 Мбайта. Время доступа к модулям DRAM составляет 60 - 70 нc.
На производительность ЭВМ влияет не только время доступа, но и такие параметры (связанные с ОЗУ),
как тактовая частота и разрядность шины данных системной магистрали. Если тактовая частота
недостаточно высока, то ОЗУ простаивает в ожидании обращения. При тактовой частоте, превышающей
возможности ОЗУ, в ожидании будет находиться системная магистраль, через которую поступил запрос
в ОЗУ.
64
Разрядность шины данных (8, 16, 32 или 64 бита) определяет длину информационной единицы, которой
можно обменяться с ОЗУ за одно обращение.
Интегральной характеристикой производительности ОЗУ с учетом частоты и разрядности является
пропускная способность, которая измеряется в Мегабайтах в секунду. Для ОП с временем доступа 60-70
не и разрядностью шины данных 64 бита максимальная (теоретическая) пропускная способность при
тактовой частоте СМ 50 МГц составляет 400 Мбайт/с, при частоте 60 МГц - 480 Мбайт/с, при 66 МГц 528 Мбайт/с в режиме группового обмена, реализуемом, например, при прямом доступе к памяти. Для
группового обмена характерно (и это является еще одной характеристикой ОЗУ), что при каждом
обращении к памяти для считывания первого слова необходимо больше времени, чем для последующих.
Так, при использовании стандартной динамической памяти FPM (Fust Page Mode) DRAM на 60-70 не
каждое обращение к памяти в групповом режиме описывается формулой 7-3-3-3, т.е. для обработки
первого слова необходимо 7 тактов (в течение 6 из которых СМ простаивает в ожидании), а для
обработки следующих трех слов - по 3 такта, по 2 из которых СМ простаивает. Память типа EDO
(Extended Data Output)-DRAM позволяет уменьшить количество циклов ожидания (х-2-2-2, где х количество тактов, необходимое для обработки первого слова). Память типа BEDO (Burst EDO) DRAM
обеспечивает обмен по формуле х-1-1-1 для первого обращения и1-1-1-1- для последующих.
Приведенные формулы характерны для тактовых частот до 60 МГц. Синхронная динамическая память
(SDRAM - Synchronous DRAM) способна обмениваться блоками данных на рабочей тактовой частоте
(внешняя частота процессора) без циклов ожидания: при времени доступа 10 не - до 100 МГц, 12 нс - до
83МГц 15 нс - до 66 МГц.
Микросхемы ПЗУ также построены по принципу матричной структуры накопителя. Функции элементов
памяти в них выполняют перемычки в виде пероводников, полупроводниковых диодов или
транзисторов. В такой матрице наличие перемычки может означать “I”, а ее отсутствие - “О”. Занесение
формации в микросхему ПЗУ называется ее программированием, а устройство, с помощью которого
заносится информация, - программатором. программирование ПЗУ заключается в устранении
(прожигании) перемычек по тем адресам, где должен храниться “О”. Обычно схемы ПЗУ допускают
только одно программирование, но специальные микросхемы - репрограммируемые ПЗУ (РПЗУ) допускают их многократное стирание и занесение новой информации. Этот вид микросхем также
относится к энергозависимым, т.е. может длительное время сохранять информацию при выключенном
питании (стирание микросхемы происходит либо за счет подачи специального стирающего напряжения,
либо за счет воздействия на кристалл ультрафиолетового излучения, для этого в корпусе микросхемы
оставляется прозрачное окно).
Сверхоперативные ЗУ используются для хранения небольших объемов формации и имеют значительно
меньшее время (в 2 - 10 раз) считывания/запииси, чем основная память. СОЗУ обычно строятся на
регистрах и регистровых структурах.
Регистр представляет собой электронное устройство, способное хранить несенное в него число
неограниченно долго (при включенном питании). Наиболыпее распространение получили регистры на
статических триггерах.
По назначению регистры делятся на регистры хранения и регистры сдвига. Информация в регистры
может заноситься и считываться либо параллельно, азу всеми разрядами, либо последовательно, через
один из крайних разрядов с последующим сдвигом занесенной информации.
Сдвиг записанной в регистр информации может производиться вправо или влево. Если регистр
допускает сдвиг информации в любом направлении, он называется реверсивным.
Регистры могут быть объединены в единую структуру. Возможности такой структуры определяются
способом доступа и адресации регистров.
Если к любому регистру можно обратиться для записи/чтения по его адресу, такая регистровая
структура образует СОЗУ с произвольным доступом.
Безадресные регистровые структуры могут образовывать два вида устройств памяти: магазинного типа
и память с выборкой по содержанию (ассоативные ЗУ).
Память магазинного типа образуется из последовательно соединенных регистров (рис. 5.2).
Если запись в регистровую структуру (рис.5.2,д) производится через один регистр, а считывание - через
другой, то такая память является аналогом нии задержки и работает по принципу “первым вошел первым вышел” (FIFO - first input, first output).
Если же запись и чтение осуществляются через один и тот же регистр (рис.5.2,6), такое устройство
называется стековой памятью, работающей по принципу “первым вошел — последним вышел” (FILO first input, last output). При записи числа в стековую память сначала содержимое стека сдвигается в
65
сторону последнего, К-го регистра (если стек был полностью заполнен, то число из К-го регистра
теряется), а затем число заносится в вершину стека -регистр 1. Чтение осуществляется тоже через
вершину стека, после того как число из вершины прочитано, стек сдвигается в сторону регистра 1.
Рис.5.2. Регистровая структура магазинного типа: а - типа FIFO; б - типа FILO
Стековая память получила широкое распространение. Для ее реализации в ЭВМ разработаны
специальные микросхемы. Но часто работа стековой памяти эмулируется в основной памяти ЭВМ: с
помощью программ операционной системы выделяется часть памяти под стек (в IBM PC для этой цели
выделяется 64 Кбайта). Специальный регистр микропроцессора (указатель стека) постоянно хранит
адрес ячейки ОП, выполняющей функции вершины стека. Чтение числа всегда производится из
вершины стека, после чего указатель стека изменяется и указывает на очередную ячейку стековой
памяти (т.е. фактически стек остается неподвижным, а перемещается вершина стека). При записи числа
в стек сначала номер ячейки в указателе стека модифицируется так, чтобы он указывал на очередную
свободную ячейку, после чего производится запись числа по этому адресу. Такая работа указателя стека
позволяет реализовать принцип “первым вошел - последним вышел”. В стек может быть загружен в
определенной последовательности ряд данных, которые впоследствии считываются из стека уже в
обратном порядке, на этом свойстве построена система арифметических преобразований информации,
известная под названием “логика Лукашевича”.
Память с выборкой по содержанию является безадресной. Обращение к ней осуществляется по
специальной маске, которая содержит поисковый образ. Информация считывается из памяти, если часть
ее соответствует поисковому образу, зафиксированному в маске. Например, если в такую память
записана информация, содержащая данные о месте жительства (включая город), и необходимо найти
сведения о жителях определенного города, то название этого города помещается в маску и дается
команда чтение - из памяти выбираются все записи, относящиеся к заданному городу.
В микропроцессорах ассоциативные ЗУ используются в составе кэш-памяти для хранения адресной
части команд и операндов исполняемой программы. При этом нет необходимости обращаться к ОП за
следующей командой или требуемым операндом: достаточно поместить в маску необходимый адрес,
если искомая информация имеется в СОЗУ, то она будет сразу выдана. Обращение к ОП будет
необходимо лишь при отсутствии требуемой информации в СОЗУ. За счет такого использования СОЗУ
сокращается число обращений к ОП, а это позволяет экономить время, так как обращение к СОЗУ
требует в 2 - 10 раз меньше времени, чем обращение к ОП.
Кэш-память может быть размещена в кристалле процессора (так называемая “кэш-память I уровня”) или
выполнена в виде отдельной микросхемы (внешняя кэш-память или кэш-память II уровня). Встроенная
кэш-память (I уровня) в процессорах Pentium имеет объем около 16 Кбайт, время доступа - 5 - 10 не,
работает с 32-битными словами и при частотах 75-166 МГц обеспечивает пропускную способность от
300 до 667 Мбайт/с. Внешняя кэшпамять (П уровня) имеет объем 256 Кбайт - 1 Мбайт, время доступа 15 не, работает с 64-битными словами и при частоте 66 МГц обеспечивает максимальную пропускную
способность 528 Мбайт/с. Конструктивно исполняется либо в виде 28-контактной микросхемы, либо в
виде модуля расширения на 256 или 512 Кбайт.
Размещение информации в основной памяти IBM PC
Адресуемой единицей информации основной памяти IBM PC является байт. Это означает, что каждый
байт, записанный в ОП, имеет уникальный номер (адрес). При использовании 20-битной шины адреса
66
абсолютный (физический) адрес каждого байта является пятиразрядным шестнадцатеричным числом,
принимающим значения от 00000 до FFFFF. В младших адресах располагаются блоки операционной
системы (векторы прерываний, зарезервированная область памяти BIOS), в этой же части могут
размещаться драйверы устройств, дополнительные обработчики прерываний DOS и BIOS, командный
процессор операционной системы. Затем располагается область памяти, отведенная пользователю.
Область памяти пользователя заканчивается адресом 9FFFF. Этот адрес является физической границей
оперативного ЗУ, последним адресом 640-Кбайтной основной памяти. Остальное адресное пространство
(128 Кбайт с адреса АОООО по BFFFF) отведено под видеопамять, которая физически размещается не в
ОП, а в адаптере дисплея. После видеопамяти расположено адресное пространство (256Кбайт)
постоянного запоминающего устройства (ПЗУ), хранящего программы базовой системы ввода-вывода
(BIOS - “Basic Input — Output System”). Эта часть ОП еще называется ROM-BIOS. Из отведенных 256
Кбайт непосредственно ПЗУ занимает 64 Кбайта, а остальные 192 Кбайт оставлены для расширения
ПЗУ. Поскольку большая часть оставленной для расширения BIOS части адресного пространства не
используется, в этих адресах часто располагается информация, необходимая для работы сетевых карт,
графических расширителей и др.
Запись в ОП (и чтение из нее) может осуществляться не только байтами, но и машинными словами. При
этом машинное слово при размещении в памяти занимает несколько смежных байтов. Каждый байт ОП
имеет свой адрес. Но машинное слово характеризуется не всеми адресами занятых байтов, а только
одним - адресом младшего байта слова. Обычно графически машинное слово изображается так, что
младший байт находится
Рис.5.3. Стереотипное представление машинного слова
При записи слова младший байт размещается по адресу, который является адресом машинного слова,
старший байт машинного слова размещается в следующем по порядку байте ОП, имеющем номер,
увеличенный на 1 (здесь действует мнемоническое правило “младший байт - по младшему адресу”).
Рис. 5.4. “Вращение” байтов при чтении машинного слова из ОП
При чтении из ОП двух следующих подряд байтов машинного слова их принято размещать слева
направо: сначала первый из прочитанных байтов (с меньшим адресом), а затем - следующий. В
результате происходит “вращение” байтов (рис.5.4), которое психологически трудно воспринимается.
Необходимо помнить, что при записи отдельных байтов каждый байт располагается в ОП по своему
адресу, при чтении никакого вращения не происходит. При записи же в ОП единиц информации,
имеющих в своем составе больше одного байта, адресом информационной единицы является адрес
самого младшего байта, запись в ОП ведется побайтно, начиная с самого младшего байта, каждый
последующий байт располагается в ячейке, адрес которой на 1 больше предыдущего. Иными словами,
запись машинного или двойного слова производится справа налево, тогда как при чтении считанные
байты обычно располагаются слева направо - происходят “вращение” байтов, перестановка их местами,
что необходимо учитывать при работе с ОП на физическом уровне.
Расширение основной памяти IBM PC
Рабочая концепция фирмы IBM при создании IBM PC содержала гипотезу, что объем основной памяти
ЭВМ, предназначенной для персонального использования в любой предметной области, не должен
превышать 640 Кбайт. Поэтому в базовую модель IBM PC заложили 20-разрядную шину адреса
системной магистрали. Наличие 20 линий в шине адреса позволяло адресовать память большего объема,
чем было предусмотрено концепцией (220 = 1 Мбайт). “Излишек” адресного пространства в 384 Кбайт
был поделен между видеопамятью (128 Кбайт) и ПЗУ (256 Кбайт).
Физически увеличить объем памяти несложно, для этого необходимо только подключить к системной
магистрали дополнительные модули. Такая возможность в IBM PC была предусмотрена. Но каждый
67
байт дополнительной памяти должен иметь уникальный адрес, а адресного пространства для
дополнительной памяти нет.
Существует несколько способов разрешения таких конфликтов. Один из них - банкирование памяти: вся
память делится на блоки (банки), емкость которых не выходит за пределы допустимого адресного
пространства; во время работы специальными командами можно переключать банки, делая активным
любой из них или осуществляя групповую перепись информации из одного банка в другой.
В ЮМ PC XT фирма IВМ применила другой способ: 256 Кбайт было сначала оставлено для ПЗУ, в
котором размещалась базовая система ввода-вывода (BIOS). Анализ программ BIOS показал, что в
оставленном для ПЗУ адресном пространстве (UMB - Upper Memory Block) имеются “окна” неиспользуемые участки. Четыре таких участка (paqe frames) по 16 Кбайт были выделены, и их адреса
стали использоваться для адресации дополнительной памяти, подключенной к системной магистрали.
Таким образом общий объем ОП удалось увеличить на 64 Кбайта. Специальная программа (драйвер
дополнительной памяти) “перехватывала” обращение к “окнам” ПЗУ и вместо них “подставляла”
дополнительный модуль памяти (Expended Memory).
Дополнительная память не обязательно должна была иметь объем 64 Кбайта. Ее объем мог быть и
большим (фирма IBM выпускала модули дополнительной памяти объемом 8 и 32 Мбайта). При этом
драйвер дополнительной памяти делил ее на блоки по 16 Кбайт и “отображал” каждое окно UMB на
один из блоков Expended Memory. Из-за этого память такого вида получила название отоброжаемой.
Но развитие персональных ЭВМ привело к необходимости более серьезной корректировки рабочей
концепции. Поэтому в IBM AT с микропроцессором i80286 разрядность шины адреса увеличили до 24,
что позволило увеличить ее объем до 16 Мбайт. В МП i80386 разрядность шины адреса и адресных
регистров микропроцессора увеличена до 32, в результате чего допустимый объем ОП увеличился до 4
Гбайт.
Наряду с этим изменился принцип формирования абсолютного адреса ОП, в результате чего утрачена
совместимость с программным обеспечением, разработанным для IBM PC XT.
Чтобы обеспечить совместимость AT с XT, было решено реализовать два режима работы
микропроцессоров, имеющих номер, больший 80286: реальный и защищенный.
В реальном режиме дополнительные разряды шины адреса заблокированы, что обеспечивает
совместимость с микропроцессором 18086 и позволяет использовать операционную систему MS DOS и
программное обеспечение, разработанное для XT. Но при этом остается неиспользованной вся
дополнительная память, находящаяся за пределами 1 Мбайта. В защищенном режиме применяется
другой принцип формирования абсолютного адреса ОП, благодаря чему возможно использование всей
имеющейся в наличии дополнительной (расширенной) памяти, но возникают трудности с
использованием программного обеспечения, разработанным для MS DOS.
В IBM PC XT 20-битный адрес формировался из двух машинных слов: базового адреса сегмента (16
бит) и смещения (16 бит). Это было связано с тем, что вся ОП делилась на сегменты емкостью 64
Кбайта. Адресация байтов внутри сегмента начиналась с 0 и заканчивалась адресом FFFF.
Внутрисегментный адрес байта называется смещением (т.е. смещением относительно начала сегмента).
Начало же сегмента (т.е. его базовый 20-битный адрес) однозначно определялось 16-битовым адресом,
который преобразовывался в 20-битный адрес дописыванием справа четырех нулей. В машинных
командах абсолютный (физический) адрес задавался либо прямым указанием базового адреса сегмента
и смещения (которые разделялись двоеточием, например, OA12:F4B2, где ОА12 - 20-битовый адрес
начала сегмента; F4B2 -16-битное смещение внутри сегмента), либо по умолчанию (базовые адреса
сегментов программы, данных, стека запоминаются в специальных регистрах микропроцессора), либо
указанием регистра, в котором содержится необходимый базовый адрес (например, если регистр
называется CS, то абсолютный адрес в машинной команде может быть задан в виде: CS:F4B2).
Начиная с МП i80386, благодаря увеличению длины всех регистров для смещений до 32 бит,
реализована возможность работы “с плоской памятью”, не разделяемой на сегменты. Это допускает
адресацию 232 байта или 4 Гбайга ОП.
Кроме того, в защищенном режиме (начиная с МП i80286) можно использовать и сегментированную
память, но сегментные регистры не суммируются со смещением, а предназначены в качестве указателя
на управляющие таблицы, содержащие необходимую информацию о сегментах. Поскольку длина
записей в этих таблицах может превышать 16 бит, появляется возможность увеличить количество и
размеры сегментов, а следовательно, и максимальный объем виртуальной памяти (так как 32-битовая
шина адреса СМ ограничивает допустимый объем физической памяти, виртуальная память реализуется
за счет замены страниц в физической ОП слотами, т.е. образами страниц, из внешнего ЗУ).
68
Желание использовать в реальном режиме всю фактически имеющуюся в наличии дополнительную
память привело к созданию двух виртуальных режимов, один из которых стандарт EMS (Expended
Memory Specifications), реализующий принцип банкирования дополнительной памяти. Вся
дополнительная память делится на страницы (банки) емкостью по 16 Кбайт; выбираются четыре
страницы и объявляются активными. Выбранные активные страницы отображаются на четыре окна
UMB, теперь при обращении к одному из окон UMB вместо него подставляется отображенная на него
страница дополнительной памяти. Поскольку любое окно UMB можно отобразить на любую страницу
дополнительной памяти (объявив ее активной), то, изменяя отображение в процессе работы, можно
использовать всю дополнительную память любого объема.
Стандарт EMS реализуется программным путем - с помощью драйвера дополнительной памяти,
который “перехватывает” каждое обращение к окну, имеющемуся в адресном пространстве ПЗУ, и
“подставляет” вместо ПЗУ соответствующий участок дополнительной памяти.
В соответствии с этим стандартом работают драйверы XMA2EMS.SYS, EMM386.SYS и дp.
Стандарт EMS несколько снижает производительность системы, но не накладывает никаких
ограничений на размещение в дополнительной памяти программ и данных.
Другой виртуальный режим основан на том, что за счет разблокирования на время дополнительных (по
сравнению с XT) линий шины адреса системной магистрали удается увеличить доступное MS DOS
адресное пространство еще почти на 64 Кбайта, начиная с'адреса FFFFF (т.е. за пределами адресного
пространства 1 Мбайт). Эта область адресного пространства (64 Мбайта, начиная с 1 Мбайта) получила
название НМА (Hiqh Memory Area) -пая область памяти. Ее также можно использовать, работая в MS
DOS, хранения и программ, и данных.
Блоки памяти, расположенные выше границы НМА, называются ЕМВ Extended Memory Blocks) расширенные блоки памяти, хотя часто расширенной памятью (ЕМ - Extended Memory) называют всю
дополнительную память, расположенную в адресном пространстве выше 1 Мбайта, иногда !ляя в ней
область НМА.
Кратковременное разблокирование дополнительных линий шины адреса емной магистрали позволяет
реализовать стандарт XMS (eXtended Memory ification), при котором разделенная на страницы ЕМ
отображается на , но в этом стандарте программные модули могут располагаться только ИА, а остальная
память может использоваться лишь для хранения данных. Стандарт XMS реализуется драйвером
HIMEM.SYS, который способен гать с шиной адреса, имеющей до 32 линий.
Структура базового микропроцессора
Основу центрального процессора ПЭВМ составляет микропроцессор -обрабатывающее устройство,
служащее для арифметических и логических преобразований данных, для организации обращения к ОП
и ВнУ и для управления ходом вычислительного процесса. В настоящее время существует большое
число
разновидностей
микропроцессоров, различающихся назначении, функциональными
возможностями, структурой, исполнением. Чаще всего наиболее существенным, классификационным
различием между ними является количество разрядов в обрабатываемой информационной единице:8битовые, 16-битовые, 32-битовые и др.
К группе 8-битовых микропроцессоров относятся i8080, i8085 (с буквы i начинаются названия МП,
выпускаемых фирмой Intel - INTegrated Electronics), Z80 (с буквы Z начинаются названия МП фирмы
Zilog) и др. Наиболыпее распространение среди 16-битовых микропроцессоров поли i8086, i8088, 32битовых - i80386, i80486, которые совместимы по идам и форматам данных снизу вверх. Эти
микропроцессоры используются в различных модификациях ЮМ PC. Два из этих микропроцессоров:
i8086 и i8088 по назначению и функционым возможностям одинаковы. Различаются они только
разрядностью шины данных системной магистрали: МП i8086 имеет 16-битовую шину даных, а i8088 8-битовую. В связи с этим выборка команд и операндов из оперативной памяти производится за разное
число машинных циклов. С точки зрения функциональных возможностей существенного значения эти
различия не имеют, поэтому и упоминают о них, как правило, вместе: 8086/8088. Этот тип МП является
базовым для IBM совместимых машин. Все последующие типы МП основываются на нем и лишь
развивают его архитектуру.
МП 8086/8088 имеет базовую систему команд. В следующей модификации МП фирмы Intel - 80186
реализована расширенная система команд. Расширение системы команд продолжается во всех новых
моделях, но кроме этого в каждой новой модели вводятся дополнительные архитектурные решения: в
80286 введены встроенный блок управления ОП, работающий в виртуальном режиме (что позволило
увеличить предельно допустимый объем виртуальной памяти до 4 Гбайт при 16 Мбайт физической), и
блоки, позволяющие реализовать мультизадачность: блок защиты ОП и блок проверки уровня
69
привилегий, присваиваемых каждой задаче. Кроме того, во всех последующих моделях вводятся и
совершенствуются средства, позволяющие повысить производительность МП: совершенствуются
конвейер команд и встроенный блок управления ОП, вводятся микропрограммное управление
операциями, прогнозирование переходов по командам условной передачи управления, скалярная
архитектура ЦП (арифметический конвейер) и мультискалярная архитектура (несколько параллельно
работающих арифметических конвейеров, одновременно выполняющих несколько машинных операций,
благодаря чему появляется возможность за один такт МП выполнять более одной машинной операции).
Начиная с 80486, в кристалле МП размещается арифметический сопроцессор для операций с плавающей
точкой. Фирма Intel разработала специальный микропроцессор Over Drive, который предназначен для
параллельной работы с основным микропроцессором (для этого на системной плате предусматривается
специальное гнездо).
Все эти усовершенствования позволяют сделать персональную ЭВМ IBM PC мультипрограммной,
многопользовательской (МП 80286 позволял работать с 10 терминалами; 80386 - с 60) и многозадачной.
С помощью операционной системы стало возможным реализовать работу в режиме SVM (системы
виртуальных машин), т.е. на одной ПЭВМ реализовать множество независимых виртуальных машин
(МП 803 86 позволял в этом режиме реализовать работу до 60 пользователей, каждому из которых
предоставлялась отдельная виртуальная ПЭВМ IBM PC на МП 8086).
Некоторые характеристики МП фирмы intel приведены в табл 5.1. В обозначениях микропроцессоров
появились дополнительные элементы: буквы SL, SX, DX и цифры. Буквы обозначают:
SL - микропроцессор изготовлен для работы с пониженным потреблением энергии (питание на те или
иные блоки МП подается только в те моменты, когда они включаются в работу, в результате снижается
потребление энергии и увеличивается срок службы источников питания, сокращается выделение
энергии в кристалле МП и снижается его температура, благодаря чему увеличивается срок службы
микропроцессора);
SX - данный микропроцессор является переходным - длина машинного слова в нем осталась без
изменения от предыдущей модели;
DX - длина машинного слова увеличена вдвое по сравнению с МП предыдущей модели.
Цифры обозначают, во сколько раз изменилась тактовая частота по сравнению с МП предыдущей
модели. Иногда (при наличии модификаций) дополнительно указывается тактовая частота МП.
Разработан новый микропроцессор - Реntiun ММХ (MultiMedia Extention), в котором реализована
архитектура вычислительных систем класса SIMD, введено 57 новых команд, необходимых для
обработки аудио-, видео- и телекоммуникационной информации.
Таблица 5.1
Характеристики микропроцессоров фирмы Intel
Наименование Тактовая Индекс Разрядность Адресуемая Сопроцессор Снижение Примечание
МП
частота, iCOMP
ШД
память/
потребления
Мгц
(внутренняя/ разрядность
энергии
внешняя)
ША
8086
16/16
1 Мб/20
40000 транз
8088
16/8
l Мб/20
80286
16/16
16 Мб/24
130000
трата
80386SL
16/16
16 Мб/24
Есть
80386SX
32/32
16 Мб/24
80386DX
32/32
4 Г6/32
80486SL
32/32 .
4 Г6/32
Нет
Есть
80486SX
25
100
32/32
4 Г6/32
Нет
80486SX2
40
32/32
4 Г6/32
80486SX2
50
180
32/32
4 Г6/32
80486DX
32/32
4 Г6/32
Встр.
80486DX2
50
231
32/32
4 Г6/32
Встр.
1,2 млн
транз.
80486DX2
66
297
32/32
4 Г6/32
Встр.
80486DX4
75
319
32/32
4 Г6/32
Встр.
70
80486DX4
Over Drive
100
Pentium
60
435
510
32/32
32/32
4 Г6/32
4 Г6/32
Встр.
Встр.
64,32/64
4 Г6/32
Встр.
Аналог
486DX2
6,7 млн
транз.
Pentium
66
567
64,32/64
4 Г6/32
Встр.
Pentium
90
735
64,32/64
4 Г6/32
Встр.
Pentium
100
815
64,32/64
4 Г6/32
Встр.
Pentium
133
64,32/64
4 Г6/32
Встр.
Pentium
166
64,32/64
4 Г6/32
Встр.
Pentium Pro
о 150
Pentium Pro
о 200
В персональных ЭВМ нашли применение не только микропроцессоры фирмы Intel. Крупнейшими
производителями аналогов микропроцессорам Intel (клонов) являются фирмы Cyrix и AMD.
Фирма Cyrix выпускает микропроцессоры М-1 и М-2, аналогичные Pentium, но превосходящие его по
производительности. Так, М-1 с тактовой частотой 150 МГц по производительности эквивалентен МП
Pentium с тактовой частотой 200 МГц.
Фирма AMD, завоевавшая около 30% рынка МП в России, выпускает микропроцессоры К-5 и К-6,
являющиеся соответственно аналогами Pentium и Pentium Pro.
Структурная схема базовой модели МП фирмы Intel приведена на рис.5.5.
71
Рис.5.5. Структурная схема микропроцессора
Условно микропроцессор можно разделить на две части: исполнительный блок (Execution Unit - EU) и
устройство сопряжения с системной магистралью (Bus Interface Unit - ВШ).
В исполнительном блоке находятся: арифметический блок и регистры общего назначения (РОН).
Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для
хранения операндов и регистр флагов.
Восемь регистров исполнительного блока МП (АХ, ВХ, СХ, DX, SP, ВР, SI, DI), имеющих длину,
равную машинному слову, делятся на две группы. Первую группу составляют регистры общего
назначения: АХ, ВХ, СХ и DX, каждый из которых представляет собой регистровую пару,
составленную из двух регистров длиной в 0.5 машинного слова: аккумулятор, или регистр АХ состоит
из регистров АН и AL. Регистр базы (Base Register) ВХ состоит из регистров ВН и BL. Счетчик (Count
Register) СХ включает регистры СН и CL. Регистр данных (Data Register) DX содержит регистры DH и
DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой
пары. Условные названия (аккумулятор, регистр базы, счетчик, регистр данных) не ограничивают
применения этих регистров - эти названия говорят о наиболее частом использовании их или об
особенности использования того или иного регистра в той иди иной команде.
Вторую группу составляют адресные регистры SP, BP, SI и DI (в старших моделях количество адресных
регистров увеличено). Эти регистры активно используются по функциональному назначению и в других
целях их применятъ не рекомендуется. В качестве адресного регистра часто используется РОН ВХ.
72
Программно допускается использование регистров BP, DI и SI в качестве регистров для хранения
операндов, но отдельные байты в этих регистрах недоступны. Основное их назначение - хранить
числовые значения, реализуемые при формировании адресов операндов.
Устройство сопряжения с системной магистралью содержит управляющие регистры, конвейер команд,
АЛУ команд, устройство управления исполнительным блоком МП и интерфейс памяти (соединяющий
внутреннюю магистраль МП с системной магистралью ПЭВМ).
Управляющие регистры BIU: CS (указатель командного сегмента), DS указатель сегмента данных), SS
(указатель сегмента стека), ES (указатель дополнительного сегмента) и др. служат для определения
физических адресов ОП - операндов и команд. Регистр IP (Instruction Pointer) является указателем адреса
команды, которая будет выбираться в конвейер команд в качестве очередной команды (в отечественной
литературе такое устройство называется счетчик команд). Конвейер команд МП хранит несколько
команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды
с выполнением текущей.
К управляющим регистрам МП относится и регистр флагов, каждый разряд которого имеет строго
определенное назначение. Обычно разряды регистра флагов устанавливаются аппаратно при
выполнении очередной операции в зависимости от получаемого в АЛУ результата. При этом
фиксируются такие свойства получаемого результата, как нулевой результат, отрицательное число,
переполнение разрядной сетки АЛУ и т.д. Но некоторые разряды регистра флагов могут
устанавливаться по специальным командам. Некоторые разряды имеют чисто служебное назначение
(например, хранят разряд, (выпавший” из АЛУ во время сдвига) или являются резервными (т.е. не
используются).
Все флаги младшего байта регистра устанавливаются арифметическими или логическими операциями
МП. Все флаги старших байтов, за исключением флага переполнения, устанавливаются программным
путем, для этого в МП имеются команды установки флагов (STC, STD, STI), сброса (CLC CLD, CLI),
инвертирования (CMC).
Взаимодействие элементов при работе микропроцессора
Работой МП управляет программа, записанная в ОП ЭВМ. Адрес очередной команды хранится в
счетчике команд IP (Instruction Pointer) и в одном из сегментных регистров, чаще всего в CS. Каждый из
них в реальном режиме имеет длину 16 бит, тогда как физический адрес ОП должен иметь длину 20 бит.
Несогласованность длины машинного слова (16 бит) и длины физического адреса ОП (20 бит) приводит
к тому, что в командах невозможно указать физический адрес ОП - его приходится формировать,
собирать из разных регистров МП в процессе работы.
В реальном режиме вся ОП делится на сегменты (длина сегмента - 64 Кбайта). Адрес ОП разделяется на
две части: номер сегмента в ОП (база сегмента) и номер ячейки внутри данного сегмента (смещение
относительно начала сегмента). Базовый адрес сегмента образуется добавлением к номеру сегмента
справа четырех нулей. Поскольку последние четыре разряда абсолютного (физического) адреса
сегмента всегда нулевые, сегмент может начинаться не с любой ячейки ОП, а только с “параграфа” начала 16-байтного блока ОП. В структуре микропроцессора имеется несколько регистров сегментов,
например в i8086 - четыре:
С S - программный сегмент;
DS - сегмент данных (информационный сегмент);
SS - стековый сегмент;
ES - расширенный сегмент (дополнительный сегмент данных).
Номер ячейки внутри сегмента (смещение) называется также исполнительным адресом. В большинстве
случаев в адресной части команды указывается именно исполнительный адрес - номер сегмента чаще
всего подразумевается по умолчанию. Однако допускается указание и полного адреса ОП в виде
префиксной структуры: “сегмент: смещение”. Если сегмент в команде не указывается, значит, работа
ведется внутри текущего сегмента (характер выполняемой работы и какой из сегментных регистров
определяет текущую базу сегмента, зависят от вида выполняемой команды).
Номер сегмента так же, как и смещение, имеет длину 2 байта. При вычислении физического адреса ОП
сегмент и смещение суммируются, но сегмент перед суммированием сдвигается влево на 4 бита. В
результате суммирования образуется физический адрес ОП длиной 20 бит.
В защищенном режиме базовые адреса сегментов хранятся в дескрипторных таблицах и имеют длину 24
или 32 бита (в зависимости от типа МП). В сегментных же регистрах хранится селектор, содержащий
номер дескрипторной таблицы и дескрипторное смещение, т.е. порядковый номер дескриптора (в
котором и хранится базовый адрес сегмента) в данной дескрипторной таблице (рис.5.6).
73
Рис. 5.6. Формирование физического адреса ОП в защищенном режиме
Физический адрес очередной команды через внутреннюю магистраль МП и интерфейс памяти
поступает на шину адреса системной магистрали. Одновременно из устройства управления (УУ)
исполнительного блока на шину управления выдается команда (управляющий сигнал) в ОП,
предписывающая выбрать число, находящееся по адресу, указанному в системной магистрали.
Выбранное число, являющееся очередной командой, поступает из ОП через шину данных системной
магистрали, интерфейс памяти, внутреннюю магистраль МП на регистр команд (INST).
Из команды в регистре команд выделяется код операции, который поступает в УУ исполнительного
блока для выработки управляющих сигналов, настраивающих микропроцессор на выполнение
требуемой операции.
В зависимости от используемого в команде режима адресации организуется выборка необходимых
исходных данных.
Работа микропроцессора при выполнении программного прерывания
Программы-обработчики прерываний могут находиться в различных частях основной памяти (место их
расположения в разных версиях операционной системы может быть различным). Для обеспечения
совместимости программ под разными версиями DOS обращение к обработчикам прерываний
осуществляется по их номерам.
Связь между номером прерывания и адресом основной памяти, соответствующим точке входа в
обработчик прерывания, осуществляется через таблицу векторов прерываний, занимающую 1 Кбайт
сегмента 0 основной памяти.
Поскольку адрес любого байта основной памяти определяется базовым адресом сегмента (2 байта) и
смещением в сегменте (2 байта), вектор прерываний разделен на четверки байтов, имеющие структуру,
показанную на рис.5.7.
1байт
2 байта
3 байта
4 байта
Смещение
Сегмеит
Рис. 5.7. Структура записи в векторе прерываний
Для получения адреса обработчика прерывания № nh необходимо:

по номеру прерывания определить адрес первого байта “четверки” в векторе прерываний (он
равен п*4);

выбрать 4 байта из 0 сегмента основной памяти, начиная с байта 4nh;

два последних байта поместить в регистр CS;

два первых байта поместить в счетчик команд IP.
После этого начнет выполняться первая команда обработчика прерывания № nh.
74
Таблица векторов прерываний используется не только для хранения адресов обработчиков прерываний,
но и для указания на места хранения в ОП служебной информации. Для этой цели служат векторы
прерываний IDh, lEh, IFh, 41h, 43h, 46h, 4Ah. Так, вектор IDh содержит адрес таблицы параметров
видеосистемы (а не обработчика прерывания); вектор lEh - таблицы параметров дискет; 1Fh - адрес
знакогенератора адаптера CGA и т.д.
Команда ЮТ, кроме определения адреса обработчика прерывания, выполняет следующие действия:
• сохраняет в стеке часть слова состояния процессора:
(SP) <— (SP)-2
(вершина стека) <—— (регистр флагов)
(SP) <—— (SP)-2
(вершина стека) <—— (CS)
(SP) <—— (SP) – 2
(вершина стека) <—— (IP)
• сбрасывает флаги разрешения прерывания и трассировки:
(IF) <—— О
(TF) <—— О
• заносит адрес точки входа обработчика прерываний в регистры CS и IP:
(CS) <—— (номер_прерывания * 4 + 2)
(IP) <—— (номер_прерывания * 4)
Команда INT относится к парным командам - каждый обработчик прерывания заканчивается командой
IRET (возврат из прерывания).
По команде IRЕТ (без параметров) выполняются следующие действия:
(IP) <—— (вершина стека)
(SP) <—— (SP)+2
(CS) <—— (вершина стека)
(SP) <—— (SP)+2
(регистр флагов) <—— (вершина стека)
(SP) <—— (SP)+2
Каждый обработчик прерываний BIOS и DOS может выполнять несколько различных функций. В
команде INT никак не определяется, какую именно функцию должен выполнить обработчик
прерываний. Поэтому перед обращением к команде INT в регистры микропроцессора должна быть
занесена информация, определяющая, какую функцию необходимо выполнить.
Например, по команде INT 13h могут быть выполнены следующие функции:
00h - сброс дисковой системы;
0lh - определение состояния дисковой системы (успешное завершение, некорректная команда, не
найдена адресная метка и т.д.);
02h - чтение секторов в основную память;
03h - запись секторов из основной памяти;
04h - контроль секторов (есть ошибка - нет ошибки);
05h- форматирование дорожки;
06h - для жесткого диска - форматирование дорожки с установкой флагов плохих секторов;
07h - для жесткого диска - форматирование диска, начиная с указанной
дорожки;
08h - определение типа и текущих параметров диска...
и т.д.
Нужно иметь в виду, что одни и те же номера функций могут обозначать разные операции для
различных устройств; некоторые функции отсутствуют в ранних версиях операционной системы, а
некоторые — претерпели изменения в последующих версиях.
При выполнении команды INT номер функции должен содержаться в регистре АН микропроцессора.
Остальные регистры должны включать необходимые для этой функции параметры. Например, для
функции 02h остальные регистры микропроцессора должны содержать:
AL - число читаемых секторов;
СН - номер дорожки, на которой расположены читаемые сектора;
CL - номер сектора;
DH - номер головки;
DL - номер дисковода;
75
ES:BX - адрес буфера для чтения.
В результате выполнения этой функции при возникновении ошибки флаг CF устанавливается в 1; в
регистр AL заносится число считанных секторов, в регистр АН записывается код состояния,
сформированный после окончания операции:
00 - успешное завершение;
01 - некорректная команда;
02 - адресная метка не найдена;
FF - сбой операции опроса (для жесткого диска).
Кроме команд INT и IRET в IBM PC, с прерываниями работают команды CLI (запрещение маскируемых
прерываний) и STI (отмена запрета прерывания).
Глава 6. УПРАВЛЕНИЕ ВНЕШНИМИ УСТРОЙСТВАМИ
Принципы управления
Вычислительные машины, помимо процессоров и основной памяти (образующих ее ядро), содержат
многочисленные периферийные устройства (ПУ): ВЗУ и УВВ.
Передача информации с периферийного устройства в ЭВМ называется операцией ввода, а передача из
ЭВМ в ПУ - операцией вывода.
Производительность и эффективность ЭВМ определяются не только возможностями ее процессора и
характеристиками ОП, но и составом ПУ, их техническими данными и способами организации их
совместной работы с ЭВМ.
При разработке систем ввода-вывода ЭВМ особое внимание обращается на решение следующих
проблем:
• должна быть обеспечена возможность реализации машин с переменным составом оборудования
(машин с переменной конфигурацией), в первую очередь с различным набором периферийных
устройств, с тем чтобы пользователь мог выбирать состав оборудования (конфигурацию) машины в
соответствии с ее назначением, легко дополнять машину новыми устройствами;

для эффективного и высокопроизводительного использования оборудования в ЭВМ должны
реализоваться одновременная работа процессора над программой и выполнение периферийными
устройствами процедур ввода-вывода;

необходимо упростить для пользователя и стандартизовать программирование операций
ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того
или иного периферийного устройства;

необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие
ситуаций, возникающих в ПУ (готовность устройства, отсутствие носителя, различные
нарушения нормальной работы и др.).
Первый шаг в совершенствовании структуры ЭВМ с целью повышения производительности был сделан
при разработке второго поколения, когда впервые была обеспечена автономность внешних устройств.
Сначала она была необходима для согласования скорости работы устройств ЭВМ.
Но автономность потребовала проведения проверок исправности устройств при каждом обращении к
ним. Появилась определенная технология обращения к автономным внешним устройствам - интерфейс.
Когда эту технологию унифицировали, появилось понятие стандартного интерфейса.
Стандартизация интерфейсов ввода-вывода привела к возможности гибко изменять конфигурацию
вычислительных машин (количество и состав внешних устройств, расширять комплект ЭВМ за счет
подключения новых устройств).
Затем появилась концепция виртуальных устройств, позволяющая совмещать различные типы ЭВМ,
операционные системы. Совместимость распространилась и на работу машин разной конфигурации
(можно использовать соответствующее программное обеспечение и при физическом отсутствии
необходимых устройств).
Изменилась и технология работы - при отсутствии печатающих устройств файлы направлялись в
виртуальное устройство, где и накапливались, а реально распечатывались на другой машине.
Дальнейшее совершенствование интерфейсов потребовалось при решении специфических задач: новые
внешние устройства (сканеры) позволяли вводить текст в графическом виде, а обрабатывать его
необходимо было в символьном виде. Поэтому возникла необходимость в системах распознавания,
идентификации, преобразования из графического формата в символьный.
76
При анализе снимков из космоса появилась необходимость автоматической классификации
наблюдаемых объектов, самообучения распознающей программы, анализа сцен.
Это все стимулировало развитие специального математического аппарата в интерфейсах.
Необходимость вывода информации различными шрифтами привела к изменению технологии вывода,
связанной с применением ТrueТуре-шрифтов, масштабированием матричных и векторных изображений,
преобразованием векторных символов в матричные.
Во внешние устройства стали встраивать свою основную память, объем которой должен обеспечивать
вывод целой страницы (например, текста) при плотности 600 точек/дюйм -этот объем превышает иногда
объем основной памяти ЭВМ.
Необходимость пересчета при преобразовании векторных шрифтов в матричные привела к
необходимости включить в состав устройств отображения информации специальные графические
процессоры матричной архитектуры, в качестве которых часто используются транспьютеры.
При создании автоматизированных рабочих мест появилась необходимость подключения к ЭВМ
аудиовизуальной аппаратуры - телекамер, видеомагнитофонов, фотокамер, аудиоустройств. На этой
основе образовался специальный аппаратурный комплекс, называемый анимационной линейкой.
Из-за технической несовместимости потребовались программные и аппаратурные преобразователи
сигналов, специальные средства сопряжения.
При разработке пятого поколения ЭВМ была заложена интеллектуализания общения: речевой ввод и
вывод; графический ввод; ввод текстовой информации без клавиатуры; естественно-языковое общение;
общение на разных естественных языках.
Все это и явилось основой для совершенствования систем, обеспечивающих связь ЭВМ с
периферийными устройствами.
В общем случае для организации и проведения обмена данными между двумя устройствами требуются
специальные средства:

специальные управляющие сигналы и их последовательности;

устройства сопряжения;

линии связи;

программы, реализующие обмен.
Весь этот комплекс линий и шин, сигналов, электронных схем, алгоритмов и программ,
предназначенный для осуществления обмена информацией, называется интерфейсам.
В зависимости от типа соединяемых устройств различаются:

внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД),
предназначенный для сопряжения элементов внутри системного блока ПЭВМ;

интерфейс ввода-вывода - для сопряжения различных устройств с системным блоком
(клавиатурой, принтером, сканером, мышью, дисплеем и др.);

интерфейсы межмашинного обмена (для обмена между разными машинами) предназначены
для сопряжения различных ЭВМ (например, при образовании вычислительных сетей);

интерфейсы "человек - машина" - для обмена информацией между человеком и ЭВМ.
Для каждого интерфейса характерно наличие специального аппаратурного комплекса (рис.6.1).
Рве. 6.1. Место интерфейса в аппаратурном комплексе
Характер использования этого аппаратурного комплекса определяется технологией обмена,
определенным церемониалом, идеологией данного интерфейса, протоколом общения.
Особое место занимает человеко-машинный интерфейс, реализующий специфические методы
организации общения. Например, церемониал человеко-машинного общения предусматривает
"дружественность пользователю", которая может обеспечиваться техническими средствами,
программами и технологией общения.
77
Если интерфейс обеспечивает обмен одновременно всеми разрядами передаваемой информационной
единицы (чаще всего байта или машинного слова), он называется параллельным интерфейсом.
Внутренний интерфейс ЭВМ всегда делается параллельным или последовательно-параллельным (если
одновременно передается не вся информационная единица, а ее часть, содержащая несколько двоичных
разрядов, например, i8088 обеспечивает побайтовый, a 80386SX - двухбайтовый обмен через системную
магистраль, тогда как основная информационная единица - машинное слово - имеет длину у 8086 - 2
байта, а у 80386 - 4).
Интерфейсы межмашинного обмена обычно последовательные, в которых обмен информацией
производится по одному биту последовательно.
Для параллельного и последовательно-параллельного интерфейса необходимо, чтобы участники
общения были связаны многожильным интерфейсным кабелем (количество жил не меньше числа
одновременно передаваемых разрядов - битов). В последовательных интерфейсах участники общения
связываются друг с другом одно-двухпроводной линией связи, световодом, коаксиальным кабелем,
радиоканалом.
В зависимости от используемых при обмене программно-технических средств интерфейсы вводавывода делятся на два уровня: физический и логический (рис.6.2).
Рис. 6.2. Логический и физический уровни интерфейсов ввода-вывода
В зависимости от степени участия центрального процессора в обмене данными в интерфейсах могут
использоваться три способа управления обменом:

режим сканирования (так называемый "асинхронный" обмен);

синхронный обмен;

прямой доступ к памяти.
Для внутреннего интерфейса ЭВМ режим сканирования предусматривает опрос центральным
процессором периферийного устройства (ПФУ): готово ли оно к обмену, и если нет - продолжение
опроса периферийного устройства (рис.6.3).
Операция пересылки данных логически слишком проста, чтобы эффективно загружать сложную
быстродействующую аппаратуру процессора, в результате чего в режиме сканирования снижается
производительность вычислительной машины.
Вместе с тем при пересылке блока данных процессору приходится для каждой единицы передаваемых
данных (байт, слово) выполнять довольно много команд, чтобы обеспечить буферизацию данных,
преобразование форматов, подсчет количества переданных данных, формирование адресов в памяти и
т.п. В результате скорость передачи данных при пересылке блока данных даже через
высокопроизводительный процессор может оказаться неприемлемой для систем управления,
работающих в реальном масштабе времени.
78
Рис. 6.3. Алгоритм сканирования
Режим сканирования упрощает подготовку к обмену, но имеет рад недостатков:

процессор постоянно задействован и не может выполнять другую работу;

при большом быстродействии периферийного устройства процессор не успевает организовать
обмен данными.
В синхронном режиме центральный процессор выполняет основную роль по организации обмена, но в
отличие от режима сканирования не ждет готовности устройства, а осуществляет другую работу. Когда
в нем возникает нужда, внешнее устройство с помощью соответствующего прерывания обращает на
себя внимание центрального процессора.
Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями вводавывода используют прямой доступ к памяти (DMA - Direct Memory Access).
Прямым доступом к памяти называется способ обмена данными, обеспечивающий автономно от
процессора установление связи и передачу данных между основной памятью и внешним устройством.
В режиме прямого доступа к памяти используется специализированное устройство - контроллер
прямого доступа к памяти, который перед началом обмена программируется с помощью центрального
процессора: в него передаются адреса основной памяти и количество передаваемых данных. Затем
центральный процессор от контроллера прямого доступа к памяти отключается, разрешив ему работать,
и до окончания обмена может выполнять другую работу. Об окончании обмена контроллер прямого
доступа к памяти сообщает процессору. В этом случае участие центрального процессора косвенное.
Обмен ведет контроллер прямого доступа к памяти.
Прямой доступ к памяти (ПДП):

освобождает процессор от управления операциями ввода-вывода;

позволяет осуществлять параллельно во времени выполнение процессором программы с
обменом данными между внешним устройством и основной памятью;

производит обмен данными со скоростью, ограничиваемой только пропускной способностью
основной памяти и внешним устройством.
ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей
производительности ЭВМ, дает возможность машине более приспособление работать в системах
реального времени.
Прямой доступ к памяти
При работе в режиме прямого доступа к памяти контроллер ПДП выполняет следующие функции:

принимает запрос на ПДП от внешнего устройства;

формирует запрос микропроцессору на захват шин системной магистрали;

принимает сигнал, подтверждающий вход микропроцессора в состояние захвата (перехода в
z-состояние, при котором процессор отключается от системной магистрали);

формирует сигнал, сообщающий внешнему устройству о начале выполнения циклов ПДП;

выдает на шину адреса системной магистрали адрес ячейки ОП, предназначенной для обмена;
79


вырабатывает сигналы, обеспечивающие управление обменом данными;
по окончании ПДП контроллер либо организует повторение цикла ПДП, либо прекращает
режим ПДП, снимая запросы на него.
Циклы ПДП выполняются с последовательно расположенными ячейками памяти, поэтому контроллер
ПДП имеет счетчик числа переданных байтов.
На рис.6.4 приведена схема взаимодействия устройств микропроцессорной системы в режиме ПДП.
, Контроллеры ПДП (КПДП) в ЮМ PC совместимы снизу-вверх, т.е. программы, написанные с
использованием КПДП ранних моделей ЭВМ, нормально работают и на более поздних моделях ЭВМ.
Каждый канал КПДП состоит из четырех 16-разрядных регистров (рис.6.5): регистр текущего адреса
(CAR), регистр циклов ПДП (CWR), регистр хранения базового адреса (BAR), регистр хранения
базового числа Циклов ПДП (WCR) и 6-разрядный регистр режима (MR).
Регистр текущего адреса хранит текущий адрес ячейки памяти при выполнении цикла ПДП. После
выполнения каждого цикла ПДП содержимое этого регистра увеличивается или уменьшается на
единицу. Оно может быть прочитано или загружено с помощью двух команд IN или соответственно
QUT, работающих каждая только с одним байтом. В режиме автоинициализации содержимое регистра
текущего адреса при обновлении принимает базовый адрес из регистра хранения базового адреса.
Регистр циклов ПДП хранит число слов, предназначенных для передачи. При выполнении циклов
регистр работает в режиме вычитающего счетчика. При переходе из нулевого состояния в FFFFH
вырабатывается управляющий сигнал для блока управления контроллером. Регистр может быть
прочитан Двумя командами IN. В него можно осуществить запись двумя командами
Рис. 6.4. Взаимодействие устройств в режиме ПДП
OUT из микропроцессора или в режиме инициализации - из регистра хранения базового числа циклов
ПДП.
Регистры BAR и WCR предназначены для хранения констант - базового адреса и базового числа циклов.
Они загружаются в режиме программирования КПДП одновременно с регистрами CAR и CWR. В
процессе выполнения циклов ПДП их содержимое не изменяется. Прочитать состояние этих регистров
невозможно.
Регистр режима определяет режим работы канала. Он содержит информацию о номере канала, типе
цикла ПДП (чтение (ОП <- ВУ), запись (ОП -> ВУ), проверка), необходимости автоинициализации,
режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы
канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа в составе
каскада КПДП).
Регистр команд блока управления режимом определяет основные параметры работы канала.
Загружается при программировании КПДП микропроцессором.
Регистр условий хранит разрешение на ПДП каждому каналу (устанавливаемые программно) и
запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала.
80
Контроллер ПДП может работать в двух основных режимах: в режиме программирования и режиме
выполнения циклов ПДП.
В режиме программирования микропроцессор работает с КПДП, как с внешним устройством. После
загрузки в КПДП управляющих слов контроллер переходит в пассивное состояние. В этом состоянии
КПДП будет находиться до тех пор, пока не поступит запрос на ПДП от ВУ или от микропроцессора.
Обнаружив запрос на ПДП, контроллер выставляет микропроцессору запрос на захват системной
магистрали и ожидает от него подтверждения захвата (т.е. отключения МП от СМ, перехода его
выходов в состояние высокого сопротивления, Z-состояния). При получении сигнала подтверждения
захвата контроллер начинает выполнять циклы ПДП.
Рис. 6.5. Структурная схема контроллера ПДП
Системная магистраль (СМ) в режиме прямого доступа к памяти используется мультиплексно КПДП и
микропроцессором, причем основное управление системной магистралью выполняет КПДП, а МП
получает к ней доступ на очень короткие промежутки времени для обмена информацией с основной
памятью.
Несмотря на большую самостоятельность ПДП, ведущее положение в МП-системе остается все-таки за
микропроцессором, который, запустив обмен информацией в режиме ПДП, продолжает выполнять свою
работу.
Интерфейс системной шины
Системная магистраль является узким местом ЭВМ, так как все устройства, подключенные к ней,
конкурируют за возможность передавать свои данные по ее шинам.
81
Системная магистраль - это среда передачи сигналов управления, адресов, данных, к которой
параллельно и одновременно может подключаться несколько компонентов вычислительной системы.
Физически системная магистраль представляет собой параллельные проводники на материнской плате,
которые называются линиями. Но это еще и алгоритмы, по которым передаются сигналы, правила
интерпретации сигналов, дисциплины обслуживания запросов, специальные микросхемы,
обеспечивающие эту работу. Весь этот комплекс образует понятие интерфейс системной магистрали
или стандарт обмена.
Исторически все интерфейсы СМ ведут свою родословную от стандарта IBM MULTGBUS, для которого
фирмой был разработан комплект микросхем (chipset). Этот стандарт мог обслуживать передачу 8- и 16битовых данных, работать в мультипроцессорном режиме с несколькими ведущими устройствами.
Понятие “ведущее/ведомое устройство” могло динамически переопределяться с помощью сигналов
управления (например, контроллер ПДП в режиме программирования - ведомое устройство, а в
активном режиме -ведущее). Для этого стандарта характерно наличие следующих линий: 20 линий
адресов, 16 линий данных, 50 управляющих и служебных линий.
Для IBM PS-2 разработанстандарт Микроканал - МСА (Micro Channel Architecture) в 1987 г. В нем 24разрядная шина адреса. Шина данных увеличена до 32 бит. Отказались от перемычек и переключателей,
определяющих конфигурацию технических средств, и ввели CMOS-память (Complementary Metal Oxyde
Semicondactor), позволяющую хранить эту информацию и при отключении питания. Все оборудование,
подключаемое к системной магистрали, содержит специальные регистры POS (Programmable Option
Select), позволяющие конфигурировать систему программным путем. При тактовой частоте 10 МГц
скорость передачи данных составляла 20 Мбайт/с.
Для IBM PC XT был разработан стандарт ISA (Industry Standart Architecture), который имеет две
модификации - для XT и для АТ. В ISA XT шина данных - 8 бит, шина адресов - 20 бит, шина
управления - 8 линий. В ISA АТ шина данных увеличена до 16 бит. Встречаются и 32-битовые ISA, но
это - нестандартизированное расширение. Тактовая частота для работы СМ в стандарте ISA составляет 8
МГц. Производительность ISA XT - 4 Мбайт/с, ISA АТ - от 8 до 16 Мбайт/с.
Стандарт EISA (Extended ISA) - это жестко стандартизованное расширение ISA до 32 бит.
Конструктивно совместима с ISA-адаптерами внешних устройств. Предназначена для многозадачных
систем, файл-серверов и систем, в которых требуется высокоэффективное расширение ввода-вывода.
При тактовой частоте 8.33 МГц скорость передачи данных составляла 33 Мбайт/с.
Стандарт VESA (VESA Lokal Bas или VLB) разработан Ассоциацией стандартов видеоданных (Video
Electronics Standart Association) как расширение стандарта ISA для обмена видеоданными с адаптером
SVGA. Обмен данными по этому стандарту ведется под управлением микросхем, расположенных на
карте, устанавливаемой в специальный слот (разъем) расширения VLB и соединяемой с СМ через
стандартный слот расширения. В отличие от стандартных слотов расширения слот VLB связан с
микропроцессором напрямую, минуя системную магистраль. Карта VLB, работая совместно с
системной магистралью, реализующей стандарт ISA, обеспечивает 32-разрядную передачу данных с
тактовой частотой микропроцессора (но не более 40 - 50 МГц). В стандартные слоты материнской платы
с интерфейсом VLB устанавливаются карты расширения с интерфейсом ISA. Производительность
стандарта VLB достигает 132 Мбайт/с.
Стандарт PCI (Peripheral Component mterconnect) разработан фирмой Intel для ЭВМ с МП Pentium. Это
не развитие предыдущих стандартов, а совершенно новая разработка. Системная магистраль в
соответствии с этим стандартом работает синхронно с тактом МП и осуществляет связь между
локальной шиной МП и интерфейсом ISA, EISA или МСА. Но поскольку для этого интерфейса
используются микросхемы, выпускаемые другими фирмами (Satum - для 486, Mercury, Neptune, Triton для Pentium), скорость работы СМ реально'составляет 30 - 40 Мбайт/с при теоретически возможной 132/
264 Мбайт/с. Стандарт PCI разрабатывался как процессорно-независимый интерфейс. Помимо Pentium с
этим интерфейсом могут работать и МП других фирм (Alpha корпорации DEC, MIPS R4400 и Power PC
фирм Motorola, Apple и IBM). Стандарт PCI позволяет реализовать дополнительные функции:
автоматическую конфигурацию периферийных устройств (которая позволяет пользователю
устанавливать дополнительные платы, не задумываясь над распределением прерываний, каналов ПДП и
адресного пространства); работу при пониженном напряжении питания; возможность работы с 64разрядным интерфейсом. "Слоевая" структура интерфейса PCI снижает электрическую нагрузку на МП
и позволяет одновременно управлять шестью периферийными устройствами, подключенными к СМ.
Стандарт PCI позволяет использовать "мосты" (Bridges) для организации связи с другими стандартами
(например, PCI to ISA Bridge).
82
Стандарт USB (Universal Serial Bus) - универсальный последовательный интерфейс, обеспечивающий
обмен со скоростью 12 Мбайт/с и подключение до 127 устройств.
Стандарт PCMCIA (Personal Computer Memory Card International Association) - интерфейс блокнотных
ПЭВМ для подключения расширителей памяти, модемов, контроллеров дисков и стриммеров, сетевых
адаптеров и др. Системная магистраль, выполненная по этому стандарту, имеет минимальное
энергопотребление, ШД - на 16 линий, ША - на 24 линии.
Интерфейсы внешних запоминающих устройств IBM PC
Для подключения жестких магнитных дисков к микропроцессорному комплекту используется один из 5
типов интерфейсов:

ST506/412;

ESDI (Enhanced Small Device Interface);

SCSI (Small Computer System Interface);

IDE (Integrated Drive Electronics) известныйтакже, как ATA (AT Attachement);

EIDE(Enhanced-IDE).
SCSI является промышленным стандартом для подключения таких устройств, как винчестеры,
стриммеры, сменные и оптические диски и др.
Этот интерфейс осуществляет параллельную пересылку данных (побайтно) с контролем по четности,
что значительно повышает скорость его работы. Применяется не только в IBM-совместимых ЭВМ, но и
в VAX, Macintosh, SPARCstation и др. Он обслуживает одновременно до 8 устройств (одним из которых
является основной (хост) адаптер SCSI). Хост-адаптер SCSI имеет свою собственную BIOS, которая
занимает 16 Кбайт в верхней области памяти (UMB).
Интерфейс обеспечивает удаление внешних ЗУ до 6м при синфазном способе работы и до 25м - при
дифференциальном соединении (токовая петля).
Обмен между устройствами на магистрали SCSI происходит в соответствии с протоколом высокого
уровня. Программы управления обменом составляются на CCS (Common Command Set) - это
универсальный набор команд, обеспечивающих доступ к данным на логическом уровне (в отличие от
ESDI).
Программное обеспечение SCSI не оперирует физическими характеристиками жестких дисков (числом
цилиндров, головок и т.д.), а имеет дело только с логическими блоками.
Для 32-разрядных микропроцессоров появился интерфейс SCSI-2, в спецификацию которого был введен
так называемый "широкий" (wide) вариант шины данных - дополнительные 24 линии. Кроме
"широкого" был разработан "быстрый" (fast) SCSI-2 с производительностью 10 Мбит/с. Совместное их
использование позволяет повысить производительность магистрали до 40 Мбит/с.
Интерфейс может организовывать очередь команд, в нем расширен состав команд. Планируется выпуск
SCSI-3, позволяющего подключать большее количество устройств и обеспечивающего работу с более
длинным кабелем.
Интерфейс IDE (он же ATA, AT-bus, PC/AT, Task File) был предложен пользователям AT и ХТ в 1988 г.
в качестве недорогой альтернативы интерфейсам ESDI и SCSI. Его отличительная особенность реализация функций контроллера в самом накопителе. Такое решение позволяет сократить количество
сигналов, передаваемых между системной платой и накопителем (остался один 40-жильный кабель),
повысить производительность жесткого диска с 5 до 10 Мбит/с. В контроллере используются такие
аппаратные средства, как кэш-память, трансляторы физических параметров диска в логические, что
позволяет использовать нестандартные параметры накопителя.
Выпуск малогабаритных компьютеров типа “lap-top” и “notebook” потребовал сокращения размеров как
самого жесткого диска, так и его контроллера, поэтому новая концепция интерфейса IDE стала в них
доминирующей.
Способы организации совместной работы периферийных и центральных устройств
Связь двух ЭВМ и внешнего устройства или двух ЭВМ друг с другом может быть организована в трех
режимах: симплексном, полудуплексном и дуплексном.
В симплексном режиме передача данных может вестись только в одном направлении: один передает,
другой принимает.
Полудуплексный режим позволяет выполнять поочередный обмен данными в обоих направлениях. В
каждый момент времени передача может вестись только в одном направлении: один передает, другой
принимает. И пока передача не закончилась, принимающий ничего не может сообщить передающему.
Заканчивая передачу, передающая ЭВМ пересылает приемной специальный сигнал "перехожу на
83
прием" (или просто "прием" - как выглядит этот сигнал, должны "договориться" между собой
коммуникационные программы. Этот сигнал должен быть им обоим известен, т.е. сигнал окончания
связи должен выглядеть одинаково у обеих ЭВМ, находящихся на связи). Затем они могут поменяться
ролями. Этот режим является самым простым. Если во время передачи в приемной ЭВМ возникла
нештатная ситуация (появилась ошибка в передаваемых данных, коммуникационная программа не
успела обработать принятый байт до поступления следующего, при распечатке принимаемых данных
одновременно с приемом замяло бумагу в принтере и др.), то принимающая ЭВМ неспособна сообщить
об этом передающей до появления сигнала окончания передачи. Вся информация, передаваемая после
появления нештатной ситуации, теряется. После устранения неполадок передачу приходится повторять.
Поэтому при обмене большими объемами информации приходится все передаваемые данные делить на
блоки и контролировать прохождение каждого блока. Общее время обмена информацией при этом
возрастает.
Дуплексный режим позволяет вести передачу и прием одновременно в двух встречных направлениях.
В симплексном режиме может быть осуществлена связь, например, между ЭВМ и принтером,
клавиатурой и ЭВМ или ЭВМ и дисплеем, а также между двумя ЭВМ, находящимися всегда в
односторонней связи.
Для организации симплексного режима необходимо, чтобы передатчик одной ЭВМ был связан с
приемником другой ЭВМ двухпроводной линией связи.
Для организации полудуплексного режима можно применить либо специальное коммутационное
устройство у каждой ЭВМ, переключающее линию связи с выхода передатчика на вход приемника и
обратно, либо линию связи с большим количеством проводов (например, трехпроводную, в которой
один провод связывает передатчик первой ЭВМ с приемником второй, Другой провод связывает
приемник первой ЭВМ с передатчиком второй, а третий является общим проводом и называется
информационная земля).
Для организации дуплексного режима необходимо, чтобы аппаратурные средства (в состав которых
входит и канал связи) обеспечивали возможность одновременной передачи информации во встречных
направлениях. Например, дуплексный режим может быть реализован при связи ЭВМ с принтером, если
дополнительно к информационной связи канал обеспечивает передачу управляющего сигнала
готовности принтера (сигнал DSR).
Сопряжение ЭВМ с каналом связи осуществляется с помощью последовательного (RS-232) или
параллельного (Centronics) интерфейса, каждый из которых может обеспечить работу сопрягаемых
устройств в любом из рассмотренных режимов - все зависит от типа используемого канала связи и
технологии его использования.
Способ, с помощью которого интерфейс обеспечивает связь в заданном режиме, называется
протоколом. Дуплексная связь ЭВМ с внешним устройством (принтером, модемом), при которой
осуществляются симплексный режим обмена информацией, извещение внешнего устройства о
готовности ЭВМ с помощью сигнала DTR и извещение ЭВМ о готовности внешнего устройства с
помощью сигнала DSR, обеспечивается аппаратурным протоколом DTR.
Программный протокол XON/XOFF основан на использовании программно или аппаратурнореализуемых сигналов XON (код ASCII 17d или llh) и XOFF (код ASCII 19d или 13h), вырабатываемых
принимающим устройством. Эти сигналы имеют направленность, противоположную передаваемому
информационному потоку. При получении передающей ЭВМ управляющего кода XOFF она должна
прекратить передачу информации до появления разрешающего кода XON.
Управляющие сигналы XON и XOFF передаются по основной информационной линии в дуплексном
режиме обмена информацией. Поэтому коммуникационная программа должна постоянно
контролировать состояние внешнего устройства (которым может являтьея и другая ЭВМ), распознавая
среди потока информации управляющие сигналы и корректируя в соответствии с ними режим передачи.
Программно-аппаратурный протокол RTS/CTS используется для синхронного обмена информацией (все
ранее рассмотренные протоколы реализовали асинхронный обмен) между ЭВМ и ее внешним
устройством. В соответствии с этим протоколом производится взаимное оповещение
взаимодействующих устройств о выполненных ими действиях: ЭВМ обращается к подключенному
внешнему устройству, вырабатывая сигнал DTR (Data Terminal Ready) - "ЭВМ готова к выходу на
связь", сопровождающий команду внешнему устройству, находящуюся на информационных линиях
интерфейса. Внешнее устройство, получив команду, выполняет ее (обычно первая команда связана с
выполнением внешним устройством подготовительных операций - включению, установлению связи,
настройке), после чего внешнее устройство выставляет управляющий сигнал DSR (Data Set Ready) 84
"Внешнее устройство готово", сопровождающий выставленное внешним устройством на
информационные линии интерфейса сообщение (например, модем в этом случае выставляет на
информационные линии ответный код Connect, информирующий ЭВМ , что связь с другим модемом
установлена). Получив сигнал DSR и прочитав ответный код, ЭВМ выставляет сигнал RTS (Request То
Send) - "ЭВМ готова к обмену информацией". Внешнее устройство (тот же модем) в ответ на сигнал
RTS вырабатывает сигнал CTS (Clear То Send) - "Готов к обмену", по которому коммуникационная
программа начинает передачу/прием данных.
Четыре управляющих сигнала: DTR, DSR, RTS, CTS вырабатываются ЭВМ и внешним устройством.
Анализ поступивших сигналов производится коммуникационной программой. Передаваемые данные в
синхронном режи ме могут сопровождаться управляющим сигналом от передающего или приемного
устройства (TXD - Transmitted Data и RXD - Received Data соответственно).
В синхронном дуплексном режиме взаимодействующие устройства работают наиболее эффективно, так
как выработка большого количества управляющих сигналов позволяет им оперативно информировать
друг друга об успешности выполнения каждого шага.
Для взаимодействия со сложными внешними устройствами могут предусматриваться и дополнительные
сигналы, например, для модема протокол DTS/CTS содержит- сигналы: DCD (Data Carrier Detected) "Есть несущая частота" и RI (Ring Indicator) - "Индикатор звонка", информирующий ЭВМ, что по
телефонной линии, подключенной к модему, поступили сигналы вызова (звонка), т.е. электрические
сигналы, параметры которых отличаются от несущей.
Для того чтобы обеспечить взаимодействие ЭВМ по наиболее сложному протоколу DTS/CTS,
последовательный интерфейс RS-232 предусматривает обмен всеми перечисленными сигналами.
Но тот же интерфейс позволяет реализовать обмен и по любому другому протоколу, например
протоколу DTR, для которого в симплексном режиме требуется двух- или трехпроводная линия связи.
Последовательный и параллельный интерфейсы ввода-вывода
В состав микропроцессорного комплекта входит большая интегральная схема УСАПП (универсальный
синхронно-асинхронный приемопередатчик) или UART (Universal Asynchronous Receiver Transmitter),
предназначенная для реализации интерфейса типа RS-232 (V24).
УСАПП является программируемой микросхемой, преобразующей параллельный код, получаемый от
шины данных системной магистрали, в последовательный, для передачи по двухпроводной линии связи.
В качестве УСАПП используются БИС i8250, П6450,П6550Аидр. Функции, выполняемые эти-ми
микросхемами, одинаковы. Различия заключаются в обеспечиваемом ими быстродействии.
Типовая структурная схема УСАПП приведена на рис.6.6.
От микропроцессора передаваемый байт данных поступает по шинам данных (ШД) в буфер данных
УСАПП на входной регистр (РгВх), затем через внутреннюю шину передается в регистр передатчика
(РгПд). В момент передачи содержимое РгПд серией сдвигов выдвигается в канал с преобразованием в
последовательный код.
В синхронном режиме передаваемые данные сопровождаются управляющими сигналами, называемыми
синхронизирующими словами (СС). Для хранения СС используются специальный регистр РгСС на входе
УСАПП и регистр состояния (РгС) - на выходе. Из РгС информация в виде байта состояния передается в
микропроцессор по его запросу.
85
Рис. 6.6. Структурная схема УСАПП
Устройство управления (УУ) содержит регистр режима (РгР), предназначенный для хранения
передаваемой из микропроцессора информации о режиме работы, и регистр команд (РгК) для хранения
принимаемой из микропроцессора команды на обмен данными.
Передаваемый последовательный код перед выходом из передатчика УСАПП в линию связи
комплектуется управляющими сигналами, необходимыми для настройки приемника. После такого
укомплектования образуется кодовая посылка следующей структуры (рис.6.7).
Рис. 6.7. Кодовая посылка УСАПП
Старт-бит всегда имеет единичное значение, отличное от состояния "молчащего" канала. Вслед за стартбитом расположены информационные биты, принятые от шины данных системной магистрали. В
зависимости от настройки УСАПП в одной посылке может содержаться от 5 до 8 информационных
битов. Значение этих битов в каждой посылке непредсказуемо. В процессе передачи они могут быть
86
искажены помехами. Поэтому в посылке должны содержаться не только биты, говорящие о начале и
конце посылки, но и биты для контроля правильности передачи.
В качестве контрольного выступает бит паритета, следующий сразу вслед за информационными битами.
С помощью бита паритета осуществляется контроль на четность или нечетность. При контроле на
четность сначала подсчитывается количество единиц в информационной части посылки, затем
определяется, четное оно или нет. Если полученное число нечетное, бит паритета устанавливается в
единицу, в этом случае в правильно переданной посылке всегда будет содержаться четное количество
единиц (т.е. единиц, содержащихся в информационных разрядах вместе с битом паритета). При
контроле на нечетность бит паритета устанавливается так, чтобы общее количество единиц было всегда
нечетным.
При программировании УСАПП программист выбирает: использовать режим контроля или отказаться
от него. Он может отказаться от контроля, и бит паритета всегда будет нулевым; может включить
контроль на четность или контроль на нечетность. Выбор, что необходимо - контроль на четность или
на нечетность, осуществляется в зависимости от характера возможных помех. Если воздействие
возможных помех будет проявляться преимущественно в появлении лишних единиц, необходим
контроль на четность. Если же воздействие помех будет проявляться преимущественно в исчезновении
единиц, то необходим контроль на нечетность (чтобы отличать передаваемый О от полной потери
информации из-за помех).
После бита паритета в кодовой посылке следуют стоп-биты. Для стоп-битов в кодовой посылке
отводятся два двоичных знакоместа. Если выбран режим "1 стоп-бит", то после бита паритета всегда (в
каждой посылке) будет следовать комбинация 01. Если выбран режим "1,5 стоп-бита", то после бита
паритета всегда будет следовать комбинация 10. Если же выбирается режим "2 стоп-бита", то каждая
посылка будет завершаться цифрами 11.
В УСАПП-приемнике поступившая от канала связи кодовая комбинация проверяется в соответствии с
установленным заранее режимом контроля (на четность или нечетность), освобождается от
управляющих сигналов и передается в шину данных системной магистрали параллельным кодом.
Настраиваться УСАПП-приемник и УСАПП-передатчик, работающие в паре, должны согласованно.
Программирование УСАПП может вестись на физическом или логическом уровне. Программирование
на физическом уровне производится на языках низкого уровня или в машинных кодах. Логический
уровень программирования обеспечивается алгоритмическими языками высокого уровня,
коммуникационными программами, некоторыми пакетами прикладных программ.
Параллельный интерфейс представлен в микропроцессорном комплекте микросхемой типа i8255 контроллером параллельного интерфейса или программируемым интерфейсным адаптером.
Микросхема подключается к системной магистрали ЭВМ (соответственно - к шинам данных, адреса и
управления) и имеет три независимых канала для подключения внешних устройств. Внутренний блок
управления позволяет программировать каждый канал на ввод или вывод информации по 8 линиям, т.е.
8 бит параллельно.
Глава 7. ВНЕШНИЕ УСТРОЙСТВА ЭВМ
Системы визуального отображения информации (видеосистемы)
Видеосистемы предназначены для оперативного отображения информации, доведения ее до сведения
оператора ЭВМ. Обычно они состоят из двух частей: монитора и адаптера. Монитор служит для
визуализации изображения, адаптер — для связи монитора с микропроцессорным комплектом.
Классификацию мониторов можно провести по следующим признакам:
87
по используемым физическим эффектам, по принципу формирования изображения на экране, по
способу управления, по длительности хранения информации на экране, по цветности изображения и по
его эргономическим характеристикам.
По принципу формирования изображения мониторы делятся на плазменные, электролюминесцентные,
жидкокристаллические и электронно-лучевые.
Плазменные, электролюминесцентные и жидкокристаллические мониторы относятся к дисплеям с
плоским экраном. Для них характерно: экран имеет малые физические размеры, не мерцает, полностью
отсутствует рентгеновское излучение. Мониторы этого вида допускают локальное стирание и замену
информации, имеют малый вес и незначительное потребление энергии, большую механическую
прочность и длительный срок службы. Плоские экраны уступают мониторам на электронно-лучевых
трубках в скорости обновления информации на экране (они медленнодействующие, не приспособлены
для демонстрации динамично меняющихся изображений) и в количестве отображаемых цветовых
оттенков.
Плазменные и электролюминесцентные мониторы являются активными, излучающими свет. Для работы
с ними не нужен посторонний источник света.
Жидкокристаллические - пассивные мониторы. Они работают только при наличии постороннего
источника света и способны работать либо в отраженном, либо в проходящем свете.
Жидкокристаллические мониторы используют способность жидких кристаллов изменять свою
оптическую плотность или отражающую способность под воздействием электрических сигналов.
В плазменной панели элемент изображения образуется в результате газового разряда, который
сопровождается излучением света. Конструктивно панель состоит из трех стеклянных пластин, на две из
которых нанесены тонкие прозрачные проводники (до 2-4 проводников на 1 мм). На одной пластине
проводники расположены горизонтально, на другой - вертикально. Между ними находится третья
стеклянная пластина, в которой в местах пересечения проводников имеются сквозные отверстия. Эти
отверстия при сборке панели заполняются инертным газом. Вертикально и горизонтально
расположенные Проводники образуют координатную сетку; на пересечении проводников находятся
элементы изображения - пикселы (от “picture element”). При разрешающей способности 512х512 пиксел
такая панель имеет размеры не более 200х200мм и толщину 6-8 мм. В настоящее время созданы
цветные плазменные панели с разрешающей способностью экрана 1024х1024 пиксел.
Электролюминесцентные мониторы работают на принципе люминесценции вещества при воздействии
на него электрического поля. Люминесцентное вещество распыляется на внутренней поверхности одной
из пластин с координатной сеткой. Напряжение на координатные шины подается такое, чтобы на
пересечении координатных шин создавалось электрическое поле, достаточное для возбуждения
люминофора.
Наибольшее распространение получили мониторы на электронно-лучевых трубках. Электроннолучевая трубка (ЭЛТ) представляет собой электровакуумный прибор в виде стеклянной колбы, дно
которой является экраном. В колбе, из которой удален воздух, расположены электроды: электронная
пушка (катод с электронагревательным элементом), анод, вертикально и горизонтально отклоняющие
пластины и сетка. Снаружи на ЭЛТ установлена фокусирующая система. Внутренняя поверхность
экрана покрыта люминофором, который светится при попадании на него потока электронов. Катод,
поверхность которого покрыта веществом, легко отдающим электроны при нагревании, является
источником электронов. Возле него образуется “электронное облако”, которое под действием
электрического поля анода движется в сторону экрана. По мере приближения к аноду электронный
поток увеличивает скорость. Фокусирующая система сжимает поток электронов в тонкий пучок,
который с помощью отклоняющих пластин направляется в нужную точку экрана. Сетка служит для
регулирования плотности электронного потока. Она расположена гораздо ближе к катоду, чем анод. В
зоне ее действия поток электронов имеет небольшую скорость, поэтому она оказывает на поток
электронов влияние, сопоставимое с влиянием анода. Сетка может создать электрическое поле, которое
тормозит электроны, уменьшает их скорость и плотность потока, движущегося в сторону экрана, и даже
может полностью “запереть” трубку, не пропустить поток электронов в сторону экрана.
На отклоняющие пластины ЭЛТ подается пилообразное напряжение, которое отклоняет электронный
луч и заставляет его пробегать по всей поверхности экрана, строка за строкой. На поверхности экрана
появляется развертка, с помощью которой выводится требуемое изображение - в местах экрана, которые
должны оставаться темными, трубка запирается и электронный луч не доходит до поверхности экрана.
В зависимости от формы напряжения, подаваемого на отклоняющие пластины, и способа его
получения различаются растровая, матричная и векторная развертки.
88
Растровая развертка представляет собой набор сплошных горизонтальных линий, заполняющих весь
экран. Она формируется с помощью аналоговых приборов - генераторов пилообразного напряжения,
отдельно - для строк и отдельно для кадров. Этот вид развертки применяется в телевидении.
Матричная развертка по внешнему виду похожа на растровую. Но формируется она с помощью
цифровых схем (счетчиков), связанных с отклоняющей системой через цифро-аналоговые
преобразователи. В этом случае электронный луч на экране перемещается не непрерывно, а скачками от одного пиксела к другому. Поэтому он не рисует линию, а высвечивает матрицу точек - пиксел. При
такой развертке легко перевести луч в любую заданную точку экрана - надо только в счетчики строк и
кадров поместить координаты этой точки.
Векторная развертка используется для рисования сложных фигур с помощью сплошных линий разной
формы. Управление вертикальным и горизонтальным отклонением луча в этом случае осуществляется с
помощью функциональных генераторов, каждый из которых настроен на прорисовку определенного
графического примитива. Состав графических примитивов, из которых строится изображение,
определяется наличием функциональных генераторов.
Максимальное количество строк на экране и количество точек в строке образуют разрешающую
способность монитора:

низкую: 320 х 200 (320 пиксел в строке, 200 строк на экране);

стандартную: 640 х 200,640х350 или 640 х 480;

высокую: 750 х 348 или 800 х 600;

особо четкую: 1024 х 768 или 1024 х 1024 и выше.
Разрешающая способность оказывает значительное влияние на качество изображения на экране, но
качество изображения зависит и от других характеристик: физических размеров элементов изображения
(пиксел, или точек), размеров экрана, частоты развертки, цветовых характеристик и др.
Размер элементов изображения зависит от величины зерен люминофора, напыляемого на экран, которая
измеряется в миллиметрах и образует ряд:
0.42; 0.39; 0.31; 0.28; 0.26;... Фактически приведенные цифры характеризуют не диаметр точек
люминофора, а расстояние между центрами этих точек.
Размер экрана, имеющего прямоугольную форму, обычно измеряется по диагонали в дюймах (12, 14, 15,
17, 21,...). Для экрана с диагональю 14" длина горизонтальной части экрана составляет около 10", а
вертикальной -около 9". При длине строки 10" (т.е. 257.5 мм) и размере зерна 0.42 мм, в строке может
разместиться 613 пиксел. Поэтому на мониторе с размером экрана 14" и размером зерна 0.42 мм
невозможно получить разрешающую способность более 613 пиксел в строке при 535 пикселных строках
на экране;
монитор может обеспечить лишь стандартную разрешающую способность (не более 640 х 480). При
размере зерна 0.28мм на 14" мониторе максимально можно получить разрешающую способность 800 х
600 (зато на 15" мониторе размер зерна 0.28 позволяет обеспечить разрешающую способность 1024 х
768).
Необходимо отметить, что большее по размерам зерно имеет большую инерционность - электронный
луч дольше “разжигает” такое зерно, но оно и светится дольше. Поэтому в мониторах с большим
размером зерна частота регенерации не должна быть высокой (25-30 кадров в секунду достаточно,
чтобы изображение “не мерцало” из-за угасания зерен люминофора). При уменьшении размеров зерна
уменьшается и его инерционность. Поэтому регенерацию экрана в мониторах с зерном 0.26 и меньше
приходится проводить чаще (75-100 раз в секунду). Для того чтобы вывести 100 раз в секунду кадр,
содержащий 1000 пиксел в строке и 1000 строк, необходимо обеспечить частоту строчной развертки 100
х 1000 х 1000 = 10* Гц = 100 Мгц; частота кадровой развертки при этом составит 100 х 1000 = 105 Гц =
0.1 Мгц.
По длительности хранения информации на экране мониторы делятся на регенерируемые и
запоминающие.
В регенерируемых мониторах изображение после однократной прорисовки держится на экране недолго,
доли секунды, постепенно угасая. Угасание изображения иногда заметно на глаз - нижние строки могут
быть ярче верхних, например. Для поддержания постоянной яркости изображение приходится повторно
прорисовывать (регенерировать) 20-25 раз в секунду. А чтобы яркость в различных частях экрана не
очень отличалась и для снижения полосы пропускания применяют чересстрочную развертку: при
каждой прорисовке сначала рисуются нечетные строки, а затем - четные.
89
Регенерируемые мониторы незаменимы при визуализации быстропротекающих динамических
процессов.
В запоминающих мониторах после однократной прорисовки изображение держится на экране в течение
нескольких часов. Для его стирания приходится подавать на экран специальное стирающее напряжение.
Запоминающие мониторы эффективны там, где выведенное изображение нуждается в длительной
обработке, например подвергается редактированию или должно быть воспринято (изучено) оператором.
По способу управления яркостью луча мониторы делятся на цифровые и аналоговые. В цифровых
мониторах для управления яркостью на сетку подаются дискретные сигналы, которые в зависимости от
настройки могут полностью запирать трубку (0) или полностью отпирать ее (1), снижать яркость до 1/2
(0) или обеспечивать полную яркость (1) и т.д.
В аналоговых мониторах на сетку подается непрерывный (аналоговый) сигнал, который может плавно
изменять яркость от полного запирания до полного отпирания.
По цветности изображения мониторы делятся на монохромные и цветные.
Цветность монитора на ЭЛТ зависит от люминофорного покрытия экрана. В монохромном мониторе на
экране распыляется один люминофор, который и определяет цвет экрана: белый, зеленый и др. В
цветном мониторе на экран последовательно напыляются три различных люминофора, каждый из
которых светится под воздействием электронного пучка своим цветом. В цветных мониторах в качестве
основных цветов применяются красный (Red), зеленый (Green) и синий (Blue), в связи с чем они
получили название RGB-мониторы. Люминофоры наносятся в виде точек, образующих цветные триады
на месте каждого пиксела. В цветных ЭЛТ используются три электронные пушки, каждая из которых
может подсвечивать точку только одного цвета. Изменяя интенсивность каждого электронного пучка,
можно регулировать яркость точек в цветных триадах. Но точки, из которых состоит пиксел, глазом по
отдельности не воспринимаются, так как имеют очень малые размеры и расположены близко друг от
друга. Глаз воспринимает их слитно как одну цветную точку, цвет которой зависит от яркости ее
компонентов.
В аналоговых мониторах для управления цветом может использоваться одна общая сетка, одновременно
воздействующая на все три луча, - такой монитор называется композитным. В нем одновременно с
изменением яркости изображения изменяется и цвет. Это один из самых ранних мониторов, в настоящее
время для получения цветного изображения не применяется. Самые большие возможности
цветообразования - у аналоговых RGB-монито-ров с раздельным управлением яркостью трех лучей. В
этих мониторах используются три сетки, каждая из которых находится в непосредственной близости от
“своей” электронной пушки и управляет интенсивностью только ее луча. Такие мониторы способны
воспроизводить на экране сотни тысяч различных цветов.
В цифровых мониторах управление цветом осуществляется раздельно по каждому лучу. При
использовании трех сеток (на каждую из которых может подаваться один из двух сигналов: 0 или 1) на
экране могут быть воспроизведены 23 = 8 цветов: это цифровой RGB-монитор.
Если, кроме трех таких сеток, в мониторе установлена общая сетка, управляющая интенсивностью всех
трех лучей сразу (сетка интенсивности - Intensity), то такой монитор называется IRGB-монитором и
способен воспроизвести на экране 24 == 16 различных цветов.
В третьей разновидности цветных цифровых мониторов для управления цветом каждого луча
установлено по две сетки. Поскольку сетки находятся на различном расстоянии от электронной пушки,
их влияние на электронный луч различно - одна из сеток может ограничить интенсивность луча на 1/3,
другая - на 2/3, вместе они способны полностью отпереть или запереть электронный луч. Такой
цифровой монитор называется RGBrgb-монитором, он способен воспроизвести на экране 26 = 64
различных цвета.
По эргономическим характеристикам мониторы делятся на обычные;
с пониженным рентгеновским излучением (LR - Low Radiation) - соответствующие стандарту на
ограничение электромагнитных излучений; с антистатическим экраном (AS); работающие в
энергосберегающем режиме - снижающие потребление энергии в режиме ожидания (“Green”).
Связь ЭВМ с монитором осуществляется с помощьюадаптера - устройства, которое должно
обеспечивать совместимость различных мониторов с микропроцессорным комплектом ЭВМ.
Существуют пять стандартных видеоадаптеров, в полной мере обеспечивающих совместимость
различных по конструкции мониторов с ЭВМ:

MDA - монохромный дисплейный адаптер;

CGA - цветной графический адаптер;
90

MGA - монохромный графический адаптер;

EGA - улучшенный графический адаптер;

VGA - видеографическая матрица.
Кроме них существуют и другие адаптеры, например - Геркулес, PGA, SVGA и др. Но они не
поддерживают некоторые общепринятые режимы работы мониторов и вследствие неполной
совместимости не позволяют реализовать любое программное обеспечение IBM PC.
Адаптер MDA, разработанный фирмой IBM, является одним из самых ранних адаптеров, может
воспроизводить лишь алфавитно-цифровую информацию и небольшое количество служебных
символов. В нем отсутствуют графические возможности. Он обеспечивает разрешающую способность
экрана 80 х 25 символов, размер точечной матрицы символа 9х14 пикселов.
Адаптер CGA, производимый той же фирмой, обеспечивает воспроизведение информации только со
средним разрешением и ограниченным количеством цветов (этот адаптер был предназначен для работы
с цифровыми RGB-монигорами). Обеспечивает разрешающую способность 80 х 25 символов на экране,
имеет точечную символьную матрицу 8х8 пиксел. Из-за небольшого объема видеопамяти (всего 16
Кбайт) в графическом режиме адаптер обеспечивал при низкой разрешающей способности (320 х 200
пиксел) воспроизведение 4 цветов (способность монитора - 8 цветов), а при нормальной разрешающей
способности мог работать только в монохромном режиме. Поскольку монитор позволял воспроизвести
большее количество цветов, все цвета были разделены на две палитры: палитра 0 -зеленый, красный и
коричневый (+ черный), палитра 1 - голубой, фиолетовый и белый. Переключение палитр производится
с помощью прерывания BIOS.
Адаптер EGA начал выпускаться с 1984 г. и был оснащен видеопамятью емкостью 64, 128 или 256
Кбайт. Адаптер разрабатывался для монитора RGBrgb, способного воспроизводить 64 цвета. Но малый
объем видеопамяти позволял работать с 4 палитрами по 16 цветов.
Видеографический матричный адаптер VGA, разработанный в 1988 г., позволял реализовать 640*480
точек в графическом режиме при 64-256 (зависит от объема видеопамяти) одновременно отображаемых
цветах из 262 144 возможных. В текстовом режиме адаптер VGA позволяет отображать на экране 80 х
25 или 80 х 50 символов. Количество цветов, отображаемых в этом режиме, ограничено 16 цветами из
256 возможных. Ограничение на количество воспроизводимых цветов накладывает архитектура
адаптера, стремление сделать его совместимым с адаптером EGA.
Исторически сложилось, что дисплеи могут работать в одном из двух режимов:символьном или
графическом,
В символьном режиме на экран может выводиться ограниченный состав символов, имеющих четко
определенный графический образ: буквы, цифры, знаки пунктуации, математические знаки и знаки
псевдографики. Состав этих символов определен системой кодирования, применяемой в данной ЭВМ. В
Robotron 1715 состав символов определяется кодом КОИ-7; в ЕС ЭВМ - кодом DKOI, в IBM PC - кодом
ASCH.
Для вывода символа на экран дисплея сначала определяется позиция, в которой должен появиться
символ (номер символа в строке и порядковый номер строки), а затем по коду символа определяется его
форма, которая и высвечивается на экране. Предельное количество символов, одновременно
размещаемых на экране, называется информационной емкостью экрана. В символьном режиме на
экране монитора IBM PC может быть высвечено 40, 80 или 132 (VESA BIOS EXTENTION) символа в
строке. Всего на экране помещаются 25, 50 или 60 строк.
Форма выводимого символа определяется знакогенератором дисплея, в котором хранятся коды формы
всех символов ASCII.
В графическом режиме изображение на экране формируется из отдельных точек (пиксел), имеющих
свои адреса (номер пиксела в строке х номер пикселной строки). В простейшем случае каждому пикселу
экрана соответствует один пиксел, видеопамяти, который и определяет, светлым или темным должна
быть соответствующая точка на экране. Если кроме этого необходимо указывать цвет пиксела, то
количество битов видеопамяти, характеризующих каждый пиксел, приходится увеличивать. Поэтому
для графического режима требуется большая память, чем для символьного, при той же разрешающей
способности экрана.
Основу адаптера любого типа составляет видеопамять: обычная динамическая (DRAM) или
специальная двухпортовая (VRAM), допускающая одновременное обращение как со стороны системной
магистрали, так и со стороны монитора.
91
Начиная с адаптера EGA видеопамять имеет плоскостную структуру: вся память делится на битовые
плоскости. В каждой битовой плоскости одному пикселу выделяется один бит. Длина битовой
плоскости определяет разрешающую способность экрана. Количество битовых плоскостей (в каждой из
которых выделено по одному биту для соответствующего пиксела) определяет, сколько бит отводится
для хранения атрибутивного признака пиксела. Если видеопамять имеет одну битовую плоскость, то
такой дисплей может работать только в монохромном режиме (пиксел может быть либо ярким, либо
темным). При наличии двух битовых плоскостей в видеопамяти может храниться 22=4 значения,
определяющих, как должен выглядеть пиксел на экране (при цветном мониторе - четыре цвета, один из
которых с кодом 00 - черный (т.е. фактически с помощью двух битовых плоскостей можно управлять
RGB-монитором). При 8 битовых плоскостях атрибут пиксела обеспечивает кодирование 28=256 цветов
- такой адаптер эффективно применять только для аналоговых RGB-монигоров, в которых между
видеопамятью и управляющими цветом электродами ЭЛТ ставится цифро-аналоговый преобразователь
(Digital to Analog Converter - DAC). B DAC из видеопамяти подается код цвета. Из DAC в ЭЛТ выдается
аналоговый сигнал (код цвета преобразуется в величину напряжения на управляющем электроде).
Иногда между видеопамятью и DAC ставятся регистры палитры (RAM DAC). Атрибутивный признак
каждого пиксела в этом случае обозначает номер регистра палитры, в котором хранится код цвета
данного пиксела. При выборке соответствующего регистра палитры находящийся в нем код цвета
передается в DAC и управляет свечением пиксела. Объем RAM DAC равен количеству имеющихся в
наличии регистров палитры (в адаптере EGA - 16, в адаптере VGA для цифрового монитора - 64). RAM
DAC загружается кодами цветов выбранной палитры с помощью специальной видеофункции BIOS
перед началом работы, поэтому объем RAM DAC определяет, сколько цветов может одновременно
находиться на экране (монитор может обеспечить и большее количество цветов, но количество
регистров палитры ограничивает количество цветов выбранной палитрой).
Начиная с адаптеров SVGA (Super VGA), на которые нет единого стандарта, предпринимаются попытки
снять ограничения, накладываемые выбором палитры - для этого код цвета из видеопамяти передается
на DAC в момент “разжигания” пиксела. В режиме High Color на DAC передается 15-битовый код цвета
(по 5 бит на каждый луч). В режиме True Color - 24-битовый код цвета (по 8 бит на каждый луч).
Видеопамять для этого должна иметь соответственно 15 или 24 битовые плоскости.
Скорость обмена видеопамяти с DAC определяется продолжительностью разжигания (регенерации)
одного пиксела и характеризуется частотой, которая при достаточно большой разрешающей
способности превышает 200 Мгц. Поэтому указанные режимы используются для профессиональной
обработки цветных изображений и нуждаются в очень дорогой, быстродействующей аппаратуре.
Физически видеопамять может иметь линейную структуру. Разбиение ее на видеоплоскости в этом
случае может осуществляться программным путем - с помощью драйвера дисплея. Поэтому есть
возможность одну и ту же видеопамять использовать для различной разрешающей способности экрана
(изменяя длину битовой плоскости) и для различного количества воспроизводимых на экране цветов
(изменяя количество битовых плоскостей). Поэтому при фиксированном объеме памяти можно
увеличить разрешающую способность (но при этом сократится количество воспроизводимых цветов)
или увеличить количество воспроизводимых цветов (снизив соответственно разрешающую способность
экрана). Если же видеоплоскости реализованы аппаратно, переключение режимов (мод экрана) может в
ограниченных пределах эмулироваться драйвером дисплея.
Для воспроизведения динамических (движущихся, анимационных) изображений видеопамять
приходится делить на страницы, которые поочередно выводятся на экран при каждой регенерации (пока
одна страница выводится на экран, вторая заполняется очередным кадром).
Во всех адаптерах часть видеопамяти отводится под знакогенератор, в котором записаны коды формы
выводимых на экран символов. В некоторых случаях в видеопамяти приходится хранить несколько
знакогенераторов, например с национальными шрифтами.
Кроме видеопамяти в состав адаптера входят блок сопряжения с монитором, различные ускорители
(графический, Windows-ускоритель, ЗD-ускори-тель и др.), которые предназначены для выполнения
вычислительных операций без обращения к МП ЭВМ, блок управления.
Клавиатура
Клавиатура - это одно из основных устройств ввода информации в ЭВМ, позволяющее вводить
различные виды информации. Вид вводимой информации определяется программой,
интерпретирующей нажатые или отпущенные клавиши. С помощью клавиатуры можно вводить любые
символы - от букв и цифр до иероглифов и знаков музыкальной нотации. Клавиатура позволяет
управлять курсором на экране дисплея -устанавливать его в нужную точку экрана, перемещать по
92
экрану, “прокручивать” экран в режиме скроллинга, отправлять содержимое экрана на принтер,
производить выбор при наличии альтернативных вариантов и т.д.
В последнее время наблюдаются тенденции отказа от клавиатуры в пользу альтернативных устройств:
мыши, речевого ввода, сканеров. Но полностью эти устройства клавиатуру не заменяют.
Стандартная клавиатура IBM PC имеет несколько групп клавиш:
1.
Алфавитно-цифровые и знаковые клавиши (с латинскими и русскими буквами, цифрами,
знаками пунктуации, математическими знаками).
2.
Специальные клавиши: <Esc>, <Tab>, <Enter>, <BackSpace>.
3.
Функциональные клавиши: <F1>...<F10...>.
4.
Служебные клавиши для управления перемещением курсора (стрелки: <Up>, <Down>, <Left>,
<Right>, клавиши <Home>, <End>, <PgUp>, <PgDn> и клавиша, обозначенная значком “[ ]” - в
центре дополнительной цифровой клавиатуры).
5.
Служебные клавиши для управления редактированием <Ins> <Del>.
6.
Служебные клавиши для смены регистров и модификации кодов других клавиш <Alt>, <Ctrl>,
<Shift>.
7.
Служебные клавиши для фиксации регистров <CapsLock>, <Scroll-Lock>, <NumLock>.
8.
Разные вспомогательные клавиши <PrtSc>, <Break>, <Grey +>, <Grey ->.
Если клавиша первой, четвертой, а иногда и пятой группы оказывается нажатой дольше, чем 0,5 с,
начинает генерироваться последовательность ее основных кодов с частотой 10 раз в секунду (в IBM PC
XT), что имитирует серию очень быстрых нажатий этой клавиши.
Общее число клавиш в основной модификации клавиатуры - 83, в расширенной клавиатуре - до 101.
Количество различных сигналов от клавиатуры значительно превышает это число, так как:
1) при нажатии и освобождении клавиши в ЭВМ передаются разные кодовые комбинации: при нажатии
- порядковый номер нажатой клавиши на клавиатуре (ее скан-код), а при освобождении - скан-код,
увеличенный на 80h;
2) заглавные и строчные буквы первой группы клавиш (алфавитно-цифровых и знаковых) набираются
на разных регистрах. Оперативное переключение регистров производится клавишей <Shift>. Если при
нажатой (и удерживаемой в нажатом состоянии) клавише <Shift> “клюнуть” (от английского слова
“dick”) любую алфавитную клавишу, то в ЭВМ будет отправлен код заглавной буквы, соответствующий
нажатой клавише;
3) после однократного нажатия клавиши <CapsLock> (зажигается лампочка на клавиатуре рядом с
клавишей) изменяется порядок работы клавиши <Shift>: без нажатия на нее будут набираться заглавные
буквы, а при нажатии (совместном) - строчные. После повторного нажатия на <CapsLock> порядок
работы клавиши <Shift> восстанавливается, а лампочка гаснет. Такой режим (переключательный)
работы клавиши называется триггерным режимом, или flip-flop;
4) аналогично клавише <Shift> действуют <Alt> и <Ctrl> - при одновременном нажатии с ними любой
другой клавиши, в ЭВМ передается не scancode, а расширенный код (2 байта). Иногда таким же образом
используется клавиша <Esc>;
5) клавиша <NumLock> является триггерным переключателем дополнительной цифровой клавиатуры:
при негорящей лампочке она работает как клавиатура для управления курсором; при зажженной - как
цифровая;
6) для переключения регистров (или даже групп регистров) иногда используются другие комбинации
клавиш: например, программы - русификаторы клавиатуры переключают РУС-ЛАТ с помощью правой
клавиши <Shift> или при одновременном нажатии двух клавиш <Shift> (правой и левой) и т.д. Эти
комбинации клавиш обладают триггерным эффектом.
Сигналы, поступающие от клавиатуры, проходят трехуровневую обработку: на физическом, на
логическом и на функциональном уровнях.
Физический уровень имеет дело с сигналами, поступающими в вычислительную машину при нажатии и
отпускании клавиш.
На логическом уровне, реализуемом BIOS через прерывание 9, скан-код транслируется в специальный 2байтовый код. Младший байт для клавиш группы 1 содержит ASCII-код, соответствующий
изображенному на клавише знаку. Этот байт называют главным. Старший байт (вспомогательный)
содержит исходный скан-код нажатой клавиши.
На функциональном уровне отдельным клавишам программным путем приписываются определенные
функции. Такое “программирование” клавиш осуществляется с помощью драйвера-программы,
обслуживающей клавиатуру в операционной системе.
93
На IBM PC AT используется клавиатура с большим количеством клавиш. На этих машинах есть
возможность управлять некоторыми функциями клавиатуры, например, изменять время ожидания
автоповтора, частоту автоповтора, зажигать и гасить светодиоды на панели управления клавиатурой.
Устройство клавиатуры не является простым: в клавиатуре используется свой микропроцессор,
работающий по прошитой в ПЗУ программе. Контроллер клавиатуры постоянно опрашивает клавиши,
определяет, какие из них нажаты, проводит контроль на “дребезг” и выдает код нажатой или отпущен-_
ной клавиши в системный блок ЭВМ.
Выпускаемые разными производителями клавиатуры различаются также по расстоянию между
клавишами, числу специальных клавиш, способу переключения на цифровой регистр для быстрого
ввода числовых данных, углу наклона, форме и текстуре поверхности клавиш, усилию нажима и
величине хода клавиш, расположению часто используемых клавиш и др.
Принтер
Принтер - это внешнее устройство ЭВМ, предназначенное для вывода информации на твердый
носитель в символьном или графическом виде.
Классификация принтеров может быть проведена по следующим критериям: по способу вывода, по
принципу формирования изображения, по способу регистрации и по принципу управления процессом
печати.
Поспособу вывода изображения принтеры делятся на две группы: символьные и графические.
Символьные принтеры могут выводить информацию в виде отдельных символов по мере их
поступления в печатающее устройство (ПУ). При этом за один цикл печати формируется один знак
(посимвольные ПУ). В построчных ПУ вывод на печать осуществляется только после заполнения
буферного ЗУ, которое по емкости равно одной строке. Постраничные ПУ за один цикл печати
формируют и распечатывают целую страницу.
Графические печатающие устройства выводят информацию не целыми символами, а отдельными
точками или линиями. Количество точек на единицу длины определяет разрешающую способность
принтера, которая имеет разную величину в зависимости от направления: по горизонтали и по
вертикали. В принтерах этого типа каждая точка имеет свои координаты, которые являются адресом
этой точки.
Попринципу формирования выводимого изображения ПУ делятся на три вида: литерные, матричные и
координатные (векторные).
Литерные устройства выводят информацию в виде символов, каждый из которых является
графическим примитивом данного устройства. Литеры сформированы при изготовлении принтера,
нанесены на специальные рычаги или литерные колеса-шрифтоносители и при эксплуатации принтера
без замены шрифтоносителя не изменяются.
Матричные ПУ выводят информацию в виде символов, сформированных из отдельных точек,
объединенных в символьную матрицу. Печатающая головка матричного принтера имеет вертикальный
ряд иголок, каждая из которых может сделать оттиск самого маленького элемента изображения пиксела (точки). Печать символа происходит при перемещении головки по горизонтали. Если
подлежащий печати символ имеет размеры большие, чем может обеспечить печатающая головка, такой
символ печатается за несколько проходов, после каждого из которых осуществляется перемещение по
вертикали (относительно печатающей головки) носителя изображения (например, бумаги).
Одной из наиболее существенных характеристик матричного принтера является количество иголок, с
помощью которых формируется изображение. В печатающей головке принтера могут находиться 9,18
или 24 иголки, которые располагаются вертикально в 1-2 ряда. От количества иголок, их расположения
и размера зависят качество и скорость печати. Качество печати регулируется переключением режима:
Draft (черновая печать за один проход), LQ (чистовая печать), NLQ (получистовая печать) и определяет
скорость печати (количество знаков в секунду) и разрешающую способность (количество точек,
печатаемых на одном дюйме). Обычно матричные принтеры имеют диаметр иголки около 0.2 мм,
скорость печати от 180 до 400 символов в секунду (в режиме Draft), разрешение 360 х 360 точек на
дюйм.
Координатные ПУ - плоттеры, графопостроители - выводят информацию как текстовую, так и
графическую либо в виде отдельно адресуемых точек, либо сформированную из различных линий - так
называемое “штриховое” изображение. При решении экономических задач координатные ПУ
используются редко.
Поспособу регистрации изображения ПУ делятся на ударные и безударные.
94
ПУ ударного действия формируют изображение на бумаге, сжимая с помощью удара на короткий
промежуток времени рельефное изображение символа или его части, красящей ленты и бумаги. Иногда
краска наносится на поверхность литеры, красящая лента в этом случае отсутствует.
Существуют принтеры, использующие ударочувствительную бумагу, цвет которой изменяется за счет
механического воздействия на нее без дополнительного нанесения краски.
ПУ безударного действия характеризуются тем, что изображение на бумагу наносится через
промежуточный носитель, чувствительный к электрическому воздействию, электростатическому полю,
магнитному полю, и др. Обычно промежуточный носитель исполняется в виде барабана. Изображение
на него наносится лазерным лучом, с помощью магнитных головок и др. Затем изображение на
промежуточном носителе проявляется - на поверхность барабана наносится смесь сухого красителя с
порошком, “прилипающим” к зафиксированному на барабане изображению (например, если
изображение наносилось на барабан магнитным полем, в качестве порошка используются мелкие
металлические опилки). После этого к барабану “прикатывается” чистый лист бумаги, на который
переносится краситель с барабана. Лист с накатанным на него красителем подвергается термообработке
- нагревается до расплавления красителя, который в жидком виде проникает в поры бумаги и хорошо
закрепляется на ней. После расплавления красителя отдельные точки сливаются в единое целое,
поэтому качество изображения получается высоким. Разрешающая способность таких принтеров очень
высока. Например, лазерные принтеры Lazerjet III и Lazerjet IV обеспечивают 300-600 точек на дюйм.
Скорость печати у лазерных принтеров измеряется количеством страниц в минуту и составляет 4-12
стр/мин при монохромной печати и 2-6 стр/мин при цветной печати.
К ПУ безударного действия также относятся термические принтеры, использующие
термочувствительную бумагу, которая изменяет свой цвет под действием тепловых лучей, и струйные
принтеры, у которых жидкий краситель (чернила) находится в печатающей головке. Головка имеет
отверстия, через которые краситель не может вылиться из-за сил поверхностного натяжения. Внутри
головки находится терморезистор, который при подаче на него импульса тока разогревает краситель,
увеличивая его испарение. Пары красителя проникают через отверстие в головке и попадают на бумагу
в виде капли. Благодаря тому что головка может работать с несколькими красителями, выпускаются и
цветные струйные принтеры. Длительностью нагрева терморезистора можно регулировать количество
выбрасываемых чернил, а следовательно, размеры и яркость точки. Разрешающая способность
струйных принтеров составляет от 360 до 720 точек на дюйм. Скорость печати 4-10 страниц в минуту.
Печатающая головка струйного принтера содержит от 48 до 416 отверстий (сопел).
Несмотря на большое разнообразие типов принтеров, различия принципов управления печатью
касаются в основном способов знакогенерации. Матричный принтер, а также большинство принтеров
безударного действия формируют изображение из отдельных точек, образующих символьную матрицу.
Обычно кодовые комбинации, характеризующие форму символов на матрице, образует матричный
шрифт (фонт), который заносится в запоминающее устройство знакогенератора.
Каждый шрифт (фонт) представляет собой комплект букв, цифр и специальных символов, оформленных
в соответствии с едиными требованиями.
Альтернативой матричной является векторная знакогенерация. Векторные шрифты строятся на базе
математического описания формы символа. Для векторной знакогенерации характерна легкость
изменения формы, размеров, наклона шрифта, поэтому они называются свободно масштабируемыми
шрифтами. Генерация шрифтов и управление процессом вывода изображения производятся для
векторных шрифтов на специальном языке (PCL, PostScript).
При использовании векторных шрифтов математическое описание формы каждого символа ;с учетом
его размеров и стиля преобразуется перед печатью в матричную форму в соответствии с конкретными
"размерами матрицы принтера. Поэтому форма шрифта, выводимого на различные устройства, остается
примерно постоянной, не зависящей от расстояний между точками и размеров символов. Для такого
преобразования в состав печатающих устройств включаются вычислительные устройства - ускорители,
в качестве которых нашли применение матричные процессоры, транспьютеры. Это накладывает
серьезный отпечаток на архитектуру системы управления принтером.
Сканер
Сканер - это внешнее устройство ПЭВМ, позволяющее вводить двухмерное (т.е. плоское) изображение.
Конструкция сканеров в значительной степени определяется типом вводимого изображения: штриховое
или полутоновое, монохромное или цветное.
95
Штриховое изображение (рисунок, текст) состоит из темных линий на светлом фоне. По яркости
элементы рисунка могут быть либо темными, либо светлыми - промежуточных значений в штриховом
рисунке нет.
Полутоновое изображение (рисунок, фотография) состоит из элементов, различающихся яркостью. Для
монохромных изображений степень светлоты элементов изображения оценивается интенсивностью
оттенков серого. Технические средства способны различать ограниченное количество оттенков серого,
поэтому аналоговая величина - степень светлоты элемента изображения - подвергается дискретизации и
оценивается числом по дискретной шкале серого. (Шкала серого представляет собой набор полей с
оттенками серого, с одной стороны которой находится белый цвет, а с другой - черный.)
; Для точности передачи изображения существенное значение имеет разрешающая способность
считывающей или воспроизводящей аппаратуры, которая оценивается количеством наименьших
элементов изображения (пиксел или точек) на единицу длины (сантиметр или дюйм). Газетные
фотографии выполняются с разрешающей способностью 65 точек на дюйм, фотографии в журналах 150 точек на дюйм. Матричный принтер может обеспечить разрешающую способность до 300 точек на
дюйм, струйные и лазерные принтеры - до 1000. Но точки в принтерах и в полиграфических материалах
неодинаковы: в полиграфических материалах расстояние между центрами точек стандартное,
интенсивность всех темных точек одинакова, а размеры точек различаются - впечатление серого
создается за счет измененияих размеров. Поскольку расстояние между точками не меняется, увеличение
размеров темной точки приводит к уменьшению светлого промежутка и смещению оттенка серого в
сторону более темного.
Матричные и лазерные принтеры изменить размеры точек не могут. Поэтому при формировании
полутонового изображения пикселы группируются, образуя более крупные элементы изображения ПЭЛы (рис.7.1).
На рис.7.1, а изображен 100%-ный черный ПЭЛ, на рис.7.1, б и 7.1, в -ПЭЛы, соответствующие 50%ному уровню серого тона.
Рис. 7.1. Укрупнение элементов изображения: формирование ПЭЛов
Если разрешающую способность лазерного принтера измерять не количеством пиксел на дюйм, а
количеством ПЭЛов на дюйм, то она приближается к разрешающей способности, обеспечиваемой в
полиграфических изданиях журнального типа.
Использование ПЭЛов в принтерах позволяет также устранить ступенчатость формы матричных
изображений наклонных линий.
При считывании и отображении полутоновых изображений существенное место занимает вопрос: какое
количество уровней серого должна обеспечивать (воспринимать или отображать) аппаратура?
Глаз человека способен различать около 200 оттенков серого. Поэтому требовать от аппаратуры
большего разрешения не следует. Для оцифровки такого количества оттенков необходимо 8 бит на
каждый ПЭЛ. Для хранения оцифрованного изображения размером 9 х 12см при разрешающей
способности 300 ПЭЛ на дюйм необходимо около 1 Мбайт памяти.
Принцип работы сканера заключается в том, что поверхность изображения освещается
перемещающимся лучом света, а светочувствительный прибор (фотоэлемент, фотодиод или
фотоэлектронный умножитель) воспринимает отраженный свет, интенсивность которого зависит от
яркости освещенного участка изображения, и преобразовывает его в электрический сигнал. Полученный
электрический сигнал преобразовывается из аналоговой в цифровую форму и в виде цифровой
характеристики яркости точки поступает в ЭВМ.
Такой сканер считывает изображение в графическом виде; полученное изображение может быть
сохранено в памяти ЭВМ, обработано графическим редактором или выведено на дисплей или принтер.
Если был введен текст, то при отображении на дисплее или принтере его можно прочитать.
Использовать же текстовые редакторы для работы (редактирования, форматирования) с таким
документом не представляется возможным.
96
Перед обработкой просканированного изображения текстовым редактором необходимо графическое
изображение текста преобразовать в код ASCH. Такое преобразование осуществляется программными
или аппаратурными средствами распознавания образов.
Луч света, с помощью которого сканируется изображение, должен последовательно, элемент за
элементом осветить все изображение. В зависимости оттого, каким образом осуществляется
последовательное освещение элементов изображения, различаются оптические читающие устройства
со считыванием изображений линейкой и матрицей фотоэлементов, со спиральной барабанной
разверткой; со считыванием методом “бегущего луча”, “слежением за контуром”.
Считывание линейкой фотоэлементов заключается в том, что изображение освещается полоской света,
а отраженный свет падает на фотоэлементы, смонтированные в виде линейки. Каждый фотоэлемент
фиксирует попавшую на него часть светового потока. Электрический сигнал считывается
последовательно со всех элементов линейки. После считывания полоска света (вместе со считывающей
головкой) перемещается на следующую часть документа (или полоска света неподвижна, а
перемещается документ относительно считывающей головки).
Считывание матрицей фотоэлементов производится аналогично, но фотоэлементы смонтированы в
виде матрицы (например, размером со считываемый документ). Освещение документа в этом случае
производится всего целиком, а не отдельной полоски. Перемещения документа относительно
считывающей головки не требуется.
Если фотоэлементы выполняются в виде микросхемы, то разрешающая способность такого считывателя
может быть достаточно высокой. Если же они выполнены в виде отдельных конструктивных элементов
и собираются в линейку или матрицу при сборке устройства, то из-за больших физических размеров
компонентов считыватель обладает невысокой разрешающей способностью. Повысить разрешающую
способность линейки или матрицы можно, проектируя на нее считываемое изображение с увеличением.
Оптические считыватели со спиральной барабанной разверткой состоят из барабана с закрепленным
на нем носителем считываемого изображения, зеркала, источника света, фотоэлемента и механического
привода для вращения барабана и перемещения зеркала (рис.7.2).
Рис. 7.2. Схема оптического считывателя со спиральной барабанной разверткой
Зеркало служит для отклонения на 90° тонкого луча света. Отражаясь от зеркала, луч падает на
образующую барабана и освещает точку на его поверхности (а к поверхности барабана прикреплен
носитель считываемого изображения).
Вращение барабана и перемещение зеркала вдоль его образующей происходят одновременно, благодаря
чему луч по спирали “разворачивает” изображение, находящееся на поверхности барабана.
Отраженный от барабана свет воспринимается фотоэлементом.
Оптические считыватели методом “бегущего луча” построены по принципу растровой развертки. В
качестве луча света может использоваться либо свет от экрана электронно-лучевой трубки (ЭЛТ), либо
лазерный луч, отклоняемый системой зеркал.
Схема считывания изображений методом “бегущего луча” с использованием ЭЛТ приведена на рис.7.3.
97
В состав считывателя входят: генератор развертки, ЭЛТ, экран со считываемым изображением,
объектив, фотоэлемент и блок кодирования изображения с АЦП.
Генератор развертки вырабатывает напряжение, перемещающее электронный луч на экране ЭЛТ.
Нанесенный на экран люминофор является перемещающимся источником света (для этого ЭЛТ должна
иметь люминофор с очень коротким послесвечением): электронный луч рисует на экране матрицу
точек, которая проектируется на экран со считываемым изображением. Каждый пиксель экрана
работает как импульсный источник света: при вспыхивании он освещает соответствующую точку
изображения, отраженный свет от которой фиксируется фотоэлементом и преобразовывается в
цифровой код изображения.
Считывание “слежение за контуром” производится аналогично (рис. 7.4), но генератор развертки
рисует на экране матрицу или растр только до того момента, пока на изображении не встретилась линия.
После этого блок сканирования переключает генератор развертки в режим слежения за контуром и
запоминает направление перемещения луча - эта информация оформляется как векторное описание
считанного изображения.
Рис. 7.3. Схема оптического считывателя методом “бегущего луча”
Все рассмотренные системы считывания изображения позволяют получить графическое (но не
символьное) представление информации.
Но аппаратурные средства могут преобразовывать считанное изображение в символьный вид. Для этого
используются устройства считывания с распознаванием: сравнением с эталонами, методом зондов и
нейронные системы типа “перцептрон”.
Принцип действия считывателя с распознаванием методом эталонов виден из структурной схемы
(рис.7.5).
Блок считывания (в качестве которого может использоваться любой рассмотренный ранее считыватель)
передает цифровое описание считанного изображения (или его фрагмента) в сравнивающее устройство,
на другой вход которого поступают описания известных объектов из памяти с эталонами. При
совпадении эталона со считанным изображением вырабатывается сигнал распознавания, и на выход
считывателя выдается код распознанного элемента (если распознается текст - то код ASCII).
98
Рис. 7.4. Схема оптического считывателя методом “слежения за контуром”
Рис.7.5 Схема считывателя с распознаванием сравнением с эталонами
Метод зондов заключается в особом построении линеек (или матриц) фотоэлементов. Например, зонд
может состоять из горизонтальных, вертикальных и наклонных линеек фотоэлементов (рис.7.6).
99
Рис.7.6. Принцип считывания методом зондов
На такой зонд проецируется распознаваемый символ. По комбинации затененных линеек опознается
символ, и на выход распознающей системы поступает код распознанного символа.
Распознающее устройство типа “перцептрон” имеет матрицу фотоэлементов (Аi), суммирующие
блоки (Sj ) и решающие элементы (К1) (рис.7.7).
Рис.7.7. Распознающее устройство типа “перцептрон”
Матрица фотоэлементов Аi связана со всеми суммирующими элементами Sj, которые, в свою очередь,
связаны с решающими элементами К1. Вначале (пока перцептрон не обучен) веса связей элементов Аi с
Sj одинаковы.
В процессе обучения на фотоэлементы проецируется какое-либо изображение (взятое из обучающей
выборки). Веса связей Аi с Sj изменяются (например, случайным образом) до тех пор, пока при
определенном сочетании сигналов А, на выходе не образуется код распознаваемого изображения. После
этого из обучающей выборки берется следующее изображение и проецируется на матрицу
фотоэлементов, после чего веса связей Аi с Sj корректируются до получения на выходе К1 правильного
кода распознаваемого изображения.
После обучения перцептрона он способен распознавать образы, поступившие в виде изображения на
матрицу фотоэлементов, выдавая на выходе их коды.
Перцептрон относится к параллельным (нейронным) системам, так как в нем используется принцип
распознавания, реализованный в нейронных сетях живых организмов.
Суммирующие элементы перцептрона представляют собой аналоговые сумматоры, выдающие на
выходе сумму сигналов, поступивших на входы с учетом веса каждого входа (того самого веса, который
изменялся в процессе обучения).
Решающие элементы могут быть построены по принципу выделения наибольшего или наименьшего из
поступивших на них сигналов, но могут быть построены и на основе более сложных алгоритмов.
Введение в схему перцептрона обратных связей (с выхода на вход) позволяет реализовать в них
самообучение.
Учитывая разницу между пикселом и ПЭЛом, а также то, что современные сканеры могут иметь
разрешающую способность, превышающую 1000 пиксел на дюйм, удается программным путем
100
повысить чувствительность сканера в определении яркостных характеристик считанных изображений.
Эта процедура называется фильтрованием и приводит к получению смазанных изображений, так как
при увеличении количества уровней серого снижается контрастность.
Конструктивно сканеры выпускаются в двух вариантах: портативные и настольные.
Портативные сканеры представляют собой устройство, внешне похожее на мышь, которое
перемещается по вводимому в ЭВМ изображению. Обычно сканеры имеют небольшие размеры
(ширина 2,5 дюйма = 6,4 см). Поэтому большие изображения (как, например, лист текста формата A4)
приходится считывать за несколько проходов. Но в поставляемом вместе со сканером программном
обеспечении предусмотрена функция “склейки” изображений, которая позволяет соединить считанные
за разные проходы части в единое целое. Разрешающая способность таких сканеров редко превышает
400 пиксел на дюйм, каждый пиксел сопровождается четырехбитовым кодом уровня серого, что
соответствует 16 оттенкам шкалы яркости. Считанное таким сканером изображение можно распечатать
без преобразования на цветном принтере. Для печати же на черно-белом принтере его нужно
преобразовать из полутонового в" штриховое, шкала яркости которого имеет только два уровня - белое
и черное.
Настольные сканеры выпускаются трех типов:
sheet-fed- строчный сканер, в котором носитель изображения пропускается через неподвижную
считывающую головку (считывать можно только листовой материал, книги и журналы - нельзя);
flat-bed - страничный сканер, в котором считываемое изображение неподвижно;
over-head- сканер-планшет проекторного типа, в котором считываемое изображение помещается на
экране (изображением вверх), считывающий блок расположен вверху устройства.
Сравнительный анализ сканеров различных фирм, проводимый журналом PC Magazine, неоднократно
отмечал высокое качество сканеров фирмы Hewlet Packard, представителями которых являются чернобелый сканер Scan Jet IIP и цветной Scan Jet IIiсх. Они обеспечивают оптическое разрешение 300—400
точек на дюйм, способны воспринять 256 оттенков серого. Сканер читает страницу формата A4 за 10 с.
Но фирменное программное обеспечение осуществляет распознавание только латинских символов.
Удовлетворительная степень распознавания символов достигается только для текстов, отпечатанных на
пишущей машинке или шрифтом Courier на лазерном или струйном принтере.
Анимационные устройства ввода-вывода
Необходимость использования специализированных технических средств для компьютерной графики и
анимации (т.е. воспроизведения движущихся изображений) объясняется высокими требованиями к
системам отображения информации, к качеству воспроизводимого изображения. При воспроизведении
статических изображений повышение качества связано с увеличением разрешающей способности
экрана и улучшением цветопередачи, что, в свою очередь, требует значительного увеличения
видеопамяти и емкости внешних ЗУ. Необходимость работы в реальном масштабе времени при
демонстрации фильмов (т.е. динамических изображений) предъявляет высокие требования к
производительности ЭВМ, причем не только производительности центрального процессора, но и
скорости обмена с внешними устройствами. Дополнительные трудности возникают и вследствие того,
что в качестве внешних устройств приходится использовать видео- и аудиоаппаратуру, в которой
реализованы иные принципы представления информации: информацию приходится перекодировать, что
также требует дополнительных временных, аппаратурных и программных ресурсов. Кроме того,
редактирование видеоинформации, перекодирование ее, создание видеоэффектов часто связаны с
вычислительной обработкой, а следовательно, с дополнительными затратами времени.
Таким образом, при использовании ЭВМ для создания и демонстрации компьютерной графики и
анимации требуются: высокая производительность всего технического комплекса, специализированные
преобразователи информации, технические средства для высококачественного отображения, вводавывода и хранения больших объемов информации.
Производительность технического комплекса определяется, с одной стороны, производительностью его
составных частей, а с другой - согласованностью составных частей, отсутствием простоев их из-за
ожидания друг друга; совмещением во времени различных операций.
Технический комплекс - микропроцессорный комплект; интерфейс ввода-вывода; устройства вводавывода - представляет собой последовательно соединенную систему с параллельными ветвями со
стороны УВВ. Производительность такой системы зависит от быстродействия микропроцессорного
комплекта, пропускной способности интерфейса ввода-вывода, производительности и способа
подключения УВВ, наличия специальных “ускорителей” в различных устройствах, а также от принятой
в системе технологии обмена информацией между отдельными частями технического комплекса (при
101
этом нужно учитывать, что одним из элементов этого комплекса может являться человек-оператор,
воспринимающий выводимую информацию и обладающий определенными параметрами, например,
такими, как время реакции - величиной, не сопоставимой с временем выполнения операций электронной
частью комплекса, или время восприятия информации, инерционность зрения, к которым приходится
подстраивать программно-технические комплексы.
Поскольку высококачественное изображение требует очень больших объемов памяти для хранения
каждого кадра изображения, для воспроизведения фильмов необходимо выводить на экран не менее 24
кадров в секунду (чтобы устранить мелькание изображения), а человеку необходимо для восприятия
изображения не менее 30 с., для хранения фильмов реальной длительности в цифровом виде нужны
запоминающие устройства очень большого объема. Это удорожает такие системы и приводит к поиску
способов сжатия информации, для чего нашли широкое распространение как программные, так и
аппаратурные преобразователи.
Обилие разновидностей обрабатываемой в системах компьютерной графики и анимации информации
приводит к необходимости использования различных устройств ввода: клавиатур, систем
координатного ввода, оптических читающих устройств, устройств ввода акустической информации,
анимационных устройств ввода и др. и соответствующих устройств вывода информации: дисплеев,
графических экранных станций синтезаторов .речи, акустических систем, анимационных устройств
вывода и др.
В состав анимационных устройств ввода-вывода входят видеокамера, видеомагнитофон и телевизор, а
также преобразователи видеосигналов.
В основе цветного телевидения лежат особенности человеческого зрения:
глаз имеет ограниченную разрешающую способность - две точки, угловое расстояние между которыми
меньше одной минуты, воспринимаются глазом слитно;
цветовое восприятие человека субъективно: слабый фиолетовый сигнал воспринимается как красный;
сильный (яркий) фиолетовый имеет серый оттенок.
Три цветные элементарные точки на экране образуют триаду. Для того чтобы триада воспринималась
как одна точка, угловое расстояние между отдельными точками должно быть меньше одной минуты.
При расстоянии от глаза до экрана 1 м линейные размеры точек должны составлять доли миллиметра.
При диагонали экрана 61 см общее число триад на экране должно быть около 500 000 (это эквивалентно
1000 пиксел при 500 пикселных строках).
Стандарт телевидения - 525 строк на экране. При чересстрочной развертке частота смены полукадров 50 герц. Для того чтобы видеосигнал мог перенести каждый элемент кадра (триаду), он должен иметь
частоту (f):
f=N/2T,
где N - число элементов изображения (триад) на экране; Т - время передачи одного кадра (1/25 с).
Тогда
f=500000/(2/25)=6250000=6,25 МГц.
Это достаточно большая частота, но для передачи видеосигнала от телецентра к телевизионному
приемнику необходима радиочастота, примерно в 10 раз большая. Поэтому диапазон частот
телевещания охватывает частоты от 48,5 до 230 МГц.
Несущая частота используется как энергия для переноса информации. Когда на нее накладывается
видеосигнал, образуются модулированные радиочастотные колебания. Сам процесс наложения
видеосигнала на несущую частоту называется модуляцией.
Полный телевизионный сигнал должен' нести информацию о яркости, цвете изображения и звуке. Для
получения устойчивого изображения на экране прорисовка каждого кадра на передающей камере в
телецентре и в телевизионном приемнике должна начинаться в одно и то же время, т.е. синхронно.
Поэтому полный телевизионный сигнал включает в себя и синхроимпульсы кадровой и строчной
развертки.
Видеокамера представляет собой устройство, преобразующее визуальное изображение в аналоговые
электрические сигналы.
Основным блоком, воспринимающим изображение в видеокамере, является электронно-лучевой
прибор, который по своему устройству напоминает электронно-лучевую трубку: в нем также имеется
катод, анод, сетка, отклоняющая и фокусирующая системы. Электронный луч постоянно перемещается,
формируя растровую развертку на специальном экране - мишени. Мишень выполнена из
диэлектрической пластинки (например, слюды), с одной стороны которой наклеена металлическая
фольга, а с другой, - напылен серебряно-цезиевый состав. Напыление производится так, что серебряно102
цезиевый состав образует отдельные, электрически не связанные между собой пятна очень маленьких
размеров (примерно 1000 пятен в строке и 625 строк на пластинке). Каждое такое пятно образует
пиксел, т.е. наименьший элемент изображения.
В отличие от ЭЛТ мишень установлена под углом 45° к падающему на нее потоку электронов.
Поток электронов формирует растр на поверхности мишени, покрытой серебряно-цезиевым составом.
На ту же поверхность через оптическую систему проецируется изображение.
Пятна серебряно-цезиевого состава с одной стороны мишени и фольга -с противоположной ее стороны
образуют электрические конденсаторы. При отсутствии изображения (вся мишень затемнена)
электронный луч заряжает эти конденсаторы. Когда на мишень попадает изображение, часть серебряноцезиевых пятен засвечивается. Свет имеет электромагнитную природу: попадая на серебряно-цезиевые
вкрапления, он способствует уходу из них электронов, вследствие чего соответствующие конденсаторы
разряжаются, причем сила разряда пропорциональна яркости света. При повторном сканировании
мишени электронный луч дозаряжает разряженные конденсаторы, в результате чего на
противоположной обкладке конденсатора фиксируется возникновение электрического тока, величина
которого пропорциональна степени разряда элементарного конденсатора (которая, в свою очередь,
зависит от яркости изображения, попавшего на этот пиксел). Сигнал, снятый с фольги на мишени, после
усиления является носителем изображения и может быть записан на магнитный носитель или передан
на приемник телевизионного изображения.
Если в таком приборе производится однократное считывание информации, которое после оцифровки
запоминается, то прибор является видеофотокамерой.
Видеомагнитофон - это устройство, воспринимающее высокочастотный телевизионный сигнал для
записи его на магнитную ленту. После окончания записи телевизионный сигнал (хранящийся на
видеокассете) может быть считан с магнитной ленты и воспроизведен на телевизионном устройстве.
Таким образом,видеомагнитофон - это запоминающее устройство, специализирующееся на приеме,
записи и воспроизведении динамической видеоинформации.
Структурная схема видеомагнитофона приведена на рис.7.8.
Рис. 7.8. Структурная схема видеомагнитофона
Для приема высокочастотного телевизионного сигнала служит тюнер -приемник телевизионных
сигналов.
Видеомагнитофон - устройство сложное и дорогое. Поэтому среди бытовой телевизионной аппаратуры
появились специализированные устройства, выполняющие отдельные функции: плеер- устройство,
позволяющее считывать информацию с видеокассеты для воспроизведения на телевизоре; пишущий
плеер - устройство, позволяющее записывать видеоизображение с телевизора (который выполняет
функцию тюнера) на видеокассету и считывать информацию с видеокассеты для воспроизведения ее на
телевизоре.
При записи на магнитную ленту осуществляется преобразование приходящего видеосигнала из
временной формы в пространственную. Частотные характеристики сигнала при таком преобразовании
должны оставаться прежними. При ширине рабочего зазора магнитной головки 0,4 микрона для записи
видеосигнала с верхней граничной частотой 6 МГц скорость движения ленты относительно головки
должна составлять 2,4 м/с. Видеокассеты с 250 м ленты при такой скорости хватит лишь на несколько
минут.
Для уплотнения информации на ленте и для более полного использования ее поверхности применяются
вращающиеся магнитные головки. Принцип действия вращающихся магнитных головок приведен на
рис.7.9, а.
103
Рис. 7.9. Принцип действия вращающихся магнитных головок
На диаметрально противоположных сторонах вращающегося барабана располагаются две магнитные
головки, работающие по очереди. Барабан имеет направление вращения под углом 6° к магнитной
ленте (рис.7.9, б). Благодаря этому видеодорожки на магнитной ленте наносятся под углом (штрихами)
(рис. 7.9, в). Каждый штрих соответствует полукадру экрана. За один полный оборот барабана
записывается весь кадр. Вращение барабана синхронизировано с принимаемым сигналом. Такая система
позволяет сократить линейную скорость движения ленты до 2,34 см/с. Барабан вращается со скоростью
1500 об/мин. Скорость ленты относительно головок на барабане составляет 5 м/с.
Помимо приема, записи и считывания видеоинформации, видеомагнитофоны могут выполнять
дополнительные функции, что расширяет возможности их использования и позволяет реализовать
различные видеоэффекты.
К дополнительным функциям относятся:
1. Регулировка скорости и направления протяжки магнитной ленты:

стандартная скорость - 2,34 см/с;

половинная скорость (long play) -1,17 см/с (позволяет при записи увеличить емкость кассеты в
два раза (для кассеты Е-240 - до 8 ч), при воспроизведении реализовать эффект slow motion замедленного движения);

ускоренное воспроизведение (fast motion), которое может быть реализовано за счет записи на
половинной скорости, а воспроизведения - на стандартной;

стоп-кадр, который реализуется за счет остановки двигателя перемотки ленты: вращающиеся
магнитные головки многократно считывают один и тот же кадр (этот режим называется
суперпаузой);

обратное воспроизведение (reverse play).
2. Цифровые эффекты: в видеомагнитофоне может использоваться микропроцессорное управление,
производиться оцифровка видеосигнала, использоваться цифровая память для хранения в ней
нескольких кадров. Это позволяет реализовать следующие эффекты:

картинка в картинке: на экране телевизора, кроме основного, выводится один или несколько
фоновых кадров. В фоновом кадре могут находиться меню для управления видеомагнитофоном
или телевизором или сжатые примерно в 9 раз кадры из других телевизионных программ.
Фоновый кадр, называемый кадром врезки, может быть выведен в любой части экрана. Есть
возможность быстро поменять местами фоновый и основной кадры (эта функция характерна
только для видеомагнитофона и не может быть реализована в плеерах);
104

воспроизведение стоп-кадров из цифровой видеопамяти (функция удобна для изучения
движения, например, в спорте). Экран при этом может быть разбит на несколько частей, в
каждой из которых демонстрируется один из последовательных кадров;

экстраэффекты: мозаика (изменение числа элементов изображения на экране, например
укрупнение пиксел); соляризация (ограничение числа градаций уровня серого);

цифровое шумоподавление: сопоставляются кадры, записанные на разных страницах
цифровой памяти: полезные видеосигналы последовательных кадров коррелируют между собой,
тогда как помехи - нет. Это позволяет очищать изображение от помех.
3. Наложение звука (audio dubbing) позволяет дублировать видеоинформацию, накладывая на нее
дополнительное звуковое сопровождение.
4. Поиск по индексу (index search) позволяет наносить на ленту специальные метки и легко находить их
в режиме поиска или перемотки.
5. Таймер позволяет программировать видеомагнитофон на запись телепередачи в определенный
момент времени (программируются момент начала записи и ее продолжительность).
6. Редактирование вставкой (insert edit) позволяет сделать вставку в ранее записанный сюжет без
образования шумов в местах стыков.
В телевидении используется только динамическая видеоинформация. Поскольку зрение человека
обладает определенной инерционностью, передаваемое изображение не обязательно должно быть
непрерывным, оно может состоять из отдельных кадров, сменяющих друг друга не реже 16 раз в 1 с
(телевизионный стандарт - 25 кадров/с). Воспринимается такое изображение как непрерывное. Но
поскольку телевизионное изображение для долгого хранения не предназначено, в телевизорах
отсутствует видеопамять. Принимаемый сигнал направляется непосредственно на электронно-лучевую
трубку, высвечивая необходимые точки экрана.
На передаваемый по радиочастотному каналу телевизионный сигнал действуют гораздо более сильные
помехи, чем в видеотракте ПЭВМ. Поэтому при кодировании телевизионного сигнала применяются
методы, отличные от методов кодирования сигнала изображения в ЭВМ.
Для пересылки цветного изображения необходимо передавать три сигнала: R (red); G (green); B (blue).
Они определяют яркость и цвет изображения. Но зрение человека более чувствительно к яркости, чем к
цвету, а мелкие детали изображения по цвету почти не различаются.
Яркость (Y) образуется из яркостей трех основных цветов, т.е.
Y=R+G+B.
Незначительное искажение хотя бы одного из сигналов - R, G или В -приведет к изменению яркости, к
которой глаз особенно чувствителен. А проверить, был ли искажен принятый сигнал при передаче
основных цветов, невозможно.
В телевидении с целью совместимости черно-белого и цветного изображений вместо сигналов R, G и В
передаются другие три сигнала: Y - яркость, и цветоразностные сигналы - синий (В - Y) и красный (R Y). Причем эти сигналы передаются с помощью различных видов модуляции: Y - с помощью
амплитудной модуляции, цветоразностные сигналы - с помощью частотной модуляции.
В зависимости от того, как именно передаются цветоразностные сигналы, различаются две системы
цветного телевидения - СЕКАМ (советско-французская) и ПАЛ (германская).
В системе СЕКАМ цветоразностные сигналы передаются через строку поочередно, на разных несущих
частотах. Причем полная информация о цвете передается в двух строках, в результате чего каждая пара
строк оказывается одноцветной (но из-за чересстрочной развертки одноцветные строки не находятся
рядом).
В системе ПАЛ цветоразностные сигналы передаются одновременно на одной поднесущей частоте со
сдвигом фаз на 90°.
Преобразование телевизионных сигналов в компьютерные заключается в выделении сигналов Y, B-Y,
R-Y и синхроимпульсов, их очистке от сигналов звукового сопровождения и вычислении по ним
сигналов R, G, В и адресов пиксел на экране. Преобразование осуществляется видеоплатами (Video
Biaster, Video Recorder, Video Converter), работающими с адаптером VGA или SVGA (адаптер дисплея
должен иметь дополнительный внутренний разъем, к которому видеоплата подключается с помощью
ленточного кабеля). Иногда видеоплаты (как, например, Tuner Biaster) имеют антенный вход, что
позволяет обходиться без телевизионной аппаратуры.
Фирма Micro Computer AG выпускает полный набор алпаратурно-программных средств для обработки
телевизионных изображений, позволяющих записывать видеоизображение с ЭВМ на видеомагнитофон
105
(и считывать в память ЭВМ видеозаписи с магнитофона), воспроизводить изображение из ЭВМ на
телевизоре. Видеоконвертер Micro Movie позволяет оцифровывать телевизионные изображения,
сохранять их в ЗУ ЭВМ для обработки графическим редактором, использования в публикациях, вставки
их после редактирования и т.д.
Аппаратный набор видеоконвертера состоит из платы адаптера дисплея для ШМ PC, которая
объединяет возможности адаптера SVGA и адаптера Frame Grubber, оцифровывающего
видеоизображение в реальном масштабе времени.
Устройства ввода-вывода звуковых сигналов
Системы мультимедиа начинались со звука, который воспринимается независимо от изображения, не
наносит ущерба восприятию выводимой на экран информации, а при хорошем качестве даже дополняет
ее и повышает восприимчивость пользователя, оказывает сильное психологическое воздействие на
оператора, создает настроение. Звуковое сопровождение служит дополнительным способом передачи
информации об основном и фоновом процессах, например, воспроизведение речи дает представление об
индивидуальности говорящего, помогает разобраться в произношении слов;
сопровождение фонового процесса звуковыми эффектами способствует возникновению образного
представления об особенностях их протекания, информирует пользователя о наступлении ожидаемого
события, привлекает к себе внимание и др. (так, о появлении сообщения в электронной почте может
информировать звук падающей газеты или защелкивание крышки почтового ящика; перекачка
информации может сопровождаться журчанием ручейка,...).
Но звуковая (аудио или акустическая) информация имеет и самостоятельное значение. Можно выделить
три направления в использовании звуковых возможностей систем мультимедиа:

бытовые системы мультимедиа используют звуковые возможности ПЭВМ в обучающих,
развивающих программах (обучение чтению, произношению, музыке); в энциклопедиях и
справочниках (бытовых -медицина, расписания движения автобусов, поездов, самолетов, прогноз
погоды, репертуар театров,...). В бытовых системах использование таких музыкальных
редакторов, как Skream Tracker, позволяет перейти на качественно новый уровень использования
аудиосистем - от пассивного восприятия музыки к активной работе с музыкальными
произведениями без музыкального образования; к реализации цветомузыки на экране ПЭВМ;

мультимедиа бизнес-приложения используют звук в следующих целях: тренинг
(профессиональные обучающие системы: иностранному языку, распознаванию голосов птиц,
распознаванию шумов в сердце и других органах, при обучении радиотелеграфистов,...);
презентации (т.е. демонстрация товара с помощью ЭВМ); проведение озвученных
видеотелеконференций; голосовая почта; автоматическое стенографирование (восприятие речи и
перевод ее в текстовый вид); использование голоса пользователя в целях защиты (электронные
замки, доступ к программному обеспечению и информации в ЭВМ, к банковским сейфам и др.);

профессиональные мультимедиа системы - это средства производства озвученных
видеофильмов, домашние музыкальные студии (музыкальные редакторы типа Skream Tracker,
Whacker Tracker и др. позволяют наиграть мелодию, выполнить программную ее обработку
(изменить высоту тона, длительность звучания, тип инструмента, скорость нажатия-отпускания
клавиши, синтезировать звуковые эффекты,...), воспроизвести или записать на стандартную
звукозаписывающую аппаратуру,...).
7.6.1. Физические основы генерации компьютерного звука
Звук - это механические колебания (вибрация) упругой среды (газ, жидкость, твердое тело).
Чистый звуковой тон представляет собой звуковую волну, подчиняющуюся синусоидальному закону:
у =am* sin(wt) = аm*sin(2пft),
где am - максимальная амплитуда синусоиды; w - частота (w=2пf); f- количество колебаний упругой
среды в секунду (f=1\T); Т-период; t - время (параметрическая переменная).
Звук характеризуется частотой (f), обычно измеряемой в герцах, т.е. количеством колебаний в секунду,
и амплитудой (у). Амплитуда звуковых колебаний определяет громкость звука.
Для монотонного звука (меандр) характерно постоянство амплитуды во времени.
Затухающие звуковые колебания характеризуются уменьшением амплитуды с течением времени.
Человек воспринимает механические колебания частотой 20 Гц - 20 КГц (дети - до 30 КГц) как
звуковые. Колебания с частотой менее 20 Гц называются инфразвуком, колебания с частотой более 20
КГц -ультразвуком. Для передачи разборчивой речи достаточен диапазон частот от 300 до 3000 Гц.
106
Если несколько чистых синусоидальных колебаний смешать, то вид колебания изменится - колебания
станут несинусоидальными.
Особый случай, когда смешиваются не любые синусоидальные колебания, а строго определенные,
частота которых отличается в два раза (гармоники).
Основная гармоника имеет частоту/, и амплитуду а1; вторая гармоника -частоту f2 и амплитуду а2;
третья гармоника соответственно f3 и a3.
Причем f1<f2<f3, а1>а2>а3,
При бесконечном количестве таких гармоник образуется периодический сигнал, состоящий из
прямоугольных импульсов (рис.7.10).
Рис. 7.10. Последовательность прямоугольных импульсов:
Т - длительность периода; tи длительность импульса; tп - длительность паузы между импульсами; Q скважность импульсов, Q=Tп/tи
На слух всякое отклонение от синусоиды приводит к изменению звучания. В IBM PC источником
звуковых колебаний является динамик (PC Speaker), воспроизводящий частоты приблизительно от 2 до
8 КГц. Для генерации звука в PC Speaker используются прямоугольные импульсы.
Синусоидальные сигналы в ЭВМ можно получить только с помощью специальных устройств аудиоплат.
Без таких устройств хорошего качества звучания добиться не удается. Для улучшения качества звучания
необходимо к ЭВМ подключить внешнюю аппаратуру. При этом следует преобразовать дискретные
сигналы ЭВМ в аналоговые сигналы аудиоаппаратуры. Такое преобразование можно выполнить с
помощью схемы цифро-аналогового преобразования (ЦАП), например, реализованной на аналоговом
сумматоре (рис.7.11), подключаемом к параллельному интерфейсу Centronics (LPT1 или LPT2).
107
Рис.7.11. Цифро-аналоговый преобразователь
Поскольку ЭВМ работает с дискретными сигналами - импульсами, а звук представляет собой
аналоговый (т.е. непрерывно изменяющийся) сигнал, для ввода звуковых сигналов необходимо их
оцифровывать.
Способов оцифровки аналогового сигнала существует много. Рассмотрим три из них.
1.
Аналого-цифровой преобразователь (АЦП), работающий по принципу измерения напряжения.
2.
Время-импульсное кодирование аналогового сигнала (клиппирование).
3.
Спектральный анализатор.
Измерительные АЦП имеют принцип действия, понятный из рис.7.12. Амплитуда аналогового сигнала
измеряется через определенные промежутки времени - кванты. Полученные числовые значения
являются цифровыми величинами, характеризующими аудиосигнал. Величина промежутков времени,
через которые производится измерение амплитуды аудиосигнала называется шагом квантования, а сам
процесс называется оцифровкой звука.
108
Рис. 7.12. Принцип действия измерительного АЦП
Клиппирование аналоговых сигналов заключается в фиксации моментов времени, когда акустический
сигнал, увеличиваясь, достигает верхней критической (заранее определенной) амплитуды (BKA) и,
уменьшаясь, - нижней критической амплитуды (НКА).
Значения верхней и нижней критических амплитуд подбираются экспериментально. Весь остальной
процесс клиппирования выполняется по строгому алгоритму:
• при достижении увеличивающимся аналоговым сигналом уровня верхней критической амплитуды
фиксируется время, и цифровой выход включается в 1;
• при достижении уменьшающимся аналоговым сигналом НКА фиксируется время, а цифровой выход
переключается в 0. Графически этот процесс можно представить на рис.7.13. По накопленным
значениям t. и соответствующим им значениям цифрового выхода определяются временные параметры
аналогового сигнала: длительность импульсов и длительность пауз, которые и являются цифровыми
значениями аналогового сигнала.
Рис. 7.13. Клиппирование аналогового сигнала
Аналого-цифровое преобразование на основе спектрального анализа заключается в том, что звуковые
колебания сложной формы раскладываются на ряд гармоник. Частоты и амплитуды, характеризующие
гармонические составляющие аудиосигнала, и являются оцифрованным звуком.
109
Для преобразования звукового сигнала в цифровой код используются специальные устройства ввода
(рис.7.14).
Рис. 7.14. Преобразователь акустического сигнала в цифровой код
Для улучшения качества звука применяется дополнительное устройство ПЭВМ - звуковая плата
(аудиоплата).
Обычно звуковая плата состоит из трех модулей:

модуля оцифрованного звука,

многоголосого частотного синтезатора (Freguency Modulation Synthesizer),

модуля интерфейсов внешних устройств.
Модуль оцифрованного звука предназначен для цифровой записи, воспроизведения и обработки
оцифрованного звука.
В его состав входят аналого-цифровой и цифро-аналоговый преобразователи и усилитель. Модуль
позволяет преобразовывать вводимый аналоговый сигнал в цифровую форму, записывать его в
оперативную память ЭВМ, проводить обратное преобразование оцифрованного звука из памяти ЭВМ в
аналоговую форму, усиливать его по мощности для последующего вывода на внешний динамик или
головные телефоны. В состав модуля часто входит микшер для смешивания сигналов с линейного входа
и с микрофона.
Многоголосый частотный синтезатор предназначен для генерации звуковых сигналов сложной
формы. Существуют два принципиально различных способа синтеза звуковых сигналов:

частотныйсинтез (FM - Fregueney Modulation);

волновой синтез (WS - Ware Synthesys).
Частотные синтезаторы генерируют звуковые колебания синусоидальной формы заданной частоты и
амплитуды, благодаря чему значительно улучшается качество звука (по сравнению с попытками
генерировать звук с помощью прямоугольных колебаний). Наличие нескольких генераторов позволяет
использовать эти устройства для синтеза сложных звуковых сигналов, в том числе речи.
Волновой синтезатор имеет запоминающее устройство, в которое записаны образцы звучания
различных музыкальных инструментов в виде волновых таблиц или алгоритмов. Генерация звука
заключается в воспроизведении оцифрованной записи звука, полученной при игре на соответствующем
инструменте. Волновые таблицы позволяют учесть особенности звучания различных инструментов, но
набор их не является исчерпывающе полным. При работе под Windows результат волнового синтеза
оформляется в файлы с расширением “Wav”.
Сопряжение ЭВМ с электромузыкальными инструментами осуществляется с помощью интерфейса
электромузыкальных инструментов (MIDI -Musical Instruments Digital mterface). . ,
В состав стандарта MIDI входят: стандарт электрический, стандарт на протоколы обмена данными,
драйверы устройств и звуковые файлы.
В соответствии со стандартом МШ1 ЭВМ передает в звуковую плату номер музыкального инструмента,
номер ноты, характеристику игры музыканта (длительность, сила и способ нажатия клавиши). Эти же
данные хранятся и в MTOI-файлах. MTDI-файлы не содержат звуков, в связи с чем по размеру они
значительно меньше звуковых файлов. Звуки находятся в звуковых библиотеках. При использовании
MIDI-музыки необходимо иметь таблицу музыкальных инструментов (состав таблицы не
стандартизован), в которой указываются номера инструментов (используемые затем в MTDI-файлах) и
их название.
Модуль интерфейсов внешних устройств может включать в себя интерфейс для подключения CD ROM,
игровой порт и др.
Основные характеристики звуковой карты - разрядность, частота дискретизации, количество каналов
(моно, стерео), функциональные возможности синтезатора, совместимость.
110
Под разрядностью звуковой карты понимается количество бит, используемых для кодирования
цифрового звука. 8-битовые карты обеспечивают качество звука, близкое к телефонному, 16-битовые обеспечивают звучание, близкое к студийному.
Частота дискретизации определяет, сколько раз в секунду производится измерение амплитуды
аналогового сигнала. Чем больше частота дискретизации, тем точнее оцифрованный звук будет
соответствовать исходному. Но при каждом измерении формируется 8- или 16-битовый код
измеренного значения (1 или 2 байта), в связи с чем этот параметр оказывает сильное влияние на
требуемый для хранения оцифрованного звука объем памяти. Для записи/воспроизведения речи
достаточно иметь частоту дискретизации 6-8 КГц, для музыки среднего качества - 20-25 КГц, для
высококачественного звука - не менее 44 КГц.
Звуковые карты, обеспечивающие работу со стереофоническим звуком, имеют два одинаковых канала,
тогда как для работы с монозвуком требуется более простая карта. Стереозвук, кроме того, требует
вдвое большего объема памяти.
Функциональные возможности карты характеризуют наличие на ней специальных комплектов
микросхем: РМ-синтезатора, обеспечивающего частотный синтез звука; WT-синтезатора,
обеспечивающего волновой синтез звука (при котором образцы звучания инструментов могут быть
записаны в файле вместе с волновыми таблицами (например, формат WAV) или могут находиться в
ПЗУ звуковой карты (например, формат MID)). Кроме того, большое значение имеют возможности
синтезаторов по обработке звуков (количество голосов, модуляция, фильтрование и др.), наличие
аппаратных ускорителей (спецпроцессоров) и аппаратурных средств сжатия - восстановления,
возможность загрузки новых образцов звучания инструментов и др.
Совместимость обычно оценивается по отношению к моделям Sound Biaster фирмы Creativ Labs: SB
Pro и SB 16. SB Pro - это 8-битовая карта, обеспечивающая запись/воспроизведение одного канала с
частотой дискретизации 44.1 КГц либо двух каналов с частотой дискретизации 22.05 КГц, имеет FM- и
WT-синтезаторы. SB 16 - 16-битовая карта допускает запись/воспроизведение стереозвука с частотой
дискретизации от 8 до 44/1 КГц; имеет автоматическую регулировку уровня записи с микрофона и
программную регулировку тембра; в ее состав входят FM- и WT-синтезаторы.
Для сравнения приведем характеристики двух звуковых карт. Карта AMD InterWave имеет 32 голоса,
частоту дискретизации до 48 Кгц, встроенное ПЗУ емкостью 1 Мбайт с инструментами стандарта
General MIDI (GM) и шестью наборами ударных стандарта Roland General Standart (GS). Имеет
возможность расширения за счет установки модулей ОЗУ емкостью до 8 Мбайт и эффект - процессора.
При наличии ОЗУ обеспечивается аппаратурная совместимость со звуковыми картами GUS (Gravis
Ultrasound Standart).
Звуковая карта AWE32 производства Creative Labs предназначена для записи и воспроизведения
высококачественного стереозвука, обеспечивает 8- и 16-битовое кодирование оцифрованного звука,
частоту дискретизации от 5 до 44 КГц, имеет программируемый сигнальный процессор, позволяющий
работать со звуком в реальном масштабе времени, осуществляющий в этом режиме сжатие и
восстановление звуковых файлов, 20-голосый FM-стереосинтезатор, WT-синтезатор, работающий в
соответствии со стандартами GM, GS и МТ-32 (Sound Canvas Multi-Timbral-32) ПЗУ, емкостью 1 Мбайт,
в котором содержится 128 GM-совместимых инструментов и 10 GS-совместимых наборов ударных
инструментов. Карта обеспечивает одновременное воспроизведение 32 голосов, имеет цифровой
десятиканальный стереомикшер, оперативное ЗУ емкостью 512 Кбайт для дополнительных
пользовательских библиотек звуков (память может быть расширена до 28 Мбайт). Предусмотрена
возможность расширения дополнительным табличным синтезатором Wave Biaster II для получения 64голосовой полифонии и еще 10 наборов ударных. Имеются интерфейс для подключения CDROM,
встроенный усилитель мощности (4 Вт на канал), разъем для подключения голосового модема,
обеспечивается работа в стандарте PlugSPlay.
Ввод в ЭВМ и машинный синтез речи
Особое место в системах мультимедиа занимает использование аудиоаппаратуры для речевого общения.
Структура-задач речевого общения приведена на рис.7.15.
111
Рис.7.15. Структура задач речевого общения
Для распознавания и понимания речи дикторов необходимо ввести речевые сигналы в ЭВМ с помощью
акустических устройств ввода и проанализировать вводимую речь.
Системы речевого ввода делятся на два типа по характеру распознаваемой речи:

системы, ориентированные на восприятие отдельных команд;

системы, воспринимающие связную речь.
Разница между ними весьма существенна, так как при слитном произношении слов изменяется их
звучание.
При анализе отдельных команд осуществляются их оцифровка, идентификация и инициируется
выполнение программы, отрабатывающей принятую команду. Этот же режим используется и для
речевого ввода цифровой информации; в этом случае после идентификации введенное слово
преобразуется в соответствующий код ASCH (за счет чего достигается существенное сжатие речи).
Фирма Курцвейл выпускает на этом принципе устройство Voice Writer, которое распознает около 10 000
отдельно произнесенных английских слов и печатает их на принтере.
В настоящее время практически отсутствуют устройства для ввода динамически развивающихся
звуковых сцен. Устройства ввода и программы-анализаторы не позволяют выделить эмоциональную
составляющую речи, которая значительно корректирует смысл (и может даже изменить его до
противоположного). Чаще всего эмоциональная составляющая рассматривается как помеха (за
исключением систем контроля эмоционального состояния). Как дополнительный источник информации
эмоциональная окраска голоса (и введенного сообщения) в настоящее время не используется.
Системы речевого вывода называются синтезаторами речи.
Существуют три основных технологически различных подхода к проблеме синтеза речи:

метод кодирования-восстановления формы сигналов;

аналоговый метод синтеза формантных частот;

цифровое моделирование голосового тракта.
Первый метод- самый простой: ЭВМ в этом случае служит как цифровой магнитофон. Фразы и слова
записываются раздельно и выбираются для воспроизведения в нужный момент по командам,
112
поступающим от соответствующей программы. В такой системе невозможно воспроизвести слово,
которое не было заранее записано.
Для хранения оцифрованной речи необходима память большого объема, хранить необходимо каждое
слово из лексикона ЭВМ с учетом различных падежных окончаний, рода (пошел-пошла-пошло), числа...
Но зато качество воспроизведения речи очень высокое.
Разновидностью синтезаторов этого типа являются автоответчики, построенные из ЭВМ и Voiceмодема; речевая телепочта (передача речевого сообщения по вычислительным сетям).
Считается, что этот метод эффективен, когда словарный запас невелик -не превышает 10-15 слов
(например, говорящий приборный щиток автомобиля, говорящие часы, калькулятор, календарь).
Второй метод использует принципы акустического моделирования голосового тракта человека. Речь
составляется из формантных частотных полос, которые создаются полосовыми фильтрами. Суммарный
выходной сигнал формантных фильтров достаточно близко соответствует частотному спектру
человеческой речи. Но такая речь звучит, как голос робота, разборчивость ее оставляет желать лучшего.
Этот метод универсален: с его помощью можно синтезировать любые слова, иметь неограниченный
словарь, так как речь создается из отдельно генерируемых звуков. Синтезатор может быть реализован
программным путем.
Наиболее распространенный способ возбуждения синтезатора формантных частот состоит в
использовании отдельных, поддающихся идентификации звуков речи, называемых фонемами.
Фонемный синтезатор образует последовательность фонем, которая при воспроизведении на
акустическом устройстве вывода звучит как речь.
Фонемный синтез речи практически не требует дополнительной аппаратуры; он может быть реализован
на ЭВМ стандартной конфигурации программным путем.
Речь разделяется на отдельные элементарные части - фонемы. Например, в английском языке
выделяются такие фонемы для гласных звуков, как ее, i, eh и др. (табл.7.1).
Таблица 7.1
Фонемы гласных звуков английского языка
Фонема Произношение F1
F2
F3
ее
feet
250 2300 3000
i
hid
375 2150 2800
eh
head
550 1950 2600
ае
had
700 1800 2550
ah
tot
775 1100 2500
aw
talk
575
900
2450
u
Took
425 1000 2400
00
Tool
275
850
2400
F1, F2, F3 - три основные формантные частоты, наблюдаемые в спектрограмме, При произношении
Средним Мужским голосом.
Но кроме гласных в речи человека существуют фрикативные, взрывные и носовые согласные. Кроме
того, каждая фонема имеет вариации - аллофоны.
В русском языке согласные фонемы бывают мягкие и твердые, глухие и звонкие (шумные, сонорные,
губные, зубные, альвеолярные, велярные).
Третий метод использует словарь, который создается голосом человека, но в память записывается не
оцифрованный акустический сигнал, а его частотные параметры, при этом уменьшается объем памяти,
занимаемый словарем. Синтез же речи производится интегральными микросхемами, генерирующими
заданный набор частот с заданными амплитудами и смешивающими их.
Программное обеспечение для работы со звуковой информацией
Для работы со звуковой информацией необходимо соответствующее программное обеспечение:
музыкальные редакторы, “говорящие машины”, речевые и аудиоредакторы.
Музыкальные редакторы служат для:
1. Ввода звукового эффекта в ОП ЭВМ

с нотного листа (кодирование нотной записи с помощью клавиатуры);

подбором мелодии по слуху;

загрузкой мелодии с внешнего носителя (магнитофона, радиоприемника, телевизора).
2. Воспроизведения мелодии при нажатии клавиш ЭВМ (режим клавесина).
3. Автоматической нотной записи вводимой мелодии.
113
4. Оформления мелодии в виде программы для включения ее в состав презентации или использования
для индикации хода вычислительного процесса.
5. Воспроизведения мелодии на акустическом устройстве вывода или на профессиональной аппаратуре,
подключенной к ПЭВМ.
6. Для профессиональной обработки введенной мелодии (оркестровка, оранжировка,..), вывода нотной
записи.
7. Для машинного синтеза музыки.
8. Для оформления мелодии видеоэффектами на экране ЭВМ (цветомузыка, многоканальная индикация
громкости,...).
Простые музыкальные редакторы обеспечивают одноголосое воспроизведение и имеют простое
управление, ориентированное на неподготовленного пользователя (MUSMAKER - МГУ, редактор
мелодий PIANOMAN,...).
Более сложные редакторы (Scream Tracker, Whacker Tracker,...) ориентированы на пользователей,
имеющих представление о принципах создания музыкальных произведений (в том числе многоголосой
музыки).
Задача всякого редактора “Для начинающих” обычно состоит в том, чтобы помочь преодолеть страх
новичка перед “чистым листом” и быстро перейти к самостоятельному творчеству. Назначение
музыкального редактора для домашнего компьютера - помочь человеку “услышать свою внутреннюю
музыку” (т.е. свое представление о том, что он хочет получить).
Музыкальные редакторы предоставляют для начала работы блоки, более крупные, чем отдельные ноты.
Музыкальный редактор Scream Tracker (ST) поддерживает собственный формат цифровой музыки и
формат *.Mod, предназначенный для программной имитации частотного синтеза с использованием
волновых таблиц и алгоритмов.
ST является freeware - продуктом фирмы PSI. Выпущена третья версия (ST3) этого редактора, но
дальнейшую работу по совершенствованию и развитию этой программы фирма не ведет. ST реализован
под DOC.
В конце 1995 г. московская фирма “Элекай” (разработчик) совместно с фирмой “Русс” (разработчик и
издатель) произвели “развлекающий и обучающий” программный продукт, предназначенный для
сочинения музыки:
Маэстро+. Он может использоваться как любителями, так и профессионалами на достаточно мощном
IBM-совместимом мультимедиа компьютере.
Музыкальный редактор позволяет работать с ним человеку, который не имеет понятия о нотах, а свою
“внутреннюю” музыку если и слышит, то довольно смутно.
В Маэстро+ реализованы алгоритмы “искусственного интеллекта”, позволяющие создавать
гармоничную, порой неожиданную музыку. Интеллектуальность компьютера помогает “навести”
человека на новую музыкальную тему, оформить ее.
Маэстро+ состоит из трех основных модулей, соответствующих уровню музыкальной подготовки
пользователя:

Music Adviser - для начинающих;

Music Mirror - имеет расширенный набор возможностей и предназначен для “продвинутого”
пользователя;

Mirror Station - для квалифицированных пользователей и профессионалов-музыкантов.
В качестве “строительного материала” музыкальный редактор имеет заготовки около 800 различных
инструментов, около 50 готовых мелодий и спецэффектов, не менее 10 сложных авторских композиций.
Объем системы довольно велик, поэтому реализован Маэстро+ на компакт-диске.
Маэстро+ работает в защищенном режиме DOS, обеспечиваемом расширителем памяти фирмы
“Элекай”. Требует PC не хуже 486DXL2 66.
Все три модуля музыкального редактора объединяются программой-меню, выполненной в виде
компьютерной игры. Документация содержит руководство пользователя, набор уроков для освоения
всех трех модулей.
Предполагается, что следующая версия будет работать под Windows, использовать формат “.WAV”
(волновой Windows-формат) и укомплектована конвертером MEDI.
Музыкальный редактор “Band-in-a-Box” оперирует понятием “стиль”, под которым понимается
некоторый набор готовых музыкальных фрагментов. Создавая свою композицию, пользователь
расставляет на каждом канале и для каждого отрезка времени свои параметры: какой фрагмент
114
использовать, каким инструментом, в какой гамме и с какой скоростью его играть. В память машины
можно ввести мелодию, наигранную на клавиатуре. Можно играть и во время исполнения компьютером
композиции, используя возможности ЭВМ как “электронный аккомпанемент”; при этом программа
“подыгрывает” человеку (который является ведущим), пока он активен и импровизирует в паузах.
Говорящие машины и речевые редакторы используются для воспроизведения речи по введенному
тексту и настройки ПЭВМ (громкость, тембр, скорость звучания, мужской-женский голос,...).
Обычно говорящие машины загружаются в оперативную память и остаются резидентами. Обращение к
ним осуществляется нажатием “горячих клавиш”. При использовании говорящей машины в целях
обучения (например, произношению) она может “проговаривать” всю текстовую информацию,
возникающую на экране. Но такое использование говорящей машины сильно снижает
производительность ЭВМ.
Речевые редакторы позволяют перенастраивать режимы работы говорящей машины, воспроизводить на
экране осциллограмму речи, ставить метки на осциллограмме, воспроизводить речь между
поставленными метками, вырезать и вставлять речевые фрагменты и так далее.
Аудиоредакторы не специализируются на каком-либо виде звуковой информации. Функции такие же,
как у речевых редакторов, без настройки говорящей машины. В состав Windows входят такие
аудиоредакторы, как Sound Recorder и Mediapleer.
Глава 8. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА (ВЗУ)
ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА (ВЗУ)
В качестве внешней памяти ПЭВМ используются накопители на магнитных дисках (НМД), накопители
на магнитных лентах (НМЛ) - стриммеры и оптические ЗУ.
НМД бывают двух типов: НГМД - на гибком магнитном диске (с носителем-дискетой) и НМД - на
жестком магнитном диске (типа “Винчестер”).
НМД имеют значительно больший объем внешней памяти и высокое (почти на порядок)
быстродействие, чем НГМД. Но НГМД имеют съемные магнитные носители - дискеты (компактные, на
которых легче организовать архивное хранение данных и программ).
НМЛ обычно бывают кассетного типа и используют либо компакт-кассеты для бытовых магнитофонов
(емкость 1 кассеты от 500 Кбайт до 1,5 Мбайта), либо видеокассеты (для стриммеров) с
многодорожечной записью. Емкость их измеряется в десятках и сотнях мегабайт.
ВЗУ связываются с МП через системную магистраль при помощи устройства управления (контроллера).
Контроллер необходим для двух целей:

управления ВЗУ;

связи с МЛ и ОП.
НМД и оптические ЗУ представляют собой устройства с циклическим доступом к информации. НМЛ
представляют собой устройства с последовательным доступом.
Время доступа к информации в ВЗУ намного превосходит время обращения к ОН. ВЗУ являются
относительно медленными устройствами электромеханического типа.
8.1. Внешние запоминающие устройства на гибких магнитных дисках
В НГМД используются три разновидности дискет: диаметром 203мм (8"), диаметром 133 мм (5,25", или
5") и диаметром 89 мм ( 3,5", или З") - последние в жестком пластмассовом корпусе. Наибольшее
распространение получили дискеты диаметром 5,24" и 3,5".
Дискета 5" представляет собой прямоугольный конверт из черной бумаги с вырезами, в который
вложена лавсановая пленка, на поверхность которой нанесен магнитный слой.
3,5" дискета представляет собой пластмассовый корпус с металлической задвижкой, предохраняющей
поверхность дискеты от повреждения. В зависимости от емкости дискеты на пластмассовом корпусе
имеется различное количество отверстий (рис.8.1).
115
Рис. 8.1. Внешний вид дискеты диаметром 3"
Отверстия 2 и 3 присутствуют только на дискетах повышенной емкости. Отверстие 1 является
единственным на дискетах емкостью 720 Кбайт. На дискетах емкостью 1.44 Мбайта имеются отверстия
1 и 2. На дискетах емкостью 2.88 Мбайта (для них нужны специальные дисководы) имеются три
отверстия (1, 2,3). Отверстие 1 на всех дискетах служит для защиты записи.
НГМД могут использовать одну или две поверхности дискеты - это зависит от используемого
количества головок.
Головки могут перемещаться вдоль поверхности дискеты с помощью шагового двигателя. Различают
НГМД, у которых шаговые двигатели могут сделать 40 и 80 шагов. В связи с этим стандартные дискеты
могут иметь 40 или 80 дорожек на одной стороне. Для обозначения типа дискеты используются
двухбуквенные метки:
SS (single sided) - односторонние;
DS (double sided) - двухсторонние;
SD (single density) - одинарная плотность;
DD (double density) - двойная плотность;
QD (quadro density) - учетверенная плотность;
HD (high density) - высокая плотность;
ED (Extra-High density) - сверхвысокая плотность.
Объем хранимой на дискете информации зависит как от конструкции дискеты, так и от способа
размещения информации на ней.
Перед первым использованием дискета размечается (форматируется). При этом на нее наносится
служебная информация. Характер и место нахождения служебной информации определяются
форматом. В каждой операционной системе есть свои стандартные форматы (которые эта операционная
система умеет читать и использовать в работе).
Каждая дорожка делится на части - сектора. Все дорожки содержат одно и то же количество секторов.
Емкость сектора - это то наименьшее количество данных, которое может быть записано на дискету (или
считано с нее) за одну операцию ввода-вывода.
Количество дорожек, число секторов на одной дорожке, емкость одного сектора и количество рабочих
поверхностей у дискеты определяют ее емкость.
B IBM PC используются две рабочие поверхности: 40 или 80 дорожек на одной поверхности; 8,9,15 или
18 секторов на одной дорожке; 128,256,512 или 1024 байта в одном секторе.
Одной из характеристик дискеты является допустимая плотность записи:
• продольная:
(SD) - нормальная: 24 TPI (tape per inch - метки на дюйм);
(DD) - двойная: 48 TPI;
(HD - high density) - учетверенная (Quadro density): 96 TPI;
• поперечная:
одинарная (20 дорожек);
двойная (40 дорожек);
116
учетверенная (80 дорожек): (QD-9 объемом 720 Кбайт), (QD-15 объемом 1,2 Мбайта (размер
сектора в QD-15 равен 1 Кбайт)).
Для расширения возможностей DOS разработаны программы 800-сот и PU-ПОО.сот, которые
позволяют работать с нестандартными, форматами дискет.
Логическая структура диска: магнитный диск (гибкий или жесткий) перед первым использованием
должен быть отформатирован. Во время форматирования диска на его поверхности с помощью
магнитных головок делаются пометки: размечаются дорожки и сектора на них, создаются управляющие
области дискеты.
Весь процесс форматирования делится на три части: физическая разметка, создание логических
структур и загрузка на диск операционной системы (т.е. физическое, логическое и системное
форматирование).
Физическое форматирование состоит в разметке дорожек (trek) и секторов с нанесением обозначений
секторов в выделенных на треках служебных областях. Сектора отделяются друг от друга интервалами.
Началом отсчета для разметки диска является специальное отверстие (индекс).
Дорожки нумеруются от 0 до N - 1 (где N - общее количество дорожек) от края диска к центру. На
физическом уровне сектора нумеруются от 1 до ш.
Структура развертки дорожки дискеты после разметки изображена на рис.8.2.
Рис.8.2. Структура дорожки дискеты
Для форматов DS-8 и DD-8 интервал 1 представляет собой 32 байта “4Е”, интервал 2-22 байта “4Е”,
интервал 3-80 байт “4Е”. Каждый сектор включает в себя 574 байта.
Логическое форматирование заключается в оформлении диска соответственно стандартам
операционной системы. Цель логического форматирования - создание на диске управляющих таблиц
для учета использования имеющихся ресурсов.
Системное форматирование заключается в загрузке на диск резидентных файлов операционной
системы.
В результате форматирования образуется функциональная структура диска, изображенная на рис.8.3.
Служебная область
Область
Служебные сектора
Файлы операционной данных
системы
117
ВООТ-сектор
(блок
начальной
загрузки)
File allocation table l
(FAT1) (таблица
размещения
файлов) 1-я копия
FAT2 (таблица
размещения
файлов) 2-я
копия
Корневой
каталог
ibmbio.com
ibmdos.
сот
Рис. 8.3. Функциональная структура диска
Служебная область дискеты заполняется при форматировании дискеты всегда, системная область только при создании системной дискеты. Размер служебной области составляет 2% от общей емкости
дискеты.
В IBM PC используется несколько типов дисководов (НГМД), которые позволяют работать только с
определенными форматами. Виды стандартизованных форматов приведены в табл.8.1.
Таблица 8.1
Стандартные форматы НГМД MS DOS
Обозначение
Количество
Объем, Диаметр,
Размер
Размер
Кбайт
дюйм
FAT, секторов каталога, секторов
сторон секторов дорожек
SS/DD-8
1
8
40
160
5
2
4
DS/DD-8
2
8
40
320
5
2
2
SS/DD-9
l
9
40
180
5
2
4
DS/DD-9
2
9
40
360
5
2
7
DS/HD-15
2
15
80
1200
5
14
14
DS/HD-9
2
9
80
720
3
10
7
DS/HD-18
2
18
80
1440
3
18
18
Назначение и структура служебных секторов:
Boot - содержит блок начальной загрузки и занимает 512d байт (200h).
В начале сектора находится NEAR-переход на программу начальной загрузки, затем располагается
таблица, характеризующая формат дискеты. Структура этой таблицы в версиях DOS различна. До
версии 4.0 таблица содержала параметры, приведенные в табл.8.2 (в скобках приводится типовое
значение для DS/DD-9).
В конце ВООТ-сектора содержатся два идентификационных байта: '55' и 'ААh'.
Таблица 8.2
Структура ВООТ-сектора
Смещение от начала
Длина
Содержание
сектора, байт
записи
0
3
Команда перехода на программу начальной загрузки
3
8
Название фирмы - производителя ОС или программы
форматирования (произвольная информация)
Obh
2
Количество байтов в секторе (200h)
Odh
1
Количество секторов в кластере
Oeh
2
Количество секторов перед FAT (1)
10h
1
Количество копий FAT (2)
11h
2
Максимальное количество 32-байтных элементов корневого
каталога (70h)
13h
2
Общее количество секторов на дискете (200h)
15h
1
FD- дескриптор носителя (байт-описатель среды носителя
данных) (табл.8.5)
16h
2
Количество секторов, занимаемых одним экземпляром FAT (2)
18h
2
Количество секторов на одной дорожке (9)
LAh
2
Число рабочих поверхностей на дискете (2)
118
Ich
2
Количество "скрытых" секторов (00)
LEh
Начало программы загрузки
Байт - описатель среды ( дескриптор носителя - FD) может принимать значения, приведенные в табл.8.3.
Программа начальной загрузки, содержащаяся в ВООТ-секторе, предназначена для считывания с
системной дискеты резидентных файлов MSDOS и командного процессора и размещения их в ОП.
Таблица размещения файлов (File allocation table, FAT) отображает структуру области данных диска текущее распределение области данных дискеты между файлами.
Таблица 8.3
Возможные значения байта-описателя
Значение байта
Диаметр
Количество
Количество секторов на
Тип
FD
дискеты
сторон
дорожке
формата
FF
8"
2
8
FE
8"
l
8
FD
5"
2
9
DS/DD-9
FC
5"
l
9
SS/DD-9
F9
5"
2
15
DS/HD-15
F8
жесткий диск
DOS делит всю область данных диска на элементарные логические единицы - кластеры. Если
необходимо записать на диск какой-либо набор данных (файл), то независимо от его длины, память для
этого будет выделяться кластерами. Размер кластера зависит от типа формата. На дискетах емкостью
360 К (DS/DD-9) кластер состоит из двух секторов по 512 байт и имеет объем 1 Кбайт. Все кластеры
диска имеют свои номера. FAT дискеты состоит из 12-битовых элементов (у жестких дисков большого
объема - из 16-битовых).
Нулевой элемент содержит идентификатор формата дискеты:
FFF - формат SS, 8 секторов на дорожке для 8" дискеты;
FFE - 8 секторов на дорожке для 8" дискеты;
FFC - SS/DD-9;
FFD - DS/DD-9;
FF9 - DS/HD-9 или DS/HD-15;
FFO - DS/HD-18 или какой-либо другой, уточненный по ВООТ-сектору.
Первый элемент FAT содержит код FFF.
Начиная со второго каждый элемент FAT содержит статус соответствующего кластера (свободен - 000,
занят - 002-FFO, поврежден - FF1-FF7) в последовательности, изображенной в табл.8.4.
Таблица 8.4
Содержание FAT
Номер элемента
Номер кластера, статус которого
Расшифровка номера кластера
FAT
отображается
номер
номер
номер
сектора
дорожки
стороны
2
2
4,5
0
l
3
3
6,7
0
l
4
4
8,9
0
l
5
5
1,2
1
0
…
…
…
…
…
Для дискет формата FF9 (DS/DD-9) количество кластеров равно 355d.
Статус занятого кластера содержит либо номер следующего кластера, в котором располагается файл,
либо код последнего кластера файла FF8-FFF.
Место на диске, отводимое каждому файлу, состоит из последовательности (цепочки) кластеров. Номер
первого кластера, в котором начинается файл, указывается в корневом директории. В FAT элемент,
соответствующий этому кластеру, содержит номер следующего кластера, в котором находится
119
продолжение файла , и так далее “по цепочке”. Последний кластер файла обычно содержит FFF.
Например, если файл разместился в 3, 17 и 25 кластерах диска, то в корневом каталоге для этого файла
будет указано, что он размещается в кластере № 3. В элементе FAT, соответствующем третьему
кластеру, будет записан номер следующего кластера (17), в элементе FAT, соответствующем кластеру
№ 17, будет содержаться номер следующего кластера - 25, а в элементе FAT, соответствующем кластеру
№ 25, будет записан код последнего кластера- обычно FFF.
Корневой каталог диска содержит информацию о файлах и подкаталогах, размещенных на диске.
Каждый файл в каталоге описан с помощью 32 байт, образующих элемент (строку) каталога. Каждый
сектор каталога содержит 512/32=16 строк. В одной из них (обычно в первой) может быть записано имя
диска (метка тома).
Структура каталога приведена в табл. 8.5.
Таблица 8.5
Структура каталога
Относительный адрес
Размер поля
Описание
0
8
Имя файла
8
3
Расширение имени (тип файла)
11
1
Атрибут
12
10
Резервное поле (нули)
22
2
Время создания файла
24
2
Дата создания файла
26
2
Номер начального кластера файла
28
4
Длина файла
Имя файла и его расширение записываются в кодах ASCII. При записи имени диска эти два поля
объединяются, т.е. метка тома может содержать 11 символов. Неиспользованные байты первых двух
полей заполняются символами “пробел”. Первый байт поля имени файла используется для обозначения
стертых файлов (Нех.код 'Е5') и свободных строк в каталоге ('00').
Байт атрибута файла может принимать следующие шестнадцатеричные значения:
01 - файл только для чтения;
02 - скрытый файл;
04 - системный файл
08 - имя диска;
10 - подкаталог;
20 - архив.
Скрытые и системные файлы недоступны для вводимых с клавиатуры команд DOS (например, для
команды DIR). Подкаталоги функционируют на правах обычных файлов.
Время и дата создания файла рассчитываются по формулам:
время = час * 2048 + минуты * 32 + секунды;
дата = ( год - 1980) * 512 + месяц * 64 + день.
Длина файла представлена в байтах.
Параметры каталога: время, дата, номер первого кластера, длина файла записываются, начиная с
младшего байта. Например, при длине файла 513d байт (201h) запись в поле данных каталога будет: 01
02 00 00. Читать эту запись надо побайтно, справа налево.
Пример размещения двух файлов в корневом каталоге и в FAT приведен на рис. 8.4.
120
Накопитель на жестком магнитном диске
Накопитель на жестком магнитном диске (НМД) имеет тот же принцип действия, что и НГМД, но
отличается тем, что в нем магнитный носитель информации является несъемным и состоит из
нескольких пластин, закреплённых на общей оси (пакета магнитных носителей).
Каждую рабочую поверхность такой конструкции обслуживает своя головка. Если в НГМД головка во
время работы соприкасается с поверхностью дискеты, то в НМД головки во время работы находятся на
небольшом расстоянии от поверхности (десятые доли микрона). При устранении контакта головки с
поверхностью диска появилась возможность увеличить скорость вращения дисков, а следовательно,
повысить быстродействие внешнего ЗУ.
Запись и чтение информации на жестком магнитном диске производятся с помощью магнитных
головок, которые во время чтения-записи неподвижны. Магнитное покрытие каждой поверхности диска
во время чтения-записи перемещается относительно головки. Магнитный “след” на поверхности диска,
образовавшийся при работе головки на запись, образует кольцевую траекторию - дорожку (trek).
Дорожки, расположенные друг под другом на всех рабочих поверхностях магнитного носителя,
называются цилиндром.
В жестких МД различных фирм используются разные материалы для магнитного покрытия: диски
ранних конструкций имели оксидное покрытие (окись железа), современные диски - кобальтовое
покрытие. Оксидное покрытие наносилось на поверхность диска в виде магнитного лака, который после
высыхания образовывал довольно толстый магнитный слой. Обеспечить устойчивую запись в таком
слое можно было за счет длительного воздействия электромагнитным полем. Поэтому магнитные
“следы” на поверхности диска получались большого размера, что приводило к невысокой плотности
121
записи и низкому быстродействию. Для увеличения емкости магнитного диска приходилось
увеличивать его размеры.
Кобальтовое покрытие наносится на поверхность диска методом напыления. При этом образуется
тонкая магнитная пленка, на которую легче воздействовать для образования магнитных следов. Размеры
магнитных следов уменьшились, что позволило увеличить продольную и поперечную плотности
записи. Увеличение продольной плотности записи позволило увеличить емкость дорожки, а увеличение
поперечной плотности записи - количество дорожек на поверхности диска. Диски той же емкости
уменьшились в размерах.
Стандарт на физическое размещение информации на жестком магнитном диске мягче, чем для НГМД,
так как гибкие диски должны читаться одинаково на дисководах разных фирм, в то время как жесткий
магнитный диск имеет встроенную в него систему управления. При работе с жестким магнитным
диском встроенная система управления решает вопросы физического размещения информации и
зачастую недоступна для внешнего вмешательства. Например, наружные и внутренние дорожки
магнитного диска имеют разную длину. Если их сделать одинаковой емкости и писать информацию с
одинаковой плотностью записи, то на наружных дорожках остается много свободного места. Некоторые
фирмы при изготовлении жестких дисков делают дорожки различной емкости. Но для того чтобы
стандартные операционные системы могли работать с такими дисками, встроенный в них контроллер
осуществляет пересчет адресов; при этом физически на диске имеется меньшее количество дорожек,
чем кажется операционной системе (так как операционная система настроена на работу с дорожками
одинаковой емкости).
Количество дисков, каждый из которых имеет по две рабочие поверхности, в накопителе может быть от
3 до 10 и более. В некоторых накопителях две крайние поверхности пакета (верхняя и нижняя) не
являются рабочими -при этом сокращается размер дисковода (и емкость тоже). Иногда эти поверхности
используются для размещения служебной информации.
Жесткие диски делают герметичными - малое расстояние (зазор) между рабочей поверхностью и
магнитной головкой должно быть защищено от пылинок, чтобы уберечь тонкий напыленный слой
кобальта от стирания. Магнитная головка во время работы не должна касаться поверхности диска и в то
же время - находиться от нее на расстоянии в доли микрона. Наиболее распространенный способ
удовлетворения обоих условий- применение “воздушной подушки”: в магнитной головке делаются
отверстия, через которые в рабочий зазор в направлении магнитного диска нагнетается сжатый воздух он и является демпфером (воздушной подушкой), не позволяющим магнитной головке “прижаться” к
поверхности диска. Воздух перед нагнетанием в зазоры проходит тщательную очистку от пыли с
помощью специальных фильтров.
Магнитные головки при работе НМД могут перемещаться, настраиваясь на требуемую дорожку. Перед
началом эксплуатации пакет магнитных дисков форматируется:
на нем размечаются дорожки (ставится маркёр начала дорожки и записывается ее номер), наносятся
служебные зоны секторов на дорожках. Для записи-чтения информации контроллеру НМД передается
адрес: номер цилиндра, номер рабочей поверхности цилиндра, номер сектора на выбранной дорожке. На
основании этого магнитные головки перемещаются к нужному цилиндру, ожидают появления маркера в
начале дорожки, ожидают появления требуемого сектора, после чего записывают или читают
информацию из него. Несмотря на то, что все магнитные головки установлены на требуемый цилиндр,
работает в каждый данный момент только одна головка.
Из-за малого расстояния между секторами и высокой скорости вращения пакета дисков схемы
управления не всегда успевают переключиться на чтение-запись следующего сектора (если
считываемые-записываемые сектора следуют один за одним). В этом случае после обработки одного
сектора приходится ожидать, пока диск сделает целый оборот и к головкам подойдет требуемый сектор.
Чтобы избежать этого, при форматировании используется чередование (interleaving) секторов:
последовательность нумерации секторов на дорожке задается таким образом, что следующий по
порядку номер сектора принадлежит не следующему по физическому размещению сектору, а через “k”
секторов (где k - фактор чередования). Фактор чередования при форматировании задается таким
образом, чтобы система управления НМД обеспечила обработку с последовательными номерами без
длительного ожидания (слишком маленький k приводит к “проскакиванию” требуемого сектора и
ожиданию нового витка, слишком большое значение k также Приводит к ожиданию, так как схема
управления уже отработала, а требуемый сектор все еще не подошел к головке).
122
Поскольку физически НМД различных фирм могут быть устроены по-разному, возникает проблема
совместимости НМД с микропроцессорным комплектом ЭВМ. Проблема эта решается с помощью
стандартизации интерфейсов для накопителей на жестких магнитных дисках.
Основной характеристикой НМД является их емкость, которая в наибольшей степени зависит от
плотности записи, в свою очередь, в значительной степени зависящей от уровня технологии. Наиболее
результативным для повышения плотности записи явилось применение магниторезистивных головок,
которые известны и применяются уже давно, но по-настоящему массовой продукцией долгое время не
были из-за большой капиталоемкости их производства. Кроме увеличения емкости диска повышение
плотности записи приводит и к увеличению скорости считывания-записи данных при неизменных
диаметре и скорости вращения носителя.
Доступный сейчас уровень технологии позволяет за счет использования магнигорезистивных головок
производить на 3.5" НМД с интерфейсами ЕЮЕ и SCSI накопители емкостью 1.25,1.7 и 2.2 Гбайта и
ставит на повестку дня увеличение их емкости до 64 Гбайт. Скорость передачи данных при
использовании магниторезистивных головок возросла с обычной 3-5 Мбайт/с до 7.7-13.8 Мбайт/с.
Стриммер
Стриммером называется внешнее устройство ПЭВМ для записи и воспроизведения цифровой
информации на кассету с магнитной лентой. Основное их назначение - архивирование редко
используемых больших массивов информации, резервное копирование. Это устройство называется
“floppy tape”. Оно может подключаться к контроллеру НГМД. В стандарте QIC-40 емкость обычной
видеокассеты составляет около 120 Мбайт, в стандарте QIC-80-250 Мбайт.
Устройства, работающие в этом стандарте (стандарт разработан для небольших локальных сетей, а
также для “неорганизованных” пользователей), выпускаются различными фирмами. Например, фирма
Colorado Memory Systems выпускает стриммеры Jumbo 120 и Jumbo 250. Скорость передачи
информации в Jumbo 120 - 250 и 500 Кбайт/с, что совпадает со стандартными возможностями
контроллера НГМД.
По конструктивному исполнению стриммеры выпускаются внутренними и внешними. Программная
поддержка этих стриммеров позволяет сжимать информацию до 6 раз (в среднем - в 2 раза).
Контроллеры этой фирмы выполнены по технологии Plug&Play (95% необходимых параметров
определяется программным путем автоматически).
В качестве стриммера может быть использован видеомагнитофон - в России выпускаются платы
“АрВид 1010” и “АрВид 1020”, дающие возможность при наличии шины ISA подключить к ПЭВМ и
использовать в качестве накопителя любой видеомагнитофон. Платы позволяют на стандартную
видеокассету записывать 1-2 Гбайта информации. На ленте поддерживается многоуровневая
иерархическая система, имеющая общий каталог. Программное обеспечение имеет дружественный
интерфейс, выполненный в стиле Norton Commander. Предусмотрена автоматизированная процедура
настройки на конкретный видеомагнитофон.
8.4. Оптические запоминающие устройства
Классификация оптических накопителей информации приведена на рис.8.5.
123
Рис.8.5. Классификация оптических накопителей информации
Один из первых оптических накопителей информации - видеопластинка Laservision фирмы Philips,
представляла собой плексигласовый диск диаметром 20 или 30 см с тонким алюминиевым слоем,
покрытым защитной пленкой из лака. При нанесении информации в алюминиевом слое делаются
углубления, располагаемые вдоль дорожек, как в обычных грампластинках. Отличие заключается в том,
что, во-первых, дорожки начинаются в центре пластинки и, во-вторых, что они наносятся лазерным
лучом - ширина дорожки при этом составляет 0,4 микрона, расстояние между дорожками -1,6 микрона.
При таких размерах на одном миллиметре радиуса располагаются 600 дорожек. При считывании
информации лазерный луч по-разному отражается от основной ровной поверхности (0) и от углублений
(1).
Для считывания информации применяются два различных способа:
CAV (Constant Angular Velocity) - считывание при постоянной угловой скорости;
CLV (Constant Linear Velocity) - считывание при постоянной линейной cкорости.
При CAV пластинка имеет постоянную угловую скорость 1500 об/мин. Дорожки расположены
кольцеобразно, каждая дорожка отводится для отдельного видеоизображения, независимо от длины
дорожки. На одной стороне пластинки при этом умещаются 54 000 изображений для воспроизведения в
течение 36 мин.
При CLV угловая скорость меняется: при чтении внутренних дорожек она равна 1500 об/мин, при
чтении внешних - 500. На пластинке имеется всего одна спиралеобразная дорожка (от центра наружу).
Продолжительность времени воспроизведения увеличивается до 60 мин, но теряется возможность
прямого доступа к отдельным изображениям.
Видеокомпакт-диски (CDV - Compact Disk Video) предназначены для воспроизведения на специальном
видеопроигрывателе. При диаметре диска 12 см на него наносится двадцатиминутная цифровая запись
звука и шестиминутный аналоговый видеосигнал; при диаметре диска 20 см на нем содержится
двадцатиминутная запись аналогового видеосигнала и цифрового звукового сопровождения; при
диаметре диска 30 см емкость диска такая же, как у видеопластинки Laservision.
Компакт-диск СDROM (Compact Disk - Read Only Memory) содержит информацию только в цифровом
виде. Диск имеет прозрачную поликарбонатную основу толщиной 1,2 мм и диаметром 8 или 12 см.
Конструкция аналогична пластинке Laservision, работает по принципу CLV, угловая скорость
изменяется от 200 до 500 оборотов в минуту. На одном дюйме по радиусу умещается 16000 дорожек
(тогда как на одном дюйме флоппи-диска - всего 96). Емкость компакт-диска составляет около 650
Мбайт.
124
Компакт-диск CD-ROM/XA (eXtended Architecture) отличается от CD-ROM тем, что информация перед
нанесением на диск подвергается сжатию. Диск может содержать двоичные коды, графику, видео, текст,
аудиоданные.
Интерактивные компакт-диски CD-1 (Compact-Disk - hteractive) предназначены для
потребительского рынка, используются без ЭВМ. Их производство основано на технологии CD ROM,
но имеет более простое управление.
Диски Photo-CD (совместная разработка Philips и Kodak) предназначены для хранения в цифровом
формате кино- и фотокадров. На диске размещается до 100 кадров, запись полного диска производится
за один час.
Bridge-Disk выполнен по стандарту, который позволяет воспроизводить его на проигрывателе для PhotoCD, дисководе для CDROM/XA или проигрывателе для CD-I.
Компакт-диски CD-WO позволяют дозаписывать информацию за несколько сеансов. После
окончательной записи создается оглавление диска. Обычное устройство для чтения CD ROM позволяет
читать только первую зону CD-WO. Аналогичные возможности предоставляют компакт-диски CD-R,
которые допускают дозапись информации по мере ее накопления. Компакт-диски CD-WO и CD-R могут
изготовляться по различным технологиям: диск может быть покрыт чувствительным фотолаком, в
котором лазер прожигает отверстия, испаряя лак; на подложку диска могут быть нанесены два слоя:
один - из искусственных полимеров (имеющих малую теплоту плавления), другой - металлический. При
нагревании металла лазерным лучом находящийся под ним слой полимера испаряется, что приводит к
образованию пузырька в металлическом слое и, как следствие, к нетиповому отражению считывающего
луча в этом месте; поверхность диска может быть покрыта слоем галий-сурьмы или индий-сурьмы,
которые при воздействии на них лазерного луча расплавляются и переходят из кристаллического в
аморфное состояние, что сопровождается изменением условий отражения и может быть зафиксировано
считывающим лазерным лучом.
В основе магнитооптических компакт-дисков (CD-МО) лежит воздействие магнитного поля на
нагретый до критической температуры материал. В результате этого изменяются отражающие свойства
покрытия диска или производится его намагничивание в определенном направлении.
Магнитооптические диски позволяют записывать, читать и стирать информацию. На таких дисках могут
быть выделены зоны, предназначенные только для чтения или для многократной записи. CD-МО
выпускаются в виде мини-дисков диаметром 2,5 дюйма в пластмассовом корпусе трехдюймовой
дискеты. Как для записи, так и для воспроизведения магнитооптических дисков необходимы
специальные устройства. Емкость таких дисков составляет не менее 640 Мбайт. Из них могут
создаваться магнитооптические библиотеки с автоматической сменой дисков (время на смену дисков
составляет несколько секунд), емкость которых измеряется сотнями Гбайт.
Флоптики - это внешние запоминающие устройства, имеющие две головки: одну - обычную, для
работы с дискетами DD и HD, другую - магнитооптическую. Емкость флоптических дискет составляет
21 Мбайт. Разметка флоптической дискеты производится лучом лазера, благодаря чему дорожки
плотнее располагаются друг к другу. У флоптических дискет используется тот же магнитный материал,
что и у обычных дискет емкостью 2,88 Мбайт, -барий-феррит. Количество магнитооптических дорожек
на одной стороне -753, поперечная плотность записи-1245 дорожек на дюйм, продольная плотность
записи - 23980 бит на дюйм (для сравнения - у DD-дискет - 8717 у HD-дискет - 17434).
Глава 9. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Структура программного обеспечения ЭВМ
В настоящее время отсутствует единая классификация состава программного обеспечения.
Литературные источники по-разному трактуют структуры программных средств ЭВМ различных
классов. Наиболее сложное ПО по структуре и составу имеют большие универсальные ЭВМ широкого
назначения, так как они призваны обеспечивать пользователей самыми разнообразными сервисными
услугами независимо от характера их задач.
Программное обеспечение ЭВМ разделяют на общее, или системное (general Software),и
специальное, или прикладное (application or special Software) (рис.9.1).
125
Рис. 9.1. Структура программного обеспечения
Общее ПО объединяет программные компоненты, обеспечивающие многоцелевое применение ЭВМ и
мало зависящие от специфики вычислительных работ пользователей. Сюда входят программы,
организующие вычислительный процесс в различных режимах работы машин, программы контроля
работоспособности ЭВМ, диагностики и локализации неисправностей, программы контроля заданий
пользователей,их проверки, отладки и т.д.
Общее ПО обычно поставляется потребителям комплектно с ЭВМ. Часть этого ПО может быть
реализована в составе самого компьютера. Например,
в ПЭВМ часть программ ОС и часть контролирующих тестов записана в ПЗУ этих машин.
Специальное ПО (СПО) содержит пакеты прикладных программ пользователей (111111),
обеспечивающие специфическое применение ЭВМ и вычислительной системы (ВС).
Прикладной программой называется программный продукт, предназначенный для решения конкретной
задачи пользователя. Обычно прикладные программы объединяются в пакеты, что является
необходимым атрибутом автоматизации труда каждого специалиста-прикладника. Комплексный
характер автоматизации производственных процессов предопределяет многофункциональную
обработку данных и объединение отдельных практических задач в 111111.
Специализация пакета определяется характером решаемых задач (паке ты для разработки
экономических документов, рекламных роликов, планирования и др.) или необходимостью управления
специальной техникой (управление сложными технологическими процессами, управление бортовыми
системами кораблей, самолетов и т.п.). Такие специальные пакеты программ могут использовать
отдельные подразделения, службы, отделы учреждений, предприятий, фирм для разработки различных
планов, проектов, документов, исследований. В некоторых случаях СПО может иметь очень сложную
структуру, включающую библиотеки, каталоги, программы-диспетчеры и другие обслуживающие
компоненты. Программы СПО разрабатываются с учетом интересов определенной группы
пользователей, иногда даже по их заказам и при их непосредственном участии.
СПО ПЭВМ комплектуется в зависимости от места и роли автоматизированного рабочего места (АРМ)
работника, использующего в своей деятельности компьютер. В ПО ПЭВМ обычно включают небольшое
число пакетов программ (табличный процессор, текстовый редактор, систему управления базами
данных и др.). В последнее время наметилась тенденция к комплексированию и слиянию их в
интегрированные программные продукты. Например, пакет MS Office фирмы Microsoft объединяет все
перечисленные продукты.
Общее ПО включает в свой состав операционную систему (ОС), средства автоматизации
программирования (САП), комплекс программ технического обслуживания (КПТО), пакеты программ,
дополняющие возможности ОС (ППос), и систему документации (СД).
126
Операционная система служит для управления вычислительным процессом путем обеспечения его
необходимыми ресурсами.
Средства автоматизации программирования объединяют программные модули, обеспечивающие
этапы подготовки задач к решению, перечень этих I этапов был приведен в п. 1.5.
Модули КПТО предназначены для проверки работоспособности вычислительного комплекса.
Важной частью ПО является система документации, хотя она и не является программным продуктом.
СД предназначается для изучения программных средств, она определяет порядок их использования,
устанавливает требования и правила разработки новых программных компонентов и особенности их
включения в состав ОПО или СПО.
По мере развития ЭВМ и ВС программное обеспечение постоянно усложняется по своей структуре и
составу программных модулей. В настоящее время затраты на разработку и приобретение программных
продуктов в несколько раз превышают стоимость технических средств (Hardware). Наиболее
динамичное развитие оно получило в 80-85-е годы (см. рис. 1.5), когда были выявлены закономерности
управления вычислительными процессами в однопроцессорных (одномашинных) системах.
Программное обеспечение современных ЭВМ и ВС строится по иерархическому модульному принципу.
Это обеспечивает возможность адаптации ЭВМ и ВС к конкретным условиям применения, открытость
системы для расширения состава предоставляемых услуг, способность систем к совершенствованию,
наращиванию мощности и т.д.
Программные модули ПО, относящиеся к различным подсистемам, представляют для пользователя
своеобразную иерархию программных компонентов, используемую им при решении своих задач (рис.
9.2).
Рис.9.2. Иерархия программных средств ЭВМ
Нижний уровень образуют программы ОС, которые играют роль посредника между техническими
средствами системы и пользователем. Однако прямое использование команд ОС требует от
пользователя определенных знаний и специальной компьютерной подготовки, сосредоточенности,
точности и внимания. Этот вид работ отличается трудоемкостью и чреват появлением ошибок в работе
оператора. Поэтому на практике пользователи, как правило, работают не напрямую с ОС, а через
командные системы - пакеты программ, дополняющие возможности ОС (ППос).
Ярким примером подобных систем могут служить пакеты Norton Commander, Volkov Commander, DOS
Navigator и другие, завоевавшие заслуженную популярность у пользователей. С помощью этих систем
трудоемкость работы с компьютером значительно сокращается. Работа пользователя при этом
заключается в выборе определенных рубрик меню. Механизм обращения к модулям ОС упрощается.
Развитие и усложнение средств обработки ОС и командных систем привело к появлению операционных
сред (например, Microsoft Window 3-х, Windows 95), обеспечивающих графический интерфейс с
широчайшим спектром услуг.
С помощью ОС или операционных сред пользователь может активизировать любую нужную ему
программу. В настоящее время на любой вид деятельности существуют, разрабатываются и
совершенствуются 111111, позволяющие пользователям, даже не имеющим хорошей компьютерной
подготовки, эффективно решать специфические задачи обработки информации (подготовка справок,
писем, разработка документов, графическое представление данных и т.д.).
Квалифицированные пользователи, разрабатывающие собственные программные продукты, используют
компоненты САП.
Программы КПТО непосредственного участия в вычислениях не принимают, они только обеспечивают
их. Перед началом вычислений их задачей является проверка работоспособности аппаратуры и
параметров сопряжения перечисленных уровней ПО.
127
Операционные системы
Центральное место в структуре ПО занимает операционная система. Она представляет собой
"систему программ, предназначенную для обеспечения определенного уровня эффективности цифровой
вычислительной системы за счет автоматизированного управления ее работой и предоставляемого
пользователям набора услуг" (ГОСТ 15971-84).
Программные компоненты ОС обеспечивают управление вычислениями и реализуют такие функции, как
планирование к распределение ресурсов, управление вводом-выводом информации, управление данными.
Объем ОС и число составляющих ее программ в значительной степени определяются типом
используемых ЭВМ, сложностью режимов работы ЭВМ и ВС, составом технических средств и т.д.
Применение ОС имеет следующие цели:
• увеличение пропускной способности ЭВМ, т.е. увеличение общего объема работы, выполняемой ЭВМ
в единицу времени;
• уменьшение времени реакции системы, т.е. сокращение интервала времени между моментами
поступления заданий в ЭВМ и моментами получения результатов;
• контроль работоспособности технических и программных средств;
• помощь абонентам и операторам при использовании ими технических и программных средств,
облегчение их работы;
• управление программами и данными в ходе вычислений;
• обеспечение адаптации ЭВМ, ее структурной гибкости, заключающейся в способности изменяться,
пополняться новыми техническими и программными средствами.
Любая ОС имеет средства приспособления к классам решаемых пользователями задач и к
конфигурации средств, включаемых в ВС. Назначение состава услуг, которыми могут пользоваться
абоненты, осуществляется различными методами. В больших ЭВМ формирование конкретной
конфигурации ОС осуществляется на нескольких уровнях. Предварительно этот состав определяется
при генерации ОС. "Генерация системы - это процесс выделения отдельных частей операционной
системы и построения частных операционных систем, отвечающих требованиям системы обработки
данных" (стандарт ISO 2382/10-79). Из полного набора программных модулей ОС (дистрибутива)
формируется специальный набор этих средств, в наибольшей степени отвечающий запросам
пользователей. Коррекция жесостава используемых услуг может быть выполнена непосредственно
перед решением задач операторами вычислительного центра или самими пользователями. Оперативное
обращение к средствам ОС возможно и из программ пользователей, путем включения в них
специальных директив.
Применительно к ПЭВМ типа ЮМ PC, у которых пользователь является одновременно и оператором,
этот процесс видоизменен. Для каждой ПЭВМ создается так называемый системный диск c
соответствующим набором программ дисковой операционной системы (ДОС). При включении
компьютера программой Bios Setup Program (программа начальных установок) обеспечивается запись
основных параметров системы, которые сохраняются в CMOS-памяти компьютера. Окончательная
настройка ДОС производится файлами autoexec.bat и config.sys, а также выполнением отдельных
команд, набираемых в командной строке ДОС.
Для каждого типа ЭВМ возможно использование нескольких типов ОС. Все они имеют несколько
версий. Для ЮМ PC распространение получили MS DOS фирмы Microsoft, OS/2Warp и DOS фирмы
ЮМ, DR DOS фирмы Digital Research, DOS фирмы Novell. Отличия ОС определяются составом и
детализацией системных функций. Более распространенной является MS DOS, она используется в
большинстве компьютеров. Система DR DOS имеет очень развитые средства защиты информации и
разграничение доступа, что предопределяет ее использование в системах с закрытием обрабатываемой
информации. OS/2Warp позволяет более полно использовать возможности самых мощных
микропроцессоров при организации вычислительного процесса. Novell DOS ориентирована на работу
ЭВМ в сети.
Для уяснения процедур планирования вычислениями конкретизируем понятие вычислительного
процесса.
Вычислительный процесс в системе представляется в виде последовательности, как правило,
ветвящейся, простых процессов - одноразовых работ, выполняемых ресурсами ВС. Ресурсы ВС-это
средства, необходимые для вычислений. К ресурсам ВС в первую очередь относят машинное время
ЭВМ (процессоров), объемы внешней и особенно оперативной памяти, любые внешние устройства,
подключаемые к ВС, вплоть до каналов связи. Ресурсами являются и программные средства как общего,
128
так и специального ПО и даже отдельные информационные массивы, например базы данных,
библиотеки и т.д.
Функции управления ресурсами осуществляет операционная система путем построения специальных
управляющих таблиц, отражающих наличие и состояние ресурсов. Связь процессов в цепочки
осуществляется по событиям, где событие - это изменение состояния ресурса, изменение его
характеристик. Именно по событиям ОС включается в работу и адекватно реагирует на сложившуюся
ситуацию.
Управление вычислительным процессом практически не может быть оптимизировано, если не считать
"заложенной стратегии" в саму ОС, так как для этого просто отсутствуют необходимые данные.
Основу любой ОС составляет управляющая программа, основными функциями которой являются:
управление заданиями, управление задачами - управление ходом выполнения отдельных программ, и
управление данными.
Задание - это требование пользователя на выполнение некоторого объема вычислительных работ.
Процедуры управления заданиями обеспечивают предварительное планирование работы ЭВМ и
оперативную связь пользователя и оператора с машиной во время работы. Планирование работы
включает: ввод пакетов или одиночных заданий , формирование очередей заданий в соответствии с их
приоритетами, активизацию (запуск) и завершение заданий.
Каждое задание реализуется как определенная последовательность отдельных программ - задач. Задачи
образуют отдельные программы вместе с обрабатываемыми ими данными. Например, типовое задание
пользователя включает этапы трансляции, редактирования и собственно выполнения сформированной
машинной программы. На каждом из этих этапов выполняется некоторая программа (задача),
обрабатывающая определенные данные. Комплекс программ управления задачами обеспечивает
автоматическое выполнение последовательности программ каждого задания пользователя.
Управление задачами требует распределения и назначения ресурсов (управления временем работы
процессора, распределения оперативной памяти для программ пользователей и программ ПО,
синхронизации выполнения задач и организации связей между ними, управления очередностью задач,
внешними устройствами, защиты задач от взаимных помех). Ведущей программой управления задачами
является управляющая программа-диспетчер: супервизор, базовый модуль ДОС или др. Часто
используемые модули образуют ядро ОС, которое постоянно находится в оперативной памяти и быстро
реагирует на изменяющиеся условия функционирования. Примером такой программы может служить
командный процессор command.com для ПЭВМ типа ЮМ PC. Остальные программы ОС вызываются из
ВЗУ в оперативную память ЭВМ по мере их надобности в вычислительном процессе.
Набор программ управления данными обеспечивает процессы организации, идентификации, размещения
в ОП и на ВЗУ, хранения, построения библиотек и выборки всех данных, которые могут обрабатываться
в ЭВМ.
В ПЭВМ программы управления заданиями представлены достаточно слабо, так как они изначально
создавались как однопользовательские и однозадачные ЭВМ. С появлением ОС типа Windows,
ориентированных на многозадачные и многопользовательские режимы, появились и эти процедуры.
Программы управления задачами и данными представлены достаточно полно. Так, ядро MS DOS
включает следующие системы: файловую, управления памятью, управления программами, связи с
драйверами устройств для управления серийной аппаратурой, обработки ошибок, службы времени,
общения с оператором.
Структурно ОС IBM PC состоит из следующих элементов, представленных на рис.9.3. Кроме
программных компонентов, указанных на рисунке, к ДОС относят еще вспомогательные файлы
autoexec.bat и config.sys. Они предназначаются для настройки на конкретные режимы работы.
129
Программа начальной загрузки (Boot Record) находится в первом секторе на нулевой дорожке
системного диска. Она занимает объем 512 байт. После включения компьютера и его проверки
постоянный модуль BIOS формирует вызов данной программы и ее запуск. Назначением программы
начальной загрузки является вызов модуля расширения IO.sys и базового модуля ДОС MS DOS.sys.
Базовая система ввода-вывода (BIOS) является надстройкой аппаратурной части компьютера.
Постоянный модуль BIOS отвечает за тестирование компьютера после его включения, вызов программы
начальной загрузки. Модули BIOS обрабатывают прерывания вычислительного процесса нижнего
уровня и обслуживают стандартную периферию: дисплей, клавиатуру, принтер, дисководы.
Модуль расширения BIOS обеспечивает подключение к компьютеру дополнительных периферийных
устройств, изменение некоторых параметров ДОС, замещение некоторых стандартных функций,
загрузку командного процессора и его запуск.
Базовый модуль ДОС (MS DOS.sys или IBM DOS.com) отвечает за работу файловой системы,
обслуживает прерывания верхнего уровня (32...63), обеспечивает информационное взаимодействие с
внешними устройствами.
Командный процессор (command.com) предназначен для выполнения команд, загружаемых в
командную строку ДОС. Все команды ДОС делят на внутренние и внешние. Внутренние команды
содержатся внутри самого файла command.com. Внешние команды - это требования запуска каких-либо
программ, находящихся на дисках. Кроме этого, командный процессор выполняет команды файла
autoexec.bat, если он находится на системном диске.
Файл autoexec.bat содержит список команд, выполнение которых позволяет развернуть в оперативной
памяти компьютера некоторый набор вспомогательных программ или пакетов для обеспечения
последующей работы пользователя.
Файл config.sys отражает специфические особенности формирования конфигурации компьютера, т.е.
состава его технических и программных средств.
В связи с постоянным совершенствованием ПЭВМ и улучшением их характеристик (быстродействия и
емкости памяти) все большее число ЭВМ используют более сложные интегрированные ОС типа MS
Windows 95, OS/2 Warp и им подобные.
Системы автоматизации программирования
К системам (или средствам) автоматизации программирования (САП) относят языки
программирования, языковые трансляторы, редакторы, средства отладки и другие вспомогательные
программы.
Языки программирования служат средством передачи информации, средством записи текстов исходных
программ. Поэтому в состав программ общего ПО они не входят. Учитывая важность языковых средств,
рассмотрим их состав более подробно.
В настоящее время известно несколько сотен языков программирования, которые используют
пользователи при разработке своих заданий. Появление новых типов ЭВМ, например ПЭВМ, и новых
областей их применения способствует появлению следующих поколений языковых средств, в большей
степени отвечающих требованиям потребителей.
Вместе с тем число интенсивно применяемых языков программирования относительно невелико. Для
каждого класса ЭВМ всегда существует несколько таких языков, ориентированных на определенные
виды обработки информации, на уровень подготовки пользователей в области программирования. При
выборе языка программирования пользователь должен учитывать, что описание алгоритма решаемой
задачи можно выполнить на любом алгоритмическом языке в силу его универсальности. Однако
изобразительные средства языков очень сильно отличаются, и задача выбора заключается в том, чтобы
выбранный язык наилучшим образом соответствовал требуемым процедурам обработки данных в
задании пользователя. Различают три уровня пользователей, работающих с языковыми средствами:
полъзователи-прикладники, системные программисты и инженерно-технический персонал,
обеспечивающий техническое обслуживание ЭВМ. Каждая категория пользователей использует
определенный набор языков.
Важнейшими характеристиками языка являются трудоемкость программирования и качество
получаемого программного продукта. Качество программ определяется длиной программ (количеством
машинных команд или емкостью памяти, необходимой для хранения программ), а также временем
выполнения этих программ. Для языков различного уровня эти характеристики взаимосвязаны. Чем
выше уровень языка (рис. 9.4), тем меньше трудоемкость программирования, но тем сложнее средства
САП (трансляторы, средства отладки и др.), привлекаемые для получения машинных программ, тем
ниже качество генерируемых программных продуктов.
130
Рис. 9.4. Классификация языков программирования
Машинные языки современных ЭВМ практически не используются для программирования даже
программистами-профессионалами из-за чрезмерной трудоемкости процесса разработки программ. В
редких случаях их используют инженерно-технические работники вычислительных центров для
проверок работы устройств и блоков ЭВМ, для выяснения нестандартных, нештатных ситуаций, когда
другими средствами не удается выявить причины их появления. Применение машинных языков требует
знания специфики представления и преобразования информации в ЭВМ.
Особое место имеют машинно-ориентированные языки (язык Ассемблер, автокоды, языки
символического кодирования и др.). Несмотря на высокую трудоемкость, ими часто пользуются
профессиональные системные программисты, например при разработке программ общего или
специального ПО, особенно в тех случаях, когда эти программы должны быть максимально
компактными и быстродействующими. Пользователям с недостаточной программистской подготовкой
эти языки практически недоступны.
Из процедурно-ориентированных языков широко известны языки Фортран, Алгол, Кобол, Basic, Pascal,
Ада, Си и др. Спектр языков этой группы очень широк, и среди них существует определенная иерархия.
Считается, что язык Basic предназначается для начинающих программистов, язык Pascal -язык для
студентов, это язык "правильного", классического программирования, язык СИ - язык
квалифицированных программистов и т.д. Существуют определенные соглашения в использовании
языков программирования. Так, при создании программ для собственных работ пользователь может
использовать любой язык, даже Basic. При разработке ПО для одного заказчика корректно использовать
язык Pascal, при разработке программных средств для многих потребителей целесообразно
использование языков Си и Ассемблер.
С появлением ПЭВМ наиболее распространенными языками являются Basic и Pascal. Первоначально
они разрабатывались для целей обучения. Их применение обеспечивает быстрый и удобный перенос
программ, написанных на этих языках, с одной ПЭВМ на другую. Наиболее простым языком является
Basic. Трансляторы для этого языка имеются практически на всех ПЭВМ. Язык отличает простота и
наличие средств интерактивной работы, что обеспечило ему популярность среди непрофессиональных
программистов. Однако для построения сложных программ он в силу ограниченных возможностей
(структурирование программ и данных, идентификация переменных и т.д.) подходит плохо.
Современный язык высокого уровня Pascal получил широкое распространение в силу ряда достоинств:
простоты, ясности, сравнительно узкого набора возможных синтаксических конструкций наряду с
семантическим их богатством. Общепризнанно, что он является наилучшим средством для обмена
программами между различными типами ПЭВМ. На основе разработки языка Pascal предложен ряд
новых языков, например язык Модула-2, в котором особое внимание уделяется построению программы
как набора независимых модулей. На базе языка Pascal создан достаточно мощный язык Ада, который
задумывался как универсальный и наиболее перспективный язык программирования. К нему было
приковано внимание разработчиков всех новых типов ЭВМ. Однако широкого распространения этот
язык до сих пор не получил.
Для разработки коммерческих программ больше используется язык Си,
который удачно сочетает в себе средства языка высокого уровня и языка Ассемблер, что позволяет
разрабатывать компактные, быстродействующие, высокоэффективные программные продукты.
Все описанные выше языки программирования используют так называемые пошаговые описания
алгоритмов. Именно в этом и заключается источник большой трудоемкости подготовки задач к
решению. Несомненно, что для машин будущих поколений будут предложены более эффективные
131
средства программирования. Так, например, все больше внимания уделяется разработке проблемноориентированных языков программирования (Симула, GPSS и др.). В этих языках имеется возможность
описывать специфические алгоритмы обработки информации более крупными конструкциями. Это
делает программы пользователей более наглядными, так как каждая используемая конструкция
соответствует вполне определенному объекту, исследуемому пользователем.
Другой интересной тенденцией является появление непроцедурных описательных языков. Конструкции
этих языков констатируют, какой результат желателен пользователю, не указывая, каким образом это
сделать. Примером такого языка служит язык ПРОЛОГ (Программирование ЛОГики), который широко
используется специалистами в области искусственного интеллекта. Конструкции языка соответствуют
не математическим формулам, а определяют отношения между объектами и величинами. Язык состоит
только из описаний и не имеет как таковых команд-инструкций.
В заключение необходимо отметить, что в машинах будущих поколений будут использоваться языки
программирования, имеющие средства распараллеливания вычислительных работ для многомашинных
и многопроцессорных вычислительных систем. Проблемы построения таких языков еще полностью не
разрешены и находятся в стадии исследования.
В состав САП включаются также языковые трансляторы для всех языков, которые используют
пользователи при разработке своих программ. В зависимости от специфики вычислительного центра и
контингента пользователей их состав формируется эмпирически. Обычно же он включает трансляторы
процедурно-ориентированных языков высокого уровня (Pascal, Basic, Си) и машинно-ориентированных
языков ( Ассемблер).
Различают трансляторы двух типов: интерпретаторы и компиляторы.
Трансляторы-интерпретаторы
предназначаются
для
последовательного
пооператорного
преобразования каждого предложения исходного модуля программы в блок машинных команд с
одновременнымих выполнением. Машинная программа в полном объеме при этом не создается,
решение задач пользователей происходит замедленными темпами. Этот вид трансляции рекомендуется
использовать при отладке новых программных продуктов.
Трансляторы-компиляторы, напротив, предназначаются для формирования полного загрузочного
модуля по исходным программам пользователя. Это позволяет отделить полученный программный
продукт от среды его разработки и в последующем использовать его автономно.
Изсистемных обслуживающих программ, широко используемых при подготовке вычислений, следует
выделить редактор, загрузчик, библиотекарь, средства отладки и другие вспомогательные программы.
Назначение программ вытекает из их названия.
Программы пользователей после обработки их транслятором (трансляторами) представляются в виде
набора программных блоков, имеющих промежуточный формат, общий для всех трансляторов.
Специфика исходных языков программирования при этом теряется. Объединение программных блоков
в единую программу выполняет редактор. В зависимости от того, в какой стадии Подготовки к
решению находятся программы абонентов, они могут размещаться в различных библиотеках. Управляет
размещением программ, последующей идентификацией и выборкой библиотекарь. Вызов готовых к
решению программ в оперативную память, активизацию их с учетом их места размещения выполняет
загрузчик.
Средства отладки обеспечивают проверку заданий пользователей, поиск в них различного рода
ошибок, вывод на печать запрашиваемой отладочной информации, распечатку содержимого зон
оперативной памяти, выдачу различных управляющих блоков и таблиц и т.п.
Вспомогательные программы (утилиты) служат для перемещения информации с одного носителя на
другой, разметки накопителей, редактирования информации в наборах данных, сбора информации об
ошибках.
Пакеты программ
Согласно рис.9.1 в 770 ЭВМ имеются две группы пакетов программ: пакеты прикладных программ
(111111) и пакеты, дополняющие возможности С (ППос). С развитием программного обеспечения ЭВМ
наметилась тенденция к слиянию их в единые интегрированные пакеты. Например, операционная среда
Windows может подключать и пакеты MS Office, объединяющие программы для работы экономистаделопроизводителя. Однако невсегда централизованные средства обработки удовлетворяют всем
требованиям пользователей, поэтому многие ЭВМ, наряду с интегрированными пакетами, продолжают
использовать и более эффективные специализированные ППП.
111111 - это комплекс программ, предназначенных для решения определенного класса задач
пользователей. Сначала к 111111 относили только готовые программы, которые регулярно использовал
132
пользователь. Однако каждая рабочая программа постоянно совершенствуется, дополняется,
модифицируется. Поэтому все чаще к 111111 относят наряду с комплексом готовых программ и
программную среду, оболочку, в которой создаются пользовательские программы. Программы вместе
со средой значительно облегчают процессы подготовки и решения задач и во многих случаях не
требуют от пользователя знаний специфических языков и процедур программирования.
111111 имеют известную обособленность. Они разрабатываются обычно независимо от других
компонентов программного обеспечения. Некоторые 111111 могут иметь сложную библиотечную
структуру, собственные средства генерации и документацию. С появлением ПЭВМ широкое
распространение получили следующие прикладные системы, обеспечивающие различные виды работ
пользователей:

Системы обработки текстов (текстовые редакторы).

Системы обработки электронных таблиц.

Системы управления базами данных.

Системы деловой графики.

Коммуникационные системы.

Прикладные системы более узкой ориентации (организация вычислений, поддержка
планирования, финансовые расчеты, системы автоматизации проектирования и др.).
Этот список 111111 во многом отражает интересы пользователей и специфику применения ПЭВМ на
каждом рабочем месте.
Все больше вычислительные машины, и особенно ПЭВМ, используются для обработки
информационных потоков. Использование информации (радио, телевидение, связь, документы и т.п.)
необходимо в деятельности каждого человека, любой фирмы, производства, отрасли и страны в целом.
Основным носителем информации является документ. Для работы с документами предназначаются
первые три системы.
Практически каждый документ содержит текстовую часть. Для работы с текстом предназначаются
текстовые процессоры (Word Processors - WP). В настоящее время известны десятки и сотни WP,
различающиеся направленностью, возможностями, сервисом, качеством формируемых документов.
Независимо от назначения каждый редактор должен обеспечивать выполнение следующих процедур
подготовки текста:

набор текста (см. п.2.2.2);

редактирование текста ( форматирование, поиск и замена данных, работа с фрагментами
текста, подготовка к печати и др.);

печать документов;

ведение архивов документов.
Самые простые редакторы встраиваются в многие пакеты, включая 111111 и ППос. Они имеют
достаточно скромные характеристики. Примерами подобных WP являются: встроенный редактор
командной строки DOS, редактор пакета Norton Commander и др.
Другие редакторы - редакторы широкого назначения, обычно используются автономно. Они получили
большую признательность пользователей и используются повсеместно при отработке документов
различной сложности, от простейших справок до фундаментальных книг (Лексикон, Word, ChiWriter,
MultiEdit и др.). Последние версии редакторов типа Word 6.0, 7.0 for Windows предоставляют
пользователям возможности настольной издательской системы.
Наиболее сложными редакторами являются WP мощных издательских систем, предназначенных для
оформления и полной подготовки к типографскому изданию книг, журналов, буклетов (Aldus
PageMaker, Ventura Publisher). Они позволяют включать в текст фотографии, иллюстрации, графики,
диаграммы, использовать различные шрифты, менять параметры текста, осуществлять перемещение
фрагментов, изменять оформление документа, автоматизировать его верстку.
Системы обработки электронных таблиц, или табличные процессоры, предназначаются для работы с
фактографическими документами. Этот вид документа представляет собой двухмерные таблицы, как
правило, заранее определенной формы, каждая клетка которой содержит значение некоторой
характеристики объекта. Подобные документы являются наиболее распространенными в деятельности
различных отделов, служб, предприятий и т.п. Примерами этих документов могут служить
бухгалтерские ведомости, отчеты, планы, списки и прочее. Такие документы представляются в памяти
ЭВМ в виде электронных таблиц.
133
Отдельные клетки таблиц содержат числовую или текстовую информацию. Числовые данные обычно
подлежат математической обработке по определенным математическим зависимостям или
графическому представлению. Универсальный характер отражения данных и большие возможности их
преобразований способствовали развитию и распространению этого вида программного обеспечения. В
деятельности многих фирм широко используются такие пакеты, как SuperCalc, Lotus 1-2-3, Quattro Pro,
Excel.
Области применения табличных процессоров достаточно широки. Наиболее простые позволяют
обрабатывать табличные данные по формулам, что очень важно при решении задач статистического
анализа и при обработке экспериментальных данных. В более сложных процедурах моделирования и
прогнозирования требуется решать задачи экстраполяции и интерполяции. Соответственно здесь
должны использоваться табличные процессоры с расширенными возможностями.
Все табличные процессоры обеспечивают графическое представление данных. Для этого к ним
подключают графические редакторы, обеспечивающие воспроизведение разнообразных графиков
(диаграмм): круговых, столбиковых, линейных, трехмерных и т.д. Самые мощные ППП имеют
встроенные языки макропрограммирования, что позволяет их использовать в системах автоматизации
проектирования.
Еще одной группой ППП являются системы управления базами данных (СУБД). Они появились, когда
ЭВМ стали использоваться в контуре управления технологическими процессами и людскими
коллективами. Разработка различных автоматизированных систем управления предполагает создание в
памяти ЭВМ информационных моделей объектов управления -больших информационных массивов,
получивших название “база данных”.
База данных (БД) - это совокупность взаимосвязанных данных, хранящихся совместно в памяти ЭВМ.
Каждая БД состоит из записей. Запись образует подмножество данных, служащих для описания
единичного объекта. Например, фамилия, имя, отчество, год рождения, адрес, место работы, номер
телефона могут составлять одну запись и характеризовать одного человека. Информационный массив
может содержать записи по отдельным цехам, службам, отделам всего предприятия. Назначением БД
является удовлетворение информационных потребностей пользователей. СУБД автоматизирует работу
пользователей с хранящимися данными. Количество информационных массивов в БД и их объем
зависят от сложности создаваемой системы. Ядро БД составляет информация, наиболее часто
используемая в процессах управления. Согласно принципу В. Парето (итальянский экономист ХЕХ в.)
20% всей информации обеспечивают более 80% всех задач управления. Эта часть в первую очередь и
подлежит автоматизации.
Достаточно мощные СУБД позволяют значительно автоматизировать процессы управления и
удовлетворять до 90-95% потребностей управленческого аппарата. Одним из основных назначений
СУБД является автоматизация документооборота. На основе хранящейся информации можно
автоматически формировать любые стандартные документы. Дополнительно к этому СУБД позволяет
обращаться к данным и с нестандартными запросами для получения каких-либо справок, обобщений.
СУБД поддерживает диалоговый режим работы пользователей, в котором запросы данных и реакция
системы побуждают к формированию более точных запросов и исследованию данных.
СУБД обеспечивает ввод, поиск, сортировку данных, составление отчетов. Они имеют возможность
сопряжения с табличными процессорами для специфической обработки и графического представления
данных. В настоящее время широко используются СУБД: Dbase IV (V), Fox Pro, Paradox, Clipper, Access
и др. Все они, в свою очередь, состоят из языковых и программных средств. Различие между ними
состоит в предлагаемом сервисе и удобствах работы.
Графические редакторы (ГР) позволяют создавать и редактировать на экране компьютера различные
рисунки, диаграммы, картинки. Своеобразие их построения заключается в том, что на экране
информация представляется в виде точек, линий, окружностей, прямоугольников, кривых. Элементы
рисунков могут использовать различное сочетание цветов, шрифтов, форматов. Допускается работа с
фрагментами рисунков. Некоторые ППП имеют собственные встроенные графические редакторы. Они
ориентированы на специфические режимы работы (графики, диаграммы). Некоторые редакторы
допускают автономную работу, что очень важно в системах деловой и научной графики. Например,
графический редактор Paintbrush for Windows позволяет создавать фрагменты изображений и включать
их в другие программные продукты.
По мере накопления опыта разработки и применения 111111 пользователи стали переходить к
эксплуатации интегрированных систем, объединяющих наиболее часто используемые прикладные
системы и пакеты. Сочетание различных видов обработки в рамках единой операционной среды создает
134
дополнительные удобства пользователям. Упрощение общения достигается путем разработки
дружественного ПО путем подсказок, инструкций, предоставления вариантов действий и т.д. Фирмы разработчики таких пакетов стараются сохранить в них единые принципы представления информации,
управления и работы.
Интегрированные пакеты программ можно рассматривать как дальнейшую надстройку ОС, так как в
них аккумулируются средства, определяющие специфику работы конкретного пользователя. В этом они
становятся похожи на пакеты программ, дополняющие возможности ОС (ППос). Обычно ППос
содержат средства более общего характера. Например, ППос больших ЭВМ условно можно разделить
на три группы: .
• пакеты, обеспечивающие специфические режимы работы под управлением ОС (работа в
многомашинных и многопроцессорных системах, работа в сети ЭВМ, реализация определенных
режимов и т.д.). К этой же группе относятся и пакеты программ для управления специальными
техническими средствами;
• 1111 общего назначения для научно-технических расчетов, задач математического программирования
и т.п.;
• ПП, ориентированные на применение ЭВМ в АСУ. Данные пакеты включают программы обработки
документов, программы формирования и поисковых систем и т.п.
9.5. Комплекс программ технического обслуживания
Особенности состава технических средств ЭВМ учитываются комплексом программ технического
обслуживания (КПТО). Этот комплекс включает в свой состав наладочные, проверочные и
диагностические тест-программы.
Наладочные программы обеспечивают автономную настройку и проверку отдельных устройств ЭВМ.
Обычно они функционально независимы от программ ОС. Проверочные тест-программы
предназначены для периодически проводимых проверок правильности функционирования устройств,
например после включения их в работу. Диагностические программы используются в тех случаях, когда
необходимо классифицировать отказ оборудования и локализовать место неисправности.
Инициирование работы этих программ осуществляется обычно модулями ОС после фиксации сбоев и
отказов аппаратуры контроля.
Проверочные тест-программы занимают особое место в КПТО. Их выполнение непосредственно перед
вычислениями позволяет убедиться в исправности технических средств системы, а значит, повысить
достоверность результатов обработки данных.
У IBM PC эти средства имеют своеобразную структурную и функциональную организацию. Часть этих
средств записана в ПЗУ компьютера. При каждом включении ПЭВМ и перезагрузках производится ее
предварительная проверка путем выполнения тестовой программы POST (Power On Set Test), состоящей
из более десятка отдельных программных фрагментов. Последовательность проверок заключается в
следующем. Вначале проверяется работоспособность системного блока. Для этого все регистры
машины "сбрасываются в нуль", и производится их последовательная проверка путем занесения
отдельных констант, выполнения над ними простейших операций и сравнения результатов с
эталонными значениями. После этого проверяются ячейки оперативной памяти (тесты оперативной
памяти при перезагрузках системы от клавиш <Ctrl>+<Alt>+<Del> игнорируются). После этого
проверяется стандартная периферия: клавиатура, накопители на дисках, дисплей и др. В случае какихлибо ошибок на каждом шаге проверки формируются определенные звуковые сигналы,
сопровождаемые соответствующими сообщениями на экране дисплея.
Кроме встроенных средств контроля, в ПО ПЭВМ включаются и автономные средства контроля и
диагностики. Количество подобных комплектов программ достаточно велико, и каждый их них
позволяет детализировать системную информацию: определение полной конфигурации ПК и
характеристик отдельных ее частей (тип процессора, наличие сопроцессора, тип материнской платы,
типы используемых дисков, объем оперативной памяти и ее распределение, подключение
дополнительной периферии и т.д.).
Помимо контроля работоспособности, они могут отразить, насколько эффективно используются
ресурсы, и осуществить их перераспределение.
Все пользователи стараются пополнить программное обеспечение ПЭВМ вспомогательными
системными программами-утилитами. Эти программы напрямую в вычислительном процессе не
используются, а обеспечивают необходимый и разнообразный сервис при подготовке заданий
пользователями. Часть таких программ может быть объединена в пакеты. Широкое распространение
получили такие пакеты, как Norton Utilites, PC Tool Deluxe и др. Примерами подобных программ могут
135
быть: программы-архиваторы, антивирусные программы, программы обслуживания дисков
(оптимизация дисков, сжатие информации на дисках, определение состояния диска) и др. .
9.6. Режимы работы ЭВМ
Операционные системы предоставляют пользователям достаточно широкий спектр вычислительных
услуг, упрощая процесс использования ЭВМ. Прежде всего это касается разнообразия режимов работы
машин, обеспечиваемых ОС. Под режимом работы понимают принципы структурной и
функциональной организации аппаратных и программных средств. В общем случаережимы
использования ЭВМ подразделяют на однопрограммные и многопрограммные.
Исторически однопрограммные режимы появились первыми. При их реализации все основные ресурсы
ЭВМ (время работы процессора , оперативная память и др.) полностью отдаются в монопольное
владение пользователя. Однопрограммный режим может иметь модификации: однопрограммный режим
непосредственного доступа и однопрограммный режим косвенного доступа.
В режиме непосредственного доступа, пользователь получает ЭВМ в полное распоряжение: он сам
готовит ЭВМ к работе, загружает задания, инициирует их, наблюдает за ходом решения и выводом
результатов. По окончании работ одного пользователя все ресурсы ЭВМ передаются в распоряжение
другого (рис.9.5, а). Этот тип режима характеризуется весьма низкой полезной загрузкой технических
средств. К снижению производительности ЭВМ из-за простоев процессора приводят затраты времени на
подготовку ЭВМ к работе (включение, проверка, загрузка ОС, ввод заданий и т.д.) и большое время
реакции пользователя. По этим причинам режим практически не используется в универсальных ЭВМ.
Напротив, в ПЭВМ этот режим используется как основной, поскольку в этих типах ЭВМ главным
критерием эффективной работы считается обеспечение максимальных удобств пользователю.
В режиме косвенного доступа пользователь не имеет прямого контакта с ЭВМ. Этот режим был
предшественником многопрограммных режимов в ЭВМ высокой и средней производительности, он
имел целью обеспечить более полную загрузку процессора за счет сокращения непроизводительных его
простоев. В настоящее время он практически не используется, так как время работы процессоров в
современных ЭВМ не является главным ресурсом системы, но принципы построения этого режима
позволяют лучше уяснить сущность многопрограммной обработки.
Суть режима состоит в следующем.
Из подготовленных заданий пользователей составляется пакет заданий. Процессор обслуживает
программы пользователей строго в порядке их следования в пакете. Процесс выполнения очередной
программы не прерывается до полного ее завершения. Только после этого процессор как ресурс
отдается в монопольное владение следующей очередной программе. Как видно, доступ пользователя к
ресурсам ЭВМ осуществляется косвенно средствами ОС, организующими автоматический переход от
обслуживания одного задания пользователя к другому. Благодаря этому режим часто называют
последовательной пакетной обработкой. При нем обеспечивается параллельная работа устройств
ввода-вывода и процессора (рис.9.5,6). Это позволяет значительно повысить производительность ЭВМ
за счет сокращения простоев.
Рис. 9.5. Однопрограммные режимы работы: а - режим непосредственного доступа; б- режим
косвенного доступа
Режим косвенного доступа имеет существенный недостаток. Он не позволяет полностью исключить
случаи простоя процессора или непроизводительного его использования. Всякий раз, когда очередная
программа, вызванная в процессор, предварительно не обеспечена данными, процессор вынужден
простаивать. При этом резко снижается эффективность использования ЭВМ. Этот случай отражен на
рис.9.5, б на примере выполнения задания В. Неэффективно работает ЭВМ и тогда, когда
обрабатываемые программы захватывают процессор на длительное время. В этих случаях остальные
программы пакета остаются без обслуживания. Особо опасны ситуации, в которых текущая программа
не выходит на завершение (например, "испортилась" после сбоя во время решения или некорректно
136
сформирована пользователем). В этом режиме у ЭВМ отсутствуют средства разрешения подобных
конфликтов, и требуется вмешательство оператора.
Многопрограммный режим работы ЭВМ позволяет одновременно обслуживать несколько программ
пользователей. Реализация режима требует соблюдения следующих непременных условий:
• независимости подготовки заданий пользователями;
• разделения ресурсов ЭВМ в пространстве и времени;
• автоматического управления вычислениями.
Независимость подготовки заданий пользователями обеспечивается развитыми средствами САП.
Используя имеющиеся языки программирования, пользователи не должны учитывать ситуации, в
которых может произойти одновременное их обращение к одним и тем же ресурсам ЭВМ. Они могут
использовать даже одинаковые идентификаторы, обращаться к одним и тем же библиотекам программ и
массивам данных, задействовать одни и те же устройства и т.д. Очереди к общим ресурсам должны
обслуживаться средствами ОС, не создавая взаимных помех пользователям.
Разделение ресурсов ЭВМ между программами пользователей обеспечивается аппаратнопрограммными средствами системы. Программы управления заданиями ОС определяют виды
требуемых ресурсов в заданиях пользователей и регламентируют их использование. Перспективное
планирование при этом отсутствует, так как заранее определить динамику последующих вычислений
практически невозможно. Отдельные виды ресурсов, например области оперативной и внешней памяти,
допускают одновременное их использование программами пользователей. В этом случае пространство
адресов памяти разбивается на непересекающиеся зоны или разделы. "Охрану границ" этих зон
обеспечивают схемы защиты памяти - аппаратурные и программные средства ЭВМ.
Некоторые виды ресурсов допускают только последовательное их использование программами
пользователей, например, в однопроцессорной ЭВМ время работы единственного процессора является
неразделяемым ресурсом. Его использование предполагает упорядочение потока заявок и поочередное
его использование программами. В современных ЭВМ упорядочение потока заявок обеспечивается на
основе их приоритетов, где приоритет - некоторая априорная характеристика заявки, определяющая ее
место в очереди на обслуживание. Формирование очередей обеспечивают программные компоненты
ОС. Обслуживание очередей заявок выполняется с использованием системы прерываний и приоритетов.
Последняя выделяет из группы одновременно поступающих заявок одну, наиболее приоритетную.
Автоматическое управление вычислительным процессом в многопрограммном режиме выполняется
центральной программой управления задачами. Сущность управления сводится к управлению
ресурсами. При этом ОС составляет таблицы управления, выделяет ресурсы, запускает их в работу и
корректирует таблицы.
Различные формы многопрограммных (мультипрограммных) режимов работы различаются в
основном значимостью различного рода ресурсов и правилами перехода от обслуживания одной
программы пользователя к другой. Эти правила отличаются условиями прерывания текущей программы
и условиями выбора новой программы из очереди, которой передается управление.
Различают следующие виды многопрограммной работы: классическое мультипрограммирование, режим
разделения времени, режим реального времени и целый ряд производных от них.
Режим классического мультипрограммирования, или пакетной обработки, применительно к
однопроцессорным ЭВМ является основой для построения всех других видов многопрограммной
работы. Режим имеет целью обеспечить минимальное время обработки пакета заданий и максимально
загрузить процессор.
Пакет заданий упорядочивается в соответствии с приоритетами заданий, и обслуживание программ
ведется в порядке очередности. Обычно процессор обслуживает наиболее приоритетную программу.
Как только ее решение завершается, процессор переключается на следующую по приоритетности
программу. В этом режим во многом похож на режим косвенного доступа. В режиме
мультипрограммирования имеется существенное отличие. Если при обслуживании наиболее
приоритетной программы создается ситуация, что вычисления не могут быть продолжены (например,
требуется ввести дополнительные данные), то прерывание обслуживания сопровождается передачей
управления следующей по приоритетности программе. Но как только условия, препятствующие
продолжению наиболее приоритетной задачи, отпадут, процессор вновь возвращается к продолжению
решения ранее прерванной программы. Этот случай иллюстрируется на рис. 9.6 при выполнении
задания В.
137
Рис. 9.6. Многопрограммный режим пакетной обработки
Подобные прерывания и передачи управления могут многократно наслаиваться друг на друга. Это
позволяет до минимума сократить непроизводительные простои процессора.
Из вышеизложенного следует, что в однопроцессорных ЭВМ многопрограммность является кажущейся,
так как процессор предоставляется программам в непересекающиеся интервалы времени. Уменьшение
времени обслуживания обеспечивается также за счет параллельной работы процессора и устройств
ввода-вывода.
В качестве недостатка надо отметить, что в режиме мультипрограммирования улучшение качества
обслуживания пользователей по сравнению с косвенным доступом не предусматривается. Здесь также
отдельные программы могут надолго монополизировать процессор, блокируя тем самым программы
других пользователей.
Режим разделения времени является более развитой формой многопрограммной работы ЭВМ. В этом
режиме, обычно совмещенном с фоновым режимом классического мультипрограммирования,
отдельные наиболее приоритетные программы пользователей выделяются в одну или несколько групп.
Для каждой такой группы устанавливается круговое циклическое обслуживание, при котором каждая
программа группы периодически получает для обслуживания достаточно короткий интервал времени время кванта-т (рис.9.7).
Рис. 9.7. Режим разделения времени
После завершения очередного цикла процесс выделения квантов повторяется. Это создает у
пользователей впечатление кажущейся одновременности выполнения их программ. Если пользователю
к тому же предоставляются средства прямого доступа для вывода результатов решения, то это
впечатление еще более усиливается, так как результаты выдаются в ходе вычислений по программе, не
ожидая завершения обслуживания всех программ группы или пакета в целом.
Условием прерывания текущей программы является либо истечение выделенного кванта времени, либо
естественное завершение (окончание) решения, либо прерывание по вводу-выводу, как при
классическом мультипрограммировании. Для реализации режима разделения времени необходимо,
чтобы ЭВМ имела в своем составе развитую систему измерения времени:
интервальный таймер, таймер процессора, электронные часы и т.д. Это позволяет формировать группы
программ с постоянным или переменным кванта времени - т . Разделение времени находит широкое
применение при обслуживании ЭВМ сети абонентских пунктов.
Более сложной формой разделения времени является режим реального времени. Этот режим имеет
специфические особенности:
• поток заявок от абонентов носит, как правило, случайный, непредсказуемый характер;
138
• потери поступающих на вход ЭВМ заявок и данных к ним не допускаются, поскольку их не всегда
можно восстановить;
• время реакции ЭВМ на внешние воздействия, а также время выдачи результатов i-й задачи должны
удовлетворять жестким ограничениям вида
tP<= tРДОП(9.1)
где tP - время решения задачи; tРДОП - допустимое время решения.
На рис.9.8 показана зависимость стоимости решения задачи от времени tP. При нарушении неравенства
(9.1) стоимость решения резко падает до нуля; в отдельных системах она может стать и отрицательной,
что показано штриховой линией. Режим реального времени объединяет практически все системы, в
которых ЭВМ используется в контуре управления.
Рис. 9.8. Зависимость стоимости решения от времени в системах реального времени
Специфические особенности режима реального времени требуют наиболее сложных операционных
систем. Именно на базе этого режима строятся так называемые диалоговые системы, обеспечивающие
многопользовательский режим: одновременную работу нескольких пользователей с ЭВМ. Диалоговые
системы могут иметь различное содержание: системы, обслуживающие наборы данных; системы
разработки документов, программ, схем, чертежей; системы выполнения программ в комплексе
"человек - машина" и др. Диалоговый режим обслуживания предполагает использование дисплеев устройств оперативного взаимодействия с ЭВМ. Они получили широкое распространение в различных
информационных и автоматизированных системах управления.
Глава 10. ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
Классификация вычислительных систем
Вычислительные машины за свою полувековую историю прошли стремительный и впечатляющий путь,
отмеченный частыми сменами поколений ЭВМ. В этом процессе развития можно выявить целый ряд
закономерностей:

весь период развития средств электронной вычислительной техники (ЭВТ) отмечен
доминирующей ролью классической структуры ЭВМ (структуры фон Неймана), основанной на
методах последовательных вычислений;

основным направлением совершенствования ЭВМ является неуклонный рост
производительности (быстродействия) и интеллектуальности вычислительных средств;

совершенствование ЭВМ осуществлялось в комплексе (элементно-конструкторская база,
структурно-аппаратурные
решения,
системно-программный
и
пользовательский,
алгоритмический уровни);

в настоящее время наметился кризис классической структуры ЭВМ, связанный с исчерпанием
всех основных идей последовательного счета. Возможности микроэлектроники также не
безграничны, давление пределов ощутимо и здесь.
Дальнейшее поступательное развитие вычислительной техники напрямую связано с переходом к
параллельным вычислениям, с идеями построения многопроцессорных систем и сетей, объединяющих
большое количество отдельных процессоров и (или) ЭВМ. Здесь появляются огромные возможности
совершенствования средств вычислительной техники. Но следует отметить, что при несомненных
139
практических достижениях в области параллельных вычислений до настоящего времени отсутствует их
единая теоретическая база.
Термин вычислительная система появился в начале - середине 60-х гг. при появлении ЭВМ III
поколения. Это время знаменовалось переходом на новую элементную базу - интегральные схемы.
Следствием этого явилось появление новых технических решений: разделение процессов обработки
информации и ее ввода-вывода, множественный доступ и коллективное использование вычислительных
ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ многопользовательская и многопрограммная обработка.
Отражая эти новшества, и появился термин “вычислительная система”. Он не имеет единого толкования
в литературе, его иногда даже используют применительно к однопроцессорным ЭВМ. Однако общим
здесь является подчеркивание возможности построения параллельных ветвей в вычислениях, что не
предусматривалось классической структурой ЭВМ.
Под вычислительной системой (ВС) будем понимать совокупность взаимосвязанных и
взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного
обеспечения, предназначенную для подготовки и решения задач пользователей. Отличительной
особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей,
реализующих параллельную обработку. Создание ВС преследует следующие основные цели:
повышение производительности системы за счет ускорения процессов обработки данных, повышение
надежности и достоверности вычислений, предоставление пользователям дополнительных сервисных
услуг и т.д.
Параллелизм в вычислениях в значительной степени усложняет управление вычислительным
процессом, использование технических и программных ресурсов. Эти функции выполняет
операционная система ВС.
Самыми важными предпосылками появления и развития вычислительных систем служат экономические
факторы. Анализ характеристик ЭВМ различных поколений показал, что в пределах интервала времени,
характеризующегося относительной стабильностью элементной базы, связь стоимости и
производительности ЭВМ выражается квадратичной зависимостью - “законом Гроша”.
Сэвм=К1.П 2эвм
Построение же вычислительных систем позволяет существенно сократить затраты, так как для них
существует линейная формула:
Сэвм=К2.Пi
где Сэвм, Cвс - соответственно стоимость ЭВМ и ВС; К1 и К2 - коэффициенты пропорциональности,
зависящие от технического уровня развития вычислительной техники; Пэвм , Пi - производительность
ЭВМ и i-roиз n комплектующих вычислителей (ЭВМ или процессоров).
На рис. 10.1 представлены графики изменения стоимости вычислений для ЭВМ и ВС. Для каждого
поколения ЭВМ и ВС существует критический порог сложности решаемых задач Пкр, после которого
применение автономных ЭВМ становится экономически невыгодным, неэффективным. Критический
порог определяется точкой пересечения двух приведенных зависимостей.
Рис. 10.1. Зависимость стоимости Свс и Сэвм от производительности
140
Кроме выигрыша в стоимости технических средств, следует учитывать и дополнительные
преимущества. Наличие нескольких вычислителей в системе позволяет совершенно по-новому решать
проблемы надежности, достоверности результатов обработки, резервирования, централизации хранения
и обработки данных, децентрализации управления и т.д.
Основные принципы построения, закладываемые при создании ВС:
• возможность работы в разных режимах;
• модульность структуры технических и программных средств, что позволяет совершенствовать и
модернизировать вычислительные системы без коренных их переделок;
• унификация и стандартизация технических и программных решений;
• иерархия в организации управления процессами;
• способность систем к адаптации, самонастройке и самоорганизации;
• обеспечение необходимым сервисом пользователей при выполнении вычислений.
В настоящее время накоплен большой практический опыт в разработке и использовании ВС самого
разнообразного применения. Эти системы очень сильно отличаются друг от друга своими
возможностями и характеристиками. Различия наблюдаются уже на уровне структуры.
Структура ВС - это совокупность комплексируемых элементов и их связей. В качестве элементов ВС
выступают отдельные ЭВМ и процессоры. В ВС, относящихся к классу больших систем, можно
рассматривать структуры технических, программных средств, структуры управления и т.д.
Существует большое количество признаков, по которым классифицируют вычислительные системы: по
целевому назначению и выполняемым функциям, по типам и числу ЭВМ или процессоров, по
архитектуре системы, режимам работы, методам управления элементами системы, степени
разобщенности элементов вычислительной системы и др. Однако основными из них являются признаки
структурной и функциональной организации вычислительной системы.
По назначению вычислительные системы делят на универсальные и специализированные.
Универсальные ВС предназначаются для решения самых различных задач. Специализированные
системы ориентированы на решение узкого класса задач. Специализация ВС может устанавливаться
различными средствами:
• во-первых, сама структура системы (количество параллельно работающих элементов, связи между
ними и т.д.) может быть ориентирована на определенные виды обработки информации: матричные
вычисления, решение алгебраических, дифференциальных и интегральных уравнений и т.п. Практика
разработки ВС типа суперЭВМ показала, чем выше их производительность, тем уже класс эффективно
решаемых ими задач;
• во-вторых, специализация ВС может закладываться включением в их состав специального
оборудования и специальных пакетов обслуживания техники.
По типу вычислительные системы различаются на многомашинные и многопроцессорные ВС.
Многомашинные вычислительные системы (ММС) появились исторически первыми. Уже при
использовании ЭВМ первых поколений возникали задачи повышения производительности, надежности
и достоверности вычислений. Для этих целей использовали комплекс машин, схематически показанный
на рис. 10.2, а.
Положения 1 и 3 электронного ключа (ЭК) обеспечивало режим повышенной надежности. При этом
одна из машин выполняла вычисления, а другая находилась в “горячем” или “холодном” резерве, т.е. в
готовности заменить основную ЭВМ. Положение 2 электронного ключа соответствовало случаю, когда
обе машины обеспечивали параллельный режим вычислений. Здесь возможны две ситуации:
а) обе машины решают одну и ту же задачу и периодически сверяют результаты, решения. Тем самым
обеспечивался режим повышенной достоверности, уменьшалась вероятность появления ошибок в
результатах вычислений. Примерно по такой же схеме построены управляющие бортовые
вычислительные комплексы космических аппаратов, ракет, кораблей. Например, американская
космическая система “Шатл” содержала пять вычислительных машин, работающих по такой схеме;
б) обе машины работают параллельно, но обрабатывают собственные потоки заданий. Возможность
обмена информацией между машинами сохраняется. Этот вид работы относится к режиму повышенной
производительности. Она широко используется в практике организации работ на крупных
вычислительных центрах, оснащенных несколькими ЭВМ высокой производительности.
Схема, представленная на рис. 10.2, a, была неоднократно повторена в различных модификациях при
проектировании разнообразных специализированных ММС. Основные различия ММС заключаются,
как правило, в организации связи и обмена информацией между ЭВМ комплекса. Каждая из них
сохраняет возможность автономной работы и управляется собствен ной ОС. Любая другая
141
подключаемая ЭВМ комплекса рассматривается как специальное периферийное оборудование. В
зависимости от территориальной разобщенности ЭВМ и используемых средств сопряжения
обеспечивается различная оперативностьих информационного взаимодействия. Характеристика
возможных уровней и средств взаимодействия изложена в п.10.3.
Рис. 10.2. Типы ВС: а - многомашинные комплексы; б - многопроцессорные системы
Многопроцессорные вычислительные системы (МПС) строятся при комплексировании нескольких
процессоров (рис. 10.2, б). В качестве общего ресурса они имеют общую оперативную память (ООП).
Параллельная работа процессоров и использование ООП обеспечиваются под управлением единой
общей операционной системы. По сравнению с ММС здесь достигается наивысшая оперативность
взаимодействия вычислителей-процессоров. Многие исследователи [27] считают, что использование
МПС является основным магистральным путем развития вычислительной техники новых поколений.
Однако МПС имеют и существенные недостатки. Они в первую очередь связаны с использованием
ресурсов общей оперативной памяти. При большом количестве комплексируемых процессоров
возможно возникновение конфликтных ситуаций, когда несколько процессоров обращаются с
операциями типа “чтение” и “запись” к одним и тем же областям памяти. Помимо процессоров к ООП
подключаются все каналы (процессоры ввода-вывода), средства измерения времени и т.д. Поэтому
вторым серьезным недостатком МПС является проблема коммутации абонентов и доступа их к ООП. От
того, насколько удачно решаются эти проблемы, и зависит эффективность применения МПС. Это
решение обеспечивается аппаратурно-программными средствами. Процедуры взаимодействия очень
сильно усложняют структуру ОС МПС. Накопленный опыт построения подобных систем показал, что
они эффективны при небольшом числе комплексируемых процессоров (2,4 до 10). В отечественных
системах Эльбрус обеспечивалась возможность работы до десяти процессоров, до 32 модулей памяти,
до 4 процессоров ввода-вывода и до 16 процессоров связи. Все связи в системе обеспечивались
коммутаторами.
Создание подобных коммутаторов представляет сложную техническую задачу, тем более что они
должны быть дополнены буферами для организации очередей запросов. Для разрешения конфликтных
ситуаций необходимы схемы приоритетного обслуживания. До настоящего времени в номенклатуре
технических средств ЭВТ отсутствуют высокоэффективные коммутаторы общей памяти.
По типу ЭВМ или процессоров, используемых для построения ВС, различают однородные и
неоднородные системы. Однородные системы предполагают комплексирование однотипных ЭВМ
(процессоров), неоднородные - разнотипных. В однородных системах значительно упрощаются
разработка и обслуживание технических и программных (в основном ОС) средств. В них
обеспечивается возможность стандартизации и унификации соединений и процедур взаимодействия
элементов системы. Упрощается обслуживание систем, облегчаются модернизация и их развитие.
Вместе с тем существуют и неоднородные ВС, в которых комплексируемые элементы очень сильно
отличаются по своим техническим и функциональным характеристикам. Обычно это связано с
необходимостью параллельного выполнения многофункциональной обработки. Так, при построении
ММС, обслуживающих каналы связи, целесообразно объединять в комплекс связанные,
142
коммуникационные машины и машины обработки данных. В таких системах коммуникационные ЭВМ
выполняют функции связи, контроля получаемой и передаваемой информации, формирования пакетов
задач и т.д. ЭВМ обработки данных не занимаются не свойственными им работами по обеспечению
взаимодействия в сети, а все их ресурсы переключаются на обработку данных. Неоднородные системы
находят применение и в МПС. Многие ЭВМ, в том числе и ПЭВМ, могут использовать сопроцессоры:
десятичной арифметики, матричные и т.п.
По степени территориальной разобщенности вычислительных модулей ВС делятся на системы
совмещенного (сосредоточенного) и распределенного(разобщенного) типов. Обычно такое деление
касается только ММС. Многопроцессорные системы относятся к системам совмещенного типа. Более
того, учитывая успехи микроэлектроники, это совмещение может быть очень глубоким. При появлении
новых СБИС (сверхбольших интегральных схем) появляется возможность иметь в одном кристалле
несколько параллельно работающих процессоров.
Совмещенные и распределенные ММС сильно различаются оперативностью взаимодействия в
зависимости от удаленности ЭВМ. Время передачи информации между соседними ЭВМ, соединенными
простым кабелем, может быть много меньше времени передачи данных по каналам связи. Как правило,
все выпускаемые в мире ЭВМ имеют средства прямого взаимодействия и средства подключения к сетям
ЭВМ. Для ПЭВМ такими средствами являются нуль-модемы, модемы и сетевые карты как элементы
техники связи.
По методам управления элементами ВС различают централизованные, децентрализованные и со
смешанным управлением. Помимо параллельных вычислений, производимых элементами системы,
необходимо выделять ресурсы на обеспечение управления этими вычислениями. В централизованных
ВС за это отвечает главная, или диспетчерская, ЭВМ (процессор). Ее задачей являются распределение
нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация
взаимодействия. Централизованный орган управления в системе может быть жестко фиксирован или
эти функции могут передаваться другой ЭВМ (процессору), что способствует повышению надежности
системы. Централизованные системы имеют более простые ОС. В децентрализованных системах
функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет
известную автономию, а необходимое взаимодействие между элементами устанавливается по
специальным наборам сигналов. С развитием ВС и, в частности, сетей ЭВМ интерес к
децентрализованным системам постоянно растет.
В системах со смешанным управлением совмещаются процедуры централизованного и
децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного
процесса исходя из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают
системы с жестким и плавающим закреплением функций. В зависимости от типа ВС следует решать
задачи статического или динамического размещения программных модулей и массивов данных,
обеспечивая необходимую гибкость системы и надежность ее функционирования.
По режиму работы ВС различают системы, работающие в оперативном и неоперативном временных
режимах. Первые, как правило, используют режим реального масштаба времени. Этот режим
характеризуется жесткими ограничениями на время решения задач в системе и предполагает высокую
степень автоматизации процедур ввода-вывода и обработки данных.
Наибольший интерес у исследователей всех рангов (проектировщиков, аналитиков и пользователей)
вызывают структурные признаки ВС. От того, насколько структура ВС соответствует структуре
решаемых на этой системе задач, зависит эффективность применения ЭВМ в целом. Структурные
признаки, в свою очередь, отличаются многообразием: топология управляющих и информационных
связей между элементами системы, способность системы к перестройке и перераспределению функций,
иерархия уровней взаимодействия элементов. В наибольшей степени структурные характеристики
определяются архитектурой системы.
Архитектура вычислительных систем
Большое разнообразие структур ВС затрудняет их изучение. Поэтому их классифицируют с учетом их
обобщенных характеристик. С этой целью вводится понятие архитектура системы.
Архитектура ВС - совокупность характеристик и параметров, определяющих функциональнологическую и структурную организацию системы. Понятие архитектуры охватывает общие принципы
построения и функционирования, наиболее существенные для пользователей, которых больше
интересуют возможности систем, а не детали их технического исполнения. Поскольку ВС появились как
параллельные системы, то и рассмотрим классификацию архитектур под этой точкой зрения.
143
Эта классификация архитектур была предложена Флинном (M. Flynn) в начале 60-х гг. В ее основу
заложено два возможных вида параллелизма: независимость потоков заданий (команд), существующих
в системе, и независимость (несвязанность) данных, обрабатываемых в каждом потоке. Классификация
до настоящего времени еще не потеряла своего значения. Однако подчеркнем, что, как и любая
классификация, она носит временный и условный характер. Своим долголетием она обязана тому, что
оказалась справедливой для ВС, в которых ЭВМ и процессоры реализуют программные
последовательные методы вычислений. С появлением систем, ориентированных на потоки данных и
использующих ассоциативную обработку, классификация может быть некорректной.
Согласно данной классификации существуют четыре основные архитектуры ВС, представленные на
рис. 10.3:
1) одиночный поток команд - одиночный поток данных (ОКОД), в английской аббревиатуре Single
Instruction Single Data (SISD), - одиночный поток инструкций - одиночный поток данных;
2) одиночный поток команд - множественный поток данных (ОКМД), или Single Instruction Multiple
Data (SIMD), - одиночный поток инструкций -множественный поток данных;
3)множественный поток команд - одиночный поток данных (МКОД), или Multiple Instruction Single Data
(MISD), - множественный поток инструкций - одиночный поток данных;
4)множественный поток команд - множественный поток данных (МКМД), или Multiple histruction
Multiple Data (MIMD), - множественный поток инструкций - множественный поток данных.
Рис. 10.3. Архитектура ВС: а - ОКОД (SISD)-архитектура; б - ОКМД (SIMD)-архитектура; в - МКОД
(MISD)-архитектура; г - МКМД (MIMD)-архитектура
Коротко рассмотрим отличительные особенности каждой1 из архитектуры
Архитектура ОКОД охватывает все однопроцессорные и одномашинные варианты систем, т.е. с
одним вычислителем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм
вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а
также параллельной работой устройств ввода-вывода информации и процессора. Закономерности
организации вычислительного процесса в этих структурах достаточно хорошо изучены.
Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы
этого типа обычно строятся как однородные, т.е. процессорные элементы, входящие в систему,
идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый
процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц
или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и
дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно
обеспечивать соединения между процессорами, соответствующие реализуемым математическим
зависимостям. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент
связан с соседними.
По данной схеме строились системы: первая суперЭВМ - ILLIAC-IV, отечественные параллельные
системы - ПС-2000, ПС-3000. Идея векторной обработки широко использовалась в таких известных
суперЭВМ, как Cyber-205 и Gray-I, II, III. Узким местом подобных систем является необходимость
изменения коммутации между процессорами, когда связь между ними отличается от матричной. Кроме
144
того, задачи, допускающие широкий матричный параллелизм, составляют достаточно узкий класс задач.
Структуры ВС этого типа, по существу, являются структурами специализированных суперЭВМ.
Третий тип архитектуры МКОД предполагает построение своеобразного процессорного конвейера, в
котором результаты обработки передаются от одного процессора к другому по цепочке. Выгоды такого
вида обработки понятны. Прототипом таких вычислений может служить схема любого
производственного конвейера. В современных ЭВМ по этому принципу реализована схема совмещения
операций, в которой параллельно работают различные функциональные блоки, и каждый из них делает
свою часть в общем цикле обработки команды.
В ВС этого типа конвейер должны образовывать группы процессоров. Однако при переходе на
системный уровень очень трудно выявить подобный регулярный характер в универсальных
вычислениях. Кроме того, на практике нельзя обеспечить и “большую длину” такого конвейера, при
которой достигается наивысший эффект. Вместе с тем конвейерная схема нашла применение в так
называемых скалярных процессорах суперЭВМ, в которых они применяются как специальные
процессоры для поддержки векторной обработки.
Архитектура МКМД предполагает, что все процессоры системы работают по своим программам с
собственным потоком команд. В простейшем случае они могут быть автономны и независимы. Такая
схема использования ВС часто применяется на многих крупных вычислительных центрах для
увеличения пропускной способности центра. Большой интерес представляет возможность
согласованной работы ЭВМ (процессоров), когда каждый элемент делает часть общей задачи. Общая
теоретическая база такого вида работ практически отсутствует. Но можно привести примеры большой
эффективности этой модели вычислений. Подобные системы могут быть многомашинными и
многопроцессорными. Например, отечественный проект машины динамической архитектуры (МДА) ЕС-2704, ЕС-2727 позволял одновременно использовать сотни процессоров.
Комплексирование в вычислительных системах
Для построения вычислительных систем необходимо, чтобы элементы или модули, комплексируемые в
систему, были совместимы. Понятие совместимости имеет три аспекта: аппаратурный, или технический,
программный и информационный. Техническая (Hardware) совместимость предполагает, что еще в
процессе разработки аппаратуры обеспечиваются следующие условия:
• подключаемая друг к другу аппаратура должна иметь единые стандартные, унифицированные
средства соединения: кабели, число проводов в них, единое назначение проводов, разъемы, заглушки,
адаптеры, платы и т.д.;
• параметры электрических сигналов, которыми обмениваются технические устройства, тоже должны
соответствовать друг другу: амплитуды импульсов, полярность, длительность и т.д.;
• алгоритмы взаимодействия (последовательности сигналов по отдельным проводам) не должны
вступать в противоречие друг с другом.
Последний пункт тесно связан с программной совместимостью. Программная совместимость (Software)
требует, чтобы программы, передаваемые из одного технического средства в другое (между ЭВМ,
процессорами, между процессорами и внешними устройствами), были правильно поняты и выполнены
другим устройством.
Если обменивающиеся устройства идентичны друг другу, то проблем обычно не возникает. Если
взаимодействующие устройства относятся к одному и тому же семейству ЭВМ, но стыкуются разные
модели (например, ПК на базе i286 и Pentium), то в таких моделях совместимость обеспечивается снизувверх, т.е. ранее созданные программы могут выполняться на более поздних моделях, но не наоборот.
Если стыкуемая аппаратура имеет совершенно разную систему команд, то следует обмениваться
исходными модулями программ с последующей их трансляцией.
Информационная совместимость комплексируемых средств предполагает, что передаваемые
информационные массивы будут одинаково интерпретироваться стыкуемыми модулями ВС. Должны
быть стандартизованы алфавиты, разрядность, форматы, структура и разметка файлов, томов.
В создаваемых ВС стараются обеспечить несколько путей передачи данных, что позволяет достичь
необходимой надежности функционирования, гибкости и адаптируемости к конкретным условиям
работы. Эффективность обмена информацией определяется скоростью передачи и возможными
объемами данных, передаваемыми по каналу взаимодействия. Эти характеристики зависят от средств,
обеспечивающих взаимодействие модулей и уровня управления процессами, на котором это
взаимодействие осуществляется. Сочетание различных уровней и методов обмена данными между
модулями ВС наиболее полно представлено в универсальных суперЭВМ и больших ЭВМ, в которых
145
сбалансировано использовались все методы достижения высокой производительности. В этих машинах
предусматривались следующие уровни комплексирования (рис. 10.4):
1.
прямого управления (процессор - процессор);
2.
общей оперативной памяти;
3.
комплексируемых каналов ввода-вывода;
4.
устройств управления внешними устройствами (УВУ);
5.
общих внешних устройств.
На каждом из этих уровней используются специальные технические и программные средства,
обеспечивающие обмен информацией.
Уровень прямого управления служит для передачи коротких однобайтовых приказов-сообщений.
Последовательность взаимодействия процессоров сводится к следующему. Процессор-инициатор
обмена по интерфейсу прямого управления (ИЛУ) передает в блок прямого управления байт-сообщение
и подает команду “прямая запись”. У другого процессора эта команда вызывает прерывание,
относящееся к классу внешних. В ответ он вырабатывает команду “прямое чтение” и записывает
передаваемый байт в свою память. Затем принятая информация расшифровывается и по ней
принимается решение. После завершения передачи прерывания снимаются, и оба процессора
продолжают вычисления по собственным программам. Видно, что уровень прямого управления не
может использоваться для передачи больших массивов данных, однако оперативное взаимодействие
отдельными сигналами широко используется в управлении вычислениями. У ПЭВМ типа ГВМ PC
этому уровню соответствует комплексирование процессоров, подключаемых к системной шине.
Уровень общей оперативной памяти (ООП) является наиболее предпочтительным для оперативного
взаимодействия процессоров. В этом случае ООП эффективно работает при небольшом числе
обслуживаемых абонентов.
Уровень комплексируемых каналов ввода-вывода предназначается для передачи, больших объемов
информации между блоками оперативной памяти, сопрягаемых в ВС. Обмен данными между ЭВМ
осуществляется с помощью адаптера “канал-канал” (АКК) и команд “чтение” и “запись”. Адаптер - это
устройство, согласующее скорости работы сопрягаемых каналов. Обычно сопрягаются селекторные
каналы (СК) машин как наиболее быстродействующие. Скорость обмена данными определяется
скоростью самого медленного канала. Скорость передачи данных по этому уровню составляет
несколько Мбайт в секунду. В ПЭВМ данному уровню взаимодействия соответствует подключение
периферийной аппаратуры через контроллеры и адаптеры.
Уровень устройств управления внешними устройствами (УВУ) предполагает использование
встроенного в УВУ двухканального переключателя и команд “зарезервировать” и “освободить”.
Двухканальный переключатель позволяет подключать УВУ одной машины к селекторным каналам
различных ЭВМ. По команде “зарезервировать” канал - инициатор обмена имеет доступ через УВУ к
любым накопителям на дисках НМД или на магнитных лентах НМЛ. На рис. 10.4 схематически
показано, что они управляются одним УВУ. На самом деле УВУ магнитных дисков и лент -совершенно
различные устройства. Обмен канала с накопителями продолжается до полного завершения работ и
получения команды “освободить”. Только после этого УВУ может подключиться к конкурирующему
146
каналу. Только такая дисциплина обслуживания требований позволяет избежать конфликтных
ситуаций.
На четвертом уровне с помощью аппаратуры передачи данных (АПД) (мультиплексоры, сетевые
адаптеры, модемы и др.) имеется возможность сопряжения с каналами связи. Эта аппаратура позволяет
создавать сети ЭВМ.
Пятый уровень предполагает использование общих внешних устройств. Для подключения отдельных
устройств используется автономный двухканальный переключатель.
Пять уровней комплексирования получили название логических потому, что они объединяют на каждом
уровне разнотипную аппаратуру, имеющую сходные методы управления. Каждое из устройств
можетиметь логическое имя, используемое в прикладных программах. Этим достигается независимость
программ пользователей от конкретной физической конфигурации системы. Связь логической
структуры программы и конкретной физической структуры ВС обеспечивается операционной системой
по указаниям -директивам пользователя, при генерации ОС и по указаниям диспетчера-оператора
вычислительного центра. Различные уровни комплексирования позволяют создавать самые различные
структуры ВС.
Второй логический уровень позволяет создавать многопроцессорные ВС. Обычно он дополняется и
первым уровнем, что позволяет повышать оперативность взаимодействия процессоров.
Вычислительные
системы
сверхвысокой
производительности
должны
строиться
как
многопроцессорные. Центральным блоком такой системы является быстродействующий коммутатор,
обеспечивающий необходимые подключения абонентов (процессоров и каналов) к общей оперативной
памяти.
Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машинных комплексов. Особенно часто
используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.
Пятый уровень комплексирования используется в редких специальных случаях, когда в качестве
внешнего объекта используется какое-то дорогое уникальное устройство. В противном случае этот
уровень малоэффективен. Любое внешнее устройство - это недостаточно надежное устройство точной
механики, а значит, выгоднее использовать четвертый уровень комплексирования, когда можно сразу
управлять не одним, а несколькими внешними устройствами, включая и резервные.
Сочетание уровней и методов взаимодействия позволяет создавать самые различные многомашинные и
многопроцессорные системы.
Типовые структуры вычислительных систем
С момента появления первых систем было опробовано большое количество разнообразных структур
систем, отличающихся друг от друга различными техническими решениями. Практика показала, что
каждая структура вычислительной системы эффективно обрабатывает лишь задачи определенного
класса. При этом необходимо, чтобы структура вычислительной системы максимально соответствовала
структуре решаемых задач. Только в этом случае система обеспечивает максимальную
производительность.
Универсальной структуры вычислительной системы, одинаково хорошо обрабатывающей задачи
любого типа, не существует. Интересные результаты исследований по этим вопросам приведены в
работах [14,19,20]. В них приведены сопоставления различных видов программного параллелизма и
соответствующих им структур вычислительных систем.
Классификация уровней программного параллелизма включает в себя шесть позиций: независимые
задания, отдельные части заданий, программы и подпрограммы, циклы и итерации, операторы и
команды, фазы отдельных команд. Для каждого из них имеются специфические свойства параллельной
обработки, опробированные в различных структурах вычислительных систем. Заметим, что данный
перечень совершенно не затрагивает этапы выбора алгоритмов решения, на которых могут
анализироваться альтернативные алгоритмы (а значит, и программы), дающие различные результаты.
Для каждого вида параллельных работ имеются структуры вычислительных средств, используемые в
различных вычислительных системах. Верхние три уровня, включающие независимые задания, шаги
или части заданий и отдельные программы, имеют единое средство параллельной обработки мультипроцессирование, т.е. многопроцессорные вычислительные системы, относящиеся к архитектуре
МКМД. Программные циклы и итерации требуют использования векторной обработки (архитектура
ОКМД). Операторы и команды, выполняемые ЭВМ, ориентированы на многофункциональную
обработку. Параллельная обработка фаз последовательно выполняемых команд приводит к организации
конвейера команд.
147
Рассмотрим возможные структуры вычислительных систем, которые обеспечивают перечисленные
виды программного параллелизма.
ОКОД-структуры. Данный тип архитектуры объединяет любые системы в однопроцессорном
(одномашинном) варианте.
За пятьдесят лет развития электронной вычислительной техники классическая структура ЭВМ
претерпела значительные усовершенствования. Однако основной принцип программного управления не
был нарушен. Данная структура оказалась сосредоточенной вокруг оперативной памяти, так как именно
цепь “процессор - оперативная память” во многом определяет эффективную работу компьютера. При
выполнении каждой команды необходимо неоднократное обращение к оперативной памяти : выбор
команды, операндов, отсылка результатов и т.д.
Можно перечислить большое число приведенных улучшений классической структуры ЭВМ, ставших в
настоящее время определенными стандартами при построении новых ЭВМ: иерархическое построение
памяти ЭВМ, появление сверхоперативной памяти и кэш-памяти, относительная и косвенная адресация
памяти, разделение процессов ввода-вывода и обработки задач, появление систем прерывания и
приоритетов и т.д.
В этом ряду следует рассматривать и организацию конвейера последовательно выполняемых команд:
формирование адреса команды, выбор команды, формирование адресов И выбор операндов,выполнение
команды; запись результата. Однако примитивная организация памяти (память линейна и одномерна) не
позволяет организовать длинный и эффективный конвейер. Линейные участки современных программ
редко превышают десяток, полтора последовательно выполняемых команд. Поэтому конвейер часто
перезапускается, что снижает производительность ЭВМ в целом.
Многофункциональная обработка также нашла свое место при построении ЭВМ. Например, даже в
персональных ЭВМ, построенных на микропроцессорах i486 и Pentium, в состав ЭВМ могут включаться
и другие специализированные средства обработки: умножители, делители, сопроцессоры или блоки
десятичной арифметики, сопроцессоры обработки графической информации и другие. Все они
совместно с центральным процессором ЭВМ позволяют создавать своеобразные микроконвейеры,
целью которых является повышение скорости вычислений.
В последние годы широко используется еще несколько модификаций классической структуры. В связи с
успехами микроэлектроники появилась возможность построения RISC-компьютеров (Reduced
Instruction Set Computing), т.е. ЭВМ с сокращенным набором команд.
Большие ЭВМ предыдущих поколений не имели большой сверхоперативной памяти, поэтому они
имели достаточно сложную систему команд CISC (Complete Instruction Set Computing - вычисления с
полной системой команд). В этих машинах большую долю команд составляли команды типа “памятьпамять”, в которых операнды и результаты операций находились в оперативной памяти. Время
обращения к памяти и время вычислений соотносились примерно 5:1. В RISC-машинах с большой
сверхоперативной памятью большой удельный вес составляют операции “регистр-регистр” и отношение
времени обращения к памяти по времени вычислений составляет 2:1 [27].
Поэтому в RISC-ЭВМ основу системы команд составляют наиболее употребительные, “короткие”
операции типа алгебраического сложения. Сложные операции выполняются как подпрограммы,
состоящие из простых операций. Это позволяет значительно упростить внутреннюю структуру
процессора, уменьшить фазы дробления конвейерной обработки и увеличить частоту работы конвейера.
Но здесь необходимо отметить, что за эффект приходится расплачиваться усложнением процедур
обмена данными между регистрами сверхоперативной памяти и кэш-памяти с оперативной памятью.
Другой модификацией классической структуры ЭВМ является VLIW (Very Large Instuction Word) ЭВМ с “очень длинным командным словом”. ЭВМ этого типа выбирает из памяти суперкоманду,
включающую несколько команд. Здесь возможны варианты.
В самом простом случае это приводит к появлению буфера команд (кэш-команд) с целью ускорения
конвейера операций. В более сложных случаях в состав суперкоманд стараются включать параллельные
команды, не связанные общими данными. Если процессор ЭВМ при этом построен из функционально
независимых устройств (устройства алгебраического сложения, умножения, сопроцессоры), то в этом
случае обеспечивается максимальный эффект работы ЭВМ. Но это направление связано с кардинальной
перестройкой процессов трансляции и исполнения программ. Здесь значительно усложняются средства
автоматизации программирования.
VLIW- компьютеры могут выполнять суперскалярную обработку, т.е. одновременно выполнять две или
более команд. В целом ряде структур суперЭВМ использовалась эта идея. Отметим, что и в ПЭВМ
148
последних выпусков имеется возможность выполнения двух команд одновременно. Эта реализация
имеет две цели:
• уменьшение отрицательного влияния команд ветвления вычислительного процесса путем выполнения
независимых команд двух различных ветвей программы. При этом в какой-то степени исключаются
срывы конвейера в обработке команд программы;
• одновременное выполнение двух команд (независимых по данным и регистрам их хранения),
например команды пересылки и арифметические операции.
Для реализации программного параллелизма, включающего циклы и итерации, используются
матричные или векторные структуры. В них эффективно решаются задачи матричного исчисления,
задачи решения систем алгебраических и дифференциальных уравнений, задачи теории поля,
геодезические задачи, задачи аэродинамики. Теоретические проработки подобных структур относятся к
концу пятидесятых, шестидесятым годам. Данные структуры очень хорошо зарекомендовали себя при
решении перечисленных задач, но они получились очень дорогими по стоимости и эксплуатации. Кроме
того, в тех случаях, когда структура параллелизма отличалась от матричной, возникает необходимость
передачи данных между процессорами через коммутаторы. При этом эффективность вычислений резко
снижается. Подобные структуры могут использоваться как сопроцессоры в системах будущих
поколений.
МКОД-структуры большой практической реализации не получили. Задачи, в которых несколько
процессоров могли эффективно обрабатывать один поток данных, в науке и технике неизвестны. С
некоторой натяжкой к этому классу можно отнести фрагменты многофункциональной обработки,
например обработку на разных процессорах команд с фиксированной и плавающей точкой.
Так же как фрагмент такой структуры, можно рассматривать локальную сеть персональных
компьютеров, работающих с единой базой данных, но скорее всего это - частный случай использования
МКМД-структуры.
МКМД-структуры являются наиболее интересным классом структур вычислительных систем. После
разочарований в структурах суперЭВМ, основанных на различном сочетании векторной и конвейерной
обработки, усилия теоретиков и практиков обращены в этом направлении.
Уже из названия МКМД-структур видно, что в данных системах можно найти все перечисленные виды
параллелизма. Этот класс дает большое разнообразие структур, сильно отличающихся друг от друга
своими характеристиками (рис. 10.5).
Рис.10.5. Типовые структуры ВС в МКМД (MIMD)-клacce
Важную роль здесь играют способы взаимодействия ЭВМ или процессоров в системе. В
сильносвязанных системах достигается высокая оперативность взаимодействия процессоров
посредством общей оперативной памяти. При этом пользователь имеет дело с многопроцессорными
вычислительными системами. Наиболее простыми по строению и организации функционирования
являются однородные симметричные структуры. Они обеспечивают простоту подключения
процессоров и не требуют очень сложных централизованных операционных систем, размещаемых на
одном из процессоров.
Однако при построении таких систем возникает много проблем с использованием общей оперативной
памяти. Число комплексируемых процессоров не может быть велико, оно не превышает 16. Для
уменьшения числа обращений к памяти и конфликтных ситуаций могут использоваться многоблочное
построение ОП, функциональное закрепление отдельных блоков за процессорами, снабжение
149
комплексируемых процессоров собственной памятью типа “кэш”. Но все эти методы не решают
проблемы повышения производительности ВС в целом. Аппаратурные затраты при этом существенно
возрастают, а производительность систем увеличивается незначительно.
Появление мощных микропроцессоров типа “Pentium” привело к экспериментам по созданию
многопроцессорных систем на их основе. Так, для включения мощных серверов в локальные сети
персональных компьютеров была предложена несколько измененная структура использования ООП SMP (Shared Memory multiProcessing - мультипроцессирование с разделением памяти). На общей шине
оперативной памяти можно комплексировать до четырех микропроцессоров.
Слабосвязанные МКЦД-сжтемы могут строиться как многомашинные комплексы или использовать в
качестве средств передачи информации общее поле внешней памяти на дисковых накопителях большой
емкости.
Невысокая оперативность взаимодействия заранее предопределяет ситуации, в которых число
межпроцессорных конфликтов при обращении к общим данным и к друг другу было бы минимальным.
Для этого необходимо, чтобы ЭВМ комплекса обменивались друг с другом с небольшой частотой,
обеспечивая автономность процессов (программы и данные к ним) и параллелизм их выполнения.
Только в этом случае обеспечивается надлежащий эффект. Эти проблемы решаются в сетях ЭВМ.
Успехи микроинтегральной технологии и появление БИС и СБИС позволяют расширить границы и
этого направления. Возможно построение систем с десятками, сотнями и даже тысячами процессорных
элементов, с размещением их в непосредственной близости друг от друга. Если каждый процессор
системы имеет собственную память, то он также будет сохранять известную автономию в вычислениях.
Считается, что именно такие системы займут доминирующее положение в мире компьютеров в
ближайшие десять-пятнадцать лет. Подобные ВС получили название систем с массовым параллелизмом
(МРР - Mass-Parallel Processing).
Все процессорные элементы в таких системах должны быть связаны единой коммутационной средой.
Нетрудно видеть, что здесь возникают проблемы, аналогичные ОКМД-системам, но на новой
технологической основе.
Передача данных в МРР-системах предполагает обмен не отдельными данными под централизованным
управлением, а подготовленными процессами (программами вместе с данными). Этот принцип
построения вычислений уже не соответствует принципам программного управления классической ЭВМ.
Передача данных процесса по его готовности больше соответствует принципам построения “потоковых
машин” (машин, управляемых потоками данных). Подобный подход позволяет строить системы с
громадной производительностью и реализовывать проекты с любыми видами параллелизма, например
перейти к “систолическим вычислениям” с произвольным параллелизмом. Однако для этого
необходимо решить целый ряд проблем, связанных с описанием, программированием коммутаций
процессов и управлением ими. Математическая база этой науки в настоящее время практически
отсутствует.
Организация функционирования вычислительных систем
Управление вычислительными процессами в ВС осуществляют операционные системы, которые
являются частью общего программного обеспечения. В состав ОС включают как программы
централизованного управления ресурсами системы, так и программы автономного использования
вычислительных модулей. Последнее условие необходимо, так как в ВС обычно предусматривается
более высокая надежность функционирования, например требование сохранения работоспособности
при наличии в ней хотя бы одного исправного модуля. Требование увеличения производительности
также предполагает возможность параллельной и даже автономной работы модулей при обработке
отдельных заданий или пакетов заданий.
В зависимости от структурной организации ВС можно выявить некоторые особенности построенияих
операционных систем.
Операционные системы многомашинных ВС являются более простыми. Обычно они создаются как
надстройка автономных ОС отдельных ЭВМ, так как здесь каждая ЭВМ имеет большую автономию в
использовании ресурсов (своя оперативная и внешняя память, свой обособленный состав внешних
устройств и т.д.). В них широко используются программные методы локального ( в.
пределахвычислительного центра) и дистанционного (сетевая обработка) комплексирования.
Общим для построения ОС многомашинных комплексов служит тот факт, что для каждой машины ВС
другие играют роль некоторых внешних устройств, и их взаимодействие осуществляется по
интерфейсам, имеющим унифицированное программное обеспечение. Все обмены данными между
ЭВМ должны предусматриваться пользователями путем включения в программы специальных
150
операторов распараллеливания вычислений. По этим обращениям ОС ВС включает особые программы
управления обменом. При этом ОС должна обеспечивать распределение и последующую пересылку
заданий или их частей, оформляя их в виде самостоятельных заданий. Такие ОС, организуя обмен,
должны формировать и устанавливать связи, контролировать процессы обмена, строить очереди
запросов, решать конфликтные ситуации.
В многомашинных ВС диспетчерские функции могут решаться на централизованной или
децентрализованной основе. Связь машин обычно устанавливается в порядке подчиненности : “главная
ЭВМ - вспомогательная ЭВМ”. Например, в пакете Norton Commander имеется возможность установить
подобную связь : “Master” - “Slave”.
Программное обеспечение многопроцессорных ВС отличается большей сложностью. Это объясняется
глубиной и сложностью всестороннего анализа процессов, формируемых в ВС, а также сложностью
принятия решения в каждой конкретной ситуации. Здесь все операции планирования и диспетчеризации
связаны с динамическим распределением ресурсов (оперативной и внешней памяти, процессоров,
данных системных таблиц, программ, периферийного оборудования и т.п.). Центральное место в этом
играют степень использования и методы управления общей оперативной памятью. Здесь очень часто
могут формироваться множественные конфликты, требующие сложных процедур решения, что
приводит к задержкам в вычислениях. Как таковые автономные ОС отдельных процессоров
отсутствуют.
Для обеспечения эффективной работы многопроцессорных систем их операционные системы
специализируют по следующим типовым методам взаимодействия процессоров:

“ведущий-ведомый”;

симметричная или однородная обработка во всех процессорах;

раздельная независимая работа процессоров по обработке заданий. Выбор метода “ведущий ведомый” в наибольшей степени соответствует ВС с централизованным управлением. Тут
имеется определенная аналогия с многомашинными системами, организованными по принципу
“главная ЭВМ - вспомогательная ЭВМ”. Диспетчерские функции выполняются только одним
процессором системы. Закрепление этих функций может быть фиксированным и плавающим.
Для этого может выделяться специализированный процессор или обычный процессор
универсального типа, переключающийся и на выполнение вычислений.
Системы типа “ведущий - ведомый” отличаются довольно простым аппаратурным и программным
обеспечением. Они должны получить распространение в МРР-структурах, но следует иметь в виду, что
длительное время планирования может быть причиной простоев ведомых вычислителей.
Симметричная или однородная обработка в матрице процессоров возможна при использовании
однотипных процессорных элементов, каждый из которых имеет непосредственные связи по передаче
данных с другими. В отличие от ОКМД-структур ранних выпусков, в которых синхронизировалось
выполнение отдельных команд, в МРР-структурах симметричная обработка должна обеспечивать
синхронизацию выполнения целых процессов. К сожалению, ни один из существующих языков
программирования не содержит эффективных средств управления параллельными вычислениями. Такая
система имеет большие достоинства. Она обладает существенно более высокой живучестью и сохраняет
работоспособность при выходе из строя даже нескольких процессоров матрицы, так как здесь имеется
более высокий уровень резервирования. В ней обеспечивается более полная загрузка процессоров с
лучшим использованием их процессорного времени. Расход других общесистемных ресурсов также
эффективнее.
В связи с успехами микроэлектроники появилась возможность реализовывать эти структуры в виде
сверхбольших интегральных схем (СБИС), что позволяет получить дополнительные преимущества:

короткие соединительные линии между процессорными элементами. Это приводит к
расширению полосы пропускания и уменьшению задержек;

регулярность структуры, позволяющая увеличивать плотность упаковки СБИС и упрощать ее
разработку;

высокую степень распараллеливания вычислений, что позволяет обеспечить высокую
производительность.
Для управления процессом вычислений из однородной среды процессорных элементов выделяется
один, играющий роль ведущего. Эти функции при необходимости могут передаваться от одного
процессора к другому.
151
Раздельная или независимая работа вычислителей в многопроцессорных ВС осуществляется при
параллельной обработке независимых заданий. Это позволяет получить максимальную
производительность системы. Процедуры управления ею достаточно просты и уже апробированы в
практических вариантах.
152
Download