ВТКС02. Информационно-логические основы вычислительных машин функциональная и структурная организация

Лекции по предмету «Информатика»
Информация о работе
  • Тема: ВТКС02. Информационно-логические основы вычислительных машин функциональная и структурная организация
  • Количество скачиваний: 29
  • Тип: Лекции
  • Предмет: Информатика
  • Количество страниц: 29
  • Язык работы: Русский язык
  • Дата загрузки: 2014-11-23 10:59:10
  • Размер файла: 346.74 кб
Помогла работа? Поделись ссылкой
Информация о документе

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

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

ВТКС02. Информационно-логические основы вычислительных машин
функциональная и структурная организация, память, процессоры,
каналы и интерфейсы ввода вывода, периферийные устройства, режим работы,
программное обеспечение.
Системы счисления
Системой счисления называется способ изображения чисел с помощью ограниченного набора символов, имеющих определенные количественные значения. Систему счисления образует совокупность правил и приемов представления чисел с помощью набора знаков (цифр).
Различают позиционные и непозиционные системы счисления. В позиционных системах каждая цифра числа имеет определенный вес, зависящий от позиции цифры в последовательности, изображающей число. Позиция цифры называется разрядом. В позиционной системе счисления любое число можно представить в виде: An=am-1am-2…aia0*a-1a-2…a-k=am-1*Nm-1+am-2*Nm-2…+a-k*N-k
, (2.1)
где ai – i-я цифра числа; k – количество цифр в дробной части числа; m - количество цифр в целой части числа; N – основание системы счисления.
Основание системы счисления N показывает, во сколько раз “вес” г-го разряда больше (i-1) разряда. Целая часть числа отделяется от дробной части точкой (запятой).
Пример 2.1. А10=37.25.
В соответствии с формулой (2.1)это число формируется из цифр с весами рядов:
А10=3*101+7*100+2*10-1+5*10-2.
Теоретически наиболее экономичной системой счисления является система с основанием е=2,71828..., находящимся между числами 2 и 3. Во всех современных ЭВМ для представления числовой информации используется двоичная система счисления. Это обусловлено:
• более простой реализацией алгоритмов выполнения арифметических и логических операций;
• более надежной физической реализацией основных функций, так как они имеют два состояния (0 и 1);
• экономичностью аппаратурной реализации всех схем ЭВМ.
При N=2 число различных цифр, используемых для записи чисел, ограничено множеством из двух цифр (нуль и единица). Кроме двоичной системы счисления широкое распространение получили и производные системы: двоичная- {0,1}; • десятичная, точнее двоично-десятичное представление десятичных чисел, - {0, 1,...,9}; шестнадцатеричная - {0,1,2, ...9, А, В, С, D, Е, F}. Здесь шестнадцатеричная цифра А обозначает число 10,В-число 11, ...,F-число 15; восьмеричная (от слова восьмерик) - {0,1,2,3,4,5, б, 7}. Она широко используется во многих специализированных ЭВМ.
Восьмеричная и шестнадцатеричная системы счисления являются производными от двоичной, так как 16 = 24 и 8 = 23. Они используются в основном для более компактного изображения двоичной информации, так как запись значения чисел производится существенно меньшим числом знаков.
Информация - это сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком или специализированным устройством, например ЭВМ, для обеспечения целенаправленной деятельности. Информация может быть по своей физической природе: числовой, текстовой, графической, звуковой, видео и др. Она также может быть постоянной (неменяющейся), переменной, случайной, вероятностной. Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинно-следственные связи в процессах и явлениях. Существуют различные способы оценки количества информации. Классическим является подход, использующий формулу К. Шеннона. Применительно к двоичной системе она имеет вид: H=log2N, где H – количество информации, несущей представление о состоянии, в котором находится объект; N – количество равновероятных альтернативных состояний объекта. Любая информация, обрабатываемая в ЭВМ, должна быть представлена двоичными цифрами {0,1}, т.е. должна быть закодирована комбинацией этих цифр. Различные виды информации (числа, тексты, графика, звук) имеют свой правила кодирования. Коды отдельных значений, относящиеся к различным! видам информации, могут совпадать. Поэтому расшифровка кодированных! данных осуществляется по контексту при выполнении команд программы.
Арифметические основы ЭВМ
Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни машинных операций. Однако выполнение любой операции основано на использовании простейших микроопераций типа сложения и сдвиг. Это позволяет иметь единое арифметико-логическое устройство для выполнения любых операций, связанных с обработкой информации. Правила сложения двоичных цифр двух чисел А и В представлены в табл. 2.2. Здесь показаны правила сложения двоичных цифр ai, bi одноименных разрядов с учетом возможных переносов из предыдущего разряда pi-1. Подобные таблицы можно было бы построить для любой другой арифметической и логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знаковый разряд. Знак “+” кодируется двоичным нулем, а знак “-” - единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают большие трудности, связанные с необходимостью учета значений знаковых разрядов:
Таблица 2.2 Правила сложения двоичных цифр
Значения двоичных
чисел А и В Разряд
Суммы
Si Перенос в следующий разряд
Рi
аi bi Pi-1
0
0
0
0
1
1
1
1 0
0
1
1
0
0
1
1 0
1
0
1
0
1
0
1 0
1
1
0
1
0
0
1 0
0
0
1
0
1
1
1
• во-первых, следует отдельно обрабатывать значащие разряды чисел и разряды знака;
• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может заменяться вычитанием и наоборот).
Во всех ЭВМ без исключения все операции выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения,
Различают прямой код (П), обратный код (ОК) и дополнительный код (ДК) двоичных чисел.
Машинные коды
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
Пример 2.5. A10=+10 A2=+1010 [A2]П=0:1010; B10=-15 B2=-1111 [B2]П=1:1111.
Точечной вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от значащих. Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы - нулями.
Пример 2.6. A10=+5 A2=+101 [A2]П=[A2]OK=0:101; B10=-13 B2=-1010 [B2]OK=1:0010.
Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на инверсные. Укажем наиболее важные свойства обратного кода чисел:
• сложение положительного числа С с его отрицательным значением в обратном коде дает так называемую машинную единицу МЕок= 1: 111... 11, состоящую из единиц в знаковом и значащих разрядах числа;
• нуль в обратном коде имеет двоякое значение. Он может быть положительным - 0: 00...0 и отрицательным числом - 1; 11... 11. Значение отрицательного нуля совпадает с МЕок. Двойственное представление нуля явилось причиной того, что в современных ЭВМ все числа представляются не обратным, а дополнительным кодом. Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда (2° - для целых чисел, 2-k - для дробных).
Пример 2.7. A10=+19 A2=+10011 [A2]П=[A2]OK=[A2]ДК=0:10011;
B10=-13 В2=-1101 [B2]ДК=[B2]OK+20=1:0010+1=1:0011.
Укажем основные свойства дополнительного кода:
• сложение дополнительных кодов положительного числа С с его отрицательным значением дает так называемую машинную единицу дополнительного кода:
МЕДК=МЕОК+20=10: 00…00,
т.е. число 10 (два) в знаковых разрядах числа;
• дополнительный код получил такое свое название потому, что представление отрицательных чисел является дополнением прямого кода чисел до машинной единицы МЕдк.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак “+” в этих кодах кодируется двумя нулевыми знаковыми разрядами, а “-” - двумя единичными разрядами.
Пример 2.8. A10=9 A2=+1001 [A2]П=[A2]OK=[A2]ДК=0:1001 [A2]МОК=[A2]МДК=00:1001;
B10=-9 B2=-1001 [B2]OK=1:0110 [B2]ДК=1:0111 [B2]МОК=11:0110 [B2]МДК=11:0111.
Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить значение младшего знакового разряда. Значение знаковых разрядов “01” свидетельствует о положительном переполнении разрядной сетки, а “10” - об отрицательном переполнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки играют переносы, идущие в знаковый и из знакового разряда.
Основные сведения из алгебры логики
Теоретической основой построения ЭВМ являются специальные математические дисциплины. Одной из них является алгебра логика или булева алгебра (Дж. Буль - английский математик прошлого столетия, основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их оптимизации и проектирования. Вся информация в ЭВМ представляется в двоичной системе счисления. Поставим в соответствие входным сигналам отдельных устройств ЭВМ соответствующие значения хi(i=1,n), а выходным сигналам - значения функций yj(j=1,m) (рис.2.1).

Рис. 2.1. Представление схемы ЭВМ
В этом случае зависимостями yj=f(x1,x2,…,xi,…,xn), (2.2) где xi – i-й вход; n – число входов; yi – i-й выход; m – число выходов в устройстве, можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость у , является “булевой функцией, у которой число возможных состояний и каждой ее независимой переменной равно двум” (стандарт ISO 2382/2-76), т.е. функцией алгебры логики, а ее аргументы определены на множестве {0,1}. Алгебра логика устанавливает основные законы формирования и преобразования логических функций. Она позволяет представить любую сложную функцию в виде композиции простейших функций. Рассмотрим наиболее употребительные из них. Известно, что количество всевозможных функций N от п аргументов выражается зависимостью
N=22n. (2.3)
При n=0 можно определить две основные функции (N=2), не зависящие от каких-либо переменных: у0 , тождественно равную нулю (у0=0), и у1 , тождественно равную единице ( у1=1). Технической интерпретацией функции у1=1 может быть генератор импульсов. При отсутствии входных сигналов на выходе этого устройства всегда имеются импульсы (единицы). Функция у0=0 может быть интерпретирована отключенной схемой, сигналы от которой не поступают ни к каким устройствам. При п=1 зависимость (2.3) дает N=4. Представим зависимость значений этих функций от значения аргумента х в виде специальной таблицы истинности (табл. 2.4).
Таблица 2.4 Таблица функций от одной переменной
Yj Y0 Y1 Y2 Y3
X
0 0 1 0 1
1 0 1 1 0
Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации входных сигналов. В этой таблице, как и ранее, у0=0 и y1=1. Функция y2=х, а функция у3=x- (инверсия x). Этим функциям соответствуют определенные технические аналоги. Схема, реализующая зависимость у2=х, называется повторителем, а схема y3=х - инвертором. При п=2, N=l6, т.е. от двух переменных, можно построить шестнадцать различных функций. В табл. 2.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.
Таблица 2.5 Таблица функций от двух переменных
Yi Y0 Y1 Y2 Y3 ... Y4 Y5 Y6 Y7 Y8 Y9 ... Y15
X1 X2
00 0 1 0 1 0 1 0 1 1 0
01 0 1 0 1 ... 1 0 0 1 0 1 ...
10 0 1 1 0 1 0 0 1 0 1
11 0 1 1 0 1 0 1 0 1 0
Заметим, что в левой части таблицы перечислены всевозможные комбинации входных переменных (наборы значений), а в правой - возможные реакции выходных сигналов. В табл. 2.5 представлены функции у4-у9, полностью соответствующие функциям табл. 2.4, а также новые, часто используемые и интересные функции у4-у9. При этом местоположение функций и их нумерация в таблице особого значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для каждой функции от двух аргументов вида (2.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значениях, то такая форма функций называется совершенной.
Функция у4 представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если значение единицы имеет хотя бы одна переменная х1 или х2:

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

Она имеет название “ отрицание дизъюнкции”. Иногда в литературе встречается ее специальное название “стрелка Пирса”, по фамилии математика, исследовавшего ее свойства.
Функция у6 является функцией логического умножения. Она очень похожа на операцию обычного умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:

Функция y7 является инверсной функцией по отношению к у6:

Она называется “отрицание конъюнкции” или “ штрих Шеффера”. Функция к называется логической равнозначностью, она принимает значение единицы, если все ее переменные имеют одинаковое значение (или 0 или 1):

Функция y9 является инверсной по отношению к y8:

Она принимает значение единицы, если ее переменные имеют противоположные значения. Ниже будет показано, что функции у8 и у9 являются основой для построения сумматоров, так как они соответствуют правилам формирования цифр двоичных чисел при сложении (вычитании).
Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразования информации, представленной в двоичной системе счисления. Алгебра логики устанавливает правила [6] формирования логически полного базиса простейших функций, из которых могут строиться любые более сложные. Наиболее привычным базисом является набор трех функций {инверсия -  , дизъюнкция - v, конъюнкция - Λ или &}. Работа с функциями, представленными в этом базисе, очень похожа на использование операций обычной алгебры.
Алгебра логики устанавливает, что существуют и другие комбинации простейших логических функций, обладающих свойством логической полноты. Например, наборы логических функций {инверсия, дизъюнкция} и {инверсия, конъюнкция} также являются логически полными. Наиболее интересны минимальные базисы, включающие по одной операции {“отрицание дизъюнкции (  )”} и {“отрицание конъюнкции (  )”}. Однако работа с функциями, представленными в указанных базисах, требует от специалистов по проектированию ЭВМ определенных навыков.
Законы алгебры логики
Из определения вышеприведенных функций можно установить целый ряд простейших свойств:

В алгебру логики установлен целый ряд законов, с помощью которых возможно преобразование логических функций (ЛФ):
коммутативный (переместительный) x1*x2=x2*x1

ассоциативный (сочетательный) (x1*x2)*x3=(x1*x3)*x2=x1*(x2*x3)

Эти законы полностью идентичны законам обычной алгебры;
дистрибутивный (распределительный)

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


Закон склеивания
Закон свёртки .
Правило де Моргана где F - логическая функция общего вида, не зависящая от переменной х.
Убедиться в тождественности приведенных зависимостей можно путем аналитических преобразований выражений или путем построения таблицы истинности для ЛФ, находящихся в левой и правой частях. Используя данные зависимости, можно преобразовывать исходные выражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее минимальные аппаратурные затраты.
Понятие о минимизации логических функций
Проблема минимизации логических функций решается на основе применения законов склеивания и поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они отличаются друг от друга спецификой применения операций склеивания и поглощения, а также различными способами сокращения переборов. Среди аналитических методов наиболее известным является метод Квайна-Маккласки, среди табличных - метод с применением диаграмм Вейча [6]. Графические методы минимизации отличаются большей наглядностью и меньшей трудоемкостью. Однако их применение эффективно при малом числе переменных п<5. Рассмотрим последовательность действий минимизации ЛФ на примере. Пример2.15. Найти минимальную дизъюнктивную форму функции, заданной таблицей истинности (табл. 2.6).
Таблица 2.6 Таблица истинности функции Y=f(X1,X2,X3)
X1 Х2 Х3 Y
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
Эта функция интересна тем, что имеет несколько минимальных форм. По данным таблицы запишем аналитическое выражение:

Штриховыми линиями в этом выражении отмечены пары конъюнкций, к которым можно применить операцию склеивания типа . Особенно это видно при использовании диаграммы Вейча, в которой “склеиваемые” конъюнкции находятся по соседству друг с другом. Диаграмма Вейча просто по-другому интерпретирует таблицу истинности (табл. 2.7).
Таблица 2.7 Диаграмма Вейча функции Y

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

Из приведенных зависимостей видно, что только функции у1 и у4 являются минимальными формами функций, так как они содержат наименьшее число конъюнкций и имеют минимальный ранг этих конъюнкций. Минимизация “вручную” возможна только для функций, зависящих от 4-5 переменных, так как трудоемкость переборов растет в квадратичной зависимости от числа переменных. Применение мощных ЭВМ для этих Целей позволяет расширить границы до п= 12-15. Если при этом учесть, что функции могут быть частично определены (значения функций на некоторых наборах переменных можно определять произвольно), а также что иногда приходится решать задачи совместной минимизации систем ЛФ, то минимизация ЛФ становится сложной инженерной, практической и научной проблемой.
Понятие о минимизации логических функций
Проблема минимизации логических функций решается на основе применения законов склеивания и поглощения с последующим перебором получаемых дизъюнктивных форм и выбором из них оптимальной (минимальной). Существует большое количество методов минимизации ЛФ. Все они отличаются друг от друга спецификой применения операций склеивания и поглощения, а также различными способами сокращения переборов. Среди аналитических методов наиболее известным является метод Квайна-Маккласки, среди табличных - метод с применением диаграмм Вейча [6]. Графические методы минимизации отличаются большей наглядностью и меньшей трудоемкостью. Однако их применение эффективно при малом числе переменных п<5. Рассмотрим последовательность действий минимизации ЛФ на примере.
Пример2.15. Найти минимальную дизъюнктивную форму функции, заданной таблицей истинности (табл. 2.6). Таблица 2.6 Таблица истинности функции Y=f(X1,X2,X3)
X1 Х2 Х3 Y
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
Эта функция интересна тем, что имеет несколько минимальных форм. По данным таблицы запишем аналитическое выражение:

Штриховыми линиями в этом выражении отмечены пары конъюнкций, к которым можно применить операцию склеивания типа . Особенно это видно при использовании диаграммы Вейча, в которой “склеиваемые” конъюнкции находятся по соседству друг с другом. Диаграмма Вейча просто по-другому интерпретирует таблицу истинности (табл. 2.7).
Таблица 2.7 Диаграмма Вейча функции Y

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

Из приведенных зависимостей видно, что только функции у1 и у4 являются минимальными формами функций, так как они содержат наименьшее число конъюнкций и имеют минимальный ранг этих конъюнкций. Минимизация “вручную” возможна только для функций, зависящих от 4-5 переменных, так как трудоемкость переборов растет в квадратичной зависимости от числа переменных. Применение мощных ЭВМ для этих Целей позволяет расширить границы до п= 12-15. Если при этом учесть, что функции могут быть частично определены (значения функций на некоторых наборах переменных можно определять произвольно), а также что иногда приходится решать задачи совместной минимизации систем ЛФ, то минимизация ЛФ становится сложной инженерной, практической и научной проблемой.
Техническая интерпретация логических функций
По логическим выражениям проектируются схемы ЭВМ. При этом следует придерживаться следующей последовательности действий.
1. Словесное описание работы схемы.
2. Формализация словесного описания.
3. Запись функций в дизъюнктивной (конъюнктивной) совершенной нормальной форме по таблицам истинности.
4. Минимизация логических зависимостей с целью их упрощения.
5. Представление полученных выражений в выбранном логически полном базисе элементарных функций.
6. Построение схемы устройства.
7. Проверка работоспособности полученной схемы. Покажем взаимосвязь перечисленных этапов на примере.
Пример2.16. Спроектировать схему, фиксирующую появление “неправильной” тетрады в двоично-десятичном представлении чисел.
1. Каждая тетрада двоично-десятичного представления числа содержит десятичные цифры 0-9, что соответствует двоичным числам 0000-1001. Значения тетрады, соответствующие двоичным числам 1010-1111 (шестнадцатеричные цифры A-F), не должны появляться при представлении десятичных чисел.
2. Составим таблицу истинности функции (табл. 2.8), которая принимает значения, равные единице, при появлении “неправильных” тетрад. Разряды тетрады обозначим переменнымих, у, z, u.
Т а б л и ц а 2.8
Таблица истинности функции F

3. Исходная совершенная дизъюнктивная нормальная форма записывается

4. Эта форма функции допускает упрощение, что видно по диаграмме Вейча (табл.2.9). Этот же результат может быть получен аналитически.
Т а б л и ц а 2.9 Диаграмма Вейча для функции F

5. Минимальная форма функции F в логически полном базисе {&, v,  } будет иметь вид:

Для представления этой же схемы в другом полном базисе, например {&}, воспользуемся правилом де Моргана:

6. По полученным зависимостям можно построить схемы фиксации “неправильных” тетрад (рис.2.2).
7. Проверить работоспособность построенных схем можно путем задания различных комбинаций переменных х, у, z, и и определения реакции на выходе схемы F.

Рис. 2.2. Схема фиксации неправильных тетрад: а - схема в базисе (Г, &, V), б - схема в базисе (&).

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

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

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

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

Реализована идеология функционирования ЭВМ может быть по-разному: аппаратурными, программно-аппаратурными или программными средствами. При аппаратурной и программно-аппаратурной реализации могут быть применены регистры, дешифраторы, сумматоры; блоки жесткого аппаратурного управления или микропрограммного с управлением подпрограммами (комплексами микроопераций); устройства или комплексы устройств, реализованные в виде автономных систем (программируемых или с жестким управлением) и др. При программной реализации могут быть применены различные виды программ - обработчики прерываний, резидентные или загружаемые драйверы, соm-, ехе- или tsr - программы, bat- файлы и др.

Будем считать, что способы реализации функций ЭВМ составляют структурную организацию ЭВМ. Тогда элементная база, функциональные узлы и устройства ЭВМ, программные модули различных видов (обработчики прерываний, драйверы, соm-, ехе-, tsr- программы, bat-файлы и др.) являются структурными компонентами ЭВМ.

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

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

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

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


ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ
Основная память. Состав, устройство и принцип действия основной памяти

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

Запоминающие устройства делятся на основную память, сверхоперативную память (СОЗУ) и внешние запоминающие устройства.

Основная память включает в себя два типа устройств: оперативное запоминающее устройство (ОЗУ или RAM - Random Access Memory) и постоянное запоминающее устройство (ПЗУ или ROM - Read Only Memory).

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

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

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

В современных ЭВМ микросхемы памяти (ОП и СОЗУ) изготавливают из кремния по полупроводниковой технологии с высокой степенью интеграции элементов на кристалле (микросхемы памяти относятся к так называемым “регулярным” схемам, что позволяет сделать установку элементов памяти в кристалле (чипе) настолько плотной, что размеры элементов памяти становятся сопоставимыми с размерами отдельных атомов).

Основной составной частью микросхемы является массив элементов памяти (ЭП), объединенных в матрицу накопителя.

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

При матричной организации памяти реализуется координатный принцип адресации ЭП, в связи с чем адрес делится на две части (две координаты) - Х и Y. На пересечении этих координат находится элемент памяти, чья информация должна быть прочитана или изменена.


. Структура базового микропроцессора
Основу центрального процессора ПЭВМ составляет микропроцессор -обрабатывающее устройство, служащее для арифметических и логических преобразований данных, для организации обращения к ОП и ВнУ и для управления ходом вычислительного процесса. В настоящее время существует большое число разновидностей микропроцессоров, различающихся назначении, функциональными возможностями, структурой, исполнением. Чаще всего наиболее существенным, классификационным различием между ними является количество разрядов в обрабатываемой информационной единице:8-битовые, 16-битовые, 32-битовые и др.
К группе 8-битовых микропроцессоров относятся i8080, i8085 (с буквы i начинаются названия МП, выпускаемых фирмой Intel - INTegrated Electronics), Z80 (с буквы Z начинаются названия МП фирмы Zilog) и др. Наиболыпее распространение среди 16-битовых микропроцессоров поли i8086, i8088, 32-битовых - i80386, i80486, которые совместимы по идам и форматам данных снизу вверх. Эти микропроцессоры используются в различных модификациях ЮМ PC. Два из этих микропроцессоров: i8086 и i8088 по назначению и функционым возможностям одинаковы. Различаются они только разрядностью шины данных системной магистрали: МП i8086 имеет 16-битовую шину даных, а i8088 - 8-битовую. В связи с этим выборка команд и операндов из оперативной памяти производится за разное число машинных циклов. С точки зрения функциональных возможностей существенного значения эти различия не имеют, поэтому и упоминают о них, как правило, вместе: 8086/8088. Этот тип МП является базовым для IBM совместимых машин. Все последующие типы МП основываются на нем и лишь развивают его архитектуру.
МП 8086/8088 имеет базовую систему команд. В следующей модификации МП фирмы Intel - 80186 реализована расширенная система команд. Расширение системы команд продолжается во всех новых моделях, но кроме этого в каждой новой модели вводятся дополнительные архитектурные решения: в 80286 введены встроенный блок управления ОП, работающий в виртуальном режиме (что позволило увеличить предельно допустимый объем виртуальной памяти до 4 Гбайт при 16 Мбайт физической), и блоки, позволяющие реализовать мультизадачность: блок защиты ОП и блок проверки уровня привилегий, присваиваемых каждой задаче. Кроме того, во всех последующих моделях вводятся и совершенствуются средства, позволяющие повысить производительность МП: совершенствуются конвейер команд и встроенный блок управления ОП, вводятся микропрограммное управление операциями, прогнозирование переходов по командам условной передачи управления, скалярная архитектура ЦП (арифметический конвейер) и мультискалярная архитектура (несколько параллельно работающих арифметических конвейеров, одновременно выполняющих несколько машинных операций, благодаря чему появляется возможность за один такт МП выполнять более одной машинной операции). Начиная с 80486, в кристалле МП размещается арифметический сопроцессор для операций с плавающей точкой. Фирма Intel разработала специальный микропроцессор Over Drive, который предназначен для параллельной работы с основным микропроцессором (для этого на системной плате предусматривается специальное гнездо).
Все эти усовершенствования позволяют сделать персональную ЭВМ IBM PC мультипрограммной, многопользовательской (МП 80286 позволял работать с 10 терминалами; 80386 - с 60) и многозадачной. С помощью операционной системы стало возможным реализовать работу в режиме SVM (системы виртуальных машин), т.е. на одной ПЭВМ реализовать множество независимых виртуальных машин (МП 803 86 позволял в этом режиме реализовать работу до 60 пользователей, каждому из которых предоставлялась отдельная виртуальная ПЭВМ IBM PC на МП 8086).
Некоторые характеристики МП фирмы intel приведены в табл 5.1. В обозначениях микропроцессоров появились дополнительные элементы: буквы SL, SX, DX и цифры. Буквы обозначают:
SL - микропроцессор изготовлен для работы с пониженным потреблением энергии (питание на те или иные блоки МП подается только в те моменты, когда они включаются в работу, в результате снижается потребление энергии и увеличивается срок службы источников питания, сокращается выделение энергии в кристалле МП и снижается его температура, благодаря чему увеличивается срок службы микропроцессора);
SX - данный микропроцессор является переходным - длина машинного слова в нем осталась без изменения от предыдущей модели;
DX - длина машинного слова увеличена вдвое по сравнению с МП предыдущей модели.
Цифры обозначают, во сколько раз изменилась тактовая частота по сравнению с МП предыдущей модели. Иногда (при наличии модификаций) дополнительно указывается тактовая частота МП.
Разработан новый микропроцессор - Реntiun ММХ (MultiMedia Extention), в котором реализована архитектура вычислительных систем класса SIMD, введено 57 новых команд, необходимых для обработки аудио-, видео- и телекоммуникационной информации.
Таблица 5.1
Характеристики микропроцессоров фирмы Intel
Наименование МП Тактовая частота, Мгц Индекс iCOMP Разрядность ШД (внутренняя/ внешняя) Адресуемая память/ разрядность ША Сопроцессор Снижение потребления энергии Примечание
8086 16/16 1 Мб/20 40000 транз
8088 16/8 l Мб/20
80286 16/16 16 Мб/24 130000 трата
80386SL 16/16 16 Мб/24 Есть
80386SX 32/32 16 Мб/24
80386DX 32/32 4 Г6/32
80486SL 32/32 . 4 Г6/32 Нет Есть
80486SX 25 100 32/32 4 Г6/32 Нет
80486SX2 40 - 32/32 4 Г6/32
80486SX2 50 180 32/32 4 Г6/32
80486DX 32/32 4 Г6/32 Встр.
80486DX2 50 231 32/32 4 Г6/32 Встр. 1,2 млн транз.
80486DX2 66 297 32/32 4 Г6/32 Встр.
80486DX4 75 319 32/32 4 Г6/32 Встр.
80486DX4 100 435 32/32 4 Г6/32 Встр.
Over Drive 32/32 4 Г6/32 Встр. Аналог 486DX2
Pentium 60 510 64,32/64 4 Г6/32 Встр. 6,7 млн транз.
Pentium 66 567 64,32/64 4 Г6/32 Встр.
Pentium 90 735 64,32/64 4 Г6/32 Встр.
Pentium 100 815 64,32/64 4 Г6/32 Встр.
Pentium 133 - 64,32/64 4 Г6/32 Встр.
Pentium 166 64,32/64 4 Г6/32 Встр.
Pentium Pro о 150
Pentium Pro о 200
В персональных ЭВМ нашли применение не только микропроцессоры фирмы Intel. Крупнейшими производителями аналогов микропроцессорам Intel (клонов) являются фирмы Cyrix и AMD.
Фирма Cyrix выпускает микропроцессоры М-1 и М-2, аналогичные Pentium, но превосходящие его по производительности. Так, М-1 с тактовой частотой 150 МГц по производительности эквивалентен МП Pentium с тактовой частотой 200 МГц.
Фирма AMD, завоевавшая около 30% рынка МП в России, выпускает микропроцессоры К-5 и К-6, являющиеся соответственно аналогами Pentium и Pentium Pro.
Структурная схема базовой модели МП фирмы Intel приведена на рис.5.5.

Рис. 5.5. Структурная схема микропроцессора
Условно микропроцессор можно разделить на две части: исполнительный блок (Execution Unit - EU) и устройство сопряжения с системной магистралью (Bus Interface Unit - ВШ).
В исполнительном блоке находятся: арифметический блок и регистры общего назначения (РОН). Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для хранения операндов и регистр флагов.
Восемь регистров исполнительного блока МП (АХ, ВХ, СХ, DX, SP, ВР, SI, DI), имеющих длину, равную машинному слову, делятся на две группы. Первую группу составляют регистры общего назначения: АХ, ВХ, СХ и DX, каждый из которых представляет собой регистровую пару, составленную из двух регистров длиной в 0.5 машинного слова: аккумулятор, или регистр АХ состоит из регистров АН и AL. Регистр базы (Base Register) ВХ состоит из регистров ВН и BL. Счетчик (Count Register) СХ включает регистры СН и CL. Регистр данных (Data Register) DX содержит регистры DH и DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой пары. Условные названия (аккумулятор, регистр базы, счетчик, регистр данных) не ограничивают применения этих регистров - эти названия говорят о наиболее частом использовании их или об особенности использования того или иного регистра в той иди иной команде.
Вторую группу составляют адресные регистры SP, BP, SI и DI (в старших моделях количество адресных регистров увеличено). Эти регистры активно используются по функциональному назначению и в других целях их применятъ не рекомендуется. В качестве адресного регистра часто используется РОН ВХ. Программно допускается использование регистров BP, DI и SI в качестве регистров для хранения операндов, но отдельные байты в этих регистрах недоступны. Основное их назначение - хранить числовые значения, реализуемые при формировании адресов операндов.
Устройство сопряжения с системной магистралью содержит управляющие регистры, конвейер команд, АЛУ команд, устройство управления исполнительным блоком МП и интерфейс памяти (соединяющий внутреннюю магистраль МП с системной магистралью ПЭВМ).
Управляющие регистры BIU: CS (указатель командного сегмента), DS указатель сегмента данных), SS (указатель сегмента стека), ES (указатель дополнительного сегмента) и др. служат для определения физических адресов ОП - операндов и команд. Регистр IP (Instruction Pointer) является указателем адреса команды, которая будет выбираться в конвейер команд в качестве очередной команды (в отечественной литературе такое устройство называется счетчик команд). Конвейер команд МП хранит несколько команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды с выполнением текущей.
К управляющим регистрам МП относится и регистр флагов, каждый разряд которого имеет строго определенное назначение. Обычно разряды регистра флагов устанавливаются аппаратно при выполнении очередной операции в зависимости от получаемого в АЛУ результата. При этом фиксируются такие свойства получаемого результата, как нулевой результат, отрицательное число, переполнение разрядной сетки АЛУ и т.д. Но некоторые разряды регистра флагов могут устанавливаться по специальным командам. Некоторые разряды имеют чисто служебное назначение (например, хранят разряд, (выпавший” из АЛУ во время сдвига) или являются резервными (т.е. не используются).
Все флаги младшего байта регистра устанавливаются арифметическими или логическими операциями МП. Все флаги старших байтов, за исключением флага переполнения, устанавливаются программным путем, для этого в МП имеются команды установки флагов (STC, STD, STI), сброса (CLC CLD, CLI), инвертирования (CMC).


. Принципы управления

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

Передача информации с периферийного устройства в ЭВМ называется операцией ввода, а передача из ЭВМ в ПУ - операцией вывода.

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

При разработке систем ввода-вывода ЭВМ особое внимание обращается на решение следующих проблем:

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

• для эффективного и высокопроизводительного использования оборудования в ЭВМ должны реализоваться одновременная работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода;

• необходимо упростить для пользователя и стандартизовать программирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного периферийного устройства;

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

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

Но автономность потребовала проведения проверок исправности устройств при каждом обращении к ним. Появилась определенная технология обращения к автономным внешним устройствам - интерфейс.

Когда эту технологию унифицировали, появилось понятие стандартного интерфейса.

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

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

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

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

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

Это все стимулировало развитие специального математического аппарата в интерфейсах.

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

Во внешние устройства стали встраивать свою основную память, объем которой должен обеспечивать вывод целой страницы (например, текста) при плотности 600 точек/дюйм -этот объем превышает иногда объем основной памяти ЭВМ.

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

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

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

При разработке пятого поколения ЭВМ была заложена интеллектуализания общения: речевой ввод и вывод; графический ввод; ввод текстовой информации без клавиатуры; естественно-языковое общение; общение на разных естественных языках.

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

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

• специальные управляющие сигналы и их последовательности;

• устройства сопряжения;

• линии связи;

• программы, реализующие обмен.

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

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

• внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ;

• интерфейс ввода-вывода - для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.);

• интерфейсы межмашинного обмена (для обмена между разными машинами) предназначены для сопряжения различных ЭВМ (например, при образовании вычислительных сетей);

• интерфейсы "человек - машина" - для обмена информацией между человеком и ЭВМ.

Для каждого интерфейса характерно наличие специального аппаратурного комплекса (рис.6.1).



Рве. 6.1. Место интерфейса в аппаратурном комплексе

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

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

Если интерфейс обеспечивает обмен одновременно всеми разрядами передаваемой информационной единицы (чаще всего байта или машинного слова), он называется параллельным интерфейсом.

Внутренний интерфейс ЭВМ всегда делается параллельным или последовательно-параллельным (если одновременно передается не вся информационная единица, а ее часть, содержащая несколько двоичных разрядов, например, i8088 обеспечивает побайтовый, a 80386SX - двухбайтовый обмен через системную магистраль, тогда как основная информационная единица - машинное слово - имеет длину у 8086 - 2 байта, а у 80386 - 4).

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

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

В зависимости от используемых при обмене программно-технических средств интерфейсы ввода-вывода делятся на два уровня: физический и логический (рис.6.2).



Рис. 6.2. Логический и физический уровни интерфейсов ввода-вывода

В зависимости от степени участия центрального процессора в обмене данными в интерфейсах могут использоваться три способа управления обменом:

• режим сканирования (так называемый "асинхронный" обмен);

• синхронный обмен;

• прямой доступ к памяти.

Для внутреннего интерфейса ЭВМ режим сканирования предусматривает опрос центральным процессором периферийного устройства (ПФУ): готово ли оно к обмену, и если нет - продолжение опроса периферийного устройства (рис.6.3).

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

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



Рис. 6.3. Алгоритм сканирования

Режим сканирования упрощает подготовку к обмену, но имеет рад недостатков:

• процессор постоянно задействован и не может выполнять другую работу;

• при большом быстродействии периферийного устройства процессор не успевает организовать обмен данными.

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

Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями ввода-вывода используют прямой доступ к памяти (DMA - Direct Memory Access).

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

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

Прямой доступ к памяти (ПДП):

• освобождает процессор от управления операциями ввода-вывода;

• позволяет осуществлять параллельно во времени выполнение процессором программы с обменом данными между внешним устройством и основной памятью;

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

ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей производительности ЭВМ, дает возможность машине более приспособление работать в системах реального времени.
Режимы работы ЭВМ
Операционные системы предоставляют пользователям достаточно широкий спектр вычислительных услуг, упрощая процесс использования ЭВМ. Прежде всего это касается разнообразия режимов работы машин, обеспечиваемых ОС. Под режимом работы понимают принципы структурной и функциональной организации аппаратных и программных средств. В общем случае режимы использования ЭВМ подразделяют на однопрограммные и многопрограммные.
Исторически однопрограммные режимы появились первыми. При их реализации все основные ресурсы ЭВМ (время работы процессора , оперативная память и др.) полностью отдаются в монопольное владение пользователя. Однопрограммный режим может иметь модификации: однопрограммный режим непосредственного доступа и однопрограммный режим косвенного доступа.
В режиме непосредственного доступа, пользователь получает ЭВМ в полное распоряжение: он сам готовит ЭВМ к работе, загружает задания, инициирует их, наблюдает за ходом решения и выводом результатов. По окончании работ одного пользователя все ресурсы ЭВМ передаются в распоряжение другого (рис.9.5, а). Этот тип режима характеризуется весьма низкой полезной загрузкой технических средств. К снижению производительности ЭВМ из-за простоев процессора приводят затраты времени на подготовку ЭВМ к работе (включение, проверка, загрузка ОС, ввод заданий и т.д.) и большое время реакции пользователя. По этим причинам режим практически не используется в универсальных ЭВМ. Напротив, в ПЭВМ этот режим используется как основной, поскольку в этих типах ЭВМ главным критерием эффективной работы считается обеспечение максимальных удобств пользователю.
В режиме косвенного доступа пользователь не имеет прямого контакта с ЭВМ. Этот режим был предшественником многопрограммных режимов в ЭВМ высокой и средней производительности, он имел целью обеспечить более полную загрузку процессора за счет сокращения непроизводительных его простоев. В настоящее время он практически не используется, так как время работы процессоров в современных ЭВМ не является главным ресурсом системы, но принципы построения этого режима позволяют лучше уяснить сущность многопрограммной обработки.
Суть режима состоит в следующем.
Из подготовленных заданий пользователей составляется пакет заданий. Процессор обслуживает программы пользователей строго в порядке их следования в пакете. Процесс выполнения очередной программы не прерывается до полного ее завершения. Только после этого процессор как ресурс отдается в монопольное владение следующей очередной программе. Как видно, доступ пользователя к ресурсам ЭВМ осуществляется косвенно средствами ОС, организующими автоматический переход от обслуживания одного задания пользователя к другому. Благодаря этому режим часто называют последовательной пакетной обработкой. При нем обеспечивается параллельная работа устройств ввода-вывода и процессора (рис.9.5,6). Это позволяет значительно повысить производительность ЭВМ за счет сокращения простоев.

Рис. 9.5. Однопрограммные режимы работы: а - режим непосредственного доступа; б- режим косвенного доступа
Режим косвенного доступа имеет существенный недостаток. Он не позволяет полностью исключить случаи простоя процессора или непроизводительного его использования. Всякий раз, когда очередная программа, вызванная в процессор, предварительно не обеспечена данными, процессор вынужден простаивать. При этом резко снижается эффективность использования ЭВМ. Этот случай отражен на рис.9.5, б на примере выполнения задания В. Неэффективно работает ЭВМ и тогда, когда обрабатываемые программы захватывают процессор на длительное время. В этих случаях остальные программы пакета остаются без обслуживания. Особо опасны ситуации, в которых текущая программа не выходит на завершение (например, "испортилась" после сбоя во время решения или некорректно сформирована пользователем). В этом режиме у ЭВМ отсутствуют средства разрешения подобных конфликтов, и требуется вмешательство оператора.
Многопрограммный режим работы ЭВМ позволяет одновременно обслуживать несколько программ пользователей. Реализация режима требует соблюдения следующих непременных условий:
• независимости подготовки заданий пользователями;
• разделения ресурсов ЭВМ в пространстве и времени;
• автоматического управления вычислениями.
Независимость подготовки заданий пользователями обеспечивается развитыми средствами САП. Используя имеющиеся языки программирования, пользователи не должны учитывать ситуации, в которых может произойти одновременное их обращение к одним и тем же ресурсам ЭВМ. Они могут использовать даже одинаковые идентификаторы, обращаться к одним и тем же библиотекам программ и массивам данных, задействовать одни и те же устройства и т.д. Очереди к общим ресурсам должны обслуживаться средствами ОС, не создавая взаимных помех пользователям.
Разделение ресурсов ЭВМ между программами пользователей обеспечивается аппаратно-программными средствами системы. Программы управления заданиями ОС определяют виды требуемых ресурсов в заданиях пользователей и регламентируют их использование. Перспективное планирование при этом отсутствует, так как заранее определить динамику последующих вычислений практически невозможно. Отдельные виды ресурсов, например области оперативной и внешней памяти, допускают одновременное их использование программами пользователей. В этом случае пространство адресов памяти разбивается на непересекающиеся зоны или разделы. "Охрану границ" этих зон обеспечивают схемы защиты памяти - аппаратурные и программные средства ЭВМ.
Некоторые виды ресурсов допускают только последовательное их использование программами пользователей, например, в однопроцессорной ЭВМ время работы единственного процессора является неразделяемым ресурсом. Его использование предполагает упорядочение потока заявок и поочередное его использование программами. В современных ЭВМ упорядочение потока заявок обеспечивается на основе их приоритетов, где приоритет - некоторая априорная характеристика заявки, определяющая ее место в очереди на обслуживание. Формирование очередей обеспечивают программные компоненты ОС. Обслуживание очередей заявок выполняется с использованием системы прерываний и приоритетов. Последняя выделяет из группы одновременно поступающих заявок одну, наиболее приоритетную.
Автоматическое управление вычислительным процессом в многопрограммном режиме выполняется центральной программой управления задачами. Сущность управления сводится к управлению ресурсами. При этом ОС составляет таблицы управления, выделяет ресурсы, запускает их в работу и корректирует таблицы.
Различные формы многопрограммных (мультипрограммных) режимов работы различаются в основном значимостью различного рода ресурсов и правилами перехода от обслуживания одной программы пользователя к другой. Эти правила отличаются условиями прерывания текущей программы и условиями выбора новой программы из очереди, которой передается управление.
Различают следующие виды многопрограммной работы: классическое мультипрограммирование, режим разделения времени, режим реального времени и целый ряд производных от них.
Режим классического мультипрограммирования, или пакетной обработки, применительно к однопроцессорным ЭВМ является основой для построения всех других видов многопрограммной работы. Режим имеет целью обеспечить минимальное время обработки пакета заданий и максимально загрузить процессор.
Пакет заданий упорядочивается в соответствии с приоритетами заданий, и обслуживание программ ведется в порядке очередности. Обычно процессор обслуживает наиболее приоритетную программу. Как только ее решение завершается, процессор переключается на следующую по приоритетности программу. В этом режим во многом похож на режим косвенного доступа. В режиме мультипрограммирования имеется существенное отличие. Если при обслуживании наиболее приоритетной программы создается ситуация, что вычисления не могут быть продолжены (например, требуется ввести дополнительные данные), то прерывание обслуживания сопровождается передачей управления следующей по приоритетности программе. Но как только условия, препятствующие продолжению наиболее приоритетной задачи, отпадут, процессор вновь возвращается к продолжению решения ранее прерванной программы. Этот случай иллюстрируется на рис. 9.6 при выполнении задания В.

Рис. 9.6. Многопрограммный режим пакетной обработки
Подобные прерывания и передачи управления могут многократно наслаиваться друг на друга. Это позволяет до минимума сократить непроизводительные простои процессора.
Из вышеизложенного следует, что в однопроцессорных ЭВМ многопрограммность является кажущейся, так как процессор предоставляется программам в непересекающиеся интервалы времени. Уменьшение времени обслуживания обеспечивается также за счет параллельной работы процессора и устройств ввода-вывода.
В качестве недостатка надо отметить, что в режиме мультипрограммирования улучшение качества обслуживания пользователей по сравнению с косвенным доступом не предусматривается. Здесь также отдельные программы могут надолго монополизировать процессор, блокируя тем самым программы других пользователей.
Режим разделения времени является более развитой формой многопрограммной работы ЭВМ. В этом режиме, обычно совмещенном с фоновым режимом классического мультипрограммирования, отдельные наиболее приоритетные программы пользователей выделяются в одну или несколько групп. Для каждой такой группы устанавливается круговое циклическое обслуживание, при котором каждая программа группы периодически получает для обслуживания достаточно короткий интервал времени - время кванта-т (рис.9.7).

Рис. 9.7. Режим разделения времени
После завершения очередного цикла процесс выделения квантов повторяется. Это создает у пользователей впечатление кажущейся одновременности выполнения их программ. Если пользователю к тому же предоставляются средства прямого доступа для вывода результатов решения, то это впечатление еще более усиливается, так как результаты выдаются в ходе вычислений по программе, не ожидая завершения обслуживания всех программ группы или пакета в целом.
Условием прерывания текущей программы является либо истечение выделенного кванта времени, либо естественное завершение (окончание) решения, либо прерывание по вводу-выводу, как при классическом мультипрограммировании. Для реализации режима разделения времени необходимо, чтобы ЭВМ имела в своем составе развитую систему измерения времени:
интервальный таймер, таймер процессора, электронные часы и т.д. Это позволяет формировать группы программ с постоянным или переменным кванта времени - т . Разделение времени находит широкое применение при обслуживании ЭВМ сети абонентских пунктов.
Более сложной формой разделения времени является режим реального времени. Этот режим имеет специфические особенности:
• поток заявок от абонентов носит, как правило, случайный, непредсказуемый характер;
• потери поступающих на вход ЭВМ заявок и данных к ним не допускаются, поскольку их не всегда можно восстановить;
• время реакции ЭВМ на внешние воздействия, а также время выдачи результатов i-й задачи должны удовлетворять жестким ограничениям вида
tP<= tРДОП (9.1)
где tP - время решения задачи; tРДОП - допустимое время решения.
На рис.9.8 показана зависимость стоимости решения задачи от времени tP. При нарушении неравенства (9.1) стоимость решения резко падает до нуля; в отдельных системах она может стать и отрицательной, что показано штриховой линией. Режим реального времени объединяет практически все системы, в которых ЭВМ используется в контуре управления.

Рис. 9.8. Зависимость стоимости решения от времени в системах реального времени
Специфические особенности режима реального времени требуют наиболее сложных операционных систем. Именно на базе этого режима строятся так называемые диалоговые системы, обеспечивающие многопользовательский режим: одновременную работу нескольких пользователей с ЭВМ. Диалоговые системы могут иметь различное содержание: системы, обслуживающие наборы данных; системы разработки документов, программ, схем, чертежей; системы выполнения программ в комплексе "человек - машина" и др. Диалоговый режим обслуживания предполагает использование дисплеев - устройств оперативного взаимодействия с ЭВМ. Они получили широкое распространение в различных информационных и автоматизированных системах управления.
Функции программного обеспечения
Электронные вычислительные машины являются универсальными техническими средствами автоматизации вычислительных работ, т.е. они способны решать любые задачи, связанные с преобразованием информации. Однако подготовка задач к решению на ЭВМ была и остается до настоящего времени достаточно трудоемким процессом, требующим от пользователей во многих случаях специальных знаний и навыков.
Для снижения трудоемкости подготовки задач к решению, более эффективного использования отдельных технических, программных средств и ЭВМ в целом, а также облегчения их эксплуатации каждая ЭВМ имеет специаль-ньй комплекс программных средств регулярного применения. Эти средства обеспечивают взаимодействие пользователей с ЭВМ и являются своеобразным “посредником” между ними. Они получили название программного обеспечения (ПО) ЭВМ.
Под программным обеспечением будем понимать комплекс программных средств регулярного применения, предназначенный для подготовки и решения задач пользователей.
Программное обеспечение отдельных ЭВМ и ВС может сильно различаться составом используемых программ, который определяется классом используемой вычислительной техники, режимами ее применения, содержанием вычислительных работ пользователей и т.п. Развитие ПО современных ЭВМ и ВС в значительной степени носит эволюционный и эмпирический характер, но можно выделить закономерности в его построении.
В общем случае процесс подготовки и решения задач на ЭВМ пользователями предусматривает выполнение следующей последовательности этапов (рис. 1.4):

Рис. 1.4. Автоматизация подготовки и решения задач в ЭВМ
• формулировка проблемы и математическая постановка задачи;
• выбор метода и разработка алгоритма решения;
• программирование (запись алгоритма) с использованием некоторого алгоритмического языка;
• планирование и организация вычислительного процесса - порядка и последовательности использования ресурсов ЭВМ и ВС;
• формирование “машинной программы”, т.е. программы, которую непосредственно будет выполнять ЭВМ;
• собственно решение задачи - выполнение вычислений по готовой программе.
По мере развития вычислительной техники автоматизация этих этапов идет снизу-вверх. В ЭВМ 1-го поколения автоматизации подлежал только последний этап. Все пять предыдущих этапов пользователь должен был готовить вручную самостоятельно. Трудоемкий и рутинный характер этих работ был источником большого количества ошибок в заданиях. Поэтому в ЭВМ следующих поколений появились сначала элементы, а затем целые системы, облегчающие процесс подготовки задач к решению.
Для ЭВМ 2-го поколения характерно широкое применение алгоритмических языков (Автокоды, Алгол, Фортран и др.) и соответствующих трансляторов, позволяющих автоматически формировать машинные программы по их описанию на алгоритмическом языке. Здесь же широко стали внедряться библиотеки стандартных программ, что позволило строить машинные программы блоками, используя накопленный и приобретенный программистами опыт. Отметим, что временные границы появления всех нововведений достаточно размыты. Обычно их истоки можно обнаружить в недрах ЭВМ предыдущих поколений.
ЭВМ 3-го поколения характеризуются расцветом операционных систем (ОС), отвечающих за организацию и управление вычислительным процессом. Именно здесь слово “ЭВМ” все чаще стало заменяться понятием “вычислительная система”, что в большей степени отражало усложнение как аппаратурной, так и программной частей ЭВМ. Стоимость программного обеспечения стала расти и в настоящее время намного опережает стоимость аппаратурных средств (рис 1.5).

Рис. 1.5. Динамика изменения стоимости аппаратурных и программных средств
Операционная система планирует последовательность распределения и использования ресурсов вычислительной системы, а также обеспечивает их согласованную работу. Под ресурсами обычно понимают те средства, которые используются для вычислений: машинное время отдельных процессоров или ЭВМ, входящих в систему; объемы оперативной и внешней памяти; отдельные устройства, информационные массивы; библиотеки программ; отдельные программы как общего, так и специального применения и т.п. Наиболее употребительные функции ОС в части обработки внештатных ситуаций (защита программ от взаимных помех, системы прерываний и приоритетов, служба времени, сопряжение с каналами связи и т.д.) были полностью или частично реализованы аппаратурно. Одновременно были реализованы более сложные режимы работы: коллективный доступ к ресурсам, мультипрограммные режимы. Часть этих решений стала своеобразным стандартом и начала использоваться повсеместно в ЭВМ различных классов. Это позволило в значительной степени повысить эффективность применения ЭВМ и ВС в целом.
В ЭВМ 4-го поколения продолжается усложнение технических и программных структур (иерархия управления средствами, увеличение их количества). Следует отметить заметное повышение “интеллектуальности” машин. Особенно это стало видно при появлении персональных ЭВМ, ориентированных на определенные категории пользователей. Программное обеспечение этих машин создает дружественную среду общения человека и компьютера. Оно, с одной стороны, управляет процессом обработки информации, а с другой - создает необходимый сервис для пользователя, снижая трудоемкость его рутинной работы и предоставляя ему возможность больше внимания уделять творчеству.
Подобные тенденции будут сохраняться и в ЭВМ следующих поколений. Так, по мнению исследователей [34,53], машины следующего столетия будут иметь встроенный в них искусственный интеллект, что позволит пользователям обращаться к машинам (системам) на естественном языке, вводить и обрабатывать тексты, документы, иллюстрации, создавать системы обработки знаний и т.д. Все это приводит к необходимости разработки сложного, многоэшелонного иерархического программного обеспечения систем обработки данных.