Что такое сопроцессор. Функции и принципы работы математического сопроцессора

Чипсет - набор микросхем, спроектированных для совместной работы с целью выполнения набора заданных функций.

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

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

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

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

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

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

Характеристики:

Параметр Частота шины (МГц) Поддержка SDRAM Макс. объем оперативной памяти Пиковый обмен с памятью Мбайт/с

21. ПАМЯТЬ КОМПЬЮТЕРА, КАК УСТРОЕНА КОМПЬЮТЕРНАЯ ПАМЯТЬ - это

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

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

22 . В состав внутренней памяти входят оперативная память, кэш-память и специальная память

Оперативная память (ОЗУ, RAM, Random Access Memory - память с произвольным доступом ) - это быстрое запоминающее устройство не очень большого объёма, непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами.

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

К устройствам специальной памяти относятся постоянная память (ROM), перепрограммируемая постоянная память (Flash Memory ), память CMOS RAM , питаемая от батарейки, видеопамять и некоторые другие виды памяти.



Роль BIOS двоякая: с одной стороны это неотъемлемый элемент аппаратуры (Hardware ), а с другой стороны - важный модуль любой операционной системы (Software ).

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

Модуль операций с плавающей запятой (или с плавающей точкой; англ. floating point unit (FPU)) - часть процессора для выполнения широкого спектра математических операций над вещественными числами.

Система включает около 80 команд. Их классификация:

1) Команды передачи данных: - Вещественные данные; - Целочисленные данные; - Десятичные данные.

2) Команды сравнения данных: - Вещественные данные; - Целочисленные данные; - Анализ; - С нулём.

3) Арифметические команды: - Вещественные данные: сложение, вычитание, умножение, деление;

4) Целочисленные данные: сложение, вычитание, умножение, деление; - Вспомогательные арифметические команды (квадратный корень, модуль, изменение знака, выделение порядка и мантиссы).

5) Трансцендентные команды: - Тригонометрия: синус, косинус, тангенс, арктангенс; - Вычисление логарифмов и степеней.

6) Команды управления: - Инициализация сопроцессора; - Работа со средой; - Работа со стеком; - Переключение режимов

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

Математический сопроцессор 80x287 в колодке на материнской плате персонального компьютера.

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

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

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

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

Сопроцессоры могут входить в набор логики, разработанный одной конкретной фирмой (например Intel выпускала в комплекте с процессором 8086 сопроцессоры 8087 и 8089) или выпускаться сторонним производителем (например, Weitek (англ.) 1064 для Motorola m68k и 1067 для Intel 80286).

Микросхемы звукогенераторов - специализированные микросхемы для генерации звука. Они могут использоваться для воспроизведения звуковых эффектов и синтезированной музыки (см. chiptune) в компьютерах, игровых системах (консолях, автоматах) и бытовой технике. Англоязычное название для микросхем этого типа - sound chip , в русской технической терминологии существует сокращение ПГЗ - программируемый генератор звука. Они могут быть полностью цифровыми, полностью аналоговыми, или смешанного типа. В их состав могут входить генераторы частоты (обычно основанные на делении входной тактовой частоты с программно изменяемым коэффициентом деления), контроллеры огибающей, схемы воспроизведения семплов, фильтры, и усилители сигнала.

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

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

Графический процессор (англ. graphics processing unit , GPU ) - отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг. Современные графические процессоры очень эффективно обрабатывают и отображают компьютерную графику. Благодаря специализированной конвейерной архитектуре они намного эффективнее в обработке графической информации, чем типичный центральный процессор. Графический процессор в современных видеоадаптерах применяется в качестве ускорителя трёхмерной графики.

Может применяться как в составе дискретной видеокарты, так и в интегрированных решениях (встроенных в северный мост, либо в гибридный процессор).

Вероятностный процессор оперирует вероятностями на аппаратном уровне. Математический аппарат основан на теореме Байеса

В некотором роде, вероятностный процессор реализует аналоговые вычисления на технологии КМОП. Подобный подход, теоретически, позволяет эффективно реализовать приближенные вычисления, основанные на нечеткой логике или нейронных сетях

· 1 Области применения

· 2 Прототипы

Области применения[править | править исходный текст]

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

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

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

Модуль операций с плавающей запятой (или с плавающей точкой ; англ. floating point unit (FPU) ) - часть процессора для выполнения широкого спектра математических операций над вещественными числами.

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

· 1 Сопроцессоры

o 1.1 Сопроцессоры Intel семейства x86

o 1.2 Сопроцессоры x86 от сторонних производителей

o 1.3 Другие платформы

· 2 Устройство FPU

o 2.1 Форматы данных

o 2.2 Регистры

o 2.3 Система команд сопроцессора

· 3 См. также

· 4 Примечания

Сопроцессоры[править | править исходный текст]

Основная статья: X87

x87 - это специальный набор инструкций для работы с математическими вычислениями, являющийся подмножеством архитектуры процессоров x86. Такое название он получил, потому что первоначальные отдельные математические сопроцессорные чипы имели названия, заканчивающиеся на 87 . Как и другие расширения базового набора инструкций процессора, эти инструкции не являются строго необходимыми для построения рабочей программы, но будучи аппаратно реализованными, общие математические задачи они позволяют выполнять гораздо быстрее. Например, в наборе инструкций x87 присутствуют команды для расчёта значений синуса или косинуса.

Сопроцессоры Intel семейства x86[править | править исходный текст]

Для процессоров семейства x86 с 8086/8088 по 386, модуль операций с плавающей запятой был выделен в отдельную микросхему, называемую математическим сопроцессором . Для установки сопроцессора на плате компьютера предусматривался отдельный разъём.

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

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

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

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

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

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

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

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

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

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

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

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

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

быстрее, чем главный процессор. Таким об разом компьюте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 Мгц.