
- •Эвм и вычислительные системы».
- •Часть I.
- •Лекция №1 общие сведения о микропроцессорах и микропроцессорных системах.
- •Предисловие
- •1.1 . Основные определения и классификация микропроцессорных систем.
- •1.2. Однокристальные мп.
- •1.2.1 Краткий исторический обзор развития.
- •Лекция №2 обзор микропроцессоров фирм клонмейкеров. Современный уровень развития однокристальных микропроцессоров.
- •2.1. Микропроцессоры-клоны.
- •2.2. Современные универсальные однокристальные микропроцессоры.
- •Процессоры Pentium II.
- •2.2.1. Процессоры фирмы amd
- •2.2.2.ПроцессорыфирмыCyrix.
- •2.2.3. Сравнительный анализ мп различных семейств.
- •2.2.4. Перспективы развития.
- •2.3. Программируемые микроконтроллеры.
- •Лекция №3 обзор микропроцессоров с микропрограммным управлением и микропроцессоров с сокращенным набором команд.
- •3.1. Мп с микропрограммным управлением.
- •3.2. Мп с сокращенным набором команд.
- •3.2.1. Risc-процессоры: предпосылки создания.
- •3.2.2. Принципы risc
- •3.2.3. Особенности risc-процессоров.
- •3.2.4. Представители группы risc-процессоров.
- •3.2.5. Цифровые процессоры обработки сигналов.
- •Лекция №4 представление информации в мпс.
- •4.1. Способы кодирования информации в мпс.
- •4.2 Двоичный формат.
- •4.3. Двоично-десятичная система кодирования.
- •4.4. Шестнадцатиричная система счисления.
- •4.4. Формат с плавающей точкой.
- •4.5. Кодирование команд.
- •Лекция №5 архитектура мп и мпс.
- •5.1. Понятие организации и архитектуры мп и мпс.
- •5.2 Обобщенная функциональная схема мп.
- •5.2.1 Устройство управления на основе аппаратной реализации.
- •5.2.2. Программируемая логическая матрица.
- •Лекция №6 архитектура мп и мпс.(продолжение)
- •6.1. Функциональная схема однокристального мп.
- •6.2 Структура адресного пространства мпс.
- •6.3 Взгляд программиста на адресное пространство.
- •6.4 Понятие стека.
- •Лекция №7 способы адресации
- •7.1 Основные определения.
- •7.2 Однокомпонентные способы адресации.
- •7.2.1 Прямой способ адресации.
- •7.2.3 Способы адресации с автомодификацией.
- •7.3 Многокомпонентные способы адресации.
- •Лекция №8 основы проограммирования на языке ассемблера для мп i8086.
- •8.1. Формат команд на языке встроенного ассемблера.
- •8.2. Архитектура мп i8086.
- •8.2.1 Сегментация памяти мп i8086.
- •8.2.2 Структура мп i8086.
- •8.2.3 Устройство шинного интерфейса.
- •8.2.4 Операционное устройство(оу).
- •8.3 Основные команды языка Ассемблер для мп i8086.
- •8.3.1 Команды пересылки данных.
- •Лекция №9 основы проограммирования на языке ассемблера для мп i8086. (продолжение).
- •9.1. Арифметические команды.
- •9.2. Логические команды.
- •9.3. Команды передачи управления.
- •9.4. Команды управления мп.
- •Лекция №10 запоминающие устройства.
- •10.1 Основные характеристики полупроводниковых запоминающих устройств.
- •10.2 Способы организации бис зу.
- •10.3 Классификация полупроводниковых зу.
- •10.3.1. Статические озу (Static Random Access Memory).
- •10.3.2. Озу динамического типа (Dynamic Random Access Memory dram).
- •10.3.4. Кмоп - озу.
- •Лекция №11 запоминающие устройства. (продолжение)
- •11.1. Постоянные зу. (Read Only Memory - rom).
- •11.2. Flash-память.
- •11.3. Корпуса модулей зу.
- •11.4. Наращивание объема и разрядности памяти, построенной на полупроводниковых зу.
- •Лекция № 12 организация магистралей мпс.
- •12.1 Типы магистралей мпс.
- •12.2 Циклы обращения к магистрали.
- •12.3 Примеры архитектур системных магистралей современных мпс.
- •Лекция №13 методы расширения адресного пространства мпс.
- •13.1 Предварительные замечания.
- •13.2 Метод окна.
- •13.3 Метод базовых регистров.
- •13.4 Метод банков.
- •13.5 Метод виртуальной памяти.
- •Лекция №14 система прерываний.
- •14.1 Понятие системы прерываний, классификация систем прерываний.
- •14.2. Организация радиальной системы прерываний.
- •14.3. Расширение радиальной системы прерываний методом поллинга.
- •14.4. Организация векторной системы прерываний.
- •Лекция №15 организация связи мпс с переферийными устройствами.
- •15.1. Классификация способов обмена информацией в мпс.
- •Прямой ввод/ вывод
- •15.3 Условный ввод-вывод.
- •15.4. Режим прямого доступа к памяти.
- •Лекция №16 интерфейсы мпс.
- •16.1. Принципы организации и классификация интерфейсов.
- •16.2. Элементная база интерфейсов.
- •16.3. Средства параллельного ввода/вывода.
- •Лекция №17 расширитель интерфейса для ibm-совместимых пк. Программируемый интервальный таймер.
- •17.1. Расширитель интерфейса рс на основе ппа кр580вв55.
- •17.2 Программируемый интервальный таймер.
- •17.3. Модуль преобразования цифрового кода в шим-сигнал на базе пит.
- •Лекция №18 интерфейсы последовательной связи.
- •18.1. Общая характеристика последовательной связи.
- •18.2. Асинхронные последовательные интерфейсы.
- •18.3. Бис для организации последовательного интерфейса.
- •18.4. Модем.
- •18.5. Стандарты физической связи. Стандарт rs -232- c.
Лекция №4 представление информации в мпс.
План лекции
1. Общие замечания относительно кодирования информации в цифровых вычислительных системах.
2. способы кодирования информации в МПС.
3. Двоичный формат.
4. Двоично-десятичная система кодирования.
5. Формат с плавающей точкой.
6. Представление команд в МПС.
4.1. Способы кодирования информации в мпс.
В ЦВУ любая информация кодируется двоичными цифрами 0 или 1. Это является следствием того, что при построении цифровых устройств применяют надежные и простые схемы, способные находиться в одном из двух устойчивых состояний. Одному из них ставят в соответствие 0 (как правило, низкому уровню напряжения), а другому-1 (высокому уровню напряжения).
Комбинация, состоящая из одного 0 или 1 называется битом. В общем случае n-бит может определять 2n различных объектов.
Для удобства представления информации биты объединяют в группы. Некоторым группам бит присвоены названия: 4 бита- тетрада, 8 бит- байт, 16 бит- 2 байта- слово, 32 бита- 4 байта (двойное слово). Машинное слово - группа бит, которая обрабатывается МПС за один такт. Двоичным комбинациям ставят в соответствие числа, символы, либо команды.
Имеются три основных формата для представления чисел двоичными кодами: двоичный (целый); плавающая точка (вещественный); двоично-кодированный десятичный (ВСD-формат).
Для представления букв и других символов используются различные символьные коды, наиболее распространенными из которых являются коды ЕВСDIС и код АSСII (American Standart Code for Information Interchange).
4.2 Двоичный формат.
Двоичный формат используется для представления знаковых и беззнаковых целых чисел, записанных в двоичной системе счисления.
В случае беззнаковых чисел, все разряды используются для хранения кода числа. Каждый разряд имеет свой вес - р, определяемый его номером - i. Соотвествие между номером разряда и его весом определяется зависимостью:
P=2i ; где i = 1,2,3…, n-1; n- число разрядов двоичного кода.
Для восьмиразрядного двоичного числа указанное соответствие показано на рис.4.1.
Рис.4.1
Позиции бит пронумерованы от 7 до 0, а веса двоичных позиций показаны в основании ячейки памяти, т.е. бит 7 имеет вес 27 =128, бит 6 - вес 26 =64 и т.д.
В соответствии со значением веса разрядов можно осуществить преобразование числа из 2 с/с в 10 с/с:
(4.1)
Например: 01000010(2) =1* 64 + 1* 2 = 66(10)
Обратный переход от 10 с/с к 2 с/с осуществляется делением исходного числа на основание новой с/с, т.е. на 2, остатки от деления последовательно будут формировать разряды двоичного числа, начиная с младшего.
Например:
66:2 = 33 остаток 0
33:2 = 16 остаток 1
16:2 = 8 остаток 0
8:2 = 4 остаток 0
4:2 = 2 остаток 0
2:2 = 1 остаток 0
1:2 = 0 остаток 1
Таким образом получаем: 01000010
Рассмотрим теперь, каким образом представляются числа со знаком.
При записи числа со знаком в двоичном коде, старший бит, как правило, отводится для хранения знака, при этом 0 - соответствует положительное число, а 1 - отрицательное. Типовая структура байта для размещения чисел со знаком показана на рис.4.2.
Рис.4.2.
В обоих случаях бит 7 является знаковым. Он указывает, является ли число отрицательным или положительным.
Если число положительное, то оставшиеся ячейки памяти содержат двоичное 7-ми разрядное число в прямом двоичном коде. Таким образом максимальное положительное число, которое может быть записано при помощи такого формата будет равно:
01111111(2) = 127(10)
Несмотря на свою простоту, использование прямого кода для записи отрицательных чисел имеет несколько существенных недостатков:
- наличие двух нулей (ноль отрицательный и ноль положительный);
- минимальное число –127 (для восьми разрядного кода), в результате вместо полных 256 комбинаций имеем 255;
- необходимость разработки различных алгоритмов и схем для реализации различных арифметических операций (сложения, вычитания и т.д.).
В связи с этим, для представления отрицательных чисел в ЦВУ используется как правило дополнительный код, преобразование к которому осуществляется по зависимости:
(4.2)
где а – абсолютное значение числа, n - число бит, используемых для его представления.
Преобразование прямого кода записи двоичного числа в дополнительный выполняется в два этапа:
1. получение инверсного или обратного кода (дополнение до 1) путем инвертирования каждого разряда исходного кода;
2. прибавление 1 к полученному обратному коду (дополнение до 2).
Рассмотрим пример.
Дано десятичное число 9 , необходимо найти его дополнительный код.
Двоичное число в прямом коде — 00001001,
в инверсном коде — 11110110,
дополнение до 2 — 11110111.
Таким образом, получен дополнительный код 11110111.
Аналогичный результат получится при непосредственном использовании формулы преобразования (n = 8):
Процедура преобразования дополнительного кода в прямой та же самая, т.е. вначале получают инверсный код, а затем, путем прибавления единицы – прямой код.
Пример: 11110111 - дополнительный код
00001000 - инверсный код
00001001 - прямой код.
Т.о. получим число 9, которое является отрицательным, т.к. значение старшего бита равно 1.
Достоинства применения дополнительного кода для представления отрицательных чисел заключается в том, что:
1. нулю соответствует один код - 00000000;
2. min число 10000000 1111111
+ = 10000000
1
будет - 128, а не -127 как при использовании прямого кода;
3. позволяет использовать сумматоры для реализации всех арифметических операций.
Рассмотрим сложение положительных чисел:
Покажем теперь, что использование для записи отрицательных чисел дополнительного кода позволяет заменить операцию вычитания операцией сложения прямого кода уменьшаемого и дополнительного кода вычитаемого.
Известно, что максимальное число, которое может быть представлено n-разрядным двоичным кодом равно 2n-1. Следующему числу будут соответствовать значения 0 во всех n-разрядах (которые отведены под число) и 1 в n + 1 разряде. Таким образом, если для представления числа а использован n-разрядный двоичный код, то его n – разрядное значение не изменится, если к а добавить число 2n , т.е.
(4.3)
Допустим теперь, что необходимо найти разность чисел, записанных в прямых двоичных n-разрядных кодах:
В соответствии с (4.3)) указанная разность может быть преобразована к виду:
Разность (2n- b) - есть ничто иное, как дополнительный код числа b, т.е. b'. При сложении складываются и двоичные цифры знаковых разрядов с отбрасыванием возникающего при этом разряда переноса. Таким образом, используя дополнительный код, сумматор МП осуществляет операции вычитания.
Примеры:
Операция умножения чисел, представленных в двоичном формате, включает в себя определение знака и абсолютного значения произведения. Знаковый разряд произведения получают суммированием знаковых разрядов сомножителей без формирования переноса (суммирование по модулю два). Абсолютное значение произведения находится путем последовательного выполнения операции сдвига и суммирования над модулями сомножителей.
Аналогично выполняется и операция деления чисел, представленных в двоичном формате.
Рассмотренный способ умножения включает этап отделения от сомножителей их знаковых разрядов и выполнение действий над знаками и модулями чисел. Одним из эффективных алгоритмов умножения является алгоритм Бута. Он не предусматривает разделение операций над знаковыми разрядами и модулями сомножителей.
Таким образом, на основе приведенных примеров можно сделать вывод о том, что любая из арифметических операций, а именно: сложение, вычитание, умножение и деление, может быть выполнена при помощи схем, реализующих суммирование, инвертирование, сдвиги вправо или влево двоичных операндов, преобразование операндов из прямого кода в дополнительный и обратно.