Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
27
Добавлен:
23.11.2019
Размер:
6.47 Mб
Скачать

Раздел 1. Введение 2

Раздел 2. Системы счисления и представление данных 3

Тема 2.1. Числа конечной точности 3

Тема 2.2. Системы счисления 5

Тема 2.3. Преобразование чисел из одной системы счисления в другую 9

Тема 2.4. Двоичная арифметика 14

Тема 2.5. Числа с плавающей точкой 18

Раздел 3. Организация компьютерных систем 26

Тема 3.1. Архитектура и структура вычислительных машин 26

Тема 3.2. Организация памяти вычислительных машин 33

Раздел 4. Цифровой логический уровень 39

Тема 4.1. Вентили и булева алгебра 39

Тема 4.2. Основные цифровые логические схемы 48

Тема 4.3. Память 58

Тема 4.4. ОЗУ и ПЗУ 66

Раздел 5. Микроархитектурный уровень 70

Тема 5.1. Пример микроархитектуры: организация 70

Тема 5.2. Пример микроархитектуры: управление микрокомандами 78

Раздел 6. Уровень архитектуры команд 92

Тема 6.1. Уровень команд процессора Pentium II 92

Тема 6.2. Регистры 93

Тема 6.3. Выравнивание адресов 97

Тема 6.4. Форматы команд 99

Тема 6.5. Адресация 104

Тема 6.6. Команды процессора Pentium II 107

Раздел 7. Уровень языка ассемблера 113

Тема 7.1. Формат оператора в языке ассемблера 114

Тема 7.2. Директивы 116

Тема 7.3. Макросы 119

Тема 7.4. Процесс ассемблирования 121

Раздел 8. Архитектуры компьютеров параллельного действия 124

Тема 8.1. Организация конвейерных и параллельных вычислений 124

Тема 8.2. Классификация вычислительных платформ, типы процессоров 129

  1. Введение

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

  • в разделе 1 – о представлении данных в компьютерах, а также Вы узнаете о системах счисления;

  • раздел 2 знакомит Вас с основными компонентами компьютера: процессорами, памятью, устройствами ввода-вывода. В ней также дается краткое описание архитектуры компьютера;

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

  • раздел 4 познакомит Вас со строением микроархитектурного уровня и принципами его работы;

  • в разделе 5 обсуждается уровень архитектуры команд, которые многие называют машинным языком. В качестве примера, здесь будет рассмотрена архитектура команд процессора Pentium II;

  • раздел 6 – об уровне языка ассемблера, сюда относится и сам язык, и процесс ассемблирования;

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

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

Итак, в путь!!!

  1. Системы счисления и представление данных

    1. Числа конечной точности

В результате изучения данной темы Вы будете:

  • понимать особенности машинной арифметики;

  • знать ограничения и недостатки машинной арифметики.

Когда люди выполняют какие-либо арифметические действия, их не волнует во­прос, насколько длинным будет то или иное число. Физики, к приме­ру, могут вычислить, что во вселенной присутствует 1078 электронов, и их не вол­нует тот факт, что полная запись этого числа потребует 79 цифр.

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

Рассмотрим ряд положительных целых чисел, которые можно записать тремя цифрами (тремя разрядами) без десятичной запятой и без знака. В этот ряд входит ровно 1000 чисел: 000, 001, 002, 003,..., 999. При таком ограничении невозможно выразить определенные типы чисел, например:

  1. Числа больше 999.

  2. Отрицательные числа.

  3. Дроби.

  4. Иррациональные числа.

  5. Комплексные числа.

Одно из свойств набора всех целых чисел – замкнутость по отношению к опе­рациям сложения, вычитания и умножения. Другими словами, для каждой пары целых чисел i и j, числа i+j, i-j и i×j – тоже целые числа, например:

1+2=3;

11-7=4;

10*12=120.

Ряд целых чисел не замк­нут относительно деления, поскольку существуют такие значения i и j, для кото­рых i/j не выражается в виде целого числа, например:

7/2 = 3,5;

1/0 = .

Числа же конечной точности не замкнуты относительно всех четырех опера­ций. Ниже приведены примеры операций над трехразрядными числами:

600+600 = 1200 (слишком большое число);

003-005 = -2 (отрицательное число);

050×050 = 2500 (слишком большое число);

007/002 = 3,5 (не целое число).

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

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

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

Из четырех примеров, приведенных выше, первые три относятся к первому классу, а четвертый – ко второму классу.

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

a+(b-c) = (a+b)-c

Вычислим обе части выражения для a=700, b=400 и c=300. В левой части сна­чала вычислим значение (b-с), оно равно 100. Затем прибавим это число к а и получим 800. Чтобы вычислить правую часть, сначала вычислим (а+b).

Для трехразрядных целых чисел получится переполнение. Результат будет за­висеть от компьютера, но он не будет равен 1100. Вычитание 300 из какого-то чис­ла, отличного от 1100, не даст результата 800. Ассоциативный закон не имеет силы.

Другой пример – дистрибутивный закон:

а×(b-с) = a×b-a×с

Сосчитаем обе части выражения для а=5, b=210 и с=195. В левой части 5×15=75. В правой части 75 не получается, поскольку a×b выходит за пределы ряда.

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

Подведем итоги

  • память компьютеров ограничена, поэтому в них использую числа с ограниченным количеством разрядов – числа конечной точности;

  • при операциях с числами конечной точности возможны отклонения двух видов: ошибки переполнения и ошибки из-за потери значимости.

Вопросы для самоконтроля

  1. Вспомните особенности и ограничения представления чисел в компьютере. Можно ли сохранить в компьютере любое вещественное число?

  2. Можно ли утверждать, что машинная арифметика строго соответствует классической математике? Чем это обусловлено? Приведите примеры.

  3. Назовите основные классы отклонений машинной арифметики.

  4. Всегда ли выполняются законы алгебры с числами конечной точности? Объясните почему.