- •Cистемы счисления.
- •Преобразование чисел из одной системы счисления в другую. Правила перевода целых чисел
- •Правила перевода правильных дробей
- •Правило перевода дробных чисел
- •Виды двоичных кодов
- •Беззнаковые двоичные коды.
- •Прямые знаковые обратные двоичные коды.
- •Знаковые дополнительные двоичные коды.
- •Правила выполнения простейших арифметических действий. Правила сложения
- •Правила вычитания
- •Правила умножения
- •Правила деления
- •Дополнительный код числа.
- •Алгоритм получения дополнительного кода отрицательного числа.
- •Представление вещественных чисел в компьютере.
- •Нормализованная запись числа.
- •Представление чисел с плавающей запятой.
- •Алгоритм представления числа с плавающей запятой.
- •Конвейерная организация
- •Определение понятия "архитектура"
- •Архитектуры cisc и risc
- •1.1. Основные определения
- •1.2. Обзор 32-разрядного микропроцессора
- •1.2.1. Основные блоки
- •1.2.2. Устройство управления памятью
- •1.2.3. Архитектура режима реальных адресов и защищенного режима
- •1.3. Типы данных
- •Арифметико-логическое устройство
- •Системная шина
- •Состав магистрали
- •Виды шин
- •Шина с тремя состояниями
- •Как происходят операции на магистрали?
- •Шина usb
- •Память эвм
- •Организация внутренней памяти процессора.
- •Методы управления памятью без использования дискового пространства (без использования внешней памяти).
- •Организация виртуальной памяти.
- •Страничное распределение.
- •Сегментное распределение.
- •Странично - сегментное распределение.
- •12.3.1. Статические озу (sram)
- •12.3.1.1. Элемент памяти ram в ттл-исполнении
- •Активация ячейки памяти
- •12.3.2.2. Особенности динамических озу
- •12.3.3.3. Некоторые виды озу
- •Современная оперативная память
- •12.6. Перепрограммируемые постоянные запоминающие устройства
- •Находящиеся на свету сппзу и reprom могут быть случайно стерты.
- •История Кэш-памяти
- •] Функционирование
- •Кэш центрального процессора
- •Уровни кэша
- •Ассоциативность кэша
- •Кэширование внешних накопителей
- •Организация кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Принцип действия флэш
- •Архитектура флэш-памяти.
- •Доступ к флэш-памяти
- •Последовательный асинхронный адаптер (com порт)
- •Принципы построения параллельного порта.
- •Чтение/запись в lpt порт (Часть 1)
- •Внутренности lpt порта
- •Запись/чтение данных в регистр Data
- •Запись/чтение данных в регистр Control
- •Запись/чтение данных в регистр Status
- •Понятие прерывания.
- •Подсистема прерываний мпс
- •Интерфейсы ввода-вывода
- •Классификация интерфейсов
- •Типы и характеристики стандартных шин
- •Классификация и структура микроконтроллеров
- •4.2. Процессорное ядро микроконтроллера
- •4.2.1. Структура процессорного ядра мк
- •4.2.2. Система команд процессора мк
- •4.2.3. Схема синхронизации мк
- •4.3. Память программ и данных мк
- •4.3.1. Память программ
- •4.3.2. Память данных
- •4.3.3. Регистры мк
- •4.3.4. Стек мк
- •4.3.5. Внешняя память
Правило перевода дробных чисел
Отдельно переводится целая часть числа, отдельно - дробная. Результаты складываются. Пример 3.15. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой. Представим исходное число как сумму целого числа и правильной дроби: 19,847 = 19 + 0,847. Как следует из примера 3.2, 19 = 1316; а в соответствии с примером 3.9 0,847 = 0,D8D16. Тогда имеем: 19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16. Таким образом, 19,847 = 13,D8D16.
Виды двоичных кодов
В микропроцессорах двоичные коды используются для представления любой обрабатываемой информации. При этом разрядность обрабатываемых чисел может превышать разрядность самого процессора и используемой в нём памяти. В этом случае длинное число может занимать несколько ячеек памяти и обрабатываться несколькими командами процессора. При обработке все ячейки памяти, выделенные под многобайтное число, рассматриваются как одно число.
Для представления числовой информации могут использоваться знаковые и беззнаковые коды.
Беззнаковые двоичные коды.
Первый вид двоичных кодов, который мы рассмотрим - это целые беззнаковые коды. Для определённости примем длину слова процессора равной восьми битам. В этих кодах каждый двоичный разряд представляет собой степень цифры 2:
При этом минимально возможное число, которое можно записать таким двоичным кодом, равно 0. Максимально возможное число, которое можно записать таким двоичным кодом, можно определить как:
Этими двумя числами полностью можно определить диапазон, чисел которые можно представить таким двоичным кодом. В случае двоичного восьмиразрядного беззнакового целого числа диапазон будет: диапазон чисел, которые можно записать таким кодом: 0 .. 255. Для шестнадцатиразрядного кода этот 0 .. 65535. В восьмиразрядном процессоре для хранения такого числа используется две ячейки памяти, расположенные в соседних адресах. Для работы с такими числами используются специальные команды.
Второй вид двоичных кодов, который мы рассмотрим - это прямые целые знаковые коды. В этих кодах старший разряд в слове используется для представления знака числа. В прямом знаковом коде нулем обозначается знак '+', а единицей - знак '-'. В результате введения знакового разряда диапазон чисел смещается в сторону отрицательных чисел:
В случае двоичного восьмиразрядного знакового целого числа диапазон чисел, которые можно записать таким кодом: -127 .. +127. Для шестнадцатиразрядного кода этот диапазон будет: -32767 .. +32767. В восьмиразрядном процессоре для хранения такого числа тоже используется две ячейки памяти, расположенные в соседних адресах.
Недостатком такого кода является то, что знаковый разряд и цифровые разряды приходится обрабатывать раздельно. Алгоритм программ, работающий с такими кодами получается сложный. Для выделения и изменения знакового разряда приходится применять механизм маскирования разрядов, что резко увеличивает размер программы и уменьшает ее быстродействие. Для того, чтобы алгоритм обработки знакового и цифровых разрядов не различался, были введены обратные двоичные коды.
