Лекции ВМСС (Лекции ВМСС)

Посмотреть архив целиком

Исторический очерк 3

Развитие архитектуры машин 2-го и 3-го поколений 4

Машины 2-го поколения 4

Машины 3-го поколения 4

Основы машинной арифметики 5

Представление чисел в ЭВМ 5

Прямой, дополнительный и обратный коды 6

Выполнение операций над числами с фиксированной точкой 6

Выполнение операций над числами с плавающей точкой 6

Машина фон Неймана 7

Архитектура ЭВМ фон Неймановского типа 8

Элементы ЭВМ 9

Представление информации физическими сигналами 9

Системы элементов 9

Запоминающие элементы 9

Узлы ЭВМ 11

Арифметико-логическое устройство 13

Запоминающие устройства 13

Электронные запоминающие устройства 13

ЗУ с произвольным доступом (RAM) 14

Динамические RAM 14

ЗУ с ограниченным доступом 14

Flash-память 15

Агрегирование ЗУ 15

Ассоциативные ЗУ 15

Внешние запоминающие устройства 16

Устройства с вращательным движением носителя 16

Накопители с линейным движением 17

Формирование управляющих сигналов 17

Жесткая логика 17

Микропрограммирование 18

Компактное представление микрокоманд 19

Устройства ввода-вывода 19

Классификация устройств ввода/вывода 19

Интерфейсы ввода/вывода 19

RS232 20

Centronics 21

SCSI 22

USB 22

Интерфейс ввода/вывода ЕС ЭВМ 22

Системы обмена 23

Обмен по опросу 23

Обмен по прерываниям 24

Прямой доступ к памяти 25

Процессоры ввода/вывода 25

Система прерывания программ 26

Виртуальная память 27

Cтраничная виртуальная память 27

Сегментная виртуальная память 29

Сегментно-страничная виртуальная память 29

Архитектура процессоров 30

Классификация 30

По способу запоминания промежуточных результатов вычислений: 30

По архитектурным средствам адресной арифметики 30

По форматам данных 31

Особенности архитектуры семейства ЕС ЭВМ 31

Особенности архитектуры PDP-11 32

Особенности архитектуры Intel 80x86 32

Особенности архитектуры RISC-процессоров 33

Режимы работы ЭВМ 34

Системы контроля 35

Общие принципы 35

Аппаратурный контроль 36

Программный контроль 36

Структурные методы повышения производительности 36

Повышение быстродействия основной памяти 36

Секционирование памяти 36

Включение в состав процессора сверхоперативной памяти 37

Повышение быстродействия процессора 37

Конвейерная схема 38

Схема асинхронного конвейера на примере БЭСМ-6 38

Типовая структура векторной супер-ЭВМ 38

Многопроцессорные и многомашинные системы 39

Многопроцессорные системы 39

Многомашинные системы 40

Сети 40

Классификация сетей 40

Стандарты IEEE 802 40

Метод доступа с контролем несущей и обнаружением коллизий (Ethernet) 40

Маркерная шина (Token bus, ArcNet) 41

Маркерное кольцо (Token Ring) 41

Аппаратная поддержка 41

Ethernet 41

ArcNet 42

Коммуникация в сетях 42

Уровневые протоколы 42

Адресация в сетях TCP/IP 43

Маршрутизация в сетях TCP/IP 43



Исторический очерк

1-й конструктор вычислительных машин – Чарльз Бэббидж.

1-й программист-женщина – Ада Байрон.

Машина Бэббиджа – чисто механическая. До конца не была построена.

Реальная история вычислительной техники насчитывает чуть более 50 лет. 1-е машины введены в строй после войны. Стимул – военные нужды – задачи ПВО и разработки ядерного оружия.

1-я вычислительная машина введена в строй в 1949 г в Кембридже (Англия) – ЭДСАК. Она разрабатывалась именно в университете, хотя и по заказу и на деньги военных.

Параллельно через несколько месяцев в США запущена вычислетельная машина ЭДВАК в Принстоне. Здесь был впервые сформулированы и четко изложены принципы конструирования вычислительных машин (фон Нейманом).

Серийное производство началось в 1951 г. Доминировали 2 фирмы – Унивак и ИБМ.

В СССР разработка 1-й ЭВМ началась в 1947 г, завершилась в 1952 г. Руководил этим академик Лебедев. Была введена 1-й машина: МЭСМ.

1953 г. – вычислительная машина Стрела (конструкторское бюро Базилевского)

1953 г. – БЭСМ-1 (Лебедев)

1952 г. – М-2 (ЛЭВМ) – компактная и более надежная, чем предыдущие

Это ЭВМ 1-го поколения – ламповые ЭВМ. Основной элемент – электронная лампа.

В больших машинах было порядка 10000 ламп. Размеры, вес и потребляемая мощность были огромными.

Одно из требований к построению – мощное средство нахождения неисправностей, т.к. среднее время работы без поломки – 20-30 мин.

Эра таких машин закончилась в конце 50-х годов. Самая мощная ламповая машина – М-20.

Разрядность: команды 45 разрядов, числа 45-разрядов, емкость оперативной памяти 4096 45-разрядных слов, быстродействие 20000 операций в секунду. Единственное используемое здесь средство – библиотеки стандартных подпрограмм.

К концу этой эры появились первые средства автоматизации программ – ассемблеры и трансляторы программ на ассемблере в машинный код.

К концу 60-х годов появился первый компилятор Fortran.

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

Супер-ЭВМ 2-го поколения ИБМ 7030 Стретч – одна из самых мощных вычислительных машин середины 60-х годов. Быстродействие – 1 млн. оп. в сек., емкость памяти 128000 32-разрядных слов.

Можно было иметь и ОС и компилятор и т.д. Это время бурного развития архитектуры вычислительных машин.

Англия – Атлас (впервые реализована виртуальная память)

Франция – Гамма-60 разработана для коммерческого и делового применения, характерно наличие большого потока данных – параллельная вычислительная машина. Для нее был создан специальный яхык параллельного программирования.

СССР – БЭСМ-4 – трансисторный аналог М-20; Урал-1, -4, -11, -14, -16 – серия управляющих вычислительных машин. Впервые здесь реализована агрегатная идея построения вычислительных машин; Раздан (Ереван), Минск, Мир (Киев) – для нее программа создавалась на языке высокого уровня и компилировалась без перевода в машинный код.

Верх совершенства машин 2-го поколения – БЭСМ-6 (Лебедев).

3-е поколение: микросхемы. Транзисторы резко уменшились в размерах, на кристалле

крепятся десятки транзисторов.

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

1-й путь – семейтсв ЭВМ – ряд машин с одинаковым машинным ядром, но разной мощности (IBM system 360, от 10 оп-ций в сек до 1 млн., единая операционная система ОС360).

Но они не везде были пригодны и оставшуюся нишу заняли фирмы Hewlett Packard и DEC (PDP-11).

Появилась супер-ЭВМ Cray (разработчик Сеймур Крей)

В СССР была создана система ЕС ЭВМ – полная копия IBM360 и СМ ЭВМ (PDP-11 и HP)

4-е поколение: сверх-большие интегральные схемы (СБИС)

Появились микропроцессоры.

1-й микропроцессор – 1971 г. – Intel 4004. Intel 8008, 8086 (8088), 8087, 8089.

Это эра персональных ЭВМ. ЭВМ стали элементом быта и культуры.

Развитие архитектуры машин 2-го и 3-го поколений

Машины 2-го поколения

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

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

Характерная особенность машин – дифференциация по применени.

Стали появляться мультипрограммные системы, первые суперкомпьютеры и миникомпьютеры. Появилась пакетная обработка данных.

Особенности процессоров:

  • появление стековой архитектуры

  • применение шин

  • начало применения параллельной обработки команд, конвейера, параллельной работы нескольких программ

  • встраивание в АЛУ сверхбыстрых транзисторных регистров

  • появление новых команд для работы с регистрами

  • появление дополнительных местных устройств управления

  • появление микропрограммное управление

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

Впервые стала применяться виртульная память, ПЗУ и иерархическая система памяти.

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

Машины 3-го поколения

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

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

Быстродействие возросло до нескольких миллионов операций в секунду. Самая быстрая машина была способна выполнить 200 млн оп/с.

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

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

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

Основы машинной арифметики

Представление чисел в ЭВМ

Система счисления – способ представления (записи) чисел в некотором алфавите. Символы этого алфавита – цифры.

Позиционная система счисления – система счисления, в которой позиция цифры в записи определяет ее вес.

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

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

Известно, что любое число можно представить в виде: , где xi {0, 1} – двоичные разряды числа, m зависит от x и xm=1. В машинах числа представлены конечным набором старших разрядов.

Для представления знака числа используется 1 разряд. Если он установлен, то число считается отрицательным, иначе – положительным.

Представление целых чисел

Если под число отводится n+1 разряд, то 1 разряд (старший) является знаковым, а остальные n разрядов отводятся для двоичных разрядов числа. В таком случае все числа лежат в диапазоне –2n+1 x 2n–1.

Представление чисел с фиксированной запятой

Пусть под число отводится n+1 разряд. 1 разряд знаковый, r разрядов отводится под целую часть числа (r < n), остальные n-r разрядов отводятся под дробную часть. Диапазон представимых чисел: –2r < x < 2r.

Представление чисел с плавающей запятой

Вещественные числа представляются в виде x = m2p, где m – мантисса, 0.5 |m| < 1, p – порядок.

Пусть под число отводится n+2 разрядов. 2 разряда – знаки мантиссы и порядка, r разрядов отводится под порядок (r < n), n-r под мантиссу. Диапазон представимых чисел: . Число называется машинным нулем, - машинной бесконечностью.

Прямой, дополнительный и обратный коды

Выше рассматривался прямой код.

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

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

Обратный код отрицательных чисел получается при записи 1 в знаковый разряд и замене в остальных разрядах 0 на 1 и 1 на 0.

Для целых чисел: , для дробей <1: .

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

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

Для целых чисел: , для дробей <1: .

Справедливы следующие соотношения: для целых чисел XДК = XОК + 1, для дробей <1

XДК = XОК + 2-n.

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

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

При использовании дополнительного кода положительный и отрицательный 0 представляются одинаково, при использовании обратного – нет.

Выполнение операций над числами с фиксированной точкой

Выполняются аналогично операциям с целыми числами.

Сложение – поразрядное сложение с переносом.

Умножение – циклическое выполнение операций сложения и сдвига.

Деление – циклическое выполнение операций вычитания и сдвига.

Выполнение операций над числами с плавающей точкой

Пусть x = 2PxMx, y = 2PyMy

x + y = 2PxMx + 2PyMy = 2Px(Mx + 2Py-PxMy)

Для простоты Py>Px.

Нужно выровнять в разрядной сетке.

  1. Сравнение порядков – выбираем больший

  2. Выравнивание порядков (сводится к сдвигу вправо мантиссы меньшего порядка): а) с округлением мантиссы, б) можно ввести дополнительный разряд

  3. Сложение мантисс

  4. Нормализация мантисс (сдвиг мантиссы влево, пока не появится в 1-м значащем разряде)


xy = 2PxMx2PyMy = 2Px+Py(MxMy)

x / y = 2Px-PyMx/My

После выполнения операции нужно нормализовать результат.

Машина фон Неймана

Фон Нейман в работе «Предварительное рассмотрение логической конструкции электронного вычислительного устройства» сформулировал принципы построения ВМ:

  1. Основные компоненты. Т.к. проектируемое устройство – универсальная машина, то оно должно содержать след. компоненты:

а) арифметическое устройство

б) устройство памяти (запоминающее устройство)

в) устройство управления

г) устройство связи с оператором

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

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

Принстонская архитектура ЭВМ – числа и команды хранятся вместе.

Гарвардская – числа и команды хранятся в разных устройствах.

Т.к. числа и команды хранятся в одной памяти, то машина должна уметь различать числа и команды. Устройство управления автоматически выполняет команды, хранящиеся в памяти. Т.к. устройство д.б. вычислительной машиной, то в ее составе д.б. арифметическое устройство, которое может выполнять некоторые элементарные арифметические операции (+-*/). Операции * и / можно свести к операциям + и -, но целесообразнее иметь их в качестве элементарных, для повышения скорости.

  1. 1-е замечение о памяти.

1) Объем памяти – решающий фактор при разработке удовлетворительной вычислительной машины. Рассматриваются 2 аспекта – разрядность слова и количество слов.

2) Д.б. автоматическая электронная память, емкость 4096 слов по 40 разрядов

3) Дополнительно к этому нужно иметь внешнюю память на каком-либо носителе (магнитная лента или проволока).

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

1) простота оборудования

2) ясность кода

3) скорость решения задачи

4) состав команд

а) арифметические команды

б) команды передачи чисел из памяти в арифметическое устройство и обратно

в) адресация чисел

г) команды могут храниться в упорядоченном виде

д) команды условного перехода

е) команды ввода/вывода.

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

а) информацию можно легко стирать/записывать

б) накопитель имеет большую емкость

в) накопитель имеет приемлимое быстродействие

г) надежность записи и воспроизведения информации

д) сохранение информации при выключенном питании

е) возможность использования съемных носителей и организации библиотеки данных.

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

  1. Арифметическое устройство. Все зависит от системы счисления. Фон Нейман считал, что наиболее простой и экономной является двоичная система. Устройство управления является логическим с двоичной логикой. Это способствует созданию более однородной машины. Единственный недостаток – перевод данных из 2-ной и 10-ную при вводе/выводе. Архитектура АУ основана на базе накапливающего сумматра (НС). Операции:

1) засылка числа в НС

2) прибавление к НС

3) вычитание из НС

4) умножение с накоплением

5) деление

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

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

  1. Управляющее устройство. Назначение – автоматическое выполнение команд, хранящихся в памяти. Выбор формата команды: фон Нейман выбирает длину команды как половину объема памяти, требуемого для хранения 1 числа. В ячейке хранится либо 1 число, либо 2 команды. Команды выполняются парами, сначала левая, потом правая. Для выборки команд из памяти вводится счетчик команд. После исполнения пары команд в него добавляется 1. Формат команды: <код операции, адрес>. Типы команд:

а) пересылка (содержимое ячейки памяти с адресом А засылается в НС или обратно),

б) двуместные: НС(А)НС, НС+РМ*(А)НС,

в) переходы (условные, безусловные)

г) ввода/вывода – обмен с внешними накопителями.

Для экономии оборудования фон Нейман предложил использовать АУ как промежуточный буфер. В машине фон Неймана невозможно одновременно вычислять и обращаться к внешнему накопителю. Все производится последовательно.

Архитектура ЭВМ фон Неймановского типа

  1. Общая единственная память команд и данных

  2. Адресное пространство памяти линейное

  3. Двоичная система счисления

  4. Фиксированная точка

  5. Арифметическое устройство с накапливающим сумматором

  6. Последовательный характер выполнения всех операций

Элементы ЭВМ

Представление информации физическими сигналами

Физическими аналогами 0 и 1 служат сигналы, способные принимать 2 хорошо различимых значения. Например, напряжение высокого и низкого уровня, отсутствие и наличие электрического импульса, противоположные по знаку значения напряженности магнитного поля.

В ЭВМ переменные и соответствующие им сигналы изменяются в дискретные моменты времени. Промежуток между соседними моментами времени – такт.

Обычно применяют 2 модели сигналов: потенциальные и импульсные.

Системы элементов

Базовым элементом для построения логических схем является транзистор. Транзистор может работать как очень быстрый бинарный переключтель. Содержит коллектор, базу и эмиттер. Если входное напряжение низкое (0), то транзистор выключается и действует как очень большое сопротивление, и выходное напряжение получается высоким (1). Если входное напряжение высокое (1), то транзистор включается и действует как проводник, вызывая заземление входного сигнала (0). Т.о. отдельный транзистор работает как инвертер.

Последовательное подключение транзисторов позволяет реализовать функцию НЕ-И (штрих Шеффера), параллельное – НЕ-ИЛИ (стрелка Пирса).

Различают 2 вида элементов – комбинационные (КЭ) и запоминающие (ЗЭ). КЭ выполняют простейшие операции над двоичными символами, ЗЭ выполняют операции хранения символов в момент преобразования.

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

Простейшими полными системами элементов являются системы, состоящие из 1 элемента – либо НЕ-И либо НЕ-ИЛИ. В технически полную систему включают вспомогательные элементы, усилители и генераторы сигналов.

Запоминающие элементы

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

Различают несколько схем триггеров: с установочными входами – RS-триггер, с приемом информации по одному входу – D-триггер, со счетным входом – T-триггер, универсальный JK-триггер. Триггеры бывают синхронными (хотя бы с одного входа информация заносится под воздействием синхронизирующего сигнала) и асинхронные.

Асинхронный RS-триггер

R(t)

S(t)

Q(t+1)

0

0

Q(t)

0

1

1

1

0

0

1

1


Синхронный RS-триггер


D-триггер – реализует функцию временной задержки. Имеет только режимы установки и сброса.

Q(t+1) = D(t)


T-триггер – используется как делитель частоты, двоичный счетчик

Q(t+1) = Q(t)


JK-триггер – универсальный триггер. На его основе можно получить RS-, D-, T- триггеры.

J(t)

K(t)

Q(t+1)

0

0

Q(t)

0

1

0

1

0

1

1

1

Q(t)



Двухтактный триггер состоит из 2 синхронных RS-триггеров, один из которых называется ведущим (Mmaster), друго ведомый (Sslave).

Информация, задаваемая входами R и S, по фронту сигнала C принимается M-триггером, но в течение всего времени, пока сигнал C равен 1, не проходит в S-триггер. Никакое изменение на управляющем входе не может само по себе, без переключения сигнала C, проникнуть на выход. Триггер может изменять состояние выхода только по срезу сигнала С.

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

Узлы ЭВМ

Свертка – суммирование компонент вектора по модулю 2 (проверка по четности). Возможны 2 схемы – линейная и пирамидальная.

Компаратор – узел сравнения

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

Шифратор – выполняет преобразование, обратное дешифратору – преобразует сигнал на одном из входов и код.

Мультиплексор – передает сигнал с одной из входных линии в выходну.


Регистр – узел для временного хранения двоичных слов в процессе преобразования информации. Характеристики: разрядность (4, 8, 16, …) и способ записи и извлечения информации из регистра. Различают регистры: параллельно-параллельные, последовательно-последовательные, последовательно-параллельные. Регистры применяются в устройствах ввода/вывода, как ненераторы и преобразователи кодов, счетчики, делители частоты, узлы временной задержки, буферная память.

Параллельно-параллельный регистр:

Сдвигающий регистр:


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

Двоичный счетчик


Сумматор – узел, выполняющий арифметическое суммирование чисел.

Полусумматор

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

Многоразрядный сумматор: можно выполнять суммирование за n тактов, можно параллельно.

Суммирование

Вычитание:

Умножение:

Арифметико-логическое устройство

Арифметическо-логическое устройство – устройство, служащее для выполнение арифметических и логических операций над словами.

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

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

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

Для выполнения конкретной операции на АЛУ подается код этой операции (или соответствующие этой операции управляющие сигналы), которые подключают к работе определенные части АЛУ, необходимые для выполнения данной операции.

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

Запоминающие устройства

В современных вычислительных машинах применяются 2 типа ЗУ – электронные (не содержат движущихся частей) и электро-механические.

Электронные запоминающие устройства

Основные параметры:

  1. емкость (в абстрактных единицах (байт, кб, мб, ...) или в словах (сколько бит записывается/считывается при одном обращении)

  2. время обращения

  3. способ доступа к информации:

    • ЗУ с произвольным доступом

    • ЗУ с ограниченным доступом

    • ассоциативные ЗУ

ЗУ с произвольным доступом (RAM)

При обращении к такому ЗУ случайным образом время не зависит от порядка доступа. Еще называют адресные ЗУ – информация различается по адресам.

Опр.: ЗУ с произвольной выборкой – совокупность ячеек памяти, различающихся номерами, адресами (в диапазоне 0-2n-1). 2n – количество ячеек в ЗУПВ или емкость в словах. Количество разрядов в слове – разрядность ЗУ.

Различают 2 операции – запись и считывание. Запись(адрес, слово) – слово записывается по адресу, замещая старое содержимое. Оперцаия записи не затрагивает содержимого других ячеек. слово: Считывание(адрес) – считывание слова, располагающегося по адресу.

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

ЗУПВ называется потому, что при обращении к ячейкев любом порядке время записи и считывания практически не зависят от адреса.

Каждая n-разрядная ячейка памяти – n статических триггеров. Статические ЗУ состоят из 2n таких ячеек. Статический триггер обычно включает ~8 транзисторов (собственно триггер (2) + вентили записи/считывания). Статические ЗУ 1) простые, 2) способны хранить данные, пока поддерживается напряжение. Статические триггеры можно реализовывать на базе КМОП-структур. В этом случае он потребляет наименьшую энергию.

Динамические RAM

Чтобы построить ЗУ большой емкости, наряду со статическими ЗУ применяют ЗУ динамического типа. В них для запоминания используется эффект накопления заряда на емкости. В итоге получается 2-3 транзистора, в пределе можно использовать только 1. Конденсатор – это на самом деле паразитная емкость между транзистором и подложкой. Элемент памяти здесь не триггер, а конденсатор. Недостаток – никакой конденсатор не способен хранить бесконечно долго заряд. Постепенно со временем конденсатор разряжается. Содержимое всех ячеек памяти приходится регенерировать. Для этого выполняется с периодом T обращение ко всем ячейкам памяти. Содержимое считывается в некоторый регистр и затем снова записывается. Саморазряд конденсатора происходит довольно быстро и возникает проблема выбора периода T. Используется не поячеечная организация устройства, а построковая. Механизм регенерации м.б. при процессоре или при памяти. Кроме того, существуют квазистатический ЗУ DRAM, в котором регенерирующее устройство встроено в сам элемент памяти.

ЗУ с ограниченным доступом

2 разновидности ЗУ с ограниченным доступом: LIFO и FIFO.

LIFO – стек, магазинная память, используется для хранения адресов входов подпрограмм, состояния устройств, контекст процессора и т.д.

FIFO – буфер, очередь, используется для организации очереди команд, данных для ввода/вывода и т.д.

Особенности ЗУ с ограниченным доступом:

    • в каждый момент времени невозоможен доступ к произвольной ячейке

    • количество считываний не должно превышать количества записей

    • операции записи и считывания безадресные

    • количество входов и выходов не зависит от количества слов

LIFO можно организовать на базе сдвигающих регистров. В этом случае с ростом объема ЗУ увеличивается время его работы. Другой вариант – на базе RAM и счетчика.

FIFO можно организовать на базе RAM

Flash-память

Flash-память – пример RAM-памяти, в которой информация может храниться неограниченно долго. В них используются МНОП-структуры. МНОП-транзисторы могут хранить информацию до 10 лет. Время считывания и записи существенно отличны: tзап>>tсчит. Чтобы записать информацию нужно накопить заряд у затвора специального транзистора. Это довольно долгая процедура. 1 бит несколько миллисекунд. Для считывания достаточно подавать стандартные сигналы (5В). Для изменения нужно подавать повышенное напряжение (~10-15В). Для этого нужен дополнительный источник питания. В современной flash-памяти он встраивается. Процесс записи разделяется на 2 этапа: стирание и запись. Избирательное стирание – «дорогая» операция. Затирают либо весь кристалл, либо его часть. Затем идет программирование ЗУ. В оперативной памяти формируется образ flash-памяти и затем идет побитное программирование каждого эл-та памяти. flash-память может хранить память при отключенном питании.

Агрегирование ЗУ

Агрегирование ЗУ используют для наращивания памяти по разрядности и по емкости.

Наращивание по разрядности:

Для наращивания по емкости добавляют дополнительный вход – выбор блока памяти (chip selector), дешифратор кода блока и селектор блока.

Ассоциативные ЗУ

АЗУ – ЗУ, в котором обращение к информации происходит по самой информации. Вместо адреса выступает само содержимое.

Операции: поиск, запись и чтение. Каждая ячейка ЗУ – регистр + компаратор. Маска выбирает разряды элемента памяти, подлежащие сравнению. При поиске компаратор сравнивает содержимое памяти с ключом в тех разрядах, которые не замаскированы. Результат поиска C=&((mij=Kj)Mi). При поиске устанавливаются индикаторы найденных слов.

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

Для АЗУ характерны следующие черты: все ячейки равноправны, поиск и считывание может проводится по всем словам с высокой скоростью. Сложность АЗУ = сложность RAM устройства. Применяются в специализированных машинах БД, при организации виртуальной памяти.

Внешние запоминающие устройства

Принцип действия связан с механическими перемещениями. Самые распространенные – гибкие/жесткие магнитные диски, [магнито-]оптические диски.

ЭМЗУ бывают двух типов: устройства с вращательным движением носителя и с линейным (стриммеры, потоковые магнитные накопители). Общая особенность – отдельных дискретных запоминающих элементов нет. Есть однородная запоминающая стреда (поверхность), на которой формируются отдельные области, играющие роль запоминателей информации.

Устройства с вращательным движением носителя

Запоминающая поверхность в рабочем состоянии вращается и ее участки периодически входят в контакт со считывающией/ записывающей головкой. Общая схема:

Есть 2 варианта: 1) отдальная головка для записи, отдельная для считывания, 2) одна головка для записи и для считывания. С помощью электронного коммутатора данные подаются на одну из головок (выбирается рабочая поверхность диска). Информация может размещаться на дорожках. Это дискретные позиции. Установление головки на дорожку выполняется механическим способом. Точность установления головки в одну из позиций по радиусу определяет количество дорожек. Все головки в каждый момент времени находятся на одной дорожке. Образуется цилиндр.

Каждая дорожка разбивается на секторы. Имеем 3 координаты: (головка, цилиндр, сектор). Перемещение головки по радиусу – подается нужное кол-во импульсов, каждый импульс передвигает головку с одной позиции на другую. Каждое перемещение занимает ~1мс. Время на выбор рабочей пов-сти ~ мкс. В рабочем состоянии диск непрерывно вращается. Определеный элемент периодически находится вблизи головки (период Tоб). Время передачи/считывания:

Tобщ=Tвыбора_головки+Tвыбора_цилиндра+Tожидания_сектора+Tпересылки

Tвыбора_головки ~ мкс

Tвыбора_цилиндра ~ мс

Tожидания_сектора – зависит от типа диска: у жестких меньше, чем у гибких

Tпересылки – в современных устр-вах до 100мбит/сек

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

Информация передается побитово. Размер сектора м.б. разным. Более-менее стандартный – 512 бит. Емкость определяется как кол-во рабочих головоккол-во цилиндровкол-во секторовразмер сектора8 бит. Каждый сектор имеет определенную структуру:

межсекторный промежуток

адрес сектора

промежуток между адресом и данными

данные

контрольный код (код Рида-Соломона)

Адрес сектора: (№ рабочей пов-сти, № цилиндра, № сектора). Промежутким ежду адресом и данными делаются для того, чтобы можно было легко переключаться между режимами считывания и записи. Сектор – единица обращения к диску.

Для записи используется магнитная головка с воздушным зазором. Явление остаточного намагничивания обеспечивает хранение данных.

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

Накопители с линейным движением

Примером накопителя с линейным движением может служить магнитная лента.

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

Команды – считывание, стирание записи, стирание блока информации, передвижение вперед/назад на один блок/зону.

Формирование управляющих сигналов

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

Существует 2 способа формирования управляющих сигналов:

  • способ «жесткой логики» (hardware logic)

  • способ «мягкой логики» (firmware logic, микропрограммирование)

Жесткая логика

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

Управляющий сигнал – булева функция от номера такта T, кода операции O и других признаков (флагов ): i = f(T, O, ).

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

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

Различают 2 вида систем управления:

  • централизованная – есть 1 единственный формирователь управляющих сигналов, формирующий сигналы для всех устройств

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

Метод жесткой логики используется в компьютерах с простым набором команд (RISC-процессоры).

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

Микропрограммирование

Идея – профессор Уилкс из Кембриджа (1951 г.).

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

+:

  1. Аппаратура практически не зависит от архитектуры процессора

  2. Можно проектировать оборудование машины и разрабатывать устройство управления параллельно

  3. Можно использовать перезаписываемую память в УУ – можно задавать свои быстрые команды

  4. Эмуляция на микропрограммном уровне набора команд устаревшей архитектуры

–:

  1. ПО разрабатывается под определенный набор команд, а при определении своего набора команд необходимо переделывать ПО

  2. Низкая скорость по сравнению с жесткой логикой

  3. Чем больше набор команд, тем больше слов микрокоманд и тем больше размер используемой памяти

Компактное представление микрокоманд

Общий формат микрокоманды: испонительная часть, адресная часть.

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


Случайные файлы

Файл
39067.rtf
185288.rtf
138107.rtf
23269-1.rtf
6011-1.rtf