|
Сопроцессоры
Прежде чем мы перейдем
к обсуждению процессоров Intel 486, которые относятся ко второму поколению 32-разрядных
процессоров, надо вспомнить еще об одной линии компьютерных микросхем — математических
сопроцессорах, предназначенных для использования в компьютерах.
Когда-то тема использования
сопроцессора была так же актуальна, как сегодня диспут о различных ускорителях
для видеокарт. Теперь же, когда в процессорах Pentium сопроцессор встроен непосредственно
в ядро, являясь одним из его многочисленных логических блоков, о нем вспоминают
только программисты. Но поскольку принципы работы встроенного сопроцессора остались
неизменными, и с учетом того, что в процессорах Pentium MMX регистры сопроцессора
используются по другому назначению, то кратко рассмотрим историю развития и
этого семейства микросхем.
У компьютеров минимальная
единица данных — это бит, который может быть равен 0 или 1. Наиболее популярное
машинное слово — байт, в котором 8 битов. Если в байте все биты равны нулю,
то считается, что в байте записано число 0.
Добавляя по 1 к содержимому
байта, мы получим ряд:
- 0000 0001 — десятичное
число 1;
- 1111 1111 — десятичное
число 255 (в ряде случаев компьютер считает, что это минус единица). Получается
ряд целых чисел: 0, 1, 2, 3, ..., 100, ..., 255.
Микросхемы процессоров,
рассматриваемые в этой книге, могут отлично проводить арифметические действия
с любыми целыми числами: сложение, вычитание, умножение и деление. Но если попросить
разделить, например пять на два, то процессор честно ответит — два. Оказывается,
число 1,5 неизвестно процессору, т. к. оно является дробным числом.
Сделаем здесь небольшое
отступление и рассмотрим используемые в информационных технологиях системы счисления.
В компьютерной литературе широко используется двоичная и шестнадцатеричная системы
счисления. Для непрограммиста такой подход несколько неожидан, т. к. в реальной
жизни используется десятичная система счисления, например нумерация страниц
этой книги. Правда, современный человек вполне усвоил, что компьютеры оперируют
двоичной системой счисления: да — нет или 0 -- 1, а вот шестнадцатеричная система
счисления вызывает множество вопросов. Но тут следует сказать, что для описания
работы современных процессоров такая система счисления дает возможность легко
понимать содержимое регистров и разбираться с адресной информацией.
Для удобства запоминания
связи между разными системами счисления рассмотрите табл. и попробуйте перевести,
не смотря уже в таблицу, несколько десятичных чисел, например И и 68, в разные
системы счисления.
Обозначают, в какой системе
счисления записано число, несколькими способами. Для шестнадцатеричных чисел
наиболее очевиден вариант, когда к числу добавляется приставка Hex или Н. Но
программисты обычно используют другой способ, который применяется в листингах
программ и конфигурационных
файлах. В этом случае шестнадцатеричное число начинается символами "0х",
например 0x1, 0x367, OxFF71.
К двоичные числам добавляется
символ "b", например 1001 lib.
Для обозначения десятичных
чисел в большинстве случаев не применяют дополнительных символов, хотя иногда
может добавляться символ "D". В основном, такой способ выделения десятичных
чисел применяется в литературе по языку Ассемблера.
Системы
счисления
Для ускорения работы компьютера
уже в эру процессора 8086 выпускались математические сопроцессоры, которые умели
быстро выполнять операции с дробными числами, плавающей точкой, вычислять тригонометрические,
экспоненциальные и логарифмические функции. На старых системных платах рядом
с процессором (его также называют центральным процессором), всегда находился
сокет для математического сопроцессора.
Аппаратный интерфейс позволял
подключать сопроцессор непосредственно к выводам центрального процессора. Если
в процессе работы программе надо было использовать сопроцессор, то центральный
процессор передавал данные сопроцессору. Шина данных, когда это было нужно,
переходила в распоряжение сопроцессора.
Математические сопроцессоры
выпускались для процессоров 8086/8088, 80256, 80386 и имели маркировку 8087,
80287 и 80387. С первыми дроцессо-рами 486, в которых не было блока сопроцессора,
можно было использовать сопроцессор 80387.
Пользователь для ускорения
работы своего персонального компьютера мог купить сопроцессор и самостоятельно
установить его в соответствующий сокет. Так как сопроцессоры были дорогими,
то вместо микросхемы 80287 можно было установить 8087, а вместо 80387 — 80287.
|
|