Лекции по Информатике

реклама
1. Основные понятия
В данном разделе даны определения понятиям «информация»,
«информатика», «информационные технологии», рассмотрены этапы развития
вычислительной техники, сферы ее использования, отмечены основные вехи
создания Интернета.
1.1. Основные понятия об информации
и информатике
Информация наряду с материей и энергией является первичным понятием
нашего материального мира. Дать строгое исчерпывающее определение этому
термину через другие, более простые понятия, сложно. Это понятие остается
одним из самых дискуссионных в науке. Тем не менее, существует несколько
определений понятия «информация». Приведем одно из них.
Информация — это совокупность каких-либо сведений, данных,
передаваемых устно (в форме речи), письменно (в виде текста, таблиц,
рисунков, чертежей, схем, условных обозначений) либо другим способом
(например, с помощью звуковых или световых сигналов, электрических и
нервных импульсов, запахов, вкусовых ощущений, перепадов давления или
температуры и т. д.).
В середине ХХ века термин «информация» стал общенаучным понятием,
включающим обмен сведениями между людьми, человеком и автоматом
(электронной вычислительной машиной — ЭВМ), автоматом и автоматом,
обмен сигналами в животном и растительном мире, передачу признаков от
клетки к клетке, от организма к организму.
Теоретические и практические вопросы, относящиеся к информации,
изучает информатика.
Информатика — наука, изучающая структуру и свойства информации, а
также вопросы, связанные с ее сбором, хранением, поиском, передачей,
преобразованием, распространением и использованием в различных сферах
человеческой деятельности.
Еще одно определение информатики.
Информатика — это область человеческой деятельности, связанная с
процессами преобразования информации с помощью компьютеров.
Современная информатика коренным образом изменяет не только сферу
материального производства, но и сферу духовной жизни.
Пристальное внимание к информатике связано с бурным ростом объема
человеческих знаний, который порой называют «информационным взрывом».
Общая сумма человеческих знаний изменялась раньше очень медленно. Затем
процесс получения новых знаний получил заметное ускорение.
Колоссальный объем информации передается по глобальной сети
Интернет, которая связывает страны, расположенные на разных континентах.
Число пользователей Интернет на конец 2002 года оценивается
величиной 665 миллионов человек. Лидируют США – 143 миллионов
пользователей, на втором месте Китай 58 миллионов человек работают в Сети.
Таким образом, в настоящее время накоплен большой объем информации,
обработать который вручную людям невозможно (в силу своих
психофизических особенностей).
Эффективным инструментом обработки большого объема информации
является электронная вычислительная машина (ЭВМ).
Одним из основных факторов ускорения научно-технического прогресса
является широкое использование новых информационных технологий, под
которыми понимается совокупность методов и средств сбора, обработки и
передачи данных (первичной информации) для получения информации нового
качества о состоянии объекта, процесса или явления на базе вычислительной и
коммуникационной техники и широкого применения математических методов.
Различают две формы представления информации — непрерывную
(аналоговую) и прерывистую (цифровую, дискретную). Непрерывная форма
характеризует процесс, который не имеет перерывов и теоретически может
изменяться в любой момент времени и на любую величину (например, речь
человека, музыкальное произведение). Цифровой сигнал может изменяться
лишь в определенные моменты времени и принимать лишь заранее
обусловленные значения (например, только значения напряжений 0 и 3,5 В).
Моменты возможного изменения уровня цифрового сигнала задает тактовый
генератор конкретного цифрового устройства.
Для преобразования аналогового сигнала в цифровой сигнал требуется
провести дискретизацию непрерывного сигнала во времени, квантование по
уровню, а затем кодирование отобранных значений.
Дискретизация — замена непрерывного (аналогового) сигнала
последовательностью отдельных во времени отсчетов этого сигнала. Наиболее
распространена равномерная дискретизация, в основе которой лежит теорема
Котельникова.
На рисунке схематично показан процесс преобразования аналогового
сигнала в цифровой сигнал. Цифровой сигнал в данном случае может принимать
лишь пять различных уровней. Естественно, что качество такого преобразования
невысокое. Из рисунка видно, что изменение цифрового сигнала возможно лишь
в некоторые моменты времени (в данном случае этих моментов одиннадцать).
После такого преобразования непрерывный сигнал представляют
последовательностью чисел. Показанный на рисунке непрерывный сигнал
заменяется числами 2-3-4-4-4-3-2-2-3-4-4. Затем перечисленные десятичные
числа преобразуют (кодируют) в последовательность единиц и нулей.
Результаты данного преобразования можно представить таблицей:
Время
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
Десятичные
числа
2
3
4
4
4
3
2
2
3
4
4
Двоичные
числа
0010
0011
0100
0100
0100
0011
0010
0010
0011
0100
0100
В данном случае цифровые сигналы представлены четырьмя разрядами
двоичных чисел. Очевидно, что, чем больше разрядов у двоичных чисел (а
значит, тем больше число уровней квантования) и чем чаще во времени
осуществляются отсчеты (выборки), тем точнее будет преобразован
непрерывный сигнал в цифровой.
Первое представление об аналоговом и цифровом способах хранения и
распространения информации можно получить, рассматривая два способа
записи звуковых сигналов: аналоговую и цифровую аудиозаписи.
При аналоговой аудиозаписи непрерывный электрический сигнал,
формируемый источником звука на выходе микрофона, с помощью магнитной
головки наносится на движущуюся магнитную ленту. Недостатком аналогового
способа обработки информации является то, что копия бывает всегда хуже
оригинала.
При цифровой аудиозаписи используется процесс выборки,
заключающийся в периодическом измерении уровня (громкости) аналогового
звукового сигнала (например, поступающего с выхода микрофона) и
превращении полученного значения в последовательность двоичных чисел. Для
преобразования аналогового сигнала в цифровой используется специальный
конвертор, называемый аналогово-цифровой преобразователь (АЦП). Сигнал
на выходе АЦП представляет собой последовательность двоичных чисел,
которая может быть записана на лазерный диск или обработана компьютером.
Обратная конверсия цифрового сигнала в непрерывный сигнал осуществляется с
помощью цифроаналогового преобразователя (ЦАП).
Качество аналогово-цифрового преобразования характеризует параметр,
называемый разрешением. Разрешение — это количество уровней квантования,
используемых для замены непрерывного аналогового сигнала цифровым
сигналом. Восьмиразрядная выборка позволяет получить только 256 различных
уровней квантования цифрового сигнала, а шестнадцатиразрядная выборка —
65 536 уровней.
Еще один показатель качества трансформации непрерывного сигнала в
цифровой сигнал — это частота дискретизации — количество преобразований
аналог-цифра (выборок), производимое устройством в одну секунду. Этот
показатель измеряют килогерцами (килогерц — тысяча выборок в секунду).
Типичное значение частоты дискретизации современных лазерных
аудиодисков — 44,1 кГц.
На рисунке слева показана структура лазерного аудиодиска. Все звуки
преобразованы в последовательность единичек и нулей, которые на диске
выглядят как выступы и впадины. При этом
копию можно получить практически такого же
качества, как и оригинал.
Имеется тенденция перехода к единому
цифровому
представлению
всех
видов
информации.
Глобальная
сеть
Интернет
претендует на то, чтобы объединить все средства
вещания и коммуникации, компьютерные,
телефонные, радио- и видеосети, связав их в
единое «киберпространство».
С позиции каждого отдельного человека количество информации,
содержащееся в каком-либо сообщении, — субъективная величина.
Объективная количественная мера информации может быть введена на
основе вероятностной трактовки информационного обмена.
Этот способ измерения количества информации впервые предложил в
1948 г. К. Шеннон. По К. Шеннону, информация — это сведения,
уменьшающие неопределенность (энтропию), существовавшую до их
получения.
Наименьшей единицей информации является бит (от англ. binary digit —
двоичный разряд). Сообщение о том, что произошло одно из двух возможных
равновероятных событий, дает получателю один бит информации.
Один бит информации получает человек, когда он узнает, опаздывает с
прибытием нужный ему поезд или нет, был ночью мороз или нет, присутствует
на лекции студент Иванов или нет и т. д.
Более крупная единица информации — байт — равна 8 бит. Проверка
присутствия или отсутствия на лекции 24 студентов дает лектору три байта
информации. Еще более крупная единица информации — 1 Кбайт — равна 1024
байтам. Далее — 1 Мбайт равен 1024 Кбайтам, 1 Гбайт равен 1024 Мбайтам, 1
Тбайт равен 1024 Гбайтам, а 1 Пбайт равен 1024 Тбайт.
Перечисленные единицы измерения информации произносятся так:
Кбайт — килобайт, Мбайт — мегабайт, Гбайт — гигабайт, Тбайт —
терабайт, Пбайт — петабайт.
1.2. Основные понятия теории информации
Теория информации – раздел математики, исследующий процесс
хранения, преобразования и передачи информации. Теория информации
базируется на фундаментальной работе американского инженера и математика
Клода Элвуда Шеннона [7], и она тесно сопряжена со статистической теорией
связи.
Согласно теории информации количество полученной информации
следует рассматривать с учетом понятия неопределенности состояния системы,
например, неопределенность состояния системы связи. Вместо термина
«неопределенность состояния системы» часто используют эквивалентный
термин - «энтропия системы».
Под неопределенностью состояния системы связи понимается тот факт,
что на приемной стороне получатель информации не знает, какое сообщение
пошлет отправитель информации, который находится на передающей стороне
системы связи. Лишь после приема сообщения (букв, цифр символов, звуков,
изображения и т.д.) у получателя уменьшается неосведомленность относительно
содержания передаваемого сообщения. Иначе говорят: полученная информация
уменьшает энтропию системы.
Рассмотрим основные понятия, которые используются в теории
информации [1].
Сообщение – это совокупность знаков или первичных сигналов,
отображающих ту или иную информацию. Например, текст электронного
письма представляет собой совокупность таких знаков, как буквы, цифры,
знаки препинания, специальные символы. Примерами сообщений являются:
текст телеграммы, данные на выходе ЭВМ, речь, музыка.
Передача сообщений на расстояние осуществляется с помощью какоголибо материального носителя (бумаги, фотопленки, кинопленки, магнитной
ленты, магнитного или оптического дисков, микросхем памяти и т.п.) или
физического процесса (звуковых, световых или электромагнитных волн и т.п.).
Таким образом, информация передается путем обмена между отправителем и
получателем материей (бумага, диски, лента) или энергией (электромагнитные
волны). Физический процесс, несущий передаваемое сообщение, называется
сигналом.
Сообщения могут быть функциями времени (информация представляется
в виде первичных сигналов - музыка, речь, показания датчиков) и не являться
функциями времени (информация представляется в виде совокупности знаков,
например, телеграмма, письмо).
В современных системах связи чаще всего используются электрические и
оптические сигналы. Передача информации осуществляется путем изменения
какого-либо параметра сигнала в соответствии с передаваемым сообщением,
например, путем изменения амплитуды, частоты, фазы гармонических
колебаний или длительности прямоугольных импульсов. Процесс изменения
параметров сигнала на передающей стороне, происходящий в соответствии с
содержанием передаваемого сообщения, называется модуляцией. Благодаря
модуляции сигнал получает возможность распространяться на большие
расстояния с помощью системы связи. Процесс восстановления сообщения из
принятого сигнала называется демодуляцией (или детектированием).
Амплитудная модуляция
Частотная модуляция
На рисунке показаны две осциллограммы, иллюстрирующие сигналы с двумя
видами модуляции - амплитудной и частотной. Здесь в качестве сигнала,
несущего информацию, использованы синусоидальные гармонические
колебания. В первом случае предаваемая информация содержится в изменении
амплитуды колебаний (размаха по вертикали). Во втором случае
информативным параметром является частота – плотность колебаний по
горизонтали. Таким образом, можно передать по аналоговому каналу, например,
цифровые сигналы 1 и 0.
В качестве сигналов, переносящих информацию, может быть
использована последовательность прямоугольных импульсов. В этом случае при
модуляции могут изменяться длительность импульсов, их временное положение
или частота.
Линией связи называется физическая среда, используемая
для
транспортировки сигналов от передатчика к приемнику. В качестве примера
линии связи можно назвать оптоволоконный и коаксиальный кабели связи,
пространство, в котором распространяются радиоволны.
Совокупность технических средств, предназначенных для передачи
сообщений от отправителя к получателю, называется системой связи. В
качестве составных частей в систему связи входят передающее устройство
(передатчик), канал связи и приемное устройство (приемник).
Отправителями и получателями информации могут быть субъекты
(пользователи, абоненты, корреспонденты) и объекты (датчики, компьютеры,
факс-модемы, принтеры, устройства автоматики и т.п.).
Каналом связи называют часть системы связи, которая обеспечивает
передачу сигналов между передатчиком и приемником информации. В состав
канала связи входят линии связи и каналообразующая аппаратура (КА). Задачей
каналообразующей аппаратуры является уплотнение сигналов, то есть передача
по одной физической линии информации сразу от нескольких отправителей.
Существуют каналы проводной связи (проводные, кабельные,
световодные и др.) и каналы радиосвязи (телевизионные, радио - и сотовые
станции). Широкое распространение получили радиорелейные линии (РРЛ). В
радиорелейных линиях радиосигнал передается от одной станции к другой
(ретранслируется) как бы по эстафете в пределах прямой видимости.
Разновидностью РРЛ являются тропосферные линии, которые используют
отражения радиосигнала от неоднородностей тропосферы. Существуют
спутниковые сети - радиорелейные линии, в которых ретранслятор
располагается на искусственном спутнике земли.
Канал связи
Отправитель
Передатчик
КА
КА
Приемник
Получатель
Линия связи
Применительно к глобальной сети Интернет можно сказать, что она
содержит самые разнообразные каналы связи, которые соединяют между собой
узлы с коммутационным оборудованием и компьютерами-серверами.
При обмене сообщениями с помощью Интернет-пейджера ICQ или при
работе в чате получатель информации не знает, какую клавишу на клавиатуре в
данный момент нажал отправитель сообщения. Другими словами: существует
неопределенность состояния системы связи при приеме информации
(неизвестно, какой сигнал передается в данный момент времени по каналу
связи). Чем выше неопределенность (неизвестность, неосведомленность), тем
больше энтропия системы.
Энтропия характеризует степень упорядоченности передаваемого текста,
степень его отклонения от полного хаоса. В наиболее хаотичном тексте
вероятности появления любых букв (символов) текста практически одинаковые.
В этом случае текст представляет собой нечитаемый набор бессмысленных
символов. Бессмысленный нечитаемый текст, состоящий из равновероятных
символов, имеет наибольшую энтропию. Наведение «порядка» среди букв, то
есть формирование осмысленно текста, снижает энтропию (неопределенность).
Предположим,
что
получатель
информации
имеет
какие-то
предварительные (априорные) сведения о некоторой системе . Мерой
неосведомленности получателя информации о системе  является функция
H().
После получения по каналу связи некоторого сообщения  получатель
приобретает дополнительную информацию I(). Полученная информация
уменьшает имевшуюся (говорят, априорную) неосведомленность H(), которая
в результате получения сообщения становится равной H(). Новую
неопределенность H () называют апостериорной, то есть неопределенностью
после проведения опыта (передачи и приема сообщения ).
Таким образом, количество принятой информации можно выразить
соотношением:
I() = H() - H().
Простыми словами это соотношение можно прокомментировать так:
количество информации I(), содержащейся в полученном сообщении ,
измеряется величиной уменьшения неосведомленности (незнания) о состоянии
системы . То есть информация увеличивает знание.
Количество
информации
=
Априорная
неопределенность
=
Апостериорная
неопределенность
Порядок расчета энтропии системы и полученной информации зависит от
того, какова вероятность появления каждого знака (символа) в сообщении. Если
вероятности появления всех символов выбранного алфавита одинаковые, то
используется формула Хартли. Если вероятности появления каждого символа в
сообщении различны, то используется формула Шеннона.
Формула Хартли применяется в случаях, когда появление различных
символов в сообщении равновероятно. Это бывает, например, при передаче по
каналу связи результатов математических расчетов (набор цифр),
криптографических ключей, паролей и т.п. Получение одного символа из N
допустимых символов используемого алфавита дает потребителю такой объем
информации:
I  log 2 N .
Здесь N – число допустимых символов (знаков), которое отправитель
может использовать при формировании своего сообщения.
Указанную величину I можно трактовать, как количество информации,
приходящееся на один символ (знак) сообщения. Согласно формуле Хартли
количество информации, содержащейся в двоичном числе, равно количеству
двоичных разрядов в этом числе. Один разряд двоичного числа позволяет
сформировать два знака (символа): 0 и 1. Если N = 2, то I = 1 бит. Для
восьмиразрядного числа N = 256, а объем информации, который несет это число,
I = 8 бит = 1 байт.
Формула Хартли является частным случаем формулы Шеннона.
Последняя формула используется при расчете энтропии в ситуациях, когда
вероятности появления символов различны:
N
I  ( p1 log 2 p1  p2 log 2 p2  ...  p N log 2 p N )   pi log 2 pi
i 1
.
Здесь pi – вероятность появления i-го символа.
Указанную величину следует трактовать, как среднее значение
(математическое ожидание)
информации, приходящееся на один из
неравновероятных символов.
Знак минус в формуле поставлен для того, чтобы измерять информацию
положительными числами. В противном случае логарифм числа, меньшего
единицы, даст отрицательное значение. Заметим, что
N
p
i 1
i
1
.
Безусловно, формулы Хартли и Шеннона не охватывают всех возможных
случаев расчета энтропии. Например, эти формулы нельзя использовать для
расчета условной энтропии.
Установлено, что текстовые сообщения содержат много избыточной
информации. Так, например, если во время передачи сообщения, произошел
отказ в работе канала связи, и на приемной стороне было принято оборванное
(неполное) сообщение типа «Спартак – чемпи», то легко «догадаться», что,
вероятно, полное сообщение было «Спартак – чемпион». Содержательный
анализ принятого сообщения позволяет восстановить пропущенный или
недостающий фрагменты осмысленного текста.
К.Шеннон установил, что в английских текстах избыточная информация
достигает 80% от общего объема информации, заключенной в письменном
сообщении. Оставшиеся 20% текста являются источником снятия
неопределенности, непредсказуемости полученного текста. Именно эти 20%
текста несут новую информацию, снимают неопределенность, дают знание.
В русском языке (так же как и в языках других народов) существует
статистическая устойчивость вероятности появления каждой буквы алфавита.
Так буква «о» в русских текстах появляется значительно чаще, чем буква «ъ».
Кроме того, существует зависимость вероятности появления буквы от того,
какая буква в осмысленном тексте ей предшествовала. Очевидно, что
вероятность появления сочетания букв «ма» значительно выше, чем у сочетания
букв «мъ».
Знание правил грамматики конкретного естественного языка позволяет с
высокой вероятностью заранее предсказать очередную букву сообщения, если
по каналу связи был получен какой-то осмысленный текст (то есть из
контекста). Полученную с помощью существующих правил грамматики
информацию К.Шеннон определил как «избыточную» - лишнюю. Это
объясняется тем, что знание правил построения сообщений позволяет
предсказывать появление букв раньше, чем они будут переданы по каналу связи.
Избыточность текста наблюдается в тех случаях, когда вероятности
появления различных символов различны, и когда вероятность появления
очередного символа зависит от ранее принятого символа. Избыточность
позволяет правильно понять содержание осмысленного текста даже при наличии
в нем ошибок или пропуска символов.
Для подобных случаев выведены формулы, которые учитывают тот факт,
что вероятность появление очередного символа зависит от принятых
предыдущих символов (учитывается условная энтропия). Ознакомиться с этими
формулами можно по специальной литературе.
Современные достижения в области теории информации позволили
разработать эффективные криптографические системы, системы массового
обслуживания. На основании теории информации разработаны алгоритмы и
программы для сжатия файлов, а также для кодирования, обнаружения и
исправления ошибок в полученных данных. Теория информации помогла
разработать эффективные способы ослабления действия помех, действующих в
каналах связи.
Теория информации позволила эффективно решить множество
прикладных вопросов, например, создать модемы для телефонных каналов, у
которых скорость передачи информации приблизилась к теоретической
пропускной способности существующих каналов связи.
1.3. Понятие об информационных технологиях
Термин «технология» раньше преимущественно использовался в сфере
материального производства.
В энциклопедическом словаре дано такое определение: технология —
это совокупность методов обработки, изготовления, изменения состояния,
свойств, формы сырья, материала или полуфабриката, осуществляемых в
процессе производства. Этот термин происходит от греческого слова technē,
означающего: наука об умении, мастерстве, искусстве.
Одним
из
важнейших
разделов
информатики
являются
информационные технологии (ИТ) — совокупность технических и
программных средств, а также приемов работы, с помощью которых
выполняются разнообразные операции по обработке информации во всех
сферах человеческой деятельности (социальной, экономической, культурной,
правовой,
научной,
производственной,
управленческой,
финансовой,
коммерческой, оборонной и т. д.).
Из определения видно, что область интересов ИТ пересекается с
областью интересов науки, называемой информатикой. Действительно,
информационные технологии — это часть информатики. Определение ИТ еще
окончательно не установилось, о чем свидетельствуют несколько имеющихся
определений ИТ. Границу между информатикой и информационными
технологиями в настоящее время провести сложно. Следует отметить,
преимущественно прикладной характер ИТ.
В развитии ИТ выделяют несколько этапов: ручной, механический,
электрический и компьютерный. В этом процессе ИТ развивалась от
использования наскальных рисунков, глиняных табличек, гусиных перьев и
чернильниц до компьютеров, подключенных к глобальным сетям.
Традиционные технологические процессы материального производства
реализуются с помощью различных технических средств: инструментов,
оборудования, станков, конвейерных линий, печей, сварочных аппаратов и т. п.
С помощью этих устройств изменяют структуру и форму сырья (материала,
полуфабриката). Воздействие на сырье производят в определенной
последовательности, с соблюдением жестких режимов (температурных и
временных), с помощью унифицированных приемов. В результате выполнения
технологических операций получают готовую продукцию, способную
удовлетворять человеческие потребности (одежду, обувь, мебель, здания).
Для информационных технологий необходимы аппаратные и
программные средства. Они эквивалентны инструментам и оборудованию в
материальном производстве. «Сырьем» информационных технологий являются
информация, которая подвергается соответствующей обработке. Конечной
продукцией ИТ являются текстовые и графические документы, решенные
математические задачи, переводы с одного естественного языка на другой,
машиностроительные и электротехнические чертежи, удобные справочники и
энциклопедии, советы электронных консультантов, подробные сведения о
сотрудниках, финансовые отчеты, презентации, зашифрованные сообщения и
многое другое.
Таким образом, технологии материального производства увеличивают
мускульную силу человека, а информационные технологии умножают мощь
человеческого интеллекта.
Основным аппаратным средством ИТ является ЭВМ. При этом среди
множества конструкций ЭВМ доминирующее положение на мировом рынке
занимают компьютеры фирмы IBM и конструктивно совместимые ЭВМ других
фирм. Реализация информационных технологий происходит с помощью ЭВМ
разного типа: суперЭВМ, настольных ЭВМ, компьютеров в виде чемоданов
(лэптопов), ЭВМ размером с записную книжку.
Среди программного обеспечения широкое распространение получила
продукция фирмы Microsoft (операционные системы, текстовые редакторы,
электронные таблицы, базы данных, средства презентации, языки
программирования, средства навигации в Интернете и др.).
У программ фирмы Microsoft есть несомненное достоинство —
стандартизация выполняемых операций (действий), унификация внешнего
вида элементов. Изучение одного программного продукта облегчает освоение
другого продукта. Многие элементы одинаковые в разных программах
(приложениях): командные кнопки, счетчики, списки, закладки и др. (см.
рисунок).
Стандартизации
подверглись
многие
элементы
приложений
операционной системы Windows.
Например, вид курсора говорит о выполняемой операции: песочные
часы — ожидание; двунаправленная стрелка — возможность изменения размера
окна, указующий перст выделяет гиперссылку.
Унифицирован внешний вид программ (пользовательский интерфейс):
сверху всегда располагается строка заголовка, затем идет Главное меню
программы, далее — панели инструментов. В центре экрана находится рабочая
область, а внизу — строка состояния.
Многие пункты Главного меню практически одинаковы в разных
программах, например, Файл, Вид, Помощь.
Влияние и авторитет фирмы Microsoft столь велики, что многие другие
фирмы вынуждены использовать элементы, придуманные фирмой Microsoft, по
тому же назначению.
Как и любая другая технология, информационная технология разделяется
на элементарные операции, с помощью которых можно выполнить действия.
Действия позволяют реализовать более сложные операции, из которых
складываются этапы.
Примерами элементарных операций являются щелчок левой кнопки
мыши, двойной щелчок, операция буксирования, нажатие клавиши на
клавиатуре и т. д.
С помощью элементарных операций реализуются действия, в результате
которых изменяется изображение на экране монитора. Например, действием
является переключение режимов в диалоговом окне, установка флажка в поле
включателя, запись формулы, формирование изображения прямоугольника и
т. д.
С помощью элементарных операций и действий реализуются операции.
В результате выполнения операций завершают изготовление документа,
например, получают готовый рисунок или готовый текстовый документ.
Этапы включают в себя перечисленные выше процессы меньшей
сложности. В результате выполнения необходимых этапов происходит
сохранение готового документа, его защита от несанкционированного
использования (шифрование), архивация.
Самым первым шагом в технологической цепочке решения конкретной
задачи является правильный выбор необходимого программного обеспечения.
Таблица содержит перечень некоторых программных продуктов, которые могут
использоваться для решения различных задач.
Таблица 1
Задача
Подготовка текстов
Вид программного
обеспечения
Текстовые редакторы
Название программного
продукта
MS Word, Lexicon, Foton,
Ami Pro, Page Maker, Ventura
Publisher, QuarkXPress
Corel Draw, 3D Studio, AniСоздание рисунков
Графические редакторы mator Pro, Adobe Illustrator,
Free Hand, Adobe PhotoShop
MS Excel, Lotus 1-2-3, Super
Финансовые расчеты
Электронные таблицы
Calc, Quattro Pro, VisiCalc
MS Access, Clipper, FoxPro,
Учет материальных
dBase, Oracle, Paradox, Apценностей, кадров, сбор
Базы данных
proach, FoxBase, FileMaker,
данных
Superbase
Решение математических
Mathcad,
Derive,
Maple,
Математические системы
задач
MATLAB, Mathematica
TC WIN, 3D TC WIN,
Обработка данных
Статистические системы STATISTICA, Statgraphics,
STADIA, SPSS
Системы
Проектирование,
автоматизированного
AutoCAD, CADdy, ArchiCAD
составление чертежей
проектирования
OrCAD, SIMULINK, WorkМоделирование РЭУ
Системы моделирования bench, PSpice, MicroCap, CircuitMaker
EMYCIN, JUDITH, INTERNЭкспертные советы
IST, PROSPECTOR, ManaЭкспертные системы
(электронные советчики)
gement Advisor, XCON, EXPERTAX
ПРОМТ, Socrat, Magic GoodПереводы, проверка
Системы искусственного dy, Lingvo, Контекст,
орфографии,
интеллекта
МультиЛекс,
FineReader,
распознавание образов
CuneiForm
PowerPoint,
Реклама,
Мультимедийные
Lotus Freelance Graphics,
иллюстративный
средства презентации
Charisma,
материал для доклада
Harvard Graphics
Поиск информации в
Internet Explorer,
Браузеры
Интернете
Netscape Navigator, Opera
КонсультантПлюс, ГАРАНТ,
Консультация по
Базы данных
Ваше право, Юсис, Кодекс,
правовым вопросам
Референт, Эталон, АРБТ
Автоматизация работ в
Электронный календарь,
Outlook
офисе
менеджер
PGP, S-Tools, Шип, Верба,
Шифрование сообщений Системы криптографии
Криптон, Аккорд, ФПСУ,
Застава, Игла — П
Имитация медицинских
Виртуальная реальность
или военных операций
HomeSite, MS FrontPage,
Разработка Web-страниц HTML-редакторы
Dreamweaver, Adobe GoLive,
Бухгалтерия, расчет
заработной платы
Нестандартная задача
Бухгалтерские
программы
Языки
программирования
HoTMetaL, Flash, HotDog Pro
и др.
1С
Бухгалтерия,
Парус,
БЭСТ, Декарт
Visual Basic, Delphi, Java,
HTML, Pascal, C и др.
Итак, информационная технология — это совокупность четко
определенных действий персонала по переработке информации на компьютере.
Достижению поставленной цели способствует разделение программного
обеспечения по функциональному назначению, унификация выполняемых
пользователями элементарных операций (загрузка, сохранение, редактирование,
поиск, замена), стандартизация используемых элементов (командных кнопок,
счетчиков, переключателей и т. п.), типизация операций, действий, этапов.
1.4. Этапы развития вычислительной техники
Основные этапы развития вычислительной техники представлены в
таблице.
Этап
Ручной
Механический
Электромеханический
Электронный
Период развития
не установлен
с середины XVII в
с 90-х годов XIX в
с 40-х годов ХХ в
Рассмотрим основные моменты каждого этапа.
Более трех тысяч лет назад в Средиземноморье было распространено
простейшее приспособление для счета: доска, разделенная на полосы, где
перемещались камешки или кости. Такая счетная дощечка называлась абак и
использовалась для ручного счета. В Древнем Риме абак назывался calculi или
abaculi и изготавливался из бронзы, камня, слоновой кости и цветного стекла.
Слово calculus означает «галька», «голыш». От этого слова произошло
латинское слово calculatore (вычислять), а затем слово «калькуляция». Абак
позволял лишь запоминать результат, а все арифметические действия должен
был выполнять человек.
Первая механическая машина была построена немецким ученым
Вильгельмом Шиккардом (предположительно в 1623 г.). Машина была
реализована в единственном экземпляре и предназначалась для выполнения
арифметических операций. Из-за недостаточной известности машины Шиккарда
более 300 лет считалось, что первую суммирующую машину сконструировал
Блез Паскаль.
Блез Паскаль (французский математик, физик, религиозный философ и
писатель) в 1642 г. изобрел механическую счетную машину, выполнявшую
сложение, а в 1674 г. Готфрид Лейбниц расширил возможности машины
Паскаля, добавив операции умножения, деления и извлечения квадратного
корня. Специально для своей машины Лейбниц применил систему счисления,
использующую вместо привычных для человека десяти цифр две: 1 и 0.
Двоичная система счислений широко используется в современных ЭВМ.
Ни одна из этих машин не была автоматической и требовала
непрерывного вмешательства человека. В 1834 г. Чарлз Бэббидж (Charles
Babbage)
первым
разработал
подробный
проект
автоматической
вычислительной машины. Он так и не построил свою машину, так как в то
время невозможно было достичь требуемой точности изготовления ее узлов.
Ч. Бэббидж выделял в своей машине следующие составные части:
 «склад» для хранения чисел (по современной терминологии —
память);
 «мельницу»
для
производства
арифметических
действий
(арифметическое устройство, процессор);
 устройство,
управляющее
последовательностью
выполнения
операций (устройство управления);
 устройства ввода и вывода данных.
В качестве источника энергии для приведения в действие механизмов
машины Ч. Бэббидж предполагал использовать паровой двигатель.
Бэббидж предложил управлять своей машиной с помощью
перфорированных карт, содержащих коды команд, подобно тому как
использовались перфокарты в ткацких станках Жаккара. На этих картах было
представлено то, что сегодня мы назвали бы программой.
Ч. Бэббидж довольно подробно рассматривал вопросы, связанные, как мы
сейчас говорим, с программированием. В частности, им была разработана
весьма важная для программирования идея «условной передачи управления».
Идеи Бэббиджа заложили фундамент, на котором со временем были построены
ЭВМ.
Первые программы для вычислительной машины Бэббиджа создавала
Ада Лавлейс (Ada Lovelace) — дочь известного поэта Джорджа Байрона, в
честь которой впоследствии был назван один из языков программирования.
Выражаясь современным языком, Лавлейс составила программу вычисления
чисел
Бернулли.
Ада
Лавлейс
разработала
основные
принципы
программирования, которые остаются актуальными до настоящего момента
времени. Ряд терминов, введенных Адой Лавлейс, используются и сейчас,
например, «цикл», «рабочие ячейки».
Теоретические основы современных цифровых вычислительных машин
заложил английский математик Джордж Буль (1815—1864). Он разработал
алгебру логики, ввел в обиход логические операторы И, ИЛИ и НЕ. Заметим,
что его дочь Э. Войнич — автор известного произведения «Овод».
В 1888 г. Германом Холлеритом (Herman Hollerith) была
сконструирована первая электромеханическая машина для сортировки и
подсчета перфокарт. Эта машина, названная табулятором, содержала реле,
счетчики, сортировочный ящик. Изобретение Холлерита было использовано при
подведении итогов переписи населения в США.
Успех вычислительных машин с перфокартами был феноменален. То, чем
за десять лет до этого занимались 500 сотрудников в течение семи лет, Холлерит
сделал с 43 помощниками на 43 вычислительных машинах за 4 недели.
В 1896 г. Герман Холлерит основал фирму Computing Tabulation
Company. Спустя несколько лет это предприятие переименовали в
известнейшую теперь фирму International Business Machine Corporation
(IBM).
Немецкий инженер Конрад Цузе (Konrad Zuse) был первым, кто успешно
осуществил
идею
создания
автоматической
электромеханической
вычислительной машины на основе двоичной системы счисления. В 1936 г. он
начал конструировать вычислительный аппарат, работающий в двоичной
системе счисления, который впоследствии был назван Zuse 1 (Z1).
В 1941 г. Цузе сумел построить действующую модель Zuse 3, которая
состояла из 600 реле счетного устройства и 2000 реле устройства памяти.
В 1944 г. (по другим источникам, в 1943 г.) в Англии было разработано
полностью автоматическое вычислительное устройство Colossus II. Основным
его назначением была дешифровка перехваченных сообщений военного
противника.
Еще одна полностью автоматическая вычислительная машина,
изобретенная профессором Гарвардского университета Говардом Айкеном
(Aiken Howard, 1900—1973) при участии группы инженеров фирмы IBM, была
построена в 1944 г. Она была названа ASCC (другое название Mark 1), и была
электромеханической (построена на реле), состоящей приблизительно из 750
тысяч компонентов. На умножение она тратила около 4 секунд. До знакомства с
работами Цузе научная общественность считала машину ASCC первой
электромеханической машиной.
В 1937 г. в США Дж. Атанасов начал работы по созданию электронной
вычислительной машины. Им были созданы и запатентованы первые
электронные схемы отдельных узлов ЭВМ. Совместно с К. Берри к 1942 г. была
построена электронная машина ABC (Atanasoff-Berry Computer).
Электронная вычислительная машина, разработанная Эккертом и
Маучли (John W. Mauchly and J. Presper Eckert, Jr.) в США в 1946 г., была
названа ENIAC. При создании этой машины Эккерт и Маучли заимствовали
основные идеи у Дж. Атанасова. ENIAC была примерно в 1000 раз быстрее, чем
ASCC. Она состояла из 18 тысяч электронных ламп, 1500 реле, имела вес более
30 тонн, потребляла мощность более 150 кВт.
Фотография позволяет наглядно оценить прогресс вычислительной
техники. Несколько человек находятся внутри ENIAC. Современные ЭВМ уже
можно разместить внутри человека.
Первоначально ENIAC программировалась путем соединения проводами
соответствующих гнезд на коммутационной панели, что делало составление
программы очень медленным и утомительным занятием. Американский
математик и физик венгерского происхождения Джон фон Нейман (1903—
1957) предложил хранить программу — последовательность команд управления
ЭВМ — в памяти ЭВМ, что позволяло оперировать с программой так же, как с
данными. Последующие ЭВМ строились с большим объемом памяти, с учетом
того, что там будет храниться программа.
В докладе фон Неймана, посвященном описанию ЭВМ, выделено пять
базовых элементов компьютера:
 арифметико-логическое устройство (АЛУ);
 устройство управления (УУ);
 запоминающее устройство (ЗУ);
 система ввода информации;
 система вывода информации.
Описанную структуру ЭВМ принято называть архитектурой фон
Неймана.
ЭВМ первого поколения в качестве элементной базы использовали
электронные лампы и реле.
Изобретение в 1948 г. транзисторов и запоминающих устройств на
магнитных сердечниках оказало глубокое воздействие на вычислительную
технику. Ненадежные вакуумные лампы, которые требовали большой мощности
для нагревания катода, заменялись небольшими германиевыми (впоследствии
кремниевыми) транзисторами. Компьютеры, построенные в середине 50-х годов
ХХ в., стали называть машинами второго поколения.
Революционный прорыв в миниатюризации и повышении надежности
компьютеров произошел в 1958 г., когда американский инженер Д. Килби (Jack
Kilby) разработал первую интегральную микросхему. В середине 60-х годов
появилось третье поколение ЭВМ, основу элементной базы которых
составляли микросхемы малой и средней степени интеграции.
Другая революция в технологии изготовления ЭВМ произошла в 1971 г.,
когда американский инженер Маршиан Эдвард Хофф (Marcian E. Hoff)
объединил основные элементы компьютера в один небольшой кремниевый чип
(кристалл), который он назвал микропроцессором. Первый микропроцессор
получил маркировку Intel 4004.
ЭВМ четвертого поколения строятся на интегральных микросхемах с
большой степенью интеграции. На одном кристалле размещается целая
микроЭВМ. Заметим, что переход от третьего поколения ЭВМ к четвертому не
был революционным. Отличия коснулись не столько принципов построения
ЭВМ, сколько плотности упаковки элементов в микросхемах.
Развитие ЭВМ идет по пути непрерывного повышения быстродействия,
надежности, расширения функциональных возможностей, уменьшения
габаритов и потребляемой мощности, упрощения правил работы на компьютере.
Среди ЭВМ четвертого поколения появились персональные компьютеры (ПК
или ПЭВМ), которые позволяют индивидуально работать каждому
пользователю.
Первой ПЭВМ можно считать компьютер Altair-8800, созданный в 1974
г. Э. Робертсом. Для этого компьютера П. Аллен и Б. Гейтс в 1975 г. создали
транслятор с популярного языка Basic. Впоследствии П. Аллен и Б. Гейтс
создали известную компанию Microsoft.
В 1976 г. Стивен П. Джобс и Стефан Г. Возниак основали в гараже
Пало-Альто (Калифорния) предприятие Apple Computer. После шести месяцев
работы Возниаку удалось собрать действующий макет под названием Apple 1. В
настоящее время компания с таким названием хорошо известна многим
пользователям ЭВМ.
В настоящее время ведется разработка ЭВМ пятого поколения,
характерными особенностями которых будут способность к самообучению и
наличие речевого ввода и вывода информации.
Таким образом, вычислительная техника постоянно впитывала в себя
самые последние достижения науки, техники и технологии (электронные лампы,
транзисторы, микроэлектроника, лазеры, средства связи), благодаря чему ее
развитие идет необычайно высокими темпами.
В следующем столетии, когда на смену электронным приборам придут
квантовые, оптические или биоэлектронные приборы, то современные нам ЭВМ
будут казаться будущим пользователям такими же монстрами, какими нам
кажутся вычислительные машины 40-х годов ХХ в.
1.5. Хронология возникновения Интернета
Первоначально многие исследования в области создания и
усовершенствования глобальных сетей поддерживались Министерством
обороны США. Целью этих разработок являлось создание такой сети, которая
смогла бы функционировать даже в случае возникновения ядерной войны между
США и бывшим СССР.
Запуск в СССР первого искусственного спутника Земли (1957) стал
поводом для подписания президентом США Д. Эйзенхауэром документа о
создании в рамках Министерства обороны Агентства по перспективным
научным проектам — DARPA (Defense Advanced Research Project Agency).
Через несколько лет основная деятельность DARPA (порой эту
аббревиатуру записывают короче: ARPA) сконцентрировалась на сетевых
компьютерных технологиях.
Главная идея новой технологии состояла в построении сети, состоящей из
равноправных узлов, каждый из которых должен иметь возможность приема,
обработки и передачи сообщений. Это должно было обеспечить высокую
живучесть сети даже при выходе из строя множества узлов.
В 1962 г. Дж. Ликлайдер (J.C.R. Licklider) опубликовал работу «Galactic
Network». В ней он предсказал возможность существования в будущем
глобальной компьютерной связи между людьми, имеющими мгновенный
доступ к программам и базам данных из любой точки земного шара. Его
предвидение отражает современное устройство международной сети Интернет.
Первые эксперименты по объединению удаленных ЭВМ (узлов) были
проведены в 1965 г., когда были соединены между собой компьютеры
Массачусетского технологического института и корпорации SDC в СантаМонике.
В 1967 г. Л. Робертс (Lawrence G. Roberts) опубликовал план построения
сети ARPAnet. При создании сети преследовалось несколько целей:
— сеть должна была сохранять работоспособность даже в том случае,
если несколько компьютеров или линий связи выходили из строя;
— сеть должна была быть доступной для компьютеров с различной
конструкцией и работающих под управлением любой операционной системы (с
различными платформами);
— сеть должна была обладать способностью автоматической
маршрутизации информации (способностью определять адреса) в обход
неисправных элементов сети.
— ARPAnet должна была стать «сетью сетей», объединяющей
множество различных глобальных сетей.
Первым узлом новой сети стал UCLA — Центр испытания сети, к
которому вскоре присоединились Стэндфордский исследовательский институт и
университеты Санта-Барбары и Юты. Первые четыре узла начали
функционировать в 1969 г. В начале 1971 г. в сети уже было 15 узлов.
Поскольку университеты и компании проводили исследования, связанные
с оборонными задачами, им разрешили подключиться к APRAnet, и постепенно
сеть стала использоваться не только в военных целях.
В конце 70-х годов сеть ARPAnet настолько разрослась, что
первоначально принятые стандарты не могли обеспечить ее дальнейшего
развития. По этой причине APRAnet перешла на протокол TCP/IP.
Данный протокол был разработан группой аспирантов под руководством
профессора Стэндфордского университета Винтона Кирфа (Vinton Cerf).
Протокол допускал практически неограниченное наращивание сети. После
принятия новых стандартов ARPAnet стала применяться в основном в невоенной
сфере. К сети подключились компании, фирмы и университеты многих стран
мира, и правительства этих стран содействовали этому развитию.
Первые международные подключения к ARPAnet были осуществлены в
1973 г., когда к сети подключились машины из Англии и Норвегии.
В 1979 г. появилась сеть Usenet, а в 1981 г. — сеть BITNET. Эти сети не
были присоединены к ARPAnet, но по мере того, как разрасталась ARPAnet,
пользователи хотели получать доступ к различным сетям. Поэтому между
указанными сетями была установлена связь, позволившая передавать новости
(другое название — телеконференции) и электронную почту. Позже к ним
подключились и другие новые сети, такие, как CompuServe и America Online.
После этого многие пользователи смогли получить доступ сразу к нескольким
сетям.
Поскольку ARPAnet стала использоваться в основном в невоенной сфере,
Министерство обороны США в 1983 г. создало для своих целей специальную
сеть, получившую название MILNET (MILitary NETwork).
Впоследствии на основании принципов ARPAnet была разработана сеть
NFSnet (National Science Foundation), основными пользователями которой были
ученые. Большинство пользователей, подключенных к NFSnet, работали
одновременно и в ARPAnet. Эти две сети использовали одни и те же протоколы
TCP/IP, поэтому началось их объединение. В 1990 г. ARPAnet прекратила свое
существование и была поглощена сетью NFSnet.
Таким образом, Интернет — это объединение нескольких сетей, в той
или иной степени участвующих в этой структуре. Термин «Интернет» стал
использоваться в конце 80-х годов ХХ столетия, но нужно иметь в виду, что
никакой отдельной конкретной сети это название не принадлежит.
Подключение России к Интернету произошло в 1993 г.
Развитие сетевых технологий передачи информации происходило не
только за счет государственных организаций, но и благодаря инициативе многих
частных людей. В конце 70-х годов ХХ столетия во всем мире появились
общедоступные файловые серверы BBS (Bulletin Board System — электронная
доска объявлений). Абоненты BBS получили возможность бесплатно
просматривать и оставлять объявления, обмениваться почтовыми сообщениями
и файлами, участвовать в дискуссиях.
Первая BBS была создана в Швеции в январе 1978 г. Вардом
Кристиансеном и Ренди Свессом.
В России стала популярной некоммерческая сеть FIDOnet, которая
объединила студентов, преподавателей, инженеров и многих энтузиастов
компьютерной технологии.
К концу 1978 г. сеть FIDOnet насчитывала 80 узлов, а в начале 1998 г. в
FidoNet уже было около 30 тысяч узлов, которые обмениваются почтой и
файлами с помощью протокола UUCP (от Unix-to-Unix Copy Program).
Адреса узлов ФИДО строятся по территориально-иерархическому
принципу. Вся планета разделена на шесть зон — Северная Америка, Латинская
Америка, Европа, Океания, Африка и Азия. Зоны подразделяются далее на
регионы, обычно совпадающие с границами государств. Регионы, в свою
очередь, делятся на сети (nets), состоящие из узлов (nodes) — компьютеров,
распространяющих почту и эхо-конференции (телеконференции). Последний
уровень иерархии — пойнты (points) — компьютеры, подчиненные узлам и
получающие от них почту только для себя.
История Всемирной Паутины (WWW — World Wide Web) начинается с
марта 1989 г. В то время Тим Бернерс-Ли (Tim Berners-Lee) из Европейской
лаборатории физики элементарных частиц в Женеве (французская аббревиатура
CERN) выступил с инициативой разработки гипертекстовой системы для
обмена информацией между географически разделенными группами людей.
WWW — это часть глобальной сети Интернет, один из множества видов
услуг. WWW предоставляет доступ к распределенной базе данных с помощью
гипертекста и гиперссылок. В настоящее время Всемирную Паутину WWW и
Интернет порой отождествляют. Заметим, что понятие «Интернет» много шире,
чем понятие «WWW».
Гипертекст — это особый вид текста, имеющий ссылки, которые
позволяют скачками перемещаться по документу, как бы прокалывая его без
необходимости последовательного просмотра текста строчка за строчкой,
страница за страницей.
Гиперссылки — это выделенные особым образом участки гипертекста,
которые содержат скрытые от пользователя адреса перехода на другие
страницы, сайты или серверы.
В 1945 г. В. Буш, научный советник президента Г. Трумэна,
проанализировав способы предоставления информации, предложил способ
размещения информации по принципу ассоциативного мышления. Через 20 лет
Т. Нельсон реализовал этот принцип на ЭВМ и назвал его гипертекстом.
Тим Бернерс-Ли заимствовал идею гипертекста у Теодора Хольма
Нельсона и творчески развил эту идею. Кроме того, Тим Бернерс-Ли создал
протокол HTTP (протокол передачи гипертекстов), управляющий движением
информации в глобальной сети. Он разработал URL (Uniform Resource Locator
— универсальный указатель ресурсов) как общую систему адресации,
объединившую в себе большинство существующих в Интернете технологий
поиска и связи. Тим Бернерс-Ли создал HTML (язык разметки гипертекстов).
Бурный рост WWW начался весной 1993 г. после создания Марком
Андреесеном (Mark Andreesen) браузера Mosaic версии альфа 0.5.
Браузер — это программа-клиент, облегчающая процессы перемещения
(навигации) между узлами глобальной сети, поиска, приема, передачи и
хранения информации.
При работе с браузером Mosaic-графика стала полноправной частью
интерфейса, а ручной манипулятор мышь — основным средством работы.
Причем при работе в глобальной сети уже не требовалось знание
труднозапоминаемых команд операционной системы UNIX.
В дальнейшем Марк Андреесен внес большой вклад в разработку
браузера Netscape Navigator.
Первый сервер производства NCSA (Национальный центр по
суперкомпьютерным приложениям) был установлен 1 декабря 1992 г., и вскоре
новые серверы WWW стали появляться один за другим. В начале 1993 г.
количество серверов удваивалось каждые три месяца. По некоторым оценкам, в
июне их было130, а в декабре 1993 г. уже 623.
В марте 1993 г. трафик (нагрузка) Паутины (WWW) составил 0,1% от
полного трафика Интернета. Шесть месяцев спустя он составил 1% от полного
трафика Интернета. Этот десятикратный рост продолжился и в 1994 г.
Количество пользователей Интернетом в ноябре 1998 г. превысило 150
млн человек, в сентябре 1999 г. — 201 млн, а в конце 2002 г. — 665 млн.
1.6. Сферы использования вычислительной техники
Перечислить все сферы использования вычислительной техники сложно,
так как ЭВМ проникли практически во все области деятельности людей.
Первые примеры использования ЭВМ были связаны с выполнением
сложных математических расчетов. В шутку машины тех времен называли
цифрогрызами. В настоящее время область использования компьютеров
значительно расширилась.
ЭВМ используются при разработке систем автоматизированного
проектирования (САПР), автоматизированных систем научных исследований
(АСНИ), автоматизированных систем управления технологическими процессами
(АСУТП), автоматизированных рабочих мест (АРМ). ЭВМ хорошо
зарекомендовали себя при расчете заработной платы, разработке печатных плат
для радиоэлектронных устройств, оплате услуг за использование междугородной
телефонной связи, продаже билетов на транспорте, учете больных в
поликлиниках.
Сбор, хранение и переработка информации — благодатная область
использования
вычислительной
техники
(ВТ).
Автоматизированные
справочные, библиотеки, картотеки, базы данных по различным предметным
областям невозможно реализовать без ЭВМ.
В России существует ряд постоянно пополняемых баз данных,
посвященных правовым вопросам: АРБТ, «Ваше право», «Гарант», «Кодекс»,
«КонсультантПлюс», «Референт», «Эталон», «Юсис».
В системах «КонсультантПлюс» можно найти более 100 тысяч
документов по всем отраслям законодательства. Это все нормативные акты
Российской Федерации, документы более 100 министерств и ведомств.
Компьютерная правовая система «Гарант» в настоящее время является
основным инструментом принятия решений по правовым вопросам для 310
тысяч специалистов. Информационные ресурсы компании — это более 200
тысяч документов, относящихся к вопросам законодательства.
Правительство США объявило о том, что полные тексты всех
зарегистрированных в стране с 1976 г. патентов (их число превышает два
миллиона единиц), а также данные о зарегистрированных торговых марках и
товарных знаках и находящихся на рассмотрении заявках будут размещены в
глобальной сети Интернет и бесплатно доступны всем желающим.
Однокристальные ЭВМ широко используются в измерительных
приборах для управления процессом измерений, математической обработки
результатов измерений, проверки работоспособности и настройки прибора.
Цифровые сигнальные процессоры применяются в сотовых телефонах, модемах,
графических ускорителях (акселераторах), звуковых картах.
ЭВМ, встроенные в телефонные аппараты, отвечают на вызовы,
записывают в память передаваемые сообщения, определяют номер
вызывающего абонента, позволяют ввести пароль и временно переключать
вызовы на другой телефонный номер. Электронные автоматические
телефонные станции представляют абонентам большое число услуг, например
выдача справок, печать телефонных справочников.
Миниатюрные ЭВМ встречаются повсюду: в лифтах, фотоаппаратах,
термостатах, торговых автоматах, системах противоугонной сигнализации и
даже «говорящих» открытках.
С помощью вычислительной техники делается шаг в направлении
создания «безбумажной технологии». Включение ЭВМ в глобальные сети
позволяет создать электронную почту, наличие модема дает возможность
машинистке работать дома, передавая набранный текст по нужному адресу без
распечатки его на бумаге. Нельзя не заметить появление в Интернете
виртуальных электронных магазинов, покупку в которых можно сделать с
помощью кредитных карточек или наложенным платежом.
В ближайшее время в каждом учреждении, предприятии, даже
небольшом ресторане можно будет сделать заказы билетов на транспорт или
забронировать места в гостинице, посетить с помощью компьютера
виртуальный магазин и выбрать, например, подходящую мебель.
С помощью глобальной сети можно получить консультацию
квалифицированного юриста, перевести фразу с одного естественного языка на
другой. Глобальная сеть предоставляет возможность побеседовать на любую
тему с незнакомыми людьми, почитать газеты, журналы, послушать радио
(причем можно выбрать тематику передач, тип музыки). Интернет
предоставляет доступ к сокровищам мировой культуры и науки.
Вычислительная техника позволяет надежно засекретить передаваемое
по сети сообщение. Существуют такие экзотические методы шифрования,
которые позволяют запрятать сообщение в обычный рисунок или музыкальное
произведение. Неприметный на вид рисунок может содержать секретную
информацию.
ЭВМ стала постоянным инструментом для многих писателей,
композиторов, художников благодаря существованию удобных текстовых,
музыкальных и графических редакторов.
В США ЭВМ используют для моделирования лица перед пластической
операцией. Вычислительная техника широко используется при заказах фасона,
цвета одежды и обуви, причем клиент активно участвует в формировании
заказа. Медикам ЭВМ помогает распознать болезнь, назначить курс лечения и
сохранить на магнитном носителе историю болезни.
В современных автомобилях ЭВМ выполняет автоматическое
переключение скоростей, оптимальное дозирование топливной смеси,
регулировку положения сиденья и зеркал. Бортовой компьютер,
поддерживающий связь со спутником, позволяет определить географическое
местоположение автомобиля и выбрать оптимальный маршрут движения.
ЭВМ играет ключевую роль в развитии и процветании индустрии
компьютерных игр.
В скором времени важную роль в жизни людей будут играть роботы,
управляемые ЭВМ. Например, робот Minerva использовался в качестве
экскурсовода в Смитсоновском музее американской истории. Подобные роботы
могут использоваться не только в выставочных залах, но и на уборке мусора
(автоматические пылесосы), в качестве помощников пожилых людей или
инвалидов.
Дистанционно управляемый робот-снайпер Telepresent Rapid Aiming
Platform предназначен для борьбы с преступниками. Глазами робота являются
видеокамеры, одна из которых служит для увеличения изображения опасной цели
в девять раз. Управление стрельбой ведется с помощью джойстика,
контролирующего движение механизмов перемещения дула пистолета.
Смарт-карты размером 85,653,9 мм и толщиной 0,76 мм могут быть
использованы вместо монет для оплаты телефонных разговоров, в качестве
электронных денег в магазинах, больничной карточки, водительского
удостоверения, пропуска в здание, для оплаты проезда в метро и т. д. Смарткарта представляет собой небольшой компьютер, способный выполнять расчеты
подобно ПЭВМ. Наиболее совершенные смарт-карты имеют мощность,
сопоставимую с мощностью ПЭВМ начала 80-х годов ХХ столетия.
Усилилась роль компьютеров в образовании. Обучающие программы по
различным отраслям знаний позволяют студентам и ученикам самостоятельно
изучать иностранные языки, математику, физику, химию, астрономию и другие
дисциплины. В глобальной сети размещают конспекты лекций лучших
преподавателей, планы занятий, задания на лабораторные работы и т. д.
Не следует думать, что ЭВМ всемогуща. ЭВМ не знает, являются ли
команды, которые она выполняет, действительно необходимыми для решения
данной задачи. Она может выполнять одну и ту же группу команд бесконечно,
не понимая, что это бессмысленно.
Приведем хрестоматийный пример ошибочной работы ЭВМ. Во время
фолклендского конфликта английский эсминец «Шеффилд» был поражен
самонаводящейся ракетой. Система обнаружения запеленговала эту ракету,
однако система была запрограммирована так, что ракеты типа Exocet она
принимала за свои.
Просчеты проектировщиков привели к возникновению проблемы 2000 г.
В результате сбоев ЭВМ не работали банкоматы, останавливались поезда,
сбивались с курса танкеры, отказывали устройства связи.
1.7. Развитие отечественной вычислительной
техники
В бывшем СССР работы по созданию ЭВМ были начаты перед Великой
Отечественной войной. Однако работы в этом направлении из-за войны были
приостановлены.
Разработка ЭВМ возобновилась в 1947 г. в Институте электротехники
Академии наук Украины под руководством Сергея Алексеевича Лебедева.
В декабре 1948 г. С.А. Лебедевым (независимо от Джона фон Неймана)
были разработаны принципы построения ЭВМ, у которой программа хранилась в
оперативной памяти. К концу 1949 г. были спроектированы общая компоновка
машины и принципиальные схемы ее блоков. В первой половине 1950 г. были
изготовлены отдельные блоки и к концу 1950 г. закончена отладка созданного
макета. В ноябре 1950 г. был испытан макет первой отечественной ЭВМ — малой
электронно-счетной машины (МЭСМ). В 1952 г. она была введена в
эксплуатацию.
С помощью МЭСМ решались важнейшие научно-технические задачи:
исследование термоядерных процессов, разработка космической и ракетной
техники, проектирование дальних линий электропередачи, разработка методов
статистического контроля качества и др.
В 1952 г. была создана большая электронно-счетная машина (БЭСМ). В
качестве элементной базы у этой машины использовались электронные лампы
(первое поколение ЭВМ).
Работы, имевшие для страны большое значение, проводились независимо
несколькими организациями. В 1952 г. стали действовать машины М-1 и М-2,
созданные в коллективе, которым руководил член-корреспондент Академии
наук СССР И.С. Брук.
К ЭВМ первого поколения можно отнести МЭСМ, БЭСМ, М-1, М-2, М-З,
«Стрелу», «Минск-1», «Урал-1», «Урал-2», «Урал-3», M-20, «Сетунь», БЭСМ-2,
«Раздан».
В то время появилось немало оригинальных конструкций и идей.
В 1953 г. Н.П. Брусенцов предложил для построения ЭВМ использовать
не традиционную двоичную систему счисления, а троичную систему счисления.
Троичная СС в ряде случаев позволяла создавать более компактные
(эффективные) программы. Машину, разработанную Н.П. Брусенцовым, назвали
«Сетунь» — по имени речки, протекающей недалеко от Московского
университета.
Первая отечественная ЭВМ на полупроводниковых приборах (второе
поколение ЭВМ) под названием «Днепр» была разработана в конце 50-х годов в
Институте кибернетики АН Украины под руководством академика В.М.
Глушкова.
ЭВМ второго поколения БЭСМ-6 (1966), разработанная под руковод-ством
С.А. Лебедева, была одной из самых производительных машин в мире.
К ЭВМ второго поколения относятся: М-40, М-50 — для систем
противоракетной обороны; «Урал-11» (14, 16) — для решения инженернотехнических и планово-экономических задач; «Минск-2» (12, 14) — для решения
инженерных, научных и конструкторских задач; «Минск-22» — для решения
научно-технических и планово-экономических задач; БЭСМ-3 (4, 6) — для
решения сложных задач науки и техники; М-20, (220, 222) — для решения
сложных математических задач; «МИР-1» — для решения широкого круга
инженерно-конструкторских математических задач; «Наири» — для решения
широкого круга инженерных, научно-технических, планово-экономических и
учетно-статистических задач и др.
В бывшем СССР первым серийным компьютером на интегральных
микросхемах (третье поколение ЭВМ) была машина «Наири-3», появившаяся в
1970 г.
В нашей стране вплоть до 70-х годов создание ЭВМ велось
самостоятельно, использовались идеи, разработанные в основном отечественными
учеными и конструкторами (М.А. Карцев, Б.И. Рамаев, Ю.А. Базилевский,
Б.Н. Малиновский и др.). Дело в том, что вычислительная техника с самого
момента ее появления стала стратегическим инструментом, который
использовался для решения задач военно-промышленного комплекса. Поэтому
разработка в СССР велась автономно и в условиях секретности (как, впрочем, и за
рубежом). Когда занавес секретности был приоткрыт, появился соблазн
использовать готовые зарубежные наработки (в том числе разнообразное
программное обеспечение). В тот период времени было принято, вероятно,
ошибочное решение, сводившееся к копированию зарубежной техники.
В СССР и странах-союзниках по Варшавскому Договору в 70—80-х годах
ХХ в. разрабатывались машины Единой Системы (ЕС) — большие, средние
машины, система малых ЭВМ (СМ) и серия микроЭВМ. В их основу были
положены американские образцы фирм IBM и DEC (Digital Equipment
Corporation).
К машинам третьего поколения относились «Днепр-2», ЭВМ Единой
Системы (ЕС-1010, ЕС-1020, ЕС-1030, ЕС-1040, ЕС-1050, ЕС-1060 и несколько
их промежуточных модификаций — ЕС-1021 и др.), «МИР-2», «Наири-2» и ряд
других.
Элементная база ЭВМ четвертого поколения — большие и
сверхбольшие интегральные схемы.
К четвертому поколению можно отнести отечественные ЭВМ:
ЕС-1015, ЕС-1025, ЕС-1035, ЕС-1045, ЕС-1055, ЕС-1065 («Ряд 2»), ЕС-1036, ЕС1046, ЕС-1066, СМ-1420, СМ-1600, СМ-1700, персональные ЭВМ
(«Электроника МС 0501», «Электроника-85», «Искра-226», ЕС-1840,
ЕС-1841, ЕС-1842, «Нейрон И9.66» и др.), многопроцессорный вычислительный
комплекс «Эльбрус» и другие ЭВМ.
Многие программисты в России начинали изучение компьютерной
грамотности с программируемых калькуляторов Б3-34, МК-54. С их помощью
пользователи решали арифметические задачи и задачи математического анализа
(численными методами). Трудно поверить, но для программируемых
калькуляторов были разработаны даже игровые программы (например,
крестики-нолики).
В конце 80-х — начале 90-х годов ХХ столетия в России были популярны
бытовые персональные компьютеры «Микроша», «Радио-86», «Микро-88»,
«Криста», «Лик», «Специалист», «Квант» (на процессоре К580ВМ80А), БК-0010
(на процессоре К1801ВМ1), «Ассистент», «Поиск», МС-0511, МС-1502 (на
процессоре К1810ВМ86).
Большое число ПЭВМ было изготовлено на базе процессора Z80A. Среди
них можно назвать Spectrum ZX (фирмы Sincklair Radions LTD) и наши
отечественные модели: Sintez, «Север», «Элин», «Дельта», «Байт», «Магик»,
«Компаньон», «Коле», «Форум БК01», «Синтака 002», «Ленинград», «Москва» и
др. При этом многие ПЭВМ, использовавшиеся российскими программистами,
например «Радио-86», «Специалист», Spectrum ZX, «Ленинград», «Москва»,
были самодельными.
В середине 2001 года в России введён в строй 768-процессорный
суперкомпьютер МВС-1000М, обеспечивающий производительность в 1
Терафлопс. После этого Россия вышла на третье место в мире по мощности
производимых суперкомпьютеров.
Летом 1999 года был изготовлен первый экземпляр микрокомпьютера
Сайбико (Cybiko). Этот малогабаритный компьютер разработан российской
компанией Cybiko Inc. (основана Давидом Яном). Отличительной особенностью
новой конструкции является возможность организации подвижно радиосвязи
между компьютерами, находящимися на расстоянии 100…150 метров друг от
друга. Это позволяет пользователям (преимущественно молодым людям) легко
общаться друг с другом, заводить новые знакомства, с помощью заранее
составленной анкеты искать «человека своей мечты». Сайбико дает
возможность не только организовывать локальные сети на небольших
расстояниях, у него есть выход в глобальную Сеть Интернет. Вес устройства
менее 120 г.
2. Арифметические и логические основы
работы ЭВМ
2.1. Системы счисления
Все фантастические возможности вычислительной техники (ВТ)
реализуются путем создания разнообразных комбинаций сигналов высокого и
низкого уровней, которые условились называть «единицами» и «нулями».
Поэтому мы, в отличие от поэта В. Маяковского, не склонны недооценивать
роль единицы, как, впрочем, и нуля.
Особенно если речь идет о двоичной
системе счисления.
Под системой счисления (СС)
понимается
способ
представления
любого числа с помощью алфавита
символов, называемых цифрами.
СС называется позиционной,
если одна и та же цифра имеет
различное значение, которое определяется ее местом в числе.
Десятичная СС является позиционной. На рисунке слева значение цифры
9 изменяется в зависимости от ее положения в числе. Первая слева девятка
делает вклад в общее значение десятичного числа 900 единиц, вторая — 90, а
третья — 9 единиц.
Римская СС является непозиционной. Значение цифры Х в числе ХХI
остается неизменным при вариации ее положения в числе.
Количество различных цифр, употребляемых в позиционной СС,
называется основанием СС. В десятичной СС используется десять цифр: 0, 1, 2,
..., 9; в двоичной СС — две: 0 и 1; в восьмеричной СС — восемь: 0, 1, 2, ..., 7. В
СС с основанием Q используются цифры от 0 до Q – 1.
В общем случае в позиционной СС с основанием Q любое число х может
быть представлено в виде полинома:
x = anQn + an-1Qn-1 + … + a1Q1 + a0Q0 + a-1Q-1 + a-2Q-2 + …+ a-mQ-m
целая часть
дробная часть
где в качестве коэффициентов ai могут стоять любые цифры, используемые в
данной СС.
Принято представлять числа в виде последовательности входящих в
полином соответствующих цифр (коэффициентов):
x = an an-1 … a1 a0 , a-1 a-2 … a-m
Запятая отделяет целую часть числа от дробной части. В ВТ чаще всего
для отделения целой части числа от дробной части используют точку. Позиции
цифр, отсчитываемые от точки, называют разрядами. В позиционной СС вес
каждого разряда отличается от веса (вклада) соседнего разряда в число раз,
равное основанию СС. В десятичной СС цифры 1-го разряда — единицы, 2-го —
десятки, 3-го — сотни и т. д.
В ВТ применяют позиционные СС с недесятичным основанием:
двоичную, восьмеричную, шестнадцатеричную системы и др. Для обозначения
используемой СС числа заключают в скобки и индексом указывают основание
СС:
(15)10; (1011)2; (735)8; (1EA9F)16.
Иногда скобки опускают и оставляют только индекс:
1510; 10112; 7358; 1EA9F16.
Есть еще один способ обозначения СС: при помощи латинских букв,
добавляемых после числа. Например,
15D; 1011B; 735Q; 1EA9FH.
Установлено, что, чем больше основание СС, тем компактнее запись
числа. Так двоичное изображение числа требует примерно в 3,3 раза большего
количества цифр, чем его десятичное представление. Рассмотрим два числа: 97D
= 1100001B. Двоичное представление числа имеет заметно большее количество
цифр.
Несмотря на то, что десятичная СС имеет широкое распространение,
цифровые ЭВМ строятся на двоичных (цифровых) элементах, так как
реализовать элементы с десятью четко различимыми состояниями сложно. В
другой системе счисления могут работать приборы декатрон и трохотрон.
Декатрон — газоразрядная счетная лампа — многоэлектродный газоразрядный
прибор тлеющего разряда для индикации числа импульсов в десятичной СС.
Указанные устройства не нашли применения для построения средств ВТ.
Историческое развитие вычислительной техники сложилось таким образом, что
цифровые ЭВМ строятся на базе двоичных цифровых устройств (триггеров,
регистров, счетчиков, логических элементов и т. п.).
Заметим, что отечественная ЭВМ «Сетунь» (автор — Н.П. Брусенцов)
работала с использованием троичной системы счисления.
Шестнадцатеричная и восьмеричная СС используются при составлении
программ на языке машинных кодов для более короткой и удобной записи
двоичных кодов — команд, данных, адресов и операндов. Перевод из двоичной
СС в шестнадцатеричную и восьмеричную СС (и обратно) осуществляется
достаточно просто.
Задача перевода из одной системы счисления в другую часто встречается
при программировании и особенно часто при программировании на языке
Ассемблера. Например, при определении адреса ячейки памяти, для получения
двоичного или шестнадцатеричного эквивалента десятичного числа. Отдельные
стандартные процедуры языков программирования Паскаль, Бейсик, HTML и
Си требуют задания параметров в шестнадцатеричной системе счисления. Для
непосредственного редактирования данных, записанных на жесткий диск, также
необходимо умение работать с шестнадцатеричными числами. Отыскать
неисправность в ЭВМ практически невозможно без представлений о двоичной
системе счисления. Без знания двоичной СС невозможно понять принципы
архивации, криптографии и стеганографии. Без знания двоичной СС и Булевой
алгебры невозможно представить, как происходит слияние объектов в
векторных графических редакторах, которые используют логические операции
ИЛИ, И, И-НЕ.
В табл. 1 приведены некоторые числа, представленные в различных СС.
Таблица 1
Десятичная
0
1
2
3
4
5
6
Системы счисления
Двоичная
Восьмеричная
0
0
1
1
10
2
11
3
100
4
101
5
110
6
Шестнадцатерич.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
7
10
11
12
13
14
15
16
17
20
21
7
8
9
A
B
C
D
E
F
10
11
Рассмотрим правило перехода из восьмеричной СС в двоичную СС.
Для перевода восьмеричного числа в двоичную СС достаточно
заменить каждую цифру восьмеричного числа соответствующим
трехразрядным двоичным числом. Затем необходимо удалить крайние
нули слева, а при наличии точки — и крайние нули справа.
Еще одно правило перевода чисел:
Для перехода от шестнадцатеричной СС к двоичной СС каждая
цифра шестнадцатеричного числа заменяется соответствующим
четырехразрядным двоичным числом. У двоичного числа удаляются
лидирующие нули (крайние слева), а если имеется дробная часть, то и
крайние правые нули.
Пример 1. Перевести число 305.4Q из восьмеричной СС в двоичную СС.
Решение.
Переводимое число
(3

011
0

000
5.

101.
Результат
4)8 = (11000101.1)2

100


Отмеченные символами «» нули следует отбросить. Заметим, что двоичные
числа взяты из табл. 1.
Пример 2. Перевести число 7D2.EH из шестнадцатеричной СС в
двоичную СС.
Решение.
Переводимое число
(7

0111
D

1101
Результат
2.
E) 16 = (11111010010.111)2


0010. 1110


Отмеченные крайние нули следует отбросить.
Рассмотрим еще одно правило:
Для перехода от двоичной СС к восьмеричной (или
шестнадцатеричной) СС поступают следующим образом: двигаясь от
точки сначала влево, а затем вправо, разбивают двоичное число на
группы по три (четыре) разряда, дополняя при необходимости нулями
крайние левую и правую группы. Затем каждую группу из трех
(четырех) разрядов заменяют соответствующей восьмеричной
(шестнадцатеричной) цифрой.
Пример 3. Перевести число 111001100.001В из двоичной СС в
восьмеричную СС.
Решение.
Переводимое число
(111

7
001

1
100.

4.
Результат
001) 2 = (714.1)8

1
Пример 4. Перевести число 10111110001.001В из двоичной СС в
шестнадцатеричную СС.
Решение.
Для перевода двоичного числа в десятичную СС достаточно
представить число в виде полинома, подставить в него известные
коэффициенты и вычислить сумму.
Пример 5. Перевести число 11011.11В из двоичной СС в десятичную СС.
Решение.
(11011.11)2 = 124 + 123 + 022 + 121 + 120 + 12-1 + 12-2 =
= 16 + 8 + 0 + 2 + 1 + 0.5 + 0.25 = (27.75) 10.
Пример 6. Перевести шестнадцатеричное число 2E5.AH в десятичную
СС.
Решение.
(2E5.A)16 = 2162 + 14161 + 5160 + 1016-1 = (741.625)10.
Перевод целых чисел из десятичной СС в двоичную, восьмеричную или
шестнадцатеричную СС удобно делать с помощью следующего правила:
Для перевода целого числа из S-системы счисления в W-систему
счисления нужно последовательно делить это число, а затем
получаемые частные на основание W новой СС до тех пор, пока частное
не станет меньше W.
Пример 7. Перевести целое десятичное число 37D в двоичную СС:
Решение.
37
2
36
18
2
9
2
МЗР  1 18
0
8
4
2
1
4
2
2
0
2
1 
СЗР
0
Результат перевода: (37)10 = (100101)2.
При переводе наиболее частой ошибкой является неверная запись
результата. Запись двоичного числа следует начинать со старшего значащего
разряда (СЗР), а заканчивать записью младшего значащего разряда (МЗР).
Следует помнить, что при делении первым получается значение МЗР.
Для перевода правильной дроби из S-системы счисления в СС с основанием W
дробь и дробные части получающихся произведений на основание W, представленное в ста
получающихся произведений дают последовательность цифр, которая является представ
счисления.
Напомним, что правильной называется дробь, числитель которой
меньше знаменателя.
Пример 8. Перевести правильную десятичную дробь 0.1875D в двоичную
СС.
Решение.
0.1875
х
2
0  0.3750
х
2
0  0.7500
х
2
1  1.5000
х
2
1  1.0000
Запишем результат перевода: 0.1875D = 0.0011B.
Обычно перевод дробей из одной СС в другую производят приближенно. При
переводе неправильной дроби переводят отдельно целую и дробную части,
руководствуясь соответствующими правилами.
Пример 9. Перевести десятичное число 9.625D в двоичную СС.
Решение.
Вначале переведем целую часть десятичного числа в двоичную СС:
9D = 1001B.
Затем переведем правильную дробь:
0.625D = 0.101B.
Окончательный ответ: 9.625D = 1001.101B.
2.2. Арифметические основы работы ЭВМ
Правила выполнения арифметических действий над двоичными числами
задаются таблицами сложения, вычитания и умножения.
Таблица 1
Сложение
0+0=0
0+1=1
1+0=1
1 + 1 = 10
Вычитание
0–0=0
1–0=1
1–1=0
10 – 1 = 1
Умножение
00=0
01=0
10=0
11=1
Правила арифметики во всех позиционных СС аналогичны. В двоичной
СС арифметическое сложение происходит по правилу сложения по модулю два
с учетом переноса единицы в старший разряд (см. таб. 1).
Пример 1. Выполнить операцию арифметического сложения в двоичной
системе счисления.
Решение.
Точками показаны переносы.
В устройствах, реализующих операцию
.
....
арифметического сложения двоичных чисел,
13
01101
операнды представляют числами определенной
+ 7
 + 00111
разрядности (одинаковой для обоих операндов).
20
10100
При этом неиспользуемые старшие разряды
10
2
заполняются нулями. Также заполняются нулями
младшие разряды дробной части вещественного
числа (справа от точки).
Следует заметить, что в реальных ЭВМ чаще всего используются 16-, 32-,
64-разрядные сетки (машинные слова). Однако для учебных целей при
рассмотрении методов выполнения арифметических операций не будем
обращать внимание на разрядность операндов (т. е. будем использовать
разрядность, отличающуюся от разрядности реальных ЭВМ).
Пример 2. Выполнить операцию арифметического сложения двух
вещественных чисел в двоичной системе
счисления.
Решение.
.
.. ...
Результаты сложения двух чисел
55,25
0110111.01
показаны на рисунке слева. При
+ 19,5
 + 0010011.10
сложении вещественных чисел в общем
74,75
1001010.11
случае перенос осуществляется и из
10
2
дробной части числа в целую часть.
Рассмотрим правило умножения
многоразрядных двоичных чисел.
Умножение двоичных многоразрядных чисел производится
путем образования частичных произведений и последующего их
суммирования. Каждое частичное произведение равно нулю, если в
соответствующем разряде множителя стоит 0, или равно множимому,
Таким образом, операция умножения многоразрядных двоичных чисел
внутри ЭВМ сводится к операции сдвига и сложения. Положение точки,
отделяющей целую часть от дробной части, определяется так же, как и при
умножении десятичных чисел.
Пример 3. Перемножить в двоичной СС числа 7,5D и 5D.
Решение.
111.1
101
1111
+ 0000
1111 .
100101.1
x
7,5
x 5
37,5

10
множимое
множитель
1-е част. произв.
+ 2-е част. произв.
3-е част. произв.
.
произведение
x

2
В рассмотренном примере второй разряд множителя равен нулю, поэтому
второе частичное произведение также равно нулю.
В ВТ, с целью упрощения реализации арифметических операций,
применяют специальные коды. За счет этого облегчается определение знака
результата операции, а операция вычитания чисел сводится к арифметическому
сложению.
В
результате
упрощаются
устройства,
выполняющие
арифметические операции.
В ВТ применяют прямой, обратный и дополнительный коды.
Прямой двоичный код Рпр(х) — это такое представление двоичного
числа х, при котором знак «+» кодируется нулем в старшем разряде числа, а знак
«–» — единицей. При этом старший разряд называется знаковым.
Например, числа +5D и –5D, представленные в прямом четырехразрядном
коде, выглядят так: +5D = 0'101B; –5D = 1'101B. Здесь апострофом условно (для
удобства определения знака) отделены знаковые разряды.
Обратный код Робр(х) получается из прямого кода по следующему
правилу:
0' Pпр(х),
при х  0
1' Pпр(х),
при х  0.
Робр(х) =
Из приведенного выражения видно, что обратный код для
положительных чисел совпадает с прямым кодом. Чтобы представить
отрицательное двоичное число в обратном коде, нужно поставить в знаковом
разряде 1, во всех значащих разрядах заменить 1 на 0, а 0 на 1. Такая операция
называется инверсией и обозначается горизонтальной чертой над
инвертируемым выражением (см. разд. «Логические основы работы ЭВМ»).
Пример 4. Получить обратный код для числа х = –11D.
Решение.
Рпр(х) = (1'1011)2
Робр(х) = (1'0100)2.
Считается, что здесь числа представлены пятью разрядами. Из
рассмотренного примера видно, что обратный код для положительных чисел
совпадает с прямым, а для отрицательных чисел получается инверсией
(переворотом) всех разрядов, кроме знакового разряда.
Дополнительный код Рдоп(х ) образуется следующим образом:
0' Pпр(х),
при х  0
1' Pпр(х) + 1,
при х  0.
Рдоп(х) =
Из выражения видно, что дополнительный код положительного числа
совпадает с прямым кодом, а для отрицательного числа получается инверсией
всех значащих разрядов и добавлением единицы к младшему разряду
результата.
Дополнительный код отрицательного числа может быть получен из
обратного кода путем прибавления 1 к младшему разряду обратного кода
(естественно, с учетом переносов между разрядами).
Пример 5. Получить дополнительный код для числа х = –13D.
Решение.
Рпр(х) = ( 1'1101 )2
прямой код
Робр(х) = ( 1'0010 )2
обратный код
Рдоп(х ) = ( 1'0011)2
дополнительный код.
В табл. 2 представлены прямые, обратные и дополнительные коды чисел
от –7D до +7D.
Таблица 2
Десятичное
число х
0
1
Рпр(х)
Робр(х)
Рдоп(х )
0'000
0'001
0'000
0'001
0'000
0'001
2
3
4
5
6
7
-0
-1
-2
-3
-4
-5
-6
-7
0'010
0'011
0'100
0'101
0'110
0'111
1'000
1'001
1'010
1'011
1'100
1'101
1'110
1'111
0'010
0'011
0'100
0'101
0'110
0'111
1'111
1'110
1'101
1'100
1'011
1'010
1'001
1'000
0'010
0'011
0'100
0'101
0'110
0'111
—
1'111
1'110
1'101
1'100
1'011
1'010
1'001
Рассмотрим правило сложения двоичных чисел в дополнительном коде.
При алгебраическом сложении двоичных чисел положительные
слагаемые представляют в прямом коде, а отрицательные числа
(слагаемые) — в дополнительном коде и производят арифметическое
суммирование этих кодов, включая разряды знаков, которые при этом
рассматривают как старшие разряды. При возникновении переноса из
разряда знака единицу переноса отбрасывают. В результате получают
алгебраическую сумму в прямом коде, если эта сумма положительная, и
в дополнительном коде, — если сумма отрицательная.
Напомним, что алгебраическое сложение — это сложение, в котором
могут участвовать как положительные, так и отрицательные числа.
Пример 6. Выполнить алгебраическое сложение с использованием
дополнительного кода для чисел х1 = 7D и х2 = –3D.
Решение.
Необходимо найти сумму: y = x1 + x2.
Учитывая, что x1 > 0, это число нужно представить в прямом коде, а так
как x2 < 0, то x2 нужно перевести в дополнительный код.
P(y) = Рпр(x1) + Рдоп(x2).
. ..
Рпр(x1) = 0'111В
0'111
Рпр(x2) = 1'011B
P(y) = + 1'101
Робр(х2) = 1'100B
0'100
Рдоп(x2) = 1'101B.
2
Так как результат положителен (в знаковом разряде P(y) — 0), значит, он
представлен в прямом коде. После перевода двоичного числа в десятичную СС
получим ответ: y = +4D.
Пример 7. Выполнить алгебраическое сложение с использованием
дополнительного кода для чисел х1 = 8D и х2 = –13D.
Необходимо найти сумму: y = x1 + x2.
Число x1 нужно представить в прямом коде, а x2 — в дополнительном
коде.
P(y) = Рпр(x1) + Рдоп(x2).
Рпр(x1) = 0'1000В
0'1000
Рпр(x2) = 1'1101B
P(y) = + 1'0011
Робр(х2) = 1'0010B
1'1011
Рдоп(x2) = 1'0011B.
2
В знаковом разряде стоит единица, и, значит, результат получен в
дополнительном коде. Для перехода от дополнительного кода
Pдоп(y) = 1'1011B
к прямому коду Рпр(y) необходимо выполнить следующие преобразования:
Робр(y) = Рдоп(y) – 1 = 1'1011B – 1 = 1'1010B,
Рпр(y) = Робр(y) = 1'1010B = 1'0101B.
Переходя от двоичной СС к десятичной СС, получим ответ: y = –5D.
2.3. Логические основы работы ЭВМ
Для описания логики функционирования аппаратных и программных
средств ЭВМ используется алгебра логики или, как ее часто называют, булева
алгебра. Основоположником этого раздела математики был Дж. Буль.
Булева алгебра оперирует с логическими переменными, которые могут
принимать только два значения: истина или ложь, обозначаемые
соответственно 1 и 0.
Как ранее отмечалось, основной системой счисления ЭВМ является
двоичная СС, в которой также используются только две цифры: 1 и 0. Таким
образом, одни и те же цифровые устройства ЭВМ могут применяться для
обработки как числовой информации в двоичной СС, так и логических
переменных. Это обуславливает универсальность (однотипность) схемной
реализации процесса обработки информации в ЭВМ.
Совокупность значений логических переменных x1, x2, ..., xn называется
набором переменных.
Логической функцией от набора логических переменных (аргументов)
F(x1, x2, ..., xn ) называется функция, которая может принимать только два
значения: истина или ложь (1 или 0). Любая логическая функция может быть
задана с помощью таблицы истинности, в левой части которой записываются
возможные наборы аргументов, а в правой — соответствующие им значения
функции. Логическую функцию порой называют функцией алгебры логики
(ФАЛ).
В случае большого числа аргументов табличный способ задания функции
алгебры логики становится громоздким, поэтому ФАЛ удобно выражать через
другие, более простые ФАЛ.
Общее число ФАЛ n переменных определяется возведением числа 4 в
степень n, т. е. 4n. Существуют четыре ФАЛ одной логической переменной.
Таблица 1
x
0
1
F0(x)
0
0
F1(x)
0
1
F2(x)
1
0
F3(x)
1
1
Функции F0(х) = 0 и F3(х) = 1 являются константами (функции не
изменяются при изменении аргумента). Функция F1(х) = х повторяет значение
аргумента х. Функция F2(x) называется отрицанием переменной или инверсией
и обозначается так:
F2(x) = x .
Число ФАЛ двух переменных x1 и x2 равно 16: F0(x) ... F15(x). Шесть
функций являются вырожденными: F0(x) = 0, F3(x) = x1, F5(x) = x2, F10(x) =
x2 ,
F12(x) = x1 , F15(x) = 1.
Из оставшихся десяти логических функций широкое распространение
имеют функции F1(х) (конъюнкция или логическое умножение) и F7(х)
(дизъюнкция или логическое сложение), которые совместно с функцией
инверсии составляют функционально полную систему логических функций. С
помощью этих трех функций можно представить (аналитически выразить)
любую сколь угодно сложную логическую функцию. Очень важной для
вычислительной техники является логическая функция исключающее ИЛИ
(неравнозначность, сложение по модулю два). Функция исключающее ИЛИ
обозначается символом . Ниже приведены таблицы истинности для этих трех
функций.
Инверсия
х
0
1
1
0
x2
0
0
1
1
x1
0
1
0
1
x2  x1
0
1
1
1
x2  x1
0
0
0
1
x2 x1
0
1
1
0
Логические переменные, объединенные знаками логических операций,
составляют логические выражения. При определении значения логического
выражения принято следующее старшинство (приоритет) логических
операций: сначала выполняется инверсия, затем конъюнкция и в последнюю
очередь — дизъюнкция. Для изменения указанного порядка используют скобки.
Рассмотрим аксиомы, тождества и основные законы алгебры логики.
В алгебре логики рассматриваются переменные, которые могут
принимать только два значения: 0 и 1. Базируется алгебра логики на отношении
эквивалентности и трех упомянутых ранее операциях: дизъюнкции
(синонимы — логическое сложение, операция ИЛИ), конъюнкции (логическое
умножение, операция И) и отрицании (инверсия, операция НЕ).
Отношение эквивалентности обозначается знаком =.
Дизъюнкция обозначается знаком , а иногда символом +.
Конъюнкция обозначается символом  либо точкой, которую можно
опускать.
Отрицание обозначается чертой над переменной: x .
Алгебра логики определяется следующей системой аксиом:
x = 0, если x  1.
x = 1, если x  0.
11=1
00=0
00=0
11=1
01=10=1
10=01=0
1  0.
0 1
Если в аксиомах произвести взаимную замену операций дизъюнкции и
конъюнкции, а также элементов 0 и 1, то из одной аксиомы данной пары
получается другая. Это свойство называется принципом двойственности.
С помощью аксиом можно получить ряд тождеств:
x  x 1
0 x  x
1 x  1
x x  x
xx0
1 x  x
0 x  0
xx  x
Перечислим законы алгебры логики:
 переместительный (или коммутативный)
x y  y x,
x y  yx.
 сочетательный (или ассоциативный)
( x  y)  z  x  ( y  z) ,
( x  y)  z  x  ( y  z) .
 распределительный (или дистрибутивный)
x  ( y  z)  x  y  x  z ,
x  y  z  ( x  y)  ( x  z) .
 двойственности (или де Моргана)
x y  x  y,
x y  x y.
 двойного отрицания
x  x.
 поглощения
x x y  x,
x  ( x  y)  x .
 склеивания
x yx y  x,
( x  y)  ( x  y )  x .
3. Организация данных в ЭВМ
3.1. Представление данных в ЭВМ
При проведении математических расчетов числа внутри ЭВМ могут быть
представлены с помощью естественной и нормальной форм записи.
Примером записи в естественной форме может служить число 173,856.
Для записи такого числа машинное слово (операнд) делится на два
фиксированных поля (части). Первое поле отводится для записи целой части
числа, второе — для записи дробной части числа. Старший разряд
предназначается для указания знака числа. Номерами указаны разряды
машинного слова.
В вычислительной технике принято отделять целую часть числа от
дробной части точкой. Так как в этом случае положение точки между целой и
дробной частью четко определено, то такое представление чисел называют
представлением с фиксированной точкой.
15
знак
14
13
12
11
целая
10
9
8
7
6
положение
5
4
3
2
1
0
Машинное слово является структурной единицей информации ЭВМ.
С помощью машинного слова записывают числа, символы и команды. В
современных ЭВМ длина машинных слов составляет 32…128 разрядов. На
предыдущем рисунке для упрощения показано машинное слово длиной 16
разрядов (2 байта). Физически каждый разряд машинного слова представляет
собой отдельный элемент памяти (триггер или запоминающий конденсатор).
Недостатком формы с фиксированной точкой является малый диапазон
представления чисел. Как правило, в этой форме записывают только целые
числа. При записи целых чисел отпадает необходимость отводить поле (часть
машинного слова) для записи дробной части числа (см. следующий рисунок).
15
14
13
12
11
знак
числа
10
9
8
7
6
5
4
3
2
1
0
целое
число
n  md p,
Нормальная форма записи числа имеет следующий вид:
где m — мантисса числа; р — порядок; d — основание системы
счисления.
Порядок указывает местоположение в числе точки, отделяющей целую
часть числа от дробной части. В зависимости от порядка точка передвигается
(плавает) по мантиссе. Такая форма представления чисел называется формой с
плавающей точкой.
Следующий рисунок иллюстрирует форму числа с плавающей точкой на
примере 32 разрядного машинного слова.
31
30
знак
числа
29
…
порядок
числа
24
23
22
…
мантисса
числа
1
0
Например, пусть m = 0.3, d = 10, а порядок будем брать разным:
0.3  10 1  0.03; 0.3  10 2  0.003; 0.3  10 2  30; 0.3  10 3  300.
Из приведенного примера видно, что благодаря изменению порядка
точка перемещается (плавает) по мантиссе. При этом, если порядок
отрицательный, точка смещается по мантиссе влево, а если положительный, то
вправо.
В этом случае машинное слово делится на два основных поля. В одном
поле записывается мантисса числа, во втором — указывается порядок числа.
Диапазон представления чисел с плавающей точкой значительно больше
диапазона представления чисел с фиксированной точкой. Однако
быстродействие ЭВМ при обработке чисел с плавающей точкой гораздо ниже,
чем при обработке чисел с фиксированной точкой.
3.2. Представление команд в ЭВМ
Программа работы ЭВМ состоит из последовательности команд.
Под командой понимается информация, обеспечивающая выработку
управляющих сигналов, формируемых в устройстве управления процессора, для
выполнения машиной определенного действия.
Поле команды состоит из двух частей: операционной и адресной.
В операционной части указывается код операции (КОП). Код определяет
действие, которое должна выполнить ЭВМ (арифметическое — сложение,
вычитание, логическое — инверсия и т. д.).
Адресная часть команды содержит адреса операндов (чисел или
символов), участвующих в операции. Под адресом понимается номер ячейки
ОЗУ или ПЗУ, где записана необходимая для выполнения команды информация.
Таким образом, ЭВМ (точнее, процессор) выполняет действие, которое
определяется кодом операции, над данными, местоположение которых указано в
адресной части команды.
Количество указываемых в команде адресов может быть различным.
В зависимости от числа адресов различают следующие форматы команд: одно-,
двух- и трехадресные. Бывают и безадресные команды.
КОП
КОП
КОП
Операционная
часть команды
А1
А1
А1
А2
А2
А3
Адресная часть команды
Трехадресная команда, выполняющая, например, операцию сложения,
должна содержать код операции сложения и три адреса.
Действия, выполняемые этой командой, описываются следующей
последовательностью операций.
1. Взять число, хранящееся по первому адресу А1.
2. Взять число, хранящееся по второму адресу А2, и сложить с первым
числом.
3. Результат сложения записать по третьему адресу А3.
В случае двухадресной команды третий адрес отсутствует, и результат
можно записать либо по второму адресу (с потерей информации, которая была
там записана), либо оставить в регистре сумматора, где производилась операция
сложения. Тогда для освобождения регистра сумматора требуется дополнительная
команда перезаписи числа по требуемому адресу. При организации сложения двух
чисел, хранящихся по адресам А1 и А2 с записью результата в А3 с
использованием одноадресных команд, требуется уже три команды.
1. Вызов в сумматор (АЛУ) числа, хранящегося по адресу А1.
2. Вызов числа, хранящегося по адресу А2 и сложение его с первым
числом.
3. Запись результата по адресу А3.
Таким образом, чем меньше адресов содержит команда, тем большее
число команд требуется для составления одной и той же программы работы
машины.
Увеличивая число адресов в команде, приходится увеличивать длину
машинного слова, чтобы отвести в нем необходимые поля для адресной части
команд. С увеличением объема памяти ЭВМ увеличивается длина поля,
необходимого для указания одного адреса. В то же время не все команды
полностью используют адресные поля. Например, для команды записи числа по
заданному адресу требуется только одно адресное поле. Неоправданное
увеличение длины машинного слова для использования многоадресных команд
приводит к уменьшению быстродействия ЭВМ, т.к. необходимо обрабатывать
поля большей длины.
Существуют безадресные команды, которые содержат только код
операции, а необходимые данные заранее помещаются в определенные регистры
процессора.
Современные ЭВМ автоматически выполняют несколько сотен
различных команд. Все машинные команды можно разделить на группы по
видам выполняемых операций:
 операции пересылки данных;
 арифметические операции;
 логические операции;
 операции обращения к внешним устройствам ЭВМ;


операции передачи управления;
обслуживающие и вспомогательные операции.
При проектировании новых процессоров разработчикам приходится
решать сложную задачу выбора длины команды и определения списка
необходимых команд (системы команд). Противоречивые требования к
конфигурации команд привели к созданию процессоров с различными
форматами команд (архитектуры CISC и RISC).
3.3. Кодовая таблица
Кодовая таблица — это внутреннее (закодированное) представление в
машине букв, цифр, символов и управляющих сигналов. Так, латинская буква А
в кодовой таблице представлена десятичным числом 65D (внутри ЭВМ это
число будет представлено двоичным числом 01000001В), латинская буква С —
числом 67D, латинская буква М — 77D и т. д. Таким образом, слово
«САМАРА», написанное заглавными латинскими буквами, будет циркулировать
внутри ЭВМ в виде цифр:
67D-65D-77D-65D-80D-65D.
Если говорить точнее, то внутри ЭВМ данное слово циркулирует в виде
двоичных чисел:
01000011В-01000001В-01001101В-01000001В-01010000В-01000001В.
Аналогично кодируются цифры (например, 1 — 49D, 2 — 59D) и
символы (например, ! — 33D, + — 43D).
Наряду с алфавитно-цифровыми символами в кодовой таблице
закодированы управляющие сигналы. Например, код 13D заставляет
печатающую головку принтера вернуться к началу текущей строки, а код 10D
перемещает бумагу, заправленную в принтер, на одну строку вперед.
Кодовая таблица может быть представлена не только с помощью
десятичной СС, но и при помощи шестнадцатеричной СС. Еще раз обращаем
внимание на тот факт, что внутри ЭВМ циркулируют сигналы, представленные
в двоичной системе счисления, а в кодовой таблице для большего удобства
чтения пользователем — в десятичной или шестнадцатеричной СС.
Каждая буква, цифра, знак препинания или управляющий сигнал
кодируются
восьмиразрядным
двоичным
числом.
С
помощью
восьмиразрядного числа (однобайтового числа) можно представить
(закодировать) 256 произвольных символов — букв, цифр и вообще
графических образов.
Во всем мире в качестве стандарта принята кодовая таблица ASCII
(American Standard Code for Information Interchange — Американский стандарт
кодов для обмена информацией). Таблица ASCII регламентирует (строго
определяет) ровно половину возможных символов (латинские буквы, арабские
цифры, знаки препинания, управляющие сигналы). Для их кодировки
используются коды от 0D до 127D.
Вторая половина кодовой таблицы ASCII (с кодами от 128 до 255) не
определена американским стандартом и предназначена для размещения
символов национальных алфавитов других стран (в частности, кириллицы —
русских букв), псевдографических символов, некоторых математических знаков.
В разных странах, на различных моделях ЭВМ, в разных операционных
системах могут использоваться и разные варианты второй половины кодовой
таблицы (их называют расширениями ASCII). Например, таблица, которая
используется в операционной системе MS-DOS, называется CP-866. Используя
эту таблицу для кодировки слова «САМАРА», записанного русскими буквами,
получим такие коды:
145D-128D-140D-128D-144D-128D.
При
работе
в
201 Й 211 У 221 Э 231 з 241 с 251 ы
операционной
системе
192 А 202 К 212 Ф 222 Ю 232 и 242 т 252 ь
Windows
используется
193 Б 203 Л 213 Х 223 Я 233 й 243 у 253 э
таблица кодов CP-1251, в
194 В 204 М 214 Ц 224 а 234 к 244 ф 254 ю которой
кодировка
195 Г 205 Н 215 Ч 225 б 235 л 245 х 255 я
латинских букв совпадает
196 Д 206 О 216 Ш 226 в 236 м 246 ц
с кодировкой таблиц CP866 и ASCII, а вторая
197 Е 207 П 217 Щ 227 г 237 н 247 ч
половина таблицы имеет
198 Ж 208 Р 218 Ъ 228 д 238 о 248 ш
собственную
раскладку
199 З 209 С 219 Ы 229 е 239 п 249 щ
(кодировку)
символов.
200 И 210 Т 220 Ь 230 ж 240 р 250 ъ
Поэтому
слово
«САМАРА», написанное заглавными русскими буквами, будет иметь внутри
ЭВМ другое представление:
209D-192D-204D-192D-208D-192D.
Таким образом, внешне одинаковое слово (например, «САМАРА»)
внутри ЭВМ может быть представлено различным образом. Естественно, это
вызывает определенные неудобства. При работе в Интернет национальный текст
порой становится нечитаемым. Наиболее вероятной причиной в этом случае
является несовпадение кодировок второй половины кодовых таблиц. Заметим,
что если для составления писем, отправляемых по электронной почте,
используется первая половина кодовой таблицы (латиница), то проблемы с
кодировкой не возникают.
Общим недостатком всех однобайтовых кодовых таблиц (в них для
кодировки используются восьмиразрядные двоичные числа) является отсутствие
в коде символа какой-либо информации, которая подсказывает машине, какая в
данном случае используется кодовая таблица.
Сообществом фирм Unicode предложена в качестве стандарта другая
система кодировки символов. В этой системе для представления (кодирования)
одного символа используются два байта (16 битов), и это позволяет включить в
код символа информацию о том, какому языку принадлежит символ и как его
нужно воспроизводить на экране монитора или на принтере. Два байта
позволяют закодировать 65 536 символов. Правда, объем информации,
занимаемой одним и тем же текстом, увеличится вдвое. Зато тексты всегда
будут «читаемыми» независимо от использованного национального языка и
операционной системы.
3.4. Файловая система
ЭВМ, как правило, имеет несколько дисков. Каждому диску
присваивается имя, которое задается латинской буквой с двоеточием, например,
А:, В:, С: и т. д. Стандартно принято, что А: и В: —
это накопители на гибких магнитных дисках, а диски
C:, D: и т. д. — жесткие диски, накопители на
оптических дисках или электронные диски.
Электронные диски представляют собой
часть оперативной памяти, которая для пользователя
выглядит как ВЗУ. Скорость обмена информации с
электронным диском значительно выше, чем с
электромеханическим внешним запоминающим
устройством. При работе электронных дисков не
происходит износ электромеханических деталей.
Однако после выключения питания информация на электронном диске не
сохраняется.
Физически существующие магнитные диски могут быть разбиты на
несколько логических дисков, которые для пользователя будут выглядеть на
экране так же, как и физически существующие диски. При этом логические
диски получают имена по тем же правилам, что и физически существующие
диски. Проще говоря, логический диск — это часть обычного жесткого диска,
имеющая собственное имя.
Диск, на котором записана операционная система, называется
системным (или загрузочным) диском. В качестве загрузочного диска чаще
всего используется жесткий диск С:. При лечении вирусов, системных сбоях
загрузка операционной системы часто осуществляется с гибкого диска.
Выпускаются оптические диски, которые также могут быть загрузочными.
В операционных системах DOS и Windows каждому диску можно
дополнительно давать имена (label — метка), которые отражают их содержание,
например: Системный, Графика, Музыка, Тексты, Дистрибутивы и т. д.
Для того чтобы на новый магнитный диск можно было записать
информацию,
он
должен
быть
предварительно
отформатирован.
дорожка
Форматирование — это подготовка диска
для записи информации.
Во время форматирования на диск
записывается
служебная
информация
сектор
(делается разметка), которая затем используется для записи и чтения
информации, коррекции скорости вращения диска. Разметка производится с
помощью электромагнитного поля, создаваемого записывающей головкой
дисковода.
Запись информации осуществляется по дорожкам, причем каждая
дорожка разбивается на секторы, например, по 1024 байта. Дискета диаметром
3,5 дюйма объемом 1,44 Мбайта содержит 80 дорожек и 18 секторов. Число
дорожек и секторов на жестком диске значительно больше, чем на гибком диске
(ориентировочные значения: 2500 дорожек, 63 сектора).
Для жесткого диска характерно еще одно понятие: цилиндр.
Цилиндром винчестера называется совокупность дорожек с
первая дорожка
вторая дорожка
первый диск
первая дорожка
вторая дорожка
второй диск
первая дорожка
вторая дорожка
третий диск
одинаковыми порядковыми номерами, расположенных на разных дисках
винчестера.
На рисунке видны два цилиндра, образованные равноудаленными
дорожками на трех дисках винчестера. При работе винчестера несколько
головок одновременно считывают информацию с дорожек одного цилиндра.
В процессе форматирования на диске выделяется системная область,
которая состоит из трех частей: загрузочного сектора, таблицы размещения
файлов и корневого каталога.
Загрузочный сектор (Boot Record) размещается на каждом диске в
логическом секторе с номером 0. Он содержит данные о формате диска, а также
короткую программу, используемую в процедуре начальной загрузки
операционной системы.
Загрузочный сектор создается во время форматирования диска. Если диск
подготовлен как системный (загрузочный), то загрузочный сектор содержит
программу загрузки операционной системы. В противном случае он содержит
программу, которая при попытке загрузки с этого диска операционной системы
выводит сообщение о том, что данный диск не является системным.
Каждый жесткий диск может быть разбит на несколько логических
дисков. На жестком диске имеется область, которая называется главной
загрузочной записью MBR (Master Boot Record) или главным загрузочным
сектором. В MBR указывается, с какого логического диска должна
производиться загрузка операционной системы.
Таблица размещения файлов (File Allocation Table — сокращенно FAT)
располагается после загрузочного сектора и содержит описание порядка
расположения всех файлов в секторах данного диска, а также информацию о
дефектных участках диска. За FAT-таблицей следует ее точная копия, что
повышает надежность сохранения этой очень важной таблицы.
Корневой каталог (Root Directory) всегда находится за копией FAT. В
корневом каталоге содержится перечень файлов и директорий, находящихся на
диске. Непосредственно за корневым каталогом располагаются данные.
Запись информации на диск ведется частями. Наименьшее место, которое
могут занимать на диске записываемые данные, составляет один кластер.
Кластер может состоять из одного или
нескольких секторов.
Данные и программы хранятся на
носителях информации в виде файлов
кластер,
(от англ. file — досье, подшивка).
состоящий из
Файл —
это
набор
двух секторов
взаимосвязанных
данных,
воспринимаемых
компьютером
как
единое целое, имеющих общее имя, находящихся на магнитном или оптическом
дисках, магнитной ленте, в оперативной памяти или на другом носителе
информации.
Файл обычно отождествляют с участком памяти (ВЗУ, ОЗУ, ПЗУ), где
размещены логически связанные данные, имеющие общее имя. Файл хранится
на носителе информации в двоичной системе счисления, и для ОС он
представляется как совокупность связанных байтов.
В файлах могут храниться тексты программ, документы, данные и т. д.
На рисунке показаны два файла, расположенные последовательно друг за
другом. Первый файл занимает два сектора, а второй файл — десять секторов.
Если кластер состоит из двух секторов, то можно сказать, что первый файл
состоит из одного кластера, а второй
файл — из пяти кластеров. Легко
второй файл
заметить, что второй файл располагается
на двух дорожках. Если файл большой, то
он может занимать несколько дорожек.
первый файл
При записи информации на новый
(чистый) диск файлы располагаются
последовательно друг за другом: от
первой дорожки до последней.
Заметим, что файлы всегда занимают целое число кластеров, поэтому в
одном кластере не могут одновременно размещаться два даже небольших
файла. Обратите внимание на то, что если документ состоит всего из одной
буквы, то файл все равно занимает на диске один отдельный кластер.
Имена файлов регистрируются на магнитных и оптических дисках в
папках, каталогах (или директориях). Термин «каталог» используется в
операционных системах семейства DOS, термин «папка» — в операционных
системах семейства Windows. Учитывая, что большинство пользователей
работают под управлением операционной системы Windows, а не под DOS, в
дальнейшем
будем
преимущественно
использовать
терминологию
операционной системы Windows. Если в папке (каталоге) хранится имя файла,
то говорят, что файл размещается в папке (каталоге).
Таким образом, папка — группа файлов,
объединенных по какому-либо признаку. На каждом
диске может быть несколько папок. В папках могут
размещаться не только файлы, но и другие папки.
Таким образом, папки образуют дерево (файловую
систему).
На рисунке показано дерево папок одного из
дисков. Из рисунка видно, что в корневом каталоге
имеется четыре папки: A, B, C и D. При этом внутри
папки A находятся папки A1 и A2. В папке C
располагаются папки C1 и C2. В папке A1 находится
папка A11, а в последней — папка A111. Крестик на
дереве говорит о том, что внутри соответствующих
папок находятся другие папки (внутри папок D и
А12 находятся папки, которые не видны). На этом
рисунке не видны файлы, которые могут находиться
как в корневом каталоге, так и в любой папке.
Если бы файлы всегда хранились в последовательно расположенных
кластерах, то для указания места
расположения файла на диске (с
помощью FAT-таблицы) достаточно
третий файл
было указать номер первого сектора
(где располагается начало файла) и
второй файл
число занятых кластеров.
При многократной перезаписи и
первый файл
удалении
файлов
происходит
фрагментация (дробление, разделение)
дискового пространства. В результате
файл может оказаться разорванным и располагаться в кластерах, находящихся
на относительно большом расстоянии друг от друга. Считывание таких файлов
существенно замедляется, так как дисководу необходимо дополнительное время
для перемещения головок. Причина возникновения фрагментации состоит в
том, что все файлы имеют, как правило, разную длину. Поэтому после удаления
какого-то файла новый файл не может точно вписаться в освободившееся на
диске место. Практически обязательно
либо останется свободный участок диска,
либо
заполняются
секторы,
расположенные в другом месте диска
(например,
расположенные
через
несколько секторов или на других
дорожках).
В составе операционной системы
есть специальная программа (утилита),
второй файл
первый файл
которая осуществляет дефрагментацию
третий файл
диска. Эта утилита располагает тело файла
в соседних секторах, тем самым ускоряет
считывание информации (не нужно
переходить на другие дорожки, пропускать
чужие секторы) и уменьшает износ дисковода.
На рисунке показано диалоговое окно утилиты, предназначенной для
упорядочивания разрозненных файлов.
4. Аппаратные средства
4.1. Структурная схема ЭВМ
Электронная вычислительная машина (ЭВМ) — это устройство,
выполненное на электронных приборах, предназначенное для автоматического
преобразования информации под управлением программы.
БР
Основные элементы электронной вычислительной машины (фоннеймановской структуры) и связи между ними показаны на рисунке.
Процессор выполняет логические и арифметические операции,
определяет порядок выполнения операций, указывает источники данных и
приемники результатов. Работа процессора происходит под управлением
программы.
При первом знакомстве с ЭВМ считают, что процессор состоит из
четырех устройств: арифметико-логического устройства (АЛУ), устройства
управления (УУ), блока регистров (БР) и кэш-памяти. АЛУ выполняет
арифметические и логические операции над данными. Промежуточные
результаты сохраняются в БР. Кэш-память служит для повышения
быстродействия
процессора
путем
уменьшения
времени
его
непроизводительного простоя. УУ отвечает за формирование адресов
очередных команд, т. е. за порядок выполнения команд, из которых состоит
программа.
Программа — это набор команд (инструкций), составленный человеком
и выполняемый ЭВМ. Команда обеспечивает выработку в УУ управляющих
сигналов, под действием которых процессор выполняет элементарные
операции.
Таким образом, программы состоят из команд, а при выполнении команд
процессор разбивает команды на элементарные операции.
Элементарными операциями для процессора являются арифметические
и логические действия, перемещение данных между регистрами процессора,
счет и т. д.
Основной функцией системной шины является передача информации
между процессором и остальными устройствами ЭВМ. Системная шина состоит
из трех шин: шины управления, шины данных и адресной шины. По этим
шинам циркулируют управляющие сигналы, данные (числа, символы), адреса
ячеек памяти и номера устройств ввода-вывода.
Сделаем образное сравнение работы системной шины с работой почты.
По шине данных пересылаются письма в места, адреса которых указаны на
шине адреса. Шина управления следит, чтобы письма при движении не мешали
друг другу и перемещались по очереди. Под письмами нужно понимать
операнды (данные и команды), которыми обмениваются отдельные блоки
ЭВМ.
Память предназначена для записи, хранения, выдачи команд и
обрабатываемых данных.
Существует несколько разновидностей памяти: оперативная, постоянная,
внешняя, кэш, CMOS (КМОП), регистровая. Существование целой иерархии
видов
памяти
объясняется
их
различием
по
быстродействию,
энергозависимости, назначению, объему и стоимости. Многообразие видов
памяти помогает снять противоречие между высокой стоимостью памяти
одного вида и низким быстродействием памяти другого вида.
Память современных компьютеров строится на нескольких уровнях,
причем память более высокого уровня меньше по объему, быстрее и в пересчете
на один байт памяти имеет большую стоимость, чем память более низкого
уровня.
Регистровая память — наиболее быстрая (ее иногда называют
сверхоперативной). Она представляет собой блок регистров (БР), которые
размещены внутри процессора. Регистры используются при выполнении
процессором простейших операций: пересылка, сложение, счет, сдвиг
операндов, запоминание адресов, фиксация состояния процессора и т. д.
Наилучшим вариантом было бы размещение всей памяти на одном
кристалле с процессором. Однако из-за существующих технологических
сложностей изготовления памяти большого объема пришлось бы большое число
микросхем отправить в брак.
Кэш-память по сравнению с регистровой памятью имеет больший
объем, но меньшее быстродействие. В ЭВМ число запоминающих устройств с
этим видом памяти может быть различным. В современных ЭВМ имеется дватри запоминающих устройства этого вида.
Кэш-память первого уровня располагается внутри процессора, а кэшпамять второго уровня — вне процессора (на так называемой материнской
плате).
В переводе с английского языка слово cache (кэш) означает «тайник», так
как кэш-память недоступна для программиста (она автоматически используется
компьютером). Кэш-память используется для ускорения выполнения операций
за счет запоминания на некоторое время полученных ранее данных, которые
будут использоваться процессором в ближайшее время. Введение в компьютер
кэш-памяти позволяет сэкономить время, которое без нее тратилось на
пересылку данных и команд из процессора в оперативную память (и обратно).
Работа кэш-памяти строится так, чтобы до минимума сократить время
непроизводительного простоя процессора (время ожидания новых данных и
команд).
Этот вид памяти уменьшает противоречие между быстрым процессором
и относительно медленной оперативной памятью.
Кэш-память первого уровня, которая размещается на одном кристалле с
процессором, принято обозначать символами L1. Кэш-память, которая
располагается на материнской плате (второй уровень), обозначается символами
L2.
На структурной схеме показана только кэш-память L1.
Энергозависимая память CMOS (КМОП-память) служит для
запоминания конфигурации данного компьютера (текущего времени, даты,
выбранного системного диска и т. д.). Для непрерывной работы этого вида
памяти на материнской плате ЭВМ устанавливают отдельный малогабаритный
аккумулятор или батарею питания.
Оперативное запоминающее устройство (ОЗУ) используется для
кратковременного хранения переменной (текущей) информации и допускает
изменение своего содержимого в ходе выполнения процессором
вычислительных операций. Это значит, что процессор может выбрать из ОЗУ
команду или обрабатываемые данные (режим считывания) и после
арифметической или логической обработки данных поместить полученный
результат в ОЗУ (режим записи). Размещение новых данных в ОЗУ возможно на
тех же местах (в тех же ячейках), где находились исходные данные. Понятно,
что прежние команды (или данные) будут стерты.
ОЗУ используется для хранения программ, составляемых пользователем,
а также исходных, конечных и промежуточных данных, получающихся при
работе процессора.
В качестве запоминающих элементов в ОЗУ используются либо триггеры
(статическое ОЗУ), либо конденсаторы (динамическое ОЗУ).
ОЗУ — это энергозависимая память, поэтому при выключении питания
информация, хранившаяся в ОЗУ, теряется безвозвратно.
По быстродействию ОЗУ уступает кэш-памяти и тем более
сверхоперативной памяти — БР. Но стоимость ОЗУ значительно ниже
стоимости упомянутых видов памяти.
В постоянном запоминающем устройстве (ПЗУ) хранится информация,
которая не изменяется при работе ЭВМ. Такую информацию составляют тестмониторные программы (они проверяют работоспособность компьютера в
момент его включения), драйверы (программы, управляющие работой
отдельных устройств ЭВМ, например, клавиатурой) и др.
ПЗУ является энергонезависимым устройством, поэтому информация в
нем сохраняется даже при выключении электропитания.
Перспективным видом постоянной памяти является память с
электрическим способом стирания и записи информации (FLASH-память),
которая при острой необходимости позволяет перепрограммировать ПЗУ и тем
самым оперативно улучшить характеристики ЭВМ.
Внешние запоминающие устройства (ВЗУ) предназначены для
долговременного хранения информации. К ВЗУ относятся накопители на
магнитной ленте (магнитофоны, стримеры), накопители на жестких дисках
(винчестеры), накопители на гибких дисках, проигрыватели оптических дисков.
ВЗУ по сравнению с ОЗУ имеют, в основном, больший объем памяти, но
существенно меньшее быстродействие.
К устройствам ввода информации относятся: клавиатура, мышь,
трекбол, джойстик, трекпойнт, трекпад, сканер, сенсорный экран, световое перо,
информационные перчатки, информационный костюм, шлем, джойстринг,
диджитайзер, цифровая видеокамера, микрофон, датчики и др.
К устройствам вывода информации относятся: дисплей (монитор),
принтер, плоттер, акустические колонки и др.
Модем выполняет функции и устройств ввода, и устройств вывода
информации. Он позволяет соединяться с другими удаленными компьютерами с
помощью телефонных линий связи и обмениваться информацией между ЭВМ.
Модем на передаче превращает цифровые сигналы в звуки, а на приеме –
наоборот.
Одной из плодотворных идей, положенных в основу персональных
компьютеров, является открытость архитектуры. Согласно этой концепции,
каждый пользователь может самостоятельно формировать конфигурацию
своего компьютера по своему усмотрению. Это означает, что в зависимости от
потребности пользователь может подключить к системной шине различные
устройства: модем, звуковую плату, клавиатуру электромузыкального
инструмента, плату телевизионного приемника и т. п. Открытость архитектуры
позволяет легко модернизировать имеющийся компьютер, например, путем
замены винчестера на жесткий диск большего объема, замены процессора,
увеличения объема оперативной памяти и т. д.
Общий принцип работы ЭВМ заключается в следующем. Из
процессора на шину адреса (на структурной схеме она не показана и находится
внутри системной шины) выдается адрес очередной команды. Считанная по
этому адресу команда (например, из ПЗУ) поступает по шине данных (внутри
системной шины) в процессор, где она выполняется с помощью АЛУ.
Устройство управления процессора определяет адрес следующей выполняемой
команды (фактически номер очередной ячейки памяти, где находится очередная
команда). После исполнения процессором текущей команды на шину адреса
выводится адрес ячейки памяти, где хранится следующая команда и т. д.
Сигналы, передаваемые по управляющей шине, синхронизируют работу
процессора, памяти, устройств ввода и вывода информации.
Порядок выбора адресов из памяти (и очередности выполнения команд)
определяет программа, которая может располагаться в ПЗУ, но чаще
выполняемая в данный момент времени программа находится в ОЗУ. В
линейных программах команды последовательно выбираются из очередных
ячеек памяти. В разветвляющихся программах естественный порядок выбора
адресов ячеек памяти может нарушаться. В результате может происходить
переход (резкий скачок) к ячейке памяти, расположенной в любом месте ОЗУ.
При одном наборе исходных данных переход будет происходить, а при другом
наборе данных перехода не будет. По этой причине такие команды называют
командами условной передачи управления.
Нередко при работе ЭВМ программа вводится с клавиатуры в ОЗУ. Затем
процессор под управлением этой программы выполняет необходимые действия.
Чаще управляющую программу загружают в ОЗУ с внешнего запоминающего
устройства или по вычислительной сети. При выполнении загруженной
программы ЭВМ запрашивает у пользователя необходимые данные и процессор
после выполнения указанных в программе команд отправляет результат по
системной шине на одно из устройств вывода информации.
Выполнение основной программы иногда может приостанавливаться с
целью выполнения какого-то другого срочного задания, например, для передачи
данных на принтер. Такой режим работы, когда временно приостанавливается
выполнение основной программы и происходит обслуживание запроса,
называется прерыванием. По завершении обслуживания прерывания
процессор возвращается к выполнению временно отложенной основной
программы.
Запросы на прерывание могут возникать из-за сбоев в аппаратуре,
переполнения разрядной сетки, деления на ноль, требования внешним
устройством выполнения операции ввода информации и т. д. Например, при
нажатии клавиши на клавиатуре возникает прерывание, обработка которого
сводится к записи кода нажатой клавиши в буфер клавиатуры. Обслуживание
прерываний осуществляется с помощью специальных программ обработки
прерываний.
Очевидно, что конструкция современной ЭВМ много сложнее
рассмотренной здесь конструкции. На структурной схеме не изображены
тактовый генератор, который подключен к процессору, адаптеры (или
контроллеры), включенные между системной шиной и каждым устройством
ввода-вывода, и другие блоки. Однако выбранный уровень детализации
позволяет легче понять общий принцип работы ЭВМ.
Приведенный вид структурной схемы ЭВМ является фон-неймановской
структурой, названной так в честь американского ученого венгерского
происхождения фон Неймана.
Существуют и другие структуры, в частности многопроцессорные,
позволяющие вести параллельную обработку данных с помощью нескольких
процессоров. Так самый быстрый в мире компьютер ASCI Red содержит более
девяти тысяч процессора Pentium Pro.
Основные блоки ПЭВМ показаны на рисунке.
В системном блоке находится материнская плата (на ней располагаются
процессор, ОЗУ, ПЗУ и др.), накопители на гибких, жестких и оптических
дисках, внутренние модемы, сетевые, звуковые карты и др.
Монитор
Системный
блок
Мышь
Клавиатура
4.2.
Пр
ин
ци
п
де
йст
ви
я
ос
но
вн
ых
устройств ЭВМ
В этом разделе рассматривается принцип действия цифровых устройств,
процессора, приведена историческая справка, относящаяся к хронологии
развития процессоров, описан принцип работы арифметико-логического
устройства, оперативной памяти, внешних запоминающих устройств, устройств
ввода информации в ЭВМ и устройств вывода информации.
4.2.1. Принцип действия цифровых устройств
Основными элементами современных ЭВМ являются цифровые
устройства. Это объясняется тем, что при разработке новых конструкций
компьютеров проверялись на практике различные варианты их построения.
Изобретались вычислительные средства, в которых сигналы могли изменяться
непрерывно (аналоговые ЭВМ). Были созданы конструкции, в которых
основные элементы компьютера могли находиться в трёх различных
устойчивых состояниях (в отечественной ЭВМ «Сетунь» использовалась
троичная система счисления). Существуют элементы, которые могут принимать
только два устойчивых состояния, например, реле. Их контакты могут быть
либо замкнуты, либо разомкнуты. Первые вычислительные машины были
сконструированы с использованием реле. Работу таких элементов удобно
описывать с помощью двоичной системы счисления и алгебры логики.
Радиоэлектронные элементы, которые могут принимать только два
устойчивых состояния, являются цифровыми устройствами (ЦУ). Два
устойчивых состояния удобно обозначать такими терминами: включено выключено, открыто – закрыто, да – нет, истина – ложь или единица – ноль.
Достоинством
цифровых
устройств
является
их
высокая
помехоустойчивость и стабильность. Такие элементы надёжно работают при
случайном изменении напряжения питания, окружающей температуры, при
действии электромагнитных помех.
Сигналы, представленные в цифровой форме, можно копировать,
передавать и хранить практически без искажений. В то же время аналоговые
сигналы таковы, что их копии всегда отличаются от оригинала (искажаются).
Все цифровые устройства делятся на два класса: комбинационные ЦУ и
последовательностные ЦУ (или цифровые автоматы) [5].
В комбинационных цифровых устройствах выходной сигнал в каждый
момент времени зависит только от сочетания (комбинации) входных сигналов. К
таким ЦУ относятся:
шифраторы, дешифраторы, мультиплексоры,
демультиплексоры, преобразователи кодов, сумматоры, арифметико-логические
устройства, логические элементы (И, ИЛИ, И-НЕ, ИЛИ-НЕ, ИСКЛЮЧАЮЩЕЕ
ИЛИ и др.).
Состояние последовательностных ЦУ зависит не только от входных
сигналов, имеющихся в данный момент времени, но и от предшествующего
состояния ЦУ. Эти элементы обладают памятью. К последовательностным
цифровым устройствам относятся триггеры, счетчики, регистры.
Аппаратно цифровые устройства могут быть реализованы на различных
элементных базах: электромагнитных реле, электровакуумных ламп,
дискретных транзисторов, в виде микросхем, выполненных по интегральной
полупроводниковой технологии.
При работе цифровых устройств их элементы в какой-то момент
времени проводят электрический ток (открытое состояние), а в другой момент
времени ток не проводят (закрытое состояние). Таким образом формируются
сигналы логической единицы и
логического нуля (цифровые сигналы).
Принцип действия логических
элементов рассмотрим на примере
работы устройства, выполняющего
логическую операцию И-НЕ. Заметим,
что схемотехническое построение
элемента может быть различным: с
использованием
технологий
РТЛ,
РЕТЛ, ДТЛ, ТТЛ, ЭСЛ, КМОП, И2Л
[6].
Эти технологии позволяют
получить элементы, отличающиеся
друг от друга быстродействием,
нагрузочной
способностью
и
потребляемой
мощностью
(экономичностью).
Рассматриваемый
элемент
построен на комплементарных металлокисел полупроводниках (полевых транзисторах, выполненных по КМОП технологии). Термин «комплементарные» означает, что используемые
транзисторы взаимно дополняют друг друга. В этих конструкциях применяются
транзисторы двух типов. Транзисторы одного типа открываются
высоким, а запираются низким напряжением (VT3, VT4). А другие
транзисторы наоборот: запираются высоким напряжением, а низким
напряжением открываются (VT1, VT2). Такие полупроводниковые
элементы носят специальное название – полевые транзисторы с pканалом и n-каналом. На рисунке показан полевой транзистор с
изолированным затвором и каналом n-типа. Внутренняя часть
транзистора между истоком и стоком называется каналом.
Транзисторы работают в так называемом ключевом режиме. При
этом каждый транзистор либо полностью открыт и проводит электрический ток,
либо закрыт и практически ток не проводит. Переключение транзисторов из
одного предельного состояния в другое происходит достаточно быстро.
Если попытаться изложить принцип работы транзистора с помощью
метафоры, то транзистор можно сравнить с водопроводным краном. Поток
воды, протекающий по трубе (каналу) от истока к стоку можно перекрывать с
помощью крана. Таким краном в полевом транзисторе является затвор.
Управляющее напряжение на затворе позволяет либо открыть канал (пропустить
воду), либо перекрыть этот поток.
Как известно, логический элемент И-НЕ работает в соответствии со
следующей таблицей истинности.
Если входные сигналы x1 и x2
равны
нулю,
то транзисторы VT1 и
x2
x1
y
VT2
будут
открыты,
а транзисторы
1
0
0
1
VT3
и
VT4
закрыты.
Термин
2
0
1
1
«открытый
транзистор»
означает,
что
3
1
0
1
сопротивление
канала
транзистора
4
1
1
0
становится небольшим, и между
истоком и стоком протекает ток.
Через открытые транзисторы VT3 и VT4 высокий потенциал (примерно равный
напряжению питания Ucc) передается на выходной зажим Y. Высокое выходное
напряжение условно обозначено логической единицей (см. верхнюю строку
таблицы истинности).
Если входные сигналы x1 и
x2 одновременно равны высоким
потенциалам (единицам), то транзисторы VT1 и VT2 будут закрыты, а
транзисторы VT3 и VT4 – открыты. В результате этого через открытые
транзисторы VT3 и VT4 на выходную шину Y будет подан потенциал, близкий
к нулю вольт (см. нижнюю строку таблицу истинности).
Если на входы элемента И-НЕ подать сигналы x1 = 1 и x2 = 0, то
транзисторы VT3 и VT1 будут открыты, а транзисторы VT2 и VT4 закрыты.
Через открытый транзистор VT1 от источника питания Ucc на выходной зажим
Y поступит высокий потенциал, который соответствует логической единице.
Таблица 1
1
2
3
4
В таблице 1 схематично проиллюстрирована работа устройства при
четырёх возможных комбинациях входных сигналов. При этом открытые
транзисторы изображаются в виде замкнутых контактов переключателей, а
закрытые транзисторы - в виде разомкнутых контактов. Управляющие сигналы
x1 и x2 подаются на затворы полевых транзисторов (на рисунках цепи
управления не показаны). Такое изображение допустимо, так как транзисторы
работают в ключевом режиме, а входное сопротивление полевого транзистора
высокое. Заметим, что номера рисунков в таблице совпадают с номерами строк
в таблице истинности. Рассмотренные примеры показывают, как аппаратно
(схемотехнически) реализуются некоторые логические операции.
Условное графическое обозначение элемента ИНЕ показано на рисунке. Кружок на выходе логического
элемента говорит о том, что элемент выполняет операцию инверсии (отрицание,
НЕ). Символ «&» внутри прямоугольника свидетельствует о том, что данный
элемент выполняет логическую операцию конъюнкции (логическое умножение,
И). Два указанных символа совместно обозначают логическую операцию И-НЕ.
Элементы, реализующие другие логические функции, имеют другую
конфигурацию (другую схему построения).
Заметим, что на базе логических элементов строятся все цифровые
устройства: дешифраторы, сумматоры, триггеры, регистры и т.д.
Рассмотрим принцип действия ещё одного важного элемента цифровых
ЭВМ – триггера.
Существует несколько широко распространенных типов триггеров: RS-,
D-, T-, JK– триггеры и др. Простейшими являются RS–триггеры, причём они
входят в состав более сложных конструкций. Триггеры D-типа используются
для построения регистров. T-триггеры являются счётными, они делят частоту
входного сигнала на два и служат для построения
двоичных
счетчиков.
JK–триггеры
являются
универсальными. На их основе можно реализовать
Q
T
S
любой из перечисленных типов триггеров.
Условное графическое обозначение RS-триггера
показано на рисунке. Буквы RS являются аббревиатурой
Q
английских слов Reset (сброс) и Set (установка). Триггер
R
управляется сигналом логического нуля (активный
сигнал 0). Если на S-вход подать сигнал логического
нуля, а на R-вход подать сигнал логической единицы, то триггер установится в
единичное
состояние. При этом
на прямом выходе Q
будет
присутствовать
сигнал логической
единицы,
а
на
инверсном выходе
Q-
сигнал
логического нуля.
Если теперь на оба
входа
триггера
подать
сигналы
логической единицы, то он перейдет в режим хранения информации. Его
состояние не изменится до прихода новых управляющих сигналов,
поступающих на входы R и S.
Принцип действия RS-триггера удобно пояснить с помощью
следующего рисунка, на котором изображен триггер, построенный на
логических элементах И-НЕ. С помощью переключателей 1 и 2 легко изменять
сигналы на входах логических элементов DD1 и DD2. Показанное на рисунке
состояние соответствует подаче логического нуля на элемент DD1 и логической
единицы на элемент DD2. Заметим, что логическому нулю соответствует
потенциал, близкий к нулю (поэтому переключатель 1 подсоединен к корпусу,
земле устройства). Логической единице соответствует некоторое положительное
напряжение. По этой причине вход R триггера через переключатель 2 и резистор
подсоединен к источнику напряжения +U.
В соответствии с таблицей истинности для логического элемента И-НЕ
на выходе Q элемента DD1 появится сигнал логической единицы (светодиод Н1
загорится). Сигнал логической единицы с выхода элемента DD1 подается на
верхний вход элемента DD2, на нижний вход которого в это время также
подается сигнал логической единицы. В соответствии с таблицей истинности
элемента И-НЕ на выходе DD2 появится логический ноль (светодиод Н2
погаснет). Триггер установится в единичное состояние. Такая комбинация
входных сигналов соответствует режиму установки триггера в единичное
состояние.
Если теперь переключатель 1 переместить в верхнее положение (подать
сигнал логической единицы на вход S), то триггер перейдет в режим хранения
информации. Его состояние останется прежним, так как на нижний вход
элемента DD1 подается сигнал логического нуля.
Чтобы изменить состояние триггера (перевести его в нулевое
состояние), следует на вход R подать сигнал логического нуля. Для этого нужно
переключатель 2 перевести в нижнее положение. Сигнал логического нуля на
нижнем входе элемента DD2 вызовет появление логической единицы на
инверсном выходе триггера NQ. В результате загорится светодиод Н2, а сигнал
логической единицы с выхода DD2 попадет на нижний вход элемента DD1. В
соответствии с таблицей истинности, наличие двух единиц на входах приведет к
появлению логического нуля на выходе элемента И-НЕ. Триггер перейдет в
нулевое состояние. Указанная комбинация входных сигналов соответствует
режиму записи нуля.
Триггеры являются основными элементами, из которых состоит
статическая оперативная память. На триггерах строят счетчики и регистры. С
помощью регистров, например, осуществляется операция сдвига, которая нужна
для реализации операции умножения. С помощью регистров преобразуют
параллельный код в последовательный (и наоборот). Это необходимо, например,
для работы модема (многоразрядные слова, циркулирующие внутри ЭВМ,
нужно передавать по двухпроводной линии связи).
На рисунке показан четырехразрядный регистр памяти, построенный на
синхронных D-триггерах. Информация в триггеры DD1…DD4 записывается при
поступлении на входы C1 разрешающего (синхронизирующего) импульса.
Синхронизирующий сигнал формируется с помощью ключа С. В каждый
триггер записывается та информация, которая присутствует на входе D.
Например, на входе D триггера DD1 присутствует сигнал логической единицы,
поэтому он установится в единичное состояние и светодиод Н1 загорится. В это
же время триггер DD2 установится в нулевое состояние, так как на его D-входе
присутствует логический ноль. Этот сигнал сформирован с помощью ключа 2.
4.2.2. История развития процессоров
Процессор — важнейший элемент ЭВМ, поэтому производством
процессоров занимается большое число фирм. Наиболее массовое
распространение в настоящее время получили процессоры, произведенные
фирмой Intel (США).
По конструктивному признаку все процессоры делятся на разрядномодульные (собираемые из нескольких микросхем) и однокристальные (они
изготавливаются в виде одной микросхемы, на одной подложке, на одном
кристалле). Однокристальные процессоры в настоящее время получили
наибольшее распространение.
По способу представления команд (иногда говорят — инструкций) все
микропроцессоры можно разделить на две группы:
— процессоры типа CISC (Complex Instruction Set Computing) с полным
набором команд;
— процессоры типа RISC (Reduced Instruction Set Computing) с
сокращенным набором команд. Эти процессоры нацелены на быстрое
выполнение небольшого набора простых команд. При выполнении сложных
команд RISC-процессоры работают медленнее, чем CISC-процессоры.
Заметим, что эти две архитектуры процессоров постоянно сближаются,
отбирая лучшие свойства из каждой. Тем не менее более перспективной
считается RISC-архитектура.
Под термином «архитектура» понимается конструкция процессора и
имеющаяся система команд процессора (набор инструкций).
Самым первым процессором, выпущенным фирмой Intel в 1971 г., был
четырехразрядный процессор Intel 4004 (см. табл. 1).
В 1974 г. был разработан восьмиразрядный процессор Intel 8080
(отечественный аналог КР580ВМ80А), а в 1978 г. — процессор Intel 8086,
который был совместим с микропроцессором Intel 8080. Система команд
процессора насчитывала 134 команды. На базе микропроцессора 8086 и его
модификации 8088 выпускались компьютеры IBM PC и IBM PC/XT.
Заметим, что в технической литературе порой используют термин
«процессор», а иногда термин «микропроцессор». Различие указанных
терминов заключается в уточнении технологии изготовления и габаритов
процессора.
Микропроцессор (МП) изготавливается по полупроводниковой
технологии и размещается на одном кристалле, в одной микросхеме (иногда
говорят — в одном чипе).
Таблица 1
Разрядность, бит
Модель МП
шины
данных
шины
адреса
4004
8080
8086
8088
80286
80386
80486
Pentium
Pentium Pro
Pentium MMX
Pentium II
Pentium III
Pentium 4
Pentium 4M
4
8
16
8,16
16
32
32
64
64
64
64
64
64
4
8
16
20
24
32
32
32
32
32
32
32
32
Тактовая
Число
частота,
команд
МГц
4,77
4,77
4,77 и 8
4,77 и 8
10...33
25...50
33...100
50...150
66...200
166
233
600
1500
45
134
134
240
240
240
240
297
Число
транзисторов,
тысяч
2,3
10
29
70
130
275
1200
3100
5500
4500
7500
9500
42000
75000
Год
выпуска
1971
1974
1978
1979
1982
1985
1989
1993
1995
1997
1997
1999
2000
2001
В 1980 г. был анонсирован сопроцессор с плавающей точкой 8087,
который расширил состав команд процессора 8086 почти на 60 новых команд.
Сопроцессор — это специальная микросхема (помощник), которая берет
на себя часть важных функций процессора, чаще всего выполнение
арифметических операций с плавающей точкой. Сопроцессор реализует
арифметические операции аппаратным способом, что осуществляется намного
быстрее по сравнению с программным способом вычислений, которым
реализуются операции процессором без использования сопроцессора. По этой
причине его иногда называют математическим сопроцессором.
Разработанный в 1982 г. микропроцессор Intel 80286 еще больше
усовершенствовал конструкцию МП 8086. Была реализована защита памяти,
расширено адресное пространство, а также добавлено несколько команд.
Заметим, что во многих литературных источниках вместо полного
наименования марки процессоров используются их сокращенные названия.
Например, вместо Intel 80286 пишут 286, а вместо Intel 80386 — 386. Порой для
общего обозначения процессоров серий 80286, 80386, 80486 записывают 8086
(и даже  86). Название фирмы Intel иногда сокращают до одной буквы,
например i80486.
Процессор Intel 80286 может выполнять программы, разработанные для
процессора Intel 8086. Способность процессора последующей модификации
выполнять программы, разработанные для процессоров предыдущей
конструкции, называется совместимостью процессоров снизу вверх. Другими
словами, программы, разработанные для предыдущих конструкций
процессоров, работают без исправлений и дополнений на процессорах новых
конструкций.
Начиная с МП 80286, процессоры фирмы Intel поддерживают режим
выполнения нескольких задач (так называемый многозадачный режим). При
работе в многозадачном режиме процессор поочередно переключается от одной
задачи к другой, но в каждый текущий момент времени обслуживается лишь
одна программа.
Для процессора 80286 выпускался сопроцессор 80287. На базе этих
микросхем, начиная с 1984 г., компания IBM производила персональные
компьютеры IBM PC/AT.
В 1987 г. появился микропроцессор 80386. Начиная с этого процессора,
во всех процессорах используется конвейерное выполнение команд —
одновременное выполнение в разных частях МП нескольких последовательно
записанных в ОЗУ команд. Конвейерное выполнение команд увеличивает
быстродействие ЭВМ в 2—3 раза.
МП 80386 может функционировать в двух основных режимах:
— режиме реальной адресации, который характеризуется тем, что МП
работает как очень быстрый процессор 8086 с 32-разрядными шинами;
— режиме защищенной виртуальной адресации, который
характеризуется параллельным выполнением нескольких задач, как бы
несколькими процессорами 8086, по одному на каждую задачу.
Процессор 80486 разработан в 1989 г. и содержит более миллиона
транзисторов.
Процессоры i486SX и i486DX — это 32-разрядные процессоры, у
которых внутренняя кэш-память первого уровня имеет емкость 8 Кбайт.
Основное отличие между ними заключается в том, что в процессоре i486DX
впервые сопроцессор размещен на общей подложке (на одном кристалле) с
процессором. В МП i486SX отсутствует встроенный сопроцессор для
выполнения операций с плавающей точкой. Поэтому он имеет меньшую цену и
применяется в ЭВМ, для которых не очень важна производительность при
обработке вещественных чисел. По желанию пользователя такие ЭВМ могут
быть укомплектованы дополнительным сопроцессором i487SX, который
изготовляется в виде отдельной микросхемы.
В процессоре i486DX2 применяется технология удвоения внутренней
тактовой частоты. Это позволяет увеличить производительность процессора
почти на 70%. Процессор i486DX4/100 использует технологию утроения
тактовой частоты. Он работает с внутренней тактовой частотой 99 МГц, в то
время как внешняя тактовая частота составляет 33 МГц (частота, на которой
работает системная шина).
В процессоре Pentium (появился в 1993 г.) стали использоваться
элементы структуры RISC-процессоров. Он изготовлен по 0,8-микронной
технологии и содержит 3,1 миллиона транзисторов. Процессор Pentium иногда
обозначают P5 или 80586.
Термин «0,8-микронная технология» означает, что каждый транзистор
размещается на кристалле внутри квадрата с указанным размером стороны.
Первоначальная реализация процессора Pentium была рассчитана на
работу с тактовыми частотами 60 и 66 МГц. Впоследствии были разработаны
процессоры Pentium, работающие с тактовыми частотами 75, 90, 100, 120, 133,
150, 166, 200 МГц.
Прогресс в области разработки и производства процессоров идет
непрерывно.
1 ноября 1995 г. появился первый процессор Pentium Pro (80686, Р6) с
тактовой частотой 150 МГц.
8 января 1997 г. появился процессор Pentium MMX с тактовой частотой
166 МГц.
Технология ММХ (MultiMedia Extension мультимедийное расширение)
предполагает включение в состав команд процессора Pentium набора из 57
новых команд. Новые команды предназначены в первую очередь для
реализации алгоритмов обработки видео- и аудиоданных: фильтрации,
преобразований Фурье, свертки и пр.
Технология Intel MMX позволяет обрабатывать несколько пакетов
данных одинаковым образом, т. е. использует технологию SIMD.
Число транзисторов в процессоре Pentium MMX составляет 4,5 млн.
штук, а кэш-память первого уровня имеет объем 32 Кбайт. Как показали
испытания, MMX-процессор увеличивает производительность по сравнению с
обычным процессором Pentium на величину до 34%.
В 1995—1997 г.г. корпорация Intel выпустила еще несколько моделей:
Pentium MMX 266 МГц и Pentium Pro 200 МГц.
7 мая 1997 г. появился процессор Pentium II с тактовой частотой
233 МГц.
15 апреля 1998 г. фирма Intel представила модели Pentium II с тактовыми
частотами 350 и 400 МГц.
Процессор Pentium II изготавливается по так называемой 0,25-микронной
технологии. При этом каждый транзистор умещается в квадрате со сторонами в
четверть микрометра. На срезе человеческого волоса можно уместить 30 000
таких транзисторов. В будущем предстоит переход на технологии 0,18 и 0,13
микрометра.
С целью завоевания рынка фирма Intel выпустила недорогой процессор
Celeron, в котором первоначально отсутствовала кэш-память второго уровня.
24 августа 1998 г. фирма Intel представила еще два процессора семейства
Celeron — 300A и 333. Новые процессоры выполнены по 0,25 мкм технологии и
содержат кэш-память второго уровня размером 128 Кбайтов.
2 августа 1999 г. вышел Pentium III, работающий на частоте 600 МГц.
По сравнению с Pentium II в нем для увеличения быстродействия еще
больше усилено распараллеливание процессов.
Кроме того, Pentium III отличается наличием уникального
идентификационного номера, который может быть считан программно для
определения личности пользователя (например, при совершении покупок через
Интернет).
В ноябре 2000 г. выпущен процессор Pentium 4 с тактовыми частотами
1,4 и 1,5 ГГц. Процессор Pentium 4 изготавливается по 0,18-микронной
технологии. В процессоре используется 144 новых команд (инструкций),
предназначенных
для
ускорения
обработки
Число транзисторов (млн. шт) в процессорах.
видео-,
мультимедиа,
1978...2001 г.г.
трехмерной графики и
криптографии.
В 1965 г. один из
80
будущих руководителей
70
компании Intel Гордон
60
Мур
сделал
50
предсказание,
что
40
плотность транзисторов
30
на кристалле
будет
20
удваиваться
каждые
10
полтора-два
года
с
0
соответствующим
возрастанием
производительности процессора. «Закон Мура» с некоторыми оговорками
действует до сих пор [11]. На гистограмме схематично показан процесс
увеличения числа транзисторов в процессорах фирмы Intel.
4.2.3. Принцип действия процессора
Процессор является главным элементом ЭВМ. Он прямо или косвенно
управляет всеми устройствами и процессами, происходящими в ЭВМ.
В конструкции современных процессоров четко просматривается
тенденция постоянного увеличения тактовой частоты. Это естественно: чем
больше операций выполняет процессор, тем выше его производительность.
Предельная тактовая частота во многом определяется существующей
технологией производства микросхем (наименьшими достижимыми размерами
элементов, которые определяют минимальное время передачи сигналов).
Кроме повышения тактовой частоты, увеличение производительности
процессоров достигается разработчиками менее очевидными приемами,
связанными с изобретением новых архитектур и алгоритмов обработки
информации. Некоторые из них рассмотрим на примере процессора Pentium (Р5)
и последующих моделей.
Перечислим основные особенности процессора Pentium [12]:
 конвейерная обработка информации;
 суперскалярная архитектура;
 наличие раздельных кэш-памятей для команд и данных;
 наличие блока предсказания адреса перехода;
 динамическое исполнение программы;
 наличие блока вычислений с плавающей точкой;
 поддержка многопроцессорного режима работы;
 наличие средства обнаружения ошибок.
Термин «суперскалярная архитектура» означает, что процессор
содержит более одного вычислительного блока. Эти вычислительные блоки
чаще называют конвейерами. Заметим, что первая суперскалярная архитектура
была реализована в отечественной ЭВМ «Эльбрус-1» (1978 г.).
Наличие в процессоре двух конвейеров позволяет ему одновременно
выполнять (завершать) две команды (инструкции).
Каждый конвейер разделяет процесс выполнения команды на несколько
этапов (например, пять):
 выборка (считывание) команды из ОЗУ или кэш-памяти;
 декодирование (дешифрация) команды, т. е. определение кода
выполняемой операции;
 выполнение команды;
 обращение к памяти;
 запоминание полученных результатов в памяти.
Для реализации каждого из перечисленных этапов (каждой операции)
служит отдельное устройство — ступень. Таким образом, в каждом конвейере
процессора Pentium имеется пять ступеней.
При конвейерной обработке на выполнение каждого этапа отводится
один такт синхронизирующей (тактовой) частоты. В каждом новом такте
заканчивается выполнение одной команды и начинается выполнение новой
команды. Такое выполнение команд называют поточной обработкой.
Образно ее можно сравнить с производственным конвейером (потоком),
где на каждом участке с разными изделиями выполняют всегда одну и ту же
операцию. При этом, когда готовое изделие сходит с конвейера, на него заходит
новое, а остальные изделия в это время находятся на разных стадиях
готовности. Переход изготавливаемых изделий с участка на участок должен
происходить синхронно, по специальным сигналам (в процессоре это такты,
формируемые тактовым генератором).
Общее время выполнения одной команды в конвейере с пятью ступенями
будет составлять пять периодов тактовой частоты. В каждом такте конвейер
будет одновременно обрабатывать (выполнять) пять различных команд. В
результате за пять тактов будет выполнено пять команд. Таким образом,
конвейеризация увеличивает производительность процессора, но она не
сокращает время выполнения отдельной команды. Выигрыш получается за счет
того, что обрабатывается сразу несколько команд.
В действительности конвейеризация даже увеличивает время выполнения
каждой отдельной команды из-за появления дополнительных расходов, связанных
с организацией работы конвейера. При этом тактовая частота ограничивается
быстродействием работы самой медленной ступени конвейера.
В качестве примера рассмотрим процесс выполнения команды, у которой
длительности выполнения этапов составляют 60, 30, 40, 50 и 20 нс. Примем
дополнительные расходы на организацию конвейерной обработки равными 5 нс.
Если бы не было конвейеризации, то на выполнение одной команды
потребовалось
60 + 30 + 40 + 50 + 20 = 200 нс.
Если же используется конвейерная организация, то длительность такта
должна быть равна длительности самого медленного этапа обработки с
добавлением «накладных» расходов, т. е. 60 + 5 = 65 нс. Таким образом,
полученное в результате конвейеризации сокращение времени выполнения
команды составит 200/65  3,1 раза.
Заметим, что время выполнения конвейером одной команды составляет 5
 65 = 325 нс. Эта величина существенно больше 200 нс — времени выполнения
команды без конвейеризации. Но одновременное выполнение сразу пяти команд
дает среднее время завершения одной команды 65 нс.
Процессор Pentium имеет две кэш-памяти первого уровня (они
расположены внутри процессора). Как известно, кэширование увеличивает
производительность процессора за счет уменьшения числа случаев ожидания
поступления информации из медленной оперативной памяти. Нужные данные и
команды берутся процессором из быстрой кэш-памяти (буфера), куда они
заносятся заранее.
Наличие одной кэш-памяти в предыдущих конструкциях процессоров
приводило к возникновению структурных конфликтов. Две команды,
выполнявшиеся конвейером, порой одновременно пытались считать
информацию из единственной кэш-памяти. Выполнение раздельного
кэширования (буферизации) для команд и данных исключает такие конфликты,
давая возможность обеим командам выполняться одновременно.
Развитие вычислительной техники идет непрерывно. Постоянно
конструкторы ищут новые пути совершенствования своих изделий. Наиболее
ценным ресурсом процессоров является их производительность. По этой
причине изобретаются разнообразные приемы повышения производительности
процессоров.
Одним из таких приемов является экономия времени за счет предсказания
возможных
путей
выполнения
разветвляющегося
алгоритма.
Это
осуществляется с помощью блока предсказания адреса будущего перехода. Идея
его работы похожа на идею работы кэш-памяти.
Как известно, существуют линейные, циклические и разветвляющиеся
вычислительные процессы. В линейных алгоритмах команды выполняются в
порядке их записи в оперативной памяти: последовательно одна за другой. Для
таких алгоритмов введенный в процессор блок предсказания адреса перехода не
может дать выигрыша.
В разветвляющихся алгоритмах выбор команды определяется
результатами проверки условий ветвлений. Если ждать окончания
вычислительного процесса в точке ветвления и затем выбирать из ОЗУ нужную
команду, то неизбежно появятся потери времени из-за непроизводительного
простоя процессора (считывание команды из ОЗУ идет медленно).
Блок предсказания адреса перехода работает на опережение и пытается
заблаговременно предсказать адрес перехода, чтобы заранее перенести нужную
команду из медленной оперативной памяти в специальный быстрый буфер
перехода BTB (Branch Target Buffer).
Когда буфер ВТВ содержит правильное предсказание, переход
происходит без задержки. Это напоминает работу кэш-памяти, у которой также
бывают промахи. Из-за промахов операнды приходится считывать не из кэшпамяти, а из медленной ОП. Из-за этого происходит потеря времени.
Реализацию идеи предсказания адреса перехода осуществляют в
процессоре два независимых буфера предварительной выборки. Они работают
совместно с буфером предсказания переходов, причем один из буферов
выбирает команды последовательно, а второй — согласно предсказаниям ВТВ.
Процессор Pentium имеет два пятиступенчатых конвейера для
выполнения операций в формате с фиксированной точкой. Кроме того, в
процессоре имеется конвейер с восьмью ступенями для вычислений в формате с
плавающей точкой. Такие вычисления требуются при выполнении
математических расчетов, а также для быстрой обработки динамических
трехмерных цветных изображений.
Развитие архитектуры процессоров идет по пути постоянного увеличения
объема кэш-памяти первого и второго уровней. Исключением стал процессор
Pentium 4, у которого объем кэш-памяти неожиданно снизился по сравнению с
Pentium III.
Для повышения производительности в новых конструкциях процессоров
создают две системные шины, работающие с разными тактовыми частотами.
Быстрая шина используется для работы с кэш-памятью второго уровня, а
медленная — для традиционного обмена информацией с другими устройствами,
например ОЗУ. Наличие двух шин исключает конфликты при обмене
информацией процессора с основной памятью и кэш-памятью второго уровня,
находящейся за пределами кристалла процессора.
Следующие за Pentium процессоры содержат большое число ступеней в
конвейере. Это уменьшает время выполнения каждой операции в отдельной
ступени, а значит, позволяет поднять тактовую частоту процессора.
В процессоре Pentium Pro (P6) применен новый подход к порядку
выполнения команд, последовательно расположенных в ОЗУ.
Новый подход заключается в выполнении команд в произвольном
порядке по мере их готовности (независимо от порядка расположения в ОЗУ).
Однако конечный результат формируется всегда в соответствии с исходным
порядком команд в программе. Такой порядок выполнения команд называется
динамическим или опережающим.
Рассмотрим в качестве примера следующий фрагмент учебной
программы,
записанной
на
некотором
(вымышленном)
машинноориентированном языке.
r1  mem[r4]
Команда 1
r3  r1 + r2
Команда 2
r5  r5 + 1
Команда 3
r6  r6 – r7
Команда 4
Символами r1…r7 обозначены регистры общего назначения (РОН),
которые входят в блок регистров процессора.
Символом mem[r4] обозначена ячейка памяти ОЗУ.
Прокомментируем записанную программу.
Команда 1: записать в РОН r1 содержимое ячейки памяти ОЗУ, адрес
которой указан в РОН r4.
Команда 2: записать в РОН r3 результат сложения содержимого регистров
r1 и r2.
Команда 3: прибавить к содержимому регистра r5 единицу.
Команда 4: уменьшить содержимое РОН r6 на содержимое регистра r7.
Предположим, что при выполнении команды 1 (загрузка операнда из
памяти в регистр общего назначения r1) оказалось, что содержимое ячейки
памяти mem [r4] отсутствует в кэш-памяти процессора (произошел промах,
нужный операнд не был заранее доставлен в буфер из ОЗУ).
При традиционном подходе процессор перейдет к выполнению команд 2,
3, 4 только после того, как данные из ячейки mem[r4] основной памяти поступят
в процессор (точнее, в регистр r1). Так как считывание будет происходить из
медленно работающей оперативной памяти, этот процесс займет достаточно
много времени (по меркам процессора). Все время ожидания этого события
процессор будет простаивать, не выполняя полезной работы.
В приведенном примере процессор не может выполнить команду 2 до
завершения команды 1, так как команда 2 использует результаты выполнения
команды 1. В то же время процессор мог бы заранее выполнить команды 3 и 4,
которые не зависят от результата выполнения команд 1 и 2.
В подобных случаях процессор Р6 работает иначе.
Процессор Р6 не ждет окончания выполнения команд 1 и 2, а сразу
переходит к внеочередному выполнению команд 3 и 4. Результаты
опережающего выполнения команд 3 и 4 сохраняются и извлекаются позднее,
после выполнения команд 1 и 2. Таким образом, процессор Р6 выполняет
команды в соответствии с их готовностью к выполнению, вне зависимости от их
первоначального расположения в программе.
Производительность, безусловно, важный показатель работы ЭВМ.
Однако не менее важно, чтобы быстрые вычисления происходили при малом
числе ошибок.
В процессоре имеется устройство самотестирования, которое
автоматически проверяет работоспособность
большинства элементов
процессора.
Кроме того, выявление сбоев, произошедших внутри процессора,
осуществляется с помощью специального формата данных. К каждому операнду
добавляется бит четности, в результате чего все циркулирующие внутри
процессора числа становятся четными. Появление нечетного числа
сигнализирует о случившемся сбое. Наличие нечетного числа — это как бы
появление фальшивой банкноты без водяных знаков.
Единицами измерения быстродействия процессоров (и ЭВМ) могут
служить:
— МИПС (MIPS — Mega Instruction Per Second) — миллион команд
(инструкций) над числами с фиксированной точкой за секунду;
— МФЛОПС (MFLOPS — Mega Floating Operation Per Second) —
миллион операций над числами с плавающей точкой за секунду;
— ГФЛОПС (GFLOPS — Giga Floating Operation Per Second) —
миллиард операций над числами с плавающей точкой за секунду.
Имеются сообщения о самом быстром в мире компьютере ASCI White
(корпорация IBM), быстродействие которого достигает 12,3 ТФЛОПС
(триллиона операций).
4.2.4. Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ) – важнейшая часть
процессора. Оно позволяет выполнять разнообразные арифметические и
логические операции над операндами. Вид выполняемой АЛУ операции
определяет программист, составляющий управляющую программу. Программа,
хранящаяся в оперативной памяти, по частям передается в процессор, где и
выполняется. Таким образом, процессор лишь исполняет указания
программиста, выраженные в виде совокупности команд (программы).
Процессор (как и все другие цифровые устройства) воспринимает
управляющие сигналы и операнды в виде двоичных чисел. Результат также
формируется в виде двоичных чисел. Однако программисты составляют
управляющие программы чаще всего на языках программирования высокого
уровня (Паскаль, Бейсик, Си…). В момент трансляции программы ее текст
превращается в набор двоичных чисел (объектный код). Именно эти двоичные
числа заставляют процессор (в том числе и АЛУ) выполнять операции,
запланированные программистом.
Структурная схема простейшего АЛУ показана на рисунке.
Два многоразрядных операнда (числа, буквы, символы и т.д.),
подлежащие обработке в АЛУ, подаются на входы А и В. Результат выполнения
операции появляется
на выходе F. Вид
операции,
выполняемой в АЛУ,
F
A
АЛУ
определяется
сигналами, которые
B
подаются на входы S
и M.
Таким образом
S
при сложении чисел 2
M
и 3 одно из них
подается на вход А, а
Cn+1
C0
второе на - вход В. В
этот момент времени
на шины S и
М
подается
двоичное
число, которое на обыденном языке означает команду (приказ) «Выполнить
арифметическое сложение». Результат сложения – число 5 появляется на выходе
F.
У входов M и S одинаковое назначение – определять вид выполняемой в
АЛУ операции. Эти входы разделены лишь с методической целью. Сигнал на
входе М (Mode – режим) определяет, какую операцию будет выполнять АЛУ –
логическую или арифметическую.
Рассматриваемый простейший тип АЛУ (К155ИП3, американский аналог
- 74181) имеет малую разрядность – лишь 4 бита. По этой причине разработчики
АЛУ предусмотрели возможность увеличения (наращивания) разрядности
устройства (в случае возникновения такой необходимости). Увеличить
разрядность АЛУ можно за счет использования нескольких секций (микросхем)
и двух специальных шин C0 и Cn+1.
Шина C0 при создании многоразрядных конструкций используется для
приема переноса, формируемого в предыдущей (младшей) секции (микросхеме).
Шина Cn+1 служит для передачи арифметического переноса из младшей секции
в старшую. Другими словами: если у разработчика в наличии имеется nразрядное АЛУ, то для получения разрядности 2n нужно взять еще одну
аналогичную микросхему, объединить параллельно входы S и M, а выход Cn+1
младшей секции соединить со входом C0 старшей секции (микросхемы).
Логические и арифметические операции отличаются тем, что в
логических операциях вычисления производятся поразрядно (между собой
взаимодействуют только одноименные разряды и переносов между разрядами
нет). При выполнении арифметических операций в
случае
необходимости происходят переносы между
соседними разрядами (от младшего разряда к старшему).
1100
Проиллюстрируем сказанное двумя примерами:
 1010
логической операцией ИСКЛЮЧАЮЩЕЕ ИЛИ и
арифметическим сложением. Обе операции выполняются
0110
по одинаковым правилам, но в арифметическом
сложении допускается перенос
между разрядами.
Предположим, что имеется
1100
два десятичных числа A = 12D и B
+ 1010
= 10D. В двоичной системе
счисления эти числа имеют вид: A
1’0110
=1100B и B =1010B.
В результате выполнения
логической
операции
ИСКЛЮЧАЮЩЕЕ
ИЛИ
получается
четырехразрядное
число
0110B.
После
выполнения
арифметического сложения на выходе F появляется четырехразрядное число
0110B, а на шине Cn+1 присутствует логическая единица. Этот сигнал
свидетельствует о возникновении переноса в пятый разряд, то есть в
следующую старшую секцию восьмиразрядного АЛУ.
Работу четырехразрядного АЛУ можно описать выражением:
Fi  (Ai BiS3  Ai BiS2 )  (BiS1  BiS0  Ai )  (C0  M),
В этой формуле индексами i отмечены номера разрядов операндов A и B и
выходного сигнала F.
Если на управляющие входы такого АЛУ подать сигналы M = 1, S3 = 1, S2
= 0, S1 = 1, S0 = 1, то АЛУ будет выполнять операцию Fi = Ai  Bi, то есть
операцию конъюнкции (логическое умножение). Этот результат получается при
подстановке исходных данных в приведенную формулу.
Изменяя пять управляющих сигналов M, S3,…S0, можно «заставить» такое
АЛУ выполнить 32 различные операции (16 логических и 16 арифметических).
Так присутствие на управляющих входах двоичного числа M = 0, S3 = 1,
S2 = 0, S1 =0, S0 = 1 заставит АЛУ выполнить арифметическое сложение чисел,
поступивших на шины A и B, и к полученному результату прибавить значение
переноса из предыдущей секции, то есть Fi = Ai + Bi + C0.
Таблица показывает, как, изменяя управляющие сигналы, можно задавать
вид выполняемой операции.
Управляющие сигналы
S3
S2
S1
S0
Выполняемые операции
Логические М = 1
Арифметические М = 0
A  Co
0
0
0
0
A
0
0
0
1
0
0
1
0
AB
AB
0
0
1
1
0000
1111 C 0
0
1
0
0
A  (A  B)  C o
0
1
0
1
AB
B
( A  B)  ( A  B )  C o
0
1
1
0
AB
A  B  Co
0
1
1
1
AB
1111  ( A  B )  C o
1
0
0
0
0
0
1
1
0
1
0
AB
AB
B
A  (A  B)  C o
1
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
(A  B)  Co
(A  B)  C o
A  B  Co
( A  B )  ( A  B)  C o
AB
1111
1111  (A  B)  C o
AB
A B
(A  B)  A  C o
0
(A  B)  A  C o
1
A
1111  A  C o
A  A  Co
4.2.5. Память
Память — функциональная часть ЭВМ, предназначенная для записи,
хранения и выдачи информации. В ЭВМ запоминание информации происходит
в ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное
запоминающее устройство), ВЗУ (внешнее запоминающее устройство), кэшпамяти (недоступный для пользователя буфер), CMOS-памяти (здесь хранятся
системные данные) и РОН — внутренних регистрах процессора (используются
при вычислениях). ОЗУ, ПЗУ, РОН, кэш-память, CMOS-память относятся к
электронной памяти, а ВЗУ — к электромеханической памяти.
Заметим, что сокращение CMOS (Complement Metal Oxide Semiconductor —
комплементарные
пары
металл-оксид-полупроводник,
отечественная аббревиатура — КМОП) указывает на технологию изготовления
данной памяти, а не на ее функциональное назначение. Точнее, ее можно было
бы назвать памятью системных установок (конфигурации).
Существует еще одно понятие — видеопамять — электронная память,
размещенная на видеокарте (графическом адаптере). Она используется, как
правило, в качестве буфера для хранения кадров динамического изображения.
ОЗУ и ПЗУ совместно образуют так называемую основную память (ОП).
Объем
и
быстродействие
памяти
во
многом
определяют
производительность всего компьютера.
Элементы памяти
Код
адреса
ЭП
1
i
Выход
m
Зп/сч
Вход
Матрица накопителя
4.2.5.1. Оперативная память
ОЗУ — это наибольшая часть основной памяти. ОЗУ предназначено для
хранения переменной (текущей, быстро изменяющейся) информации и допускает
изменение своего содержимого в ходе выполнения процессором вычислений. Это
означает, что процессор может выбрать (режим считывания) из ОЗУ команду
или данные и после обработки поместить полученный результат (режим записи)
в ОЗУ. Размещение новых данных возможно на тех же местах, где ранее
находились исходные данные. Понятно, что прежние данные будут стерты. ОЗУ
позволяет кратковременно (до выключения питания) хранить записанную
информацию. Данные, адреса и команды, которыми процессор обменивается с
памятью, часто называют операндами.
Выполняемая в данный момент компьютером программа (активная) чаще
всего располагается в ОЗУ (и лишь иногда в ПЗУ).
Основной составной частью ОЗУ является массив элементов памяти,
объединенных в матрицу накопителя. Элемент памяти (ЭП) может хранить
один бит информации (запоминать два состояния 0 или 1).
Каждый ЭП имеет свой адрес (по-другому можно сказать — порядковый
номер). Для обращения к ЭП (с целью записи или считывания информации) его
необходимо «выбрать» с помощью кода адреса. Оперативная память является
электронной памятью, потому что она создается с помощью микросхем —
изделий микроэлектроники.
Микросхемы памяти бывают одноразрядные и многоразрядные.
В одноразрядных микросхемах памяти код адреса (иногда говорят
просто — адрес) выбирает один элемент памяти из множества элементов,
расположенных в матрице накопителя. После выбора элемента в него можно
записать информацию или, наоборот, считать из него один бит информации.
Специальный управляющий сигнал Зп/сч (Write/Read) указывает микросхеме,
что она должна делать: записывать или считывать информацию. Управляющие
сигналы на этот вход поступают от процессора. В одноразрядных микросхемах
памяти имеются один вход для записи информации и один выход для ее
считывания.
Разрядность кода адреса m в одноразрядных микросхемах памяти
определяет информационную емкость, т. е. число ЭП в матрице накопителя.
Емкость такой микросхемы рассчитывается по формуле 2 m. Например, если у
одноразрядной микросхемы памяти имеется 10 адресных входов, то
информационная емкость составит N = 210 = 1024 бита.
Некоторые микросхемы памяти имеют многоразрядную структуру,
называемую также словарной. У таких микросхем памяти имеется несколько
информационных входов и столько же выходов. Поэтому они допускают
одновременную запись (или считывание) многоразрядного кода, который
принято называть словом. Один адрес позволяет считать информацию сразу из
нескольких ЭП. Группа элементов памяти, из которых одновременно
считывается информация, называется ячейкой памяти. Таким образом, ячейка
памяти — это несколько ЭП, имеющих общий адрес.
На английском языке оперативная память называется Random Access
Memory (RAM) — память с произвольным доступом. Термин «произвольный
доступ» означает, что можно считать (записать) информацию в любой момент
времени из любого (в любой) ЭП. Заметим, что существует и другая
организация памяти, при которой, прежде чем считать нужную информацию,
нужно «вытолкнуть» ранее поступившие операнды.
Используется два основных типа оперативной памяти: статическая
(SRAM — Static RAM) и динамическая (DRAM — Dynamic RAM).
Эти две разновидности памяти различаются быстродействием и
удельной плотностью (емкостью) хранимой информации. Быстродействие
памяти характеризуется двумя параметрами: временем доступа (access time) и
длительностью цикла (cycle time). Эти величины, как правило, измеряются в
наносекундах. Чем меньше эти величины, тем выше быстродействие памяти.
Время доступа представляет собой промежуток времени между
формированием запроса на чтение информации из памяти и моментом
поступления из памяти запрошенного машинного слова (операнда).
Длительность цикла определяется минимальным допустимым временем
между двумя последовательными обращениями к памяти.
В статической памяти элементы построены на триггерах — схемах с
двумя устойчивыми состояниями. Для построения одного триггера требуется
4—6 транзисторов. После записи информации в статический элемент памяти он
может хранить информацию сколь угодно долго (пока подается электрическое
питание).
Конструктивно микросхема памяти выполняется в виде прямоугольной
матрицы, причем ЭП располагаются на пересечении строк и столбцов. При
обращении к микросхеме статической памяти на нее подается полный адрес,
который разбивается на две части. Одна часть адреса используется для выбора
строк матрицы накопителя, а
вторая —
для
выбора
столбцов.
x0 ЭП ЭП
a0
ЭП
На рисунке приведена
16
0
240
структурная
схема
a1
x1 ЭП ЭП
ЭП
микросхемы
памяти
241
17
1
К561РУ2, у которой 8
DCR
a2
адресных входов: a7a6, …, a0.
Это позволяет разместить в
a3
x15 ЭП ЭП
ЭП
матрице 28 = 256 элементов
255
15
памяти. Адресные входы
31
y0
y1
y15
разделены на две равные
части (матрица квадратная).
Младшая
часть
адреса
DCC
К561РУ2
a3a2a1a0 позволяет выбрать
одну из шестнадцати строк
x0, x1, x2, …, x15. При помощи
a4
a5 a6
a7
старшей части адреса a7a6a5a4
происходит выбор одного из
шестнадцати столбцов y0, y1, …, y15.
Чтобы выбрать какой-то ЭП, нужно активизировать строку и столбец, на
пересечении которых располагается нужный ЭП.
Например, чтобы выбрать ЭП 0, нужно на все адресные входы
микросхемы подать нули, тогда дешифратор строк DCR (Decoder Row) и
дешифратор столбцов DCC (Decoder Column) активизируют соответственно
строку x0 и столбец y0. На их пересечении располагается ЭП 0, в который, после
его выбора, можно записать (или считать) информацию.
Аналогично выбираются другие ЭП. Так, для выбора ЭП 241 нужно
активизировать строку x1 и столбец y15. Для этого на младшую группу адресов
(a3, …, a0) нужно подать двоичный код 0001, а на старшую группу адресов (a7,
…, a4) — все единицы.
Статическая память имеет высокое быстродействие и низкую удельную
плотность размещения хранящихся данных. В динамической памяти ЭП
построены на основе полупроводниковых конденсаторов, занимающих гораздо
меньшую площадь, чем триггеры в статических ЭП. Для построения
динамического элемента памяти требуется всего 1—2 транзистора.
Подключение и отключение конденсаторов в динамических ЭП
осуществляется с помощью полупроводниковых транзисторов (ключей),
которые в закрытом состоянии имеют сопротивление порядка 1010 Ом.
Несмотря на то, что сопротивление закрытого транзистора велико, оно все же,
конечно, и по этой причине через закрытый транзистор происходит разряд
конденсатора. Самопроизвольный разряд конденсатора не позволяет без
специальных мер долгое время хранить записанную информацию. Для
устранения влияния нежелательного разряда конденсатора через так
называемые паразитные цепи утечки приходится периодически подзаряжать
конденсаторы. Этот процесс называется регенерацией заряда.
Регенерация заряда должна происходить достаточно часто.
Подтверждением этого являются следующие рассуждения. Так как
необходимо получить высокую удельную плотность хранения информации,
емкость конденсатора не может быть большой (практически величина емкости
запоминающих конденсаторов составляет порядка 0,1 пФ). Постоянная
времени разряда определяется как произведение емкости конденсатора на
сопротивление закрытого транзистора. Это произведение составляет величину
порядка
 = RC = 1010  0,110-12 = 10-3 c.
Таким образом, постоянная времени разряда составляет одну
миллисекунду и, значит, регенерация заряда должна происходить примерно
тысяча раз в секунду.
Необходимость частой подзарядки запоминающих конденсаторов в
матрице накопителя приводит к снижению быстродействия динамической
памяти. Однако, благодаря малым размерам конденсатора и малому числу
дополнительных элементов, удельная плотность хранения информации
динамической памяти выше, чем у статической памяти.
Емкость микросхем динамической памяти составляет десятки Мбит на
один корпус. Возможность размещения на одном кристалле большого числа ЭП
вызывает другую конструкторскую проблему: необходимо использовать
большое число адресных входов. Для снижения остроты этой проблемы
используют мультиплексирование.
Мультиплексирование — это технический прием временного
уплотнения информации, благодаря которому удается по одним и тем же
электрическим цепям передать разную информацию для различных приемников
(потребителей) информации. Так, конструкторы вдвое уменьшают число
адресных входов у микросхем памяти. Адрес делят на две равные части и
вводят его в микросхему поочередно: сначала младшую часть, а затем старшую
часть адреса. При этом первая часть осуществляет выбор нужной строки в
матрице накопителя, а вторая часть активизирует соответствующий столбец.
Для того чтобы микросхема памяти «знала», какая часть адреса вводится
в данный момент времени, ввод каждой группы адреса сопровождается
соответствующим управляющим сигналом.
Так, синхронно с вводом младшей части адреса на микросхему подается
сигнал RAS (Row Address Strobe) — сигнал стробирования (сопровождения)
адреса строки. Практически одновременно с вводом старшей части адреса на
микросхему памяти подается сигнал CAS (Column Address Strobe) —
стробирование адреса столбца.
После завершения выбора какого-либо ЭП требуется время, в течение
которого происходит восстановление микросхемы в исходное состояние.
Данная задержка связана с необходимостью перезарядки внутренних цепей
микросхемы. Длительность этой задержки существенна и составляет до 90% от
времени цикла.
Обходят это нежелательное явление различными конструктивными
ухищрениями. Например, при записи нескольких следующих друг за другом
операндов, их располагают на одной строке матрицы, но в разных столбцах.
Экономия времени достигается тем, что не нужно ожидать завершения
переходных процессов при смене адреса строк.
Другой способ повышения быстродействия заключается в том, что
память разбивают на блоки (банки), из которых процессор считывает данные
попеременно. Таким образом, пока считываются данные из одной области
памяти, вторая получает время на завершение переходных процессов.
Разработаны различные модификации статической и динамической
памяти.
FPM DRAM (Fast Page Mode DRAM) — динамическая память с быстрым
страничным доступом. Память со страничным доступом отличается от
обычной динамической памяти тем, что после выбора одной строки матрицы
удерживается сигнал выбора строки RAS и производится многократное
изменение адресов столбцов (с помощью сигнала CAS). В этом случае не
тратится время на завершение переходных процессов при изменении адреса
строки. Другими словами, адрес строки остается некоторое время постоянным, а
изменяются адреса столбцов. В этом случае страницей называют элементы
памяти, расположенные на одной строке матрицы.
EDO (Extended Data Out) — эти микросхемы характеризуются
увеличенным временем удержания данных на выходе. Фактически
представляют собой обычную память FPM DRAM, на выходе которой
установлены регистры — защелки данных. Регистры – это цифровые
устройства, построенные на триггерах и позволяющие хранить сразу несколько
битов информации (слово). При страничном обмене такие микросхемы
удерживают на выходах микросхемы содержимое последней выбранной ячейки
памяти, в то время как на их входы уже подается адрес следующей выбираемой
ячейки памяти. Это позволяет примерно на 15% по сравнению с FРM ускорить
процесс считывания последовательно расположенных массивов данных.
SDRAM (Synchronous DRAM — синхронная динамическая память) —
память с синхронным доступом, работающая быстрее обычной асинхронной
памяти. Основу этого типа памяти составляет традиционная схема DRAM.
Однако SDRAM отличается тем, что использует тактовый генератор для
синхронизации всех сигналов, применяемых в микросхеме памяти. Помимо
синхронного метода доступа, SDRAM использует внутреннее разделение
массива памяти на два независимых банка, что позволяет совмещать по времени
выборку из одного банка с установкой адреса в другом банке.
4.2.5.2. Внешние запоминающие устройства
ВЗУ — это электромеханические запоминающие устройства, которые
характеризуются большим объемом хранимой информации и низким (по
сравнению с электронной памятью) быстродействием. К ВЗУ относятся:
накопители на магнитной ленте (НМЛ), накопители на гибких магнитных
дисках (НГМД), накопители на жестких магнитных дисках (НЖМД),
накопители на оптических дисках (НОД). К ВЗУ можно отнести полностью
электронную Flash-память.
Накопители на оптических дисках часто называют английским термином
CD-ROM (Compact Disk Read Only Memory). В переводе эта английская
аббревиатура означает: компактный диск для чтения. Произносится сокращение
так: сиди-ром. Однако этим же термином обозначают и сами оптические диски,
поэтому здесь возможны смысловые ошибки. Поэтому разумнее устройства
называть накопителями на оптических дисках (НОД), проигрывателями или
приводами. Накопитель на гибких дисках чаще всего называют дисководом, а
НЖМД — винчестером или жестким диском.
В зависимости от типа носителя ВЗУ можно подразделить на накопители
на магнитной ленте и дисковые накопители.
Носитель — это материальный объект, способный хранить информацию.
Например, в первых ЭВМ носителями информации являлись бумажные ленты и
карты, на которых были пробиты (перфорированы) отверстия.
При магнитной записи информации с помощью записывающей головки
происходит изменение магнитной индукции носителя. Носитель изготавливают
из ферромагнитного материала с прямоугольной петлей гистерезиса.
Располагается носитель на подложке, в качестве которой может выступать
пластмассовая пленка, металлические или стеклянные диски.
Ток, протекающий по обмотке записывающей головки, создает в
сердечнике (магнитопроводе) магнитный поток. Через узкий зазор в сердечнике
магнитный поток намагничивает носитель в одном из двух направлений, что
зависит от направления протекающего по обмотке тока. Разные направления
намагниченности носителя соответствуют логическому нулю и логической
единице.
Таким образом, записывающая головка — это маленький электромагнит,
который своим электромагнитным полем изменяет ориентацию магнитных
доменов в носителе, в зависимости от полярности протекающего по обмотке
тока.
При считывании информации с ленты или диска движущийся
намагниченный
носитель
индуцирует
в
считывающей
головке
электродвижущую силу. Полярность возникающего на обмотке напряжения
зависит от направления намагниченности носителя.
Наибольшее распространение среди НГМД сейчас имеют дисководы для
дискет диаметром 3,5 дюйма. Емкость таких дискет составляет 1,44 Мбайт (хотя
есть возможность записать на такую дискету больший объем информации).
Дискета имеет жесткий пластмассовый корпус с металлической
перемещающейся крышкой (заслонкой). Корпус и крышка защищают рабочие
поверхности гибкого диска от загрязнения и механических повреждений.
Специальные механические приспособления обеспечивают защиту диска от
случайной записи или стирания информации.
Ток
Обмотка
Сердечник
Магнитный
поток
Носитель
Направление
движения
V
Подложка
Остаточная
индукция
Заметим, что гибкий диск иногда называют флоппи-диском. Толщина гибкого
диска составляет 80…120 мкм.
Винчестер содержит набор пластин, представляющих собой чаще всего
металлические диски, покрытые магнитным материалом (гамма-феррит-оксид,
феррит бария, окись хрома и т. п.) и соединенные между собой при помощи
шпинделя (вала, оси).
Жесткие диски изготавливаются из алюминия, латуни, керамики или
стекла (толщина примерно 2 мм). Для записи данных используются обе
поверхности дисков. В современных НЖМД используется от 4 до 9 пластин.
Шпиндель вращается с высокой постоянной скоростью (обычно 3600, 4500,
5400 или 7200 оборотов в минуту). Вращение дисков и радиальное перемещение
головок осуществляется с помощью двух электродвигателей.
Головки
Диски
Шпиндель
Кронштейн
Данные записываются или считываются с помощью головок записи и
считывания, по одной на каждую поверхность диска. На предыдущем рисунке
упрощенно показаны головки, расположенные только с одной стороны диска
(фактически их в 2 раза больше).
Запись информации на диск ведется по строго определенным местам —
концентрическим дорожкам (трекам), причем дорожки делятся на секторы. В
одном секторе может размещаться 128, 256, 512 или 1024 байт информации.
Обмен данными между НМД и ОЗУ осуществляется последовательно целым
числом секторов.
Специальный двигатель с помощью кронштейна позиционирует головку
над заданной дорожкой (перемещает ее в радиальном направлении). При
повороте диска головка располагается над нужным сектором. Очевидно, что все
головки перемещаются одновременно и считывают информацию с одинаковых
дорожек разных дисков. Дорожки винчестера с одинаковыми порядковыми
номерами, расположенные на разных дисках, называются цилиндром.
Электромеханическая система перемещения головок называется
позиционером, и она внешне напоминает конструкцию звукоснимателя
(тонарма) для грампластинок.
Вся конструкция винчестера заключается в герметичный корпус.
Внутренняя полость винчестера заполняется очищенным от пыли воздухом, а
внутри корпуса поддерживается атмосферное давление. При вращении дисков
они создают сильный поток воздуха, который постоянно очищается фильтром.
Система очистки воздуха позволяет удалить частицы пыли, диаметр которых
более 0,3 мкм.
При включении питания и достижении некоторой критической скорости
вращения шпинделя аэродинамическая подъемная сила воздуха становится
достаточной для преодоления силы прижима головок к поверхности дисков. В
результате головки поднимаются («всплывают») над поверхностями дисков на
высоту от долей до единиц микрометра. С этого момента времени и до
снижения скорости ниже критической головки «висят» на воздушной подушке и
не касаются поверхностей дисков.
Во время работы винчестера постоянно работает система слежения за
радиальным положением головок над дисками. Из непрерывно считываемого
сигнала выделяется сигнал рассогласования, который подается на схему
обратной связи. Если головки отклоняются от середины дорожки, то мгновенно
возникает управляющий сигнал, стремящийся с помощью специальных
устройств вернуть их на место.
Кроме несъемных винчестеров конструкторами разработаны накопители
со сменными носителями. Эти конструкции позволяют извлечь диски из
компьютера и, с целью сохранения конфиденциальности, унести их на ночь
домой или положить в сейф. При разработке этого ВЗУ разработчикам
пришлось решить сложную инженерную задачу: создать герметичный узел с
жестким диском, который можно переносить в дипломате.
Еще одна оригинальная конструкторская идея заложена в накопитель
Бернулли (Bernoulli). Воздушные потоки, возникающие вследствие вращения
гибкого диска Бернулли, вызывают изгиб части поверхности диска,
находящейся под головкой. Однако диск не соприкасается с головкой, и между
ними остается небольшой, достаточно стабильный зазор, который
обеспечивается потоками воздуха. Уравнения для описания подобных
процессов, происходящих в газах, вывел швейцарский математик Даниил
Бернулли (1700 — 1782).
Всякое нарушение нормальных условий работы накопителя Бернулли
(например, появление загрязнения на поверхности диска) приводит к тому, что
диск отклоняется от головки. Вращающийся диск практически не может
соприкоснуться с головкой, благодаря чему накопитель обладает высокой
стойкостью к износу. Использование рассмотренного явления значительно
ослабляет проблему герметизации переносимых дисков.
Фирма Iomega выпустила накопитель Zip, который, возможно, станет
основным накопителем на гибких дисках в ЭВМ следующего поколения. На
сменных дисках накопителя Zip помещается 100 Мбайт информации. Сам
носитель имеет гибкую основу и, по некоторым данным, частично использует
эффект Бернулли.
Аналогичную задачу решают флоптические диски. Они выглядят так же,
как и обычные 3,5-дюймовые магнитные диски, но позволяют записывать до
120 Мбайт информации. Во флоптических дисководах используется обычная
магнитная запись, однако позиционирование головки осуществляется с
помощью лазера.
Производительность диска зависит от следующих величин: времени
доступа и скорости передачи данных.
Время доступа — это время, необходимое для позиционирования
(перемещения) головок на соответствующую дорожку и ожидания нужного
сектора. Характерное среднее время перемещения головки между двумя
случайно выбранными дорожками лежит в диапазоне 8 — 20 мс. Время
перехода головок на соседнюю дорожку (можно сказать, на соседний цилиндр)
значительно меньше и обычно составляет 2 мс. Чтобы нужный сектор
повернулся до совмещения с головкой, требуется некоторое время. После этого
данные могут быть записаны или считаны. Для современных дисков время их
полного оборота лежит в пределах 8—16 мс, а среднее время ожидания сектора
составляет 4—8 мс.
С помощью скорости передачи данных (трансфер) можно оценить
время передачи последовательно расположенных данных из винчестера.
Максимальное значение этой величины достигает 80 Мбайт/с.
Накопители на магнитной ленте в настоящее время используются для
резервного копирования данных. Наиболее ценная информация с целью ее
долговременного хранения записывается на магнитную пленку. Носителем
информации является лавсановая лента, на которую нанесено магнитное
ферролаковое покрытие.
Стример относится к накопителям на магнитной ленте, в которых запись
информации происходит на кассету с магнитной пленкой. Стример позволяет
освободить место на винчестере за счет того, что на него переписывается редко
используемые программы и данные. Порой в качестве стримера используют
обычный видеомагнитофон. Для этого компьютер должен быть укомплектован
специальной платой — «АрВид».
Наиболее популярными в настоящее время являются накопители НМЛ,
использующие технологию спирального сканирования. В отличие от
традиционных НМЛ со стационарными головками и продольной записью
информации, эти устройства осуществляют чтение и запись данных на
медленно двигающуюся магнитную ленту с помощью головок, размещаемых на
быстро вращающемся барабане. При этом дорожки пересекают ленту с края на
край, и расположены под небольшим углом к направлению, перпендикулярному
направлению движения ленты. Иногда эту технологию называют поперечной
записью. На сегодняшний день подобные устройства дают наивысшую
поверхностную плотность записи.
По способу организации записи и считывания оптические диски могут
быть разделены на три класса: только для чтения (Read Only), с однократной
записью и многократным считыванием (Write Once Read Many) и с
многократной перезаписью информации (Erasable).
В основе записи информации с помощью лазера лежит модуляция
интенсивности излучения лазера дискретными значениями 0 и 1. Излучение
достаточно мощного лазера оставляет на поверхности диска метки, вызванные
воздействием луча на металл. Поверхность диска предварительно покрывается
тонким слоем металла — теллура.
При записи логической единицы луч прожигает в пленке теллура
микроскопическое отверстие. Если единицы следуют одна за другой, то за счет
вращения диска во время записи отверстие оказывается вытянутым вдоль
дорожки. Начинается запись с внутренних дорожек. Запись ведется с большой
Диск
Фотодетектор
Линза Отраженный
луч
Линза
Лазер Падающий
луч
Зеркало
Делитель луча
плотностью — 630 дорожек на миллиметр. Длина всей спиральной дорожки
около 5 км.
Таким способом изготавливается первичный «мастер-диск», с которого
затем производится тиражирование всей партии дисков методом литья под
давлением. Полученные копии «мастер-диска» называют порой лазерными
дисками, хотя более точное название — оптические диски.
При считывании информации с оптического диска луч считывающего лазера
отражается от поверхности диска, кроме мест, выжженных записывающим
лучом. Отраженные лучи с помощью оптической системы, состоящей из призм
и линз, направляются на фотодетектор. Делитель луча отправляет отраженный
луч по отдельной траектории к фотодетектору. Напряжение на выходе
фотодетектора будет некоторым образом воспроизводить впадины и бугорки,
имеющиеся на оптическом диске.
Технология записи информации на перезаписываемые диски иная.
Рассмотрим одну из них.
Запись информации в магнитооптических накопителях осуществляется
на диск из стекла, содержащий магнитный слой из сплава тербия, железа и
кобальта. Этот сплав имеет низкую температуру Кюри (около 145°С).
Напомним, что температура Кюри — это такая температура, при которой
появляется возможность перемагнитить данный сплав. Свое название эта
температура получила в честь известного физика П. Кюри.
С помощью лазера нагревают небольшой участок диска до температуры
Кюри и прикладывают магнитное поле нужного направления. После остывания
данный участок запоминает направление намагниченности.
Для считывания данных используют эффект Керра, который
проявляется в изменении направления поляризации лазерного луча,
отраженного от намагниченной поверхности.
Проигрыватели (приводы) оптических дисков становятся самым
распространенным
внешним
запоминающим
устройством.
Первые
промышленные приводы обеспечивали скорость считывания 150 Кбайт/с.
Выбор этой скорости объясняется тем, что аудиодиски считываются именно с
этой скоростью. В дальнейшем появились устройства с 2-, 4-, …, 50-кратной
скоростью передачи данных (по отношению к 150 Кбайт/c). Оптические диски
позволяют записывать информацию с плотностью, которая на порядок
превышает плотность записи на магнитный носитель.
Перспективными являются оптические диски с высокой плотностью
записи DVD (Digital Video Disc). Информация на этих дисках может быть
размещена на одной либо на обеих сторонах, в одном либо в двух слоях.
Двухсторонние двухслойные диски позволяют хранить 17 Гбайт информации.
Информация на эти диски записывается в стандарте MPEG.
Расстояние между слоями в двухслойных дисках 40 мкм. Переключение
между слоями осуществляется фокусировкой лазера на требуемом расстоянии.
Двухсторонние диски склеиваются из двух отдельных дисков толщиной 0,6 мм.
Для доступа ко второй стороне диск необходимо переворачивать.
На один цифровой многофункциональный диск можно записать
двухчасовой видеофильм с качеством, сравнимым с профессиональным
телевизионным стандартом. Диски DVD позволяют воспроизвести звуковое
сопровождение на одном из 8 языков, причем для каждого языка предусмотрена
отдельная звуковая дорожка. Диск содержит 32 набора субтитров.
Электронная Flash-память позволяет переносить информацию с одной
ЭВМ на другую. Flash-память представляет собой микросхему, которая
подключается к компьютеру через порт. Отсутствие механических деталей (а
значит высокая надежность), малые габариты и большие объемы памяти
(несколько сотен мегабайт) делает этот вид памяти весьма популярным среди
пользователей.
4.2.6. Устройства ввода информации
Пользователь может управлять работой компьютера при помощи
различных устройств: клавиатуры, джойстика, трекбола, мыши, сенсорного
экрана, микрофона, светового пера и т. д. Перечисленные устройства относятся
к устройствам ввода информации.
Устройства ввода информации служат для преобразования информации,
поступающей с периферийных устройств, в цифровой вид.
Следующие устройства ввода информации: мышь, джойстик, трекбол,
трекпойнт, трекпад порой называют манипуляторами.
Самым известным устройством ввода информации является клавиатура.
Нагрузка на это устройство, пожалуй, наибольшая. Клавиатура проектируется
Диск 1
Светодиод 1
Шар
Диск 2
Светодиод 2
Фотодиод 2
Фотодиод 1
Направление X
Направление Y
таким образом, чтобы каждая клавиша выдерживала 30—50 миллионов
нажатий.
Мышью называют устройство, которое обеспечивает преобразование
своего положения на плоской поверхности стола в позицию курсора на экране
дисплея. Внешне мышь представляет собой коробочку, которая перемещается
по столу. Длинный кабель соединяет мышь с системным блоком.
На рисунке показана конструкция мыши.
Идея работы манипулятора состоит в преобразовании перемещений
мыши в электрические импульсы, формируемые с помощью светодиодов
(источники света) и фотодиодов (приемники света). При движении мыши в
направлении Х вращение шара передается диску 1. Диск 2 в это время не
вращается. Вращение диска 1 приводит к тому, что световой поток между
светодиодом 1 и фотодиодом 1 периодически перекрывается зубцами диска. На
выходе схемы, подключенной к фотодиоду, появляются электрические
импульсы, частота которых пропорциональна скорости перемещения мыши
(скорости вращения шара).
При движении мыши в направлении Y вращается диск 2, а диск 1
остается неподвижным. Это позволяет электрической схеме контроллера
распознавать направление движения мыши и синхронно с движением мыши
перемещать курсор по экрану дисплея.
Если мышь движется точно посередине между направлениями
(векторами) X и Y, то оба диска вращаются с одинаковыми скоростями.
Очевидно, что направление движения мыши может быть любым, при этом
отношения скоростей вращения дисков будут разными.
Работать с мышью удобно на специальном коврике, который улучшает
сцепление шарика с поверхностью стола. Порой коврик шутя называют
«подмышкой».
Кроме электромеханической мыши разработана оптическая мышь.
Она перемещается по специальному планшету, на поверхность которого
нанесена мелкая сетка из разноцветных перпендикулярных линий.
Специальный фотоэлектрический узел определяет направление и скорость
перемещения мыши. В этой конструкции нет механических частей, и ее
надежность выше.
Трекбол
(ручной
шаровой
манипулятор)
представляет
собой
устройство, в котором перемещение
курсора осуществляется вращением
шарика, частично выступающего над
плоской поверхностью. В результате
поворотов шарика оптические датчики
вырабатывают
импульсы,
соответствующие
скорости
и
направлению
вращения
шарика.
Трекбол —
это
перевернутая
электромеханическая мышь, в котором шар вращается рукой.
При выборе предметов (например, в магазине) человек порой показывает
на нужный объект пальцем. Именно таким образом вводится информация в
ЭВМ с помощью сенсорных экранов (СЭ).
По принципу действия СЭ разделяются на ультразвуковые,
фотоэлектрические, резистивные и емкостные экраны. Главная задача СЭ
состоит в определении координаты прикосновения пальца к экрану. Определив
координату, дальше можно с помощью меню управлять работой ЭВМ.
В ультразвуковых СЭ по краям экрана размещаются ультразвуковые
преобразователи (датчики), которые создают на поверхности экрана
акустические волны. Ультразвуковые колебания расходятся по стеклу монитора
подобно кругам на воде. Ультразвуковые преобразователи одновременно
выполняют функции передатчика и приемника акустических волн. Время
прохождения от передатчика до приемника постоянно, если акустическая волна
не наталкивается на какой-либо возмущающий объект (палец). Точку
прикосновения можно достаточно точно определить методом эхолокации путем
измерения времени прихода отраженных волн. Аналогично в аэропорту
радиолокатор определяет расстояние до самолета.
В фотоэлектрическом СЭ монитор освещается линейками светодиодов,
расположенными по нижнему и правому краям дисплея. С левой и верхней
сторон экрана установлены линейки фотодиодов. В результате образуется
матрица из световых лучей, затемнение которых позволяет определить
вертикальную и горизонтальную координаты прикосновения к экрану.
Емкостные СЭ представляют собой матрицу конденсаторов, которые
меняют свою емкость в месте прикосновения к экрану. В резистивных СЭ
измеряется электрическое сопротивление двух соприкасающихся пленок.
Световое перо представляет собой устройство в форме карандаша,
воспринимающее свет от люминофора дисплея. Чувствительным элементом
является фотодиод или фототранзистор. Подсчет числа строк растра позволяет
определить вертикальную координату, а отсчет времени от начала
формирования строки до момента срабатывания пера дает координату по
ПЗС
Уменьшающая
линза
Лампа
Копируемое
изображение
горизонтали. Для ввода рисунков сложной формы используется режим, при
котором под кончиком светового пера формируется светящаяся траектория
(контур).
Цифровые (графические) планшеты — диджитайзеры обеспечивают
перенос изображения с накладываемого листа бумаги в ЭВМ с помощью
перемещения по планшету специального указателя. Диджитайзеры позволяют
создавать чертежи сразу в электронном виде. Работа с графическим планшетом
аналогична рисованию карандашом. Особенно они удобны для формирования
штриховых рисунков и чертежей.
У графического планшета высокая разрешающая способность (свыше
2500 dpi против 200—400 dpi у мыши). Заметим, что символы dpi означают —
число точек на дюйм (dot per inch).
При контакте с поверхностью планшета указатель обретает
чувствительность к нажатию (256 уровней или градаций) и наклону
относительно плоскости планшета.
Ввод плоского изображения в ОЗУ обеспечивает сканер. Сканер
исключает утомительную процедуру введения текста с помощью клавиатуры и
формирование рисунка с помощью
мыши.
Полученную
копию
изображения можно редактировать:
изменять масштаб, добавлять и
удалять детали, изменять цвет и т. д.
Электронную копию изображения
можно длительное время хранить на
магнитном или оптическом носителе.
По своему конструктивному
исполнению сканеры бывают ручные,
планшетные,
барабанные,
проекционные и др.
На
рисунке
показана
упрощенная конструкция сканера.
Копируемое изображение освещается источником света (как правило,
флуоресцентная лампа). При этом луч света осматривает (сканирует,
разворачивает) каждый участок оригинала. Отраженный от бумажного листа
луч света через оптическую систему попадает на прибор с зарядовой связью
(ПЗС).
На поверхности ПЗС за счет сканирования формируется уменьшенное
изображение копируемого объекта. ПЗС осуществляет преобразование
оптической картинки в электрические сигналы.
ПЗС представляет собой матрицу (прямоугольную таблицу), которая
содержит большое число полупроводниковых элементов (например, 2000  2000
элементов), чувствительных к световому излучению. При этом в черно-белых
штриховых сканерах на выходе освещенных элементов с помощью контроллера
формируется сигнал логической единицы, а на выходе неосвещенных
элементов — сигнал логического нуля. Штриховые черно-белые сканеры
используются для копирования чертежей.
Существуют полутоновые черно-белые сканеры, в которых на выходе
каждого элемента ПЗС с помощью аналогово-цифрового преобразователя
формируется несколько (например, 256) оттенков (уровней) серого цвета. Эта
конструкция сканеров позволяет
копировать черно-белые фотографии
и рисунки.
В
цветных
сканерах
освещение
копируемого
изображения осуществляется либо
от трех разноцветных источников
света, либо от источника белого
света,
но
поочередно
через
трехцветный фильтр.
При цветном сканировании
происходит
формирование
изображения в полутоновом (сером)
режиме с различными фильтрами
или источниками света (красным,
синим, зеленым). Сигнал с выхода
каждого элемента ПЗС кодируется восьмью битами, что дает 256 оттенков
серого цвета. В результате такого преобразования можно получить более 16,7
миллионов возможных цветовых оттенков (24-битное кодирование, 3 цвета по 8
бит).
Существуют сканеры, разрешение которых составляет 600 1200 dpi.
Благодаря математической обработке изображения (интерполяции) можно
получить разрешение даже 1600 dpi.
Использование сканера совмещается с системами распознавания образов
типа OCR (Optical Character Recognition). Система OCR распознает считанные
сканером с документа мозаичные портреты символов (букв, цифр, знаков
препинания) и преобразует их в байты в соответствии с кодовой таблицей. За
счет системы OCR можно считывать машинописный и рукописный тексты.
Правда, в последнем случае привлекаются сложные алгоритмы распознавания
образов, основанные на теории искусственного интеллекта.
Ввод объемных изображений (зданий, автомобилей и т. д.) в ЭВМ
осуществляется с помощью цифровых камер.
В играх часто используется джойстик — рычаг, с помощью которого
можно направлять, например, самолет вправо, влево, вверх, вниз.
В будущем работой ЭВМ будут управлять преимущественно голосом, с
помощью микрофона.
4.2.7. Устройства вывода информации
После введения пользователем исходных данных компьютер должен их
обработать в соответствии с имеющейся программой и вывести полученные
результаты для восприятия их оператором или для использования
автоматическими устройствами.
Выводимая информация может отображаться на экране монитора,
печататься на бумаге (с помощью принтера или плоттера), воспроизводиться в
виде звуков (с помощью акустических колонок или головных телефонов),
регистрироваться в виде тактильных ощущений (технология виртуальной
реальности), распространяться в виде управляющих сигналов (устройства
автоматики), передаваться в виде электрических сигналов по сети.
Наиболее распространенными устройствами вывода информации
являются мониторы (дисплеи). Подавляющее большинство мониторов для
формирования изображения используют электронно-лучевые трубки (ЭЛТ) или
жидкокристаллические матрицы. Причем в настоящее время происходит
постепенное вытеснение мониторов с ЭЛТ мониторами, использующими
жидкие кристаллы.
Существуют мониторы, основанные на других физических принципах:
плазменные, люминесцентные и др.
Например, мониторы, изготовленные по технологии FED (Field Emission
Display) базируются на эффекте создания эмиссии по всей поверхности экрана.
В отличие от ЭЛТ источником электронов является не отдельная точка
(электронная пушка), а целая излучающая поверхность. Облучение
производится через маску, в которой число отверстий равно числу пикселей. За
счет такой конструкции удается получить яркость изображения такую же, как у
мониторов с ЭЛТ, а габариты (толщину)- как у жидкокристаллических
мониторов.
Перспективной считается новая технология изготовления мониторов —
OLED (Organic Light Emitting Diodes). Конструкция этих мониторов основана
на использовании органических светоизлучающих диодов.
Принтеры, в зависимости от порядка формирования изображения,
подразделяются на последовательные, строчные и страничные. Принадлежность
принтера к той или иной группе зависит от того, формирует ли он на бумаге
символ за символом или сразу всю строку, а то и целую страницу.
По физическому принципу действия принтеры делятся на следующие
типы: термографические, лепестковые (ромашковые), матричные (игольчатые),
струйные и лазерные.
Конструкция первых двух типов принтеров морально устарела, и они
практически уже не используются.
В матричных принтерах изображение формируется из точек ударами
иголок по красящей ленте. Под действием управляющих сигналов,
поступающих на электромагниты, иголки «выколачивают» краску из ленты,
оставляя следы на бумаге. В зависимости от конструкции печатающая головка
матричного принтера может иметь 9, 18 или 24 иголки. Все символы
формируются из отдельных точек.
Печатающие головки струйных принтеров вместо иголок содержат
тонкие трубочки — сопла, через которые на бумагу выбрасываются капельки
чернил. Печатающая головка струйного принтера содержит от 12 до 64 сопел,
диаметры которых тоньше человеческого волоса.
Известно несколько принципов действия струйных печатающих
головок.
В одной из конструкций на входном конце каждого сопла расположен
маленький резервуар с чернилами. Позади резервуара располагается
нагреватель (тонкопленочный резистор). Когда резистор нагревается
проходящим по нему током до температуры 500°С, окружающие его чернила
закипают, образуя пузырек пара. Этот расширяющийся пузырек выталкивает из
сопла капли чернил диаметром 50—85 мкм со скоростью около 700 км/ч.
В другой конструкции печатающей головки источником давления служит
мембрана, приводимая в движение пьезоэлектрическим элементом. Подача
электрического напряжения на пьезоэлемент вызывает его деформацию,
которая используется для распыления чернил.
Во всех конструкциях принтеров электромеханические устройства
перемещают печатающие головки и бумагу таким образом, чтобы печать
происходила в нужном месте.
В лазерных принтерах используется электрографический принцип
создания изображения. Процесс печати включает в себя формирование
невидимого рельефа электростатического потенциала в слое полупроводника с
последующей его визуализацией. Визуализация (проявление) осуществляется с
помощью частиц сухого порошка — тонера, наносимого на бумагу. Тонер
представляет собой кусочки железа, покрытые пластиком. Наиболее важными
частями лазерного принтера являются полупроводниковый барабан, лазер и
прецизионная оптико-механическая система, перемещающая луч.
Лазер генерирует тонкий световой луч, который, отражаясь от
вращающегося
зеркала,
формирует
электронное
изображение
на
светочувствительном полупроводниковом барабане.
Поверхности барабана
предварительно
сообщается
некоторый
статический заряд. Для создания электростатического заряда используется сетка
Зеркало
Свет
Лазер
Ролик температурной
фиксации тонера
Прижимной
ролик
Бумага
Контейнер с тонером
Полупроводниковый
барабан
или тонкий провод. При подаче на провод высокого напряжения возникает
коронный разряд, в результате которого вокруг провода появляется светящаяся
ионизированная область пространства. За счет коронного разряда поверхность
барабана равномерно заряжается.
Для получения изображения на барабане лазер должен включаться и
выключаться в соответствии с формируемым изображением, что обеспечивается
схемой управления. Управляющие сигналы поступают из ЭВМ в соответствии с
хранящимся в памяти изображением. Вращающееся зеркало служит для
разворота луча лазера в строку, формируемую на поверхности барабана.
Когда луч лазера попадает на предварительно заряженный барабан, заряд
«стекает» с освещенной поверхности. Таким образом, освещаемые и
неосвещаемые лазером участки барабана имеют разный заряд. В результате
сканирования всей поверхности полупроводникового барабана на нем создается
скрытое (электронное, не видимое для человека) изображение.
Поворот барабана на новую строку осуществляет прецизионный
шаговый двигатель. Это смещение определяет разрешающую способность
принтера и может составлять, например, 1/300, 1/600 или 1/1200 дюйма.
Процесс развертки изображения на барабане во многом напоминает построение
изображения на экране монитора (создание растра).
На следующем этапе работы принтера происходит проявление
изображения, то есть превращение скрытого электронного изображения в
видимое изображение. При проявлении изображения используется следующее
физическое явление. Заряженные частицы тонера притягиваются только к тем
местам барабана, которые имеют противоположный заряд по отношению к
заряду тонера.
Когда видимое изображение на барабане построено, и он покрыт тонером
в соответствии с оригиналом, подаваемый лист бумаги заряжается таким
образом, что тонер с барабана притягивается к бумаге. Прилипший порошок
закрепляется на бумаге за счет нагрева частиц тонера до температуры
плавления. В результате этого формируется водоупорный отпечаток.
Цветные лазерные принтеры формируют изображение, последовательно
накладывая голубой, пурпурный, желтый и черный тонеры на
фоточувствительный барабан.
В четырехпроходном цветном принтере скорость печати существенно
меньше, чем у черно-белого принтера.
В однопроходном цветном принтере четыре картриджа с тонером
установлены в одной плоскости друг за другом, каждый рядом со своим
бараном. Все цвета наносятся за один проход вместо четырех, поэтому скорость
формирования изображения повышается.
Кроме лазерных принтеров, существуют так называемые LED-принтеры
(Light Emitting Diode), которые получили свое название из-за того, что
полупроводниковый лазер в них заменен «гребенкой» (линейкой) светодиодов.
В этом случае не требуется сложная механическая система вращения зеркала.
Изображение одной строки на полупроводниковом барабане формируется
одновременно.
В табл. 1 приведены характеристики принтеров различной конструкции.
Таблица 1
Тип принтера
Характеристики
Матричный
Струйный
Лазерный
Разрешающая
60—240
300—720
300—1200
способность, dpi
Производительность
2
1—8
4—16
(листов А4 в минуту)
Плоттеры (или графопостроители) — устройства вывода графической
информации. Плоттеры используют для оформления больших плакатов,
чертежей, географических карт, эскизов печатных плат, диаграмм, гистограмм.
Работа плоттера основана на механических и немеханических способах
вывода графической информации. При механическом способе применяются
карандаши, перья с чернилами. Аналогично принтерам в немеханических
графопостроителях применяются термический, матричный, струйный и
лазерный способы печати.
В качестве устройств, способных выполнять функции ввода и вывода
информации, могут использоваться коммуникационные адаптеры. С их
помощью осуществляют связь между ЭВМ по телефонной линии. Поскольку
пока еще телефонные сети работают чаще не с цифровыми, а с аналоговыми
электрическими сигналами звукового диапазона, необходимо преобразовать
цифровые сигналы, поступающие от ЭВМ, в аналоговые сигналы и передать их
в телефонную сеть. На другом конце телефонной линии необходимо
осуществить обратное преобразование. Эти преобразования выполняются
специальным устройством — модемом (от слов МОдулятор — ДЕМодулятор).
Модем выполняется либо в виде внешнего
устройства, которое одним выходом подсоединяется к
телефонной линии, а другим — к стандартному порту
компьютера, либо в виде обыкновенной платы (карты),
которая устанавливается на системную шину компьютера
(внутренний модем).
Вывод звуковой информации осуществляется с
помощью акустических колонок и головных телефонов,
которые подключаются через специальный адаптер
(контроллер, звуковую плату).
Существует несколько способов воспроизведения
звуков (в частности, музыкальных произведений).
Частотный способ (FM-синтез) воспроизведения звука
основан на имитации звука реальных инструментов, а
табличный способ (wave-table-синтез) оперирует записанными в памяти звуками
реальных инструментов.
Частотный синтез основывается на том, что для получения какого-либо
звука используются математические формулы (модели), которые описывают
спектр частот конкретного музыкального инструмента. Звуки, получаемые по
этой технологии, характеризуются металлическим оттенком.
Волновой синтез основан на использовании цифровой записи реальных
инструментов, так называемых семплов (samples). Семплы — это образцы
звучания различных реальных инструментов, хранящиеся в памяти звуковой
карты.
При воспроизведении звуков по технологии волнового синтеза
пользователь слышит звуки реальных инструментов, поэтому создаваемая
звуковая картина ближе к естественному звучанию инструментов.
Семплы могут храниться двумя способами: либо постоянно в ПЗУ, либо
загружаться в оперативную память звуковой карты перед их использованием.
Существует большой набор разнообразных семплов, что позволяет
формировать практически бесконечное разнообразие звуков.
4.2.7.1. Электронно-лучевые мониторы
Дисплей (монитор) является наиболее популярным устройством вывода
информации. Существуют монохромные (черно-белые) и цветные дисплеи.
Вначале рассмотрим принцип действия черно-белых мониторов.
Колба
Экран
Вертикальные
Основным узлом дисплея является
электронно-лучевая трубка (ЭЛТ). Порой
отклоняющие
для обозначения ЭЛТ используют аббревиатуру CRT — Cathode Ray Tube.
пластины
Одна из возможных
конструкций
ЭЛТ показана на рисунке.
Катод
Анод
Модулятор
Горизонтальные
отклоняющие
пластины
Поток
электронов
Растр
Перечислим основные детали, из которых состоит ЭЛТ: катод, анод,
модулятор,
горизонтальные
отклоняющие
пластины,
вертикальные
отклоняющие пластины, экран, колба.
Катод, анод и модулятор образуют электронный прожектор, который
иногда называют электронной пушкой. Горизонтальные и вертикальные
отклоняющие пластины образуют отклоняющую систему. Такая отклоняющая
система называется электростатической. Существуют магнитные отклоняющие
системы, в которых для изменения траектории движения электронного потока
вместо пластин используют катушки.
В ЭЛТ используется поток электронов, сфокусированных в узкий пучок,
управляемый по интенсивности и по положению в пространстве и
взаимодействующий с экраном трубки. Электронный пучок испускается
электронным прожектором (точнее, катодом), а изменение положения пучка на
экране производится отклоняющей системой.
Перемещение электронного луча по экрану ЭЛТ в соответствии с
определенным законом называется разверткой, а рисунок, прочерченный
следом пучка электронов на экране, — растром. Развертка осуществляется
подачей на отклоняющую систему ЭЛТ периодически изменяющихся
напряжений. В ходе развертки электронный пучок последовательно обегает по
строчкам поверхность экрана ЭЛТ.
В процессе формирования растра поток электронов движется по
зигзагообразной траектории от левого верхнего угла экрана к нижнему правому
углу.
1 На рисунке сплошными линиями показан растр, пунктирными линиями —
траектория движения электронного луча, на которой он «гасится» (делается
2
невидимым).
3
4
5
6
7
8
Экран покрыт люминофором, поэтому в местах падения электронного
пучка появляется свечение, яркость которого пропорциональна интенсивности
пучка. Интенсивность потока электронов изменяется в соответствии с
сигналами, подаваемыми на управляющий электрод — модулятор. Именно эти
сигналы формируют необходимое изображение на экране дисплея.
На рисунке показано в большом масштабе изображение буквы «И». В
данном случае для изображения буквы потребовалось восемь строк растра. На
следующем рисунке показаны временные диаграммы для управляющих
сигналов, подаваемых на модулятор. Высокий потенциал соответствует белым
участкам экрана, низкий – черным.
С помощью отклоняющей системы модулированный пучок электронов
развертывается в растр, высвечивая на экране строку за строкой, воспроизводя
таким образом изображение кадр за кадром. Благодаря инерционности зрения
человек видит на экране слитное, часто динамическое, изображение.
Любое изображение на экране монитора состоит из множества
дискретных точек, называемых пикселями (pixel — picture element).
Дисплей взаимодействует со своим адаптером, который может также
называться видеокартой, видеоадаптером или контроллером. Дисплей и адаптер
очень тесно связаны между собой и совместно определяют качество
изображения — разрешение, количество воспроизводимых цветов, скорость
регенерации (число кадров в единицу времени).
Разрешение зависит от размеров экрана и минимального элемента
изображения (так называемого «зерна», равного для лучших мониторов 0,24—
0,28 мм). Для 14-дюймовых мониторов разрешение обычно не более 800 600
элементарных точек (пикселей), для 15-дюймовых — 1024 768, для 21дюймовых — 1280 1024 точек.
Способность адаптера выводить на экран монитора изображение с
заданным разрешением и глубиной цвета (т. е. числом цветовых оттенков)
определяется объемом установленной оперативной памяти на плате адаптера.
Для отображения 16,7 миллиона оттенков цветов (24 бита на пиксель) нужно
установить в адаптер не менее 1,37 Мбайт памяти при разрешении 800 600
элементарных точек, 3,75 Мбайт при разрешении 1280 1024 и 5,49 Мбайт при
разрешении 1600 1200.
Для комфортного восприятия изображения, без утомляющего зрения
мерцания, нужны достаточно высокие частоты кадровой развертки
(рекомендуется не менее 85 Гц).
Принцип работы цветного монитора сходен с принципом действия
монохромного монитора, однако конструкция цветного монитора существенно
сложнее. Цветной дисплей содержит три электронные пушки с отдельными
схемами управления. Экран выполняется в виде мозаичной структуры
(прямоугольной матрицы), состоящей из зерен люминофора трех цветов
свечения: красного (Red), зеленого (Green) и синего (Blue). Зерна расположены
тройками (триадами) так, чтобы электроны каждой из трех пушек попадали
только на зерна «своего» цвета. Для обеспечения этого на пути движения
электронов устанавливают маски.
Принцип действия цветного дисплея базируется на физиологической
особенности зрения человека. Так, при одинаковой интенсивности свечения
трех разноцветных маленьких соседних зерен этот участок экрана
воспринимается как белая точка. Свечение соседних красного и зеленого зерен
воспринимается как желтая точка, а свечение синего и зеленого зерен дает
голубую точку и т. д. Изменяя интенсивность свечения трех основных цветов
(RGB), можно получить любой цвет или оттенок. Такой способ получения
любых цветов является одной из систем цветопередачи и назван RGB-системой
(по первым буквам соответствующих английских слов).
4.2.7.2. Жидкокристаллические мониторы
Жидкокристаллические мониторы (ЖКМ) обладают следующими
достоинствами: малая потребляемая мощность (в 2…3 раза меньше, чем у ЭЛТ),
отсутствие
рентгеновского
излучения,
статической
электризации,
геометрических искажений. У ЖКМ малые вес и габариты: толщина монитора
не превышает 5…6 см. Недостатками ЖКМ являются ограниченный угол
обзора, меньшие, чем у ЭЛТ контрастность и глубина цвета, существенная
неравномерность яркости в различных местах экрана. У ЖКМ наблюдается
большой процент брака при их производстве (наличие «мёртвых» пикселей). В
настоящее время это является основной причиной более высокой стоимости
ЖКМ по сравнению с мониторами на ЭЛТ.
В электронно-лучевых
трубках люминофор размещается в
определенных точках экрана, образуя матрицу. Поток электронов направляется
в эти точки с помощью непрерывных (аналоговых) управляющих сигналов,
поступающих на отклоняющую систему. Электронный луч последовательно
строчка за строчкой «обегает» все точки (пиксели) экрана и поочередно
изменяет интенсивность их свечения.
Полное изображение на экране ЭЛТ, полученное с участием всех
пикселей,
называется кадром. Чтобы получить иллюзию движущегося
изображения, очередные кадры должны быстро сменять друг друга (не менее
чем 25…30 раз в секунду). В ЭЛТ за время движения электронного луча от
начала кадра до его конца свечение первых возбужденных элементов матрицы
(люминофора) успевает несколько ослабнуть. Для уменьшения мерцания экрана
приходится увеличивать частоту смены (обновления) очередных кадров
(говорят: увеличивать частоту кадровой развертки). Частота кадровой развёртки
ЭЛТ должна быть не менее 85 Гц.
Принцип действия жидкокристаллического монитора существенно
отличается от принципа действия монитора с ЭЛТ. В ЖКМ используется
физический эффект изменения пространственного положения молекул
кристаллов под действием электрического поля. Так же, как в ЭЛТ, в ЖКМ
изображение формируется из большого числа точек (пикселей), которые
образуют прямоугольную матрицу. Однако в жидкокристаллической матрице
управление процессом формирования изображения идет цифровым способом. В
ЖКМ одновременно изменяется свечение всех элементов целой строки матрицы
(экрана). Мерцание ЖКМ принципиально меньше, чем дисплеев с ЭЛТ, так как
при формировании изображения обновляются только изменяющиеся пиксели.
Изображение статических картинок не требует обновления, поэтому в этих
случаях мерцаний экрана ЖКМ совсем нет.
Матрица ЖКМ (Liquid Crystal Display, LCD) сделана из вещества,
находящегося в жидком агрегатном состоянии, но обладающего свойствами
кристаллов. Под действием электрического поля жидкие кристаллы изменяют
свою пространственную ориентацию (поворачиваются) и этим варьируют
интенсивность проходящего света.
Монитор представляет собой многослойную конструкцию, которая
содержит поляризаторы 1 и 2, матрицу управляющих транзисторов, цветные
фильтры, стеклянные пластины, между которыми размещены жидкие
кристаллы.
Поляризатор 2
Кристаллы
Фильтры
Поляризатор 1
Транзисторы
Лампа
Цветное изображение формируется за счет использования фильтров трех цветов
(RGB). В цветных ЖКМ используется известный психофизический эффект:
комбинация красного, синего и зеленого цветов в разных пропорциях позволяет
получить любой цвет или цветовой оттенок.
Источник света (лампа) в ЖКМ располагается за экраном (за матрицей).
Заметим, что жидкокристаллический экран порой называют панелью. Изменяя
электрическое напряжение на отдельных элементах матрицы (транзисторах),
можно управлять степенью прохождения света от источника к наблюдателю
(пользователю).
Принцип действия ЖКМ основан на эффекте поляризации. Вначале
свет проходит через первый поляризационный фильтр (Поляризатор 1), который
характеризуется определенным углом поляризации. В ЖКМ установлен еще
один поляризатор (Поляризатор 2). В зависимости от угла поляризации второго
фильтра, свет будет либо полностью им поглощаться (если угол поляризации
второго фильтра перпендикулярен углу поляризации первого фильтра), либо
беспрепятственно проходить (если углы совпадают). Плавное изменение угла
поляризации проходящего света позволяет регулировать интенсивность
видимого (проходящего) света. Угол поляризации проходящего света изменяют
с помощью жидких кристаллов. Их ориентация в пространстве зависит от
величины управляющего напряжения, подаваемого на матрицу транзисторов.
Таким образом, изменяя управляющее напряжение на каждом
транзисторе матрицы, можно варьировать пространственное положение жидких
кристаллов в данной точке. Изменение пространственного положения
кристаллов приводит к изменению угла поляризации света в данной точке
экрана (а, значит, и к изменению интенсивности свечения данной точки экрана).
Дискретная конструкция ЖКМ позволяет, в принципе, обходиться без
аналого-цифрового преобразования, то есть работать непосредственно с
цифровыми сигналами. Очевидно, что такая конструкция более перспективна по
сравнению с устройствами, работающими с аналоговыми сигналами. Напомним,
что ЭЛТ является аналоговым устройством. Сигналы на отклоняющих
пластинах и модуляторе являются непрерывными. Для управления работой ЭЛТ
приходится трансформировать цифровой сигнал, сформированный ЭВМ, в
аналоговый сигнал. Однако всякое цифро-аналоговое преобразование
сопряжено с возникновением искажений и помех, усложнением конструкции
контроллеров.
4.3. Классификация ЭВМ
Число классификаций ЭВМ велико, и они постоянно обновляются и
совершенствуются. Однако мала вероятность появления такой исчерпывающей
классификации ЭВМ, как, например, созданная Д.И. Менделеевым
Периодическая таблица химических элементов, которая позволяет предсказать
свойства неизвестного науке химического элемента.
Компьютеры могут быть классифицированы по различным признакам, в
частности, по:
этапам создания и элементной базе (на электронных лампах,
транзисторах, микросхемах малой степени интеграции, микросхемах большой
степени интеграции);
размерам и вычислительной мощности (суперЭВМ, большие ЭВМ или
мейнфреймы, малые ЭВМ, микроЭВМ, портативные или
наколенные компьютеры — Lap Top, компьютерыблокноты — Note Book, электронные секретари — Hand
Help, карманные компьютеры — Palm Top);
принципу действия (АВМ, ЦВМ, ГВМ);
степени
доступности
(персональные
и
коллективные ЭВМ);
назначению (серверы и рабочие станции —
клиенты);
функциональным
возможностям
(универсальные,
проблемно-ориентированные
и
специализированные ЭВМ);
по числу потоков и команд (SISD, MISD, SIMD,
MIMD).
Дадим небольшие комментарии к каждой
классификации.
Лампа
Первая электронная вычислительная машина
была построена в середине 40-х годов ХХ столетия на
электронных вакуумных лампах. Для ЭВМ первого
поколения характерными чертами были большая потребляемая мощность и
невысокая надежность, вызванная частыми отказами электронных ламп. ЭВМ
второго поколения были построены на полупроводниковых элементах —
транзисторах.
ЭВМ третьего и четвертого поколений использовали соответственно
микросхемы малой и большой степени интеграции (эти микросхемы
отличались числом элементов, размещенных в одном корпусе, на одной
подложке).
В табл. 1 приведены характеристики ЭВМ, различаемых по размерам и
вычислительной мощности. Классификация по этим показателям наименее
устойчива. Размеры вычислительных средств постоянно уменьшаются, а
производительность (вычислительная мощность) постоянно растет.
Таблица 1
Параметр
СуперЭВМ
Производительность,
1000—10000
MIPS
ОЗУ, Мбайт
2000—10000
ВЗУ, Гбайт
500—5000
Разрядность, бит
64—128
Большие
ЭВМ
Малые ЭВМ МикроЭВМ
10—1000
1—100
1—100
64—10000
50—1000
32—64
4—512
2—100
16—64
4—256
0,5—10
16—64
В качестве единицы измерения производительности ЭВМ в табл. 1
указано число миллионов операций, выполняемых процессором за одну секунду
(MIPS).
Исторически первыми появились большие ЭВМ. Скорее это название
было связано с габаритами ЭВМ. Что касается производительности первых
машин, то по современным понятиям их возможности были чрезвычайно малы.
Появление в 70-х годах ХХ столетия малых ЭВМ было обусловлено, с
одной стороны, прогрессом в области микроэлектроники, а с другой —
неиспользованной избыточностью ресурсов больших ЭВМ для ряда
приложений. Малые ЭВМ используются чаще всего для управления
технологическими процессами предприятий. Они компактнее и дешевле
больших ЭВМ.
Изобретение микропроцессора привело к появлению в 70-х годах
ХХ столетия
еще
одного
класса
машин —
микроЭВМ.
Сейчас
микропроцессоры используются во всех классах ЭВМ. Наибольшую
популярность в настоящее время получили персональные микроЭВМ — ПЭВМ,
например, производства фирмы IBM с процессорами фирмы Intel — Pentium.
Вес самых малогабаритных переносных и карманных микроЭВМ
составляет всего 200—300 г.
Для решения сложных задач: прогнозирование метеообстановки,
управления
оборонными
комплексами и др. — были
I
разработаны наиболее сложные и
мощные машины — суперЭВМ.
D1
Создать
P1
высокопроизводительную
суперЭВМ
на
одном
I P1
микропроцессоре не удается из-за
F
ограничения
скорости
D2
распространения электромагнитных
P2
волн.
Поэтому
суперЭВМ
P1
проектируют
в
виде
I
многопроцессорных
SIMD
вычислительных систем (МПВС).
…
При
этом
одновременно
(параллельно) работает несколько
Dn
Pn
P1
тысяч процессоров, увеличивая тем самым суммарную производительность
системы.
МПВС имеют несколько разновидностей:
векторные МПВС, в которых все процессоры P одновременно
выполняют одну команду I над различными данными D — однократный поток
команд с многократным потоком данных — SIMD (Single Instruction Stream /
Multiple Data Stream);
конвейерные МПВС, в которых процессоры одновременно выполняют
разные операции I над последовательным потоком обрабатываемых данных D;
по принятой классификации такие МПВС относятся к системам с
многократным потоком команд и однократным потоком данных — MISD
I1
D
P1
In
I2
…
P2
F
Pn
MISD
(Multiple Instruction Stream / Single Data Stream);
матричные МПВС, в которых процессоры P одновременно выполняют
разные операции I над несколькими потоками обрабатываемых данных D —
многократный поток команд с многократным потоком данных — MIMD
(Multiple Instruction Stream / Multiple Data Stream).
I1
I2
In
…
D1
P1
P1
F
D2
…
P2
P1
…
MIMD
Dn
Pn
P1
Вероятно, здесь же уместно упомянуть традиционные для многих
пользователей ПЭВМ однопроцессорные SISD ЭВМ, которые по числу
обрабатываемых потоков команд и данных являются простейшими.
Аббревиатура SISD (Single Instruction Stream / Single Data Stream)
означает одиночный поток команд и одиночный поток данных. К этому классу
относятся машины фон-неймановского типа. В
таких машинах есть только один поток команд,
все команды обрабатываются последовательно
I
друг за другом и каждая команда инициирует
одну операцию с одним потоком данных.
F
D
Универсальные ЭВМ предназначены
P
для решения широкого класса научнотехнических задач и являются наиболее
сложными и дорогими машинами. Для
проблемно-ориентированных
ЭВМ
характерно ограничение машинных ресурсов
применительно к определенному классу задач. Такие ЭВМ используются в
автоматизированных системах управления технологическими процессами
(АСУТП), автоматизированных системах научных исследований (АСНИ),
системах автоматизированного проектирования (САПР), в автоматизированных
рабочих местах (АРМ). Специализированные ЭВМ служат для решения
узкого класса задач (или даже одной задачи), требующих многократного
повторения рутинных операций (например, продажа билетов на транспорте,
управление
коммутацией на автоматической телефонной станции,
статистическая обработка информации в измерительном приборе).
В цифровых вычислительных машинах (ЦВМ) информация
циркулирует в виде двоичных сигналов (кодов), с помощью которых
представляются буквы, числа, знаки препинания, математические символы,
управляющие сигналы, графические изображения, звуковые картины и т. д. Все
данные и команды в конечном счете заменяются сигналами двух уровней —
высокого и низкого, которые принято называть единицами и нулями.
В аналоговых вычислительных машинах (АВМ) электрические
сигналы имеют непрерывный характер. О результатах вычислений судят по
величине электрических напряжений на выходе операционных усилителей,
которые составляют основу АВМ.
Гибридные вычислительные машины (ГВМ) — это комбинированные
машины, которые работают с информацией, представленной и в цифровой, и в
аналоговой формах.
Сервер (Server) — компьютер, предоставляющий услуги другому
компьютеру — клиенту (рабочей станции). С помощью сервера другие
компьютеры получают доступ к базам данных, находящимся на сервере,
принтерам и факсам, подключенным к серверу. Среди компьютеров различают
почтовые серверы, серверы печати, файл-серверы и т. п.
Почтовые серверы служат для организации электронной почты. Именно
на жестких дисках таких серверов создаются почтовые ящики, куда приходят
сообщения для пользователей.
К серверам печати подключены принтеры, и они предоставляют услуги
для других компьютеров, пользователи которых распечатывают свои
документы с помощью серверов печати.
Файл-серверы являются хранилищами информации (файлов). По запросу
клиентов они пересылают необходимые файлы, которые хранятся на жестком
диске. Существуют серверы приложений, которые, по запросу клиентов
выполняют некоторую программу, а клиенту отсылают только результаты.
В заключение еще раз отметим, что рассмотренные классификации в
известной мере условны, так как границы между группами ЭВМ размыты и
очень подвижны во времени.
5. Системное программное обеспечение
5.1. Понятие об операционной системе
Операционная система (ОС) — комплекс программ, обеспечивающих
поддержку работы аппаратных средств ЭВМ, сетей и всех программ.
При включении питания компьютера в первую очередь в ОЗУ
загружается часть операционной системы, под управлением которой
происходит проверка работоспособности и вся последующая работа ЭВМ.
Завершается работа ЭВМ также под управлением ОС.
Программы, написанные для решения практических задач, называют
прикладными. Системными называют программы, которые осуществляют
организацию вычислительного процесса и распределение ресурсов ЭВМ
(процессорного времени, оперативной памяти, дискового пространства и т.п.).
ОС представляет собой комплекс взаимодействующих системных программ.
Каждая системная программа выполняет свою определенную функцию.
Так, системные программы — утилиты — предназначены для выполнения
часто повторяющихся операций, например: форматирование магнитных дисков,
дефрагментация дисков, архивация файлов, восстановление случайно
удаленных файлов, поиск и удаление вирусов и т. д.
Драйверы — системные программы, обеспечивающие работу принтеров,
дисководов, дисплеев, клавиатуры и т. п. Слово «драйвер» происходит от
английского слова driver — шофер, водитель.
При выполнении на ЭВМ различных программ пользователю приходится
многократно выполнять типичные операции, которые одинаковы для многих
прикладных и системных программ. К таким операциям, в частности, относятся:
запись, поиск, считывание, копирование, перемещение и удаление файлов.
Так, чтобы считать файл с жесткого диска, необходимо найти в таблице
размещения файлов (FAT) его описание, определить, где он находится на
жестком диске (определить дорожку, сектор), подвести считывающую головку к
нужной позиции, считать данные в определенное место ОЗУ.
ОС стремится создать пользователю наиболее комфортные условия при
выполнении подобных типичных, часто повторяемых операций. Если говорить
образно, то операционная система — это слуга, который заботится об удобствах
своего хозяина-пользователя.
Операционные системы классифицируются по:
 количеству
одновременно
работающих
пользователей
на
однопользовательские и многопользовательские ОС;
 числу задач, одновременно выполняемых под управлением ОС, на
однозадачные и многозадачные;
 количеству используемых процессоров на однопроцессорные и
многопроцессорные;
 разрядности процессора на 8-разрядные, 16-разрядные, 32-разрядные,
64-разрядные;
 типу пользовательского интерфейса на командные (текстовые) и
объектно-ориентированные (графические);
 способу использования аппаратных и программных ресурсов на
сетевые и локальные.
Главным отличием многопользовательских ОС от однопользовательских
является наличие средств защиты информации каждого пользователя от
несанкционированного доступа других пользователей. Каждому пользователю
выделяется свой сегмент оперативной памяти.
В многозадачном режиме каждой задаче (программе, приложению)
поочередно выделяется какая-то доля процессорного времени. Поскольку
процесс переключения идет очень быстро, а выделяемые задачам доли
процессорного времени достаточно малы, то у пользователя создается
впечатление одновременного выполнения сразу нескольких задач.
Можно одновременно запустить на счет математическую систему,
включить принтер для печати текста, запустить проигрыватель музыкальных
произведений, вести поиск вирусов и рисовать в графическом редакторе или
раскладывать пасьянс. Заметить замедление работы ЭВМ можно будет,
пожалуй, лишь по «притормаживанию» воспроизведения видео- и аудиофайлов
на компьютерах с «медлительными» процессорами.
Различают вытесняющую и невытесняющую многозадачность.
При работе ЭВМ важнейшим разделяемым ресурсом является
процессорное время. Распределение процессорного времени между несколькими
одновременно выполняемыми программами может осуществляться двумя
способами
При невытесняющей многозадачности активный процесс выполняется до
тех пор, пока он сам, по собственной инициативе, не отдаст управление
операционной системе для того, чтобы та выбрала из очереди другой готовый к
выполнению процесс.
При вытесняющей многозадачности решение о переключении процессора
с одного процесса на другой процесс принимается операционной системой, а не
самим активным процессом.
Многозадачные ОС подразделяются на три типа в соответствии с
использованными при их разработке критериями эффективности:
 системы пакетной обработки;
 системы разделения времени;
 системы реального времени.
Системы пакетной обработки предназначались для решения задач в
основном вычислительного характера, не требующих быстрого получения
результатов. Главной целью систем пакетной обработки является решение
максимального числа задач в единицу времени. Для достижения этой цели в
системах
пакетной
обработки
используется
следующая
схема
функционирования.
В начале работы формируется пакет заданий (мультипрограммная смесь).
В мультипрограммной смеси желательно одновременное присутствие
вычислительных задач и задач с интенсивным вводом-выводом информации.
Выбор нового задания из пакета заданий зависит от внутренней ситуации,
складывающейся в системе, т. е. выбирается «выгодное» для ОС задание.
Следовательно, в таких ОС невозможно гарантировать выполнение того или
иного задания в течение определенного периода времени.
Взаимодействие пользователя с вычислительной машиной, на которой
установлена ОС пакетной обработки, сводится к тому, что пользователь
приносит задание, отдает его диспетчеру-оператору, а в конце дня получает
результат. Очевидно, что такой порядок снижает эффективность работы
пользователя.
ОС разделения времени позволяют исправить основной недостаток
систем пакетной обработки — изоляцию пользователя от процесса выполнения
его задач. Каждому пользователю системы разделения времени предоставляется
терминал, с которого он может управлять вычислительным процессом. Так как в
системах разделения времени каждой задаче выделяется только квант
процессорного времени, ни одна задача не занимает процессор надолго и время
ответа оказывается приемлемым. Если квант выбран достаточно малым, то у
всех пользователей, одновременно работающих на одной и той же ЭВМ,
складывается впечатление, что каждый из них единолично использует машину.
Операционные системы разделения времени обладают меньшей
пропускной способностью, чем системы пакетной обработки, так как на
выполнение принимается каждая запущенная пользователем задача, а не та,
которая «выгодна» операционной системе, и, кроме того, имеются накладные
расходы на более частое переключение процессора с задачи на задачу.
Критерием эффективности систем разделения времени является не
максимальная пропускная способность ЭВМ (скорость обработки информации),
а удобство и эффективность работы отдельного пользователя.
Системы реального времени применяются для управления различными
техническими объектами, такими, например, как конвейер, станок, робот,
космический аппарат, научная экспериментальная установка, гальваническая
линия, доменная печь, автомат для контроля качества выпускаемой продукции и
т. п. Во всех этих случаях существует предельно допустимое время, в течение
которого должна быть выполнена та или иная программа, управляющая объектом.
Говорят так: «Система должна иметь гарантированное время реакции, т. е.
задержка ответа не должна превышать определенного времени». В противном
случае может произойти авария: спутник выйдет из зоны видимости,
экспериментальные данные, поступающие с датчиков, будут потеряны, толщина
гальванического покрытия не будет соответствовать норме, бракованные изделия
попадут в приемник годной продукции.
Таким образом, критерием эффективности для систем реального времени
является их способность выдерживать заранее заданные интервалы времени
между запуском программы и получением результата (управляющего
воздействия).
Наибольшую известность получили следующие ОС: СР/M, MS-DOS,
OS/2, Windows, UNIX и MacOS (для компьютеров Macintosh фирмы Apple).
В качестве примера однопользовательских однозадачных ОС можно
назвать CP/M, MS-DOS, однопользовательских многозадачных — OS/2,
Windows. Операционная система UNIX является многопользовательской
многозадачной
ОС.
Операционная
система
РАФОС
является
многопользовательской однозадачной.
Современные ОС содержат множество системных программ и по этой
причине часто занимают на диске больше места, чем прикладная программа,
которая использует сервис, предоставляемый ОС.
Первоначальный успех ОС СР/М в значительной степени был
обусловлен ее предельной простотой и компактностью. Первая версия занимала
всего 4 Кбайта. Компактность была весьма важна в условиях ограниченных
объемов памяти первых персональных ЭВМ (ПЭВМ). Данная ОС
использовалась для работы на 8-разрядных ПЭВМ.
Операционная система MS-DOS является промышленным стандартом
для 16-разрядных ЭВМ на основе микропроцессоров 8086...80486. Все
программы MS-DOS хранятся на магнитных дисках, поэтому она называется
дисковой операционной системой (Disk Operating System). Буквы MS
являются сокращением названия фирмы-разработчика Microsoft. Было
выпущено несколько модификаций этой ОС, поэтому можно говорить о целом
семействе операционных систем MS-DOS.
В MS-DOS входят следующие основные модули (достаточно
самостоятельные системные программы).
1. Базовая система ввода/вывода (БСВВ), которая осуществляет
автоматический контроль работоспособности основных узлов ЭВМ при
включении питания. БСВВ часто обозначается латинскими буквами BIOS, что
является аббревиатурой аналогичного английского названия Basic Input/Output
System.
В БСВВ размещаются программы (драйверы), управляющие работой
стандартных устройств ЭВМ: дисплея, клавиатуры, жестких дисков, принтера.
2. Блок начальной загрузки, предназначенный для считывания с
системного диска в ОЗУ остальных модулей MS-DOS.
3. Модуль расширения базовой системы ввода/вывода, который
позволяет расширять функции, заложенные в BIOS. Модуль позволяет
дополнить BIOS другими драйверами, предназначенными для работы с новыми
устройствами. Подключение дополнительных драйверов внешних устройств
осуществляется с помощью файлов config.sys и autoexec.bat.
4. Модуль обработки прерывания. Напомним, что прерыванием
называется такой режим работы процессора, когда по запросу внешнего
устройства кратковременно прекращается выполнение основной программы и
происходит обслуживание внешнего устройства. По окончании обслуживания
вновь продолжается выполнение основной программы.
5. Командный процессор — программа, которая размещается в файле
command.com. Она осуществляет прием команд с клавиатуры, выполняет
встроенные команды MS-DOS, загрузку и исполнение прикладных и системных
программ, а также запуск файла autoexec.bat.
MS-DOS является командной (текстовой) ОС. Это означает, что для
выполнения необходимых операций следует набрать с помощью клавиатуры
соответствующую команду. Такой ввод неудобен и приводит к возникновению
большого числа ошибок.
Для облегчения работы с помощью дисковой операционной системы
разработаны графические надстройки, которые называются операционными
оболочками. Наибольшей популярностью в России пользуются Norton
Commander, DOS Navigator и Volkov Commander.
Семейство операционных систем OS/2 (Operating System/2) позволяет
организовать параллельную работу нескольких прикладных программ.
Операционная система работает в режиме вытесняющей многозадачности.
При этом система жестко выделяет
определенное время для работы
каждого приложения.
Эта операционная система,
разработанная фирмой IBM, является
ближайшим конкурентом для ОС MS
Windows, разработанной фирмой
Microsoft.
Достоинством
операционных систем семейства MS
Windows
является
унифицированный
пользовательский
интерфейс
(оболочка), благодаря которому в различных программах сохраняются
одинаковые принципы управления их работой. Эта ОС обеспечивает
возможность выполнения одновременно нескольких задач. При этом
пользовательский интерфейс каждой программы размещается в отдельной
прямоугольной области, которая называется окном. На рисунке показано три
открытых окна. В первом окне размещена панель управления, во втором —
проводник, а в третьем — текстовый редактор.
Окна можно перемещать по экрану, изменять размеры, накладывать друг
на друга или уменьшать до размера графического значка (пиктограммы или
ярлыка).
Унификация пользовательского интерфейса (оболочки) программ,
работающих под управлением этой ОС, значительно упрощает освоение новых
программ. Например, нажатие клавиши F1 вызывает помощь, а одновременное
нажатие клавиш Alt и F4 приводит к завершению (закрытию) работы
программы.
Назначение многих кнопок пользовательского интерфейса интуитивно
понятно благодаря выразительному графическому обозначению. Заметим, что
почти каждую операцию с помощью ОС MS Windows можно выполнить
несколькими различными способами.
При создании операционной системы семейства Windows фирма
Microsoft использовала объектно-ориентированный подход. На уровне
пользователя объектно-ориентированный подход выражается в том, что
интерфейс представляет собой подобие реального мира, а работа с ЭВМ
сводится к действиям с обычными объектами. Так, папки можно открывать,
закрывать, перемещать, убирать в портфель. Документы можно просматривать,
исправлять, перекладывать с одного места на другое, уничтожать или
выбрасывать в корзину.
В ОС MS Windows заложен принцип — WYSIWYG (What You See Is
What You Get — что видите, то и получаете), за счет которого на принтере
формируется такое же изображение, как и на экране дисплея. При работе в DOS
вид текста на экране монитора и отпечатанного на принтере может оказаться
разным. Это зависит от выбранного на принтере шрифта.
Другой удачный принцип — Plug and Play (вставь и играй, точнее,
подключи и используй) позволяет без ручной настройки подключать новые
устройства к ЭВМ, например, принтер или лазерный проигрыватель.
Англоязычный термин Plug and Play по-русски произносится плаг энд плэй. ОС,
поддерживающая этот принцип, автоматически подбирает драйвер,
необходимый для работы нового подключенного к ЭВМ устройства.
В Windows используется технология Drag and Drop (перетащи и
положи). Благодаря технологии Drag and Drop легко изменить положение
любого окна и его размеры. Для удаления некоторого документа по этой
технологии достаточно с помощью мыши взять пиктограмму (компактное
графическое изображение приложения) и, перетащив, положить ее поверх
мусорной корзины. Аналогично запускается музыкальное произведение:
графическое изображение файла нужно положить поверх графического
изображения проигрывателя.
На рисунке показаны три пиктограммы и два ярлыка (на ярлыках
присутствует изображение стрелки). С помощью пиктограмм и ярлыков легко
запускать программы на выполнение. Пиктограммы и ярлыки принято называть
общим термином «значки».
В Windows можно составлять документы из частей, которые готовятся в
различных приложениях. Для связывания и внедрения документов используется
технология OLE (Object Linking and Embedding), что означает «связывание и
внедрение объектов».
При работе в операционной системе Windows программы принято
называть приложениями. В документ, подготовленный в текстовом редакторе,
можно вставить рисунок, созданный в графическом редакторе. При этом
достаточно дважды щелкнуть мышью по рисунку, чтобы вызвать графический
редактор и сделать нужные исправления. Создается впечатление, что текстовый
редактор снабжен дополнительными возможностями графического редактора.
Безусловно, уровень сервиса операционных систем семейства OS/2 и MS
Windows значительно выше уровня MS-DOS. Однако за облегчение работы
приходится платить большими затратами на аппаратное обеспечение:
увеличивать объем ОЗУ, винчестера, повышать быстродействие процессора.
Для установки Windows 2000 требуется 650 Мбайт свободного пространства на
жестком диске и ОЗУ объемом 32—128 Мбайт.
Главными отличительными чертами ОС UNIX является ее модульность,
легкая переносимость на другие типы ЭВМ и обширный набор системных
программ, которые позволяют создать благоприятную обстановку для
системных программистов, т. е. для тех специалистов, основной задачей
которых является разработка новых системных программ. Данная ОС
органически сочетается с языком Си, на котором написана основная часть
модулей. Операционная система UNIX давно побила все рекорды долголетия.
Система была разработана в 1969 г. и быстро завоевала большую
популярность, особенно среди телефонных компаний, поскольку обеспечивала
работу в сети в режиме диалога и в реальном масштабе времени. Авторами
UNIX являются Кен Томпсон (Ken Thompson) и Дэннис Ричи (Dennis M.
Ritchie).
К началу 1984 г. система UNIX была уже инсталлирована (т. е.
установлена) приблизительно на 100 000 машин по всему миру, причем на
машинах разных изготовителей с широким диапазоном вычислительных
возможностей — от микропроцессоров до больших ЭВМ.
Популярность и успех системы UNIX объясняется несколькими
причинами:
— система написана на языке высокого уровня, благодаря чему ее легко
читать, понимать, изменять и переносить на другие машины. По оценкам,
сделанным Дэнисом Ричи, первый вариант операционной системы на языке Си
имел на 20—40 % больший объем и работал медленнее по сравнению с
вариантом на языке Ассемблера, однако преимущества использования языка
высокого уровня намного перевешивают недостатки;
— система является многопользовательской, многозадачной; каждый
пользователь может одновременно выполнять несколько процессов;
— архитектура машины скрыта от пользователя, благодаря этому
облегчен процесс написания программ, работающих при различных
конфигурациях аппаратных средств.
Сетевые операционные системы предназначены для эффективного
решения задач распределенной обработки данных. Такая обработка ведется не
на отдельном компьютере, а на нескольких компьютерах, объединенных сетью.
Сетевые операционные системы поддерживают распределенное выполнение
процессов, их взаимодействие, обмен данными между ЭВМ, доступ
пользователей к общим ресурсам и другие функции, которые превращают
распределенную в пространстве систему в целостную многопользовательскую
систему.
Все сетевые операционные системы делятся на две группы:
одноранговые ОС и ОС с выделенными серверами.
В одноранговых сетях каждая ЭВМ может выполнять как функции
сервера, так и рабочей станции, а в сетях с выделенными серверами роли
расписаны более жестко: рабочие станции не предоставляют свои ресурсы для
других ЭВМ. Услуги предоставляют только серверы.
Перечислим несколько популярных сетевых операционных систем.
До недавнего времени наиболее широко используемыми были различные
версии операционной системы Netware, разработанные фирмой Novell. Фирма
Novell была основана в 1983 г. и является крупнейшим в мире поставщиком
сетевого программного обеспечения.
К одноранговым операционным системам можно отнести NetWare Lite и
Personal NetWare, а к ОС с выделенным сервером — NetWare 2.2, NetWare 3.12,
NetWare 4.0 и NetWare 5.0.
Фирма Microsoft выпустила несколько версий сетевых операционных
систем: Windows NT 3.51 и 4.0, Windows 2000.
Центральное место среди сетевых операционных систем занимает UNIX.
Большая популярность пришла к UNIX в 1983 г., когда появилась версия
4.2BSD, имевшая сетевые средства TCP/IP, что позволяло использовать эту
систему для работы в глобальной сети ARPANET.
Классическая ОС UNIX дала жизнь многочисленным своим потомкам,
число которых превышает несколько десятков (AIX, SCO, HP-UX, IRIX, Solaris,
Linux и др.).
Linux — свободно распространяемая версия операционной системы
UNIX для платформ x86, Motorola 68k, Digital Alpha, Sparc, Mips и Motorola
PowerPC. В Linux не используется никаких частей программного обеспечения,
принадлежащих каким-либо коммерческим организациям. По этой причине она
получила достаточно широкое распространение.
Первая версия ОС Linux была разработана в 1991 г. Т. Линусом
(Финляндия), а затем в ее разработке участвовало большое число людей из
разных частей мира. Последние версии являются продуктами коллективного
творчества большого числа программистов.
Корни практически всех ранних отечественных диалектов ОС UNIX
ведут к UNIX V6.
В начале 80-х годов ХХ века начались работы в Институте атомной
энергии им. И. В. Курчатова (КИАЭ). В шутку диалект КИАЭ получил название
УНАС (в противовес UNIX, т. е. У НИХ). В состав разработчиков входили
Алексей Руднев, Валерий Бардин, Сергей Аншуков.
В 1982 — 1983 г.г. другой коллектив из Института прикладной
кибернетики (ИПК) Минавтопрома стал заниматься иным диалектом — МНОС
(машинно-независимая операционная система). Руководителем работ был
Михаил Давидов, а костяк команды составили Вадим Антонов, Дмитрий
Володин и Сергей Леонтьев.
Результатом объединения коллективов стало рождение ОС ДЕМОС
(Диалоговой единой мобильной операционной системы), которая помимо
отечественных аналогов вычислительной машины PDP-11 (СМ-4, СМ-1420)
была перенесена на ЕС ЭВМ и «Эльбрус». В 1987 г. был образован кооператив
«Демос». Через пять лет, в 1992 г., коллектив разделился, и появились на свет
известные сейчас компании «Релком» и «Демос».
Как и многое в мире бизнеса, развитие ОС идет в условиях острой
конкуренции, и здесь можно выделить две наиболее мощные сетевые ОС:
UNIX и Windows NT.
О динамике изменения спроса на операционные системы говорят
следующие цифры. В 1997 г. продажи рабочих станций с установленной
операционной системой Windows NT возросли на 80%, а продажи станций с ОС
UNIX упали на 7 %.
5.2. Методы архивации
.
Несмотря на то, что объемы внешней памяти ЭВМ постоянно растут,
потребность в архивации не уменьшается. Это объясняется тем, что архивация
необходима не только для экономии места в памяти, но и для надежного
хранения копий ценной информации, а также для быстрой передачи
информации по сети на другие ЭВМ.
Кроме того, возможность отказа магнитных носителей информации,
разрушающее действие вирусов заставляют пользователей делать резервное
копирование ценной информации на другие (запасные) носители информации.
Процесс записи файла в архивный файл называется архивированием
(упаковкой, сжатием), а извлечение файла из архива — разархивированием
(распаковкой). Упакованный (сжатый) файл называется архивом.
Архивация информации — это такое преобразование информации, при
котором объем файла уменьшается, а количество информации остается
прежним.
Степень сжатия информации зависит от содержимого файла, а также от
выбранного метода архивации. Степень (качество) сжатия файлов
характеризуется коэффициентом сжатия Kc, определяемым как отношение
объема сжатого файла Vc к объему исходного файла Vo, выраженное в
процентах:
Kc 
Vc
 100% .
Vo
Чем меньше величина Kc, тем выше степень сжатия информации.
Заметим, что в некоторых литературных источниках встречается
определение коэффициента сжатия, обратное приведенному отношению.
Все существующие методы сжатия информации можно разделить на два
класса: упаковка без потерь информации (обратимый алгоритм) и упаковка с
потерей информации (необратимый алгоритм). В первом случае исходную
информацию можно точно восстановить по имеющейся упакованной
информации. Во втором случае распакованное сообщение будет отличаться от
исходного сообщения.
В настоящее время разработано много алгоритмов архивации без потерь.
Однако все они используют в основном две простые идеи.
Первая идея, основанная на учете частот появления символов, была
разработана Хаффманом (D.A. Huffman) в 1952 г. Она базируется на том факте,
что в обычном тексте частоты появления различных символов неодинаковые.
При кодировании символов в ЭВМ используют кодовые таблицы. При этом
каждый символ кодируется либо одним байтом (CP-1251, КОИ-8), либо двумя
байтами (Unicode). Кодовые таблицы стандартизируют процедуру кодирования.
Однако для передачи информации по каналу связи (или для долговременного
хранения) можно использовать более сложную процедуру кодирования, которая
обеспечит уменьшение размера файла при полном сохранении исходной
информации. При архивации не используются стандартные кодовые таблицы, а
создаются собственные. При этом вид кодовой таблицы каждый раз изменяется и
зависит от содержания архивируемого документа.
При упаковке по методу Хаффмана часто встречающиеся символы
кодируются (заменяются) короткими последовательностями битов, а более
редкие символы — длинными последовательностями. К каждому сжатому
архиву прикладывается таблица соответствия имеющихся символов и кодов,
заменяющих эти символы. Архивы как бы отменяют стандартные кодовые
таблицы.
Рассмотрим пример.
Предположим, что входной алфавит сообщения состоит всего из четырех
символов: a, b, c, d, частоты появления которых в исходном (несжатом)
документе равны соответственно, 1/2, 1/4, 1/8 и 1/8. Порядок кодирования по
методу Хаффмана для указанного алфавита иллюстрируется таблицей:
Символ
Частота
a
b
c
d
1/2
1/4
1/8
1/8
Входной код
(до архивации)
00
01
10
11
Выходной код
(после архивации)
0
10
110
111
Текст abbadaca, представленный на входе кодом 00 01 01 00 11 00 10 00,
после архивации будет иметь вид: 0 10 10 0 111 0 110 0. Таким образом, 16 бит
исходного текста превратились в 14 бит упакованной информации. Заметим, что
указанные в таблице частоты не отражают реальной статистической картины
частот появления перечисленных букв английского алфавита, а взяты такими
лишь для иллюстрации данной идеи (только для учебных целей).
Сжатие данных по методу Хаффмана производится в следующей
последовательности.
Вначале производится анализ частоты повторения каждого символа
исходного сообщения. Затем наиболее часто встречающийся символ заменяется
самым коротким кодом, а следующий по частоте появления символ кодируется
более длинной последовательностью и т. д. К архиву прикладывается кодовая
таблица соответствия символов.
Вторая основная идея архивации состоит в использовании того факта, что
в сообщениях часто встречаются несколько подряд идущих одинаковых байтов,
а некоторые последовательности байтов повторяются многократно. При
упаковке такие места документа (текста или рисунка) можно заменить
командами вида «повторить данный байт n раз» или «взять часть текста длиной
k байтов, которая встречалась m байтов назад». Такой алгоритм архивации носит
имя RLE (Run Length Encoding — кодирование путем учета повторений).
Понять идею этого метода упаковки позволяет следующий анекдот.
Один в прошлом известный полководец решил написать достаточно
объемные мемуары. Составленные воспоминания звучали примерно так.
«Утром я вскочил на своего коня и помчался в штаб армии. Подковы коня
издавали звук «цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цок-цокцок …». Через двое суток я соскочил с коня и вошел в штаб».
Для увеличения объема литературного произведения словосочетание
«цок» было написано «писателем» на двухстах страницах. Очевидно, что
информативность «мемуаров» не изменилась бы, если вместо 200 страниц
перечисления цокающих звуков было бы указано: «Затем следуют 64 000 раз
звуки «цок-цок».
Проиллюстрируем эту же идею
другим примером.
Пусть
имеется
следующее
изображение звездного неба: на
черном фоне видны редкие белые
звезды. При растровом представлении
неба информация в ЭВМ будет
храниться в таком виде: черное-черное-черное-черное-черное-белое-черноечерное-черное-черное-черное и т. д.
Естественно, что значительно компактнее хранить информацию, указав,
сколько раз подряд идут черные пиксели, сколько раз белые и т. д.
Рассмотрим детально метод упаковки — RLE.
Упакованная
этим
методом
последовательность
состоит
из
управляющих байтов, за которыми следуют один или несколько байтов
данных. При этом если старший бит управляющего байта равен 1, то следующий
байт данных нужно повторить при распаковке столько раз, сколько указано в
оставшихся 7 битах управляющего байта. Например, управляющий байт
10001001 говорит, что следующий за ним байт нужно повторить 9 раз, так как
10012 = 910.
Если старший бит управляющего байта равен 0, то при распаковке надо
взять следующие байты без изменений. Число байтов, которые берутся без
изменений, указывается в оставшихся 7 битах. Например, управляющий байт
00000011 говорит, что следующие за ним 3 байта нужно взять без изменений.
Рассмотрим пример архивации методом RLE.
Пусть дана не запакованная последовательность из 12 байтов:
11111111 11111111 11111111 11111111 11111111 11110000
00001111 11000011 10101010 10101010 10101010 10101010.
В начале последовательности 5 раз подряд повторяется байт 11111111.
Чтобы упаковать эти 5 байтов, нужно записать сначала управляющий байт
10000101, а затем повторяемый байт 11111111. В результате архивации
выигрыш составит 3 байта. Далее идут 3 разных (неповторяющихся) байта
11110000 00001111 и 11000011. Чтобы их упаковать, нужно записать
управляющий байт 00000011, а затем эти 3 байта. В результате архивации этого
фрагмента последовательности получается проигрыш (увеличение объема
архива) на 1 байт. Далее в последовательности 4 раза повторяется байт
10101010. Для архивации этого фрагмента нужно сформировать управляющий
байт 10000100 и записать повторяемый байт 10101010. Сжатие последнего
фрагмента даст выигрыш 2 байта.
В результате упаковки получена новая последовательность из 8 байтов:
10000101 11111111 00000011 11110000
00001111 11000011 10000100 10101010.
Таким образом, 12 байт удалось сжать до 8 байт.
Данный метод может успешно использоваться для сжатия растровых
графических изображений (BMP, PCX, TIF, GIF), так как картинки и
фотографии содержат много повторяющихся байтов. Недостатком метода RLE
является низкая степень сжатия файлов с малым числом повторяющихся байтов.
На рисунке показан пользовательский интерфейс одного из наиболее
популярных архиваторов — WinZip.
Выделим важные возможности архиваторов:
• создание многотомных архивов с возможностью
произвольного размера тома;
• создание самораспаковывающихся SFX-архивов;
• создание пароля для доступа к архиву.
задания
5.3. Принципы сжатия информации
Для уменьшения размеров мультимедийных файлов используют
процедуру сжатия.
Под сжатием (компрессией, упаковкой, уплотнением) понимается такое
преобразование информации, в результате которого исходный файл
уменьшается в объеме, а количество информации в сжатом файле уменьшается
на такую небольшую величину, которой практически можно пренебречь. По
смыслу термин «сжатие» близок к термину «архивация». Однако последний
термин чаще всего предполагает сжатие информации без ее искажения (без
изменения, без потерь).
Многие приемы сжатия аудио- и видеоинформации основываются на
«обмане» органов чувств (зрение и слух) человека путем исключения
избыточной информации, которую человек (в силу своих физиологических
особенностей) не способен воспринять.
Разработано несколько стандартов сжатия видео- и аудиоинформации.
Наибольшее влияние на настоящее и будущее мультимедийных средств
оказывает MPEG (Moving Picture Experts Group) — объединенный комитет двух
организаций: Интернациональной организации по стандартизации (ISO) и
Интернациональной электротехнической комиссии (IEC). Этот комитет
разрабатывает стандарты с одноименными названиями. Так стандарт MPEG-1
был разработан с учетом возможностей двухскоростных проигрывателей
лазерных дисков CD-ROM и компьютеров с 486-м процессором.
В январе 1992 г. комитет MPEG опубликовал общие характеристики
будущего стандарта MPEG-1, а в декабре 1993 г. они были приняты в качестве
стандарта. По требованиям этого стандарта интенсивность потока данных
(скорость передачи информации) сжатого видео и звука должна укладываться
в 1,5 Мбайт/с, хотя были предусмотрены режимы вплоть до 4—5 Мбайт/с.
Окончательное утверждение MPEG-2 в качестве международного
стандарта произошло в ноябре 1994 г. В его спецификациях была определена
допустимая интенсивность потока данных: от 2 до 10 Мбайт/с.
Стандарт MPEG-2 позволяет записывать на лазерные диски,
изготовленные по технологии DVD, полноэкранные фильмы «вещательного»
качества. Для телевидения высокой четкости разрабатывался стандарт MPEG-3,
который впоследствии стал частью стандарта MPEG-2 и отдельно теперь не
упоминается.
Разрабатываемый стандарт MPEG-4 предназначен для использования в
системах с низкой пропускной способностью.
Рассмотрим вначале методы сжатия звуковой информации, а затем —
методы сжатия видеоинформации.
Согласно теореме Котельникова, чтобы восстановить без искажений
аналоговый сигнал после его преобразования в цифровой сигнал, необходимо,
чтобы частота выборки (дискретизации) была хотя бы вдвое выше верхней
граничной частоты исходного сигнала. Для записи звука на компакт-диски
используется частота выборки 44,1 кГц. Эта частота более чем в 2 раза
превышает верхнюю граничную частоту, которую слышит человек.
Второй фактор, влияющий на качество воспроизводимого звука, —
количество двоичных разрядов квантования. Во-первых, им определяется
передаваемый
динамический
диапазон
звука.
Во-вторых,
после
цифроаналогового преобразования уровень воспроизводимого сигнала может
принимать некоторое множество фиксированных значений. Исходный же
аналоговый сигнал изменяется непрерывно. В результате восстановленный
сигнал неизбежно отличается по форме от исходного, и это отличие тем больше,
чем меньше разрядов использовалось для квантования сигнала. Искажение
формы сигнала при воспроизведении эквивалентно добавлению некоего
шума — шума квантования. Чтобы достичь полной неразличимости шумов
квантования, в технике компакт-дисков используется 16-разрядное квантование,
при этом уровень воспроизводимого звука может принимать одно из 2 16 =
65 536 значений.
Для записи стереофонического звука с частотой дискретизации 44,1 кГц
и в 16-битном представлении звука требуется скорость передачи информации:
44100 16 2 = 1 411 200 бит/c или 172,27 Кбайт/c.
При такой скорости передачи информации сохраняются мельчайшие
детали звуковой картины (в том числе и исходные шумы). Этот способ
кодировки информации избыточен, так как многие детали исходной звуковой
картины не воспринимается человеком из-за биологических ограничений.
Как известно, различают сжатие без потерь и сжатие с потерями. Под
сжатием без потерь подразумевается возможность абсолютно точного
восстановления сжатых исходных данных. Компрессия без потерь используется,
например, архиваторами ZIP и RAR.
Применение подобных алгоритмов для сжатия файлов, содержащих
оцифрованный звук в 16-битном формате, не позволяет сжать исходный файл
более чем в 2 раза.
Оцифрованный (преобразованный с помощью АЦП) звуковой сигнал
обычно не повторяет сам себя и по этой причине плохо сжимается с помощью
алгоритмов компрессии без потерь.
Адаптивная разностная компрессия (Adaptive Differential Pulse Code
Modulation, ADPCM) используется в основном для сжатия речевых сигналов.
Из-за сильных искажений этот метод применяют только для сжатия речи. Для
сжатия музыкальных произведений этот метод не подходит.
Идея компрессии ADPCM заключается в том, что оцифрованный речевой
сигнал представляют не самими отсчетами, а разностями соседних отсчетов,
меньших по величине и, следовательно, требующих меньшего числа битов для
своего представления.
Рассмотрим основные идеи сжатия аудиоинформации, которые
базируются на использовании психофизических ограничений (возможностей)
человека.
Основные приемы, положенные в основу сжатия информации с помощью
стандартов
MPEG,
базируются
на
объективно
существующих
психоакустических ограничениях органов чувств человека. Человеческое ухо
способно воспринимать звуковые колебания, лежащие лишь в диапазоне частот
20—20000 Гц, причем с возрастом этот диапазон сужается. Методы сжатия
звуковых данных, основанные на использовании физиологических
особенностей человека, относятся к классу компрессии с потерями. Эти
методы не ставят цель абсолютно точного восстановления формы исходных
колебаний. Их главная задача — достижение максимального сжатия звукового
сигнала при минимальных слышимых искажениях восстановленного после
сжатия сигнала.
Звуковой файл можно сжать с помощью компандирования. Название
этого метода происходит от английского термина compander, который образован
от английских слов: compressing — expanding coder — decoder. Этот метод
основан на законе, открытом психологами: если интенсивность раздражителя
меняется в геометрической прогрессии, то интенсивность человеческого
восприятия меняется в арифметической прогрессии.
Компандирование заключается в компрессии (сжатии) по амплитуде
исходного звукового сигнала. Затем сжатый сигнал восстанавливается с
помощью экспандера (расширителя).
Компрессия — это сжатие динамического диапазона сигнала, когда
слабые звуки усиливаются сильнее, а сильные — слабее. На слух это
воспринимается как уменьшение различия между тихим и громким звучанием
исходного сигнала.
Установлено, что, если повышать громкость звука в 2, 4, 8 и т. д. раз, то
человеческое ухо будет воспринимать этот процесс как линейное увеличение
интенсивности звука. Изменение уровня громкости с 1 единицы до 2 единиц
столь же заметно для человеческого уха, как и изменение громкости от 50 до
100 единиц. В то же время изменение громкости от 100 единиц до 101 единицы
человеком практически не ощущается.
Таким образом, ухо человека логарифмирует громкость слышимых
звуков.
При компандировании значение амплитуды звука заменяется
логарифмом этого значения. Полученные числа округляются, и для их записи
требуется меньшее число разрядов.
При 16-битном кодировании звука максимальное значение кода не
превышает значение 216. Логарифм этого числа по основанию 2 равен 16.
Последнее число может быть закодировано пятью двоичными разрядами (16 10 =
100002). Таким образом, для представления информации вместо 16 бит можно
использовать лишь 5 бит. Этим достигается сжатие информации. Для
воспроизведения компрессированного сигнала его подвергают обратному по
сравнению с логарифмированием преобразованию — потенцированию.
Еще один способ сжатия звуковой информации заключается в том, что
исходный звуковой сигнал очищается с помощью фильтров от неслышимых
компонентов (например, убирают низкие басовые шумы). Затем производится
более сложный анализ сигнала: удаляются замаскированные частоты,
заглушенные другими мощными сигналами. Таким образом, можно исключить
до 70% информации из сигнала, практически не изменив качество его звучания.
Сжатие сигнала также можно получить за счет еще одного приема.
Если исходный сигнал является стереофоническим, то его можно
преобразовать в так называемый совмещенный стереофонический сигнал.
Установлено, что слуховой аппарат человека может определить
местоположение источника звука лишь на средних частотах, а высокие и низкие
частоты звучат как бы отдельно от источника звука. Таким образом, высокие и
низкие частоты можно представить в виде монофонического сигнала (т. е. без
разделения на два стереофонических канала). Это позволяет вдвое уменьшить
объем информации, передаваемой на низких и высоких частотах.
Еще одна возможность сжатия звукового сигнала связана с наличием
двух потоков информации для левого и правого каналов. Например, если в
правом канале наблюдается какое-то время полная тишина, то это пустующее
место используется для повышения качества звучания левого канала или туда
помещают данные, которые не уместились в компрессированный поток в
предыдущие моменты времени.
Одно из свойств человеческого слуха заключается в маскировании тихого
звука, следующего сразу за громким звуком. Так после выстрела пушки в
течение некоторого времени трудно услышать тиканье наручных механических
часов или стрекот кузнечиков.
При сжатии звукового сигнала замаскированный, почти неслышимый
звук не сохраняется в памяти и не передается через каналы связи. Например,
громкий звук длительностью 0,1 с может замаскировать тихие последующие
звуки, запаздывающие на время до 0,5 с, а значит, их не надо сохранять. Такая
процедура исключения сигнала, следующего за громким звуком, называется
маскированием во временной области.
Для человеческого уха характерно также и явление маскирования в
частотной области, заключающееся в том, что постоянно звучащий громкий
синусоидальный сигнал маскирует («глушит») тихие сигналы, которые близко
лежат на оси частот к громкому сигналу.
При техническом использовании таких физиологических особенностей
человеческого слуха уплотняемый сигнал переносят с помощью быстрого
преобразования Фурье из временной области в частотную область. Затем
удаляют спектральные составляющие, замаскированные громким сигналом, и
делают обратное преобразование Фурье.
Еще одна возможность компрессии основывается на следующей
особенности человеческого слуха. Экспериментально установлено, что в
диапазонах частот 20—200 Гц и 14—20 кГц чувствительность человеческого
слуха существенно ниже, чем на частотах 0,2—14 кГц. По этой причине
допустимо более грубое квантование сигналов в указанных диапазонах частот.
На этих частотах для представления непрерывных сигналов двоичными
числами требуется меньшее число уровней, а значит и меньшее число битов.
Так, в среднем диапазоне частот амплитуды кодируются 16 битами, а на
частотах, где ухо менее чувствительно — 6 и даже 4 битами.
Биоакустические свойства человеческого слуха не позволяют сжать
звуковой сигнал, если он представляет собой однотонные звуки с постоянным
уровнем громкости. В этом случае наряду с рассмотренными приемами сжатия
дают эффект традиционные методы архивации информации (например,
алгоритм Хаффмана).
Познакомимся с основными показателями, характеризующими качество
движущихся изображений.
Частота кадра (Frame Rate). Стандартная скорость воспроизведения
видеосигнала 30 кадров/с (для кино этот показатель составляет 24 кадра/с).
Экспериментально установлено, что иллюзия движущегося изображения
возникает при частоте смены кадров более 16-ти в секунду. В этом случае
человек воспринимает быстроменяющиеся картинки в виде динамичного
непрерывного изображения.
Глубина цвета (Color Resolution). Этот показатель определяет
количество цветов, одновременно отображаемых на экране. Компьютеры
обрабатывают цвет в RGB-формате (красный — зеленый — синий). RGBформат позволяет путем смешения в разных пропорциях трех основных цветов
получить любой другой цвет или оттенок. Для цветовой модели RGB обычно
характерны следующие режимы глубины цвета: 8 бит/пиксель (256 цветов), 16
бит/пиксель (65 535 цветов) и 24 бит/пиксель (16,7 миллиона цветов).
Экранное разрешение (Spatial Resolution) или, другими словами,
количество точек, из которых состоит изображение на экране, например, 640 
480 точек (пикселей).
Качество изображения (Image Quality). Это комплексный показатель,
который вбирает в себя три предыдущих. Требования к качеству зависят от
конкретной задачи. Иногда достаточно, чтобы картинка была размером в
четверть экрана с палитрой из 256 цветов (8 бит), при скорости воспроизведения
15 кадров/с. В других случаях требуется полноэкранное видео (768  576) с
палитрой в 16,7 миллиона цветов (24 бит) и кадровой разверткой 30 кадров/с.
Расчеты показывают, что 24-битное цветное видео при разрешении
640  480 пикселей и частоте 30 кадров/с требует передачи более 26 Мбайт
данных в секунду. Для наглядности приводим здесь эти расчеты.
640  480  24  30 = 221 184 000 бит/с = 26,37 Мбайт/с.
Для оптимизации процесса кодирования информации необходимо, с
одной стороны, не передавать избыточную информацию, а с другой стороны, не
допускать чрезмерной потери качества изображения.
В зависимости от скорости упаковки изображений методы сжатия
подразделяются на две группы. К первой группе относится метод сжатия
неподвижных изображений. Сжатие может выполняться с любой скоростью,
так как этот процесс не регламентирован временем (в силу статичности
изображения). Вторую группу образуют методы сжатия движущихся
изображений. Сжатие движущихся изображений должно выполняться, как
правило, в режиме реального времени по мере ввода данных.
Стандарт JPEG (Joint Photographic Experts Group), предложенный
Объединенной группой экспертов в области фотографии, позволяет сократить
размеры графического файла с неподвижным изображением в 10—20 раз.
Благодаря специальным процессорам, этим методом удается сжимать и
движущиеся изображения.
Устаревший стандарт сжатия движущихся изображений AVI (Audio
Visual Interleave) позволяет формировать упрощенное видеоизображение, но не
на полном экране и со скоростью лишь 15 кадров в секунду. При этом
используется всего 160  120 пикселей и 256 цветов.
Наибольшее распространение для сжатия движущихся изображений
получил стандарт MPEG.
С помощью стандарта MPEG обрабатывается и каждый кадр по
отдельности, и анализируется динамика изменения изображения. Этим удается
уменьшить избыточные данные, так как в большинстве фрагментов фон
изображения остается достаточно стабильным, а изменения происходят в
основном на переднем плане. MPEG начинает сжатие с создания исходного
(ключевого) кадра, называемого Intra (внутренний) кадр. I-кадры играют роль
опорных при восстановлении остального видеоизображения и размещаются
последовательно через каждые 10—15 кадров. I-кадры формируют с помощью
методов, разработанных стандартом JPEG для сжатия неподвижных
изображений.
Фрагменты изображений, которые претерпевают изменения, сохраняются
при помощи Predicted (расчетных, предсказуемых) кадров. P-кадры содержат
различия текущего изображения с предыдущим или последующим I-кадром. Ркадры располагаются между опорными I-кадрами.
Кроме перечисленных кадров, используются B-кадры, название которых
происходит от английских слов Bi-directional Interpolated. В переводе с
английского языка этот термин означает «кадры двунаправленной
интерполяции (предсказания)». B-кадры содержат усредненную информацию
относительно двух ближайших (предыдущего и последующего) I-кадров или
P-кадров. Это позволяет предположительно восстанавливать (реконструировать,
интерполировать) отсутствующие кадры.
B-кадры учитывают тот факт, что человек не способен за доли секунды
рассмотреть детали движущегося изображения, поэтому можно формировать
некоторое приблизительное, усредненное (промежуточное) изображение,
учитывая информацию опорных кадров. Здесь происходит умышленный обман
органов чувств человека, за счет которого происходит уплотнение информации.
Очевидно, что существенный выигрыш в сжатии информации дают P- и
особенно B-кадры, так как для формирования I-кадров необходимо
использовать всю имеющуюся информацию об изображении.
При сжатии изображений (как и при сжатии звуков) используются
физиологические особенности человека.
Установлено, что ошибки в изображении заметны глазом (визуально),
если
они
превышают
некоторый
порог
заметности. Различают
пространственную и временную заметность искажений изображений.
Порог заметности пространственных изменений яркости зависит от
многих факторов: яркости деталей изображения, яркости фона, относительного
положения деталей различной яркости, условий внешнего освещения.
Что касается временного восприятия цвета, то известно, что вариация
цветности менее заметны, чем вариация яркости. Наиболее заметны изменения
зеленого цвета, затем красного, и наименее заметны изменения синего цвета.
Используя эту особенность зрения человека, можно при упаковке
(сжатии) изображения исключить данные о цвете, скажем, каждой второй точки
изображения (сохранив только ее яркость), а при распаковке брать вместо
исключенного цвета цвет соседней точки. Аналогично для группы соседних
точек брать можно некоторый средний цвет.
За высокое качество сжатия, как правило, приходится платить большими
затратами времени на упаковку и распаковку. Алгоритмы, дающие хорошее
качество сжатия, могут оказаться неприменимыми из-за слишком большого
времени, необходимого для распаковки информации. Разработчики новых
методов упаковки всегда ищут компромисс между качеством сжатия и
скоростью распаковки.
Как правило, информацию можно «не торопясь» сжать, а при
воспроизведении распаковать с большой скоростью. Но бывают случаи, когда
информацию нужно упаковать «на лету», т. е. в режиме реального времени.
Такая ситуация возникает, например, при передаче изображения с видеокамеры
в Интернет.
Степень сжатия характеризует коэффициент сжатия, который численно
равен отношению объема сжатого файла к объему исходного файла.
Выбор коэффициентов сжатия — это компромисс между скоростью
передачи файлов и качеством восстанавливаемого изображения. Чем выше
коэффициент сжатия, тем ниже это качество. При этом следует иметь в виду,
что при очень высокой разрешающей способности и большой степени сжатия
можно получить изображение с низкой разрешающей способностью. Что
касается требующегося качества изображения, то оно зависит от конкретной
поставленной задачи. Например, в системах видеоконференций основной объем
необходимой информации содержится в речи. Качество же изображения играет
второстепенную роль.
Качество сжатия варьируется в довольно широких пределах; обычными
для современных видеосистем являются коэффициенты сжатия от 1:4 до 1:100.
При сжатии информации часто используется термин «кодек», который
образован путем сокращения слов «кодер» и «декодер». Этим термином
обозначается алгоритм, предназначенный для кодирования (сжатия) и
декодирования (распаковки) цифровых сигналов, идущих от системы цифровой
аудио- и видеозаписи. Алгоритм может быть реализован программно и
загружен в память компьютера, либо может быть реализован аппаратно с
помощью специальной микросхемы. Симметричные кодеки упаковывают и
распаковывают сигнал в реальном времени.
Некоторые сложные алгоритмы кодирования, например, алгоритм сжатия
видеосигнала MPEG, не могут выполняться в реальном времени (при записи),
поэтому кодек MPEG называется асимметричным.
5.4. Вирусы и антивирусные программы
Компьютерный вирус — это программа, способная самостоятельно
создавать свои копии (не обязательно полностью совпадающие с оригиналом),
внедрять их в различные объекты или ресурсы ЭВМ, вычислительных систем,
сетей и производить определенные действия без ведома пользователя.
Распространение вмруса происходит незаметно, скрытно.
Свое название компьютерный вирус получил за некоторое сходство с
биологическим
вирусом
(например,
в
зараженной
программе
самовоспроизводится другая программа-вирус, а инфицированная программа
может длительное время работать без ошибок, как в стадии инкубации).
Программа, внутри которой находится вирус, называется зараженной
(инфицированной) программой.
Когда инфицированная программа начинает работу, то управление
получает вирус. Вирус заражает другие программы, а также выполняет
запланированные разработчиком вируса действия. Для маскировки своих
действий вирус активизируется не всегда, а лишь при выполнении
определенных условий (истечение некоторого времени, выполнение
определенного числа операций, наступление некоторой даты или дня недели и
т. д.).
После того как вирус выполнит нужные ему действия, он передает
управление той программе, в которой он находится. Внешне зараженная
программа может работать так же, как и обычная неинфицированная
программа. Подобно настоящим вирусам, компьютерные вирусы действуют
незаметно, размножаются и ищут возможность перейти на другие ЭВМ. Такими
возможностями их наделяют программисты.
Таким образом, вирусы должны инфицировать ЭВМ достаточно скрытно,
а активизироваться лишь через определенное время (время инкубации). Это
необходимо для того, чтобы утаить источник заражения.
Вирус не может распространяться в полной изоляции от других
программ. Очевидно, что пользователь не будет специально запускать
одинокую программу-вирус. Поэтому вирусы прикрепляются к телу других
полезных (нужных) программ.
Несмотря на широкую распространенность антивирусных программ,
предназначенных для борьбы с вирусами, постоянно появляются новые вирусы.
В среднем в месяц появляется около 4000 новых разновидностей. Естественно,
что вирусы появляются не самостоятельно, а их создают кракеры — вандалы.
Количество вирусов увеличивается с каждым годом. Следующая таблица
показывает динамику изменения числа известных вирусов.
Год
Число
вирусов
1990
1992
1994
1996
500
1500
4000
8000
1998
более
14000
2000
более
40000
2002
более
60000
Вирусы выполняют различные действия:
 выводят на экран мешающие текстовые сообщения (поздравления,
политические лозунги, фразы с претензией на юмор, высказывания
обиды от неразделенной любви, нецензурные выражения, рекламу,
прославление любимых певцов, названия городов);
 создают звуковые эффекты (проигрывают гимн, гамму или
популярную мелодию);
 создают видеоэффекты (переворачивают или сдвигают экран,
имитируют землетрясение, вызывают опадание букв в тексте или
симулируют снегопад, имитируют скачущий шарик, прыгающую
точку, выводят на экран рисунки или картинки);
 увеличивают износ оборудования (например, головок дисководов);
 вызывают отказ отдельных устройств, зависание или перезагрузку
компьютера и крах работы всей ЭВМ;
 имитируют повторяющиеся ошибки работы операционной системы
(например, с целью заключения договора на гарантированное
обслуживание ЭВМ);
 уничтожают FAT-таблицу, форматируют жесткий диск, стирают в
ПЗУ BIOS, стирают или изменяют установки в CMOS, стирают
секторы на диске, уничтожают или искажают данные, стирают
антивирусные программы;
 осуществляют научный, технический, промышленный, военный и
финансовый шпионаж;
 выводят из строя системы защиты
информации, дают
злоумышленникам тайный доступ к вычислительной машине;
 делают незаконные отчисления с каждой финансовой операции;
 автоматически рассылают письма по адресам, указанным в адресной
книге почтового клиента и т. д.
Главная опасность самовоспроизводящихся кодов заключается в том,
что программы-вирусы начинают жить собственной жизнью, практически не
зависящей от разработчика программы. Так же как в цепной реакции,
происходящей в ядерном реакторе, запущенный процесс трудно остановить.
Основные симптомы вирусного заражения ЭВМ следующие.
 Замедление работы некоторых программ.
 Увеличение размеров файлов (особенно выполняемых).
 Появление не существовавших ранее «странных» файлов.
 Уменьшение объема доступной оперативной памяти (по сравнению с
обычным режимом работы).
 Внезапно возникающие разнообразные видео- и звуковые эффекты.
 Появление сбоев в работе операционной системы (в том числе
зависание).
 Запись информации на диски в моменты времени, когда этого не
должно происходить.
 Прекращение работы или неправильная работа ранее нормально
функционировавших программ.
 Поступление электронного письма с исполняемым приложением от
неизвестного корреспондента.
Первые исследования саморазмножающихся искусственных конструкций
проводились в середине ХХ столетия. В работах фон Неймана, Винера и других
проведен математический анализ конечных автоматов, в том числе и
самовоспроизводящихся.
Впервые большое внимание к проблеме вирусов привлекла книга Фреда
Коэна (F. Cohen) «Компьютерные вирусы, теория и эксперименты», вышедшая в
свет в 1984 г.
Первый эксперимент по распространению вируса Ф. Коэн провел
10 сентября 1983 г. в Университете Южной Калифорнии в рамках семинара по
безопасности.
Большой общественный резонанс вызвало первое неконтролируемое
распространение вируса в сети. Так 2 ноября 1988 г. двадцатитрехлетний
студент последнего курса Корнельского университета Роберт Таппан Моррис
запустил в сеть свою программу, которая из-за ошибки начала бесконтрольное
распространение и многократное инфицирование узлов сети. В результате было
заражено около 6200 машин, что составило 7,3% общей численности машин в
сети.
Рассмотрим основные виды вирусов. Существует большое число
различных классификаций вирусов.
По среде обитания они делятся на сетевые, файловые, загрузочные и
файлово-загрузочные вирусы.
По способу заражения — на резидентные и нерезидентные вирусы.
По степени опасности — на неопасные, опасные и очень опасные
вирусы.
По особенностям алгоритма — на вирусы-компаньоны, паразитические
вирусы, репликаторы (черви), невидимки (стелс), мутанты (призраки,
полиморфные вирусы, полиморфики), макровирусы, троянские программы.
По целостности — на монолитные и распределенные вирусы.
Сетевые вирусы распространяются по различным компьютерным сетям.
Примером является вирус Melissa.
Загрузочные вирусы внедряются в загрузочный сектор диска (Bootсектор) или в сектор, содержащий программу загрузки системного диска (Master
Boot Record — MBR). Некоторые вирусы записывают свое тело в свободные
секторы диска, помечая их в FAT-таблице как «плохие» (Bad cluster).
Файловые вирусы инфицируют исполняемые файлы компьютера,
имеющие расширения com и exe. К этому же классу относятся и макро-вирусы,
написанные помощью макрокоманд. Они заражают неисполняемые файлы
(например, в текстовом редакторе MS Word или в электронных таблицах MS
Excel).
Загрузочно-файловые вирусы способны заражать и загрузочные
секторы и файлы.
Резидентные вирусы оставляют в оперативной памяти компьютера свою
резидентную
часть,
которая
затем
перехватывает
обращения
неинфицированных программ к операционной системе, и внедряются в них.
Свои деструктивные действия и заражение других файлов резидентные вирусы
могут выполнять многократно.
Нерезидентные вирусы не заражают оперативную память компьютера и
проявляют свою активность лишь однократно при запуске инфицированной
программы.
Действия вирусов могут быть не опасными, например, на экране
появляется сообщение: «Хочу чучу». Если с клавиатуры набрать слово «чуча»,
то вирус временно «успокаивается».
Значительно опаснее последствия действия вируса, который уничтожает
часть файлов на диске.
Очень опасные вирусы самостоятельно форматируют жесткий диск и
этим уничтожают всю имеющуюся информацию. Примером очень опасного
вируса может служить вирус CIH «Чернобыль», активизирующийся 26-го числа
каждого месяца и способный уничтожать данные на жестком диске и в BIOS.
Компаньон-вирусы (companion) — это вирусы, не изменяющие файлы.
Алгоритм работы этих вирусов состоит в том, что они создают для EXE-файлов
новые файлы-спутники (дубликаты), имеющие то же самое имя, но с
расширением COM, например, для файла XCOPY.EXE создается файл
XCOPY.COM. Вирус записывается в COM-файл и никак не изменяет
одноименный EXE-файл. При запуске такого файла DOS первым обнаружит и
выполнит COM-файл, т. е. вирус, который затем запустит и EXE-файл.
Паразитические вирусы при распространении своих копий обязательно
изменяют содержимое дисковых секторов или файлов. В эту группу относятся
все вирусы, которые не являются «червями» или «компаньонами».
Вирусы-черви (worm) распространяются в компьютерной сети и, так же
как и компаньон-вирусы, не изменяют файлы или секторы на дисках. Они
проникают в память компьютера из компьютерной сети, находят сетевые адреса
других компьютеров и рассылают по этим адресам свои копии. Черви
уменьшают пропускную способность сети, замедляют работу серверов.
Репликаторы могут размножаться без внедрения в другие программы и
иметь «начинку» из компьютерных вирусов.
В конце 80-х годов ХХ столетия сетевой вирус «Червь Морриса»
парализовал несколько глобальных сетей в США.
Вирусы-невидимки (стелс — Stealth) используют некоторый набор
средств для маскировки своего присутствия в ЭВМ. Название вируса
аналогично названию американского самолета-невидимки.
Стелс-вирусы трудно обнаружить, так как они перехватывают обращения
операционной системы к пораженным файлам или секторам дисков и
«подставляют» незараженные участки файлов.
Вирусы, которые шифруют собственное тело различными способами,
называются полиморфными (polymorphic). Полиморфные вирусы (или вирусыпризраки, вирусы-мутанты, полиморфики) достаточно трудно обнаружить,
так как их копии практически не содержат полностью совпадающих участков
кода. Это достигается тем, что в программы вирусов добавляются пустые
команды (мусор), которые не изменяют алгоритм работы вируса, но затрудняют
их выявление.
Наиболее «прославленный» из полиморфных вирусов — OneHalf.
Макровирусы используют возможности макроязыков, встроенных в
системы обработки данных (текстовые редакторы и электронные таблицы). В
настоящее время широко распространяются макровирусы, заражающие
документы MS Word и MS Excel.
Ниже приводится пример действия макровируса, который исказил текст
документа.
Компьтерный врус спецально соданная нбольшая
рограмма способня присоеиняться  другим рограмма
ЭВМ,
рамножатьс
(создавть
свои
опии)
и
ыполнятьнежелатеьные дейтвия безведома пльзоватея.
Троянская программа маскируется под полезную или интересную
программу, выполняя во время своего функционирования еще и
разрушительную работу (например, стирает FAT-таблицу) или собирает на
компьютере информацию, не подлежащую разглашению. В отличие от вирусов,
троянские программы не обладают свойством самовоспроизводства.
Троянская программа маскируется, как правило, под коммерческий
продукт. Ее другое название «троянский конь».
Программа монолитного вируса представляет собой единый блок,
который можно обнаружить после инфицирования.
Программа распределенного вируса разделена на части. Эти части
содержат инструкции, которые указывают компьютеру, как собрать их воедино,
чтобы воссоздать вирус. Таким образом, вирус почти все время находится в
распределенном состоянии и лишь на короткое время собирается в единое
целое.
Для борьбы с вирусами разрабатываются антивирусные программы. Говоря
медицинским языком, эти программы могут выявлять (диагностировать), лечить
(уничтожать) вирусы и делать прививку «здоровым» программам.
Различают следующие виды антивирусных программ:
 программы-детекторы (сканеры);
 программы-доктора (или фаги, дезинфекторы);
 программы-ревизоры;
 программы-фильтры (сторожа, мониторы);
 программы-иммунизаторы.
Программы-детекторы рассчитаны на обнаружение конкретных вирусов.
Принцип их действия основан на сравнении характерной (специфической)
последовательности байтов (сигнатур, портретов или масок вирусов),
содержащихся в теле вируса, с текстом проверяемых программ. Программыдетекторы нужно регулярно обновлять, так как они быстро устаревают и не
могут выявлять новые виды вирусов.
Следует подчеркнуть, что программы-детекторы могут обнаружить
только те вирусы, которые ей «известны», т. е., если сигнатуры этих вирусов
заранее помещены в библиотеку (базу данных) антивирусных программ.
Таким образом, если проверяемая программа не опознается детектором
как зараженная, то еще не следует считать, что она «здорова». Она может быть
инфицирована новым вирусом, который не занесен в базу данных детектора.
Для устранения этого недостатка программы-детекторы стали снабжаться
блоками эвристического анализа программ. В этом режиме делается попытка
обнаружить новые или неизвестные вирусы по характерным для всех вирусов
кодовым последовательностям. Наиболее развитые эвристические механизмы
позволяют с вероятностью около 80% обнаружить новый вирус.
Программы-доктора не только находят файлы, зараженные вирусами, но
и лечат их, удаляя из файла тело программы-вируса. Программы-доктора,
которые позволяет лечить большое число вирусов, называются полифагами.
В России получили широкое распространение программы-детекторы,
одновременно выполняющие и функции программ-докторов. Наиболее
известные представители этого класса — AVP (AntiViral Toolkit Pro, автор —
Е. Касперский), Aidstest (автор — Д. Лозинский) и Doctor Web (авторы —
И. Данилов, В. Лутовинов, Д. Белоусов).
Ревизоры — это программы, которые анализируют текущее состояние
файлов и системных областей диска и сравнивают его с информацией,
сохраненной ранее в одном из файлов ревизора. При этом проверяется
состояние Boot-секторов, FAT-таблицы, а также длина файлов, их время
создания, атрибуты, контрольные суммы.
Контрольная сумма является интегральной оценкой всего файла (его
слепком). Получается контрольная сумма путем суммирования по модулю два
всех байтов файла. Практически всякое изменение кода программы приводит к
изменению контрольной суммы файла.
Ревизоры сначала запоминают сведения о состоянии программ и
системных областей дисков (загрузочного сектора и сектора с таблицей
разбиения жесткого диска). Предполагается, что в этот момент программы и
системные области дисков не заражены. После этого с помощью ревизора
можно в любой момент времени сравнить состояние программ и системных
областей дисков с их исходными состояниями. О выявленных несоответствиях
ревизор сообщает пользователю. Ревизоры контролируют файловую систему,
отслеживая перемещение, переименование, создание и удаление файлов и папок
(каталогов).
Доктора-ревизоры не только обнаруживают изменения в файлах и
системных областях дисков, но и могут в случае обнаружения изменений
вернуть их в исходное состояние.
Антивирусная программа ADinf (Advanced Diskinfoscope, автор —
Д. Мостовой) относится к классу ревизоров. Антивирус имеет высокую
скорость работы, способен с успехом противостоять вирусам, находящимся в
памяти. Он позволяет контролировать диск, читая его по секторам через BIOS и
не используя системные прерывания DOS, которые может перехватить вирус.
В отличие от полифагов, ADinf не использует в своей работе «портреты»
(сигнатуры) конкретных вирусов. Поэтому ADinf особенно эффективен при
обнаружении новых вирусов, противоядие для которых еще не придумано.
Ревизор ADinf может быть дополнен лечащим блоком ADinf Cure Module.
Антивирусы-фильтры — это резидентные программы (сторожа),
которые оповещают пользователя обо всех попытках какой-либо программы
выполнить подозрительные действия. Фильтры контролируют следующие
операции:
 обновление программных файлов и системной области диска;
 форматирование диска;
 резидентное размещение программ в ОЗУ.
Обнаружив попытку выполнения таких действий, сторож (монитор)
сообщает об этом пользователю, который принимает окончательное решение по
выполнению данной операции. В качестве примера такой антивирусной
программы можно назвать VSafe. Заметим, что она неспособна обезвредить
даже известные вирусы. Для «лечения» обнаруженных фильтром вирусов
нужно использовать программу - доктор.
К последней группе относятся наименее эффективные антивирусы —
вакцинаторы (иммунизаторы). Они записывают в вакцинируемую программу
признаки конкретного вируса так, что вирус считает ее уже зараженной, и
поэтому не производит повторное инфицирование. Нужно отметить, что этот
вид антивирусных программ морально устарел.
Среди зарубежных антивирусных программ чаще других упоминаются в
печати программы Dr Solomon's Anti-Virus 7.0, McAfee VirusScan 3.0, Norton
AntiVirus 4.0.
Рассмотрим основные меры по защите ЭВМ от заражения вирусами.
 Необходимо оснастить ЭВМ современными антивирусными
программами и постоянно обновлять их версии.
 При работе в глобальной сети обязательно должна быть установлена
программа-фильтр (сторож, монитор).
 Перед считыванием с дискет информации, записанной на других
ЭВМ, следует всегда проверять эти дискеты на наличие вирусов.
 При переносе на свой компьютер файлов в архивированном виде
необходимо их проверять сразу же после разархивации.
 При работе на других компьютерах необходимо всегда защищать
свои дискеты от несанкционированной записи.
 Целесообразно делать архивные копии ценной информации на
других носителях информации.
 Не следует оставлять дискету в дисководе при включении или
перезагрузке ЭВМ, так как это может привести к заражению
загрузочными вирусами.
 Антивирусную проверку желательно проводить в «чистой»
операционной системе, т. е. после ее загрузки с отдельной системной
дискеты.
 Следует иметь ввиду, что невозможно заразиться вирусом, просто
подключившись к Интернету. Чтобы вирус активизировался,
программа, полученная с сервера из сети, должна быть на
компьютере-клиенте запущена на выполнение.
 Получив электронное письмо, к которому приложен исполняемый
файл, не следует запускать этот файл без предварительной
проверки. По электронной почте часто распространяются троянские
программы.
 Целесообразно иметь под рукой аварийную загрузочную дискету, с
которой можно будет загрузиться, если система откажется сделать это
обычным образом.
 При установке большого программного продукта необходимо вначале
проверить все дистрибутивные файлы, а после инсталляции продукта
повторно произвести контроль наличия вирусов.
 Последняя — не совсем серьезная мера. Если вы хотите полностью
исключить вероятность попадания вирусов в ваш компьютер, то не
набирайте на клавиатуре непонятных для вас программ, не
используйте дискеты, лазерные диски, магнитную ленту для ввода
программ и документов. Отключитесь от локальной и глобальной
сетей. Не включайте питание, так как возможно, что вирус уже зашит
в ПЗУ.
Нужно иметь в виду, что не существует антивирусных программ,
которые могут выявлять все типы вирусов. Но принципиальная возможность их
создания всегда имеется. Проблема состоит в том, что некоторое время новые
типы вирусов могут не обнаруживаться антивирусными программами. Это
время требуется разработчикам антивирусных программ для создания нужного
«противоядия». Поэтому пользователям необходимо постоянно обновлять базы
своих антивирусных программ.
Как и всякие автоматические средства, антивирусные программы могут
совершать ошибки первого и второго родов: пропускать имеющиеся вирусы и
давать ложные сигналы даже при отсутствии вирусов.
В ряде программ используется так называемое эвристическое
сканирование, основанное на вероятностном методе выявления вирусов. При
эвристическом сканировании антивирусная программа отыскивает характерные
для вирусов комбинации команд (перезапись, удаление и т. п.). Для таких
программ не требуется обновления портретов вирусов (сигнатур), и они
способны обнаружить новые разновидности вирусов.
5.5. Основные понятия программирования
В этом разделе рассматриваются общие сведения о языках
программирования, описаны основные свойства и способы представления
алгоритма, проанализированы базовые структуры программирования.
5.5.1. Языки программирования
Языки программирования являются искусственными языками, в них
синтаксис и семантика строго определены. Поэтому языки программирования, в
отличие от естественных языков, не допускают многозначных и произвольных
толкований.
Синтаксис — это набор правил, которые определяют основные
внутренние структуры и последовательности символов, допустимых в языке
программирования. Семантика — это значения языковых единиц (слов,
словосочетаний, предложений).
Составление программ для ЭВМ первого поколения велось
исключительно на машинном языке, который представляет собой свод правил
кодирования действий ЭВМ с помощью чисел. Для всех ЭВМ «понятна» только
двоичная система счисления (СС), которая для сокращения записи часто
заменяется восьмеричной или шестнадцатеричной СС.
Более высоким уровнем, по сравнению с машинными языками, являются
машинно-ориентированные языки символического кодирования. Основной
принцип создания языков символического кодирования состоит в замене
машинных кодов на их буквенные обозначения, а также в автоматизации
процесса распределения памяти и диагностики ошибок. Такой машинноориентированный язык получил название языка Ассемблера.
ЭВМ «понимает» только машинный язык, только команды, операнды и
адреса, записанные с помощью двоичных чисел. Поэтому для преобразования
программы, написанной на языке Ассемблера, в машинные коды необходим
«переводчик».
Перевод программы, написанной на языке Ассемблера, на машинный
язык осуществляется с помощью транслятора (переводчика) — специальной
программы, которая имеет созвучное название: ассемблер.
Недостатком машинно-ориентированных языков является невозможность
выполнения программы, составленной для процессора одного типа, на ЭВМ,
которая построена на процессоре другого типа. Другими словами, вид
программы зависит от типа машины.
На следующем уровне развития языков находятся процедурноориентированные языки. В отличие от машинно-ориентированных языков,
синтаксис и семантика этих языков не зависят от состава имеющихся команд
конкретной ЭВМ (конкретного процессора). Привязку составленной программы
к конкретному типу ЭВМ осуществляет транслятор (программа-переводчик).
После ввода в ОЗУ исходной программы, составленной на языке
программирования высокого уровня, осуществляется ее трансляция. В
результате создается программа на машинном языке, т. е. программа, состоящая
из команд того процессора (той машины), с помощью которого будет решаться
задача.
Процесс перевода программы и процесс ее исполнения могут
происходить двумя способами. Первый способ, называемый компиляцией,
заключается в том, что процесс выполнения программы ЭВМ осуществляется
после того, как процесс перевода полностью завершен. Для компиляции
характерно то, что осуществляющая ее программа-транслятор во время
выполнения программы уже не нужна и потому не находится в ОЗУ, тем самым
достигается экономное использование ОЗУ.
Второй способ — интерпретация — предполагает, что отдельные
операторы (или другие части исходной программы) сразу после трансляции
выполняются, после чего та же процедура совершается над другими
операторами и т. д. При интерпретации во время выполнения рабочей
программы транслятор находится в ОЗУ, т. е. занимает дополнительный объем
оперативной памяти. Кроме того, процесс решения задачи замедляется, т.к.
между отдельными этапами выполнения рабочей программы управление
передается транслятору.
Интерпретатор можно сравнить с переводчиком, который выполняет
устный синхронный перевод с одного естественного языка на другой (например,
с английского языка на русский). Интерпретатор переводит и сразу выполняет
программу последовательно, строчку за строчкой.
Компилятор можно сравнить с переводчиком, который делает
письменные перевод статьи или книги. Компилятор перед выполнением
программы вначале полностью переводит весь текст программы на машинный
язык.
Интерпретатор работает медленнее, чем компилятор, занимает больше
места в оперативной памяти. Однако при отладке новых программ удобнее
работать с интерпретатором, так как он позволяет после исправления ошибки
продолжить выполнение программы с места остановки. При работе с
компилятором после устранения ошибки необходимо повторно компилировать
программу и запускать ее с самого начала, а не с места расположения
обнаруженной ошибки.
Существуют комбинированные способы трансляции и выполнения
программ. Например, язык Java позволяет сначала компилировать программу в
некоторый промежуточный код (байт-код), а затем выполнять его с помощью
интерпретатора (виртуальной Java-машины).
В дальнейшем мы будем рассматривать общие характеристики
различных языков программирования высокого уровня. При этом язык
программирования нужно представлять себе как некоторый транслятор
(интерпретатор или компилятор), который переводит программу, написанную
на языке программирования, понятном для человека, в машинные коды, с
которыми работает ЭВМ.
Запись программы на процедурно-ориентированном языке достаточно
близка к общепринятой математической записи, компактна и удобна для
восприятия. Рассмотрим, как выглядит операция суммирования двух чисел,
например 7 и 5, запрограммированная на различных языках:
1) на машинном языке:
Адрес
1101 0001
1101 0010
1101 0011
1101 0100
1101 0101
Команда
0011 1111
0000 0101
0000 0110
0000 0111
1000 0000
2) на машинно-ориентированном языке (микропроцессорный комплект
580-й серии): MVI A,5 MVI B, 7 ADD B;
3) на процедурно-ориентированном языке: А = 7 + 5.
Из приведенных примеров видно, что наиболее проста для понимания
последняя запись.
Одним из первых процедурно-ориентированных языков стал язык
Фортран (FORmula TRANslation — преобразование формул). Фортран
является компилирующим языком. Он не только просуществовал до наших
дней, но и удерживает одно из первых мест в мире по распространенности.
Среди причин такого долголетия можно отметить простую структуру как
самого Фортрана, так и предназначенных для его преобразования в машинные
коды трансляторов. Фортран используется в сфере научных и инженернотехнических вычислений.
Язык Фортран продолжает развиваться и совершенствоваться, оказывая
сильное влияние на создание и развитие других языков программирования,
например, Фортран заложен в основу диалогового языка Бейсик (BASIC — beginners all-purpose symbolic instruction code). Это переводится так: многоцелевой
язык символьных команд для начинающих.
Язык
Бейсик
позволил
привлечь
к
изучению
технологии
программирования большое число людей из различных предметных областей
(непрофессионалов-программистов). В момент его создания он предназначался
в основном для обучения программированию. Современные версии языка
Бейсик позволяют решать сложные задачи на профессиональном уровне.
Первые версии Бейсика являлись интерпретаторами, что позволяло в
диалоговом режиме быстро редактировать новые программы. Последние версии
Бейсика позволяют использовать оба вида трансляции: и компиляцию, и
интерпретацию. При разработке программ язык работает как интерпретатор, а для
получения конечного варианта программа компилируется в машинные коды.
Такой вариант позволяет получить высокую скорость отладки программы и
одновременно большую скорость работы конечного продукта.
Алгол-60 (ALGOritmic Language — алгоритмический язык) — это более
совершенный язык, чем Фортран.
Решение экономических задач (учет материальных ценностей,
выпущенной предприятием продукции, личного состава) в 60-х годах ХХ
столетия удобно было выполнять на языке Кобол.
Языки Лисп (Lisp) и Пролог (Prolog) были разработаны для решения
задач, относящихся к искусственному интеллекту. Эти языки позволяют
обрабатывать текстовую (символьную) информацию, решать логические и
математические задачи. Например, на базе языка Лисп разработана известная
математическая система Derive.
Язык Пролог является непроцедурным языком логического
программирования. Он выбран основным языком при разработке ЭВМ пятого
поколения, которые будут обладать искусственным интеллектом.
Язык ЛОГО (LOGO) используется для обучения детей основам
программирования. Характерной особенностью языка является применение так
называемой «черепашьей» графики (движущаяся черепаха оставляет за собой
след в виде рисунка).
Обилие алгоритмических языков, появившихся в период разработки и
внедрения второго поколения ЭВМ, объясняется невозможностью ни одним из
существовавших языков удобно описывать разнообразные задачи. Третье
поколение ЭВМ поставило на повестку дня вопросы поиска нового подхода к
созданию универсального алгоритмического языка.
Одной из попыток такого рода является создание фирмой IBM языка ПЛ/1
(Programming Language). Он основан на языках Фортран, Алгол и Кобол.
В 1971 г. появилась публикация с описанием языка Паскаль (Pascal),
который является преемником Алгола-60. Он имеет конструкции, аналогичные
существующим в ПЛ/1 и Алголе-60, однако более лаконичен. В Паскале
проводятся идеи структурного программирования. Благодаря хорошей
структурированности программ, написанных на языке Паскаль, над разработкой
сложных проектов могут одновременно работать несколько программистов.
На основе языка Паскаль в конце 70-х годов ХХ в. по заказу
Министерства обороны США во Франции был разработан язык Ада (Ada). Язык
назван в честь первой программистки Augusta Ada Byron, работавшей с
Ч. Бэббиджем. Это хорошо структурированный язык, однако слишком
громоздкий и многословный.
Язык Ада используется при разработке программного обеспечения для
компьютерных систем, встроенных в самонаводящиеся ракеты, космические
объекты, самолеты. Эти системы работают в реальном масштабе времени, где
накладываются жесткие требования на быстродействие. Язык Ада
поддерживает параллельное выполнение задач в многомашинных и в
многопроцессорных вычислительных системах. В этом случае программа
делится на части и одновременно выполняется на нескольких процессорах.
Развитие современной вычислительной техники характеризуется
тенденцией
распространения
многопроцессорных
компьютеров
и
вычислительных сетей. Поэтому в области программного обеспечения
вызывают все больший интерес языки, поддерживающие разработку
распределенных программ (т. е. программ, которые выполняются с помощью
нескольких процессоров или машин).
Одним из таких языков является Linda — язык, предназначенный для
параллельной обработки данных. При использовании языка Linda
вычислительный процесс делится на группу процессов, среди которых
выделяется главный. Указанные процессы осуществляются одновременно на
нескольких процессорах и синхронизируются один относительно другого.
Кроме языков Ада и Линда, существуют и другие языки параллельного
программирования, например, Erlang, Modula, Occam.
Язык СИ достаточно полно отражает возможности современных
компьютеров, позволяя писать эффективные программы, не прибегая к
сложным конструкциям языков Ассемблера. На этом языке написана
популярная операционная система UNIX.
Перспективным направлением дальнейшего развития технологии
программирования явилось создание объектно-ориентированных языков.
Объекты представляют собой многократно используемые программные
модули. Структурно объекты состоят из двух частей: методов и переменных.
Методы представляют собой набор процедур и функций, определяющих
алгоритм работы объекта. Переменные могут содержать как простые данные
(числа, массивы, текст и т. д.), так и информацию сложной структуры (графика,
звуки и т. д.).
Однотипные объекты объединяются в классы.
Объектно-ориентированное программирование (ООП) характеризуется
следующими
тремя
признаками:
инкапсуляцией,
наследованием
и
полиморфизмом.
С помощью инкапсуляции данные одного объекта могут быть
защищены от других объектов. Такое «сокрытие» информации позволяет
объектам спрятать их внутреннее устройство. При этом объект можно
использовать, ничего не зная о механизме его работы и ненужных деталях.
При инкапсуляции объект заключается в непроницаемую оболочку, и
только его внешний вид доступен для обозрения. Объект отвечает за
корректность реализации своей функциональной способности, а вызывающая
объект программа — за корректность использования объекта.
С помощью механизма наследования одни классы объектов могут
происходить от других. Дочерний класс способен унаследовать от своего
родительского класса все его методы и данные, причем потомок может
унаследовать способности и от нескольких родителей.
Полиморфизм — присвоение единого имени процедуре, которая
передается по иерархии объектов, с выполнением этой процедуры способом,
соответствующим каждому объекту в иерархии.
Первым объектно-ориентированным языком программирования был
Simula 67 (Симула). Он разработан в конце 60-х годов ХХ столетия в Норвегии
для решения задач моделирования.
Первоначально прохладному отношению к языку Симула способствовало
то обстоятельство, что он был реализован как интерпретируемый (а не
компилируемый) язык, что в 60-е годы было существенным недостатком, так
как интерпретация связана со снижением скорости выполнения программ.
Типичные современные объектно-ориентированные языки, такие как
Си++ или Smalltalk, содержат инструменты, которые максимально облегчают
повторное использование созданных программных модулей.
Язык Smalltalk — один из наиболее развитых и мощных объектноориентированных языков программирования. В нем присутствуют все основные
признаки объектно-ориентированного языка, в том числе наследование,
полиморфизм и инкапсуляция данных.
Дельфи (Delphi) разработан фирмой Borland на базе языка ТурбоПаскаль. Чаще всего этот язык программирования используется для работы с
базами данных по технологии клиент-сервер. Основной упор в Дельфи делается
на максимальном повторном использовании имеющихся программ. Это
позволяет разработчикам строить приложения из уже существующих объектов,
а также дает им возможность создавать свои собственные объекты.
Первая версия Visual Basic появилась в 1991 г. Он близок к объектноориентированным языкам, но по-прежнему остается процедурным языком.
Этот язык широко распространен, он интегрирован в пакеты Microsoft
Office: СУБД MS Access, электронные таблицы MS Excel, текстовый редактор
MS Word.
Язык гипертекстовой разметки HTML (HyperText Markup Language) был
предложен Тимом Бернерсом-Ли в 1989 г. в качестве основного компонента
технологии распределенной гипертекстовой системы World Wide Web (WWW).
Результирующий документ, составленный на языке HTML, кроме текста
может содержать иллюстрации, аудио- и видеофрагменты. В основу
гипертекстовой разметки положена теговая модель описания документа.
Теги (иногда таги или тэги) — это скобки, между которыми записаны
команды, указывающие, как отображать данный фрагмент текста Webстраницы.
Язык DHTML (Dynamic Hyper Text Markup Language) является
расширением, развитием языка HTML. Он позволяет создавать динамические,
движущиеся объекты, подсвечивающиеся кнопки, бегущие строки и др.
Для придания Web-страницам интерактивности используется язык PERL.
Язык является интерпретируемым. Он создан программистом Лари Уоллом
(Larry Wall) для обработки текстов и файлов. PERL расшифровывается, как
Practical Extraction and Report Language (язык для практического извлечения
данных и составления отчетов).
С помощью PERL Web-дизайнеры реализуют интерактивные средства
Интернета гостевые книги, чаты, поисковые системы, доски объявлений,
службы рассылок виртуальных открыток и др. Пользователь имеет возможность
заполнить соответствующие формы на Web-странице, и введенная информация
будет обработана с помощью программ, написанных на языке PERL.
Язык моделирования виртуальной реальности Virtual Reality Modelling
Language (VRML), предназначен для описания сред, имитирующих трехмерное
пространство. Он является расширением гипертекстового языка разметки
HTML, используемого для описания плоских изображений.
Данный язык не только позволяет создать трехмерную среду, но и
указать места расположения источников освещения и точек обзора. Более того,
VRML позволяет пользователю перемещаться в созданной виртуальной
реальности.
Чаще всего язык VRML применяется в архитектуре для моделирования и
проектирования зданий и помещений, в торговле — для выбора вариантов
удобной компоновки мебели и оборудования, в химии — для визуализации
молекул в процессе синтеза.
Язык Java (произносится джава или ява) предназначен для составления
программ (приложений), которые работают в сетях. Программы, написанные на
языке Java, часто используются для создания динамической рекламы в
глобальной сети (анимация, телетайпные ленты, мерцающие надписи). Java-
приложения «оживляют» статические картинки Web-страниц и тем самым
привлекают внимание пользователей.
Язык Java является объектно-ориентированным языком. Java позволяет
разрабатывать и настраивать приложения (синоним слова «программы»). В то
же время Java во многом сохраняет синтаксис и стиль программирования
языков С и С++.
Достоинством языка является то, что он независим от конкретной
архитектуры ЭВМ, и Java-приложения могут работать на различных типах ЭВМ
(на различных процессорах), под управлением различных операционных
систем: Windows, UNIX и Macintosh и др. Такое свойство особенно
привлекательно при работе в глобальной сети, состоящей из множества ЭВМ,
реализованных на различных платформах.
Язык поддерживает технологию клиент-сервер. С помощью языка Java
сложные приложения разбиваются на небольшие модули, которые называются
компонентами (приложениями) или апплетами (applets). Компоненты
располагаются на сервере и при работе передаются по сети на ЭВМ клиента
(пользователя), где и исполняются.
При работе интерпретатора языка Java исходные тексты транслируются
(преобразуются) в псевдокод виртуальной Java-машины. Заметим, что
виртуальная Java-машина фактически не существует в виде реальных
микросхем и других устройств, а представляет собой программный эмулятор
(имитатор), выполненный на имеющейся у пользователя аппаратной платформе.
Псевдокод чаще всего называют байт-кодом.
Программный эмулятор виртуальной Java-машины включен в состав
распространенных программ-исследователей глобальных сетей (браузеров),
таких как Microsoft Интернет Explorer и Netscape Navigator.
Корпорации SUN Microsystems и Netscape Communications создали язык
JavaScript. JavaScript относится к языкам сценариев, которые позволяют
«склеивать» готовые компоненты (вызывать подпрограммы при совершении
каких-то событий). JavaScript - не единственный язык управления сценариями
просмотра документов. Язык VBScript, созданный на основе языка Visual Basic,
используется для решения таких же задач.
Управлять сценарием просмотра (т. е. последовательностью просмотра)
можно и с помощью Java-апплетов. Активные объекты Java выполняются
виртуальной машиной Java, которая не позволяет загруженному байт-коду
получить доступ к другим частям компьютера.
В технологии ActiveX применяется иной подход. Элементы управления
ActiveX могут непосредственно обращаться к жесткому диску и другим
устройствам, что теоретически дает возможность создать элемент управления,
который опасен для данного компьютера (например, можно тайно собирать и
передавать информацию об используемом программном обеспечении).
Языки программирования (ЯП) по своим возможностям и времени
создания принято делить на несколько поколений (Generation Language GL).
Каждое из последующих поколений по своей функциональной мощности
качественно отличается от предыдущего. К сегодняшнему дню насчитывается
пять поколений ЯП.
Сведения о некоторых языках программирования приведены в табл. 1.
Таблица 1
Язык
Ada
Ада
Algol
Алгол
APL
АПЛ
DELPHI
Дельфи
BASIC
Бейсик
С
СИ
C++
COBOL
Кобол
FORT
FORTRAN
Фортран
HTML
LISP
Лисп
LOGO
ЛОГО
Pascal
Паскаль
PERL
PL/1
ПЛ/1
PROLOG
Пролог
SIMULA
Симула
Java
Джава
Годы
разработки
Автор
1979—1980
Jean Ichbiah
1960
1961—1962
Фирма,
организация
Cii-Honeywell Bull
(Франция)
International
commitee
Kenneth Iverson,
Adin Falkoff
IBM
1995
1964—1965
1972—1973
1980
1959—1961
1971
1950—1958
1989
1956—1960
1968—1970
Borland
John Kemeny,
Thomas Kurtz
Dennis
Ritchie
Bjarne
Stroustrup
Grace Murray
Hopper
Charles H. Moore
John
Backus
Dartmouth College
Bell
Laboratories
Bell
Laboratories
IBM
CERN,
(Женева)
Тим Бернерс-Ли
John
McCarthy
Seymour
Papert
1967—1971
Niklaus
Wirth
1986
Larry Wall
Massachusetts
Institute of Techn.
Federal Institute of
Technology
(Швейцария)
1964—1966
IBM
1978
Алан Калмероэ
1967
Оле-Йохан Дал,
Кристен Нигаард
Норвежский ВЦ
1995
Джеймс Гослинг
Sun Microsystems
5.5.2. Основные свойства и
способы представления алгоритма
Алгоритм —
точное
описание
способа
решения
задачи,
устанавливающее состав операций и последовательность их выполнения.
Любой алгоритм должен обладать следующими свойствами:
— повторяемостью получаемого результата при многократных расчетах
с одними и теми же исходными данными;
— результативностью — обязательным получением некоторого
результата (числа, таблицы, текста, звука, изображения и т. д.) или сигнала о
том, что данный алгоритм неприменим для решения поставленной задачи;
— массовостью — возможностью получения результата при различных
исходных данных для некоторого класса сходных задач;
— дискретностью — возможностью разбиения алгоритма на отдельные
элементарные действия.
Существуют следующие формы представления алгоритма:
 словесная (текстуальная);
 графическая;
 на языках программирования.
Словесная форма представления алгоритма имеет ряд недостатков. Для
достаточно сложных алгоритмов описание становится слишком громоздким и
ненаглядным. Эта форма представления обычно используется лишь на
начальных стадиях разработки алгоритма.
Приведем пример словесной формы описания алгоритма.
Чтобы перейти улицу, нужно посмотреть налево, убедиться в отсутствии
приближающегося транспорта, дойти до середины улицы, посмотреть направо,
убедиться в отсутствии близко идущего транспорта, продолжить движение
через улицу. При наличии движущихся транспортных средств нужно ждать,
когда транспорт проедет.
Графическая форма представления алгоритмов является более
компактной и наглядной. Алгоритм изображается в виде последовательности
связанных между собой блоков, каждый из которых соответствует выполнению
одного или нескольких операторов. Такое графическое представление
называется блок-схемой алгоритма.
Условные графические обозначения символов, используемых для
составления блок-схемы алгоритма, стандартизированы. Некоторые, часто
используемые, обозначения приведены в табл. 1.
Отдельные блоки алгоритмов соединяются между собой линиями
потоков информации, которые проводятся параллельно внешней рамке чертежа.
Направления линий потока сверху вниз и слева направо принимаются за
основные и, если линии потоков не имеют изломов, стрелками не обозначаются.
Этап вычисления изображается прямоугольником, внутри которого
записывается содержание этого этапа. Проверка условия изображается ромбом.
Ввод исходных данных и вывод результатов изображается параллелограммами,
внутри которых пишутся слова «ввод» или «вывод» и перечисляются
переменные, подлежащие вводу или выводу.
Рассмотрим блок-схему алгоритма решения квадратного уравнения
ax2 + bx + c = 0.
Начало
Ввод
a,b,c
d = b2 —
4ac
d0?
Вычисление
x1
да
нет
Вывод:
«Корней
нет»
Вычисление
x2
Вывод
x1 и x2
Конец
Представление алгоритма в виде блок-схемы является промежуточным,
так как алгоритм в таком виде не может быть непосредственно выполнен ЭВМ.
Составление блок-схемы алгоритма является важным и в большинстве случаев
необходимым этапом решения задачи на ЭВМ, значительно облегчающим
процесс составления программ.
Алгоритм, записанный на языке программирования, называется
программой.
5.5.3. Базовые структуры программирования
Алгоритм любой сложности может быть представлен комбинацией трех
базовых структур:
 следование;
 разветвление (альтернатива, если — то — иначе);
 цикл (повторение).
Характерной особенностью этих структур является наличие у них одного
входа и одного выхода.
Базовая структура «следование» означает, что несколько операторов
должны быть выполнены последовательно друг за другом и только один раз за
время выполнения данной программы. Совокупность связанных базовых
структур «следование» называется линейным вычислительным алгоритмом.
Под оператором понимается формальная запись предписания для
выполнения некоторой последовательности действий.
Второй базовой структурой является «разветвление». Эта структура
обеспечивает, в зависимости от результата проверки условия (истина или ложь),
выбор одного из альтернативных путей работы алгоритма, причем каждый из
путей ведет к общему выходу.
Возможные пути выполнения алгоритма помечают соответствующими
метками: истина/ложь, да/нет, 1/0 и т. д.
В частном случае может оказаться, что для одного из выбранных путей
действий предпринимать не нужно. Такая структура получила название «обход»
или структура «если — то».
Вход
Вход
да
Оператор 1
Пров.
услов.
нет
Оператор 2
Выход
Структура Если — То —
Иначе
да
Пров.
услов.
нет
Оператор
Выход
Структура Если — То
(обход)
Алгоритм, в состав которого входит базовая структура «разветвление»,
называется разветвляющимся.
Если в алгоритме имеется три и более направления ветвления, то его
можно представить в виде совокупности нескольких базовых структур «если —
то — иначе». Такую разновидность структуры «разветвление» часто называют
«множественный выбор».
Третья базовая структура «цикл» обеспечивает повторное выполнение
или, другими словами, циклическую работу операторов.
Различают две разновидности этой структуры: «цикл — пока» и «цикл
— до».
Группа операторов, повторяющаяся в цикле, называется телом цикла.
Основное отличие структуры «цикл — пока» от структуры «цикл — до»
заключается в том, что в первой структуре операторы тела цикла в зависимости
от условия могут не выполняться совсем, тогда как в структуре «цикл — до»
тело цикла будет выполняться хотя бы один раз. Легко заметить, что в
структуре «цикл — пока» проверка выполнения условия осуществляется перед
выполнением операторов тела цикла, а в структуре «цикл — до» — после
прохождения тела цикла.
Вход
Пров.
услов.
Вход
нет
Тело
цикла
да
Тело
цикла
да
Выход
Цикл — Пока
Пров.
услов.
нет
Выход
Цикл — До
Циклы могут содержать внутри себя другие циклы. Такие структуры
называются вложенными циклами.
Алгоритмы, имеющие в своем составе базовую структуру «цикл»,
называются циклическими.
Рассмотренные выше базовые структуры рекомендуется применять для
соблюдения структурного подхода к разработке алгоритмов.
Реальные алгоритмы представляют собой совокупность всех рассмотренных
базовых структур.
5.5.4. Visual Basic — основные сведения
Появление первой версии языка Basic датируется 1964 г. До 1975 г. язык
Basic был реализован практически на всех типах ЭВМ, существовавших тогда в
мире. Рост популярности языка происходил в 1976 — 1978 гг. одновременно с
массовым распространением микроЭВМ и ПЭВМ.
В первых конструкциях ПЭВМ интерпретатор языка Basic располагался в
ПЗУ. Для тех конструкций ПЭВМ была характерна малая емкость оперативной
и постоянной памяти. Это приводило к сращиванию в одном ПЗУ языка
программирования и драйверов для устройств ввода-вывода.
Таким образом, в зависимости от набора аппаратных средств ПЭВМ и
емкости памяти ПЗУ число инструкций (команд, операторов, функций) языка
сильно изменялось. Только в отечественных публикациях упоминается более
трех десятков диалектов (разновидностей) языка Basic.
Версия языка, известная под именем MBASIC, стала в конце 70-х —
начале 80-х годов ХХ столетия промышленным стандартом, и ее разновидности
были разработаны фирмой Microsoft для многих восьмиразрядных микроЭВМ.
В 1991 г. для ПЭВМ типа IBM фирмой Microsoft была разработана версия языка,
получившая название BASICA. Эта версия (и ее разновидности MSX-BASIC,
GW-BASIC и др.) была промышленным стандартом для целого ряда 16разрядных ПЭВМ.
Первой реализацией языка Basic в бывшем СССР была система
программного обеспечения для ЭВМ типа М-220, разработанная в 1970—
1971 гг. группой сотрудников под руководством Ю.Л. Кеткова.
Наибольшими отличиями от ранних версий Бейсика обладали диалекты
QuickBasic 4.5, QBasic (усеченный QuickBasic), TurboBasic и PDS 7.1. Версия
QBasic входила в состав операционных систем MS-DOS и поэтому имела
достаточно широкое распространение.
В своем развитии Basic шел от процедурного языка к языку объектноориентированного программирования (ООП). При этом разработка программы
сводится к созданию графического интерфейса, на котором присутствуют
объекты. Для каждого объекта составляется процедура, которая запускается от
какого-то события, например, от нажатия кнопки.
Рассмотрим важнейшие понятия ООП.
Объект — модель некоторой реальной сущности, которая поддается
хранению и обработке, способная воздействовать на другие объекты и
вычислительную среду путем посылки сообщения и реагировать на
принимаемые сообщения (например, менять свое состояние).
Сообщение — совокупность данных определенного типа, передаваемых
объектом-отправителем объекту-получателю. Получатель реагирует (или не
реагирует) на сообщение выполнением некоторой операции (метода).
Метод определяется выполняемой объектом функцией, алгоритмом его
работы.
Состояние — совокупность всех свойств данного объекта.
Свойства — перечень параметров объекта, которые определяют внешний
вид и поведение объекта, выделяют уникальные особенности каждого
экземпляра. К свойствам относятся: имя, тип, значение, цвет, размер и др.
Свойства задаются с помощью переменных состояния.
События — сигналы, формируемые пользователем, операционной
системой или работающей программой. Типичными примерами событий
являются перемещения и щелчки мыши, сообщения, поступающие от таймера и
сообщения о возникновении ошибок и т. д.
Элемент
управления —
стандартный
объект,
используемый
операционной системой для ввода информации (например, командная кнопка,
переключатель, текстовое поле, включатель и т. д.).
Класс — совокупность объектов с одинаковыми свойствами, т. е. с
одинаковыми наборами переменных состояния и методов.
В основе ООП лежат три важных понятия: инкапсуляция, наследование и
полиморфизм. Напомним их определения.
Инкапсуляция — механизм скрытия (маскировки) всех внутренних
деталей объекта, не влияющих на его внешнее поведение.
Наследование — процесс, посредством которого один объект может
приобретать свойства другого объекта и добавлять к ним черты (свойства),
характерные только для него.
Полиморфизм — свойство, которое позволяет одно и то же имя объекта
использовать для решения нескольких задач (для задания общих действий для
класса объектов). Другими словами, полиморфизм — это способность объектов
выбирать внутреннюю процедуру (метод), исходя из типа данных, принятых в
сообщении.
Рассмотрим области использования языка.
С помощью Microsoft VisualBasic (VB) можно совершенствовать
приложения Microsoft Office, создавать приложения по технологии клиентсервер и управлять базами данных. Пакет VisualBasic представляет собой
удобную среду для создания пользовательских интерфейсов (оболочек) при
решении нестандартных задач (например, разработка контролирующей
программы, браузера собственной конструкции и др.). Сильная сторона VB
состоит в том, что он позволяет вызывать процедуры из готовых библиотек.
VisualBasic позволяет создавать нестандартные элементы управления
(называемые элементами управления на базе ActiveX или кратко — ActiveXэлементами).
ActiveX представляет собой технологию Microsoft. Идея ActiveX
состоит в том, что можно создать или загрузить из Интернета небольшой
компонент, который увеличивает (расширяет) функциональные возможности
операционной системы или некоторого приложения (например, браузера).
Окно Проектов
Форма
Окно
Элементов
Окно Свойств
При первом запуске программы Visual Basic 6.0 пользователь видит
диалоговое окно «Новый проект» (на рисунке показан фрагмент диалогового
окна). На диалоговом окне видны вкладки: New (Новый), Existing
(Существующие), Recent (Недавние).
Щелчок по кнопке Открыть приведет к появлению следующего окна.
Пользовательский интерфейс VB содержит стандартные элементы —
вверху расположено Главное меню программы, ниже — стандартная панель
инструментов. Кроме того, на экране видны: слева — Окно Элементов (General),
в центре — Окно Формы (Form), справа вверху — Окно Проектов (Project),
справа внизу — Окно Свойств (Properties).
Форма представляет собой конструктор, на котором из готовых элементов
собирают необходимый пользовательский интерфейс. Сетка, нанесенная на
форму, облегчает выбор размеров объектов и их взаимное расположение. В
конечном итоге в процессе проектирования форма превращается в стандартное
окно операционной системы Windows.
Главное меню содержит пункты: File (Файл), Edit (Редактирование), View
(Вид), Project (Проект), Format (Формат), Debug (Отладка), Run (Запуск), Query
(Запрос), Diagram (Диаграмма), Tools (Инструменты), Add-Ins (Надстройка),
Window (Окно), Help (Помощь).
Панель инструментов содержит кнопки, с помощью которых вызываются
наиболее часто используемые команды.
Наряду с типичными кнопками, которые используются во всех
приложениях фирмы Microsoft, имеются специфические командные кнопки.
На рисунке показаны (слева направо): списки Add Standard EXE Project
(Добавить стандартный исполняемый проект), Add Form (Добавить форму) и
кнопка Menu Editor (Редактор меню).
Рассмотрим еще одну группу кнопок, расположенных на стандартной
панели.
Project Explorer (Окно Проектов), Properties Window (Окно Свойств), Form
Layout Window (Окно местоположения формы), Object Browser (Браузер
Объектов), Toolbox (Элементы управления), Data View Window (Окно просмотра
данных), Visual Component Manager (Диспетчер компонентов).
Следующие три кнопки предназначены для управления запуском и
остановкой созданного приложения (программы):
Слева находится кнопка Старт, затем кнопки Пауза и Стоп.
В Окне Элементов (иногда его называют панелью элементов или панелью
инструментов) располагаются объекты, которые могут устанавливаться на
форму. Перечислим основные элементы управления, находящиеся в Окне
Элементов.
Pointer (Указатель), PictureBox (Поле Рисунка), Label (Метка), TextBox
(Поле Текста), Frame (Рамка), CommandButton (Командная кнопка), CheckBox
(Включатель), OptionButton (Переключатель), ComboBox (Комбинированное
Поле), ListBox (Поле Списка), HscrollBar (Горизонтальная линия прокрутки),
VscrollBar (Вертикальная линия прокрутки), Timer (Таймер), DriveListBox
(Список дисков), DirListBox (Список директорий), FileListBox (Поле Списка
файлов), Shape (Фигуры), Line (Линия), Image (Рисунок), Data (Данные), OLE.
Рассмотрим порядок разработки простейшего калькулятора, внешний вид
которого показан на рисунке. Калькулятор будет выполнять четыре
арифметических действия с целочисленными
переменными.
В диалоговом окне «Новый проект» следует
выбрать пункт Standard.EXE. После щелчка по
кнопке Открыть в центре окна появляется пустая
форма (Form1)
На форме нужно расположить 10 кнопок с
изображением цифр от 0 до 9, а также кнопки
сложения, вычитания, умножения, деления, сброса
и равенства.
Для этого в Окне Элементов (General)
следует выбрать элемент управления — командную
кнопку (Command Button) и отметить ее границы на
форме. Затем, используя стандартные приемы копирования и вставки, подобает
разместить на форме 16 заготовок для будущих кнопок. Размеры и
местоположение кнопок изменяются с помощью стандартных приемов Drag and
Drop.
Используя элемент управления TextBox (Поле Текста), нужно разместить
над группой кнопок прямоугольную рамку, в которой будут отображаться
результаты вычислений на калькуляторе.
Поочередно активизируя каждую кнопку, надлежит нанести на них
названия кнопок (1,2,3…+,=). Для этого нужно изменить свойства Caption
(Заголовок) на соответствующие символы. Это выполняется в Окне Свойств.
Для того чтобы при первом запуске калькулятора на индикаторе был
виден ноль, в текстовом окне (на форме Form1) следует заменить надпись Text1
на цифру 0.
С помощью Окна Свойства нужно задать местоположение текста на
индикаторе калькулятора (сдвинуть цифры вправо). Для этого следует выбрать
свойство Alignment (Выравнивание) в Окне Свойств. С помощью списка,
расположенного в следующем столбце Окна Свойств, нужно выбрать свойство
Right Justify (Выровнять вправо).
На этом визуальное программирование заканчивается, далее следует
формировать код (составлять программу).
Методы (действия, выполняемые объектом) задаются с помощью
процедур (подпрограмм и операторов-функций).
Процедуры —
это
относительно
самостоятельные
фрагменты
программы, оформленные особым образом и обозначенные именами.
Процедуры помогают разбить программу на ряд независимых частей. При
вызове процедуры вступает в действие последовательность операторов, которые
находятся внутри этой процедуры.
Для формирования кода надлежит в Окне Проектов (Project) щелкнуть по
кнопке View Code (Просмотр кодов). В центре появится незаполненное окно
редактора кода. Здесь подобает вначале записать три строки, которые
определяют тип переменных:
Dim buffer As Integer
Dim oper As String
Dim fistt As Boolean
После этого переменная buffer становится целочисленной, переменная
oper — текстовой (символьной) переменной, а переменная fistt — булевой.
Назначение этих переменных таково: переменная buffer будет использована для
временного хранения вводимых чисел и результатов вычислений, переменная oper
будет запоминать, какая арифметическая операция должна выполняться, а
переменная fistt будет фиксировать момент окончания ввода одного числа в
калькулятор. Если переменная fistt будет иметь значение True (Истина), то это
означает, что при нажатии кнопки калькулятора показания индикатора будут
заменяться числом, указанным на кнопке. Если переменная fistt имеет значение
False (Ложь), то на индикаторе к имеющемуся числу в младший разряд будет
дописана цифра, изображение которой находится на кнопке калькулятора.
После определения типа переменных целесообразно вернуться к
изображению калькулятора, чтобы описать функции (т. е. задать методы),
выполняемые каждой кнопкой. Для этого нужно нажать кнопку View Object
(Посмотреть объект), которая расположена в Окне Проектов.
Далее, переходя от одной кнопки калькулятора к другой, надлежит задать
функции, которые они выполняют.
Ниже приведена подпрограмма загрузки формы.
При загрузке формы переменная fistt получает булево значение True
(Истина), т. е. ноль на индикаторе можно заменить набираемой цифрой. Строка
Private Sub Form_Load() является заголовком подпрограммы, а строка End Sub
показывает место ее окончания. Имя подпрограммы — Form_Load.
Private Sub Form_Load()
fistt = True
End Sub
Ниже приведен текст процедуры, фиксирующий момент нажатия кнопки
с изображением цифры 1.
Private Sub Command1_Click()
If fistt = True Then
Text1.Text = 1
fistt = False
Else
Text1.Text = Str$(Text1.Text) + 1
End If
End Sub
Рассмотрим назначение каждой строки составленной программы.
Строка
Private
Sub
Command1_Click()
является
заголовком
подпрограммы. Имя подпрограммы — Command1_Click. Строка End Sub
показывает место окончания данной подпрограммы.
Строка If fistt = True Then является заголовком блочного оператора
условной передачи управления. Если условие, записанное в заголовке,
выполняется, то на индикаторе появляется первая единица. Условием появления
единицы является выполнение равенства fistt = True. В результате выполнения
этого фрагмента программы переменная fistt получает булево значение False
(Ложь).
Если условие, указанное в заголовке оператора, не выполняется, то
вычислительный процесс идет к группе операторов, расположенных после
ключевого слова Else (Иначе). За счет этого на индикаторе добавляется новая
единица к числу, набранному на предыдущих этапах работы калькулятора.
Осуществляется это с помощью строки Text1.Text = Str$(Text1.Text) + 1.
End If показывает место окончания оператора условного перехода.
Аналогично построены остальные подпрограммы, которые служат для
обработки информации при нажатии цифровых клавиш 2, 3, 4 и т. д.
Следующая подпрограмма используется для сброса показаний
калькулятора в ноль при нажатии клавиши «С». Имя этой подпрограммы Command11_Click.
Private Sub Command11_Click()
fistt = True
Text1.Text = 0
buffer = 0
oper = 
End Sub
В результате выполнения этой подпрограммы переменная fistt получает
значение True (Истина), на индикаторе появляется 0, а переменные buffer и oper
обнуляются.
Следующая подпрограмма задает метод обработки информации при
нажатии клавиши сложения +. Имя этой подпрограммы — plus_Click.
Private Sub plus_Click()
If buffer <> 0 Then Call resul
buffer = Val(Text1.Text)
oper = +
fistt = True
End Sub
С помощью оператора условной передачи управления If…Then
проверяется содержимое буфера (переменная buffer). Если оно отлично от нуля,
то вызывается подпрограмма с именем resul. Она производит обработку
введенной ранее информации и выполнение арифметического действия,
указанного на предыдущем этапе работы. После этого в буфер помещается
результат, полученный при работе данной подпрограммы, символьная
переменная получает значение «+», а переменная fistt — логическое значение
«Истина».
Аналогично формируются подпрограммы, обрабатывающие остальные
арифметические операции.
При нажатии клавиши «=» запускается подпрограмма, которая вызывает
подпрограмму resul и устанавливает значение переменной fistt = True.
Private Sub result_Click()
Call resul
fistt = True
End Sub
Следующая подпрограмма определяет вид заданной пользователем
арифметической
операции
и
подсчитывает
полученный
результат.
Подпрограмме дано имя resul.
Private Sub resul()
Select Case oper
Case Is = +
Text1.Text = buffer + Text1.Text
buffer = 0
oper = 
Case Is = –
Text1.Text = buffer — Text1.Text
buffer = 0
oper = 
Case Is = *
Text1.Text = buffer * Text1.Text
buffer = 0
oper = 
Case Is = /
Text1.Text = buffer / Text1.Text
buffer = 0
oper = 
Case Else
End Select
End Sub
Выбор выполняемой операции начинается в строке Select Case oper, и
результат выбора зависит от значения символьной переменной oper. Такая
конструкция называется распределителем. Причем, если переменная oper имеет
значение «+», то выполняется строка Text1.Text = buffer + Text1.Text, т. е.
сложение содержимого индикатора и буфера. Если переменная oper имеет
значение «–», то вычислительный процесс благодаря строке Case Is = «–»
выполняет операцию вычитания: Text1.Text = buffer — Text1.Text и т. д.
За счет строк buffer = 0 и oper =  после выполнения арифметических
операций происходит очистка буфера и значения переменной oper.
End Select отмечает место завершения действия распределителя.
Для того чтобы откомпилировать составленную программу, нужно в меню File
(Файл) выбрать пункт Make Calc.EXE.
6. Прикладное программное обеспечение
В данном разделе рассматриваются наиболее популярные прикладные
программы: текстовые и графические редакторы, электронные таблицы, базы
данных, системы автоматизированного проектирования. Дается понятие об
искусственном интеллекте, экспертных системах, мультимедиа и виртуальной
реальности.
6.1. Текстовые редакторы
Представители многих профессий регулярно оформляют текстовые
документы (письма, заявления, служебные записки, отчеты, рекламные
материалы, приказы и т. п.). Для создания документов, подобных
перечисленным, предназначены прикладные программы — текстовые
редакторы, которые порой называют текстовыми процессорами.
Текстовые редакторы (ТР) позволяют:
 набирать новый текст, используя латинский и национальный
алфавиты, математические, химические и другие символы;
 просматривать и корректировать (редактировать) существующие
документы;
 разделять имеющийся документ на части и, наоборот, объединять
несколько документов в один;
 изменять масштаб изображения редактируемого документа;
 производить поиск и замену имеющихся цепочек символов;
 форматировать текст (т. е. устанавливать желаемые границы,
центрировать заголовки, менять размер шрифта, устанавливать разряженный
или уплотненный шрифт, менять межстрочный интервал и т. д.);
 выполнять несложные вычисления непосредственно в тексте;
 разбивать текст на страницы нужной длины и автоматически
нумеровать их;
 быстро перемещаться по тексту с помощью бегунков, специальных
клавиш и меток;
 работать сразу с несколькими документами (многооконный режим);
 вставлять в текст рисунки, видеоклипы, звуковые файлы;
 использовать макропоследовательности (макросы), которые упрощают
выполнение трудоемких операций, состоящих из нескольких команд;
 автоматически переносить слова на следующую строку и т. д.
Возможности текстовых редакторов столь разнообразны, что даже
одно их перечисление может занять недопустимо большой объем
публикации.
Число разработанных и используемых текстовых редакторов велико.
Перечислим лишь некоторые наиболее известные ТР.
Текстовый редактор Chiwriter имеет широкий набор символов. Кроме
русского и латинского алфавитов предусмотрены греческий алфавит,
математические знаки и другие специальные символы. Данный ТР позволяет
легко создавать новые символы, удобен для работы с математическими и
химическими формулами.
Редактор MultiEdit позволяет одновременно работать с большим числом
документов (до 100). Данный ТР целесообразно использовать для составления
программ на языках программирования Assembler, Pascal, Basic, так как он
может проверять синтаксис составляемых программ.
Отечественный редактор Лексикон (автор — Е.Н. Веселов) может
одновременно работать с десятью документами, находящимися в различных
окнах. Размеры последних, а также их расположение можно изменять по
собственному усмотрению.
Редактор Microsoft Word for Windows чаще называют MS Word. Этот
редактор практически вытеснил с российского рынка другие текстовые
редакторы.
Он использует все прогрессивные принципы, заложенные в
операционную систему Windows, например принцип WYSIWYG. Благодаря
этому принципу проблема выбора шрифта практически не беспокоит
пользователя. Механизм связывания и встраивания объектов — OLE — делает
встраивание рисунков в текст простым и естественным действием.
Для издания книг и других типографских материалов используются
издательские системы Page Maker, QuarkXPress и Ventura Publisher.
Редакторы снабжаются множеством сервисных свойств, облегчающих
работу пользователя. Число команд Главного меню столь велико, что может
привести в замешательство даже искушенного пользователя.
Современные ТР имеют возможность отменить выполнение некоторого
числа ошибочно сделанных операций (такой режим называется откатом).
Автосохранение позволяет автоматически записывать редактируемый
документ на жесткий диск через определенные промежутки времени, что
снижает вероятность потери текста из-за сбоев в системе электропитания.
ТР позволяет автоматически выделять цветом важные места в документе,
создавать автореферат, устанавливать защиту (пароль) на созданный файл. В
этом случае документ смогут прочитать лишь лица, знающие данный пароль.
ТР помогают сортировать слова по алфавиту, например:
До сортировки
Воронов
Галкина
Борисов
Андреев
После сортировки
Андреев
Борисов
Воронов
Галкина
ТР может автоматически подсчитывать число символов, слов, строк,
абзацев в документе (вести статистику).
Редакторы обладают искусственным интеллектом, они способны
дописывать некоторые слова, например, понедельник, вторник, январь, февраль
и т. д. Кроме того, редакторы «умеют» делать расстановку переносов, проверять
правописание и подсказывать, как правильно писать то или иное слово,
расставлять знаки пунктуации. ТР позволяют подбирать синонимы и антонимы
с помощью специального словаря — тезауруса.
Рассмотрим основные понятия, которые необходимы при работе с
текстовыми редакторами.
Символ — наименьший элемент, с которым оперирует текстовый
редактор. Примерами символов являются буквы, цифры, знаки пунктуации и др.
Левое
поле
Левый
отступ
Маркер
отступа
Отступ
слева
первой
строки
Маркер отступа
первой строки
Верхнее
поле
Правый
Маркер
отступ
отступа
справа
Правое
поле
Нижнее
поле
Слово — набор символов, ограниченный с двух сторон пробелами
(пустыми пространствами) или знаками препинания (точками, запятыми и т. д.).
Строка — набор слов или символов, расположенных в одну линию (без
переносов).
Предложение — набор символов и слов, ограниченный с двух сторон
знаками препинания (точками, восклицательными или вопросительными
знаками, многоточием).
Абзац — участок текста между двумя нажатиями клавиши Enter (Ввод,
перевод строки).
Страница — часть текста, ограниченная линиями разделения страниц.
Поля — области страницы, где не может размещаться текст.
Отступы — расстояния от границ левого и правого полей до текста.
Отступы могут быть нулевыми (малыми), и тогда границы текста будут
совпадать с границами полей.
Наглядно представить поля и отступы помогает следующий рисунок.
Установить отступы в MS Word удобно с помощью маркеров.
Продолжим рассмотрение основных терминов, относящихся к ТР.
Красная строка — первая строка абзаца, имеющая отступ вправо.
Атрибут текста — параметр, который может быть изменен. Атрибутами
текста являются размер символов, шрифт, цвет, величина отступа и т. д.
Стиль — группа подобранных пользователем атрибутов текста,
обозначенных уникальным именем и хранящихся совместно. Применение стиля
к выделенному фрагменту текста приводит к тому, что данный фрагмент текста
наследует все атрибуты текста, заложенные в данный стиль.
Стили задают внешний вид для различных элементов в документе,
например, заголовков, надписей под рисунками и основного текста. Стили
позволяют применить к абзацу или слову целую совокупность атрибутов
форматирования за одно действие.
Шаблон — особый вид документа (заготовка), предоставляющий
специальные средства для быстрого оформления документа. Шаблон может
содержать готовые рисунки или стандартный текст, которые повторяются во
всех документах такого типа. В качестве примера шаблона можно назвать бланк
доверенности, фирменный бланк предприятия.
Макрос — набор команд, сгруппированных вместе для упрощения
выполнения часто повторяющихся операций.
Автотекст — текстовые или графические элементы, которые могут быть
многократно вставлены в документ (скажем, обратный адрес, приветствие,
обращение и т. д.). Например, «С уважением, академик Дьяконов».
Автозамена — способ автоматического исправления наиболее часто
встречающихся опечаток, а также орфографических и грамматических ошибок.
Например, вместо слова «ворпос» редактор автоматически напишет слово
«вопрос».
Автозамена дает возможность установить набор часто используемых
слов, фраз, которые можно вставлять в документ, не печатая их каждый раз.
Например, набрав на клавиатуре аббревиатуру ВТ, пользователь сразу получит
фразу «вычислительная техника».
Колонтитул — стандартный текст, выводимый в верхней (или нижней)
части каждой страницы документа.
Документ — набор символов, слов, предложений или страниц, логически
связанных между собой и образующих завершенную (законченную)
лексическую (языковую, текстовую) конструкцию.
Текст — набор символов, слов, предложений, являющийся частью
документа.
Фрагмент — непрерывная часть текста.
Блок — выделенный фрагмент текста.
Форматирование — процедура придания тексту документа желаемой
формы.
Шрифт — комплект букв (символов), воспроизводящий какой-либо
алфавит.
По внешнему виду все шрифты можно разделить на две группы: шрифты
с засечками (англ. serifs) и без засечек (фр. и англ. sans serifs). Шрифты без
засечек имеют другое название — рубленые.
По способу формирования рисунка символов шрифты делятся на
растровые и векторные шрифты.
Изображение растрового символа кодируется по точкам в битовой карте
(матрице), а затем без изменений отображается на экране или бумаге принтера.
Матрица растрового шрифта чаще квадратная (например, 8  8 или 16  16
пикселей).
Основной недостаток растрового шрифта — заметное ухудшение
качества при увеличении символа: изображение приобретает ступенчатые
очертания.
При создании векторного шрифта рисунок символа не кодируется по
точкам, а описывается совокупностью геометрических фигур. Другими словами,
при воспроизведении символа его контур рассчитывается по определенным
формулам, не зависящим от размера шрифта. Поэтому векторные шрифты легко
масштабировать без потери качества изображения.
В среде Windows применение растровых шрифтов в основном ограничено
выводом текстовых сообщений на экран, а для работы с документами, как
правило, используются векторные шрифты специального формата TrueType.
При этом один и тот же шрифт применяется и для вывода сообщений на
экран, и для распечатки текста на принтере. Технология TrueType позволяет
реализовать принцип WYSIWYG. Это означает, что документ, распечатанный
на принтере, будет выглядеть так же, как и на экране монитора.
Каждый шрифт TrueType имеет название (имя), например: Arial, Times
New Roman, Symbol.
Шрифты TrueType делятся на моноширинные и пропорциональные.
В моноширинных шрифтах все символы имеют одинаковую ширину,
Пропорциональный шрифт Times New Roman.
Моноширинный шрифт Courier New Cyr.
Рубленый шрифт Arial
Полужирное начертание
Курсив
Подчеркнутое начертание
Шрифт с засечками
Шрифт без засечек
например, символ «.» (точка) занимает столько же места, сколько буква «ж».
В пропорциональных шрифтах ширина каждого символа разная. Точка
занимает совсем мало места, промежуточную ширину имеет буква «н», а буквы
«ж», «ш» — шире всех других.
Кроме моноширинных и пропорциональных шрифтов существуют
декоративные шрифты. К ним относятся всевозможные стилизации (готический,
древнерусский), рукописный шрифт, трехмерные шрифты, шрифты в виде
пиктограмм и др.
Тип шрифта (в полиграфии называется гарнитурой) определяет
особенности написания целого набора символов (например, Times New Roman).
Начертание — один из четырех стилей изображения символов
Засечка
Кегль
Внутрибуквенный
просвет
Шрифт
Нижний выносной
элемент буквы
Верхний выносной
элемент буквы
Базовая линия или
линия шрифта
(полужирный, курсив, подчеркнутый, обычный).
Кегль — размер шрифта, который определяется расстоянием между
верхним и нижним выносными элементами. Измеряется в пунктах.
Пункт — единица измерения высоты шрифта. Один пункт равен 1/72
дюйма (один дюйм равен 2,54 см).
Интерлиньяж — расстояние между базовыми линиями соседних строк.
Измеряется в пунктах и складывается из кегля шрифта и расстояний между
строками.
Апрош — межбуквенный пробел.
Трекинг — регулировка плотности набора символов. Трекинг сдвигает
или раздвигает все буквы на одну и ту же величину.
Кернинг — ручная регулировка расстояний между двумя буквами.
6.2.1. Обзор графических редакторов
Современные графические редакторы предоставляют большие
возможности создания компьютерной графики и художественного оформления
печатной продукции.
В этом разделе рассмотрены популярные графические пакеты,
используемые для Web-дизайна и Print-дизайна, а также трехмерного
моделирования (Adobe PhotoShop, Jasc Paint Shop Pro, Adobe Illustrator, CorelDraw, 3D Studio Max, GIMP).
Сначала дадим определения некоторым понятиям, часто употребляемым
при работе с графическими редакторами.
Print-дизайн – дизайн в полиграфии.
Фильтр – программа, встроенная в графический редактор для
выполнения некоторого преобразования изображения.
Плагины (Plug-ins) – подключаемые модули, дополнительные
программы преобразования изображений, которые расширяют возможности
графических редакторов.
PSD (PhotoShop Document) – файловый формат редактора Adobe PhotoShop.
ICC (International Color Consortium) – объединение, в которое вошли
все ведущие фирмы, связанные с разработкой стандартов для систем управления
цветом.
RGB – цветовая модель, в которой каждый цвет разбивается на три
составляющие: красный (Red), зеленый (Green) и синий (Blue).
CMYK – цветовая модель (чаще используется в полиграфии), в которой
каждый цвет разбивается на четыре составляющие: голубой (Cyan), розовый
(Magenta), желтый (Yellow) и черный (Black).
Канал – цветовая составляющая изображения, представляет собой
черно-белое изображение, на котором каждому пикселю соответствуют 256
значений яркости. Например, модель RGB содержит каналы, определяющие
яркость красного, синего и зеленого цветов. Кроме основных каналов могут
быть дополнительные – маски, хранящие информацию о выделенных областях.
Альфа-канал (alpha-cannel) – служит для выделения областей
изображения белым цветом и оттенками серого.
Маска – область выделения, представленная в виде полутонового
изображения. Например, маска, показанная на следующем рисунке, может быть
использована для выделения шерсти котенка, чтобы придать ей другой цвет.
Слой – часть изображения. Подобно прозрачной пленке, слои,
содержащие рисованные объекты, накладываются друг на друга и вместе дают
новое изображение.
Градиент (Gradient) –
полутоновой переход между двумя или
несколькими цветами. Используется для заливки.
Заливка – заполнение цветом или рисунком фигуры с замкнутым
контуром.
Полигон (Polygon) – многоугольник (скелет, схема будущего
объемного изображения).
Библиотека форм – набор объектов разнообразной формы.
Рендеринг (Rendering)
–
процесс прорисовки изображения,
состоящего из многоугольников.
Ролловер (Rollover) – элемент Web-страницы, меняющий свой вид при
наведении на него курсора мыши.
Пакетная обработка изображений предполагает, что подлежащие
обработке графические файлы группируются в пакеты и обрабатываются
совместно.
Из множества возможностей, предоставляемых редакторами, некоторые
являются общими. Это - поддержка основных графических форматов, работа с
текстом, слоями, каналами, масками, наличие фильтров, дополняемых с
помощью плагинов.
Рассмотрим особенности каждого редактора.
Adobe PhotoShop – мощный графический пакет, подходящий для
создания Web-страниц и высококачественных изображений для печати. PhotoShop включает программу ImageReady для оптимизации графики Webстраниц и создания анимации. Редактор может комбинировать векторные и
растровые элементы. Инструментами создания и редактирования векторной
графики являются: прямоугольная рамка, прямоугольник со скругленными
краями, эллипс, полигон, линия, произвольный контур.
Векторные объекты используют часто как основу сложных контуров
будущего изображения, которые получают, редактируя узлы исходных
объектов. Библиотека форм пользователя предлагает дополнительный набор
объектов разнообразной формы.
PhotoShop служит не только для рисования, но и для преобразования
изображений с помощью фильтров и плагинов. Расширенное управление цветом
обеспечивает предварительный просмотр RGB-изображений в режиме CMYK,
поддержку стандартов ICC, Apple Color Sync; новое управление обеспечивает
Color Adobe Color Engine (ACE) – мгновенное переключение между цветовыми
режимами.
Нужные наборы кистей, фигур и градиентов можно задать перед
работой в окне Preset Manager (Менеджер предустановок). Программа
поддерживает PDF формат.
PDF – файловый формат, позволяющий сохранить, открыть и
просмотреть любой документ без применения специальных приложений.
Adobe PhotoShop 7.0. – новая
версия популярного графического
редактора включает обновленное приложение ImageReady 7.0. Редактор PhotoShop 7.0. совместим с другими приложениями Adobe: Adobe Illustrator, Adobe
InDesign, Adobe AlterCast, Adobe GoLive, Adobe LiveMotion, Adobe Premiere,
Adobe After Effects, Adobe Acrobat и др.
Редактор может создавать ролловеры, анимацию и карты изображений
для Web-страниц. Дополнительные шаблоны Web-галерей для онлайновых
выставок защищают изображения от пиратского копирования включением
водяных знаков.
В PhotoShop 7.0 появились новая команда Auto Color (Автоцвет),
которая надежно корректирует цвета. Команда Liquefy (Искажение) позволяет
сужать, расширять, скручивать, сдвигать области изображения, на которые
указывает кисть. Произведенные с помощь этой команды преобразования можно
применить сразу к нескольким файлам. Сделать это позволяет пакетная
обработка файлов.
Новый инструмент Painting Engine (Имитатор живописи) имитирует
различные техники традиционной живописи. Healing Brush (Залечивающая
кисть) эффективно удаляет дефекты изображения (пыль, царапины, пятна,
морщины) без изменения теней, освещения и текстур. Pattern Maker (Генератор
шаблонов) позволяет создавать реалистичные или абстрактные образцы текстур
из частей изображения.
Доступ к файлам PhotoShop (PDF) можно ограничить с помощью
пароля. Adobe PhotoShop 7.0. поддерживает файлы с расширением XMP (Extensible Metadata Platform – Расширяемая платформа метаинформации) – новый
стандарт для записи метаинформации; и формат WBMP, используемый для
отображения графики в средствах мобильной связи.
Adobe Illustrator – популярный графический пакет для дизайнеров,
художников, профессионалов деловой графики. Позволяет создавать
профессиональные иллюстрации для печати, презентаций, Web-страниц,
совместим с редакторами PhotoShop, другими продуктами Adobe, PageMaker, а
также совместим с программами MS Office. Файлы Adobe Illustrator можно
экспортировать в Adobe PhotoShop или Adobe ImageReady; Adobe Illustrator
поддерживает все основные файловые форматы. Может работать с
изображениями, созданными в PhotoShop, Microsoft Office, AutoCAD,
CorelDraw, и Macromedia FreeHand. Существует возможность сохранять файлы в
таких популярных форматах, как EPS, PDF, PSD, TIF, GIF, JPEG, EMF/WMF,
BMP, CGM, ASCII, и RTF.
. Adobe Illustrator 10 CE – последняя версия рассмотренной выше
программы.
Paint Shop Pro 7.04 – это графический редактор фирмы Jasc, достойный
конкурент Adobe PhotoShop, который работает как с векторными, так и с
растровыми изображениями. При работе с изображениями можно использовать
фильтры PhotoShop. Есть несколько уникальных для Paint Shop Pro эффектов. К
ним можно отнести некоторые из эффектов текстуризации и геометрических
преобразований (эффект «завернутого уголка» показан на рисунке), а также
эффекты освещения.
При печати имеется опция расположения на одном листе нескольких
документов (для экономии бумаги).
Paint Shop Pro поддерживает около пятидесяти векторных и растровых
файловых форматов, в том числе и файловый формат PhotoShop (PSD). Можно
преобразовывать некоторые векторные форматы для последующей растровой
обработки. Возможность работы с векторными слоями при рисовании , а также
функция создания многоцветных градиентов являются особенностями редактора
Paint Shop Pro. В пакет также входит программа Animation Shop, создающая
анимацию для Web-сайтов, презентаций и публикаций мультимедиа. Paint Shop
Pro поддерживает свыше ста двадцати цифровых камер.
CorelDraw – широко известный мощный графический пакет для
создания векторной графики.
В состав графического пакета Corel Graphics Suite 11 (CGS) входят три
основных редактора — CorelDraw (векторный), Photo Paint (растровый) и
R.A.V.E. (для анимации). Наибольшей известностью пользуется CorelDraw.
Из основных возможностей, появившихся в новой версии программы,
выделяются следующее.
Значительно упростилось рисование точных геометрических фигур
(прямоугольник, эллипс), повернутых на какой-то угол. В CorelDraw
указываются не абсолютные размеры объектов, а проекции сторон по осям Х и
Y, потому создание повернутых фигур было весьма затруднительно. Теперь
появились «3 point» (трёхточечные) инструменты
для рисования
прямоугольников, многоугольников, эллипсов и кривых. При этом сначала
задается ось объекта (которая может иметь произвольное положение), а затем
указывается его ширина.
Еще один инструмент – Polyline (Полилиния), позволяет создавать
фигуры и в свободной манере, то есть рисовать их как кисточкой, и строить по
точкам.
Кисти Roughen (Грубая) и Smudge (Пятно) позволяют производить
искажения похожие на результат работы команды Liquefy (Искажение) в Adobe
PhotoShop, они воздействуют не глобально на весь объект, а только в указанных
областях.
Дальнейшее развитие получил заложенный в редактор механизм
привязки объекта к опорным точкам, работа с текстом стала удобнее.
Всеми программами пакета поддерживается новый формат передачи
изображений по Сети JPEG 2000, утвержденный международными
стандартизирующими организациями. Его достоинством является хорошее
соотношение «качество/объем», что особенно заметно на больших
изображениях.
Новая версия редактора содержит все графические эффекты, ранее
входившие в состав Photo Paint.
3D Studio Max – один из наиболее широко распространенных
профессиональных пакетов для разработки трехмерных изображений.
Возможности данной программы почти безграничны. 3D Studio Max моделирует
трехмерные объекты от простейших (сферы, цилиндра и прямоугольного
параллелепипеда) до сложных по форме (деревья, тела животных, лица людей).
Так как компьютерная прорисовка трехмерных поверхностей занимает
достаточно много времени, объекты первоначально создаются в виде
«проволочного моделей». Такая модель представляет собой сетку, набранную из
многоугольников и принимающую форму каркаса (скелета), создаваемого
объекта.
Чтобы сделать поверхность каркаса видимой, необходимо обтянуть его
«кожей», наложить текстуру.
Редактор 3D Studio Max предоставляет возможность показа изменений
не только пространственного положения объекта, но и его формы, размеров,
цвета, характеристик материалов.
Основными областями использования 3D Studio Max являются:
архитектурное проектирование и конструирование интерьеров, подготовка
рекламных и научно-популярных роликов на телевидении, компьютерная
мультипликация и съемки игровых фильмов, разработка компьютерных игр,
подготовка иллюстраций для книг и журналов, художественная и компьютерная
графика, Web-дизайн.
В 3D Studio Max 5.0. реализовано немало новых полезных функций.
Значительно улучшена реалистичность рендеринга благодаря более точной
работе освещения, средствам работы с физическими свойствами твердых тел,
новым возможностям при наложении текстур. Много изменений и в создании
анимации: добавлен редактор кривых, возможность слияния для анимации
отдельных сегментов. 3D Studio Max 5 полностью совместим с программой DirectX 9, что немаловажно для создателей компьютерных игр. Кроме того,
разработчики повысили производительность программы и скорость обработки
трехмерной графики.
GIMP 1.1. * (GNU Image Manipulation Program – GNU - Программа
манипуляции изображениями) – аналог редактора
Adobe PhotoShop, созданный для операционной
системы Linux. Кроме Linux GIMP поддерживается
операционными системами FreeBSD-2.1, HP-UX,
SunOS, Solaris, SGI, Windows.
GIMP поддерживает практически все
графические форматы: GIF, JPEG, PNG, TIFF, BMP,
PS, PCX, XPM, TGA и другие. Редактор обладает
полным набором инструментов для обработки
растровой графики. Он может работать и с
векторной графикой.
GIMP используется для создания анимации — GIF, AVI. Содержит
средства для разложения на кадры видеоизображения в форматах MPEG1,
XANIM. Поддерживает скрипты и расширения, благодаря которым можно
добавлять в программу новые функции. Улучшенное управление памятью
ограничивает размер изображения. Выполнение операций «Отмена» (Undo) и
«Повтор» (Redo) ограничивается лишь объемом жесткого диска. Имеются
многочисленные инструменты выделения областей: выделение прямоугольной,
произвольной, эллиптической и других областей
Программа GIMP обладает множеством графических фильтров,
пополняемых с помощью плагинов. GIMP – программа, распространяемая
бесплатно.
6.2. Графические редакторы
Отметим некоторые области применения компьютерной графики:
оформление визиток и объявлений, иллюстративная и деловая графика,
подготовка рисунков для отчетов, статей, книг; моделирование реально не
существующих объектов; построение трехмерных сцен и анимационных
фильмов; создание рекламных роликов и др.
Для составления подобных документов служат специальные прикладные
программы — графические редакторы (ГР).
ГР снабжены набором инструментов для инвертирования, зеркального
отображения, ретуширования изображения, формирования текстовых
сообщений, имитации различных манер живописи, изменения яркости и
контрастности, создания иллюзии движения и др.
Разработаны ГР для построения двумерных (плоских) и трехмерных
(объемных), статических и динамических объектов.
Все ГР можно разделить на два класса: растровые и векторные. В
растровых ГР (по-другому называются Bitmap — графические редакторы)
изображение строится с помощью маленьких, равных по величине, квадратиков,
точек (элементов изображений, пикселей).
В векторных ГР все линии определяются начальными точками и
формулами, описывающими эти линии.
Растровая графика (РГ) получается в результате сканирования
фотографий, иллюстраций, в результате съемки с помощью цифрового
фотоаппарата или цифровой видеокамеры. Растровый рисунок можно создать с
помощью растрового графического редактора.
Основным элементом РГ является точка (ее положение, яркость, цвет).
Растровое изображение формируется из множества
отдельных точек (пикселей), расположенных на
пересечении столбцов и строк. Слева показана буква,
нарисованная с помощью растровой графики.
Термину «растровая графика» в английском языке соответствует термин
«Bitmap — графика». В переводе это означает графику, основанную на карте
(плане) расположения битов в ОЗУ. Приведенный рисунок подтверждает
справедливость такого названия.
Качество точечного изображения характеризует разрешающая
способность, которая измеряется в точках на дюйм (dots per inch — dpi).
Полиграфическое качество печати требует разрешения порядка 250 dpi.
Фотоснимок размером 10  12 см будет содержать примерно 1000  1200
пикселей. Если для кодирования цвета каждого пикселя использовать 24 бита
(это дает более 16 миллионов цветовых оттенков), то для хранения всей
информации о такой фотографии потребуется более 27 Мбайт. Приведенное
число говорит о том, что для запоминания растрового изображения требуется
большой объем памяти. Большой объем файла является первым недостатком
растровых рисунков.
Еще одним недостатком растровых рисунков является искажение
изображения при изменении масштаба изображения. При увеличении
появляются пиксели, а при уменьшении происходит искажение пропорций. При
использовании растровой графики на линиях и кривых, имеющих наклон,
просматриваются более или менее заметные «ступеньки».
Достоинства
растрового
способа
представления
информации
заключаются в почти неограниченных возможностях изменения формы и цвета
объекта.
Типичным представителем этого класса ГР является графический
редактор Paint, входящий в состав операционной системы MS Windows.
Растровыми редакторами также являются Adobe Photoshop, Pho-tostyler,
Adobe Photo-Paint, Picture Publisher, Corel Photo-paint и др.
В векторной графике при изменении масштаба объекта пропорции точно
выдерживаются благодаря запоминанию математической модели объекта, а не
карты (таблицы, матрицы) расположения разноцветных пикселей.
Векторными графическими редакторами являются Adobe Illustrator,
Macromedia Freehand и Corel Draw и др.
Основными элементами векторной графики (ВГ) являются линия и
математическая формула, которые описывают эту линию.
При использовании растровой графики линия создается из множества
последовательно расположенных точек, и чем длиннее линия, тем больший
объем памяти она требует для своего хранения.
При использовании векторной графики запоминается формула, поэтому
независимо от длины все линии одинаковой формы занимают одинаковое место
в памяти. С помощью дополнительных параметров задаются цвет, толщина
линии и ее вид (сплошная, пунктирная, штрих-пунктирная и т. д.).
Изменение масштаба изображения не приводит к искажениям векторного
изображения.
Векторы представляют собой математическое описание объектов. Чтобы
компьютер нарисовал прямую линию, нужно указать координаты двух точек.
Для изображения окружности достаточно указать координаты центра и радиус и
т. д.
Наибольшее распространение в векторной графике получили кривые
Безье — разновидность кривых третьего порядка.
Динамическое изображение создают с помощью редакторов 3D Studio
MAX, Corel Draw, Flash и Animator Pro.
В пакете 3D Studio MAX используется следующая схема формирования
динамического изображения: задается небольшое количество ключевых кадров
(keyframes), а все остальные промежуточные кадры пакет строит автоматически
посредством интерполяции (математическая операция восстановления,
реконструкции недостающих данных).
Редактор 3D Studio MAX позволяет выполнять следующие
преобразования изображаемых объектов: перемещение вдоль заданной
траектории; вращение; деформацию (сжатие или растяжение); морфинг (плавная
трансформация одного объекта в другой). Пакет позволяет использовать
несколько источников света для освещения объектов и несколько камер для
наблюдения за объектами с разных точек зрения. Поверхности объектов могут
быть прорисованы (заполнены) различными фактурами, образцы которых
хранятся в библиотеке.
Поскольку компьютерная прорисовка, или рендеринг (rendering),
трехмерных поверхностей занимает достаточно много времени, объекты в
большинстве программ первоначально создаются в виде «проволочных
моделей». Такая модель представляет собой сетку (заготовку), набранную из
многоугольников и принимающую форму каркаса (скелета) создаваемого
объекта. Для создания сферы достаточно нарисовать окружность и задать
вращение вокруг какого-либо диаметра.
Аналогично стакан с гладкими стенками
получится, если нарисовать его контур
(прямоугольник)
и
построить
поверхность путем вращения этого
контура вокруг его центральной оси.
Чтобы
сделать
поверхность
каркаса видимой, необходимо обтянуть
его «кожей». Превращение каркасов,
представляющих собой «проволочные сетки», в «телесные» трехмерные
поверхности из различных материалов называется прорисовкой, тонированием,
растушевкой или рендерингом. На предыдущем рисунке показан чайник после
прорисовки каркаса.
Для достижения фотографической точности создаваемого изображения
применяется расчет хода световых лучей от источников к объекту (ray-tracing).
Можно даже учесть недостаточную прозрачность воздуха (среды), что приведет
к более яркой и четкой окраске ближних предметов по сравнению с дальними
(создает воздушную перспективу). Существуют средства, позволяющие
добавить к изображению объекта разнообразные эффекты, такие, как туман или
«смазывание», которое встречается при фотографировании быстро движущегося
объекта.
Последовательно выбирая различные «точки зрения» на созданную
картину, можно обозначить путь следования воображаемой виртуальной
камеры. Отснятые с различных точек кадры выстраиваются в цепочку, и
получается компьютерный видеоклип. С другой стороны, можно задать
маршрут движения не только камеры, но и объекта. При этом не обязательно
отмечать каждый кадр на маршруте, достаточно выбрать ключевые (опорные)
кадры и предоставить возможность компьютеру самому достраивать
недостающие кадры. Трехмерные объекты любой формы с помощью
графических редакторов можно подвергать деформациям изгиба, кручения и
сдвига.
Графическая программа COSMOPOLITAN Virtual Makeover позволяет
моделировать имидж (внешний вид) человека. Программа располагает базой,
содержащей более 150 видов причесок.
Завершим данный раздел кратким рассмотрением растрового
графического редактора MS Paint, который входит в состав стандартных
программ операционной системы Windows. Редактор MS Paint позволяет
получить первое представление о возможностях растровой графики.
Графический редактор MS Paint является однооконным приложением, и его
применяют для работы с точечными рисунками формата JPG, GIF или BMP.
Ниже строки заголовка
программы
MS
Paint
располагается Главное меню
программы. Как правило,
слева от рабочего поля
размещается
панель
инструментов,
а
снизу —
палитра,
позволяющая
изменять цвет наносимых на
рисунок элементов. В самом
низу
пользовательского
интерфейса находится строка
состояния.
MS Paint позволяет
легко проводить прямые (9) и
кривые (4) линии разной
толщины,
формировать
изображения
стандартных
фигур:
прямоугольников,
квадратов, скругленных прямоугольников, эллипсов, кругов (см. фигуры 1, 2, 3,
5, 6), нестандартных многоугольников (7). Несложно залить контуры замкнутых
фигур каким-то цветом (фигуры 1,
6). Распылитель позволяет создать
нестандартное изображение (8). К рисунку можно добавить поясняющую
надпись (10).
Все инструментальные средства MS Paint по функциональному
назначению можно разделить на следующие группы: средства для вычерчивания
прямоугольников, эллипсов, окружностей, прямых и гладких кривых линий;
свободного рисования (кисть, карандаш, распылитель); стирания изображения
(ластик); выделения замкнутых областей; масштабирования изображения;
трансформации изображений (отразить, повернуть, растянуть, наклонить); ввода
текста; копирования понравившегося цвета (пипетка); заливки замкнутой
области одним цветом; изменения цвета используемой краски; обращения
цветов (получение негативного изображения); преобразования цветного рисунка
в черно-белый рисунок.
6.3. Электронные таблицы
С помощью электронных таблиц (ЭТ) можно решать финансовые,
экономические, математические и статистические задачи.
Электронные таблицы можно использовать для хранения счетов и
внесения в них поправок, для многовариантного прогнозирования результатов
предполагаемых финансовых операций, составления различных бланков,
оформления деловой графики и выполнения полного баланса фирмы. С
помощью ЭТ можно облегчить решение таких задач, как обработка заказов и
планирование производства, расчет налогов и заработной платы, учет кадров и
издержек, управление сбытом, составление прайс-листов и др.
При работе с ЭТ практически исключается традиционное
программирование (например, с помощью процедурно-ориентированных
языков).
Другое равноправное название электронной таблицы — табличный
процессор.
Первую электронную таблицу VisiCalc изобрели в 1979 г. Дэн Бриклин
(Dan Bricklin) и Боб Фрэнкстон (Bob Frankston). В 1982 г. Мич Кейпор (Mitch
Kapor) и Джонатан Сачс (Jonathan Sachs) разработали другую удачную
Текст
Число
Формула
Адрес
ячейки
D6
программу Lotus 1-2-3. В 1987 г. фирма Microsoft создала популярную в
настоящее время электронную таблицу MS Excel.
Все файлы, создаваемые в электронных таблицах, называются книгами,
причем каждая книга состоит из нескольких листов. Первоначально листы в ЭТ
бывают пустыми, и после использования одного листа можно переходить на
следующий лист. Между листами можно установить необходимые связи. Имена
листов отображаются на ярлычках в нижней части окна книги.
Термины «лист» и «таблица» являются практически синонимами.
Электронная таблица состоит из столбцов и строк. Столбцы чаще всего
обозначаются заглавными латинскими буквами (A, B, C, .., AA, AB, AC,..), а
строки — арабскими цифрами. Каждое пересечение строки и столбца образует
«клетку» таблицы, которая может содержать текст, число или формулу.
Клетка обозначается буквой и цифрой по маркировке столбца и строки,
на пересечении которых она находится. Набор координат, определяющих
положение ячейки, называют ссылкой, например, С4. Обозначение ячеек
похоже на обозначения, используемые в играх шахматы и морской бой. Иногда
клетки называют ячейками, а ссылку порой называют адресом.
Заметим, что кроме рассмотренного стиля маркировки ячеек, который
получил название А1, существует стиль, при котором вначале указывается
порядковый номер строки, а затем порядковый номер столбца. Название этого
стиля R1C1.
Формула = B2 + C4, расположенная в ячейке B6 (см. предыдущий
рисунок), означает, что нужно взять содержимое ячейки B2, к нему прибавить
содержимое ячейки C4 и результат поместить в ячейку B6. Всякое изменение
содержимого ячеек B2 или C4 приведет к автоматическому изменению
результата в ячейке B6.
Пользователь может задать любой ячейке собственное имя и затем
использовать его при расчетах. Например, =B3+ИТОГ. В данном случае одной
из ячеек дано имя «ИТОГ». Использование имен ячеек облегчает составление
формул и делает их более наглядными и информативными. Например,
следующая формула говорит сама за себя:
=ДОХОД-РАСХОД
Формулы позволяют обрабатывать содержимое сразу нескольких ячеек
(диапазона ячеек). Например, чтобы просуммировать содержимое ячеек B7, C7,
D7, E7, достаточно записать:
=СУММ(B7:E7)
Формулы могут ссылаться на ячейки текущего листа, ячейки листов той
же книги или ячейки других книг.
Диапазоном ячеек (также диапазоном ссылок) называются две или более
ячейки, расположенные на одном листе.
Синтаксисом формул называется правила записи (структура) элементов,
входящих в формулу.
Формулы содержат знак равенства (=), вычисляемые элементы
(операнды) и операторы.
Операнды — величины, с которыми оперирует (работает) ЭТ.
Операндами могут быть константы, ссылки или диапазоны ссылок,
заголовки, имена и функции. Важно запомнить, что любая формула должна
начинаться со знака равенства.
Константы — это величины, которые не изменяются в процессе
вычислений, например, число 4 или текст «Прибыль». При записи констант
перед ними знак равенства не ставится.
Ссылка — координата ячейки, ее адрес.
Заголовки — ключевые слова, размещенные сверху столбца и слева от
строки, с помощью которых описываются данные внутри блока данных.
Заголовки можно использовать при ссылке на необходимые данные. В
следующей таблице заголовками являются слова: Иванов, Петров, Сидоров,
Физика, Химия.
Физика
Химия
Иванов
4
3
Петров
5
4
Сидоров
5
5
Заголовки в ряде случаев делают обработку информации очень
наглядной. Например, чтобы напечатать оценку Петрова по химии достаточно
набрать формулу:
=Петров Химия
Пробел между заголовками является оператором пересечения диапазонов,
который предписывает формуле вернуть значение из ячейки, находящейся на
пересечении строки «Петров» и столбца «Химия».
Создаются заголовки с помощью специальной процедуры, с которой
можно ознакомиться по книгам, посвященным программе MS Excel.
Функция — это стандартная подпрограмма с уникальным именем,
которая возвращает результат выполнения определенных действий над
элементами, выступающими в роли аргументов. Например, функция
=МАКС(A1:A5;B3:B7)
отбирает максимальное число среди чисел двух указанных диапазонов ячеек.
Функции облегчают выполнение стандартных расчетов. Перед функцией
ставится знак равенства, а аргументы заключаются в круглые скобки.
Аргументами в функции могут быть числовые значения, текст, ссылки,
диапазоны ссылок, имена и вложенные функции.
Операторами обозначаются операции, которые выполняются над
операндами. В Microsoft Excel имеется четыре вида операторов:
арифметические, текстовые, сравнения, а также адресные операторы.
Арифметические
операторы
используются
для
выполнения
математических операций над числами (сложение, вычитание, умножение,
деление, возведение в степень, вычисление процентов). Результатом
выполнения арифметической операции всегда является число.
Текстовой оператор — & (амперсант) позволяет объединить
последовательности символов, находящихся в разных ячейках, в одну
последовательность.
Операторы сравнения используются для сопоставления двух чисел. К
ним относятся операторы: равно, больше, меньше, больше или равно, меньше
или равно, неравно. Результатом выполнения операции сравнения являются
логические значения ИСТИНА или ЛОЖЬ.
Например, следующая функция позволяет просуммировать числа,
значения которых больше четырех:
=СУММЕСЛИ(А1:А7;»>4»)
Строка
заголовка
Кнопка
«Выделит
ь
все»
Главное
меню
Адрес
активной
ячейки
Заголовок
строки
Кнопки
прокрутки
ярлычков
Стандартная
панель
Заголовок
столбца
Указатель
ячейки
Ярлычки
листов
Строка
состояния
Панель
форматирования
Строка
формул
Вертикальная
линейка
прокрутки
Горизонтальна
я
линейка
прокрутки
Адресные операторы — двоеточие, запятая и пробел объединяют
диапазоны ячеек.
Например, формула =СУММ(А1:А7) говорит о том, что должно быть
просуммировано содержимое ячеек А1, А2, …, А7. Формула
=МИН(В1:В5,С5:С9) отберет минимальное число из ячеек двух указанных
диапазонов. Наконец, пробел в формуле =Иванов Физика позволит вывести
содержимое ячейки, находящейся на пересечении этих заголовков.
В настоящее время широкое распространение имеет электронная таблица
MS Excel, которая представляет собой как бы скоросшиватель (книгу),
состоящую из нескольких листов (таблиц).
Пользовательский интерфейс программы MS Excel показан на
предыдущем рисунке.
При обработке числовых данных могут выполняться арифметические
операции (сложение, вычитание, умножение и т. д.), а также вычисляться
многие математические функции (определение среднего значения, дисперсии,
медианы, нахождение максимального значения и т. п.).
ЭТ обладают элементами искусственного интеллекта.
Режим Автозаполнения позволяет быстро ввести дни недели (от
понедельника до воскресенья), причем достаточно набрать на клавиатуре только
первый элемент, а остальные будут добавлены автоматически по технологии
Drag and Drop. Аналогично можно ввести месяцы (от января до декабря) либо
другую заранее подготовленную последовательность элементов (например,
фамилии).
Еще одна интересная возможность ЭТ состоит в использовании
арифметических и геометрических прогрессий для быстрого заполнения
большого числа ячеек.
Например, чтобы ввести порядковые номера студентов, достаточно
указать только цифры 1 и 2. Все остальные номера будут введены
автоматически. С помощью арифметической прогрессии легко ввести,
например, только четные (или нечетные) номера.
За счет геометрической прогрессии просто сформировать такие (и
подобные) последовательности чисел: 5; 20; 80; 320 или 1; 2; 4; 8; 16; 32.
ЭТ позволяют «предсказывать» результаты. Например, если известны
антропологические параметры трех студентов, то можно попытаться «угадать»
параметры четвертого студента, для которого известна только часть параметров.
Рост, см (х)
Вес, кг (y)
152
52
163
63
174
74
Предположим, что рост студента 170 см, а вес неизвестен. Расчет веса
можно произвести с помощью функции:
=ПРЕДСКАЗ(170;{52;63;74};{152;163;174})
В результате будет получен ответ: 70 кг.
Расчеты в данном случае ведутся по методу наименьших квадратов, и
исходная зависимость заменяется (аппроксимируется) уравнением прямой
линии.
В качестве аргументов здесь использованы два массива чисел, которые
заключены в фигурные скобки.
ЭТ дают возможность копировать или перемещать содержимое клетки в
другие позиции (при этом используется принцип Drag and Drop).
Благодаря технологии OLE (Object Linking and Embedding) имеется
возможность встраивать в клетки электронной таблицы объекты, созданные,
например, в графическом редакторе. Таким образом, ведомость с расчетом
заработной платы может содержать фотографии сотрудников.
Рассмотрим два важных понятия: относительная и абсолютная ссылки.
На следующем рисунке в ячейке С1
записана формула сложения содержимого ячеек
А1
и
В1.
При
этом
использованы
относительные ссылки. Копирование этой
формулы
в
ячейку
С2
привело
к
автоматическому изменению ссылок. Вместо
формулы =А1+В1 в ячейке С2 появилась
формула =А2+В2. В ячейке С4 записана
формула сложения, в которой использованы
абсолютные ссылки. Легко заметить, что добавлены знаки долларов.
Копирование этой формулы в ячейку С5 не привело к изменению этой формулы.
Понятно, что использование относительных и абсолютных ссылок дает
разные результаты. Это иллюстрирует следующий рисунок.
Таким образом, абсолютная ссылка — это использующаяся в формуле
ссылка, которая не изменяется при копировании в другую ячейку.
Относительная ссылка — это ссылка, которая изменяется при
копировании формулы.
6.4. Базы данных
Одной из важных возможностей ЭВМ является хранение и обработка
больших объемов информации, причем происходит накопление не только
текстовых и графических документов (рисунки, чертежи, фотографии,
географические карты), но и страниц глобальной сети HTML, звуковых и видеофайлов. Эти возможности реализуются с помощью баз данных.
База данных (БД) — совокупность данных, организованных по
определенным правилам, предусматривающим общие принципы описания,
хранения и манипулирования данными, которые относятся к определенной
предметной области.
Под данными понимается информация, представленная в виде,
пригодном для обработки автоматическими средствами при возможном участии
человека.
Под предметной областью понимается однородная часть реального
мира, которая представляет интерес для конкретного исследования.
В качестве примера простейших БД можно назвать телефонный
справочник, расписание движения поездов, сведения о сотрудниках
предприятия, список цен на товары, алфавитный или предметный каталог книг в
библиотеке, словарь иностранных слов, результаты сдачи сессии студентами,
каталог видеозаписей, список кулинарных рецептов, каталог товаров
(прайслист).
Главное достоинство электронных БД — возможность быстрого поиска
и отбора информации, а также простая генерация (создание) отчета по заданной
форме. Например, по номерам зачеток легко определить фамилии студентов или
по фамилии писателя составить список его произведений.
Пользователей баз данных можно разделить на три категории:
конечные пользователи (те, кто вводят, извлекают и используют данные),
программисты и системные аналитики (те, кто пишут прикладные
программы обработки данных, определяют логическую структуру БД) и
администраторы.
Администратор базы данных — это лицо, отвечающее за выработку
требований к базе данных во время ее проектирования, реализацию БД в
процессе создания, эффективное использование и сопровождение БД в процессе
эксплуатации. Администратор взаимодействует с конечными пользователями и
программистами в процессе проектирования БД, контролирует ее
работоспособность, отвечает за реорганизацию и своевременное обновление
информации, удаление устаревших данных и за восстановление разрушенных
данных, за обеспечение безопасности и целостности данных.
Под безопасностью данных понимают защиту данных от случайного или
преднамеренного несанкционированного доступа к ним лиц, не имеющих на это
права.
Под целостностью понимается возможность восстановления данных в
случае возникновения сбоев в работе. Если БД содержит данные, используемые
многими пользователями, то очень важно, чтобы данные и связи между ними не
разрушались.
Программисты и системные аналитики, создавая БД, стремятся
упорядочить информацию по различным признакам (реквизитам, атрибутам),
для того чтобы можно было извлекать из БД информацию с произвольным
сочетанием признаков.
В современной технологии использования баз данных предполагается,
что создание базы данных, ее поддержка и обеспечение доступа пользователей к
ней осуществляется с помощью специального программного обеспечения —
систем управления базами данных.
Системы управления базами данных (СУБД) — пакет программ,
обеспечивающих создание БД и организацию данных. СУБД позволяют вводить,
отбирать и редактировать данные. СУБД предоставляют средства для извлечения
данных по определенному критерию (требованию, правилу). СУБД дают
возможность конечным пользователям осуществлять непосредственное
управление данными, а программистам и системным аналитикам быстро
разрабатывать более совершенные программные средства их обработки.
Рассмотрим существующие классификации баз данных.
По
технологии
обработки
данных
БД
подразделяются
на
централизованные и распределенные.
Централизованная БД хранится в памяти одной ЭВМ.
Распределенная БД состоит из нескольких частей (возможно,
пересекающихся или даже дублирующих друг друга), хранящихся на различных
ЭВМ вычислительной сети.
По способу установления связей между данными различают
реляционные, иерархические и сетевые БД.
Реляционная БД является простейшей и наиболее привычной формой
представления данных в виде таблицы. В теории множеств таблице
соответствует термин отношение (relation), который и дал название этой БД. Для
нее имеется развитый математический аппарат — реляционное исчисление и
реляционная алгебра, где определены такие математические операции, как
объединение, вычитание, пересечение, соединение и др.
Существенный вклад в разработку БД этого типа сделал американский
ученый Е. Кодд (E. Codd).
Достоинством реляционной БД является сравнительная простота
инструментальных средств ее поддержки, недостатком — жесткость структуры
данных (невозможность, например, задания строк таблицы произвольной
длины) и зависимость скорости ее работы от размера базы данных. Для многих
операций, определенных в такой БД, может оказаться необходимым просмотр
всей БД.
Иерархическая и сетевая БД предполагают наличие связей между
данными, имеющими какой-либо общий признак. В иерархической БД такие
связи могут быть отражены в виде дерева-графа, где возможны только
односторонние связи от старших вершин к младшим. Это ускоряет доступ к
необходимой информации, но только если все возможные запросы отражены в
структуре дерева. Никакие иные запросы на извлечение информации не будут
удовлетворены.
Указанный недостаток снят в сетевой БД, в которой (по крайней мере,
теоретически) возможны связи «всех со всеми». Поскольку на практике это
осуществить невозможно, приходится прибегать к некоторым ограничениям.
Использование иерархической и сетевой БД ускоряет доступ к информации в
базе данных. Каждый элемент данных должен содержать ссылки на некоторые
другие элементы. По этой причине требуются значительные ресурсы как
дисковой, так и оперативной памяти ЭВМ.
Сведения о некоторых СУБД приведены в таблице.
Название СУБД
MS Access
Clipper
dBase
FoxBase+
FoxPro
IMS/VS
Oracle
Paradox
Тип БД
реляционная
реляционная
реляционная
сетевая
сетевая
иерархическая
реляционная
реляционная
Рассмотрим основные понятия и компоненты реляционных БД
(например, MS Access), которые в настоящее время имеют наибольшее
коммерческое использование.
Реляционная БД ориентирована на организацию данных в виде
двумерных таблиц-отношений. Каждая таблица представляет собой двумерный
массив и обладает следующими свойствами:
 каждый элемент таблицы — это один элемент данных;
 все столбцы в таблице однородные, т. е. все элементы в столбце
имеют одинаковые длину и тип (числовой, символьный и т. д.);
 каждый столбец имеет уникальное имя;
 одинаковые строки в таблице отсутствуют;
 порядок следования строк и столбцов может быть произвольным.
Таблица — это набор данных по конкретной теме (предметной области),
например, сведения о студентах высшего учебного заведения. Данные в таблице
располагаются в столбцах (полях) и строках (записях).
Поле — это элементарная единица логической организации данных,
которая соответствует отдельной, неделимой единице информации — атрибуту.
Каждому полю дается имя поля (идентификатор поля внутри записи), например
«Фамилия».
Запись — это совокупность логически связанных полей.
В реляционном подходе к построению баз данных используется
терминология теории отношений. Столбец таблицы со значениями
соответствующего атрибута называется доменом, а строка со значениями
разных атрибутов — кортежем.
Итак, для реляционных БД существует несколько равноправных
терминов: столбец может называться полем или доменом, а строка — записью
или кортежем.
На рисунке приведены две таблицы из одной базы данных. Одна
таблица содержит основные
сведения о студентах, вторая —
результаты сдачи сессии. Из
рисунка видно, что каждое
поле
имеет
уникальное
(единственное
в
данной
таблице) имя. В таблице
«Сессия» атрибут «Результат»
показывает
средний
бал,
полученный при сдаче сессии.
Каждая запись должна
однозначно
идентифицироваться
(определяться)
уникальным
ключом записи. В общем случае ключи записи бывают двух видов:
первичный (уникальный) и вторичный.
Первичный ключ — это одно или несколько полей, однозначно
идентифицирующих запись. Если первичный ключ состоит из одного поля, он
называется простым, если из нескольких полей — составным ключом.
В приведенных выше таблицах простым первичным ключом является
атрибут «Зачетка». В первой таблице можно было попытаться использовать в
качестве простого первичного ключа атрибут «Фамилия». Однако не исключена
возможность существования однофамильцев среди студентов. В этом случае
атрибут «Фамилия» не сможет играть роль ключа, однозначно определяющего
каждую запись. В качестве ключей часто используют инвентарные, табельные
номера, электронные адреса, номера ICQ, паспортные номера и серии или
просто порядковые номера записей.
Вторичный ключ — это такое поле, значение которого может
повторяться в нескольких записях, т. е. он не является уникальным. Если по
значению первичного ключа может быть найден один-единственный экземпляр
записи, то по вторичному ключу — несколько записей.
Одной из основных характеристик БД является набор допустимых типов
данных, которые могут содержаться в полях записей. За каждым полем записи
строго закреплен конкретный тип данных, определяющий ограниченный набор
применимых к нему операций. К типам данных относятся: символьный
(текстовый), числовой, булевский (логический), денежный, дата, время,
связанный по технологии OLE объект.
В реляционной БД содержится, как правило, несколько таблиц с
различными сведениями. Разработчик БД устанавливает связи между
отдельными таблицами. При создании связей используют ключевые поля. После
установления связей появляется возможность создания запросов, форм и
отчетов, в которые помещаются данные из нескольких связанных между собой
таблиц.
Предположим, что в рассматриваемой базе данных имеется еще одна
таблица с названием «Стипендия», с помощью которой начисляется стипендия в
зависимости от среднего балла за
сессию
(в
процентах
от
максимальной
стипендии).
Ключевым полем в этой таблице
является столбец с названием
«Код».
Следующий
рисунок
иллюстрирует процесс создания
связей между этими тремя
таблицами.
Для отбора данных из БД, удовлетворяющих определенным условиям,
создается запрос. Запрос — это инструкция для отбора нужных сведений из
данной БД в соответствии с определенными условиями, которые порой
называют критериями.
Большинство СУБД разрешают использовать запросы следующих типов:
 запрос-выборка, предназначенный для отбора данных, хранящихся в
таблицах, причем этот вид запроса не изменяет эти данные;
 запрос-изменение, предназначенный для перемещения данных или их
модификации (добавление, удаление, обновление записей);
 перекрестный
запрос,
предназначенный
для
отображения
результатов статистических расчетов (суммы, количества записей,
среднего значения), которые группируются в виде таблицы по двум
наборам данных, один из которых определяет заголовки столбцов, а
другой заголовки строк;
 подчиненный запрос, включающий в себя инструкцию, находящуюся
внутри другого запроса на выборку или изменение.
На рисунке показана форма (бланк) запроса-выборки, предназначенного
для отбора из БД оценок по математике у студентов группы БТ-61, а на
следующем рисунке — результаты сделанной выборки.
Запрос можно формировать
с использованием логических
(булевых) операций И (AND),
ИЛИ (OR), НЕ (NOT). Например, если требуется выбрать из БД сведения о
результатах сдачи математики студентами групп БТ-61 и БТ-62, то необходимо
изменить запрос следующим образом:
В этом случае из БД будут
отобраны данные с помощью
логической операции ИЛИ и на
экране появятся сведения о
студентах двух групп — БТ-61 и
БТ-62.
Логическая операция И
используется
для
решения
следующей
задачи.
Пусть
требуется выбрать из БД фамилии
студентов группы БТ-63, сдавших математику с оценкой 5. На следующем
рисунке показано, как формируется запрос с использованием логической
операции И.
Результаты отбора приведены на следующем рисунке. Рассматриваемые
примеры умышленно выбраны простыми, для того чтобы можно было
проверить полученный результат
даже без использования ЭВМ.
Таблица с результатами
запроса может использоваться при
дальнейшей обработке данных. В
запросе
на
выборку
могут
использоваться не только таблицы
БД, но и таблицы, полученные
ранее в результате запросов.
В запросах можно производить несложные вычисления. Например, для
подсчета средних баллов нужно при формировании запроса вначале
просуммировать оценки по четырем предметам, а затем результат разделить на
четыре.
В СУБД MS Access это делается так. В очередном свободном заголовке
поля делается следующая запись:
Результат: =((Математика)+(Физика)+(Информатика)+(Графика))/4
Чтобы осуществить отбор
записей из базы данных по фамилии,
нужно в качестве условия отбора
использовать следующую запись:
Like(Фамилия)
Конкретный пример показан
на рисунке слева.
Форма позволяет отобрать
данные из одной или нескольких
таблиц и вывести их на экран, используя стандартный или созданный
пользователем макет. При этом формы могут воссоздавать привычные для
конечного пользователя документы. Формы используются не только для вывода
данных из БД, но также (и, пожалуй, чаще) и для ввода данных. На рисунке
представлена форма, позволяющая установить средний балл каждого студента
(см. поле «Результат»). Содержание формы изменяется пользователем в
зависимости от стоящей перед ним задачи.
Отчет содержит ту информацию из БД, которая должна быть
представлена в виде итогового документа. Обычно отчет представляется в
напечатанном на бумаге виде (в отличие от таблиц, запросов и форм, которые
чаще всего отображаются лишь на экране дисплея). На следующем рисунке
представлен отчет по итогам сессии (естественно, что это лишь учебный пример
и поэтому он характеризуется исключительной простотой).
Нестандартная обработка данных может быть произведена с помощью
макросов (последовательности нескольких команд, вызываемых нажатием
одной клавиши) либо с помощью программ, написанных на языке Access Visual
Basic. Такие программы часто называют модулями.
Для обработки информации в MS Access также используется
специализированный
язык
SQL
(Structured
Query
Language
–
структурированный язык запросов).
Заметим, что существенным достоинством СУБД MS Access является
возможность решать множество прикладных задач без составления программ на
специализированных языках.
Справка.
Современные СУБД позволяют работать с огромными объемами
информации. По некоторым оценкам, за последние 15 лет размеры баз данных
выросли на два порядка, и процесс этот продолжается. Сегодня стандартными
считаются базы данных объемом в 1—10 Гбайт, а некоторые из них
перешагнули рубеж 100 Гбайт. По прогнозам специалистов, развитие крупных
информационно-поисковых систем и хранилищ данных приведет к созданию
БД, вмещающих свыше 10 Тбайт.
6.5. Искусственный интеллект
Искусственный интеллект (Artificial Intelligence) имеет давнюю историю.
Платон, Аристотель, Сократ, Р. Декарт, Г. Лейбниц, Дж. Буль, затем Н. Винер и
многие другие исследователи стремились описать мышление как совокупность
некоторых элементарных операций, правил и процедур.
Научной задачей искусственного интеллекта (ИИ) является воссоздание
(имитация) с помощью искусственных устройств разумных рассуждений и
действий человека.
Приведем некоторые определения искусственного интеллекта,
опубликованные в различных литературных источниках.
1. ИИ —
условное
обозначение
кибернетических
систем,
моделирующих некоторые стороны интеллектуальной (разумной) деятельности
человека: логическое и аналитическое мышление.
2. ИИ — способность робота или компьютера к имитации
человеческих навыков, используемых для решения задач, изучения проблем,
рассуждений и самоусовершенствования.
3. ИИ — научное направление, связанное с разработкой алгоритмов и
программ для автоматизации деятельности, требующей человеческого
интеллекта.
4. ИИ — одно из направлений информатики, цель которого —
разработка аппаратно-программных средств, позволяющих пользователюнепрограммисту ставить и решать свои задачи, традиционно считающиеся
интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве
естественного языка.
Первое и второе определения делают акцент на аппаратную реализацию
систем ИИ, третье определение выделяет программную часть ИИ, а четвертое
определение учитывает и аппаратную, и программную стороны имитации
разумной деятельности человека.
В определениях встречается термин «интеллектуальный». Интеллект —
это способность мыслить, рационально познавать. Слово «ум» тождественно по
смыслу слову «интеллект».
Известно, что в свое время ученый А. Тьюринг предложил специальный
критерий, с помощью которого определяют, может ли машина мыслить.
Согласно этому критерию, машина может быть признана мыслящей, если
эксперт, ведя с ней диалог по достаточно широкому кругу вопросов, не сможет
отличить ее ответов от ответов разумного человека.
ИИ разделяется на два научных направления: нейрокибернетику (или
искусственный разум) и кибернетику «черного ящика» (или машинный
интеллект).
Напомним, что кибернетика — это наука об управлении, связи и
переработке информации. Кибернетика исследует объекты независимо от их
материальной природы (живые и неживые системы).
Первое направление — нейрокибернетика — базируется на аппаратном
моделировании работы головного мозга человека. Основой мозга является
большое число (около 14 миллиардов) связанных и взаимодействующих
нервных клеток — нейронов.
Системы искусственного интеллекта, которые моделируют работу
головного мозга, называют нейронными сетями (или нейросетями). Первые
нейросети были созданы в конце 50-х годов ХХ столетия американскими
учеными Г. Розенблаттом и П. Мак-Каллоком.
Для второго направления ИИ — кибернетики «черного ящика» — не
имеет значения, какова конструкция «мыслящего» устройства. Главное, чтобы
на заданные входные воздействия оно реагировало так же, как человеческий
мозг.
Пользователи ЭВМ достаточно часто встречаются с проявлением
искусственного интеллекта. Например, при работе с текстовым редактором
происходит автоматическая проверка правописания (причем с учетом
используемого языка). При работе с электронными таблицами не требуется
вводить все дни недели или все месяцы года. Достаточно сделать одну - две
записи, а ЭВМ сумеет безошибочно дополнить список. С помощью микрофона
и специальной программы можно голосом управлять работой программы. При
наборе электронного адреса браузер пытается предугадать адрес и дописать его.
Поиск информации в глобальной сети по заданным ключевым словам также
происходит с привлечением элементов ИИ. При сканировании рукописного
текста системы ИИ распознают буквы и цифры.
Конечно, современные системы ИИ еще далеки от совершенства и поэтому
могут встречаться ошибки и курьезы. Так, если при работе с текстовым
редактором MS Word вместо слова
«пунктов» написать слово «пунков», то
редактор
предложит
заменить
неправильно написанное слово словами
«пупков», «пинков» и др.
Программа
Punto
Switcher
позволяет автоматически переключать
регистр клавиатуры, если пользователь
случайно использует вместо кириллицы
латиницу.
Сложность
технических
применений ИИ может варьироваться от простейшей проверки наличия всех
деталей в двигателе до сложного обследования изделия с целью контроля его
качества.
Идеи ИИ используются в теории игр, например, для создания ЭВМ,
играющей в шахматы, шашки, го, реверси, карты и другие логические и
стратегические игры. Лучшие ЭВМ уже способны обыгрывать действующих
чемпионов мира по шахматам.
С помощью ИИ решают задачу синтеза речи и обратную задачу —
анализа и распознавания речи. В большинстве случаев ИИ используется для
нахождения метода решения некоторой задачи. Математика является одним из
основных направлений приложений методов ИИ. Символьная математика
(компьютерная алгебра) — одно из величайших проявлений искусственного
интеллекта.
К сфере ИИ относят задачи распознавания образов (оптических и
акустических). Идентификация отпечатков пальцев, сравнение человеческих
лиц — это задачи распознавания образов.
Экспертные системы, построенные на идеях ИИ, аккумулируют опыт,
знания, навыки специалистов (экспертов) для того, чтобы в нужный момент
передать их любому пользователю ЭВМ.
Идеи ИИ положены в основу работы интеллектуальных роботов —
электромеханических устройств, предназначенных для облегчения работы
человека. Заметим, что автором термина «робот» является чешский писатель
Карел Чапек.
Чаще всего программы ИИ составляют на языках программирования
PROLOG, LISP или Smalltalk.
Одна из самых первых программ искусственного интеллекта GPS
(General Problem Solver) создана А. Ньюэллом, Дж. Шоу и Г. Саймом в конце
50-х годов ХХ столетия. Она способна однотипным способом решать такие
непохожие задачи, как расчет интегралов, разгадывание логических
головоломок, доказательство теорем, грамматический анализ фраз.
Яркими представителями ИИ являются электронные переводчики и
словари.
Считается, что история машинного перевода началась с эксперимента,
проведенного в Джорджтаунском университете в 1954 г. Впервые текст,
написанный на русском языке, был переведен на английский язык с помощью
ЭВМ.
В России наибольшее распространение получили две программы перевода
с одного естественного языка на другой: Stylus (фирма «ПроМТ» или ПРОект
МТ) и Socrat (фирма «Арсеналъ»).
Системы Stylus (последние версии получили имя PROMT или ПРОМТ)
переводят со многих языков и обрабатывают документы большинства
распространенных форматов, число специализированных словарей составляет
несколько десятков.
На рисунке показан пользовательский интерфейс переводчика
PROMT XT. Видны два окна, причем в верхнем содержится исходный текст на
русском языке, а во втором окне — его перевод на английский язык. Система
PROMT позволяет подключать несколько специализированных словарей для
перевода текстов, относящихся к различным предметным областям
(математика, информатика, электротехника, коммерция и т. д.).
Конечно, качество перевода еще далеко от идеального варианта. В этом
легко убедиться, сделав перевод с одного языка на другой, а затем выполнив
обратный перевод. Так, поговорка «Сделал дело, гуляй смело» после двойного
перевода (на английский язык, а затем обратно) выглядит так: «Сделал бизнес,
выходят на прогулку безопасно». В переводе слышится тюремный мотив
(шутка).
Еще один пример. Перевод на немецкий язык, а затем обратный перевод
на русский язык поговорки «Любопытной Варваре на базаре нос оторвали» дал
такой результат: «Любопытным варварам на рынке нос имеют оборванно».
На следующем рисунке показан электронный словарь МультиЛекс 2.0
(компания МедиаЛингва). Его особенность состоит в том, что он позволяет
прослушать произношение английского слова (так называемый говорящий
словарь).
При переводе можно выбирать предметную область (финансы, право,
техника, строительство, печать), к которой относится переводимый термин.
И все же, несмотря на фантастические возможности ЭВМ, вероятно, они
останутся лишь мощным инструментом. А мыслить и творить будет человек.
6.6. Экспертные системы
Экспертная система (ЭС) — это интеллектуальная вычислительная
система, в которую включены знания опытных специалистов (экспертов) о
некоторой предметной области (финансы, медицина, право, геология,
страхование, поиск неисправностей в радиоэлектронной аппаратуре и т. д.). ЭС
в пределах определенной предметной области способна принимать экспертные
решения (давать советы, ставить диагноз).
ЭС позволяет накапливать, систематизировать и сохранять знания,
профессиональный опыт тех экспертов, которые решают конкретные задачи
наилучшим образом. Накопленные в ЭС знания могут быть использованы на
практике неограниченное число раз.
Работа экспертных систем основана на алгоритмах искусственного
интеллекта и предполагает использование информации, заранее полученной от
специалистов-экспертов. Таким образом, экспертная система — это
электронный эксперт (советник), помощник.
ЭС используются там, где нет твердо устоявшейся теории, в тех
предметных областях, где слишком много переменных величин (факторов,
показателей, симптомов), затрудняющих создание полной теории, точной
математической модели. В этих предметных областях искусные практики при
решении задач опираются на свой опыт, навыки и интуицию.
Ниже приведена структурная схема экспертной системы.
Решатель
Интерфейс
пользователя
База
знаний
Редактор
базы
знаний
Подсистема
объяснений
С помощью редактора базы знаний эксперт (специалист в данной
предметной области) наполняет базу знаний (как бы передает ей свои знания,
умения, навыки). При создании ЭС наиболее трудоемким и трудно
формализуемым этапом является процедура заполнения базы знаний
сведениями, необходимыми для ее работы. Базы знаний могут включать
несколько десятков тысяч правил. В создании таких баз знаний экспертам
оказывают помощь инженеры по знаниям — когнитологи.
С помощью интерфейса пользователя происходит общение с ЭС лиц,
нуждающихся в консультации электронного эксперта. Пользователи
обращаются к ЭС за советом по специальным проблемам в узкой предметной
области, предоставляя ей специфические факты и свои гипотезы.
База знаний (БЗ) представляет собой совокупность знаний по данной
предметной области, почерпнутых из публикаций, а также введенных в
процессе взаимодействия эксперта (или нескольких экспертов) с экспертной
системой.
Решатель (другое название — машина логического вывода) — это
программа, моделирующая (имитирующая) ход рассуждений эксперта на
основании знаний, имеющихся в БЗ, и данных, введенных пользователем.
Решатель — это «мозг» ЭС. С помощью решателя обрабатываются
введенные данные и делаются соответствующие выводы.
Подсистема
объяснений —
программа,
позволяющая
продемонстрировать, каким образом получен результат, т. е. показать цепочку
рассуждений электронного эксперта. Подсистема объяснений облегчает
когнитологу выявление ошибок и модернизацию ЭС.
В описанной выше структуре ЭС знания отделены от алгоритма
обработки знаний. Такое разделение удобно по следующим причинам.
Содержание базы знаний зависит от конкретной предметной области. С другой
стороны, пользовательский интерфейс, решатель, редактор базы знаний,
подсистема объяснений (иногда эти блоки называются оболочкой) независимы
от предметной области. Таким образом, разумный способ разработки
экспертной системы, предназначенной для нескольких приложений, состоит в
создании универсальной оболочки. В такой ЭС для каждого нового приложения
достаточно наполнить базу знаний специфическими сведениями.
Примером подобной ЭС (оболочки) является EMYCIN (Empty
MYCIN — пустой MYCIN).
База знаний содержит факты и правила. Факты являются краткосрочной
информацией и могут изменяться в процессе консультаций. Правила
представляют более долговременную информацию о том, как порождать новые
факты или гипотезы. Правила могут быть эвристическими (опытными) по
природе, генерирующими скорее правдоподобный совет, чем достоверный
факт.
Знания, полученные из опыта и по интуиции, в терминологии экспертных
систем называют эвристиками. База знаний может также включать в себя
метазнание, т. е. знание о знании (о том, как мыслит эксперт). В отличие от
обычной базы данных, в базе знаний хранятся не только факты, но и правила,
которые позволяют вывести новые факты.
Решатель (машина логического вывода) обеспечивает «рассуждающую
способность», которая дает возможность экспертной системе формировать
выводы, давать советы. Машина логического вывода может использовать
различные стратегии поиска: прямой поиск «от фактов к цели» и обратный
поиск «от цели к фактам». В первом случае ЭВМ ищет пути от исходного
состояния проблемы к цели (т. е. к выводу или совету). Во втором случае, начав
с цели (результата), ЭВМ пытается доказать (или опровергнуть) истинность
результата.
Рассмотрим особенности экспертных систем.
1. ЭС ограничена определенной предметной областью.
2. ЭС способна рассуждать при сомнительных исходных данных.
3. ЭС способна объяснить цепочку сделанных ею рассуждений.
4. Факты и механизм (программа) формирования выводов четко
отделены друг от друга.
5. ЭС строится так, чтобы имелась возможность постепенного ее
наращивания (расширения) и модернизации.
6. В результате работы ЭС формируется диагноз, рекомендация, совет,
как нужно поступать в конкретной ситуации, или предположение о том, что
произошло с исследуемым объектом.
Экспертные системы имитируют процессы принятия решения людьмиэкспертами, и в состоянии компетентно решать сложные проблемы. Кратко
опишем некоторые ЭС, что позволит еще раз наглядно представить сферы
использования «электронных советников».
Экспертная система MYCIN (Стэндфордский университет) — одна из
первых и наиболее известных ЭС, разработана в середине 70-х годов
ХХ столетия. Система предназначена для диагностики инфекционных
заболеваний.
В 1975 г. в Гейдельбергском и Дармштадтском университетах была
разработана одна из первых юридических ЭС — JUDITH, позволявшая
юристам получать экспертные заключения по гражданским делам.
Экспертная система INTERNIST диагностирует несколько сотен
болезней с точностью, которая сопоставима с точностью диагноза, сделанного
квалифицированным врачом.
PROSPECTOR — экспертная система, которая помогает геологам в
поиске новых полезных ископаемых. На основании информации, введенной в
ЭВМ с географических карт, из обзоров и ответов на вопросы, которые
задаются геологам, PROSPECTOR предсказывает местоположение новых
залежей. Использование этой системы позволило обнаружить залежи молибдена
в Британской Колумбии.
Система TIMM (разработчик General Research) оказывает помощь
военному пилоту вертолета во время боевых действий.
Экспертная система Management Advisor (консультант менеджера)
разработана фирмой Paladin Software, Inc. в 1986 г. Система помогает
руководителю в планировании своей коммерческой деятельности.
Система XCON (Carnegie-Melon University) предназначена для
определения конфигурации компьютеров при их продаже. Покупатель
заказывает ЭВМ с определенными характеристиками, а ЭС позволяет
оптимально подобрать комплектующие блоки (тип дисплея, объем ОЗУ, тип
процессора, тип звуковой карты, объем видеопамяти и т. п.).
Экспертная система EXPERTAX (Coopert and Lybrand) готовит
рекомендации ревизорам и налоговым специалистам в подготовке расчетов
по налогам и подготовке финансовых деклараций. База знаний отражает опыт
свыше 20 экспертов.
Рассмотрим кратко порядок работы с медицинской экспертной системой
Интернист (INTERNIST), предназначенной для диагноза болезней.
Основная идея работы этой ЭС состоит в следующем.
Для каждой болезни эксперты (опытные врачи) заносят в базу знаний
характерный набор симптомов. Затем пользователь (например, пациент или
молодой врач) вводит конкретные
симптомы неизвестной болезни, и ЭС по
наибольшему числу совпадений ставит
Главное меню
диагноз.
После
запуска
программы,
Ввод симптомов
«начиненной» знаниями опытных врачей,
Редактирование симптомов
на экране появится Главное меню.
Анализ симптомов
Первоначально в Главном меню
Ссылка на заболевание
выбирается пункт «Ввод симптомов»,
Переконфигурация
который позволяет получить доступ к
Выход
следующему меню.
В меню «Ввод симптомов для
интерпретации» последовательно выбираются 25 групп симптомов (глаза, уши,
шея, горло и т. д.), с помощью которых впоследствии придется вводить
множество симптомов болезней.
Каждый из 25 пунктов этого меню позволяет детально описать признаки
болезни каждого органа.
На следующем рисунке показан фрагмент пользовательского интерфейса,
с помощью которого пользователь описывает симптомы заболевания
дыхательных путей (пункт 22 предыдущего меню).
Открывая каждый из 25 пунктов меню «Ввод симптомов для
интерпретации», пользователь заносит в ЭС все симптомы болезни и
результаты проведенных анализов, значение температуры, давления и т. д.
После этого в Главном меню выбирается пункт «Анализ симптомов», и
ЭС ставит диагноз пациенту, указывая несколько возможных заболеваний в
порядке
убывания
вероятности. Например, как
на предыдущем рисунке.
Цифры
справа
показывают,
сколько
введенных
пользователем
признаков
совпадают
с
действительными признаками
данной болезни. Естественно, что окончательное решение о характере
заболевания будет принимать врач, а ЭС выступает лишь в роли советника,
подсказывающего возможные варианты.
При необходимости врач может с помощью пункта Главного меню
«Ссылка на заболевание» уточнить признаки каждой болезни, сведения о
которой занесены в базу знаний, и при необходимости провести
дополнительные обследования.
В будущем портативные ЭС с помощью датчиков будут контролировать
самочувствие каждого человека. При необходимости они будут самостоятельно
с помощью сотового телефона вызывать неотложную медицинскую помощь.
6.7. Мультимедиа
Мультимедиа — это новая информационная технология, позволяющая
одновременно отображать документы, содержащие текст, неподвижные
изображения, а также видеофильмы, анимированные объекты и звуки.
Мультимедиа позволяет синхронно воздействовать на слух и зрение
человека, тем самым повышая объем передаваемой в единицу времени
информации. В переводе с английского языка термин «мультимедиа» означает
«много сред» (текст, звук, видео, графика).
Мультимедиа способна объединять текст, звуки, музыку, речь, шумовые
эффекты, видеоизображение, фрагменты художественных и документальных
фильмов,
видеоклипы,
телевизионное
изображение,
анимацию,
мультипликацию, диаграммы, карты, таблицы, рисунки, картины, фотографии,
слайды, схемы, чертежи и т. п. в единую красочную интерактивную программу,
деловую рекламу, презентацию, интерактивную энциклопедию, обучающую
программу, словарь, электронную книгу, игру, сказку и т. п.
Заметим, что пока не существует четко сформулированного понятия
«мультимедиа». Во многих литературных источниках начальное представление
о мультимедиа авторы дают путем описания существующего программного
обеспечения, аппаратного состава мультимедийных компьютеров и области их
использования.
Мультимедийные компьютеры порой называют мультимедиа-системами.
Мультимедиа-системы успешно применяются в сфере образования (в том
числе при дистанционном и заочном обучении), в издательской деятельности
(электронные книги, журналы, справочники, энциклопедии), в бизнесе (реклама,
презентации), в информационных центрах (библиотеки, музеи), в индустрии
развлечений и т. д.
По
установившимся
в
настоящее
время
представлениям,
мультимедийный компьютер в своей минимальной конфигурации (помимо
стандартных блоков) должен обязательно содержать звуковую карту и звуковые
колонки (или головной телефон — наушники). Перечень дополнительных
устройств, которые могут быть подключены к мультимедийному компьютеру,
чрезвычайно широк.
Чаще других упоминается проигрыватель лазерных дисков, микрофон,
MIDI-клавиатура для электромузыкального инструмента (синтезатора),
телевизионный адаптер.
Кроме того, к компьютеру порой подключают следующие устройства:
аналогово-цифровые и цифроаналоговые преобразователи для перевода
непрерывных аудио- и видеосигналов в цифровой эквивалент и обратно,
специальные процессоры (видеопроцессоры) для преобразования обычного
телевизионного сигнала к виду, воспроизводимому электронно-лучевой трубкой
дисплея, декодеры для взаимного преобразования телевизионных сигналов
различных стандартов, устройства для сжатия данных.
Обратим внимание на то, что технология мультимедиа стремительно проникает
во все виды программного обеспечения и поэтому бывает трудно выделить
чисто мультимедийное программное обеспечение. Например, в операционной
системе
Windows
некоторые
происходящие
события
дублируются
специальными звуками, а при работе в глобальной сети Интернет одновременно
с текстовыми сообщениями можно наблюдать анимацию, графические образы и
слушать музыку.
Технология мультимедиа позволяет по желанию пользователя
последовательно превращать компьютер в домашний кинозал, магнитофон
(диктофон), аудиосистему, электромузыкальный инструмент, кинопроектор
фильмов на оптических дисках, телевизионный или радиоприемник, тренажер или
интерактивный учебный комплекс, караоке (устройство для пения под
музыкальное сопровождение), проектор для показа слайдов во время доклада.
Данная технология позволяет подключать к ЭВМ видеокамеру, видеомагнитофон,
цифровой фотоаппарат и фиксировать изображение в памяти компьютера.
Такие преобразования компьютера в каждом конкретном случае
открывают перед пользователем новые возможности. Например, позволяют
выделять интересные кадры из фильмов или телевизионных передач (с целью
их последующего редактирования и использования), изменять темп или
тональность звучания музыкальных произведений, самостоятельно задавать
состав инструментов музыкальных ансамблей, по своему усмотрению
устанавливать громкость звучания каждого инструмента, изменять спектр
записанного с помощью микрофона голоса диктора.
Видеоизображение, полученное с помощью видеокамеры, вводится в
ЭВМ уже в оцифрованном виде. Это позволяет при монтаже видеофильма
использовать множество разнообразных приемов обработки цифровой
информации: микширование (смешивание) отдельных фрагментов с
использованием эффектов смещений, наплывов, шторок, просвечивания одного
изображения сквозь другое; разнообразные преобразования цветов —
соляризация (частичный негатив), хромакей (замена одного цвета другим),
формирование полностью негативного изображения. Компьютер позволяет
изобразить проплывание одного изображения по другому, обтекание
изображением трехмерного объекта, продемонстрировать морфинг (плавное
преобразование одного изображения в другое, например, поэтапный переход
головастика в лягушку). Мультимедийный компьютер позволяет легко
совместить видеоизображение с титрами.
С помощью мультимедийного компьютера можно смонтировать
звуковые фрагменты в единую фонограмму. Программы аудиомонтажа
позволяют соединять (микшировать) различные каналы в общую запись
(аккомпанемент и голос), склеивать различные кусочки фонограмм, применять
разнообразные эффекты — дилэй (временные задержки), хорусы (эффект
расстройки инструмента), флэнжеры (фазовращения), реверберацию (эхо),
применять коррекцию тембра и т. д.
Мультимедийный компьютер можно снабдить клавиатурой клавишного
музыкального инструмента. Исполненное музыкантом произведение может
быть записано в память компьютера, а затем отредактировано: заменены
неверно сыгранные ноты, изменены длительности пауз, скорректированы темп
и громкость, добавлены нужные звуковые эффекты.
Музыкальные
редакторы
позволяют записывать музыкальные
произведения на экране монитора с
помощью стандартного нотного стана
и нот, которые при желании можно
вывести на принтер. Записанное в
память
произведение
легко
воспроизвести в автоматическом
режиме. При этом в качестве
солирующих и аккомпанирующих
инструментов
выбирают
любой
инструмент из сотни инструментов, которые способен имитировать компьютер.
Музыкальные
компьютеры,
оснащенные
профессиональным
оборудованием, используются композиторами для сочинения и аранжировки
новых произведений. Эти системы позволяют вживлять в синтезированную
музыку «живое» исполнение на традиционных инструментах. Для записи
«живого» инструмента или голоса солиста мультимедийные компьютеры
комплектуют микрофоном и преобразователем аналогового сигнала в цифровой
(АЦП).
Для начинающих музыкантов разработаны программы для обучения
игры на гитаре, фортепиано и т. д.
Современные мультимедийные компьютеры позволяют формировать не
только стереофоническое звучание, но и обеспечивают эффект окружающего
звука — английское название: система Dolby Surround. Для ее реализации
требуется специальная звуковая плата и 4—6 громкоговорителей.
В технологии мультимедиа пользователю отводится активная роль. По
своему желанию он может менять сценарий происходящего события, выводить
дополнительную
информацию,
изменять
солирующий
музыкальный
инструмент,
выбирать
номер
телевизионного
канала,
указывать
привлекательные разделы статьи и т. д.
Звуковые и видеоклипы требуют для своего хранения наличия огромных
объемов памяти, и по этой причине до недавних пор в пользовательские
программы сложно было вводить даже элементарные звуки и анимацию.
Объемы памяти гибких и жестких дисков были слишком малы, чтобы
разместить сотни мегабайтов необходимых данных. Огромный потенциал
оптических дисков CD-ROM изменил эту ситуацию.
Возможность легкого копирования отдельных кадров и целых
фрагментов телевизионных передач представляет интерес для людей различных
специальностей, в частности для журналистов.
Современные компьютеры и быстрое распространение технологии
мультимедиа, вероятно, навсегда изменят психологию людей, которые
занимаются поиском и изучением необходимой информации. Громадные
скорости поиска и разнообразие форм представления найденной информации,
одновременное воздействие на несколько органов чувств человека делают эту
технологию привлекательной для разных слоев населения.
Подтверждением этой мысли являются великолепно исполненные
мультимедийные энциклопедии, которые становятся достойными конкурентами
традиционным книгам на бумажном носителе. Все большее число людей
стремится иметь в своем распоряжении географические атласы, копии картин из
картинных галерей, справочные материалы, которые собраны на оптическом
диске. Достоинством дисков являются их компактность, долговременное
хранение информации и многократное ее использование без потери
первоначального качества, простота копирования и возможность простой
передачи информации на большие расстояния.
Изучение иностранных языков, географии, астрономии, математики,
истории, освоение музыкальной грамоты, приобщение к сокровищам искусства
и культуры — благодатные области приложения мультимедийных технологий.
Просмотр картин какой-либо картинной галереи в сопровождении
классической музыки и комментария квалифицированного экскурсовода могут
заинтересовать не только любителей, но и истинных ценителей живописи. При
этом скульптуры можно будет рассматривать с разных точек зрения. Кстати,
заметим, что пользователь по своему усмотрению может выбрать язык
комментариев (английский, французский, немецкий, итальянский и др.).
Мультимедиа позволяет создавать и использовать электронные книги,
которые можно условно разделить на несколько типов: энциклопедические,
информационные, обучающие и художественные.
Первый тип электронных книг содержит огромный объем информации. В
качестве примера можно назвать следующие энциклопедии:
Compton’s Interactive Encyclopedia, Webster's Interactive Encyclopedia,
Microsoft Encarta Encyclopedia, Grolier Encyclopedia, Большая энциклопедия,
Энциклопедия событий.
В электронных книгах второго типа информация не столь разнообразна и
посвящена, как правило, одному узкому вопросу. В качестве примера назовем
такие компакт-диски: «Домашняя энциклопедия здоровья», «Энциклопедия
компьютера (Кирилл и Мефодий)», «ART — История искусств», «Кухня
народов мира», электронные журналы «Аурамедиа», Midi Music Shop
(музыкальный магазин), Composer Quest (композиторы), «Толковый словарь
русского языка Даля», книга рекордов Гинесса (отечественная версия «Диво»).
Электронные книги третьего типа используются для обучения. К ним
можно отнести English Gold, Deutsch Gold, Правила дорожного движения.
К достоинствам электронных энциклопедий и справочников относится
великолепная справочно-поисковая система. Она обеспечивает быстрый поиск
по ряду признаков: алфавитному, хронологическому, географическому,
контекстному и др. При поиске могут быть использованы булевы функции с
целью создания фильтров, которые позволяют отсеять избыточную
информацию. Поэтому найти нужную справку, статью или рисунок на диске
значительно проще , чем в обычной библиотеке.
Мультимедийный
отечественный
лазерный
диск
«Большой
энциклопедический словарь» содержит 850 000 статей. Известные аналогичные
зарубежные издания включают в себя: Encarta — 27 000, Compton’s — 35 000,
Grolier — 44 000 статей. «Большой энциклопедический словарь» содержит
около 6000 цветных иллюстраций, более 70 видеофрагментов и анимации,
свыше 200 карт, более 1 часа звукового сопровождения.
Заметим, что система поиска информации энциклопедий Encarta и Grolier
характеризуются широкими возможностями и удобством.
Современные художественные электронные книги содержат, в основном, текст.
Однако в недалеком будущем эти книги будут озвучены голосами
профессиональных артистов. Существуют мультимедийные программы
(например, TextAssist), позволяющие озвучивать текстовые документы. При
этом озвучивание может осуществляться одним из «заранее подготовленных»
голосов. Пользователь имеет возможность изменять голоса по своему
усмотрению, регулируя высоту голоса, тембр, скорость чтения.
6.8. Виртуальная реальность
Термин «виртуальная реальность» можно определить как новую
информационную технологию, позволяющую пользователю в реальном
времени находиться и перемещаться в иллюзорном трехмерном пространстве
(вверх, вниз, вправо, влево, вглубь, наружу).
Можно считать виртуальную реальность дальнейшим развитием
технологии мультимедиа.
Впервые технология виртуальной реальности (ВР) была использована для
обучения военных летчиков.
Виртуальная реальность позволяет создать для медицинских
работников иллюзию реально проводимой хирургической операции.
Архитектор
может
рассмотреть
интерьер
и
внешний
вид
спроектированного
им
здания.
Конструктор (или инженер) может
создавать трехмерное изображение
объекта и испытывать созданную
модель, находясь внутри нее.
Для
демонстрации
мод
используют виртуальные модели,
которые заимствуют лучшие черты
известных манекенщиц.
Виртуальный музей позволяет
посетителям увидеть любой экспонат коллекции в трехмерном виде и с разных
сторон. Имитация танкового боя дает экономию средств военным ведомствам
за счет отказа от проведения реальных маневров.
ВР применяется при тренировке летчиков, космонавтов и спортсменов.
Разработан специальный тренажер, имитирующий спуск на спортивных санях.
Спортсмены могут, не выходя из здания, опробовать любые трассы и пройти
подготовку к соревнованиям.
Виртуальные банки и виртуальные магазины входят в обыденную
жизнь людей. При этом действия в виртуальном универсаме напоминают
обычную покупку в традиционном магазине. Можно рассматривать и выбирать
товары, переходя от одной полки к другой. Затем нужно расплатиться в
виртуальной кассе с помощью кредитной карточки, а товар будет доставлен на
дом с помощью реальных транспортных средств.
ВР является одним из захватывающих средств развлечений.
Например, во время моделирования полета в космическом корабле
происходят столкновения с астероидами и нападения инопланетян. Ускорение и
замедление
корабля
имитируются
перемещениями
кресла.
Полет
сопровождается звуковыми и световыми эффектами.
Имитация пикирования к земле или мертвая петля в маленьком
спортивном самолете заставляют весь организм напрячься. Человек теряет связь
с действительностью и чувствует себя парящим в кабине самолета над
простирающимися до горизонта холмами и равнинами. Принцип имитации
ускорений (перегрузок и силы тяжести) основывается на использовании
управляемой центрифуги с независимым вращением по трем осям.
С помощью виртуального учителя есть возможность изучать боевые
искусства и танцы.
Можно ожидать, что виртуальная реальность найдет широкое
применение при изучении стереометрии, черчения, при решении
конструкторских задач.
Технология ВР формирует трехмерное изображение, стереофонический и
квадрофонический звук, тактильные ощущения, воздействует на чувства
равновесия. Напомним, что тактильные ощущения — это ощущения
прикосновения, осязания.
Кратко рассмотрим технологию создания объемного изображения.
Расстояние между центрами зрачков человека обычно составляет
6—7 см, и каждый глаз по-разному видит объемный объект. Наши глаза и мозг
способны примерно определить размеры объектов, расстояние до объектов и их
взаимное расположение, основываясь на различии двух изображений,
воспринимаемых левым и правым глазом.
Для формирования стереоэффекта нужно для каждого глаза
сформировать отдельное изображение. Технически создать иллюзию объемного
изображения можно несколькими способами.
1. Перед каждым глазом помещается отдельный небольшой монитор. При
этом на левом мониторе формируется изображение для левого глаза, а на правом
мониторе — изображение для правого глаза. Таким образом, изображения для
двух глаз разделены в пространстве.
Этот способ технически реализуется с помощью шлема, содержащего два
дисплея. Таким образом, два канала передачи изображения разделены в
пространстве.
2. Перед глазами помещаются фильтры (жидкокристаллические линзы),
которые с большой частотой в противофазе закрывают и открывают обзор. В это
время изображение формируется на единственном большом мониторе, на котором
синхронно с работой фильтров появляется изображение поочередно для левого и
правого глаза. Другими словами, этот способ можно описать так: правый фильтр
закрывается (становится непрозрачным), когда на дисплее появляется
изображение для левого глаза, и наоборот. Этим осуществляется временное
разделение формирования изображения для двух глаз. Как правило, два соседних
кадра содержат изображения для разных глаз.
Этот способ технически реализуется с помощью очков и базируется на
временном разделении передаваемых изображений.
3. Перед правым глазом помещается синий фильтр, а перед левым
глазом — красный фильтр. На экране монитора одновременно формируется два
изображения, одно красное — для левого глаза, второе синее — для правого
глаза. При наблюдении через красный фильтр красное изображение становится
практически невидимым, а синее изображение кажется черным. При
наблюдении такого изображения через синий фильтр наоборот: синее
изображение невидимо, а красные линии кажутся черными. Совместное
действие двух фильтров вызывает иллюзию объемного изображения. Этот
способ позволяет формировать только черно-белое изображение. Два
одновременно формируемых на дисплее изображения спектрально разделены.
Техническая реализация этого способа достаточно проста. Для
наблюдения стереоэффекта требуются двухцветные очки. Способ базируется
на частотном (спектральном) разделении передаваемых изображений.
4. Перед левым глазом помещается прозрачный фильтр, а перед правым
глазом практически черный фильтр. Эффект трехмерного изображения
проявляется только при наблюдении движущихся объектов. Физиологической
основой для подобной иллюзии является различие во времени реакции каждого
глаза при распознавании движущегося изображения. Для статических картин
иллюзия объемности не возникает.
Существует также технология формирования виртуальной реальности с
помощью проекционных устройств, создающих иллюзию окружающего мира,
путем проекции изображения на стены и потолок комнаты. Этот способ особенно
эффективен при имитации подводного мира и боевых сражений.
Программные продукты и аппаратные средства виртуальной реальности
имитируют реальную действительность с такой степенью достоверности, что
можно «потрогать» объекты, находящиеся в этом
призрачном мире, и они соответствующим образом будут
реагировать на прикосновение. Процедуру вхождения в
виртуальный мир часто называют погружением. Конечно,
это не следует понимать буквально, как это показано на
рисунке слева.
Для взаимодействия с виртуальной реальностью
применяются специальные устройства ввода-вывода:
шлемы-дисплеи, манипуляторы, информационные перчатки и информационный
костюм.
Рука пользователя, одетая в информационную перчатку, может быть
спроецирована (перенесена, погружена) в трехмерную компьютерную среду.
Манипулируя информационной перчаткой, пользователь в состоянии
взаимодействовать с виртуальным миром, управляя объектами.
Устройства
тактильной
обратной
связи
Датчик изгиба
Волоконнооптические кабели
Направляющие
кабелей
Датчик
абсолютного
положения и
ориентировки
Датчики
натяжения
Интерфейсная
плата
Информационная перчатка
На следующем
перчатки.
рисунке
показана
конструкция
информационной
Рассматриваемая информационная технология позволяет ощутить форму
предмета, например, сферичность шара. Этот эффект достигается тем, что в
информационную перчатку вмонтированы устройства тактильной обратной
связи. В нужный момент времени эти устройства надавливают на кончики
пальцев, создавая эффект иллюзии касания виртуального объекта, позволяют
ощутить «тяжесть» объекта.
Перчатка может оценивать положение и изгиб каждого пальца. Это
обеспечивается использованием оптико-волоконных нитей, фиксирующих
количество света, проходящего через каждую нить.
Контакт пользователя с системой может осуществляться голосом, при
этом управляющие команды вводятся в ЭВМ с помощью микрофона.
Специальное устройство джойстринг обеспечивает эффект обратной
силовой связи. При управлении с помощью джойстринга виртуальным
автомобилем, который делает крутой поворот на большой скорости, возникает
ощущение вырывающегося из рук руля.
Конструкция шлема отслеживает движение головы, и синхронно с
наклоном и поворотом головы меняется картина обзора. Встроенная в шлем
система датчиков фиксирует движения головы и передает данные на
компьютер, который постоянно заново пересчитывает перспективу при
малейшем движении испытуемого в виртуальном мире.
Для описания виртуальной реальности создан специальный язык —
VRML (Virtual Reality Modelling Language), на базе которого различные фирмы
создают программные средства.
ВР позволяет изнутри рассмотреть систему кровообращения, побывать
внутри сердца, позвоночного столба, рассмотреть со всех сторон скелет. Можно
увидеть строение глаза, уха, мышц. Иллюзия объемности столь велика, что
создается впечатление, что кисть скелета сильно выдвигается из дисплея.
Ведутся работы по созданию виртуального муляжа человеческого тела, с
помощью которого студенты-медики смогут изучать анатомию.
Традиционные системы ВР позволяют имитировать движение, однако
пользователь в это время неподвижно располагается в кресле. Братья Нурахмед
и Нурулла Латыповы (Россия) изобрели устройство для свободного
перемещения пользователя по виртуальному миру.
Это устройство названо авторами «Виртуальная сфера». Оно
представляет собой полую сферу, размер которой таков, что позволяет внутри ее
двигаться взрослому человеку. Диаметр сферы 2,6 м, вес всего около 100 кг.
Сфера устанавливается на колеса-опоры, которые могут вращаться вокруг
любой из своих осей. Благодаря такой опоре сфера свободно вращается в любом
направлении.
Перед тем как войти в сферу через люк, пользователь надевает
специальный костюм. На спине костюма находится компьютер-ноутбук. К ЭВМ
подключены встроенные в костюм датчики и шлем.
Положение и жесты пользователя определяются по показаниям датчиков,
фиксирующих величину углов между частями тела.
С ее помощью пользователь сможет обучаться боевым искусствам,
спортивным, танцевальным движениям в интерактивном (диалоговом) режиме с
компьютерным учителем, делать пешеходные прогулки по самым знаменитым
городам мира.
Можно предположить, что в недалеком будущем с помощью технологии
виртуальной реальности дополнительно будут осуществляться воздействия на
обоняние, вкусовые ощущения, на эмоции и чувства (например, вызывать
чувства жажды, радости или страха).
6.9. Системы автоматизированного
проектирования
Деятельность научно-исследовательских институтов, конструкторских
бюро, проектных организаций связана с разработкой новых технологий,
устройств,
приборов,
конструкций.
Проектирование
сопровождается
оформлением большого объема технической документации: чертежей, схем,
планов.
Современные программные и технические средства вычислительной
техники позволяют перейти от традиционных ручных (рутинных) методов
конструирования к новым информационным технологиям проектирования с
использованием ЭВМ.
Для облегчения труда конструкторов, проектировщиков, изобретателей и
рационализаторов разработаны системы автоматизированного проектирования
(САПР). Этому термину соответствует английская аббревиатура CAD —
Computer-Aided Design. Эти три буквы входят в названия многих иностранных
программ, предназначенных для конструирования, черчения, трехмерного
моделирования объемных объектов и оформления инженерной документации,
например, P-CAD, OrCAD, AutoCAD, CADdy, ArchiCAD, T-FLEX CAD.
В отличие от автоматических систем проектирования, САПР способны
решать задачи, не поддающиеся полной формализации. Проектирование в таких
системах
является
автоматизированным
и
осуществляется
под
непосредственным контролем оператора (пользователя), чаще всего в форме
человеко-машинного диалога. Режим работы, в котором часть решений
принимает оператор, называется интерактивным режимом.
Наиболее широко системы автоматизированного проектирования
используются в электронике, электротехнике, архитектуре, строительстве,
машиностроении, автомобилестроении, нефтехимической промышленности,
аэрокосмической технике.
САПР образно сравнивают с «электронным кульманом». САПР является
одним из средств для перехода к безбумажной технологии делопроизводства.
В ряде САПР из области электроники заложен принцип сквозного
проектирования. При этом с помощью САПР выполняют полный цикл
проектирования и производства: составление технического задания, разработку
объекта, моделирование его работы, автоматизированное изготовление объекта,
оформление документации. По этой причине все чаще говорят о системе
CAD/CAM (Computer-Aided Design/Computer-Aided Manufacturing) — системе
автоматизированного проектирования и производства, которая охватывает
широкий спектр задач от начального конструирования до подготовки данных,
необходимых для реального производства изделия.
Системы автоматизированного проектирования не только облегчают
процесс создания и описания новых объектов, но и являются удобными
справочниками, которые позволяют пользователям накапливать и хранить
информацию (данные о компонентах, размерах корпусов микросхем, условные
графические обозначения, сведения из стандартов и т. д.). Например, в базах
данных машиностроительных САПР содержатся подробные сведения о болтах,
винтах, гайках, шайбах, шпильках, штифтах и т. п.
Существует большое число средств проектирования электронных
устройств. Они позволяют автоматизировать разработку важного элемента
радиоэлектронных устройств — печатных плат.
Печатная плата — это конструкционный элемент радиоэлектронных
изделий. Печатная плата является несущей конструкцией, на которой
размещаются и механически крепятся радиоэлементы (микросхемы,
транзисторы, диоды, конденсаторы, резисторы и т. п.). Электрическое
соединение радиоэлементов осуществляется с помощью тонких плоских
проводников, расположенных на поверхности печатной платы. Процесс
составления монтажной схемы соединения радиоэлементов в соответствии с
принципиальной схемой называется разводкой (трассировкой) печатной платы,
а программы, которые реализуют этот процесс, называются трассировщиками.
Если говорить коротко, то печатная плата — это диэлектрическая
пластина, на которой имеются медные проводники, контактные площадки и
переходные отверстия для соединения проводников, расположенных на разных
сторонах платы. Заметим, что печатные платы бывают односторонними,
двухсторонними и многослойными.
После разводки печатной платы приступают к ее изготовлению с
помощью соответствующего оборудования. Проводники формируют методами
фрезерования или химического травления заготовок. При использовании
технологии химического травления на заготовку наносят краской рисунок
проводников. В процессе травления заготовки тонкий слой меди, который не
покрыт краской, в результате химической реакции удаляется, и остаются лишь
металлические проводники, необходимые для работы устройства.
Нанесение краски на заготовку может происходить вручную и
автоматически с использованием технологии изготовления фотошаблонов.
С помощью печатных плат создаются многие узлы бытовой аппаратуры и
ЭВМ, например, материнская (системная) плата, внутренний модем, звуковая
карта и т. д.
Системы
проектирования
«умеют»
автоматически
размещать
радиоэлементы на печатной плате, а затем составлять рисунок электрических
проводников, соединяющих радиоэлементы в соответствии с принципиальной
электрической схемой.
В большинстве программ предусмотрен режим автоматического
изготовления разработанных печатных плат. Специальные плоттеры наносят на
заготовки рисунки печатных плат, разработанные с помощью САПР. Станки с
числовым программным управлением (ЧПУ) под управлением этих программ
автоматически ведут фрезерование и сверление печатных плат.
На заключительном этапе проектирования с помощью САПР
осуществляется верификация разработанной конструкции (производится
окончательная проверка соблюдения технологических норм, рассчитываются
характеристики устройства с учетом параметров, присущих конкретной
конструкции, т. е. с учетом взаимного расположения радиоэлементов и
печатных проводников).
Завершается проектирование изготовлением конструкторской и
технологической
документации.
Многие
системы
предусматривают
автоматическую нумерацию радиоэлементов на принципиальной схеме в
соответствии с требованиями Единой системы конструкторской документации
(ЕСКД).
Рассмотрим
некоторые
программы,
предназначенные
для
проектирования радиоэлектронных изделий.
Пакет OrCAD (фирма OrCAD Inc.) представляет собой интегрированный
комплекс программ для разработки электронных устройств. Он состоит из
нескольких автономных модулей: SDT, VDT, PCB, PLD.
Модуль SDT (Schematic Design Tools) служит для составления
электрических схем проектируемого устройства. Он содержит библиотеку
элементов и комплектующих, которая может дополняться пользователем.
Другими словами, SDT — это специализированный графический редактор,
предназначенный для оформления электрических схем.
Составленная схема может быть выведена на принтер или плоттер, а
полученный файл является исходным для обработки другими модулями пакета.
Модуль VST (Digital Simulation Tools) предназначен для моделирования
работы цифровых устройств. Исходным файлом является схема, составленная
при помощи модуля SDT. Модуль VST моделирует работу устройства и
вычерчивает диаграммы напряжений в контрольных точках.
Модуль PCB (PC Board Layout Tools) предназначен для разводки
печатных плат. Исходным файлом для него является схема, составленная с
помощью модуля SDT.
Модуль может выводить данные в стандарте, пригодном для работы со
станками с числовым программным управлением. При этом автоматически
просверливаются отверстия, изготавливаются фотошаблоны и т. д.
Модуль PLD (Programmable Logical Design Tools) предназначен для
проектирования устройств на базе программируемых логических интегральных
схем (ПЛИС). ПЛИС представляют собой матрицы логических элементов,
соединенных проводниками. Пережигая соответствующий проводник, можно
получить компактный функциональный узел, который при дискретной
технологии будет состоять из нескольких корпусов микросхем.
Пакет P-CAD (фирма Accel Technologies) предназначен для разработки
электронных устройств, начиная от составления принципиальной схемы, и
вплоть до подготовки документации на разработанное устройство.
Первое представление о возможностях популярной в России САПР
PCAD-4.5 дает перечисление основных программ, входящих в этот пакет.
P-CAD 4.5 содержит графический редактор PC-CAPS, предназначенный
для графического ввода и редактирования электрических схем и схемных
символов (библиотечных элементов); программу обслуживания библиотечных
элементов PC-COMP, позволяющую редактировать библиотечные элементы;
графический редактор PC-PLACE, предназначенный для размещения
радиоэлементов на печатной плате; графический редактор PC-CARDS,
используемый для трассировки печатной платы; программу PC-DRILL,
служащую для управления сверлильным станком с ЧПУ.
Резисторы
Проводники
Разъем
Микросхемы
В начале 1996 г. появилась Windows-версия программы P-CAD,
названная Accel EDA, совмещающая в себе возможности P-CAD с наглядным
интерфейсом Windows.
Пакет Accel EDA включает следующие функциональные модули:
библиотечный диспетчер, редактор принципиальных схем, редактор печатных
схем и трассировщик.
Библиотечный диспетчер (Library Manager) позволяет подготавливать
библиотеки, содержащие информацию о типовых элементах, из которых
строится схема. В библиотеку можно включать условное графическое
обозначение элемента, возможные варианты корпусов и дополнительную
текстовую информацию.
ACCEL Schematic — редактор принципиальных схем, а ACCEL P-CAD
PCB — графический редактор печатных плат.
Модуль SPECTRA производит трассировку печатных плат как в
автоматическом режиме, так и в интерактивном (диалоговом) режиме.
На предыдущем рисунке показан фрагмент печатной платы с
несколькими радиоэлементами, которые припаиваются к контактным
площадкам. Соединение между контактными площадками осуществляется с
помощью печатных проводников.
Среди
программ
аналогичного
назначения
можно
отметить
отечественный трассировщик (программа для разводки печатных плат) F-router,
который работает совместно с графическими редакторами программ P-CAD,
OrCAD и др. Программа характеризуется невысокой стоимостью и
возможностью модернизации условных графических обозначений с учетом
отечественных стандартов.
Программа AutoCAD фирмы Autodesk является лидером среди
инженерных графических пакетов.
При построении чертежей система позволяет использовать графические
примитивы: точку, отрезок, окружность, дугу, фигуру, полилинию.
Полилиния — это линия, состоящая из нескольких прямых и дуг.
Система позволяет легко изменять масштаб изображения, производить
панорамирование (плавное перемещение видимой части изображения по
большому чертежу).
Детали, поэтажные планы здания и другие объекты можно прорисовывать
разным цветом на различных слоях чертежа, что дает возможность отслеживать
их совместимость и взаимосвязь при общей компоновке.
AutoCAD «умеет» не только разрабатывать двумерные плоские чертежи,
но и моделировать сложные трехмерные каркасные, полигональные
(поверхностные) и объемные (твердотельные) конструкции.
Система обеспечивает автоматическое построение диметрической,
изометрической, косоугольной и аксонометрической проекций агрегатов, узлов
и деталей.
Система CADdy (немецкая фирма ZIEGLER-Informatics GmbH) имеет
модульную структуру, причем каждый модуль предназначен для ведения
проектных работ в своей предметной области. Перечислим некоторые области
применения системы: геодезия, картография, водопроводные и газовые сети,
дороги, двумерное и трехмерное проектирование зданий, проектирование
систем отопления, водоснабжения и канализации, систем вентиляции и
кондиционирования воздуха, систем электроснабжения и слаботочных систем
зданий, автоматическая разводка 16-слойных печатных плат, создание
электрических принципиальных схем, создание технологических схем
промышленных установок.
Библиотека символов CADdy включает графические символы для каждой
из прикладных областей (всего около 6000
символов). Для радиотехнических проектов
в библиотеке имеются символы диодов,
тиристоров,
транзисторов,
логических
элементов, интегральных схем (около 350
символов).
На
рисунке
слева
приведены
результаты трехмерного моделирования с
помощью системы CADdy. Проектировщик
в состоянии наглядно представить внешний вид здания и интерьер созданного
помещения. При этом легко сменить угол обзора, посмотреть на здание с другой
стороны.
Программа 3D-Dream House Designer позволяет проектировать офис
(дом, квартиру) в трехмерном виде. Вокруг созданного жилища можно
обустроить приусадебный участок. Есть возможность заглянуть в созданный
дом через окно и, наоборот, осмотреть ландшафт с балкона. Созданный дом
можно оснащать мебелью, радиоаппаратурой, картинами, наклеивать на стены
разнообразные обои.
6.10. Средства создания презентаций
Термин «презентация» имеет два значения. Рассмотрим их определения.
Презентация – документ, содержащий ряд кадров (слайдов).
Презентация предназначена для иллюстрации (сопровождения) доклада,
технического проекта, лекции, информационного сообщения, результатов
научных исследований, бизнес-плана, дипломного проекта и т.п. Презентация
может содержать эффекты анимации, звуковые и видео эффекты, которые
усиливают эмоциональное воздействие на аудиторию (слушателей и зрителей),
помогают сконцентрировать внимание на важных моментах сообщения.
Первое определение можно кратко выразить так: презентация – это
комплект иллюстративных материалов, предназначенных для сопровождения
доклада.
Второе значение термина «презентация» – это мероприятие (встреча,
совещание, банкет), целью которого является представление (показ,
демонстрация, ознакомление, публикация) чего-либо нового (книги, фильма,
фирмы, продукции, изделия, товара, сайта и т.п.).
Второе значение рассматриваемого термина можно лаконично
определить так: презентация – это мероприятие, предназначенное для
ознакомления с чем-то новым.
Порой презентацию называют на английский манер - слайд-шоу (показ
слайдов).
В дальнейшем термин «презентация» мы будем использовать в обоих
смыслах. Значение используемого термина будет, как правило, понятным из
контекста.
Презентация предполагает использование заранее подготовленного
иллюстративного материала и технических средств для его демонстрации. К
современным техническим средствам проведения презентаций относятся
локальные и глобальные сети. Причем могут применяться разнообразные формы
презентации: пассивная демонстрация готового материала через Интернет и
активная совместная работа над презентацией в виде сетевой конференции
нескольких участников.
Презентации могут использоваться для ознакомления людей (клиентов,
покупателей, посетителей, зрителей, учащихся) с учебными заведениями,
предприятиями, фирмами, продукцией, выпускаемой предприятиями,
компьютерными программами, экспонатами музея, артистами театра,
спортивными клубами, туристическими маршрутами и т.п. Презентации удобно
использовать в учебных целях, например, для объяснения принципа действия
какого-либо устройства или порядка работы с программой для ЭВМ.
Презентации можно использовать и в быту, в частности, для создания
фотоальбомов, которые посвящены проведенному отпуску или конкретному
члену семьи (ребенку).
Важным элементом при рассмотрении вопросов презентации является
понятие «слайд».
Слайд (термин происходит от английского слова Slide - диапозитив) –
логически и художественно завершенный документ, который может содержать
текст, рисунки, фотографии, таблицы, диаграммы, колонтитулы, гиперссылки,
ярлыки, видеоклипы, аудиоклипы, примечания, дату и время, порядковый
номер. Отдельные элементы, размещенные на слайде, называются объектами.
Слайд может существовать в электронном виде, тогда он
демонстрируется с помощью компьютера, от которого сигналы поступают в
локальную или глобальную сети, на мультимедийный проектор, плазменную
или светодиодную панели, либо телевизионный приемник с большим экраном.
Электронный слайд можно скопировать на фотопленку шириной 35-мм
(или 60-мм), и демонстрировать его с помощью проектора слайдов. Подобные
проекторы используются в быту для просмотра диапозитивов, создаваемых с
помощью фотоаппаратов.
Электронный слайд можно отпечатать с помощью принтера на
прозрачной пленке. Затем пленку формата А4 (прозрачку), содержащую
изображение слайда, можно проецировать на экран с помощью специальных
проекционных аппаратов: видеоимиджера или оверхед проектора.
Наконец, электронный документ может быть отпечатан на бумаге и
использован как раздаточный материал для каждого участника конференции.
Кроме того, существует возможность отпечатанные на бумаге слайды
демонстрировать на большом экране. Для этого служат телевизионные камеры и
специальные проекторы, называемые эпидиаскопами, эпипроекторами и
видеоимиджерами.
Для создания презентаций разработаны специальные программы, которые
сочетают в себе элементы текстовых, графических и звуковых редакторов. В
этих программах имеются средства для показа нескольких логически связанных
кадров (слайдов).
Перечислим несколько программ, предназначенных для создания,
редактирования и демонстрации презентаций: MS PowerPoint, Harvard Graphics,
Lotus Freelance Graphics, Charisma.
Программа MS PowerPoint имеет наибольшее распространение среди
пользователей благодаря активной рекламной политике, проводимой фирмой
Microsoft, и несомненным достоинствам этой программы. Данная программа
входит в комплект программ MS Office, поэтому часто автоматически
устанавливается пользователями на жесткий диск одновременно с текстовым
редактором, электронными таблицами и системой управления базами данных.
Совместимость всех программ MS Office позволяет легко переносить
необходимые объекты по технологии OLE из других программ в MS PowerPoint.
В Microsoft PowerPoint имеется три основных режима работы: обычный
режим, режим сортировщика слайдов и режим просмотра слайдов.
Обычный режим используется при создании и редактировании
презентаций. В данном режиме на экране монитора по умолчанию появляются
три области. Первая область 1 (см. рисунок) располагается на экране слева и
используется для редактирования структуры презентации. Эта область содержит
две закладки: Структура и Слайды. С помощью закладки Структура легче
анализировать
логические связи между
созданными слайдами,
составлять
план
доклада. Напомним, что
структура
–
это
2
элементы и связи между
ними. В этом режиме на
1
экран выводятся только
заголовки
и
подзаголовки слайдов. С
помощью
закладки
3
Слайды можно видеть
эскизы
созданных
слайдов и порядок их
расположения
в
презентации. В этом режиме легко представить общую картину доклада.
Вторая область 2 размещается на экране справа. В этом месте в крупном
масштабе отображается текущий слайд. Третья область 3 используется для
хранения заметок к слайду. Она располагается на экране снизу. Заметки
предназначены только для докладчика (лектора) и не видны во время
демонстрации слайдов. Заметки – это как бы краткий конспект доклада,
шпаргалка для лектора.
Режим сортировщика слайдов дает возможность видеть одновременно
несколько десятков слайдов (число видимых на экране кадров зависит от
выбранного масштаба), выполнить реорганизацию презентации (поменять
местами слайды), добавить или удалить слайды, производить предварительный
просмотр эффектов анимации и смены слайдов. Перемещение слайдов
осуществляется по технологии Drag and Drop (буксировка). В этом режиме идет
монтаж слайд-фильма.
В режиме просмотра слайдов презентацию можно посмотреть в
окончательном виде на полном экране.
Программы для создания средств презентации (ПССП) позволяют:
создавать новые презентации, редактировать существующие презентации,
демонстрировать готовые презентации.
Создать новую презентацию в MS PowerPoint можно на основе:
рекомендаций мастера автосодержания, готовых шаблонов, пустых слайдов, уже
существующей презентации.
Мастер автосодержания содержит несколько стандартных заготовок
(структур). Перечислим заголовки некоторых заготовок: Общий доклад,
Предлагаем стратегию, Сообщаем дурные новости, Учебный курс, Мозговой
штурм, Диплом, Бизнес-план и т.д. Для создания простейшей презентации
начинающему пользователю достаточно лишь полно ответить на вопросы,
поставленные мастером автосодержания.
Шаблон – документ (заготовка), позволяющий наглядно представить
будущий слайд. Шаблон определяет стиль презентации, цветовую схему,
размеры и координаты областей (рамок), в которых размещаются объекты.
Стиль – это параметры слайда, которые определяют максимальное число
допустимых для использования шрифтов, размеры шрифтов заголовка и текста,
количество пунктов в маркированном списке, внешний вид и цвет маркера в
списке, количество строк в заголовке, форму написания заголовка и основного
текста (например, все буквы прописные, все буквы строчные или как в обычном
предложении).
Список – это конструкция текста, содержащего перечисления каких-то
элементов. Списки бывают маркированными и нумерованными.
Маркер – это значок или небольшой рисунок, который стоит в начале
каждого пункта списка (абзаца, элемента).
Шаблон может быть применен ко всем слайдам презентации сразу или
выборочно лишь к некоторым
слайдам.
При
создании
презентации
с
помощью
пустых
слайдов
удобно
использовать
готовые
макеты, цветовые схемы и
образцы слайдов.
Макет – документ
(заготовка),
который
схематично
показывает
расположение
на
слайде
будущих
объектов
(заголовков, подзаголовков,
рисунков, текста, диаграмм,
таблиц, видеоклипов).
На
предыдущем
рисунке показаны примеры четырех макетов. Местоположение будущих
объектов на макете обозначено рамками.
При редактировании макета положение рамок и их размеры допустимо
изменять. Вариация размеров рамок осуществляется по технологии буксировки
(Drag and Drop) с помощью специальных значков – маркеров, расположенных по
периметру рамок.
Если стандартные шаблоны не устраивают разработчика презентации, то
существует возможность создания собственного образца слайдов. Тогда
презентация будет выдержана в уникальном стиле, который в наибольшей
степени соответствует замыслу автора.
Образец слайдов - документ, содержащий данные о примененном
шаблоне, об использованных параметрах шрифтов, цветовой схеме, размерам и
местоположению рамок.
Цветовая схема - набор из
восьми
гармонично
подобранных
цветов, применяемых к слайдам,
страницам заметок или раздаточным
материалам.
Цветовая схема включает цвет
фона, цвета заголовка и текста, а также
цвета диаграмм.
Заранее продуманный план
презентации позволяет докладчику
иметь в своем распоряжении несколько
альтернативных вариантов доклада.
Различные
варианты
проведения
доклада можно выбирать с помощью
гиперссылок, в зависимости от заданных вопросов и необходимости
привлечения дополнительного материала.
Гиперссылки, размещенные на слайдах, помогают докладчику в нужный
момент времени изменить линейный (последовательный) характер
демонстрации слайдов, гибко перестроить структуру (план) доклада в
зависимости от реакции аудитории и заданных вопросов. С помощью текстовых
или графических объектов, исполняющих роль гиперссылок, докладчик (или
лектор) может по своему усмотрению вызвать предыдущий, первый или
последний слайды, либо сделать переход на заранее указанный слайд (выбор
происходит по их порядковым номерам). Делается это стандартными приемами,
принятыми в Web-дизайне: щелчком мышью по гиперссылке. Причем переход
на другой кадр можно осуществлять либо щелчком по гиперссылке, либо
наведением курсора на гиперссылку (наездом). Гиперссылкой может служить
фрагмент текста или графический объект. Создавать графические гиперссылки в
MS PowerPoint удобно с помощью управляющих кнопок, которые размещаются
в пункте Автофигуры (панель Рисование).
При помощи гиперссылки можно вызвать файл, содержащий другую
презентацию. После исполнения вызванной презентации программа вернется к
демонстрации исходного слайда. Для привлечения дополнительной информации
с помощью гиперссылки прямо из презентации можно соединиться с
необходимым сервером в Интернет.
Получить произвольную последовательность демонстрации слайдов
позволяет также опция Произвольный показ (находится в пункте Показ
слайдов). С её помощью можно заранее подготовить несколько альтернативных
вариантов показа презентации.
Заметим, что существует еще одна возможность изменения линейного
(последовательного) характера демонстрации слайдов. Для этого во время
демонстрации презентации нужно сделать щелчок правой кнопкой мыши по
слайду и выбрать опцию Переход, а там – один из пунктов: Навигатор слайдов
или Выбор слайда по имени. Указанными способами можно перейти к любому
слайду презентации.
При редактировании презентаций можно устанавливать слайды в нужном
порядке (сортировать), делать временно отдельные слайды невидимыми,
изменять шаблоны, цветовые схемы, выбирать виды переходов между слайдами.
Для облегчения процедуры разметки создаваемого слайда можно вывести на
экран сетку. Созданная презентация может быть защищена паролем от
несанкционированного использования другими лицами. При этом пользователь
выбирает один из восьми методов шифрования и длину использованного ключа.
На слайде могут быть размещены рисунки, которые входят в состав стандартной
коллекции картинок, либо иллюстрации из собственных коллекций.
При демонстрации презентаций ПССП предоставляют в распоряжение
докладчика разнообразные возможности: например, можно использовать
указатель в виде электронной стрелки, с помощью которого удобно показывать
интересные объекты на слайде. Можно использовать электронный карандаш,
который позволяет выделять, подчеркивать ключевые места на слайде.
Программа MS PowerPoint способна изменять цвет электронного карандаша.
Движением стрелки и карандаша управляют с помощью ручного манипулятора
«мышь» или цифрового планшета.
Смена кадров во время демонстрации происходит по командам, которые
подаются докладчиком (лектором), или в заранее установленном темпе (через
определенные промежутки времени). В принципе презентация может
демонстрироваться автоматически без участия докладчика. Это удобно делать
во время проведения конференций, ярмарок-выставок или при установке
компьютера в витрине магазина.
Создаваемые презентации являются мультимедийными продуктами за
счет использования звуковых эффектов, видеоклипов и анимации.
Анимация - добавление специальных видеоэффектов, которые оживляют
слайды. Например, можно создать эффект вращения заголовка или динамичного
вытеснения одного слайда другим. Анимация придает слайдам подвижность,
позволяет дополнительными средствами концентрировать внимание аудитории
на важных моментах доклада, делает материал более запоминающимся.
Перечислим некоторые эффекты анимации, используемые в MS PowerPoint при демонстрации заголовков и текстов: подчеркивание, растворение,
случайные полосы, центрифуга (вращающиеся слова), колесо (вращающиеся
буквы), нейтрон (хаотичное движение букв), бумеранг (вылет заголовка из угла
и последующее возвращение его обратно), смещение текста в виде титров,
движение букв по траектории эллипса и др.
Переход от одного слайда к другому может сопровождаться
разнообразными визуальными эффектами. При этом очередной слайд может
проступать через предыдущий слайд различными способами. Опция MS PowerPoint Смена слайдов позволяет создать следующие эффекты: жалюзи
горизонтальные и вертикальные (горизонтальные и вертикальные полосы),
шашки (смена слайдов проступанием через мелкие квадраты), объединение по
вертикали или горизонтали, наплывы в разные стороны, сдвиги, плавное
угасание и т.п.
Здесь уместно заметить, что программы создания презентаций дают
возможность создать эффектную, броскую форму подачи доклада, четче
продумать структуру доклада, благодаря шаблонам и автосодержанию не забыть
о ключевых моментах доклада. Однако содержание презентации определяется
лишь профессиональной подготовкой автора разработки, его квалификацией.
Естественно, что броская форма доклада не может заменить необходимого
содержания. Причем чрезмерное увлечение мелькающими надписями и
звуковыми эффектами может вызвать негативную реакцию аудитории.
7. Основные понятия моделирования
В данном разделе рассмотрены основные определения, дан обзор систем
моделирования радиоэлектронных устройств, описаны три системы, которые
целесообразно использовать в учебном процессе.
7.1. Основные понятия и определения
моделирования
Моделирование — метод научного исследования явлений, процессов,
объектов, устройств или систем (обобщенно – объектов исследований),
основанный на построении и изучении моделей с целью получения новых
знаний, совершенствования характеристик объектов исследований или
управления ими.
Модель — материальный объект или образ (мысленный или условный:
гипотеза, идея, абстракция, изображение, описание, схема, формула, чертеж,
план, карта, блок-схема алгоритма, ноты и т.п.), которые упрощенно
отображают самые существенные свойства объекта исследования.
Любая модель всегда проще реального объекта и отображает лишь часть
его самых существенных черт, основных элементов и связей. По этой причине
для одного объекта исследования существует множество различных моделей.
Вид модели зависит от выбранной цели моделирования.
Исторически первыми моделями, которые замещали реальные объекты,
вероятно, были языковые знаки. Они возникли в ходе развития человечества и
постепенно превратились в разговорный язык. Итак, слово было первой
моделью реального объекта (явления). Видимо, именно об этом говорят Ветхий
и Новый заветы: вначале было Слово, а затем появились объекты (свет, твердь,
суша, светила...).
Первые документально зарегистрированные наскальные рисунки
(петроглифы) были графическими моделями, которые изображали бытовые
сцены, животных и сцены охоты. Возраст этих рисунков оценивается величиной
200 тысяч лет.
Следующим этапом развития моделирования можно считать
возникновение числовых знаков. Сведения о результатах счета первоначально
сохранялись в виде зарубок. Постепенное совершенствование этого метода
привело к изображению чисел в виде цифр как системы знаков. Можно
предположить, что именно зарубки были прототипом римских цифр.
Известный математик, религиозный и философский деятель Пифагор
Самосский (VI век до н.э.) предполагал, что число является основой всего
существующего. Пифагор считал, что числовые соотношения являются
источником гармонии космоса.
Значительное развитие моделирование получило в Древней Греции. В VIII вв. до н. э. в Греции была создана геометрическая модель Солнечной
системы. Греческий врач Гиппократ для изучения строения человеческого глаза
воспользовался его физической моделью — глазом быка.
Потребность в создании и использовании моделей связана с тем, что
исследовать многие реальные явления и объекты сложно или дорого, а порой
вовсе невозможно. Например, безумно экспериментально изучать, к чему
приведет мировая термоядерная война. Опасны эксперименты с реальными
реакторами
на
атомных
электростанциях.
Неразумны
опыты
с
радиоаппаратурой при предельных
значениях напряжения питания и
окружающей температуры.
Приведем один из ярких примеров моделирования.
В Вычислительном центре Академии наук под руководством академика
Н.Н. Моисеева была разработана математическая модель возможных
последствий ядерной войны на планете Земля. Расчеты показали, что людей
погубит не только ударная волна, световое и радиационное излучение, но и
мороз, «ядерная зима». В результате подъема в атмосферу огромных облаков
сажи и пепла, будут блокироваться солнечные лучи, и температура на Земле
резко понизится.
В основе термина «модель» лежит латинское слово modulus — мера,
образец. Модель – это заместитель реального объекта исследования. Модель
всегда проще исследуемого объекта. При изучении сложных явлений,
процессов, объектов не удается учесть полную совокупность всех элементов и
связей, определяющих их свойства.
Но все элементы и связи в создаваемой модели и не следует учитывать.
Нужно лишь выделить наиболее характерные, доминирующие составляющие,
которые в подавляющей степени определяют основные свойства объекта
исследования. В результате объект исследования заменяется некоторым
упрощенным подобием, но обладающим характерными, главными свойствами,
аналогичными свойствам объекта исследования. Появившийся вследствие
проведенной подмены новый объект (или абстракция) принято называть моделью
объекта исследования.
Приведем несколько примеров моделей.
Карта — это графическая модель местности или звездного неба. В карте
соблюдается принцип подобия: сохраняется форма контуров материков,
водоемов, лесных массивов, рек, созвездий, относительное расположение
объектов, относительное расстояния между
объектами, угловое расстояние между звездами,
соотношение между их светимостью и т. д.
Манекен — модель человека, которая
отражает его внешние черты. Манекен подобен
человеку, сохраняет его пропорции, цвет кожи и
волос. Существуют макеты автомобилей,
пароходов, военной техники, железных дорог,
архитектурных сооружений и т. п.
При моделировании работы одной ЭВМ с помощью ЭВМ иной
конструкции используют понятия имитатор, симулятор и эмулятор. Под этими
терминами понимаются программы или устройства, имитирующие работу
других ЭВМ. Например, существуют эмуляторы однокристальной ЭВМ
К1816ВЕ35, бытовых компьютеров БК-0010, Spectrum ZX, игровых приставок.
Они позволяют моделировать их работу на компьютерах фирмы IBM.
Разработано много компьютерных симуляторов спортивных игр (футбол,
баскетбол, гольф, бильярд, теннис, шахматы…), полетов на космических
кораблях (космические симуляторы), самолетах и вертолетах, гонок на
автомобилях, игр на фондовой бирже, боевых сражений, подводного плавания.
Эти симуляторы иногда называют имитаторами.
7.1.1. Виды моделей
Создать исчерпывающую классификацию моделей достаточно сложно,
поэтому рассмотрим наиболее часто употребляемые определения моделей.
Процесс моделирования начинается с создания концептуальной модели.
Концептуальная модель (содержательная) — это абстрактная модель,
определяющая структуру системы (элементы и связи).
В концептуальной модели обычно в словесной (вербальной) форме
приводятся самые главные сведения об объекте исследования, основных
элементах и важнейших связях между элементами. Процесс создания
концептуальной модели в настоящее время не формализован: не существует
точных правил ее создания.
Основная проблема при создании концептуальной модели заключается в
нахождении компромисса между компактностью модели и ее точностью
(адекватностью). Имеется множество теоретических проработок этой проблемы,
но их трудно применить для решения каждой новой задачи. Поэтому
разработчик модели, руководствуясь своими знаниями, оценочными расчетами,
опытом, интуицией, мнением экспертов, должен принять решение об
исключении какого-либо элемента или связи из модели, изъятии из
рассмотрения второстепенных факторов, воздействующих на объект.
Термин «адекватна» (происходит от лат. adaequatus — приравненный,
равный) означает верное воспроизведение в модели связей и отношений
объективного мира. Этим термином характеризуют качество созданной модели.
Процесс создания концептуальной модели, вероятно, никогда не сможет
быть полностью формализован. Трудно придумать набор простых правил,
выполняя которые, можно создать хорошую концептуальную модель. Именно в
связи с этим иногда говорят, что моделирование является не только наукой,
но и искусством.
Концептуальную модель, содержащую основные сведения об объекте
исследований, порой называют информационной моделью.
В научной литературе широко используется термин математическая
модель (ММ). ММ — описание объекта исследования, выполненное с помощью
математической символики.
Для составления ММ можно использовать любые математические
средства — дифференциальное и интегральное исчисления, регрессионный
анализ, теорию вероятностей, математическую статистику и т. д.
Математическая модель представляет собой совокупность формул, уравнений,
неравенств, логических условий и т.д. Использованные в ММ математические
соотношения определяют процесс изменения состояния объекта исследования в
зависимости от его параметров, входных сигналов, начальных условий и
времени. По существу, вся математика создана для формирования
математических моделей.
О большом значении математики для всех других наук (в том числе и
моделирования) говорит следующий факт. Великий английский физик
И.Ньютон (1643-1727 г.г.) в середине 17-го века познакомился с работами Рене
Декарта и Пьера Гассенди. В этих работах утверждалось, что все строение мира
может быть описано математическими формулами. Под влиянием этих трудов
И.Ньютон стал усиленно изучать математику. Сделанный им вклад в физику и
математику широко известен.
Математическое моделирование — метод изучения объекта
исследования, основанный на создании его математической модели и
использовании её для получения новых знаний, совершенствования объекта
исследования или управления объектом.
Математическое моделирование можно подразделить на аналитическое
и компьютерное (машинное) моделирование.
При аналитическом моделировании ученый —
теоретик получает результат «на кончике пера» в процессе
раздумий, размышлений, умозаключений. Формирование
модели производится в основном с помощью точного
математического описания объекта исследования.
Классическим примером аналитического моделирования является
открытие планеты Нептун на основании теоретического анализа движения
планеты Уран. Расчеты выполнил французский астроном У.Леверье. Обнаружил
планету Нептун немецкий астроном Г.Галле в точке небесной сферы,
координаты которой вычислил У.Леверье.
При компьютерном моделировании математическая модель создается и
анализируется с помощью вычислительной техники. В этом случае нередко
используются приближенные (численные) методы расчета. При компьютерном
моделировании используются наиболее прогрессивные информационные
технологии, например, виртуальная реальность. При этом моделирование
медицинской операции вызывает иллюзию реально происходящего события.
Моделирование игровых ситуаций сопровождается мультимедийными
эффектами (звуками, видеоэффектами).
Компьютерная модель – модель, реализованная на одном из языков
программирования (программа для ЭВМ).
Рассмотрим еще два понятия: полная математическая модель и
макромодель.
Полная
математическая
Выходной
Контролируемые
модель — это модель,
отклик
воздействия
отражающая состояния
Y = f(X, Z)
X(x1, x2,…,xn)
как
моделируемой
Макромодель
системы, так и всех ее
внутренних элементов.
Полная
ММ
Неконтролируемые
электронного
воздействия
усилителя
позволяет
Z(z1, z2,…, zm)
определить
потенциалы всех узлов
схемы и токи через все
радиоэлементы (т. е. можно определить фазовые переменные для всех элементов
модели).
Макромодель проще полной математической модели.
Макромодель адекватна в отношении внешних свойств объекта
исследования. Однако, в отличие от полной математической модели,
макромодель не описывает внутреннее состояние отдельных элементов.
Например, макромодель радиоэлектронного усилителя определяет, как
изменяются сигналы на входах (X и Z) и выходе (Y) устройства, но не дает
сведения о том, как сигналы изменяются на каждом радиоэлементе (резисторах,
транзисторах и т. д.), находящемся внутри усилителя. Другими словами, полная
математическая модель описывает и систему, и элементы, входящие в систему.
Макромодель же описывает только систему моделирования. Макромодель
представляет объект исследования в виде «черного ящика», содержимое
которого неизвестно.
Модель называется статической, если среди входных воздействий X и Z
нет параметров, зависящих от времени. Статическая модель в каждый момент
времени дает лишь застывшую «фотографию» объекта исследования, ее срез. С
помощью статических моделей удобно изучать, например, работу логических
элементов.
Модель называется динамической, если входные воздействия
изменяются во времени, или нужно определить, как изменяется состояние
объекта исследования с изменением времени. С помощью динамических
моделей исследуют, в частности, переходные процессы в электрических цепях.
Модель называется детерминированной, если каждому набору входных
параметров всегда соответствует единственный набор выходных параметров. В
противном случае модель называется недетерминированной (стохастической,
вероятностной). В стохастических моделях используются генераторы случайных
чисел с различными законами распределения.
При моделировании часто оперируют следующими категориями: фазовая
переменная, элемент и система. Рассмотрим эти понятия.
Фазовая переменная — это величина, характеризующая физическое или
информационное состояние моделируемого объекта.
В качестве примеров фазовых переменных можно назвать электрические
напряжения и токи, механические напряжения и деформации, температуру,
давление и т.п. В моделях также могут фигурировать такие фазовые
переменные, как длины очередей к обслуживающим аппаратам, время
обслуживания запроса, время ожидания обслуживания и т. п.
При моделировании часто оперируют следующими категориями: элемент
и система. Рассмотрим эти понятия.
Элемент — составная часть сложного объекта исследования.
Система — целое, составленное из частей. Другими словами, система —
это множество элементов, находящихся в отношениях и связях друг с другом,
образующих определенную целостность, единство.
В зависимости от уровня моделирования, понятия «элемент» и «система»
получают различное смысловое наполнение.
Например, в глобальной вычислительной сети элементами являются
компьютеры и каналы связи. В другом случае, при моделировании ЭВМ как
сложной системы, в качестве элементов можно выделить процессор, устройства
ввода-вывода, память. Если системой считать процессор, то элементами станут
АЛУ, регистры, мультиплексоры, дешифраторы, триггеры и т. п. В случае
исследования триггера элементами будут резисторы и транзисторы. При
моделировании транзистора, как целой системы, элементами станут
эпитаксиальные, диффузионные, диэлектрические слои, металлические пленки и
т. д.
7.1.2. Понятие об имитационном моделировании
Объектами имитационного моделирования являются локальные и
глобальные вычислительные сети, телефонные и телеграфные сети, системы
энергоснабжения, транспортные системы, склады, автозаправочные станции,
ремонтные мастерские и т. п.
Анализ работы подобных систем основан на изучении процесса
прохождения потока заявок. По-другому заявки называются требованиями,
запросами, транзакциями (транзактами). Приведем примеры транзакций:
прохождение телефонных вызовов в городской телефонной сети, распечатка
нескольких файлов, одновременно поступивших на сервер печати в локальной
вычислительной сети, прохождение пакетов через маршрутизатор глобальной
вычислительной сети, ожидание клиентом очереди обслуживания в
парикмахерской, покупателя в кассе магазина, водителя на автозаправочной
станции, судами очереди разгрузки в порту.
В перечисленных системах заявки принимаются обслуживающим
устройством (аппаратом), которое может содержать несколько каналов
(например, в магазине устанавливают несколько касс, а между автоматическими
телефонными станциями создают несколько каналов связи). Если число
поступивших заявок велико, то не все они могут быть мгновенно обработаны
(обслужены, удовлетворены). По этой причине некоторые требования получают
отказ в обслуживании или их ставят в очередь на ожидание.
Системы, в которых, с одной стороны, возникают массовые запросы на
выполнение каких-либо услуг, а с другой стороны, происходит удовлетворение
этих запросов, называются системами массового обслуживания (СМО).
СМО исследуются с помощью имитационных моделей.
Имитационная
модель
–
стохастическая
(вероятностная,
статистическая) модель, содержащая кроме детерминированных элементов,
элементы, параметры которых изменяются по случайному закону.
Термин «имитационное моделирование» может быть практически
однозначно заменен термином «статистическое моделирование», то есть
моделирование с использованием случайных величин, событий, функций.
При изучении СМО исследователя интересуют следующие фазовые
переменные: время обслуживания заявок, длина очереди заявок, время
ожидания обслуживания в очередях, вероятность обслуживания в заданные
сроки, число отказов и т. п. Эти исследования носят статистический
(вероятностный) характер. Это объясняется тем, что интервалы времени между
поступлениями заявок на входы системы, а также большинство других
характеристик заявок являются случайными величинами. Состояние
обслуживающего устройства также является случайным событием (исправно
или нет, занято или нет). Например, на телефонной городской сети заявки
(телефонные звонки) возникают неравномерно. Ночью их число значительно
снижается, а утром их интенсивность достигает максимума (существует так
называемый час наибольшей нагрузки).
Имитационное моделирование сводится к проведению множества
вычислительных экспериментов (расчетов) на ЭВМ путем многократного
«прогона» (запуска на счет) составленной программы на множестве исходных
данных, имитирующих события, которые могут произойти в системе массового
обслуживания. Исходные данные при имитационном моделировании
изменяются по различным случайным законам. Результаты моделирования
получают путем статистической обработки результатов моделирования
(производят расчет математического ожидания, дисперсии, вероятностей,
проверку гипотез и т.п.).
7.1.3. Понятие о физическом моделировании
При физическом моделировании используют
физические модели, элементы которых подобны
натуральным объектам исследования, но имеют чаще
всего иной масштаб (например, макет самолета, макет
отдельного
района
города,
макет
плотины
электростанции). Физические модели могут иметь вид
полномасштабных макетов (например, авиационные
тренажеры), выполняться в уменьшенном масштабе
(например, глобус) или в увеличенном масштабе
(например, модель атома). Физические модели
конкретны, очень наглядны, часто их можно даже потрогать руками.
Хрестоматийный пример физической модели – макет самолета, летные свойства
которого исследовались в аэродинамической трубе.
Физическое моделирование применяется для моделирования сложных
объектов исследования, не имеющих точного математического описания.
При физическом моделировании для исследования некоторого процесса в
качестве физической модели порой используют процесс другой физической
природы,
который
описывается
аналогичными
математическими
зависимостями.
Чаще всего в качестве модели-заменителя используются электрические
цепи. При этом моделируемые процессы могут иметь разнообразную
физическую природу (механическую, гидравлическую, тепловую и др.).
При использовании электрических моделей физическое моделирование
упрощается благодаря легкости конструктивной реализации и простоте
измерений электрических и магнитных величин. С помощью электрических
моделей имитируются, в частности, акустические, гидродинамические
колебательные и волновые процессы.
Например, с помощью системы моделирования радиоэлектронных
устройств легко моделировать работу городской водопроводной сети. При этом
вместо потока воды при моделировании используется электрический ток, вместо
водного напора - электрическое напряжение. Сопротивление водяных труб
примерно эквивалентно электрическому сопротивлению резисторов.
Итак, многие явления различной физической природы имеют
аналогичные (сходные, подобные) закономерности и описываются с помощью
одних и тех же формул. Это обстоятельство делает возможным при физическом
моделировании исследовать некоторое явление путем изучения другого явления
совершенно иной природы. Описанный подход получил название аналогового
моделирования, а модель, реализуемую с помощью иных физических
механизмов, — аналоговой модели.
При аналоговом моделировании используются универсальные
аналоговые вычислительные машины (АВМ) или специализированные
аналоговые модели.
В АВМ математические величины представляются в аналоговой форме в
виде различных физических величин, например, электрического напряжения. В
АВМ основными элементами являются операционные усилители (ОУ). Вид
передаточной характеристики ОУ определяется конфигурацией цепей обратной
связи. Необходимая модель в АВМ создается путем соединения нескольких
электрических схем, каждая из которых выполняет определенную
математическую операцию (суммирование, умножение, логарифмирование,
интегрирование, дифференцирование и т. д.). Так, если в цепи обратной связи
ОУ поставлен резистор, то такой блок выполняет операцию умножения, если
конденсатор, то — операцию интегрирования, если диод — логарифмирование и
т. д.
В АВМ возможно непрерывное изменение исследуемой величины в
пределах определенного диапазона, при котором каждое значение отличается от
ближайшего значения на бесконечно малую величину. В АВМ результат
вычислений получается практически сразу же после ввода исходных данных, и
он изменяется непрерывно по мере изменения входных данных.
В АВМ точность выполнения математических операций ограничена
стабильностью элементов, реализующих эти операции. Практически достижима
наименьшая относительная погрешность порядка 0,01%.
Заметим, что, в отличие от АВМ, в цифровых вычислительных машинах
(ЦВМ) математические величины представляются в цифровой форме (в
двоичной системе счисления). Основными элементами ЦВМ являются
процессоры,
регистры,
дешифраторы,
мультиплексоры
и
другие
комбинационные и последовательностные цифровые устройства.
В ЦВМ математические операции выполняются в течение определенного
промежутка времени, длительность которого зависит от сложности формул,
необходимой точности, выбранного алгоритма и быстродействия компьютера. В
процессе выполнения расчетов значения исходных данных, как правило,
изменяться не могут. Новые данные могут быть введены только после
окончания вычислений при прежних исходных данных.
В ЦВМ точность математических вычислений определяется, в основном,
используемым алгоритмом и числом разрядов машинного слова.
При использовании ЦВМ выполнение расчетов часто происходит с
помощью приближенных численных методов (например, интегрирование
методом Симпсона, итерационное решение системы линейных уравнений,
решение дифференциальных уравнений методом Рунге—Кутты и т. д.).
Очень лаконично отличие АВМ от ЦВМ выразил Н. Винер: «…первые
измеряют, а вторые считают».
7.1.4. Уровни моделирования
Дадим определения еще нескольким важным понятиям: микроуровень,
макроуровень и метауровень моделирования.
Метауровень моделирования — степень детализации описания
крупномасштабных объектов исследования, характеризующаяся наименее
подробным рассмотрением процессов, протекающих в самих объектах. Это
позволяет в одном описании отразить взаимодействие многих элементов
сложного объекта.
На метауровне моделируются, например, процесс развития Вселенной,
работа локальных и глобальных вычислительных сетей, городских телефонных
сетей, энергосистем, транспортных систем.
Моделирование на метауровне позволило наглядно подтвердить
справедливость физических законов, сформулированных Исааком Ньютоном и
Альбертом Эйнштейном. Исследователи из Дарэмского университета
(Великобритания) с помощью компьютерной программы имитировали процесс
саморазвития нашего мира, начиная с Большого взрыва. В качестве законов
эволюции использовались современные научные представления теории
относительности, гравитации и другие теории. В процессе моделирования
первоначально однородная Вселенная начала развиваться и, в конце концов,
пришла к тому виду, который мы наблюдаем сейчас.
Макроуровень моделирования — степень детализации описания
объектов, характерной особенностью которой является рассмотрение
физических процессов, протекающих в непрерывном времени и дискретном
пространстве.
Например, макроуровень описания радиоэлектронной аппаратуры —
схемотехнический уровень. На этом уровне рассматриваются радиоэлектронные
схемы, состоящие из таких дискретных элементов, как транзисторы, диоды,
резисторы, конденсаторы, триггеры, логические элементы и т. п.
Микроуровень моделирования — степень детализации описания
объектов, характерной особенностью которой является рассмотрение
физических процессов, протекающих в непрерывном пространстве (сплошных
средах) и непрерывном времени.
Фазовыми переменными при моделировании на микроуровне являются
поля напряжений и деформаций в деталях механических конструкций,
электромагнитные поля в электропроводящих средах, поля температур нагретых
деталей.
На этом уровне моделируется, например, работа излучающих
телевизионных и радио антенн, устройств вихретоковой дефектоскопии,
предназначенных для контроля качества промышленных металлических
изделий, устройств электромагнитного ориентирования (силового воздействия
на промышленные детали с помощью электромагнитного поля), изучаются
защитные свойства электромагнитных экранов.
7.2. Обзор систем моделирования РЭУ
Системы моделирования радиоэлектронных устройств (РЭУ) позволяют
резко уменьшить объем экспериментальных исследований, для проведения
которых требуется приобретение дорогостоящих измерительных приборов,
радиодеталей, трудоемкая сборка и длительная настройка макетов.
Применение программ моделирования РЭУ позволяет всесторонне
исследовать разрабатываемые устройства в различных режимах работы
(например, в предельно допустимых режимах), что сложно выполнить
экспериментальными методами. Результаты макетирования дают ограниченный
объем информации о характеристиках разрабатываемой аппаратуры.
Экспериментальные исследования отражают характеристики лишь конкретных
единичных макетов. Они не позволяют оценить влияние статистического
разброса параметров полупроводниковых и других элементов РЭУ, и поэтому
трудно делать обобщающие выводы по результатам макетирования.
Экспериментально сложно определить, какие последствия вызовет наихудшее
сочетание параметров радиоэлементов, и что произойдет при отказе отдельных
радиоэлементов. Опытным путем не просто исследовать влияние
дестабилизирующих
факторов,
например,
внешней
температуры.
Перечисленные
проблемы,
возникающие
при
экспериментальных
исследованиях, легко преодолеваются путем моделирования работы РЭУ.
Моделирование широко используется при проведении научноисследовательских и опытно-конструкторских работ.
Программы моделирования могут с успехом использоваться и в учебном
процессе. Изучение радиоэлектронных устройств можно проводить при
выполнении лабораторных работ по многим техническим дисциплинам. Это
избавляет от необходимости делать значительные затраты на приобретение
оборудования для лабораторных работ, исключает отказы оборудования из-за
ошибочной коммутации, позволяет исследовать многие режимы работы
устройств, которые недопустимы в реальных макетах.
На этапе разработки структурной (укрупненной) схемы применяются
такие программы, как SysCalc, SystemView, SIMULINK, LabView, Hyper-Signal
Block Diagram, Dynamo.
К примеру, программа SystemView представляет собой конструктор, с
помощью которого из стандартных «кубиков» строится структурная схема. В
имеющейся библиотеке выбирают нужный модуль, который затем с помощью
мыши переносят на схему.
Детальное исследование радиоэлектронных устройств на ЭВМ на уровне
принципиальных схем можно провести с помощью множества специальных
программ: PSpice (Design Center, DesignLab), OrCAD, TangoPRO, Electronics
Workbench, MicroCAP, CircuitMaker, Aplac и др.
При проектировании устройств сверхвысокочастотного диапазона могут
быть использованы программы Super Compact, Touchstone, Libra, Microwave Office.
В данном обзоре мы, в основном, коснемся программ для моделирования
принципиальных схем РЭУ.
Одной из первых удачных программ моделирования РЭУ была программа
схемотехнического моделирования SPICE (Simulation Program with Integrated
Circuit Emphasis), разработанная в начале 70-х годов ХХ столетия в
Калифорнийском университете для больших ЭВМ, а в конце 80-х годов эта
программа была адаптирована (приспособлена) для ПЭВМ и получила название
PSpice. Эта программа оказала сильное влияние на последующие подобные
разработки.
В системе PSpice использован таблично-топологический метод описания
схемы: выделяются узлы и указывается, какие элементы установлены между
этими узлами. Затем программа автоматически составляет алгебраические и
дифференциальные уравнения для описания работы моделируемого устройства.
Узлами называются участки электрической схемы, в которых
соединяются два или более радиоэлемента.
Радиоэлементы
–
изделия
микроэлектроники,
выполняющие
операции
радиоэлементы
усиления,
генерирования,
детектирования,
фильтрации
и
другие
преобразования
электрических сигналов. Радиолементы бывают
пассивными (резисторы, конденсаторы, катушки
узел
индуктивности и др.) и активными (транзисторы,
диоды, операционные усилители и др.).
Ввод схем в систему моделирования
первоначально был неудобен. Последние версии
программы PSpice позволяют синтезировать схему из готовых графических
элементов. Для этого системы комплектуются библиотеками стандартных
элементов. Заметим, что разработку математических моделей радиоэлементов
ведут фирмы-производители, которые в наибольшей степени заинтересованы в
широком распространении своей продукции.
На базе программы PSpice были разработаны многие программы,
например, Design Center и DesignLab.
DesignLab 8.0 — интегрированный программный комплекс корпорации
MicroSim, предназначенный для сквозного проектирования аналоговых,
цифровых и смешанных аналогово-цифровых устройств, синтеза устройств
программируемой логики и аналоговых фильтров.
Компания OrCAD, основанная в 1985 г., выпускала программы для
моделирования цифровых устройств и оформления чертежей радиосхем. В январе
1998 г. она объединилась с компанией MicroSim, дополнив список своих
продуктов системой аналогово-цифрового моделирования PSpice и системой
сквозного проектирования DesignLab v.8.0. С января 1999 г. на рынок
поставляется объединенный продукт этих двух фирм, названный OrCAD v.9.0.
Программа OrCAD v.9.0 предъявляет достаточно высокие требования к
компьютеру: для ее работы требуется ОЗУ объемом 32—128 Мбайт и свободное
пространство на жестком диске - 250 Мбайт.
Наиболее легка в освоении программа Electronics Workbench (фирма Interactive Image Technologies). Она построена интуитивно понятно, и работа с
этой программой напоминает экспериментальную деятельность радиоинженера.
В программе имеются виртуальные приборы (вольтметры, амперметры,
генераторы, осциллограф, измеритель амплитудно-частотной характеристики и
т. п.).
В последнюю версию MultiSIM & Electronics Workbench v 6.02
добавлены измеритель мощности, анализатор спектра и анализатор сети.
Программа имеет большую библиотеку аналоговых и цифровых радиодеталей.
В библиотеке содержатся сведения о транзисторах, диодах, резисторах,
конденсаторах, триггерах, счетчиках, индикаторах и т. п.
Испытуемая схема «монтируется» на виртуальном столе, и затем
делаются необходимые измерения. При этом настройка виртуальных
измерительных приборов осуществляется практически так же, как и настройка
реальных приборов. Создается полная иллюзия работы с конкретными
действующими конструкциями.
Программа допускает возможность вносить изменения в схему прямо в
процессе моделирования (например, с помощью переменных резисторов или
коммутируемых клавишами переключателей). Это существенно повышает
наглядность моделирования. Изменение параметров измерительных приборов
(например, осциллографа) дает возможность исследовать сигналы в разных
масштабах непосредственно в процессе моделирования. Это наиболее
существенное отличие данной системы (другие работают в пакетном режиме
моделирования и не допускают изменения параметров устройства в процессе
его моделирования).
«Собранную» схему легко редактировать. Элементы перемещаются на
«резиновых нитях», т. е. провода при перемещении не обрываются, а изменяют
свою конфигурацию.
Версии Electronics Workbench 4.0d и 5.0 легко инсталлируются на ЭВМ с
любой конфигурацией и занимают мало места на жестком диске
(соответственно 4,5 и 16 Мбайт).
Сходными возможностями обладает программа CircuitMaker (фирма
MicroCode Engineering In.). Для исследования сигнала в каком-либо узле схемы,
туда нужно подключить пробник. Появляющиеся на экране временные
диаграммы дают возможность провести анализ работы устройства.
Программа позволяет повернуть элемент на 90О, получить зеркальное
отображение, осуществить пошаговое (по тактам) исследование цифровых схем,
создать собственные микросхемы пользователя (определить их внутреннее
устройство), и затем использовать их как обычные стандартные микросхемы.
При моделировании цифровых устройств наглядность повышается
благодаря использованию линий различного цвета. Цепи, на которых
присутствует единица, отмечаются красным цветом, а цепи, по которым
передается логический ноль, — синим цветом. Для индикации логических
сигналов могут быть также использованы светодиоды, временные диаграммы
(индикатор Scope) либо пробник. Элементы анимации наглядно зафиксируют
наступление событий с помощью запускающейся ракеты или стартующих
автомобилей.
Программа позволяет легко редактировать составленную схему,
например, «выпрямлять» провода, которые имеют сложную конфигурацию.
С помощью CircuitMaker можно моделировать аналоговые, цифровые и
смешанные
(аналогово-цифровые)
устройства.
Заметим,
что
число
радиоэлементов,
допускающих
смешанное
моделирование,
довольно
ограниченное.
Для использования в учебном процессе в системе предусмотрен режим
умышленного создания неисправностей.
Программа Micro-Cap (Microcomputer Circuit Analysis Program)
рекомендуется
для
выполнения
исследовательских
работ,
не
предусматривающих немедленной конструкторской реализации (т. е. разводки
печатной платы и оформления конструкторской документации).
В программе Micro-Cap V имеется возможность построения трехмерных
графиков. Эти графики можно вращать относительно трех осей. В программе
расширены возможности многовариантного анализа. Программа допускает
одновременное изменение до десяти параметров. При этом предусмотрена как
одновременная модификация параметров, так и их варьирование с помощью
вложенных циклов.
В версии Micro-Cap VR2.0 значительно расширена библиотека
компонентов, которая включает примерно 10 тысяч радиоэлементов ведущих
фирм Европы, США и Японии. Для редактирования чертежей электрических
принципиальных схем имеется режим перемещения компонентов на
«резиновых нитях».
В состав программы входит также модуль расчета параметров моделей
аналоговых элементов по результатам экспериментальных исследований (таким
способом создаются новые модели). Чем больше использованных
экспериментальных точек, тем точнее получится модель.
Система Micro-Cap 6.0.1 может показать одновременно токи во всех цепях
и напряжения на всех узлах устройства. При исследовании устройств,
работающих в ключевом режиме, система сообщает, какие ключи открыты, а
какие закрыты. Программа может изменять по случайному закону мешающие и
дестабилизирующие факторы (метод Монте-Карло), а по результатам такого
моделирования — строить гистограмму статистического распределения.
В системе предусмотрен режим исследования чувствительности выходного
сигнала к изменению параметров любого элемента. Есть возможность определить
входное и выходное сопротивление устройства. Предусмотрена возможность
разработки активных и пассивных фильтров с заданными параметрами.
Для составления схемы достаточно прислонить элементы друг к другу,
цепь формируется автоматически (без проводов, без выполнения
дополнительных операций соединения).
Австралийская фирма Protel International разработала систему
проектирования аналоговых, цифровых и аналогово-цифровых устройств
Protel 98, обладающую примерно теми же функциональными возможностями,
что и OrCAD 9.0.
Программа Aplac 7.0 предназначена для проектирования и
моделирования РЭУ во временной и частотной областях. Другими словами,
программа помогает изучить характер изменения электрических сигналов при
изменении времени наблюдения, а также зависимости выходных сигналов от
частоты входного сигнала.
В состав моделируемых устройств могут входить как цифровые, так и
аналоговые устройства, в том числе устройства диапазона сверхвысоких частот.
Характерной особенностью программы Aplac является наличие большого
числа библиотечных элементов, из которых составляются принципиальные
схемы.
7.3. Система Electronics Workbench
Системой EWB поддерживается широкий набор радиоэлементов.
В моделируемые устройства могут входить: резисторы, конденсаторы, катушки
индуктивности, управляемые линейные и нелинейные источники сигналов,
линии задержки без потерь и с потерями, диоды, тиристоры, транзисторы,
операционные усилители, цифровые интегральные схемы и др. Кроме того,
устройства могут содержать: светодиоды, цифровые индикаторы, плавкие
предохранители, лампочки накаливания и ключи. В EWB имеется механизм
создания макромоделей (микросхем), которые работают в соответствии с
функциями, которые определил пользователь.
В программе предусмотрена возможность изменения параметров
радиоэлементов нажатием клавиш. При этом параметры схемы будут
Мультиметр
Генератор
Ваттметр
Осциллограф
Анализатор АЧХ
Генератор цифровых слов
Логический анализатор
Логический конвертор
Анализатор искажений
Анализатор спектра
Анализатор сети
изменяться прямо в процессе моделирования.
В последних версиях EWB имеется следующий набор измерительных
приборов:
Для улучшения восприятия схем различные цепи можно окрашивать в
разные цвета. При этом временные диаграммы на экране двухлучевого
осциллографа и многоканального логического анализатора окрашиваются в те
же цвета.
Существенной отличительной особенностью EWB является возможность
преобразования таблицы истинности (или булевого выражения) в логические
схемы. Этот процесс реализуется с помощью логического конвертора.
Подробнее рассмотрим версию Electronics Workbench 4.0d, которая
занимает малый объем дисковой памяти и потому удобна для использования в
учебном процессе.
Рабочее окно программы EWB содержит Главное меню:
Соединительная точка
Заземление
Источник
постоянного
тока
Источник
переменного
тока
Конденсатор
Источник постоянного
напряжения
Источник переменного
напряжения
Резистор
Индуктивность
панель измерительных приборов:
панель радиоэлементов:
вертикальную панель радиоэлементов (она показана частично):
В центре пользовательского интерфейса располагается рабочий стол для
«монтажа» устройств и поле комментариев — Description (которое по
желанию можно убрать):
Для «монтажа» устройства с помощью EWB следует выбрать нужный
радиоэлемент на вертикальной панели и буксировать его на рабочий стол, не
отпуская левой кнопки мыши (технология Drag and Drop). Чтобы соединить два
радиоэлемента между собой, подобает подвести курсор к внешнему выводу
первого радиоэлемента и при появлении точки нажать левую кнопку мыши.
Далее, не отпуская кнопку, надлежит подвести курсор к внешнему выводу
второго радиоэлемента и при появлении точки отпустить левую кнопку мыши.
Проводник можно подсоединять не только к внешнему выводу
радиоэлемента, но и к середине другого проводника, например, так, как это
сделано на следующем рисунке.
Если необходимо уменьшить число изгибов проводников, то можно
использовать соединительные точки (они располагаются на панели
радиоэлементов в окне Passive).
Если нужно убрать лишний проводник, то курсор подводят к
радиоэлементу и при появлении точки отводят проводник в сторону (как бы
отрывая его).
При необходимости радиоэлемент можно повернуть на 90°. Для этого
его надо активизировать (навести на него курсор, щелкнуть левой кнопкой
мыши, и его цвет должен стать красным). Затем в Главном меню следует
выбрать пункт Circuit (Схема), а там — подпункт Rotate (Повернуть).
Аналогичный эффект будет достигнут, если после активизации радиоэлемента
использовать комбинацию клавиш (аккорд) Ctrl + R.
Изменение номиналов радиоэлементов производится с помощью
диалоговых
окон,
которые
вызываются
двойным
щелчком
по
соответствующему радиоэлементу.
На предыдущем рисунке показано, как изменяется номинал резистора. В
цифровом поле установлено число 100, а с помощью элемента «счетчик»
выбирается нужная размерность. С помощью стрелок на «счетчике» можно
установить такие размерности: Ом, кОм, МОм. Выбранное значение номинала
радиоэлемента следует подтвердить нажатием кнопки Accept.
Аналогично устанавливаются номиналы конденсаторов, катушек
индуктивности и параметры источников напряжения.
Система EWB позволяет имитировать неисправности элементов (обрыв,
короткое замыкание, введение сопротивления утечки). Эти возможности удобно
использовать в учебном процессе.
При составлении схем один узел должен быть обязательно заземлен с
помощью элемента с таким условным графическим обозначением:
Для установки ключей (переключателей) необходимо в меню
радиоэлементов нажать кнопку Control (Управление), затем выбрать и
буксировать на рабочий стол соответствующий переключатель.
При необходимости переключатель можно повернуть стандартными
приемами.
Надпись в прямоугольных скобках [Space] означает, что по умолчанию
переключатель будет управляться клавишей пробела. Нажатие пробела вначале
приведет к замыканию верхних контактов, а при повторном нажатии — к
размыканию. Управлять переключателем можно в принципе любой клавишей.
Для этого достаточно проделать такие манипуляции. Активизировать
переключатель, затем в основном меню выбрать пункт Circuit, далее подпункт
Value (Значение). В открывшемся окне в строке Key (Клавиша) указать
выбранный символ, например G. Теперь управление переключателем будет
осуществляться клавишей G.
Эту операцию можно выполнить другим способом: дважды щелкнуть по
переключателю и в появившемся диалоговом окне сделать соответствующие
изменения.
Измерительные приборы можно выбрать на панели инструментов. Кроме
того, вольтметр и амперметр вызываются на панели радиоэлементов (кнопка
Indicators — Индикаторы).
Для повышения точности измерений необходимо установить внутреннее
сопротивление вольтметра большой величины (например, на следующем
рисунке оно выбрано 100 МОм). Для измерения переменного напряжения
необходимо включить режим (Mode) по переменному току AC, а для измерения
постоянного напряжения — режим DC.
Чтобы запустить процесс моделирования «собранного» устройства,
следует нажать кнопку, расположенную в правом верхнем углу рабочего окна
программы. Естественно, что указанные действия производятся с помощью
манипулятора мышь.
EWB позволяет моделировать аналоговые и цифровые устройства.
Основные сведения об исследуемых цифровых устройствах (например,
таблицу истинности) можно получить из базы помощи EWB. Для этого нужно
активизировать исследуемое устройство (надлежит сделать щелчок левой
кнопкой мыши, после чего изображение покраснеет). После этого следует
нажать на клавишу F1.
Следующая таблица показывает, как обозначаются логические элементы
в разных стандартах.
Элемент
И (конъюнктор)
Отечественное
обозначение
Американский
стандарт
И-НЕ (элемент
Шеффера)
ИЛИ (дизъюнктор)
ИЛИ-НЕ (элемент Пирса)
ИСКЛЮЧАЮЩЕЕ ИЛИ
(НЕРАВНОЗНАЧНОСТЬ)
ИСКЛЮЧАЮЩЕЕ ИЛИНЕ
(РАВНОЗНАЧНОСТЬ)
ИНВЕРТОР
Обозначение элементов в EWB не полностью совпадает с отечественным
стандартом. Так, элементы ИЛИ, ИЛИ-НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ
выглядят в EWB следующим образом:
Программа EWB позволяет использовать американский и европейский
стандарты обозначения радиоэлементов. Для изменения стандартов программу
нужно запускать с разными ключами, например:
D:\WEWB\wewb.exe /din — европейский стандарт;
D:\WEWB\wewb.exe /ansi — американский стандарт.
Следует обратить внимание, что после расширения exe стоит пробел.
Интересным инструментом системы EWB является логический
преобразователь (Logic Converter), который позволяет по таблице истинности
создать цифровое устройство и, наоборот, для существующего устройства
автоматически сформировать таблицу истинности.
Рассмотрим, как получить таблицу истинности для трехвходовой схемы
И (хотя заранее очевидно, что в этом случае единица на выходе устройства
появится, когда на всех входах будут единицы, но для учебных целей этот
пример удобен).
На предыдущем рисунке показана схема подключения и результаты
формирования таблицы истинности. Для ее формирования достаточно щелкнуть
по кнопке.
Таким образом, Electronics Workbench является одной из самых простых и
удобных систем моделирования радиоэлектронных устройств. Она позволяет
инженеру или технику провести проверку работоспособности разрабатываемого
устройства.
7.4. Система CircuitMaker
Система CircuitMaker разработана фирмой MicroCode Engineering In.
Иногда эту систему сокращенно называют Cirmaker. Система имеет
возможность
моделировать
аналоговые,
цифровые
и
смешанные
цифроаналоговые устройства [24].
Модели радиоэлементов, используемые этой системой, совместимы с
моделями программ семейства SPICE.
Достоинством программы CircuitMaker является ее небольшой объем и
легкость в освоении. Система предназначается для широкого круга лиц:
студентов, радиолюбителей и профессионалов (радиоинженеров). Некоторые
особенности системы специально ориентированы на ее использование в
учебном процессе.
На рисунке показан демонстрационный пример моделирования одного из
аналоговых устройств — операционного усилителя.
Вид пользовательского интерфейса CircuitMaker типичен для
операционных систем семейства Windows: сверху располагается строка
заголовка, затем Главное меню, панель инструментов, а в центре экрана
помещены окна с изображением принципиальной схемы и результатов
моделирования.
Три графика иллюстрируют разные виды моделирования данного РЭУ:
переходный процесс (Transient Analysis) показывает, как развивается процесс
во времени; анализ по переменному току (AC Analysis) демонстрирует
поведение устройства в частотной области; анализ схемы по постоянному току
(DC Analysis) изображает влияние вариации постоянных напряжений (например,
напряжения питания и постоянного входного напряжения). При необходимости
можно отказаться от какого-то вида моделирования и для иллюстрации
происходящих процессов оставить, например, лишь одно окно с графиком.
Продолжим рассмотрение предыдущего рисунка. Устройство содержит
генератор синусоидальных сигналов, операционный усилитель, три резистора,
два источника питания и заземление. Наличие заземления обязательно для
моделирования аналоговых устройств.
В левом верхнем углу схемы расположен вольтметр, который может быть
подключен к любому узлу схемы.
В левом верхнем углу каждого графика имеются органы управления, с
помощью которых можно редактировать внешний вид графиков (менять толщину
линий, устанавливать линейный или логарифмический масштаб по каждой оси,
устанавливать/убирать числовые значения вдоль осей, рассматривать интересный
участок графика в разном масштабе). Для детального исследования графиков или
схемы каждое окно можно развернуть на весь экран.
Перемещаемые маркеры на графиках позволяют определить значения
напряжений, частот и времени в нужных точках схемы. К любой точке (узлу)
можно подключиться с помощью перемещаемого мышью зонда (пробника).
Главное меню содержит следующие пункты (группы команд):
Только перечисление команд, доступных из каждого пункта Главного
меню, уже дает примерное представление о возможностях данной системы.
Пункт File (Файл) используется для работы с файлами (создать,
открыть, закрыть, сохранить, дополнить, печатать схему, печатать график
и т. д.)
Группа команд Edit (Редактирование) служит для редактирования схем
(отменить, вырезать, копировать, вставить, переместить, удалить, выделить все,
повторить действие, повернуть элемент на 90 о, зеркально отразить, «выпрямить»
провод и т. д.)
Пункт Macros (Макросы) предназначен для создания, сохранения,
копирования и редактирования микросхем, внутренняя конструкция которых
определяется самим пользователем. Имеется возможность установки пароля,
который ограничивает доступ для просмотра конструкции созданной
микросхемы. Однако наличие всего лишь 9999 секретных ключей, с точки
зрения криптографии, делает такую защиту несерьезной.
Команды группы Options (Опции) используются для получения
информации о данном устройстве (число элементов, узлов, проводов и т. д.),
включения режима многократной вставки одного радиоэлемента, изменения
вида курсора (стрелка, резак, паяльник, масштаб, текст), запуска схемы на
моделирование, установки параметров аналогового или цифрового
моделирования, удаления или вставки графиков и т. д.
Пункт View (Просмотр) позволяет изменить цвет различных компонентов
системы (заднего фона схем и графиков, надписей на элементах, самих
элементов, проводов, узлов, сеток на графиках), установить размер изображения
схемы в соответствии с имеющимся размером окна, сделать видимыми или
скрытыми параметры схемы (номера узлов, маркировку устройств и т. д.),
включить/выключить сетку, расположить окна каскадом или черепицей и т. д.
Пункты Hotkeys1 и Hotkeys2 («горячие клавиши») дают доступ к списку
радиоэлементов из базы данных для их установки на рабочий стол. Каждый
элемент может быть выбран нажатием одной клавиши.
Пункт Help (помощь) стандартно для операционных систем семейства
Windows содержит базу помощи, которая позволяет освоить необходимые
приемы работы с системой Cirmaker.
На панель инструментов выведены кнопки, которыми вызываются
наиболее часто используемые команды Главного меню.
Рассмотрим назначение некоторых из них.
1
2
3
4
5
6
7
8
9
10
11 12
13 14
15
16 17
1 — курсор (стрелка), служит для выделения и перемещения элементов;
2 — соединение (паяльник), кнопка предназначена для связывания проводами
элементов, установленных на рабочем столе,; 3 — текст, используется для
составления комментариев; 4 — резак, служит для удаления элементов,
соединений (проводов) или текста; 5 — имя, используется для нумерации
проводов в шине, маркировки индикаторов; 6 — масштаб; 7 — поворот
элемента на 90о; 8 — зеркальный поворот радиоэлемента; 9 — переключатель
режимов моделирования: цифровой/аналоговый; 10 — сброс, восстанавливает
первоначальное состояние аналоговых и цифровых схем (т. е. состояние до
начала моделирования); 11 — пошаговое моделирование цифровых устройств;
12 — старт/стоп, используется для запуска и остановки процесса
моделирования; 13 — пробник, служит для индикации логических уровней в
цифровых устройствах и значений напряжений, токов и мощности в аналоговых
устройствах; 14 — окраска проводов в соответствии со значениями логических
сигналов (такой режим порой называют трассировкой); 15 — вывод на экран
графиков; 16 — кнопка Элементы предоставляет доступ к базе данных,
содержащей радиоэлементы; 17 — кнопка Микросхема предназначена для
создания устройства, конфигурация которого определяется пользователем.
При работе с системой кнопки 9 и 12 после нажатия меняют свой вид:
«Хранилище» радиоэлементов вызывается кнопкой 16. Здесь можно
выбрать так называемые активные элементы (транзисторы, диоды,
электровакуумные лампы и т. д.), пассивные элементы (резисторы,
конденсаторы, катушки индуктивности), приборы, индикаторы, источники
питания, устройства анимации, которые оживляют процедуру моделирования,
цифровые устройства (триггеры, логические элементы, счетчики, компараторы,
дешифраторы, мультиплексоры, ПЗУ, ОЗУ, регистры), предохранители, реле,
переключатели, трансформаторы и др. Выбрать нужный элемент можно с
помощью
удобно
организованной
иерархической системы меню.
На рисунке слева приведен
пример моделирования логического
элемента И. «Горящие» светодиоды на
входах этого элемента сигнализируют о
подаче логических единиц, светодиод на
выходе также активен. Такое состояние
соответствует
таблице
истинности
логического элемента И. В нижней
части рисунка показаны временные
диаграммы работы конъюнктора. На
один вход элемента И подключен
генератор прямоугольных импульсов, а на второй вход — переключатель.
Исследователь может коммутировать переключатель (этим поочередно подавать
логические сигналы: единицу и ноль) и наблюдать происходящие изменения.
Система может эффективно моделировать конструкцию типа «общая
шина». Множество проводов изображаются одной линией (жгутом), при этом
каждый провод обозначается уникальным номером.
Рисунок показывает, как общая
шина используется для одновременной
передачи сигналов на семисегментный
индикатор (шестнадцатеричная система
счисления) и на светодиоды (двоичная
система счисления). Такая схема может
быть использована для изучения
двоичной и шестнадцатеричной систем
счисления.
Для
формирования
временных диаграмм к общей шине
подключены индикаторы TP1…TP4.
В системе есть возможность
изменения скорости моделирования,
что бывает удобно для рассмотрения быстропротекающих процессов. При
необходимости можно вести пошаговое моделирование.
Имеется возможность умышленного создания неисправностей в
устройстве (короткое замыкание контактов, разрыв — холостой ход, утечка
между контактами, неверный номинал элемента, замыкание с другими цепями).
Если использовать этот режим в учебном процессе, то можно с помощью
специального текстового окна давать студентам небольшие подсказки. Чтобы
студенты не могли «подсмотреть» введенные неисправности, имеется система
паролей.
7.5. Система Micro-Cap
Существует
целый спектр
программ
моделирования
работы
радиоэлектронных устройств, отличающихся своими возможностями,
сложностью работы с ними и необходимыми ресурсами ЭВМ. На рынке
программ моделирования Micro-Cap (MC) заполняет свою нишу, приближаясь к
сложным профессиональным программам типа OrCAD 9. Простейшей системой
моделирования можно считать Electronics Workbench. Между EWB и Micro-Cap
6 по степени сложности можно расположить систему CicuitMaker.
Первая версия Micro-Cap I была выпущена фирмой Spectrum Software
осенью 1981 г. В настоящее время разработана шестая версия этой популярной
программы.
Система MC6 позволяет вести расчеты на постоянном токе (DC Analysis),
на переменном токе (AC Analysis), переходных процессов (Transient),
чувствительности (Sensitivity). Кроме того, она способна учитывать влияние
статистических разбросов параметров компонентов (Monte Carlo), шумов
(Noise), проводить анализ Фурье (Fourier), рассчитывать передаточную функцию
устройства (Transfer Function), входное и выходное сопротивления, оценивать
влияние температуры.
Система MC6 используется для расчета активных и пассивных фильтров,
моделирования работы аналоговых, цифровых и смешанных (цифроаналоговых) устройств. MC6 имеет удобные средства для исследования
результатов моделирования, полученных в графическом виде (поиск
экстремумов, точек перегиба).
Рассмотрим некоторые важные понятия, которые потребуются при
рассмотрении данной системы моделирования.
Термин «расчет по постоянному току» (DC Analysis) означает
следующее: в исследуемой цепи учитываются только источники постоянного
тока и напряжения, поэтому влиянием конденсаторов и катушек индуктивности
нужно пренебречь. При расчетах по постоянному току конденсаторы
автоматически исключаются из исследуемой схемы, а катушки индуктивности
закорачиваются. Легче всего представить сферу использования этого метода на
примере расчета цепи, состоящей из резисторов и источников постоянного
напряжения.
Термин AC Analysis (анализ частотных характеристик) означает
исследование устройства в режиме малых сигналов, в котором влиянием
нелинейных элементов пренебрегают, заменяя их линейными элементами. В
этом режиме исследуются частотные характеристики моделируемого устройства
(например, определяется, как изменяется затухание фильтра с изменением
частоты входного сигнала).
Анализ переходных процессов (Transient) позволяет рассмотреть
процессы, протекающие во времени (например, возникновение колебаний в
автогенераторе).
Главное меню
Панели инструментов
Окно
Графиков
Окно
Схем
Анализ чувствительности позволяет оценить влияние выбранного
радиоэлемента (изменение его параметров, номиналов) на указанный
пользователем выходной сигнал. Этот вид анализа помогает выявить слабые
места в схеме, которые недопустимо сильно влияют на выходной сигнал
исследуемого устройства.
При моделировании методом Монте-Карло происходит изменение
номиналов радиоэлементов по случайному закону. Делается большое число
запусков программы (несколько сотен) при различных номиналах
радиоэлементов и строится статистический график — гистограмма.
С помощью анализа методом Монте-Карло находят минимальное,
максимальное и среднее значения выходного сигнала, определяют дисперсию
(разброс) сигналов. Такой анализ важен перед началом серийного производства
проектируемого устройства.
Рассмотрим пользовательский интерфейс системы Micro-Cap 6.0.1.
В МС6 четко разделяются два типа окон: Окно Схем и Окно Графиков. У
каждого типа окна имеется свой набор инструментов (командных кнопок).
Главное меню содержит следующие пункты: File (Файл), Edit (Правка),
Component (Компонент), Windows (Окна), Options (Опции), Analysis (Виды
анализа), Design (Дизайн), Help (Помощь).
Состав команд в пунктах File, Edit и Help стандартен для всех программ,
работающих под управлением операционной системы MS Windows.
Пункт Component служит для выбора аналоговых и цифровых
радиоэлементов, источников питания и источников сигналов. Именно в пункте
Component находится «склад» доступных деталей, из которых на рабочем столе
монтируются модели радиоэлектронных устройств (схемы).
Пункт Windows служит для выбора способа взаимного расположения
нескольких окон, расщепления окон по горизонтали или вертикали и т. д.
С помощью команд пункта Options можно поставить (или убрать) Панель
инструментов, Строку состояния, определить предпочтения и глобальные
установки, включить координатную сетку, превратить курсор в перекрестие (это
облегчает точную установку радиоэлемента на рабочий стол).
Пункт Analysis предназначен для выбора вида проводимого анализа (по
постоянному току — DC, по переменному току — AC, исследование переходных
процессов — Transient,
передаточной
функции — Transfer
Function,
чувствительности — Sensitivity).
С помощью пункта Design проектируют пассивные и активные фильтры.
Ниже Главного меню располагается Панель инструментов.
Первые десять кнопок Панели инструментов стандартны для
операционной системы Windows, поэтому нет смысла рассматривать их
назначение.
Далее располагаются специфические командные кнопки.
Первые восемь кнопок имеют специальное название — Меню
компонентов. Слева направо размещены кнопки: Ground (Корпус, Земля),
Resistor (Резистор), Capacitor (Конденсатор), Diode (Диод), NPN (Биполярный
транзистор), Battery (Батарея), Pulse Source (Импульсный источник). С
помощью этих кнопок производится установка на рабочий стол наиболее часто
используемых радиоэлементов (компонентов).
Еще одна группа кнопок служит для управления внешним видом
пользовательского интерфейса: Tile Vertical (Вертикальное расположение
окон), Maximize (Максимальный размер окна), Overlap (Наложение окон).
Назначение кнопки Calculator (Калькулятор) не требует пояснений.
Кнопка P (Preference — Предпочтения) предназначена для настройки
пользовательского интерфейса (установка и удаление командных кнопок, выбор
шрифта, цвета и т. д.).
Кнопка G (Global Settings — Глобальные установки) используется
профессионально подготовленными пользователями. Она предназначена для
выбора методов интегрирования, установки точности расчетов, ограничения
максимального
времени,
отводимого
процессору
для
проведения
моделирования, задания максимального числа итераций (повторных
вычислений), уточнения параметров полупроводниковых приборов и т. д.
Вид Главного меню и состав командных кнопок, доступных в данный
момент времени, зависит от того, где происходит работа: в Окне Схем или в
Окне Графиков.
Рассмотрим группу элементов управления работой MC6, доступных в
Окне Схем.
Кнопка Select Mode (Режим выбора) используется чаще других. В этом
режиме можно выделить текст и графические объекты для их перемещения,
копирования и редактирования. Двойной щелчок по элементу вызывает
диалоговое окно, в котором можно изменить параметры элемента.
Правее расположена кнопка Component Mode (Режим компонентов). С ее
помощью можно выбрать радиоэлементы, указанные в Меню компонентов, и
установить их на рабочий стол. Режим имеет полезную особенность: при
нажатой левой кнопке мыши одновременное нажатие правой кнопки приводит к
вращению устанавливаемого радиоэлемента.
Кнопка Text Mode (Текстовый режим) предназначена для составления
комментариев, которые размещаются на изображении схемы.
Соединение радиоэлементов, помещенных на рабочий стол, начинается с
нажатия кнопок Wire Mode (Ортогональные проводники) или Diagonal Wire
Mode (Диагональные проводники). Режим Wire Mode позволяет проводить
проводники только горизонтально и вертикально. В режиме Diagonal Wire Mode
провода прокладываются под любым наклоном. Соединение подготовленных
компонентов осуществляется по технологии Drag and Drop (нужно нажать
левую кнопку мыши на выводе одного элемента, затем не отпуская кнопки,
перейти к другому элементу и отпустить кнопку).
Кнопка Graphics (Графика) помогает выбрать в списке форм и нанести на
схему прямоугольник, эллипс, ромб, линию, дугу, сегмент, многоугольник.
Когда исследуемая схема велика, и быстрое отыскание нужного места
становится затруднительным, может помочь режим Flag Mode (Режим флагов).
Ввод имени флага (это обычная метка) осуществляется в диалоговом окне,
которое вызывается щелчком левой кнопки мыши. Переход к заранее
подготовленным меткам происходит с помощью небольшого значка флагов,
расположенного в правом нижнем углу рабочего стола. При щелчке по этому
значку появляется список существующих флагов.
Кнопка Info Mode (Режим информации) позволяет увидеть описание
модели, представленное в текстовом виде, и при необходимости сделать
изменения в программе, написанной на внутреннем языке системы PSpice.
а
б
в
г
Режим Help Mode (Помощь) вызывает информацию по выбранному
компоненту.
Рассмотрим еще одну группу кнопок. Первые 11 кнопок этой группы
относятся к Меню просмотра.
Нажатия на кнопки Grid Text и Attribute Text делают невидимыми (или
видимыми) соответственно текстовые комментарии, позиционные обозначения
и номиналы радиоэлементов.
Действие кнопок Node Numbers (Номера узлов), Node Voltages
(Напряжения в узлах), Currents (Токи) иллюстрирует следующий рисунок.
Предположим, что имеется простейшая схема, показанная на рис. а.
Нажатие кнопки Node Numbers вызовет появление на схеме номеров узлов.
Этот момент зафиксирован на рис. б. В данном случае узлов четыре (корпус
является нулевым узлом и на схеме не маркируется).
После проведения моделирования (режим Analysis DC) щелчок по кнопке
Node Voltages вызовет появления напряжений в узлах (рис. в). Использование
кнопки Currents приведет к появлению на схеме токов, протекающих по ветвям.
Токи показаны на рис. г. Продемонстрировать значения мощности,
рассеиваемой в каждом компоненте, позволяет кнопка Power (Мощность).
Анализировать работу схем, в том числе построенных на цифровых
устройствах, удобно при нажатой кнопке Conditions (Условия). В этом режиме
система MC6 показывает, какие устройства находятся в линейном режиме, во
включенном или выключенном состоянии.
Кнопка Pin Connections (Выводы компонентов) показывает точками
места электрических соединений элементов и проводников.
Кнопка Command Text (Команды) способна убирать со схемы (или
наоборот, возвращать на место) команды, записанные в текстовом виде.
Процесс размещения компонентов на рабочем столе облегчается при
наличии сетки, которая включается с помощью кнопки Grid (Сетка).
Процесс оформления документации несколько упрощается за счет
автоматизированного изображения рамок и штампов. Кнопка Title Box (Блок
заголовка) рисует угловой штамп, содержащий пять полей. Эти поля могут быть
предварительно заполнены с помощью формы, которая вызывается кнопкой
Properties (Реквизиты).
Значительно комфортнее стали чувствовать себя пользователи благодаря
кнопке Rubberbanding (Резиновые соединения). В этом режиме можно
«схватить» элемент на готовой схеме и сдвинуть его в нужную сторону. При
этом связи сохраняются, а провода растягиваются, как резиновые нити.
Рассмотрим последнюю группу кнопок, размещенных на Панели
инструментов в Окне Схем.
Первой слева располагается кнопка Step Box (Копия). Она помогает
копировать фрагменты схемы, причем число создаваемых копий указывается в
диалоговом окне. Кнопка Mirror (Зеркало) используется для зеркального
копирования элемента. Направление отражения может быть выбрано
относительно горизонтали или вертикали. Кнопка Rotate (Вращение) позволяет
повернуть выделенный компонент на 90° против движения часовой стрелки.
Кнопка Flip Y (Поворот вокруг оси Y) поворачивает выделенный элемент
вокруг вертикальной оси. Аналогично кнопка Flip X (Поворот вокруг оси X)
поворачивает выделенный элемент вокруг горизонтальной оси.
Поиск нужного места на схеме облегчен благодаря кнопке Find (Найти).
В диалоговом окне можно указать атрибуты разыскиваемых элементов.
Назначение кнопок Zoom In (Увеличить масштаб), Zoom Out
(Уменьшить масштаб), Color (Цвет) и Font (Шрифт) понятно из их названий.
Обычно с левой стороны Рабочего стола располагаются пять кнопок
Меню анализа. Эти кнопки доступны только из Окна Графиков.
Кнопка Limits (Пределы) вызывает диалоговые окна, в которых
можно изменить пределы вариации переменных.
Кнопка Stepping позволяет задать пределы изменения
переменных (например, параметров транзистора или номиналов
компонентов) и наблюдать семейство кривых. Режим доступен для AC
Analysis, DC Analysis и Transient. Этот режим несовместим с исследованиями
методом Монте-Карло.
Кнопкой Animate устанавливается интервал времени между двумя
вычислениями. Это позволяет спокойно рассмотреть появляющийся график, а
также проследить за изменением токов и напряжений на схеме. В диалоговом
окне можно выбрать три режима: Don’t Wait (Не ждать) — наибольшее
быстродействие; Wait for Key Press (Ждать нажатия клавиши); Wait for Time
Delay (Задержка на заданное время).
Analysis
(Анализ) —
графическая
демонстрация
результатов
моделирования.
Кнопка State Variables (VID) дает доступ к редактору состояния
переменных, которые рассчитываются в режиме DC. Переменные, полученные в
результате использования DC Analysis, перед выполнением частотного анализа
(AC Analysis) или Transient могут редактироваться по усмотрению пользователя.
Рассмотрим элементы пользовательского интерфейса, которые доступны
при работе в Окне Графики. Некоторые командные кнопки одинаковы с
кнопками, доступными из Окна Схем. Мы не будем их повторно рассматривать.
Слева направо расположены кнопки Select Mode, Graphics.
Кнопка Scale Mode (Масштаб, Лупа) обеспечивает детальное
рассмотрение любого фрагмента графика в большом масштабе.
Кнопка Cursor Mode (Режим двух курсоров) активизирует сразу два
курсора, которые управляются левой и правой кнопками мыши. Перемещать по
графику метки можно с помощью курсорных клавишей (правая метка
управляется при нажатой клавише Shift). При этом автоматически
индицируются координаты, приращения по оси ординат и абсцисс, а также
крутизна (наклон, производная) исследуемой зависимости.
Horizontal Tag Mode (Режим горизонтальных меток) позволяет
определить приращение абсциссы между двумя выделенными точками. Vertical
Tag Mode (Режим вертикальных меток) служит для определения приращения
ординаты между двумя выделенными с помощью мыши точками.
Tag Mode (Режим меток) позволяет щелчком левой кнопки мыши
вывести значение координат (X, Y). При этом выбирается ближайшая точка,
полученная в процессе расчета, а не при аппроксимации графика.
Далее расположены кнопки Text Mode и Properties.
Кнопки Run (Запуск), Stop (Остановка), Pause (Пауза) позволяют
управлять процессом моделирования в момент просмотра графиков.
Кнопка Data Points (Точки) выводит на график маркеры в тех местах, где
выполнялся расчет при моделировании (остальные значения графика получаются
путем интерполяции, т. е. восстановления пропущенных данных).
Кнопка Tokens (Маркеры) служит для создания меток на графиках. Это
позволяет отличать кривые друг от друга при черно-белой печати.
Кнопки Horizontal Axis и Vertical Axis могут управлять индикацией
горизонтальных и вертикальных линий координатной сетки.
Удобны кнопки Go To X и Go To Y, которые позволяют мгновенно
переместиться к точкам, для которых пользователь в диалоговом окне указал
абсциссу или ординату.
Еще большими возможностями обладает режим просмотра графиков,
запускаемый нажатием командной кнопки Go To Performance (Переход по
свойствам). С ее помощью можно определить период (частоту) колебаний,
указать интервал графика по оси Х, на котором следует производить измерения.
Можно находить наклон кривой (Slope) в точке с заданной абсциссой,
максимумы, минимумы, время изменения напряжения между двумя заданными
значениями (Rise Time и Fall Time — время нарастания и спада). Есть
возможность определять приращение функции при заданных значениях
аргумента (Y Delta), расстояние по горизонтали между двумя точками с
одинаковыми значениями ординаты (Width). Можно определить абсциссу (или
ординату) глобального максимума (High X и High Y) и т. д.
Выбор нужных режимов измерений производится в поле Function.
Например, чтобы определить локальный максимум при значении времени
более 100 мкс, нужно в поле Boolean записать: T>100u.
Перейдем к группе кнопок, расположенных во втором ряду Окна
Графиков.
Кнопка
Next
Data
Point
(Очередная
точка)
обеспечивает
последовательное плавное перемещение по графику. Для передвижений
целесообразно использовать курсорные клавиши «Влево» и «Вправо».
Поиск максимума происходит при нажатии на кнопку Peak (Локальный
максимум). Если локальных максимумов несколько, то с помощью курсорных
клавиш легко переходить от одного максимума к другому.
Назначение кнопки Valley (Локальный минимум) аналогично назначению
кнопки Peak.
Кнопка High (Максимальное значение) находит точку, в которой функция
имеет наибольшее значение. Аналогично кнопка Low (Минимальное значение)
перемещает курсор в точку с наименьшим значением функции. Назначение
кнопок Global High и Global Low такое же, как у рассмотренных кнопок.
Отличие заключается в том, что последние кнопки позволяют искать
наибольшие (и наименьшие) значения на семействе кривых (например,
полученных при анализе методом Монте-Карло).
Кнопка Inflection (Перегиб) используется для поиска точек перегиба, в
которых вторая производная обращается в ноль (с одной стороны от точки
перегиба график выпуклый вверх, а с другой стороны он выпуклый вниз).
Кнопка Numeric Output (Числовой вывод) позволяет увидеть результаты
расчетов в текстовом виде.
В качестве примера использования анализа по постоянному току (DC
Analysis) рассмотрим порядок получения выходных характеристик полевого
транзистора с каналом n-типа (MPF102). Транзистор содержит три электрода:
исток (S), сток (D) и затвор (G). Кроме самого транзистора J1, схема содержит
два источника напряжения. Источник V1 используется для подачи питания
между истоком и стоком транзистора, а источник V2 — для подачи напряжения
между затвором и истоком. Изменение напряжения V2 позволяет регулировать
ток, протекающий от источника V1 по каналу открытого транзистора J1.
При исследовании выходной статической вольтамперной характеристики
(ВАХ) необходимо менять напряжения этих двух источников напряжения и
регистрировать ток, протекающий
по каналу транзистора.
D
Чтобы
«установить»
транзистор
на
рабочий
стол
G
S
системы MC6, нужно выполнить
следующие
действия.
Последовательно
выбрать
в
Главном меню пункты: Component,
затем Analog Primitives — Active
Devices — NJFET. Выбрав место на
рабочем столе программы, нужно щелкнуть левой кнопкой мыши и в
диалоговом окне определить необходимый тип (модель) транзистора. В данном
случае модель MPF102.
Оставшиеся четыре элемента (заземления и батареи питания) установить
на стол проще. Для этого их можно выбрать на Панели инструментов. Источник
V2 потребуется повернуть на 180° вокруг горизонтальной оси. Поставив
элемент на рабочий стол, нужно в режиме Select Mode (Выбор режима)
заключить элемент в рамку и щелкнуть по кнопке Flip X (Повернуть вокруг оси
Х).
Для соединения элементов между собой нужно использовать кнопки Wire
Mode (Ортогональные проводники) или Diagonal Wire Mode (Диагональные
проводники). После выбора одного из двух перечисленных режимов нужно по
технологии Drag and Drop соединить между собой соответствующие выводы
радиоэлементов.
После создания схемы подобает выбрать в Главном меню пункт Analysis,
далее — DC.
В диалоговом окне DC Analysis Limits (Пределы анализа по постоянному
току) нужно указать имена варьируемых переменных (Name) и пределы их
изменения (Range). На рисунке показан фрагмент диалогового окна.
В данном случае переменная V1 изменяется в пределах от 0 до 10 В с
шагом 0,5 В. Интервал изменения переменной V2 задан от 0 до 3 В. Шаг выбран
таким же, как и для переменной V1.
В системе MC6 принят следующий порядок указания пределов изменения
переменных: через запятую записываются максимальное значение, минимальное
значение переменной, а затем шаг ее изменения.
Далее необходимо указать переменные, которые откладываются по осям
графика и пределы их изменения. В рассматриваемом примере по
горизонтальной оси будет отложено напряжение на стоке полевого транзистора
V(V1), а по вертикальной оси — ток стока ID(J1). Эти переменные указываются
в окнах Expression (Выражения). Правила обозначения переменных подробно
описаны в [20].
В поле XRange указано значение 10. Это означает, что по оси абсцисс
напряжение будет показано от 0 до 10 В. Если в этом поле указать две цифры
через запятую (например, 2,1), то на экран будет выведен график, у которого по
оси абсцисс значения будут изменяться от 1 до 2 В.
В поле YRange указано значение 0.02. Это ограничивает вертикальный
размер графика на уровне 20 мА.
Выбор пределов отображаемых переменных во многом определяется
спецификой конкретной решаемой задачи. Поэтому при первоначальных
исследованиях целесообразно «доверить» программе самостоятельно сделать
этот выбор. Для этого в диалоговом окне DC Analysis Limits нужно
активизировать выключатель Auto Scale Ranges (Автоматический выбор
диапазона).
Завершаются подготовительные операции нажатием командной кнопки
Run (Пуск). В результате на экране появится график, который показывает, как
зависит ток стока (по вертикали) от
напряжения на стоке (по горизонтали) и
напряжения на затворе (веер из 7 линий).
К
сожалению,
на
графике
не
проставляются значения напряжения V2
(7 значений, причем верхняя линия
соответствует V2 = 0).
На график нанесены поясняющие
надписи. Это сделано с помощью трех
кнопок. Кнопка Text Mode (Текстовый
режим) использована для формирования
надписи «Выходные ВАХ полевого
транзистора». С помощью кнопки Tag
Mode (Режим меток) проставлены значения тока и напряжения в одной точке.
Благодаря кнопке Vertical Tag Mode (Режим вертикальных меток) указано
приращение тока при изменении V2.
Рассмотренная ВАХ полевого транзистора достаточно типична, и
подобные зависимости можно найти во многих литературных источниках.
Система MC6 позволяет получить и
экзотические зависимости, например,
ВАХ лямбда-диода. Этот электронный
прибор образуется путем соединения
двух полевых транзисторов с каналами
n и p. Определим, как зависит ток,
протекающий через лямбда-диод, от
приложенного к нему напряжения. Эта
задача также решается в режиме
Analysis DC.
Так как независимая переменная одна (V1), то в диалоговом окне DC
Analysis Limits заполнение форм идет несколько иначе по сравнению с
предыдущим примером. В колонке Method для второй переменной (Variable 2)
нужно указать свойство None (Отсутствует). Диапазон изменения переменной
V1 выбран от 0 до 10 В с шагом 0,1 В.
Заполнение остальных форм диалогового окна DC Analysis Limits
производится аналогично предыдущему случаю. Следует обратить внимание,
что в поле Y Expression можно занести любую из четырех переменных ID(J1),
ID(J2), IS(J1), IS(J2). Так обозначаются токи истока и стока двух транзисторов J1
и J2. Символ D обозначает ток стока, а символ S указывает, что это ток истока.
Возможность выбора любой из четырех переменных объясняется тем, что
по каналам обоих полевых транзисторов протекает один и тот же ток, и поэтому
токи стоков и истоков одинаковые.
После запуска процесса моделирования на экране появится ВАХ лямбда-
диода.
На этом графике показаны местоположение точки перегиба и значения
переменных в этой точке.
Проиллюстрируем принципы работы в режиме Transient (Переходный
процесс) на примере моделирования работы автогенератора, построенного на
лямбда-диоде.
Схема состоит из трех пассивных элементов (R, L, C), источника питания
V1, лямбда-диода, собранного на транзисторах J1 и J2.
При задании номиналов пассивных элементов использованы суффиксы. В
системе
МС6
допустимо
использовать
следующие значения
суффиксов: f (фемто
10-15), p (пико 10-12), n
(нано 10-9 ), u (микро
10-6), m (милли 10-3), k
(кило 103), meg (мега
106), g (гига 109), t
(тера 1012).
Процесс моделирования запускается из Главного меню: Analysis —
Transient. В появляющемся диалоговом окне Transient Analysis Limit нужно
указать пределы изменения переменных и выводимых результатов.
В данном случае Time Range (Интервал времени) установлен равным 0,25
мс, а Maximum Time Step (Максимальный шаг) — 0,01 мкс. Time Range задает
максимальное время исследования переходного процесса (т. е. процесса, в
котором автогенератор переходит из выключенного состояния в режим
установившихся колебаний). Величина Maximum Time Step во многом
определяет успех моделирования. Уменьшение этой величины приводит к
повышению точности, но увеличивает время счета. Чаще всего пользователи
ищут компромисс между необходимой точностью и допустимым временем
счета.
В этом же диалоговом окне нужно указать переменную, откладываемую
по оси абсцисс (X Expression). В данном случае откладывается время Т. По оси
ординат (Y Expression) выведем напряжение во втором узле V2 (это напряжение
на лямбда-диоде). В полях X Range и Y Range следует указать диапазон
изменения величин, выводимых на график.
В результате расчетов получится график, показанный на следующем
рисунке.
Если в поле X Expression вместо времени T указать ток, протекающий по
резистору I(R1), то на экране появится фигура, называемая годографом. Она
показывает, как возникают колебания в автогенераторе.
8. Математические и статистические системы
8.1. Обзор математических и статистических систем
Новые информационные технологии коренным образом изменили
порядок решения математических задач. Теперь решение задач и выполнение
математических преобразований целесообразно производить с помощью
специальных
программ.
Рассмотрим
некоторые
математические
и
статистические пакеты программ для ЭВМ.
Математические системы Derive, Mathematica, MATLAB, Maple V и
Mathcad могут быть успешно использованы при решении большого числа
различных технических, экономических, статистических и научных задач.
Достоинством системы Derive является возможность выполнения
аналитических преобразований математических выражений. Процедуру таких
преобразований чаще всего называют компьютерной алгеброй или
символьной математикой.
Derive является удобным инструментом при дифференцировании,
интегрировании, разложении функций в ряды, нахождении пределов. Система
имеет полный набор встроенных элементарных функций, а также множество
статистических и специальных математических функций. Система позволяет
работать с матрицами, выполнять операции регрессионного анализа, проводить
преобразования Фурье и Лапласа. Способность системы работать с
комплексными числами делает ее привлекательной для радиотехнических и
электротехнических расчетов.
Система Mathematica 4.0 предоставляет возможность использовать
несколько сотен команд символьной математики и формировать графики
высокого качества. Порядок работы с этой системой не столь очевиден, как с
другими математическими системами. Система ориентирована на решение
сложных математических и научно-технических задач.
Mathematica 4.0 разработана компанией Wolfram Research Inc, основанной
известным математиком и физиком Стефаном Вольфрамом. Система позволяет
решать широкий круг задач. Её разработчики задались целью объединить все
известные математические методы, использующиеся для решения научных
задач, включая аналитические и численные расчеты.
Система Mathematica позволяет упрощать алгебраические выражения,
дифференцировать, вычислять определенные и неопределенные интегралы,
вычислять конечные и бесконечные суммы и произведения, решать
алгебраические и дифференциальные уравнения и системы, а также
раскладывать функции в ряды и находить пределы.
Mathematica решает численными методами (т. е. приближенными
методами) задачи, которые не поддаются аналитическому решению. Она
позволяет решать задачи оптимизации (линейного программирования,
нахождения экстремумов функций), задачи математической статистики.
Система снабжена базой помощи. Имеется возможность интерактивного
доступа к электронной документации, которая состоит из инструкции
пользователя, справочника по стандартным дополнениям, учебника для
начинающих и демонстрационных файлов.
Богатые численные и символьные возможности системы Mathematica,
мощные графические возможности (включая анимацию), встроенный язык
программирования и удобные средства построения гипертекстовых связей
между документами делают эту систему привлекательной как для
исследовательской и практической деятельности, так и для обучения студентов.
В основу создания системы MATLAB (MATrix LABoratory — матричная
лаборатория) положен принцип расширяемости, позволяющий адаптировать
систему под задачи пользователя.
Сущность этого принципа заключается в том, что пользователь может
создавать практически неограниченное число собственных функций, которые
хранятся на жестком диске ЭВМ.
В базовый набор MATLAB входят арифметические, алгебраические,
тригонометрические и некоторые специальные функции, функции быстрого
прямого и обратного преобразования Фурье и цифровой фильтрации, векторные
и матричные функции. MATLAB «умеет» выполнять операции с полиномами и
комплексными числами, строить графики в декартовой и полярной системах
координат, формировать изображения трехмерных поверхностей. MATLAB
имеет средства для расчета и проектирования аналоговых и цифровых
фильтров, построения их частотных, импульсных и переходных характеристик
и таких же характеристик для линейных электрических цепей, средства для
спектрального анализа и синтеза.
Программа MATLAB компании MathSoft в основном предназначена для
численного моделирования систем, однако версии 5.0 и 5.1 содержат
специальный модуль MatLab Notebook, позволяющий использовать возможности
MS Word для оформления документов, а также приобретенный у компании Maple
Waterloo модуль символьной библиотеки программы Maple V 4.0 для выполнения
аналитических преобразований.
Для решения задач моделирования программа MATLAB дополнена
пакетом SIMULINK c визуально-ориентированным программированием.
Разработчики пакета Maple V называют его Symbolic Computation System
(Система символьных вычислений) или Computer Algebra System (Система
компьютерной алгебры). Maple V — универсальный математический пакет,
предназначенный для выполнения разнообразных математических вычислений,
как точных (аналитических), так и приближенных (с использованием численных
методов), а также для построения двух- и трехмерных графиков.
Основное преимущество системы — всесторонняя поддержка сложных
символьных вычислений, мощные графические возможности и наличие
многофункционального внутреннего языка программирования. На этом секторе
рынка система занимает лидирующее место. Ближайшим конкурентом является
пакет Mathematica фирмы Wolfram Research.
Пакет Maple V дает возможность пользователю сосредоточиться на
решении его конкретной проблемы в аналитическом виде, не тратя времени на
численные решения частных задач. Большое количество встроенных
математических функций и детально разобранных примеров позволяют ученым,
инженерам и исследователям решать сложные прикладные и теоретические
задачи. Студентам и преподавателям пакет помогает глубже понять многие
математические методы и проанализировать влияние различных параметров на
найденное решение.
Блок символьных вычислений Maple V лицензирован и используется в
системах Mathcad, MathWorks и в приложении к пакету MATLAB.
Система Mathcad очень естественно вписалась в оболочку Windows.
Система имеет удобный интерфейс, хорошо развитые средства помощи и
обширную справочную базу. Система позволяет проводить численные расчеты
и аналитические преобразования. Многоцветные двух- и трехмерные графики
строятся мгновенно и с автоматическим выбором масштаба.
Отличительной особенностью системы является использование в ней
общепринятых в математике символов для обозначения операций
интегрирования, дифференцирования, вычисления рядов и т. д. Возможность
использования латинских, греческих букв, верхних и нижних индексов
позволяет получать формулы в привычном виде. С помощью кириллицы можно
делать комментарии на русском языке.
Очень просты в реализации в Mathcad многие численные методы:
решение линейных и нелинейных уравнений, вычисление определенных
интегралов, оптимизация, решение дифференциальных уравнений, сплайнинтерполяция и т. д.
Многие возникающие проблемы при работе с Mathcad снимаются
благодаря наличию электронных учебников и возможности подключения к
глобальной Сети Интернет. Через глобальную Сеть пользователь получает
доступ к серверу, на котором можно найти пример решения подобной задачи.
Фирма MathSoft уделяет большое внимание развитию сетевых
технологий. Выход в глобальную Сеть возможен прямо из математической
системы.
Mathcad является интегрирующей системой, позволяющей создавать
проекты, в которых данные циркулируют по системе MATLAB, электронным
таблицам Excel и пакету научной графики Axum.
Для
обработки
экспериментальных
данных
разработаны
специализированные статистические пакеты:
профессиональные — SAS, BMDP, IMSL (они предназначены в
основном для математиков высокой квалификации);
популярные
(т. е.
для
широкого
круга
пользователей) —
STATGRAPHICS, SPSS, SYSTAT, STADIA, STATISTICA, Minitab.
Перечисленные пакеты являются универсальными и предназначены для
решения широкого круга задач.
Разработаны также специальные пакеты для решения узкого круга задач
или даже отдельных задач. К ним, в частности, относятся TC WIN, TC 3D,
отечественные пакеты «Эвриста», «Мезозавр», «ОЛИМП», «КЛАСС-МАСТЕР»,
«КВАЗАР», PALMODA, STARC, Stat-Media и белорусский пакет «РОСТАН».
Универсальные пакеты содержат такие разделы математической
статистики, как описательная статистика, парные критерии, анализ факторных
эффектов, корреляционный анализ, регрессионный анализ, анализ временных
рядов, многомерные методы, методы контроля качества и др.
Парные критерии оценивают различия между двумя совокупностями
данных. Типичная задача в этом разделе — определение влияния нововведения,
сделанного на предприятии, на результаты работы.
Еще одна важная задача, которую позволяют решать универсальные
пакеты, — это прогнозирование, например, курса валют, цен на товары. Все
пакеты содержат развитые средства регрессионного анализа.
Многомерные методы — дискриминантный, кластерный, факторный
анализы и шкалирование — помогают понять, нет ли какой-либо
закономерности или группировки в имеющемся множестве объектов.
Многомерные методы позволяют по экономическим показателям выделить
группы сходных предприятий.
Универсальный пакет STATISTICA состоит из следующих основных
частей:
 электронных таблиц для ввода исходных данных, а также
специальных таблиц для вывода результатов анализа;
 графической системы для визуализации исходных данных и
результатов статистического анализа;
 набора специализированных статистических модулей;
 встроенных языков программирования SCL (Statistic Command Language) и STATISTICA BASIC, которые позволяют пользователю
расширить стандартные возможности системы.
В пакете STATISTICA имеется большое количество специализированных
статистических графиков: гистограмм, графиков для анализа пропущенных
данных и определения выбросов, «ящиков с усами» с разнообразными опциями
по выбору средней точки и т. д.
График типа «ящик с усами» позволяет увидеть положение моды,
медианы, среднего значения по отношению к максимальному и минимальному
значениям.
Графики можно уменьшать, увеличивать, накладывать друг на друга,
вращать, задавать собственную палитру цветов, добавлять в графики текст,
рисунки, стрелки. Графики могут автоматически изменяться при изменении
связанного с ним файла данных.
Пакет STATGRAPHICS Plus for Windows включает более 250 процедур,
применяющихся в бизнесе, экономике, медицине, биологии, социологии,
психологии, на производстве и в других предметных областях.
Пакет имеет модульную структуру. Модуль «Контроль качества»
предназначен для оценки эффективности производственного процесса. Модуль
«Планирование эксперимента» помогает подобрать наилучший план измерений,
за счет которого сокращается объем экспериментальных исследований и время
их проведения. Модуль «Анализ временных рядов» позволяет выявить сезонные
эффекты, циклические изменения, тренды (тенденции), ошибки и выбросы.
Модуль «Многомерные методы» предназначен для изучения и раскрытия
взаимоотношений множества факторов. С его помощью можно сортировать и
группировать данные.
Специализированные пакеты посвящены решению узкого круга задач.
Например, пакет TC WIN позволяет детально проводить парный регрессионный
анализ (дает возможность табличные данные заменить математической
формулой). Особенностью этого пакета является то, что математическое
описание экспериментальных данных можно выполнять при помощи
нескольких сотен математических моделей. Пакет позволяет исследователю
самостоятельно формировать собственные математические модели. Для этого
предусмотрена процедура создания функции пользователя. Пакет TC WIN
обладает широкими графическими возможностями отображения эмпирических
данных и графиков выбранных моделей.
Пакет 3D TC WIN расширяет возможности предыдущей программы и
позволяет аппроксимировать двухфакторные зависимости (для функциональных
зависимостей речь идет о двух аргументах).
8.2.2. Компьютерная алгебра
Пожалуй, наиболее сильное впечатление от работы программы Mathcad
пользователи получают при выполнении символьных (т. е. аналитических)
математических преобразований. Когда в Mathcad используется символьная
математика, то результатом преобразований является не число, а новое
выражение.
Символьные функции системы Mathcad были заимствованы из пакета
Maple V, который разработан фирмой Waterloo Maple Software.
Рассмотрим, как производятся тождественные преобразования. Для
примера приведем многочлен к стандартному виду. Если набрать выражение
7 x
2 y
3 x
4 y ,
затем в Главном меню выбрать пункт Symbolics (Символы), далее подпункт
Evaluate (Расчеты), а затем — опцию Symbolically (Символические), то в
результате выполненных машиной упрощений на экране появится выражение
10x – 2y.
Запустить символьный процессор на проведение преобразований можно
по-другому. Набрав необходимое выражение, следует нажать аккорд клавиш
Ctrl +. (т. е. одновременно нажимаются две клавиши: Control и точка). На экране
появится выражение
7x + 2y + 3x – 4y .
После нажатия клавиши Enter или щелчка левой кнопкой мыши за
пределами выражения получится вышеприведенный результат.
Третий способ получения результата базируется на использовании
кнопки
, находящейся в палитре «Символьные операции».
Математическая система позволяет получать формулы сокращенного
умножения. Например, если нужно развернуть выражение (возвести двучлен в
натуральную степень)
(a
2
b) ,
то его следует активизировать, создав снизу справа от выражения синий уголок
,
а затем в пункте Symbolics (Символы) выбрать опцию Expand (Расширить). В
результате на экране появится следующее выражение:
2
a
2
2. a. b
b .
Если требуется свернуть выражение вида
3
a
2
3. a . b
2
3. a. b
3
b ,
то его следует активизировать, а затем через пункт Symbolics (Символы)
выполнить опцию Factor (Фактор). В результате на экране появится выражение:
(a
3
b) .
Последним способом можно вынести множитель за скобку. Например,
дано выражение
a. c
b. c.
После использования опции Factor получим:
c. ( a
b).
Посмотрим, как осуществить разложение квадратного трехчлена на
линейные множители. Для примера возьмем выражение
1 
( 2a )
1
( 2a )

b
b
2
4a c
b
b
2
4a c
2
6. x
x 2.
После стандартного выделения выражения (образование синего уголка) и
запуска опции Factor (Фактор) получим
( 2. x
1 ) . ( 3. x
2).
Mathcad позволяет упростить выражение, например, сократить дробь,
разделив числитель и знаменатель дроби на общий множитель. В качестве
примера возьмем выражение:
2
x 3. x. y
2
2
9. y
x .
Выбрав опцию Simplify (Упростить) в пункте Главного меню Symbolics
(Символы), получим
x
( x 3. y ) .
Рассмотрим еще один пример упрощения выражения (опция Simplify):
sin( x)
4
6
cos( x)
4
1
6
sin( x)
cos( x)
1
Результат этого преобразования равен 2/3.
Система позволяет выполнять решение уравнений в символьном виде.
Например, если набрать выражение
2
a x
b x c ,
в котором выделить переменную х (для выделения переменной нужно
установить вертикальный курсор справа от переменной), то после поочередного
выполнения опций Symbolics (Символы), Variable (Переменные), Solve
(Вычислить) будет получен хорошо известный ответ
Система позволяет найти производную в символьном виде. Вначале
нужно курсором указать (т. е. выделить) переменную дифференцирования:
sin(x ).
Затем в пункте Главного меню Symbolics (Символы) выбрать опцию
Variable (Переменные), а в появившемся субменю — опцию Differentiate
(Дифференцирование). В результате получим
cos(x).
При дифференцировании система рассматривает все символы выражения
как константы, за исключением выделенной переменной.
Рассмотрим способ нахождения производных высокого порядка в
символьном виде. С помощью кнопки
следует создать заготовку, в
которую занести необходимые символы, например:
После этого с помощью кнопки
«Символьные операции», можно получить ответ
d3
dx
3
, находящейся в палитре
x 5  60  x 2 .
Рассмотрим, каким образом можно найти первообразную в символьном
виде. Пусть дано выражение, которое нужно проинтегрировать:
sin(k x).
Укажем курсором переменную интегрирования (в данном случае это х).
sin(k x ).
В пункте Symbolics (Символы) выберем подпункт Variable (Переменные), а
затем опцию Integrate (Интегрирование). В результате будет получено
 cos( k  x )
k
.
Рассмотрим порядок вычисления неопределенного интеграла,
используя привычную запись символов. Выберем такой вид интеграла:
3
c . x dx
Выделим интеграл синим уголком. Нажав аккорд клавиш Shift + F9 (это
еще один способ запуска программы на счет), получим
1. . 4
cx
4
Анализируя последний результат, легко заметить, что в ответе нет
постоянной интегрирования, т. е. она во всех случаях работы математической
системы принимается равной нулю.
Система дает возможность находить значения определенных
интегралов как в символьном, так и в числовом виде. Например:
b
1
2
x dx
b
3
3
a
1
a
3
3
или
2
2
x dx
7
3
1
Символьный процессор позволяет производить разложение в ряд
Маклорена. Выполним разложение функции, указав курсором аргумент:
sin(x ).
Разложение выполняется с помощью опции Expand to Series. (Разложить
на составляющие). Приведем полученный результат:
x
1. 3
x
6
1 . 5
x
120
1 . 7
x
5040
O x
9
.
Последнее слагаемое характеризует ошибку разложения в ряд.
Рассмотрим порядок вычисления пределов.
Чтобы вызвать оператор предела, нужно нажать одновременно клавиши
Ctrl+L или воспользоваться соответствующей палитрой. Затем ввести
выражение в поле ввода, находящееся справа от оператора lim. После этого
ввести переменную, по которой вычисляется предел, в левое поле ввода ниже
оператора lim. Наконец, в оставшееся поле ввести значение предела.
Полученное выражение охватить уголком и нажать аккорд клавиш Shift + F9.
Возьмем конкретный пример:
lim
x
sin( x a)
a x a
.
Результат вычислений равен 1.
Рассмотренные выше примеры можно запустить на счет не только с
помощью Главного меню (пункт Symbolics), но и c помощью показанной ниже
палитры, в которой содержатся уже знакомые опции: expand, solve, simplify,
series, factor и др.
Символьный процессор, безусловно, одно из величайших достижений
человеческого разума. Однако результаты, полученные с его помощью, не
всегда рациональны (компактны).
Так, нахождение первообразных для интегралов, приведенных в
справочнике по интегралам Двайта [27], в 50—60% случаев дает такие же
результаты, как в упомянутой книге. В остальных случаях результаты не столь
компактны, как в справочнике, а порой ЭВМ совсем не справляется с поиском
первообразной.
Приведем два интеграла, с которыми система не справилась (не смогла
найти первообразную):
Приведем еще один пример, который показывает, что пока еще есть
простор для совершенствования символьного процессора:
Очевидно, что при использовании обратных функций ответ должен быть
x, однако система до конца не выполнила очевидные преобразования
1
ln exp acos cos
4 4
x
4
simplify
4
x
8.2.3. Операции с комплексными числами
Система позволяет просто выполнять операции с комплексными
числами.
Такие
действия
необходимы
при
радиотехнических
и
электротехнических расчетах.
Следующий документ иллюстрирует простейшие вычисления с
комплексными числами.
i
1
Z1
7
i 5
Z2
8
Z1
Z2  15  3i
Z1
Z2  1  7i
Z1
 0.676  0.794i
Z1  Z2  66  26i
i 2
Z2
Преобразования выражений, содержащих комплексные числа, в Mathcad
осуществляются так же, как преобразования выражений с действительными
числами. При этом ответ содержит действительную и мнимую части, например:
i
1
(1
2 i)
3
19
i
 2  10i
i
Выделить действительную и мнимую части комплексного числа
(например, e3i ) можно следующим образом:
(2
3i
3i
 0.98999
3i
 0.14112
Re e
Im e
3i)  2
Вычисление модуля числа 1 + i осуществляется естественным путем:
 1+ i  = 1.414.
Для расчета аргумента имеется специальная функция:
arg(1 + i) = 0.785.
Несложно найти комплексно сопряженное число (напомним, что
сопряженное число имеет противоположный знак перед мнимой частью),
например:
Чтобы получить сопряженное число, нужно выделить исходное число и
нажать аккорд клавиш Shift + «.
Программа Mathcad позволяет легко решать системы линейных
уравнений с комплексными коэффициентами.
Предположим, что дана система уравнений:
 I 1 ( 200  i  361,9)  I 2 ( 125  i  29,75)  2,84  i  0,977

 I 1 ( 125  i  29,75)  I 2 ( 287,5  i  29,75)  5,906  i  5,537
Требуется найти токи I1 и I2.
Приведем фрагмент документа Mathcad, который показывает порядок
решения системы линейных уравнений с комплексными коэффициентами.
Для решения системы используются матрица коэффициентов R и
матрица свободных членов F. Решение находится в виде произведения обратной
матрицы коэффициентов на матрицу свободных членов.
i
1
a1
200
a3
a2
b1
2.84
R
W
W
i 361.9
i  0.977
a1 a2
a2
125
i  29.75
a4
287.5
i  29.75
b2
5.906
i 5.537
F
a3 a4
b1
b2
1
R F
4.09195 10
0.01963
3
0.01497i
0.02331i
Таким образом, ток I1 = — 4,0919510-3 — i0,01497, а ток I2 =0,01963 ––
i0,02331.
8.2.4. Вопросы программирования
Система Mathcad обладает широким набором стандартных функций,
позволяет самостоятельно создавать оригинальные функции пользователя. Тем
не менее, при решении нестандартных задач возникает необходимость в
разработке особенных алгоритмов вычислений. Для этих случаев предусмотрен
собственный язык системы, с помощью которого можно решать уникальные
(редкие) задачи. Заметим, что возможность программирования не является
главным достоинством системы Mathcad. Главное достоинство системы —
возможность решения множества типичных задач без программирования.
Рассмотрим порядок составления простейших программ на примере
базовых структур программирования.
44
k
Предположим, что необходимо вычислить сумму ряда k 1 .
Найти это значение в системе Mathcad можно просто, выбрав на
соответствующей палитре знак суммы и заполнив пустые поля.
Для учебных целей нахождение суммы ряда выполним путем
использования программы, текст которой приведен ниже (базовая структура
программирования «Цикл»).
sum( n )
s
0
for k  1  n
s
s
k
sum( 44 )  990
В верхней части программы приведено описание функции пользователя, а
далее эта функция применена для нахождения результата.
Ввод функции пользователя с именем sum(n) осуществляется с помощью
палитры «Программирование», показанной слева. Вертикальная линия вводится
с помощью кнопки Add Line, а ключевое слово for и стрелка  (локальный
оператор присваивания) — с помощью одноименных кнопок.
В первой строке функции пользователя происходит обнуление
результата, во второй строке формируется заголовок регулярного цикла, в
третьей строке записано тело цикла, в котором идет накопление суммы.
Кроме регулярных циклов существуют итерационные циклы, в которых
вычисление ведется до выполнения какого-либо условия, например, достижения
заданной погрешности.
В качестве примера использования итерационных циклов рассмотрим
порядок расчета иррационального числа  с помощью сходящегося ряда.
Точность вычисления этого числа будет зависеть от вводимой пользователем
допустимой абсолютной погрешности.
Основная идея подобных программ состоит в том, что на очередном
типовом цикле вычислений (другими словами, на очередной итерации)
происходит сравнение вычисленного значения члена сходящегося ряда с
выбранной самим пользователем допустимой погрешностью. Если рассчитанное
значение по модулю больше допустимой погрешности, то циклический процесс
продолжается. В момент, когда очередной член ряда становится меньше
допустимой абсолютной погрешности, вычисления прекращаются.
Для итерационных циклических процессов трудно заранее предсказать,
сколько потребуется итераций (т. е. циклов) для достижения результата с
заданной точностью. На продолжительность расчетов влияет вид функции (а
значит и скорость сходимости) и выбранная программистом погрешность
вычислений.
Рассмотрим порядок разработки программы для вычисления . Расчетная
формула выглядит так:

4
(1) n
n  0 2n  1


Для наглядности запишем несколько членов этого знакочередующегося
ряда и каждый член ряда обозначим символами ai :

1 1 1 1
(1) n
 1      ... 
 ... 
4
3 5 7 9
2n  1
a 0  a1  a3  a 4  a5  ...  a n  ...
Чтобы получить компактную программу, выведем рекуррентную
формулу, которая позволяет рассчитать последующий член ряда по известному
предыдущему члену ряда. На основании предыдущей формулы запишем n + 1-й
член ряда:
a n 1 
(