Сопроцессор - что такое? Описание и отзывы о работе. Математический сопроцессор

Для выполнения арифметических операций с плавающей точкой имеется специальный арифметический процессор, называемый сопроцессором. В отличие от CPU он не управляет системой, а ждет команду CPU на выполнение арифметических вычислений и формирование результатов. Согласно заявлениям фирмы Intel по сравнению с CPU арифметический сопроцессор может уменьшить время выполнения арифметических операций, таких как умножение и возведение в степень, на 80% и более. Скорость выполнения сложения и вычитания, как правило, остается без изменения.

Сопроцессор является только обиходным названием для этого чипа. Полностью он называется математическим сопроцессором или Numeric Processing Unit (NPU) или Floating Point Processing Unit (FPU).

Наличие сопроцессора на материнской плате не является обязательным, поэтому на его месте может оказаться пустой разъем для дальнейшей установки сопроцессора. Исключением являются все CPU 486DX и выше - здесь сопроцессор интегрирован прямо в CPU.

В первую очередь область применения сопроцессоров - научно-технические приложения, связанные с выполнением большого количества арифметических операций. Однако это не является ограничением использования. Обычно NPU ускоряет работу любой программы - даже программы обработки текстов, так как работа с текстовыми блоками и модулями требует сложных вычислений. Также сопроцессор существенно ускоряет обработку графических изображений и выполнение программ CAD.

Оперативная память

Элементы памяти составляют основу внутреннего функционирования любой вычислительной системы, так как с их помощью данные хранятся и могут быть вновь прочитаны при дальнейшей обработке.

Чтобы CPU мог выполнять программы, они должны быть загружены в оперативную память (в область памяти, доступную для программ пользователя). CPU имеет непосредственный доступ к данным, находящимся в оперативной памяти (Random Access Memory, RAM - память с произвольным доступом, ОЗУ), с другой же -"периферийной", или внешней, памятью (гибкими и жесткими дисками) процессор работает через буфер, являющийся разновидностью оперативной памяти, недоступной пользователю. Только после того, как программное обеспечение будет считано в RAM с внешнего носителя данных, возможна дальнейшая работа системы в целом. Оперативная память представляет собой самую быструю запоминающую среду компьютера. Принципиально имеет значение то, что информация может быть как записана в нее, так и считана.

Оперативная память имеет свои достоинства и недостатки:

Благодаря малому времени доступа к памяти скорость обработки данных существенно возрастает. Если бы информация считывалась только с внешних носителей, то пользователь проводил бы в ожидании завершения выполнения той или иной операции много времени

Недостатком оперативной памяти является то, что она является временной памятью. При отключении питания оперативная память полностью "очищается", и все данные, не записанные на внешний носитель, будут навсегда потеряны

Оперативная память принадлежит к категории динамической памяти, т. е. ее содержимое во время эксплуатации должно "освежаться" через определенные интервалы времени.

Запоминающим элементом динамической памяти является конденсатор, который может находиться в заряженном или разряженном состоянии. Если конденсатор заряжен, то в ячейку записана логическая 1. Если конденсатор разряжен, то в ячейку записан логический 0. В идеальном конденсаторе заряд может сохраняться неопределенно долго. В реальном конденсаторе существует ток утечки, поэтому записанная в динамическую память информация со временем будет утрачена, так как конденсаторы запоминающих элементов через несколько миллисекунд полностью разрядятся. Во избежание потери информации существует процесс регенерации памяти (Refresh).

Оперативная память представляет собой плату (за исключением старых моделей PC, где микросхемы устанавливались прямо в материнскую плату), длинной около 8-и см., на которой размещены микросхемы DRAM (Dynamic RAM). Такая плата называется модулем и устанавливается в соответствующие слоты материнской платы. Наибольшее распространение в последнее время получили DIMM-модули. Также имели место SIP и SIMM-модули. Модули вставляются в специально предназначенные для них слоты на материнской плате, называемые банками (Banks).

Важной характеристикой (помимо объема) оперативной памяти является время доступа, которое характеризует интервал времени, в течение которого информация записывается в память или считывается из нее. Время доступа для внешних носителей, таких как гибкий или жесткий диски, выражается в миллисекундах, а для элементов памяти оно измеряется наносекундами.

Логическое распределение оперативной памяти

Логическое распределение оперативной памяти определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых PC.

Можно выделить три важнейшие логические области оперативной памяти:

Стандартная оперативная память (Conventional Memory) Важнейшая область памяти (первые 640 Кб). В ней расположена большая часть всех прикладных программ и данных.

UMA (Upper Memory Area) Здесь находится информация, которая служит для сопряжения прикладных программ с различными картами расширений. (384 Кб расположенные между 640Кб и 1Мб)

XMS (Extended Memory Specification) Вся память выше 1Мб. Используется Windows-приложениями

Сопроцессор - специализированный процессор, расширяющий возможности центрального процессора компьютерной системы, но оформленный как отдельный функциональный модуль. Физически сопроцессор может быть отдельной микросхемой или может быть встроен в центральный процессор.

Различают следующие виды сопроцессоров:

Математические сопроцессоры общего назначения, обычно ускоряющие вычисления с плавающей точкой,

Сопроцессоры ввода-вывода (например - Intel 8089), разгружающие центральный процессор от контроля за операциями ввода-вывода или расширяющие стандартное адресное пространство процессора,

Сопроцессоры для выполнения каких-либо узкоспециализированных вычислений.

Сопроцессор не является полноценным процессором, так как не производит многих операций, характерных для процессора (например, не умеет работать с программой и вычислять адреса памяти), являясь периферийным устройством центрального процессора.

Одна из схем взаимодействия центрального процессора и сопроцессора, применяемая, в частности, в x86 сопроцессорах, реализуется следующим образом:

Сопроцессор подключен к шинам центрального процессора, а также имеет несколько специальных сигналов для синхронизации процессоров между собой.

Часть командных кодов центрального процессора зарезервирована для сопроцессора. Центральный процессор декодирует и последовательно выполняет команды. Когда возникает команда, которая должна выполняться сопроцессором, центральный процессор передает код операции сопроцессору. При этом, если необходимо дополнительное обращение к памяти (для чтения или записи результатов), сопроцессор производит «захват» шины данных.

После получения команды и необходимых данных сопроцессор начинает её выполнение. Пока сопроцессор выполняет команду, центральный процессор выполняет программу дальше, параллельно с вычислениями сопроцессора. Если следующая команда также является командой сопроцессора, процессор останавливается и ожидает завершения выполнения сопроцессором предыдущей команды.

Существует специальная команда ожидания (FWAIT), принудительно останавливающая процессор до завершения вычислений (если для продолжения программы необходимы их результаты). В настоящее время команда используется лишь для обработки исключений при работе с плавающей точкой, работа процессора и сопроцессора синхронизируется прозрачно для программиста.

Начиная с процессора Intel486DX модуль операций с плавающей запятой был интегрирован в центральный процессор и назван FPU. В линейке Intel486SX модуль FPU отключался (поначалу в эту линейку попадали процессоры с бракованным FPU). Для процессоров Intel486SX выпускался «сопроцессор» Intel487SX, но, фактически, он являлся процессором Intel486DX и при его установке процессор Intel486SX отключался.


Несмотря на интеграцию, FPU в процессорах i486 представляет собой неизменный сопроцессор, выполненный на том же кристалле, более того, схема FPU i486 полностью идентична сопроцессору предыдущего поколения 387DX вплоть до тактовой частоты (в два раза меньшей, чем частота центрального процессора). Настоящая интеграция FPU c центральным процессором началась только в процессорах Pentium модели MMX.

Широкое распространение в соответствующий период получили сопроцессоры для платформы x86, выпускавшиеся компанией Weitek - ею были выпущены 1167, 2167 в виде набора микросхем и микросхемы 3167, 4167, для процессоров 8086, 80286, 80386, 80486, соответственно. По сравнению с сопроцессорами от Intel они обеспечивали в 2-3 раза большую производительность, но обладали несовместимым программным интерфейсом, реализованным через технологию memory-mapping. Она сводилась к тому, что основной процессор должен был записывать информацию в те или иные области памяти, контролируемые сопроцессором. Конкретный адрес, куда производилась запись, интерпретировался в качестве той или иной команды. Несмотря на несовместимость, сопроцессоры от Weitek были широко поддержаны как разработчиками программного обеспечения, так и производителями материнских плат, предусматривавших использование такой микросхемы.

Ряд других компаний выпускал различные несовместимые математические сопроцессоры, реализуя интерфейс к ним через порты ввода-вывода или прерывания BIOS, но они не получили такого широкого распространения.

Сопроцессор- специальная интегральная схема, которая работает в содружестве с

главным процессором. Обычно сопро цессор настраивается на выполнение

какой-нибудь специфи ческие функции - математической операции или графического

представления. И эту операцию сопроцесссор может реализо вать во много раз

быстрее, чем главный процессор. Таким об разом компьютеp с сопроцессором

работает намного проворнее.

Сопроцессор - это обычный микропроцессор, но не столь универсальный. Обычно

сопроцессор разрабатывается как спе циальное устройство по реализации конкретно

определенной функции. Так репертуар сопроцессора ограничен, он может ре

ализовывать выделенные для него функции как никто другой.

Как и любой другой микpопpоцессоp, сопроцессор работа ет по тем же принципам. Он

просто выполняет программы со держащие последовательность микpопpоцессоpных

команд. Соп роцессор не держит под управлением основную массу цепей компьютеpа.

В обычном режиме микpопpоцессоp выполняет все функции компьютеpа. И лишь когда

встречается задача с которой лучше справится сопроцессор, ему передаются данные

и команды уп равления, а центральный процессор ожидает результаты.

Сопроцессоры, большей частью использующиеся в PC, яв ляются математическими

сопроцессорами. В математике они специализируются по умножению и делению чисел.

Математические сопроцессоры называют ещё процессорами с плавающей запятой,

потому что они особенно ярко проявляют свои возможности в этой области

математики. Числа с плаваю щей запятой часто используются в научных расчетах и

представляются, как правило, мантиссой и ординатой.

Преимущество, получаемое от установки математического сопроцессора, зависит от

того какие задачи решаются на компьютере. Согласно утверждению Intel сопроцессор

может уменьшить время выполнения математических операций, таких как

умножение,деление, возведение в степень на 80% и более.

Скорость выполнения простых операций, таких как сложение и вычитание практически

не уменьшается.

С практической точки зрения, производительность систе мы, касающейся подготовки

текстов и ведения базы данных - функций, не требующих сложных математических

расчётов, не может быть улучшена математическим сопроцессором.

Сопроцессор и главный микропроцессор могут работать на разных тактовых частотах

(от собственных тактовых генерато ров).

Когда отношение частот микропроцессора и сопроцессора выражается целым числом,

они работают синхронно и могут пе редавать информацию друг другу оптимальным

образом. Несинх ронизированая работа требует, чтобы один или другой из них

ожидал завершения цикла своего партнёра, что влечёт за со бой появление

небольшого, но реального периода ожидания.

Семейство сопроцессоров Intel составляют: 8087, 80287, 80387, 80387SX.

Каждый из них специально разработан для работы с соот ветствующим

микропроцессором главного семейства Intel. Каж дый из этих четырёх имеет свои

характерные особенности. Ог раничения по единовременной обработке информации в

8, 16, 32 бит остались далеко позади. Сопроцессоры Intel брабаты вают сразу 80

бит. Каждый сопроцессор содержит восемь 80-битных регистров, в которых он и

осуществляет свои вы числения. Они работают с 32-, 64- или 80-битными числами с

плавающей запятой; 32- или 64-битными целыми числами. Как правило сопроцессоры

работают как придатки центрального.

Оба процессора висят на адресно-информационных линиях компьютера и выполняют

каждый свои команды по мере их появления в программе. Сопроцессоры могут

выполнять свои функции параллельно с работой центрального процессора, то есть

оба мозга в данном случае думают одновременно, потому что каждый из них читает

свои команды прямо с шины, и цент ральному процессору не приходится прерываться,

чтобы выдать команду сопроцессору.

Этот сопроцессор бал разработан специально для исполь зования с Intel 8086,

8088, 80186, 80188. Поэтому у него идентичные с этими микропроцессорами

возможности по адреса ции и восприятию информации. Причём этот сопроцессор сам

настраивается на размер шины данных - восьми или шестнадца тибитную (8086 или

8088 семейства). Он устанавливается в стандартный 40-контактный разъём и

увеличивает список ко манд компьютера на 68 едениц.

Существуют три модификации этого сопроцессора, разли чающихся по частоте: 5, 8,

Точно так же, 80286 является расширением 8086, 80287 является развитием 8087.

Главным достоинством 80287 служит возможность функционировать как в реальном,так

и в защищен ном режиме 80286 микропроцессора. Он имеет возможность ад ресации ко

всем 16М памяти.

80287 почти полностью совместим с 8087 и может исполь зоватьпочти всё

программное обеспечение последнего. Главное функциональное отличие этих

сопроцессоров в способе обра ботки сбойных ситуаций. При выявлении ошибки эти

чипы могут вести себя по разному. Впрчем программное обеспечение может

скомпенсировать эти расхождения.

80287 размещается в 40-контактном DIP-корпусе. Но не в пример своему младшему

собрату, 80287 может работать с от личной от центрального микропроцессора

тактовойчастотой.

микропроцессора, в него встроена цепь делите ля, которая уменьшает внутреннюю

частоту в три раза.

Используя свой собственный генератор, 80287 может су щественно повысить свою

производительность.

Так же, как и у 8087, 80287 различают четыре модифика ции, различающихся по

80287 совместим с 80386 микропроцессором. Однако они работают на разных

частотах, и, следовательно, требуется специальный интерфейс для доступа к шине

данных 80386. Бо лее того, так как 80287 - 16-битный чип, все взаимосвязи с

80386 должны осуществляться 16-битными словами, что потен циально уменьшает

производительность.

80387 и 80387SX

Точно так же, как Intel, учтя уроки прошлого, произвёл 80386, 80387 стал

дальнейшей разработкой 80287 сопроцессо ра. Оставаясь командно совместимым с

80287, 80387 увеличил скорость манипуляций данными. Но опять-таки имелись расхож

дения в обработке ошыбок. Зато возможности 80387 были боль ше - он реализовывал

все трансцендентные и логарифмические функции.

80387SX - всесторонне похож на 80387, но предназнача ется для работы на

16-битной шине 80386SX вместо 32-битной шины данных.

80387 и 80387SX могут выполнять все программы для 80287. Обратное не

эквивалентно. Главной проблемой 387-х являются немного отличающиеся результаты

вычислений трансцендентальной функции от 80287.

80387 работает на той же частоте что и центральный процессор. Имеются

соответствующие модификации этого сопро цессора вплоть до 25 Мгц.

Математический сопроцессор - это специальный модуль для выполнения операций с плавающей запятой, который работает в содружестве с центральным процессором.
Математический сопроцессор не является обязательным элементом персонального компьютера. От него, в принципе, можно отказаться. Так раньше и поступали из соображений экономии.
Однако, при решении задач, которые требовали выполнения большого количества математических вычислений, например, при научных или инженерных расчетах, остро встал вопрос о повышении производительности компьютера.
Для этого решили использовать дополнительный специальный процессор, который "настроен" на выполнение математических операций и реализует их во много раз быстрее, чем центральный процессор. Таким образом, была получена возможность наращивать производительность центрального процессора за счет специального модуля - математического сопроцессора.
Не в пример центральному процессору, математический сопроцессор не держит под управлением основную массу цепей компьютера. Наоборот, вся деятельность математического сопроцессора определяется центральным процессором, который может посылать математическому сопроцессору команды на выполнение программ и формирование результатов. В обычном режиме центральный процессор выполняет все функции компьютера. И лишь, когда встречается задача, с которой лучше справится математический сопроцессор, ему выдаются данные и команды, а центральный процессор ожидает результаты. К таким задачам относятся, например, математические операции между вещественными числами (операции между числами с плавающей запятой), где числа представлены мантиссой и ординатой (десятичная степень числа, определяющая положение десятичной запятой).
Если раньше, в компьютерах первых поколений (i80386, i80486) модуль математического сопроцессора устанавливался на материнскую плату в виде отдельного чипа, то в современных компьютерах использование математического сопроцессора, как отдельного чипа, не требуется, поскольку он уже встроен в центральный процессор.
Преимущества, которые вы получаете от использования математического сопроцессора, зависят от того, какие задачи решаются на вашем компьютере.
Согласно данным компании INTEL, математический сопроцессор может уменьшить время выполнения математических операций, таких, как умножение, деление и возведение в степень, на 80 процентов и более. Скорость выполнения простых математических операций, таких, как сложение и вычитание, не изменяется.
С практической точки зрения, производительность персонального компьютера, касающаяся подготовки текстов и ведения базы данных (функций, не требующих сложных математических расчетов), не может быть улучшена математическим сопроцессором. Однако, вы получите ощутимый прирост производительности при проведении научных и инженерных расчетов, обработке статистических данных, а также при работе с графикой, так как последняя требует интенсивных математических расчетов.

Рядовые пользователи обычно никогда не задумываются над тем, что такое сопроцессор, а подавляющее большинство вообще не знает о его существовании. Все меняется, когда операционная система с завидным упорством начинает капризничать и выдает сообщения о том, что соответствующий драйвер не найден. Что предпринять в такой ситуации? Решений можно найти достаточно много, однако без полного понимания, что собой представляет это устройство, ни одно из них в полной мере возникшую проблему не решит.

Что такое сопроцессор: общее понимание

Вам будет интересно:

Прежде всего давайте посмотрим, что это вообще такое и для чего нужно. Исходя из названия этого устройства, нетрудно сделать вывод о том, что это какой-то дополнительный процессор, который установлен в компьютерной системе вместе с главным (центральным). Как и ЦП, сопроцессор монтируется на материнской плате. Однако следует различать основные варианты его установки. Что касается устройства сопроцессора, он может быть представлен и в виде отдельной микросхемы (чипа), для которого на «материнке» отведено специальное место для монтажа (шина), и в виде компонента, встроенного прямо в центральный процессор.