Хранение чисел с фиксированной точкой
Информационная система. Информация. История развития компьютера
Информационная система - система, предназначенная для сбора, передачи, обработки, хранения и выдачи информации потребителям и состоящая из следующих основных компонентов:
• программное обеспечение,
• информационное обеспечение,
• технические средства,
• обслуживающий персонал.
Информация наряду с материей и энергией является первичным понятием нашего мира и поэтому в строгом смысле не может быть определена.
Можно лишь перечислить ее основные свойства, например:
1) информация приносит сведения, об окружающем мире, которых в рассматриваемой точке не было до ее получения;
2) информация не материальна, но она проявляется в форме материальных носителей дискретных знаков или первичных сигналах;
3) знаки и первичные сигналы несут информацию только для получателя, способного ее распознать.
Информация – мера разрешения неопределенности.
· 1 бит (1 bit, binary digit) -Разрешает неопределенность при выборе одного из двух возможных вариантов (минимальную неопределенность).
· 1 байт (1 byte) = 8 bit -Разрешает неопределенность при выборе одного из 28 = 256 вариантов
История компьютера
1000 – 500 до н.э. изобретен абак
1500 - Леонардо да Винчи Механический калькулятор
1642 - Блез Паскаль «Паскалина»
1822 Чарльз Бэббидж - Дифференциальная машина
1830 Чарльз Бэббидж - Аналитическая машина
1847-54 Джордж Буль - Булева алгебра
1930-е – 1940-е годы
- Норберт Винер «Кибернетика»
- Атанасофф, электронный сумматор
- Конрад Цузе Z1,Z2,Z3,Z4
- Англия Колосс, 1943
- Эккерт, Моучли ENIAC – 1946,
(Electronic Number Integrator And Computer)
EDVAC
(Electronic Discrete Variable Automatic Computer) - Джон фон Нейман 1945
«Предварительный доклад» - Клод Шеннон 1948
«Математические основы теории связи» - Лебедев С.А. 1950, МЭСМ
Первый транзистор
Первыйдействующий транзисторсоздали в 1947 году американские физики Уильям Шокли, Джон Бардини Уолтер Браттейнв лабораториях Bell Labs.
Первая микросхема
Первая микросхемабыла изготовлена в компании Texas Instruments под руководством Джека Килби(JackKilby) в 1958 году (Нобелевская премия 2000 г.).
Независимо от Килби приблизительно в то же время Роберт Нойс(RobertNoyce) в основанной им вместе c Гордоном Муром (GordonMoore) и еще шестью коллегами компанииFairchildSemiconductorобъединил полупроводниковые элементы на едином кристалле кремния.
Первый микропроцессор
Первый микропроцессорвыпущен в 1971 году фирмой Intel Corp.Это был Intel 4004.
Микросхема включала в себя 2250 транзисторов и имела тактовую частоту около 100 кГц.В серию 4xxxвходили и другие м/с (4001, 4002 и др.).
Мэйнфреймы
Мэйнфрейм- большой универсальный компьютер.
Доминировали системы фирмы IBM.
IBMSystem/360
IBMSystem/370
Суперкомпьютеры
Суперкомпьютер– универсальный компьютер большой вычислительной мощности.
Сегодня это обычно многопроцессорные системы или компьютерные кластеры.Cray-1(133MFLOPS), также -2, -3, -4
Сайт «Топ-500» (www.top500.org):
Nebulae,Fermi,Sequoia,Tianhe,Jaguar, …
Первые ПК
- Altair 8800 (фирмаMITS)
- Radio Shack TRS-80 (Tandy)
- Commodore PET (Commodore)
- Sinclair ZX81 (Sinclair)
- ZX Spectrum (Sinclair)
- Amiga 1000(Commodore)
Apple& IBM
Apple Iвыпущен в 1976 году.
Процессор 6502 (MOS Technology).
Apple II– 1977 год.
IBM PC– 1981 год.
Процессор 8088 (Intel).
IBM PC/XT– 1983 год.
2. Позиционные системы счисления. Перевод чисел из одной системы счисления в другую.
Система счисления – это совокупность правил для обозначения и наименования чисел.
Непозиционной называется такая система счисления, в которой количественный эквивалент каждой цифры не зависит от ее положения (места, позиции) в записи числа.
Система счисления называется позиционной, если значение цифры зависит от ее места (позиции) в записи числа.
Основанием системы счисления называется количество знаков или символов, используемых для изображения числа в данной системе счисления.
Наименование системы счисления соответствует ее основанию (например, десятичной называется система счисления так потому, что ее основание равно 10, т.е. используется десять цифр).
Системы счисления, используемые в компьютерах
Двоичная система счисления. Для записи чисел используются только две цифры – 0 и 1. Выбор двоичной системы объясняется тем, что электронные элементы, из которых строятся ЭВМ, могут находиться только в двух хорошо различимых состояниях. По существу эти элементы представляют собой выключатели. Как известно выключатель либо включен, либо выключен. Третьего не дано. Одно из состояний обозначается цифрой 1, другое – 0. Благодаря таким особенностям двоичная система стала стандартом при построении ЭВМ.
Восьмеричная система счисления. Для записи чисел используется восемь чисел 0,1,2,3,4,5,6,7.
Шестнадцатеричная система счисления. Для записи чисел в шестнадцатеричной системе необходимо располагать шестнадцатью символами, используемыми как цифры. В качестве первых десяти используются те же, что и в десятичной системе. Для обозначения остальных шести цифр (в десятичной они соответствуют числам 10,11,12,13,14,15) используются буквы латинского алфавита – A,B,C,D,E,F.
Перевод чисел из одной системы счисления в другую.
Правило перевода целых чисел из десятичной системы счисления в систему с основанием q:
1. Последовательно выполнять деление исходного числа и получаемых частных на q до тех пор, пока не получим частное, меньшее делителя.
2. Полученные при таком делении остатки – цифры числа в системе счисления q – записать в обратном порядке (снизу вверх).
Перевод чисел из любой системы счисления в десятичную.
3. Правило: Для того чтобы число из любой системы счисления перевести в десятичную систему счисления, необходимо его представить в развернутом виде и произвести вычисления.
Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления (Перевод целых чисел).
Правило: Чтобы перевести целое двоичное число в восьмеричную (8=23) систему счисления необходимо:
- разбить данное число справа налево на группы по 3 цифры в каждой;
- рассмотреть каждую группу и записать ее соответствующей цифрой восьмеричной системы счисления.
Правило: Чтобы перевести целое двоичное число в шестнадцатеричную (16=24) систему счисления необходимо:
1. разбить данное число справа налево на группы по 4 цифры в каждой;
2. рассмотреть каждую группу и записать ее соответствующей цифрой шестнадцатеричной системы счисления.
Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную систему счисления.
3. Правило: Для того, чтобы восьмеричное (шестнадцатеричное) число перевести в двоичную систему счисления, необходимо каждую цифру этого числа заменить соответствующим числом, состоящим из 3 (4) цифр двоичной системы счисления.
3. Арифметика ЭВМ. Представление чисел в форме с фиксированной точкой.
· Отличие машинной арифметики от арифметики обычной состоит в том, что разрядность чисел в машине конечна.
· Ограниченность чисел обусловлена ограниченностью разрядной сетки (разрядности процессора).
· Бесконечная числовая ось в машине отображается конечным множеством точек. N = 2n (n – разрядность)
Информация в памяти ЭВМ хранится и обрабатывается в двоичной системе счисления. Неделимой наименьшей единицей хранения информации является один бит, т.е.. двоичный разряд, который может принимать значения 0 или 1.
Группа из 8 битов называется байтом. Вся оперативная память состоит из байтов, которые нумеруются с 0. Последовательность в 1024 байта называется 1килобайт (1 кбайт = 1024 байта); 1 мегабайт = 1024 Кбайт,
1 гигабайт = 1024 Мбайт, 1 терабайт = 1024 Гбайт,
1 петабайт = 1024 Тбайт, 1экзабайт = 1024 Пбайта.
Адресом любого данного считается адрес (номер) самого первого байта поля памяти, выделенной для его хранения.
Форма записи данных в памяти ЭВМ называется внутренним представлением данных. В ЭВМ применяют две формы представления чисел: с фиксированной и с плавающей точкой.
Хранение чисел с фиксированной точкой
Для хранения информации в оперативной памяти служит ячейка. Существуют ЭВМ, в которых ячейка имеет постоянную длину, в ПК – переменную. Наименьшая длина – 1 байт. Есть ячейки в 2, 4, 6, 8, 10 байт. Ячейка в 2 байта называется словом, в 4 – двойным словом, в 1 байт – полусловом. Будем считать, что байты размещаются так(k=2, 4, 6, 8, 10):
При представлении чисел с фиксированной точкой местонахождение точки фиксируется в конкретном месте ячейки относительно разряда числа.
Каждый бит имеет свой вес в байте. Если в байте точка зафиксирована справа и используется беззнаковая форма хранения целых положительных чисел, то биты имеют вес в соответствии со схемой:
Для представления целых чисел используют два варианта: со знаком и без знака. В первом случае выделяют «знаковый» разряд (обычно крайний слева) и сохраняют там 0 («+») или 1 («-»)
Если местонахождение точки фиксируется перед старшим разрядом, то вес разрядов в байте будет другим:
В этом формате могут быть числа – правильные дроби.
Для представления целых числе в форме с фиксированной точкой со знаком в ЭВМ применяют прямой, обратный и дополнительный коды. Идея такова: код трактуется как число без знака, а диапазон чисел без знака разбивается на два поддиапазона. Один из них дает положительные числа, а другой – отрицательные. Разбиение выполняется таким образом, чтобы принадлежность к диапазону определялась максимально просто.
Очень удобно формировать коды так, чтобы значение старшего разряда показывало на знак числа
Формат с фиксированной запятой:
• используется ПК или ДК (чаще),
• числа расположены равномерно по числовой оси,
• дискретность (расстояние между соседними числами) постоянная на всем диапазоне.
4. Сложение в формате с фиксированной точкой. Переполнение.
Таблица сложения для двоичной арифметики:
Сложение осуществляется довольно просто, но при сложении больших чисел может возникнуть переполнение разрядной сетки и компьютеру важно его обнаружить и предупредить.
Обнаружение переполнения разрядной сетки при сложении может производиться несколькими способами.
Самый простой способ – использование модифицированного кода (с двумя знаковыми разрядами).
Старший знаковый разряд даже при переполнении сохраняет информацию о знаке результата («Разряд знака»).
Младший – «Разряд переполнения». Комбинация знаков при «положительном» переполнении – 01, при «отрицательном» – 10.
Недостаток способа модифицированного кода — расширение разрядной сетки на один разряд.
Второй способ обнаружения переполнения - сравнение переносов в знаковый разряд и из знакового разряда. Переполнение - при несовпадении этих переносов. Фактически здесь тоже «задействован» модифицированный дополнительный код.
Случай А. Неотрицательные операнды.
Правило сравнения переносов дает значение признака переполнения:
φр = 0 ÅX = X (переполнение при X = 1).
Слева от штриховой черты показаны значения воображаемого модифицированного дополнительного кода. Правило этого способа дает такое же значение признака переполнения:
φм = 0 ÅX = X
Третий способ - сравнение знаков. Реализуется программно (микропрограммно). Сначала проверяется, имеют ли операнды одинаковые знаки. И, если имеют, совпадает ли с этими знаками знак результата. Переполнение соответствует несовпадению (рис. 4).
5. Операция вычитания с фиксированной точкой. Дополнительный код числа.
Таблица вычитания
Очень часто в вычислениях должны использоваться не только положительные, но и отрицательные числа.
Число со знаком в вычислительной технике представляется путем представления старшего разряда числа в качестве знакового. Принято считать, что 0 в знаковом разряде означает знак «плюс» для данного числа, а 1 – знак «минус».
Выполнение арифметических операций над числами с разными знаками представляется для аппаратной части довольно сложной процедурой. В этом случае нужно определить большее по модулю число, произвести вычитание и присвоить разности знак большего по модулю числа.
Применение дополнительного кода позволяет выполнить операцию алгебраического суммирования и вычитания на обычном сумматоре.При этом не требуется определения модуля и знака числа.
Прямой код представляет собой одинаковое представление значимой части числа для положительных и отрицательных чисел и отличается только знаковым битом. В прямом коде число 0 имеет два представления «+0» и «–0».
Обратный коддля положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется из прямого кода положительного числа путем инвертирования всех значащих разрядов прямого кода. В обратном коде число 0 также имеет два представления «+0» и «–0».
Дополнительный код для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется путем прибавления 1 к обратному коду. Добавление 1 к обратному коду числа 0 дает единое представление числа 0 в дополнительном коде. Однако это приводит к асимметрии диапазонов представления чисел относительно нуля. Так, в восьмиразрядном представлении диапазон изменения чисел с учетом знака.
-128 <= x <= 127.
Таблица прямого, обратного и дополнительного кода 4-битных чисел.