Архитектура ЭВМ. Курс лекций Томск 2013 2 Оглавление
Скачать 1.9 Mb.
|
Министерство образования Российской Федерации Томский государственный университет Факультет инновационных технологий М.Н.Головчинер ВВЕДЕНИЕ В АРХИТЕКТУРУ ЭВМ Курс лекций Томск - 2013 2 Оглавление 1. ВВЕДЕНИЕ ................................................................................................................................ 4 1.1. История развития ЭВМ .................................................................................................... 4 1.2. Принципы фон-Неймана .................................................................................................. 5 2. СИСТЕМЫ СЧИСЛЕНИЯ ........................................................................................................ 5 2.1. Виды систем счисления. Позиционные системы .......................................................... 5 2.2. Двоичная арифметика ...................................................................................................... 7 2.3. Восьмеричная и шестнадцатеричная системы счисления ............................................ 9 2.4. Перевод чисел из одной системы счисления в другую ............................................... 10 2.5. Формы представления чисел в ЭВМ ............................................................................ 12 2.6. Сложение и вычитание в ЭВМ ...................................................................................... 13 3. БАЗОВЫЕ ФУНКЦИОНАЛЬНЫЕ ЭЛЕМЕНТЫ ЭВМ .................................................... 17 3.1. Вентили, последовательностные логические схемы ................................................... 17 3.2. Комбинационные схемы, понятие об интегральной схеме ........................................ 21 4. ОБЩАЯ ОРГАНИЗАЦИЯ ЭВМ .......................................................................................... 26 4.1. Понятие архитектуры ЭВМ ........................................................................................... 26 4.2 Обобщенная структурно-функциональная схема ЭВМ ............................................... 27 5. ПРОЦЕССОР ......................................................................................................................... 29 5.1. Команда ЭВМ ................................................................................................................. 29 5.2. Общая структура процессора ........................................................................................ 30 6. ПОДСИСТЕМА ПАМЯТИ ................................................................................................... 34 6. 1. Структура и характеристики памяти ........................................................................... 34 6.2. Классы запоминающих устройств ................................................................................ 35 6.2.1. Оперативное запоминающее устройство ............................................................... 36 6.2.2. Постоянное запоминающее устройство ................................................................. 37 6.2.3. Стековая память ....................................................................................................... 37 6.2.4. Ассоциативные запоминающие устройства .......................................................... 41 6.2.5. Кэш-память ............................................................................................................... 42 7. ПОДСИСТЕМА УПРАВЛЕНИЯ ......................................................................................... 47 7.1. Основные функции и состав устройства управления ................................................. 47 7.2. Принципы функционирования ...................................................................................... 49 7.3. Понятие микропрограммирования ................................................................................ 51 8. УПРАВЛЕНИЕ ВВОДОМ-ВЫВОДОМ ............................................................................. 52 8.1. Системная магистраль "Общая шина". Контроллеры внешних устройств и уровни сопряжения ............................................................................................................................... 52 8.2. Управление магистралью "Общая шина" ..................................................................... 55 8.3. Программно-управляемая передача информации ....................................................... 57 9. СИСТЕМА ПРЕРЫВАНИЙ ................................................................................................. 58 9.1. Основные понятия. Типы прерываний ......................................................................... 58 3 9.2 Общая организация прерываний .................................................................................... 59 9.3 Организация системы прерываний с использованием векторов прерываний ........ 60 9.4 Организация прямого доступа к памяти ....................................................................... 61 10. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА ЭВМ ........................................................................... 63 10.1. Схема взаимодействия устройств в ЭВМ. Операции обмена информацией .......... 63 10.2. Назначение и классификация периферийных (внешних) устройств ....................... 64 10.3. Внешние запоминающие устройства большой емкости ........................................... 65 10. 3.1. Накопители с жесткими магнитными дисками. ................................................. 65 10.3.2. Оптические диски .................................................................................................. 71 10.3.3. Flash-память ............................................................................................................ 72 10.3.4. Стримеры ................................................................................................................ 74 10.4. Средства ввода-вывода информации .......................................................................... 74 10.4.1. Устройства ввода ................................................................................................... 76 10.4.2. Устройства вывода ................................................................................................. 84 10.4.3. Устройства обмена данными (средства телекоммуникации) .......................... 105 11. Устройство персонального компьютера ......................................................................... 105 11.1. Состав компьютера ..................................................................................................... 106 11.2. Контроллеры и адаптеры. Общий состав устройств ............................................... 106 4 1. ВВЕДЕНИЕ 1.1. История развития ЭВМ Этапными в появлении и развитии вычислительной техники можно считать следующие даты: 1623 г. Вильгельм Шиккард создает первую из известных в настоящее время счетных машин, включающую механизмы выполнения операций "+" и "-". 1641 г. Выдающийся математик Блез Паскаль создает счетную машину, автоматизирующую выполнение операций "+" и "-". Идеи Паскаля оказали очень мощное влияние на дальнейшее развитие вычислительной техники. 1673 г. Великий Готфрид Лейбниц создает счетную машину (калькулятор, прототип арифмометра), реализующую операции "+", "-", "x", ":". 1821 г. Выпуск Карлом Томасом на основании идей Лейбница устройства, названного им арифмометром. С этого времени началось практическое применение вычислительных устройств. На протяжении XIXв. было создано много конструкций счетных машин, повысилась точность и надежность их работы, удобство общения. Возникли идеи фиксации результатов счета путем выдачи их на печать, появилась клавиатура, кнопки гашения результатов и т.п. Принципиально же новые концепции связаны с именем крупного английского математика Чарльза Бэбиджа. Эти концепции предвосхитили основные идеи в создании современных вычислительных машин. "Аналитическая" машина Бэбиджа должна была состоять из следующих основных блоков: • Устройство для хранения чисел на регистрах из зубчатых колес, включающее систему передачи этих чисел от одного узла машины к другому ("склад"). • Устройство для осуществления арифметических операций над числами, взятыми со "склада" ("фабрика"). • Устройство для управления последовательностью действий машины ("контора"). • Устройства для ввода исходных данных и вывода результатов на печать. Все устройства в машине Бэбиджа были задуманы как чисто механическими, с использованием перфокарт, которые изобрел и в 1804 г. впервые применил Жозеф Мари Жаккар для управления ткацким станком. Следует отметить, что отцом счетно-перфорационной техники, непосредственно предшествующей современным машинам, является Герман Холлерит. В 1896 г. Холлерит основал фирму по выпуску перфокарт и счетно-перфорационной техники - IBM (International Business Machine). Перфокарты предназначались в машине Бэбиджа для задания типа операций, выборки из "склада" чисел, над которыми необходимо произвести действие, в "фабрику" и, соответственно, обратного переноса результата выполнения операции. Посредством перфокарт Бэбидж предполагал управлять и специальными устройствами ввода данных и вывода результатов. Карты программы (последовательности перфокарт с указанными операциями), в зависимости от знака результата на арифметическом устройстве, могли двигаться вперед и назад, и тем самым открывалась возможность менять программу в зависимости от результатов вычислений. Это - главное отличительное свойство универсальных вычислительных машин от других вычислительных устройств. Именно это гениальное открытие Бэбиджа дало возможность использовать вычислительные машины как инструмент аналитических исследований. Таким образом, Бэбидж предвосхитил идею и принципы организации программно-управляемой автоматической машины, предназначенной для выполнения различных вычислений. 5 Работа Бэбиджа была доведена до инженерного проекта, однако технический уровень не позволил осуществить ее реализацию. С аналитической машиной Бэбиджа связано и зарождение программирования. Прекрасный математик, дочь великого поэта лорда Байрона леди Ада Лавлайс исследовала возможность использования аналитической машины для выполнения сложных вычислений, то есть в современной терминологии проанализировала и разработала первые программы, доказав универсальные возможности вычислительных машин. Замечание. В честь леди Лавлайс один из известных языков программирования назван «Ада». Труды Бэбиджа были опубликованы после его смерти в 1888 г. и забыты. А первые универсальные цифровые вычислительные машины (ЦВМ), в основу разработки которых легли идей Ч.Бэбиджа, были созданы в 30-40-х годах XX столетия. 1.2. Принципы фон-Неймана Анализ сильных и слабых сторон первых ЦВМ позволил коллективу исследователей, в состав которого входил выдающийся математик Джон фон-Нейман, сформулировать основные концепции организации электронных ЦВМ. Поскольку впервые публично официально эти идеи озвучил лично фон-Нейман, ЦВМ, созданные на основе этих принципов, часто называют машинами фон-Неймана. Перечень основных принципов фон-Неймана включает: 1. Необходимость использования двоичной системы счисления для представления информации в ЦВМ. 2. Наличие единого запоминающего устройства ("склада") с последовательно нумеруемыми ячейками. 3. Отсутствие явного различия между командами и данными (принцип "хранимой программы"). 4. Строго последовательное выполнение команд (операций) программы. 5. Назначение данных (их смысл, семантика) не является их составной частью, а определяется только логикой программы, их обрабатывающей. Заметим, что перечисленные принципы являются основными и далеко не исчерпывают всех предложений фон-Неймана. Разработка ЦВМ на основе элементов с двумя устойчивыми состояниями дала возможность широкого применения для построения электронных схем аппарата двоичной (бинарной) логики, разработанной в середине Х1Хв. английским математиком Джорджем Булем. Алгебра логики нашла свое применение и в области программирования (например, разработка алгоритмов). Принцип "хранимой программы" позволяет оперировать с закодированной в двоичном виде программой как с числами, что дает возможность ее модифицировать во время выполнения. Все эти концепции и совершенствование технологии привели к созданию в конце 40-х - начале 50-х годов XX в. первого поколения серийных электронно-вычислительных машин (ЭВМ). 2. СИСТЕМЫ СЧИСЛЕНИЯ 2.1. Виды систем счисления. Позиционные системы Системой счисления называется совокупность приемов и правил для наименования и обозначения чисел. Условные знаки, применяемые для обозначения чисел, называются цифрами . Будем предполагать, что количество цифр, то есть алфавит, на основе которого составляются числа в некоторой системе счисления, конечно. 6 Пусть S - некоторое целое число, большее единицы, которое будем называть основанием системы счисления. Выберем S попарно различных знаков - S-ичных цифр. Выберем, кроме того, S последовательных целых чисел, среди которых содержится нуль. Эту последовательность чисел будем называть базой системы счисления. Между S-ичными цифрами и числами базы установим взаимно- однозначное соответствие. Обычно все системы счисления разбивают на два класса: непозиционные и позиционные. Непозиционной называют систему счисления, в которой значение каждой цифры в любом месте последовательности цифр, означающей запись числа, не изменяется. Примером непозиционной системы счисления служит римская нумерация. Системы, в которых значение каждой цифры зависит и от места в последовательности цифр при записи числа, носят название позиционных. Позиционной является самая распространенная десятичная система счисления. Далее в тексте рассматриваются только позиционные системы счисления. В позиционной системе счисления число записывают в виде последовательности S-ичных цифр, которая разделена запятой на две последовательности. Запись числа может иметь вид: A n A n-1 …A 1 A 0 ,A -1 …A -m , ( * ) где A i (i=n, …, -m) – S-ичные цифры. Считается, что позиции, на которых в последовательности (*) стоят цифры, перенумерованы: • позиции, расположенные левее запятой, перенумерованы подряд справа налево числами нуль, один, два и т.д.; • позиции, расположенные справа от запятой, перенумерованы подряд слева направо с помощью чисел минус один, минус два и т.д. Эти перенумерованные позиции называются S-ичными разрядами числа. Каждой цифре последовательности (*) приписано определенное значение. Цифра, стоящая в нулевом разряде, имеет своим значением соответствующее ей число базы. Цифра, стоящая в некотором разряде, имеет значение, в S раз большее того, которое она имела бы в разряде с номером, меньшим на единицу (или значение, в S раз меньшее того, которое она имела бы в разряде с номером, большим на единицу). Последовательность S-ичных цифр обозначает число, равное сумме значений ее цифр, таким образом, в соответствии со сказанным, последовательность S-ичных цифр (*) обозначает число A n S n + A n-1 S n-1 + …+ A 1 S 1 + A 0 S 0 + A -1 S -1 +…+ A -m S -m (**) В дальнейшем вместо слов "запись числа" будем говорить просто "число". Последовательность цифр числа, расположенных слева от запятой, представляет целую часть числа. Последовательность, которая получится, если целую часть числа заменить нулем, называется его дробной частью. Сложение, вычитание, умножение и деление чисел, представленных в S-ичной позиционной системе, выполняются с использованием таблиц сложения, вычитания и умножения, подобно тому, как это делают в десятичной системе счисления. Отметим, что умножение числа на основание системы S, как это следует из формулы (**), сводится к переносу запятой на один разряд вправо, а деление на S - к переносу запятой на один разряд влево. Ниже рассматриваются важнейшие, наряду с десятичной, позиционные системы счисления, используемые при подготовке и решении задач на ЭВМ. 7 2.2. Двоичная арифметика Будем рассматривать двоичную систему счисления с цифрами {0,1}. Именно эта система счисления получила широкое применение в вычислительных машинах Ниже приводятся правила выполнения арифметических операций с двоичными числами. Сложение. Таблица сложения имеет вид: Последняя сумма представляет собой двузначное число. Это следует понимать как перенос одной двоичной единицы в соседний старший разряд. Это можно записать так: 1 + 1= 0 + перенос единицы в соседний старший разряд. Пример. Сложить двоичные числа (Х) 2 = 110,1011 и (Y) 2 = 10111,10101. По правилам сложения столбиком имеем: Вычитание. Таблица вычитания имеет вид При необходимости, когда в некотором разряде приходится вычитать единицу из нуля, занимается единица из ближайшего старшего разряда, где она имеется. Пример. Вычесть из (Х) 2 = 11010,1011 число (Y) 2 = 1101,01111 Имеем: Умножение. Таблица умножения имеет очевидный вид 0 х 0 = 0 0 х 1 = 0 1 х 0 = 0 1 х 1 = 1 11010,1011 1101,01111 1101,00111 — 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 10 – 1 = 1 110,1011 10111,10101 10001,00011 - поразрядная сумма без учета переносов 11 1 1 - переносы 11100,01011 - поразрядная сумма без учета повторных переносов 1 - повторные переносы 11110,01011 - окончательная сумма + + + 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 8 Умножение двух двоичных чисел выполняется так же, как и умножение десятичных. Сначала получают частичные произведения и затем их суммируют с учетом веса соответствующего разряда множителя. Умножение производится, начиная с младшего или старшего разряда множителя, что и определяет направление сдвига. Если сомножители имеют дробные части, то положение запятой в произведении определяется по тем же правилам, что и для десятичных чисел. Пример. Перемножить двоичные числа (X) 2 = 101,1101 и (Y) 2 = 1001,101 Имеем: Искомый результат 110111,1111001 На примере наглядно иллюстрируется отличительная особенность умножения в двоичной системе счисления – это его простота, обусловленная простотой таблицы умножения. В соответствии с ней, каждое частичное произведение или равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов, если в соответствующем разряде множителя стоит единица. Таким образом, операция умножения в двоичной системе сводится к операциям сдвига и сложения. Очевидно, что тот же результат получится, если начать умножение со старших разрядов множителя. |