
- •Глава 1. Принципы построения современных эвм.
- •Формы представления чисел
- •Арифметические операции над двоичными числами с фиксированной запятой
- •Арифметические операции над числами с плавающей запятой
- •Находим характеристику частного путем сложения с дополнением .
- •, При переходе к прямому коду, получим Теперь находим частное деления мантисс, используя схему деления без восстановления остатка. Коды мантиссы делителя
- •Таким образом, окончательный результат равен . Так же, как и впредудущих случаях проверим результат:
- •Логические основы построения эвм Элементы алгебры логики
- •Основные законы алгебры логики и формы логических функций
- •Синтез логических схем
- •Принципы построения современных эвм
- •Системы команд и методы адресации, применяемые в эвм
- •Постоянная память
- •Логическая организация оперативной памяти
- •Кэширование оперативной памяти
Глава 1. Принципы построения современных эвм.
Краткая история развития и понятие архитектуры современных вычислительных машин
Сейчас трудно представить себе то время, когда электронные вычислительные машины (ЭВМ) не имели столь широкого распространения и были доступны лишь программистам и персоналу, обслуживающему их. Между тем, история развития вычислительной техники насчитывает немногим более шестидесяти лет. Несмотря на столь небольшой по историческим меркам срок сменилось несколько поколений электронных вычислительных устройств. ЭВМ первого поколения создавались на электровакуумных лампах и строились до 1955 г. Далее, с появлением полупроводниковых диодов и транзисторов, стали создаваться ЭВМ на базе этих приборов, и, с этого момента, стали говорить о втором поколении вычислительных машин. С 1965 г. началось серийное производство систем на интегральных микросхемах, и речь пошла об ЭВМ третьего поколения. К подобным ЭВМ относят семейство IBM/360 (IBM/370), PDP-11, отечественные аналоги данных машин: семейства ЕС ЭВМ (ЕС-1030, ЕС-1045 и т.д.) и СМ ЭВМ (CM-4, СМ-1420).
С 1980 г., то есть с момента начала массового производства устройств, созданных на базе микропроцессоров, речь пошла об ЭВМ четвертого поколения, то есть о вычислительных системах, построенных на сверхбольших интегральных схемах. Все современные вычислительные машины как персональные, так и суперкомпьютеры принято относить к этому поколению.
Заметим, что первоначально выпускавшиеся даже одним производителем различные ЭВМ, например IBM-7094 и IBM-1401 или отечественные Минск-32, Мир-2, БЭСМ, были несовместимы друг с другом, то есть программы, написанные для реализации на одной машине, нельзя было использовать без существенных переделок на другой. Различные ЭВМ выпускались для решения разных классов задач. К концу 50-х годов в компании IBM пришли к выводу, что производство семейства компьютеров, каждый из которых выполняет одни и те же команды, имеет много преимуществ и для самой компании, и для пользователей. Чтобы описать этот уровень совместимости, компания IBM ввела термин архитектура. Новое семейство компьютеров должно было иметь одну общую архитектуру: различные модели, различающихся по цене и быстродействию могли выполнять одну и ту же программу. Первым таким семейством стала серия ЭВМ IBM/360, предназначенная как для научных, так и для коммерческих расчетов. Это было целое семейство компьютеров с одним и тем же языком (ассемблером). Каждая новая модель была больше по размеру и по мощности, чем предыдущая. Модель 75 была больше по размеру, чем модель 30, работала быстрее и стоила дороже, но программы, написанные для одной из них, могли использоваться и на другой.
На практике программы, написанные для менее мощной модели, выполнялись более мощной без особых затруднений, правда, в случае переноса программного обеспечения со старшей модели на младшую могло не хватить памяти. И все, же создание такой серии стало большим достижением. Следует отметить, что в IBM/360 было введено важное новшество — мультизадачность, то есть одновременное выполнение нескольких программ. В дальнейшем по этому же пути пошли и другие разработчики вычислительных систем, и, прежде всего, фирма DEC (семейство мини-ЭВМ VAX).С 80-х годов прошлого века, в связи с массовым производством IBM PC-совместимых персональных компьютеров, понятие архитектура компьютера или архитектура вычислительных систем стало неотделимо от самих компьютеров, или создаваемых на их базе вычислительных систем.
Понятие информации
Несмотря на достаточно широкое распространение термина «информация» до сих пор нет общепринятого определения этого понятия. Понятие информации тесно связано с понятием системы. Согласно системному подходу система представляет собой объект (несколько объектов) находящийся в материальной среде и взаимодействующий с ней. При этом под информацией понимается некоторый продукт отражения системой окружающей среды, или продукт отражения системой самой себя. В ходе взаимодействия объекта со средой в нем происходят изменения, и он становится источником информации либо об окружающей среде, либо о протекающих в нем самом процессах. Сама информация не имеет материальной природы, однако она переносится с помощью материальных носителей, в качестве которых, может выступать любое состояние материи – вещество, поле и т.д. Передача информации присуща всем явлениям природы. В естественных неживых системах она является пассивным отражением протекающих в них процессах. Однако, в искусственных системах, именно она становится причиной их функционирования, в соответствии с их назначением. Без передачи и обработки информации системой невозможно представить ни одну систему, созданную человеком. С этой точки зрения компьютер представляет собой устройство для обработки информации, в отличие от орудий труда и двигателей, являющихся устройствами для обработки вещества и энергии соответственно.
Основоположник теории информации К. Шенннон писал, что основная идея теории информации состоит в том, что с информацией можно обращаться почти также, как с физическими величинами, такими как масса или энергия []. Однако «почти так же» не означает «точно так же». Действительно для характеристики «транспортной» способности электрического тока произвольной формы при переносе им вещества, например при электролизе, является его среднее значение
При использовании того же тока для
транспортировки «энергии» его оценка
будет непригодна, поскольку, например,
для синусоидальной формы переменного
тока, используемой во всех энергетических
сетях, его среднее значение равно нулю,
а энергия все же доставляется потребителям.
Поэтому в этом случае количество
переносимой энергии обусловлено
действующим значением этого тока и
описывается следующим функционалом
Н. Винер
отмечал, что «информация есть информация,
а не вещество и не энергия». Поэтому
можно предположить, что для характеристики
процессов транспортировки
информации необходим функционал другого
вида. Анализ процессов передачи
сигналов и дезинформационного действия
случайных помех привел К. Шеннона к
выводу, что вносимая помехой
дезинформация определяется не только
её мощностью, но и зависит от вида
закона распределения вероятности этой
помехи. Этот вывод К. Шеннон сформулировал
в виде теоремы, которая утверждает, что
если помеха в вероятностном смысле
не зависит от сигнала, то независимо от
закона распределения и мощности
сигнала дезинформационное действие
помехи определяется ее энтропией
Где,
-
закон распределения вероятности
случайной помехи
.
Из этой теоремы видно, что
дезинформационное действие помехи
также описывается функционалом,
однако его вид отличается от двух
предыдущих.
Простейшим законом распределения
вероятности является равномерный закон,
при котором любое значение случайной
величины из интервала
может появляться с одинаковой
вероятностью. Дискретным аналогом
закона распределения вероятности
является частота появления того или
иного значения дискретной величины в
опыте. Например, при бросании обычного
шестигранного игрального кубика,
вероятности появления каждой грани
кубика при очередном броске одинаковы
и равны 1/6. Этот пример показывает
дискретный аналог равномерного закона
распределения вероятности.
Количество видов законов распределения случайных величин, отличных от равномерного, бесконечно велико. Среди законов распределения следует отметить нормальный закон или закон распределения Гаусса, описывающий случайные величины вероятность появления определенного центрального значения которых максимальна, а вероятности появления других значений плавно спадают – чем дальше отстоит значение от центрального, тем меньше вероятность его появления. По нормальному закону распределены, например величины ошибки при стрельбе по мишени.
Предложенная Шенноном энтропия выступает как численная мера неопределенности, остающаяся после проведения того или иного опыта, после передачи сигнала, после некоторых измерений и т.д. Шеннон предложил также определять количество информации переданное сигналом как разность энтропий сигнала до передачи и после его приема или, в случае измерений какой либо величины как разность энтропий этой величины до и после измерений. Например, до открытия книги неизвестно, какая буква окажется первой на странице. Однако, открыв книгу на некоторой странице, эта буква уже известна. Мы знаем, что напряжение в электрической сети должно быть около 220 вольт, после его измерения вольтметром мы будем знать, чему оно равно на самом деле с точностью, определяемой точностью прибора.
Итак, количество информации
определяется как разность энтропий
,
где
- энтропия сигнала до передачи (измерения),
- энтропия сигнала после передачи
(измерения), при условии, что переданный
(измеренный) сигнал принял значение
.
Рассмотрим пример определения количества
информации, полученной в результате
измерения некоторой физической величины
с помощью прибора. Пусть известно, что
эта измеряемая величина распределена
равномерно в пределах от
до
.
Прибор может измерять эту величину с
точностью
.
Будем считать, что ошибка при измерениях
— это случайная величина с равномерным
законом распределения. В этом случае
законы распределения для измеряемой
величины до и после измерения будут
Вычислим энтропию до измерения
Аналогично получим энтропию после измерения
Тогда в результате измерения получили следующее количество информации
Здесь
-
количество различимых градаций сигнала
или, по количество возможных состояний
сигнала. Можно показать, что это
соотношение справедливо и для любых
других законов распределения.
Таким образом, информация это мера уменьшения неопределенности, вычисляемая как логарифм от числа возможных состояний сигнала.
В примере с книгой и первой буквой на
странице, в случае русского алфавита
мы получаем информацию при открытии
книги равную
.
Рассмотрим двоичную величину, принимающую
значение либо 0, либо 1. Число состояний
этой величины равно 2, поэтому в тот
момент, когда она примет конкретное
значение будет получена информация
равная
.
Основание логарифма не имеет значения, оно показывает в каких единицах измеряется информация.
Основание логарифма |
Единица измерения |
2 |
Бит |
10 |
Дит |
|
Нит |
Поскольку число состояний величины целое число, то минимальная двоичная единица информации составляет 1 бит.
При таком подходе к измерению информации, можно сделать вывод, что постоянная величина не несет никакой информации, поскольку они уже известны. Это хорошо согласуется логарифмом числа состояний. Так как у постоянной величины состояние всего одно, то и логарифм от единицы равен нулю и следовательно информация равна нулю.
Позиционные системы счисления
В ЭВМ арифметические действия производятся над числами, представленными в виде специальных (машинных) кодов, в принятой для данной машины позиционной системе счисления, под которой понимается способ наименования и изображения чисел с помощью символов, имеющих определенные количественные значения—цифр. В зависимости от способа изображения чисел с помощью цифр системы счисления делятся на позиционные и непозиционные. Позиционной называется система счисления, в которой количественное значение каждой цифры зависит от ее места (позиции) в числе. Примером такой системы может служить общепринятая десятичная система счисления. В непозиционной системе счисления цифры не меняют своего количественного значения при изменении положения в записи числа, как, например, в римской системе счисления.
В позиционной системе счисления любое
число записывается в виде последовательности
цифр:
Позиции, пронумерованные индексами,
называются разрядами числа. Сумма
равна количеству разрядов числа,
— число разрядов целой, а
—
число разрядов дробной части. Каждая
цифра может принимать одно из некоторого
количества
возможных значений, то есть
Количество
различных цифр, применяемых для
изображения чисел в позиционной системе
счисления, называется основанием системы
счисления. В позиционной системе
счисления любое число можно представить
в виде суммы:
Основание позиционной системы счисления определяет ее название. Исторически так сложилось, что именно десятичная система оказалась общепринятой, но для ЭВМ удобнее использовать другие системы счисления (например, двоичная, восьмеричная и шестнадцатеричная с основаниями два, восемь и шестнадцать). Для записи чисел в двоичной системе счисления используются только две цифры: 0 и 1, в восьмеричной системе — восемь: 0, 1, 2, 3, 4, 5, 6, 7, а в шестнадцатеричной — шестнадцать: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F. В ЭВМ наиболее просто реализуются процессы выполнения арифметических и логических операций над числами, представляемыми в двоичной системе счисления. Это объясняется следующими факторами. Во-первых, для представления двоичных чисел в машинах можно использовать достаточно простые и надежные электронные элементы, имеющие лишь два устойчивых состояния. Одно из таких состояний принимается соответствующим коду 1, а другое - 0. Во-вторых, в двоичной системе счисления очень просто выполняются арифметические и логические операции над числами. Неудобство заключается в необходимости перевода данных, представляемых обычно в десятичной системе, в двоичную систему счисления.
При переводе смешанное число разбивается на целую и дробную части. Перевод целой часть производится путем последовательного деления целой части и образующихся целых частных на основание новой системы счисления, до получения в частном единицы. При переводе целой части, полученные в результате последовательного деления, остатки являются цифрами младших разрядов целой части числа в новой системе счисления, записанные цифрами исходной системы счисления. Последний неравный нулю остаток (последнее частное равное 1) является старшей цифрой переведенного числа.
При переводе дробной части производится последовательное умножение дробной части исходного числа и дробных частей получившихся произведений. При переводе дробной части числа целые части, получающиеся при каждом умножении, не участвуют в последующих умножениях. Эти целые части представляют собой цифры дробной части исходного числа в новой системе. Значение первой целой части является первой цифрой после запятой переведенного числа. Рассмотрим перевод в двоичную систему десятичного числа 29,6. Переводим целую часть:
Окончательный результата имеет вид:
.
Далее переведем дробную часть:
Получаем периодическую двоичную дробь:
Обратный перевод осуществляется по
следующему алгоритму:
Для автоматического перевода десятичных
чисел в двоичную систему счисления
необходимо сначала ввести в ЭВМ эти
десятичные числа, то есть представить
их с помощью комбинаций состояний
двухпозиционных элементов, из которых
построена вычислительная машина. Для
этой цели используется двоично-десятичная
запись (кодирование) чисел. При
двоично-десятичной записи каждая цифра
десятичного числа заменяется
четырехразрядным двоичным числом
(тетрадой). Например, десятичное число
610 в двоично-десятичной записи имеет
вид:
Перевод
двоично-десятичного числа в двоичную
систему счисления осуществляется по
следующему правилу, проиллюстрированному
на следующем примере:
Для обработки экономической информации
предусматривается возможность выполнения
операций непосредственно в десятичной
системе счисления над числами,
представленными в двоично-десятичной
форме. В современных компьютерах широко
используется шестнадцатеричная система
счисления, позволяющая делать еще более
компактные записи двоичных кодов, что
очень важно, так как диапазоны разрядности
чисел, команд и специальных двоичных
слов, которыми оперируют эти компьютеры,
стали значительно шире. Кроме того, в
качестве основной единицы информации
используется восьмиразрядный двоичный
код-байт. Переменные разрядности чисел
и команд устанавливаются кратными
байту. Двоичные коды байтов удобно
представляются двухразрядными
шестнадцатеричными числами. Поэтому
при подготовке к вводу в эти компьютеры
программ, различных специальных слов
и при печати выдаваемой информации, не
переводимой в десятичную систему,
используется шестнадцатеричная система
счисления. При переводе в шестнадцатеричную
систему счисления двоичные числа
разбиваются влево и вправо от запятой
на тетрады, а при обратном переводе
каждая шестнадцатеричная цифра
заменяется двоичной тетрадой. Например,
двоичному числу
соответствует шестнадцатеричное число
AC7F и
наоборот.