ВПЕРЁД ⇒
⇐ НАЗАД
Модель вычислений
Модель вычислений (computational model) задаёт допустимые типы операций, при помощи которых будут реализовываться любые алгоритмы.
Поскольку поддерживаемые наборы инструкций будут отличаться для процессоров с различными типами архитектур, то имеется смысл при рассмотрении/анализе алгоритмов поступать с наборами инструкций точно так же, как мы поступаем с языками программирования - абстрагироваться от них. Если в случае языков программирования абстракция вводилась в рассмотрение через псевдокод, то в случае наборов инструкций абстракция вводится в рассмотрение через модель вычислений, то есть через некоторую упрощённую модель работы компьютера/процессора.
RAM-модель вычислений
Модель RAM (random access model, random access memory, модель с произвольным доступом к памяти) предполагает, что все данные, необходимые для работы программы, располагаются в одном большом массиве, доступ (на чтение/запись) к каждой ячейке которого происходит в пределах одной логической операции (одной абстрактной аппаратной инструкции процессора с RAM-моделью вычислений). В модели RAM инструкции алгоритма выполняются последовательно, то есть параллельные вычисления в данной модели не рассматриваются. Предполагается, что любая из инструкций будет выполняться за одно и то же время, то есть все инструкции равнозначны между собой по трудозатратам (сюда же относятся и инструкции обращения к памяти на запись или чтение).
Когда мы запускаем программу, операционная система загружает исполняемый код программы (имплементацию/реализацию/экземпляр алгоритма) в оперативную память (RAM). При этом операционная система резервирует в RAM некоторый дополнительный объём памяти, который может потребоваться программе (алгоритму) во время её исполнения процессором. В этой дополнительной памяти программа может хранить входные и выходные данные, а также промежуточные результаты вычислений. Доступ к любым данным в RAM при этом выполняется всегда за одно и то же время (за одну, ранее упомянутую, абстрактную инструкцию).
Про RAM можно думать как о выстроенных в ряд коробках с последовательно возрастающей нумерацией/индексацией этих коробок. Обращение к коробкам для извлечения или размещения информации в них выполняется путём указания их номеров/индексов.
ВПЕРЁД ⇒
⇐ НАЗАД
Источники
Категория
Теги