Программная оптимизация выполняется на этапе компиляции программы.Компилятор стремится распределить регистры процессора таким образом что бы разместить в них наиболее часто используемые переменные.
Аппаратная оптимизация ориентирована на сокращение затрат времени при работе с процедурами путем создания регистровых окон.
Регистровый окна - регистровый файл разбитый на группы.
VLIW архитиктура
VLIW архитектура с командными словами сверх большой длины. Базируется на том , что задача эффективного планирования паралелльного вполнения команд возлагается на разумный компилятор.
Такой компилятор вначале анализирует исходную программу с целью выявления конфликтов между командами.
Длина сверх длинной команды составляет от 256 до 1024 битов. Каждая сверхдлинная команда состоит из нескольких полей , в которых находятся команды, каждая из которых выполняется на отдельном функциональном блоке. В качестве команд находящихся в полях, выступают простые RISK команды.
Максимальное число полей в сверхдлинной команде равно числу функциональных блоков, обычно от 3 до 20. Все функциональные боки имеют доступ к единому регистровому файлу в котором хранятся данные команд.
EPIC
EPIC это архитектура в которой производится вычисления с явным паралелизмом команд.
Команды упаковываются компиляторов в сверхдлинную связку длиной 128 разрядов.Связка содержит 3 команды и шаблон в котором указывается зависимости между командами. Одна связка обрабатывается на 3 функциональных блоках процесса, благодаря чему достигается большая масштабируемость систем.
Побудительной причиной для создания многоядерных процессоров стала необходимость повышения производительности вычислительных машин. В рамках одного ядра проблема производительности может быть решена за счет гиперпотоковой обработки.
Гиперпотоковая обработка - когда обрабатывается 2 потока данных .
Особое средство для взаимодействия ядер помимо системных коммуникаций и общей кэш-памяти 3 уровня обычно отсутствует. Так же применение многоядерных технологий позволяет увеличить производительность ВМ без роста электропотребления.
Вычислительные машины.
ВМ - совокупность технических средств, создающая возможность проведения обработки информации и получения результата в необходимой форме. Под техничискими средствами понимают все оборудование предназначенное для автоматизированной обработки данных.
Алгоритм - одно из фундаментальных понятий математики и вычислительной техники. В международных стандарте это конечный упорядоченный набор четко определенных правил для решения проблемы.
Процесс порождаемый алгоритмом называют вычислительным процессом.
ВМ с хранимой в памяти программой называются Фон-Неймовская ВМ.
4 принципа Фон-неймовской ВМ:
1. Принцип двоичного кодирования
2. Принцип программного управления
3. Принцип однородности памяти
4. Принцип адресуемости памяти
Каждый тип информации представляющийся в двоичном виде имеет свой формат.
Последовательность битов в формате имеющая опр.смысл называется полем. В формате числа обычно выделяют поле знака и поле значащих разрядов.
В формате команды можно выделить 2 поля. Поле команды операции и поле адресов.
Вид адресной части и число составляющих её адресов зависит от типа команды:
1. Команды преобразования данных - адресная часть содержит адреса объектов обработки и результатов.
2. Команды изменения порядка вычислений - адресная часть содержит адрес следующей команды.
3. Команды ввода-вывода - АЧ содержит номер устройства ввода-вывода.
4. Код операции , представляет собой указаний какая операция должна быть выполнена
Принцип программного управления.
Все вычисления предусмотренный алгаритмом решения задачи должны быть представлены в виде программы состоящих из последовательности управляющих слов , то есть команд. Каждая команда программы входит в набор команд реализуемых ВМ. Команды программы хранятся в естественном порядке. Команды программы выполняются в порядке их расположения их в программе. Естественный порядок выполнения команд может быть изменен путем команды перехода по условию или без условия.
Принцип однородности памяти
Принстонская архитектура - предполагает для хранения команд и данных.
Порождает проблему пропускной способности тракта процесса памяти.
Гарвардская архитектура - предполагает отдельную память команд и отдельную память данных.
Принцип адресуемости памяти.
Адреса - это номера соответствующих ячеек памяти.
При относительной адресации для получения исполнительного адреса операнда содержимое поле Ак команды складываются содержимым счетчиком команд. Таким образом адресный код в команде представляет собой смещение относительно адреса текущей команды .