Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Фотоника и оптоинформатика. Введение в специальность

.pdf
Скачиваний:
4
Добавлен:
19.11.2023
Размер:
29.64 Mб
Скачать

ности объекта, имеющего два возможных равновероятных со-

стояния. Эта единица измерения и называется двоичной единицей или битом.

Рассмотрим основные свойства энтропии.

1. Энтропия объекта есть величина вещественная и неотрицательная, так как 0 P (Si )1, то H (S ) 0.

2. Энтропия объекта равна нулю в том крайнем случае, когда одно из возможных состояний Sn имеет вероятность

P(Sn) = 1, т.е.

H(S) = 0 при P(Sn) = 1.

(12.3)

В этом случае информация о состоянии объекта достоверно известна заранее, поэтому в объекте нет никакой неопределенности.

3. Энтропия объекта с одинаковыми вероятностями состояний максимальна и равна логарифму числа состояний. Дейст-

вительно, пусть P(Si) = 1/n, тогда по формуле для энтропии объекта (12.2) находим

H (S )

n

 

 

 

 

= −P (Si ) log2 P (Si ) =

 

 

i =1

 

 

 

(12.4)

n

 

1

n

 

 

= −

1

log2

=

1

log

2 n = log2 n.

 

n

 

i=1 n

 

i =1 n

 

В качестве примера рассмотрим бинарный объект с двумя возможными несовместимыми состояниями. Вероятность первого состояния равна Р, тогда вероятность второго состояния равна 1 Р. Определим энтропию этого объекта для следующих случаев:

а) состояния объектов равновероятны, т.е. Р1 = Р2 = 0,5;

Р1 + Р2 = 1. Из формулы (12.2) получаем

 

H (S ) = −(0,5 log2 0,5 + 0,5 log2

0,5) = − 0,5(1) + 0,5(1) =1 бит;

 

 

 

331

б) неравновероятные состояния. Пусть Р1 = 0,9; Р2 = 0,1; Р1 + Р2 = 1. Тогда

H(S ) = −(0,9 log2 0,9 + 0,1 log2 0,1) =

=0,9(0,1520) + 0,1(3,3) = 0, 46 бит;

в) детерминированные состояния. Р1 = 1; Р2 = 0; Р1 + Р2 = 1:

H (S ) = −(1 log21 + 0 log2 0) = 0 бит.

Изменение энтропии бинарного объекта в зависимости от вероятности P(Si) показано на рис. 12.9, из которого видно, что максимум Н(S) = 1 достигается при Р1 = Р2 = 0,5, т.е. когда состояния равновероятны. При вероятностях Р = 0 или Р = 1, что соответствует полной невозможности или полной достоверности одного из состояний, энтропия равна нулю.

Рис. 12.9. Зависимость энтропии бинарного объекта от вероятности первого состояния

Из этого примера также видно, что количество информации, получаемой при диагностировании, определяется разностью неопределенностей (энтропий) объекта до и после диагностирования.

332

Если начальная энтропия объекта равна H(S), а после диагностирования она составляет H*(S), то информация J, полученная в результате диагностирования, равна

J = H (S ) H (S ) .

(12.5)

Поясним количество информации, получаемой при диагностировании, на следующем примере. Объект находится в одном из двух равновероятных состояний – работоспособном или

2

неработоспособном, т.е. Р1 = Р2 = 0,5; Pi =1. Допустим также,

i=1

что работоспособность объекта оценивается по двум параметрам – температуре и давлению. Известно, что при поступлении сообщения от датчика температуры об изменении температуры менее чем на 40 ° С объект находится в работоспособном состоянии с вероятностью Р = 0,5. При поступлении сообщения от датчика давления о том, что оно больше 0,15 МПа, можно с вероятностью Р = 1 гарантировать работоспособное состояние объекта. Какое из этих сообщений несет больше информации?

В приведенном примере начальная энтропия объекта

1

 

 

1

 

1

 

 

1

 

 

 

H (S ) = −

 

log

2

 

+

 

log

2

 

 

= 1

бит.

2

2

2

2

 

 

 

 

 

 

 

 

 

После получения сообщения от датчика температуры веро-

ятности состояний стали P1 = P2

= 0,5, и энтропия объекта

H

(S ) = −

1

log2

1

+

1

log

 

1

 

=1 бит.

2

2

 

2

2

 

 

 

2

 

 

 

 

Информация, полученная в результате диагностирования, J = H (S ) H (S ) = 1 1 = 0 бит. После получения сообщения от

датчика давления вероятности состояний стали P =1 , P = 0 ,

1 2

333

и энтропия объекта H (S ) = −(1 log2 1+ 0 log2 0) = 0 бит, т.е. информация, полученная в результате диагностирования,

J = H (S ) H (S ) = 1 0 = 1 бит.

Очевидно, второе сообщение (от датчика давления) несет больше информации, так как оно полностью устраняет неопределенность состояния объекта.

12.5. Архитектура компьютера

Общие сведения, касающиеся внутренней организации вычислительных систем, необходимы не только системным программистам, но и обычным пользователям ЭВМ. Эти сведения позволят определить или наметить принципы организации обработки информации так, чтобы эффективно использовать все возможности вычислительной системы. Они также позволяют определить производительность, которую можно получить на классе задач, интересующих пользователя, и тем самым дать ответ относительно пригодности той или иной вычислительной системы для решения поставленных задач.

Несмотря на то, что производительность вычислительных машин год от года растет в геометрической прогрессии, появляются новые задачи, для решения которых существующих возможностей отдельных процессоров недостаточно, и проблема разработки эффективных программ не теряет своей актуальности.

Современные мультипроцессорные и многомашинные вычислительные системы предоставляют возможности параллельной и распределенной обработки данных. Использование параллелизма требует поиска методов распараллеливания алгоритмов и, более того, поиска новых алгоритмов для решения задач. Тем самым знание структуры вычислительных систем может стимулировать чисто теоретические поиски новаций в вычислительной математике ивсфере обработки данных.

Удобное для пользователя взаимодействие с вычислительной системой требует больших накладных расходов, и эти

334

расходы приводят к увеличению времени решения целевой задачи. Системным программистам, разрабатывающим программное обеспечение, приходится все время решать задачу нахождения приемлемого компромисса между созданием удобств пользователю и эффективным использованием аппаратных средств.

Очевидно, что этого рода профессионалам совершенно необходимо знать принципы функционирования той аппаратной платформы, для которой они ведутсвои разработки.

Однако и обычным прикладным программистам также необходимо иметь сведения об архитектуре той ЭВМ, для которой они готовят задачи. Разумеется, для них сведения об архитектуре недолжны быть перегружены техническими деталями, но должны быть достаточными для правильной организации вычислений. Это позволит более эффективно использовать вычислительную технику, сократить время решения задач и в конечном счете будет содействовать ускорению научно-технического прогресса.

Под архитектурой ЭВМ понимают внутреннюю организацию вычислительной системы. Определение понятия архитектуры вычислительных машин может быть сформулировано так: это то, что должен знать о вычислительной машине программист. При таком определении может показаться, что программисту не так уж много надо знать.

Современные системы программирования скрывают от пользователя многие важные черты внутренней организации машины и не требуют от него их знания. Но без знания некоторых черт внутренней организации машины трудно разработать программу, оптимально использующуюаппаратные возможности.

В понятие архитектуры обычно включают сведения:

о составе и взаимодействии основных блоков вычислительной системы;

о системе команд и их репертуаре;

о регистровой структуре центральных процессоров;

об организации памяти, иерархии запоминающих устройств и их взаимосвязи;

об организации системы прерываний;

335

оборганизацииобменаданнымисвнешнимиустройствами;

о топологии связей отдельных устройств и модулей. Уровень детализации перечисленных выше сведений зависит от уровня пользователя. Системному программисту необходима более детальная информация о внутреннем устройстве машины в сравнениис разработчиком прикладных программ.

Самая общая схема отдельно взятой вычислительной машины от калькулятора до суперкомпьютера содержит центральный процессор, запоминающее устройство, устройства вводавывода (рис. 12.10).

Рис. 12.10. Концептуальная схема компьютера

Центральный процессор получает команду из памяти или от внешних устройств, выполняет действия, указанные в команде, полученный результат помещает в память или выводит на внешние устройства и переходит к выбору и выполнению следующей команды.

В разных типах компьютеров выполнение этих основных функций организовано по-разному. Архитектура ЭВМ отвечает на вопрос об организации выполнения этих функций.

Вычислительные машины принято делить на несколько архитектурных типов. Классификация архитектур вычислительных

336

систем характеризует способы обработки потока команд и потока данных, а также взаимоотношение этих двух главных процессов.

Под терминами «поток команд» и «поток данных» понимают последовательность команд в процессе их выполнения и последовательность обрабатываемых данных.

К типу ОКОД (Одиночный поток Команд, Одиночный поток Данных) относились почти все ЭВМ первого поколения. Этот тип архитектуры ЭВМ предполагает строго последова-

тельное выполнение команд над строго линейной общей памятью для команд и данных.

По типу ОКМД (Одиночный поток Команд, Множественный поток Данных) проектируются мультипроцессорные вычислительные системы, состоящие из многих процессорных элементов, каждый из которых имеет свою локальную память. Все эти процессоры выполняют, как правило, синхронно одну и ту же команду, выбираемую из одного потока команд, над данными, выбираемыми каждым процессором изсвоей локальной памяти.

По типу МКМД с множественными потоками команд и данных функционируют мультипроцессорные асинхронно работающие вычислительные комплексы. Каждый процессор имеет собственную локальную память для данных и программ, при этом все процессоры связаны между собой линиями передачи данных. Этот тип архитектуры, пожалуй, наиболее представительный по числу различных вычислительных систем, которые могут быть к нему отнесены. Однако под MКМД-системами чаще всего подразумевают установки, предназначенные для решения одной большой задачи, разбитой на более-менее независимые части.

Тип МКОД многопроцессорной архитектуры объединяет несколько процессоров с общей памятью. При этом каждый процессор может работать по своей собственной программе, пользуясь общим полем данных (общей оперативной памятью).

С целью ознакомления со сложившейся терминологией, принятой в литературе, посвященной описаниям архитектуры вычислительных машин, рассмотрим принципиальную схему однопроцессорнойвычислительной машины.

337

Рис. 12.11. Укрупненная схема микропроцессора

Приведенная на рис. 12.11 схема центральной части отдаленно напоминает структуру современных микропроцессоров, используемых в персональных компьютерах, включающих в свой состав такие узлы, как: оперативная память; кэш-память; регистры; внешние и внутренние шины; устройство управления; арифметические устройства; устройство адресной арифметики; блок преобразования адресов.

338

В этот набор не включены многие другие узлы и блоки, обеспечивающие работу компьютера с современным обязательным набором внешних устройств – диски, дисплеи, клавиатура, мыши и т.п.

Внешняя шина представляет собой сложное устройство, к которому могут подключаться: устройства процессора, оперативная память, внешние запоминающие устройства и устройства ввода-вывода, устройства взаимодействия с межкомпьютерной сетью. Шина обеспечивает взаимный обмен информацией между абонентами, подключенными к шине. Существует несколько типов шин, различающихся быстродействием, логикой работы, числом и правилами подключения абонентов к шине. В состав шины входят регистры, хранящие принимаемую и передаваемую информацию, и собственная система управления. Шина обеспечивает интерфейс процессора с внешними устройствами, получает от внутренних схем процессора заявки на прием и выдачу информации другим абонентам шины.

Одним из абонентов шины является главная оперативная память, из которой выбираются команды и числа. Для того чтобы выбрать из памяти, например, команду, следует по шине запросить готовность памяти к работе, послать в устройство управления памятью адрес байта, с которого начинается эта команда, принять эту команду на выходной регистр памяти и отправить в процессор. Приблизительно такие же операции производятся при выборке чисел и при записи информации из процессора

воперативную память.

Впроцессорах имеется также система внутренних шин, абонентами которой являются блоки самого процессора. По внутренним шинам передаются команды, операнды и адреса, т.е. осуществляется обмен содержательной информацией между внутренними регистрами и блоками процессора. Внутренние шины осуществляют передачу данных намного быстрее, чем внешняя шина, и от пропускной способности внутренних шин во многом зависит быстродействиепроцессора.

339

Кроме того, в процессоре существует сеть передачи управляющих сигналов, включающих в работу блоки и схемы процессора. Устройство управления – это сердце процессора, которое задает ритм работы всех его устройств и организует их согласованное взаимодействие. В состав устройства управления входит группа управляющих регистров, играющих важную роль в определении правил функционирования процессора.

Куправляющим регистрам относится счетчик команд,

вкотором автоматически формируется адрес команды, подлежащей выполнению. Этот регистр назван счетчиком по той причине, что он действительно в основном работает как счетчик, автоматически прибавляя к себе некоторую константу для получения следующего по порядку адреса команды, подлежащей выполнению. Этот процесс изменения содержимого счетчика команд прерывают команды переходов, которые загружают счетчик новым содержимым – адресом перехода, взятым из такой команды или вычисленным другим способом. Полученный тем или иным способом адрес команды передается в оперативную память для выборки команды.

Важную роль играет регистр управления, характеризующий состояние процессора. В разрядах этого регистра можно задать указания о выполнении программы в пользовательском режиме или в режиме работы операционной системы, указания

облокировании прерываний, включении или отключении механизмов защиты памяти. В нем хранится информация о характере результата выполненной операции, необходимая для выполнения команд условных переходов и многое другое, в зависимости от типа и сложности процессора.

Кустройству управления относится дешифратор команд, логически сложное устройство, которое на основе анализа поступившего из оперативной памяти кода команды формирует серию управляющих сигналов и данных, заставляющих работать соответствующие устройства процессора.

340