- •1. История развития компьютерной техники Нулевое поколение — механические компьютеры (1642-1945)
- •Первое поколение — электронные лампы (1945-1955)
- •Принципы сформулированные в 1945 г. Американским ученым Джоном фон Нейманом.
- •Второе поколение — транзисторы (1955-1965)
- •Третье поколение — интегральные схемы (1965-1980)
- •Четвертое поколение — сверхбольшие интегральные схемы (1980-?)
- •2. Арифметические основы компьютеров
- •2.1. Что такое система счисления?
- •2.2. Как порождаются целые числа в позиционных системах счисления?
- •2.3. Какие системы счисления используют
- •2.4. Почему люди пользуются десятичной системой, а компьютеры — двоичной?
- •2.5. Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?
- •2.6. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?
- •2.7. Как пеpевести пpавильную десятичную дpобь в любую другую позиционную систему счисления?
- •2.8. Как пеpевести число из двоичной (восьмеpичной, шестнадцатеpичной) системы в десятичную?
- •2.10. Как компьютер выполняет арифметические действия над целыми числами? Сложение и вычитание
- •Умножение и деление
- •2.11. Как представляются в компьютере вещественные числа?
- •2.12. Как компьютер выполняет арифметические действия над нормализованными числами?
- •Сложение и вычитание
- •Умножение
- •Деление
- •3. Цифровой логический уровень Вентили
- •Булева алгебра
2.12. Как компьютер выполняет арифметические действия над нормализованными числами?
К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ.
Сложение и вычитание
При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков.
В процессе выравнивания порядков мантисса числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов, равное разности порядков операндов. После каждого сдвига порядок увеличивается на единицу.
В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются. В случае необходимости полученный результат нормализуется путем сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу.
Пример 1.Сложить двоичные нормализованные числа 0.10111 . 2-1и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:
Пример 2.Выполнить вычитание двоичных нормализованных чисел 0.10101 . 210и 0.11101 . 21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:
Результат получился не нормализованным, поэтому егомантисса сдвигается влево на два разрядас соответствующим уменьшением порядка на две единицы: 0.1101 . 20.
Умножение
При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.
Пример 3.Выполнить умножение двоичных нормализованных чисел:
(0.11101 . 2101) . (0.1001 . 211) = (0.11101 . 0.1001) . 2(101+11)= 0.100000101 . 21000.
Деление
При делении двух нормализованных чисел из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Затем в случае необходимости полученный результат нормализуется.
Пример 4.Выполнить деление двоичных нормализованных чисел:
0.1111 . 2100: 0.101 . 211= (0.1111 : 0.101). 2(100-11)= 1.1 . 21= 0.11 . 210.
Использование представления чисел с плавающей точкой существенно усложняет схему арифметико-логического устройства.
3. Цифровой логический уровень Вентили
Цифровая схема — это схема, в которой есть только два логических значения. Обычно сигнал от 0 до 1 В представляет одно значение (например, 0), а сигнал от 2 до 5 В — другое значение (например, 1). Напряжение за пределами указанных величин недопустимо. Крошечные электронные устройства, которые называются вентилями, позволяют получать различные функции от этих двузначных сигналов. Вентили лежат в основе аппаратного обеспечения, на котором строятся все цифровые компьютеры.
Описание принципов работы вентилей не является темой этой книги, поскольку относится к уровню физических устройств, который находится ниже уровня 0. Тем не менее мы очень кратко коснемся основного принципа, который не так уж и сложен. Вся современная цифровая логика основывается на том, что транзистор может работать как очень быстрый бинарный переключатель. На рис. (3.1, а) изображен биполярный транзистор, встроенный в простую схему. Транзистор имеет три соединения с внешним миром: коллектор, базу и эмиттер. Если входное напряжение Vinниже определенного критического значения, транзистор выключается и действует как очень большое сопротивление. Это приводит к выходному сигналу Vout, близкому к Vcc(напряжению, подаваемому извне), — для данного типа транзистора это обычно +5 В. Если Vinпревышает критическое значение, транзистор включается и действует как проводник, вызывая заземление сигнала Vout(по соглашению — это 0 В).
Важно отметить, что если напряжение Vin низкое, то Vout высокое, и наоборот. Эта схема, таким образом, является инвертором, превращающим логический 0 в логическую 1 и логическую 1 в логический 0. Резистор (ломаная линия) нужен для ограничения тока, проходящего через транзистор, чтобы транзистор не сгорел. На переключение из одного состояния в другое обычно требуется несколько наносекунд.
На рис. 3.1, б два транзистора соединены последовательно. Если и напряжение V1и напряжение V2высокое, то оба транзистора становятся проводниками и снижают Vout. Если одно из входных напряжений низкое, то соответствующий транзистор выключается и напряжение на выходе становится высоким. Другими словами, напряжение Voutявляется низким тогда и только тогда, когда и напряжение V1и напряжение V2высокое.
На рис. 3.1, в два транзистора соединены параллельно. Если один из входных сигналов высокий, включается соответствующий транзистор и снижает выходной сигнал. Если оба напряжения на входе низкие, то выходное напряжение становится высоким.
Эти три схемы образуют три простейших вентиля. Они называются вентилями НЕ, НЕ-И и НЕ-ИЛИ соответственно. Вентили НЕ часто называют инверторами. Мы будем использовать оба термина. Если мы примем соглашение, что высокое напряжение ( Vcc) — это логическая 1, а низкое напряжение («земля») — логический 0, то мы сможем выражать значение на выходе как функцию от входных значений. Значки, которые используются для изображения этих трех типов вентилей, показаны на рис. 3.2, а-в. Там же показаны режимы работы функции для каждой схемы. На этих рисунках А и В — входные сигналы, X — выходной сигнал. Каждая строка таблицы определяет выходной сигнал для различных комбинаций входных сигналов.