Модель вычислений

Материал из ЭНЭ
Версия от 22:58, 25 августа 2015; Yury Tarasievich (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Модель вычислений (computing model, computational model, model of computation): модель вычислительного оборудования, способного исполнять программу (алгоритм). Модели такого рода характеризуются степенью подробности и степенью абстрагированности (отвлечённости) описания от реального оборудования и используются для разработки и исследования программ и алгоритмов.[1],[2]

В случае последовательного вычисления на цифровом оборудовании все вычислительные модели имеют в основе модель архитектуры фон Неймана и различаются лишь уровнем абстрагированности от неё. Примерами таких моделей являются равнодоступная адресная машина (РАМ), равнодоступная адресная машина с хранимой программой (РАСП), машина Тьюринга.[1] По причине столь большой схожести общепринятых классификаций моделей последовательного вычисления нет, как отмечено в 1992 году[2].

В случае параллельных вычислений предложена (1992) классификация моделей параллельных вычислений, определяющая четыре класса (уровня): модель машины, модель архитектуры, модель расчёта, модель программирования[2].

Модель машины

Модель машины (machine model): модель наинизшего уровня отвлечённости (абстрактности). Рассматривает вычислительное оборудование как собственно оборудование совокупно с операционной системой.[2]

Например, программирование на ассемблере можно считать использующим этот уровень моделей вычислений.[2]

Модель архитектуры

Модель архитектуры (architectural model): модель следующего уровня отвлечённости; описывает обобщённые характеристики (конкретных экземпляров) оборудования и операционной системы.[2]

Например, для последовательных ЭВМ (с одним исполняющим устройством) архитектура описывается моделью фон Неймана. Для параллельного вычислительного оборудования (ПарВМ) описывается топология внутренней сети, но не её аппаратное осуществление, синхронность ПарВМ, соответствие одному из классов Флинна, общая организация рабочей памяти (общая или распределённая).[2]

Модель расчёта

Модель расчёта (по-английски, как и модели вычислений вообще, называется computational modelилиmodel of computation): модель следующего уровня отвлечённости; описывает обобщённые характеристики целого класса вычислительного оборудования, рассматриваемого по его модели архитектуры.[2]

Например, модель РАМ[1] это широко распространённая модель для исследования алгоритмов; имеет в своей основе модель архитектуры фон Неймана.[2]

Поскольку модель расчёта используется обычно в теоретической работе, модель такого уровня также называют абстрактной или формальной моделью – имея в виду, что оборудование в ней не описывается даже столь обобщённо, как в модели архитектуры. Соответственно, в отношении последовательных вычислений модели расчёта и архитектуры могут и не различаться, или различаться лишь по наличию на уровне модели расчёта дополнительных характеристик наподобие стоимости' действия. Однако, например, модель параллельного расчёта ПРАМ уже не может быть воплощена в реальной архитектуре параллельного вычислительного оборудования, и на реальном оборудовании её работа лишь имитируется.[2]

Модель программирования

Модель программирования (programming model): модель следующего уровня отвлечённости; описывает вычислительное оборудование в понятиях семантики конкретного языка программирования.[2]

Одно из ключевых различий с моделью расчёта: модель расчёта рассматривает память как последовательность ячеек, а модель программирования – как структуру данных (определённых в языке программирования), возможно сложную.[2]

Ю.Т.

Ссылки и примечания
  1. 1,0 1,1 1,2 Построение и анализ вычислительных алгоритмов, гл.1.
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 A practical hierarchical model of parallel computation.

Источники

  • Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хопкрофт, Дж. Ульман ; пер. с англ. А.О. Слисенко ; под ред. Ю.В. Матиясевича. – М. : Мир, 1979. – 536 с.
  • A practical hierarchical model of parallel computation: the model / T. Heywood, S. Ranka // J. Parallel Distr. Comp. – 1992. – V. 16, № 3. – P. 212–232.