Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AR_RLY.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
37 Кб
Скачать
☆

12. Управление памятью

Управление памятью, как правило, требует решения двух задач:

  1. распределение памяти между процессами;

  2. защита памяти от несанкционированного доступа.

Для решения этих задач рассмотрим различные пространства адресов и их взаимное отображение.

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

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

  2. Физическое пространство адресов ограничивается объемом реальной памяти конкретного компьютера.

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

При преобразовании логических адресов в физические возможны два случая:

  1. Пространства физических адресов больше пространства логических.

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

  1. Пространство логических адресов больше пространства физических.

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

13. Модели консистентности памяти

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

Основные модели консистентности:

  1. Строгая консистентность

Модель консистентности, в которой операция «чтение ячейки памяти с адресом х» должна возвращать значение, записанное самой последней операцией «запись» с адресом х.

  1. Слабая консистентность

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

А) доступ к синхронизированным переменным определяется моделью последовательной консистентности;

Б) доступ к синхронизированным переменным запрещен, пока не выполнены все предыдущие операции записи;

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

  1. Последовательная консистентность

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

  1. Причинная консистентность

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

14. Графический процессор. Особенности вычислений. Cuda.

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

ГП в видеоадаптерах применяется в качестве ускорителя 3-х мерной графики, однако его можно использовать и для вычислений.

Особенности:

  • Архитектура, нацеленная на увеличение скорости расчета текстур и сложных граф объектов

  • Ограниченный набор команд

Современные ЦП содержат несколько ядер. Количество ядер в ГП измеряется сотнями. ЦП лучше работает с последовательными задачами. ГП будет иметь преимущества при обработке большого объема инфы, если в ходе обработки наблюдается параллелизм.

CUDA – программно-аппаратная архитектура, которая позволяет производить вычисления с использованием графических процессоров NVIDIA, поддерживающих технологию GPGPU.

CUDA SDK позволяет программистам реализовать на спец упрощенном диалекте языка С алгоритмы, выполняемые на графических процессорах NVIDIA.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]