<<
>>

Глава 17 Архитектура и программирование сопроцессора

⅝⅛ Архитектура Р Форматы данных fe· Система команд ⅜* Исключения и их обработка р Использование отладчика В предыдущих главах мы рассматривали команды и алгоритмы обработки цело- численных данных, то есть чисел с фиксированной точкой (см.
главы 5 и 8). Для обработки числовых данных в формате с плавающей точкой процессоры IA-32 содержат специальное устройство, которое является важной частью их архитектуры. Устройства для обработки чисел с плавающей точкой появились в компьюте- рах давно. С точки зрения архитектуры они выглядели по-разному. Так, в архи- тектуре ЕС ЭВМ (аналог IBM 360/370) устройство с плавающей точкой было естественной частью этой архитектуры со своим регистровым пространством и под- системой команд. Архитектура компьютеров на базе процессоров вначале опира- лась исключительно на целочисленную арифметику. С ростом мощи, а главное, с осознанием разработчиками процессорной техники того факта, что их устрой- ства могут составить достойную конкуренцию своим «большим» предшественни- кам, в архитектуре компьютеров на базе процессоров стали появляться устройства для обработки чисел с плавающей точкой. В архитектуре семейства процессоров Intel 80x86 устройство для обработки чисел с плавающей точкой появилось в составе компьютера на базе процессора i8086/88 и получило название матема- тический сопроцессор (далее просто сопроцессор). Выбор такого названия был об- условлен тем, что, во-первых, это устройство было предназначено для расшире- ния вычислительных возможностей основного процессора, а во-вторых, оно было реализовано в виде отдельной микросхемы, то есть его присутствие было необяза- тельным. Микросхема сопроцессора для процессора i8086/88 имела название i8О87. С появлением новых моделей процессоров Intel совершенствовались и сопроцес- соры, хотя их программная модель осталась практически неизменной. Как отдель- ные (а соответственно, необязательные в конкретной комплектации компьютера) устройства сопроцессоры сохранялись вплоть до модели процессора iЗ86 и имели название i287и iЗ87соответственно. Начиная с модели i486 сопроцессор исполня- ется в одном корпусе с основным процессором и, таким образом, является неотъемлемой частью компьютера.
Для чего нужен сопроцессор, какие возможности добавляет он к тому, что де- лает основной процессор, кроме обработки еще одного формата данных? Перечис- лим некоторые из них. Я Полная поддержка стандартов IEEE-754 и 854 на арифметику с плавающей точкой. Эти стандарты описывают как форматы данных, с которыми должен работать сопроцессор, так и набор реализуемых им функций. Поддержка численных алгоритмов для вычисления значений тригонометри- ческих функций, логарифмов и т. п. Эта работа сопроцессора выполняется аб- солютно прозрачно для программиста, что само по себе очень ценно, так как не требует от него разработки соответствующих подпрограмм. ⅞ Обработка десятичных чисел с точностью до 18 разрядов, что позволяет сопро- цессору без округления выполнять арифметические операции над целыми де- сятичными числами со значениями до 1018. ш Обработка вещественных чисел из диапазона 3,37 • 10~4932...1,18 • 10+49‘i2. Нужно отметить, что в последние годы разработчики компьютерной перифе- рии все активнее освобождают центральный процессор от части вычислений с целью более эффективной реализации специализированных операций. Очень ярко это проявляется на рынке мультимедийного оборудования, где множество разработчиков предлагают видеокарты с чипсетами (наборами микросхем), более эффективно реализующими работу с графикой, чем это делает сам процессор. Не- смотря на это дополнение системы целочисленных команд процессора командами сопроцессора предоставляет ряд уникальных свойств и возможностей, пренебре- гать которыми было бы опрометчиво.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Глава 17 Архитектура и программирование сопроцессора:

  1. Глава 2 Отрицательное и положительное программирование
  2. Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
  3. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  4. Архитектура
  5. Молитва о возрождении на Земле Священной Архитектуры
  6. Откровение Мастеров. Архитектура – наука о Времени
  7. Основной курс (Программирование)
  8. Иванова Г.С. Основы программирования, 2002
  9. Эстетика программирования
  10. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
  11. О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ, 2008
  12. Часть вторая Родительское программирование
  13. Программирование телевизионного вещания
  14. Часть вторая Родительское программирование СУДЬБА ЧЕЛОВЕКА
  15. Нейро-лингвистическое программирование
  16. Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения, 2013
  17. ПРОГРАММИРОВАНИЕ НА УСПЕХ