Похожие презентации:
курсовая работа КСК-32к Бартенев
1.
Областное бюджетное профессиональное образовательное учреждение«Курский электромеханический техникум»
(ОБПОУ «КЭМТ»)
«РАСЧЕТ ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ. ПУТИ ПОВЫШЕНИЯ
ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ»
КУРСОВАЯ РАБОТА
по ПМ.02 Проектирование управляющих программ компьютерных систем и
комплексов
Специальность 09.02.01. Компьютерные системы и комплексы
Выполнил:
студент 3 курса
группы КСК-32К
(очная форма обучения) __________________/А.А.Бартенев/
Руководитель:
Преподаватель __________________________ /К.Ю. Астафьева /
Оценка______________________________________________
Допущен к защите ________________________/К.Ю. Астафьева /
«____» _________________ 2026г.
Курск 2026
1
2.
СОДЕРЖАНИЕСОДЕРЖАНИЕ…………………………………………………………………...
2
ГЛАВА 1 ТЕОРИЯ ПРОИЗВОДИТЕЛЬНОСТЬ ЭВМ…………………………
5
1.1 Что такое производительность электронно-вычислительной машины и
метрики и методики производительности……………………………………... 5
1.2 Пути повышения производительности эвм………………………………... 9
ГЛАВА 2 ПРАКТИКА ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ……………………
14
2.1 Теоретическая оценка flops для системы…………………………………. 14
2.2 Теоретическая оценка mips для системы…………………………………. 24
ЗАКЛЮЧЕНИЕ………………………………………………………………….
27
СПИСОК ЛИТЕРАТУРЫ……………………………………………………….
28
2
3.
ВВЕДЕНИЕВ современном мире электронно-вычислительные машины (ЭВМ) стали
неотъемлемой частью практически всех сфер человеческой деятельности —
от науки и промышленности до образования, финансов и повседневной
жизни. Эффективность решения сложных вычислительных задач, обработки
больших объёмов данных, моделирования физических процессов и работы с
искусственным интеллектом напрямую зависит от производительности
используемой вычислительной техники. В связи с этим вопросы расчёта
производительности ЭВМ и поиска путей её повышения приобретают
особую актуальность и значимость.
Исторически рост производительности ЭВМ обеспечивался за счёт
увеличения тактовой частоты процессоров и усложнения их архитектуры.
Однако в последние годы этот путь столкнулся с физическими и
технологическими ограничениями, связанными с энергопотреблением,
тепловыделением и сложностью дальнейшего масштабирования
транзисторов. В результате индустрия перешла к развитию параллельных и
распределённых архитектур: многоядерные процессоры, графические
ускорители (GPU), специализированные ускорители (ASIC, FPGA)
Современные пути повышения производительности ЭВМ включают не
только аппаратные инновации, но и совершенствование алгоритмов,
оптимизацию программного кода, внедрение новых технологий памяти и
интерфейсов передачи данных.
Таким образом, всесторонний анализ методов расчёта производительности и
исследование путей её повышения позволяют не только оценивать текущее
состояние вычислительной техники, но и формировать стратегию развития
будущих поколений ЭВМ, отвечающих растущим требованиям науки,
техники и общества.
3
4.
Объектом исследования является процесс функционирования электронновычислительных машин и вычислительных систем, а также совокупностьаппаратных и программных средств, обеспечивающих выполнение
вычислительных задач.
Предметом исследования- методы расчёта производительности ЭВМ,
факторы, влияющие на её уровень, а также современные пути и технологии
повышения эффективности работы вычислительных систем.
Целью работы является комплексный анализ методов оценки
производительности электронно-вычислительных машин и систематизация
современных подходов к её повышению.
Цели работы:
рассмотреть основные метрики и методики расчёта производительности
ЭВМ;
проанализировать эволюцию архитектур вычислительных систем и их
влияние на производительность;
выявить ключевые факторы, ограничивающие рост производительности
современных ЭВМ;
систематизировать аппаратные и программные пути повышения
производительности, включая развитие параллельных вычислений,
оптимизацию кода и внедрение новых технологий;
оценить перспективы развития высокопроизводительных вычислений.
В результате проделанной работы проведён анализ существующих методов
оценки производительности, обобщены основные направления повышения
эффективности ЭВМ, сформулированы выводы о тенденциях развития
вычислительной техники и определены перспективные области для
дальнейших исследований.
4
5.
ГЛАВА 1. ТЕОРИЯ ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ1.1 ЧТО ТАКОЕ ПРОИЗВОДИТЕЛЬНОСТЬ ЭЛЕКТРОННОВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ И МЕТРИКИ И МЕТОДИКИ
ПРОИЗВОДИТЕЛЬНОСТИ
ЭВМ — электронно-вычислительная машина — комплекс технических,
аппаратных и программных средств, предназначенных для автоматической
обработки информации, вычислений, автоматического управления. При этом
основные функциональные элементы (логические, запоминающие,
индикационные и др.) выполнены на электронных элементах.
Производительность электронно-вычислительной машины (ЭВМ) — это
комплексная характеристика, отражающая способность вычислительной
системы выполнять определённое количество операций или задач за единицу
времени. Она является одним из ключевых показателей эффективности
работы компьютера и зависит от множества факторов: архитектуры
процессора, объёма и скорости оперативной памяти, пропускной
способности системной шины, эффективности работы периферийных
устройств и, что особенно важно, от качества оптимизации программного
обеспечения.
Для количественной оценки производительности используются различные
метрики и методики. Наиболее распространёнными являются:
MIPS (сокращение от названия соответствующего проекта Стэнфордского
университета англ. Microprocessor without Interlocked Pipeline Stages) —
система команд и микропроцессорных архитектур, разработанных компанией
MIPS Computer Systems (в настоящее время Wave Computing) в соответствии
с концепцией проектирования процессоров RISC (то есть для процессоров с
упрощенным набором команд). Ранние модели процессора имели 32-битную
структуру, позднее появились его 64-битные версии. Существует множество
модификаций процессора, включая MIPS I, MIPS II, MIPS III, MIPS IV, MIPS
5
6.
V, MIPS32 и MIPS64, из них действующими являются MIPS32 (для 32битной реализации) и MIPS64 (для 64-битной реализации). MIPS32 и MIPS64определяют как набор регистров управления, так и набор команд.
Существует несколько наборов команд: MIPS32, MIPS64, microMIPS и
nanoMIPS. Помимо этого, доступны дополненные наборы инструкций и
модели процессоров, например, MIPS-3D, включающий в себя набор SIMD-
команд для обработки чисел с плавающей запятой, предназначенный для
решения простых 3D-задач, MDMX (MaDMaX) — с ещё более широкими
возможностями — набором SIMD-команд и использующий 64-битные
регистры с плавающей запятой для работы с целыми числами, MIPS16e,
который сжимает поток команд, чтобы уменьшить объём памяти,
занимаемый программами, а также MIPS MT, обеспечивающий
многопотоковый режим обработки.
Рисунок 1. Работа MIPS
FLOPS – это количество вычислительных операций или инструкций,
выполняемых над операндами с плавающей точкой (FP) в секунду. Здесь
используется слово «вычислительных», так как микропроцессор умеет
6
7.
выполнять и другие инструкции с такими операндами, например, загрузку изпамяти. Такие операции не несут полезной вычислительной нагрузки и
поэтому не учитываются.
Значение FLOPS, опубликованное для конкретной системы, – это
характеристика прежде всего самого компьютера, а не программы. Ее можно
получить двумя способами – теоретическим и практическим. Теоретически
мы знаем сколько микропроцессоров в системе и сколько исполняемых
устройств с плавающей точкой в каждом процессоре. Все они могут работать
одновременно и начинать работу над следующей инструкцией в конвеере
каждый цикл. Поэтому для подсчета теоретического максимума для данной
системы нам нужно только перемножить все эти величины с частотой
процессора – получим количество FP операций в секунду.
Рисунок 2. FLOPS
Тестовые пакеты (бенчмарки). Для более объективной оценки используются
специализированные программные комплексы (Linpack и др.), которые
имитируют работу реальных приложений и позволяют сравнивать
производительность различных аппаратных платформ в условиях,
приближенных к реальным.
7
8.
Рисунок 3. Linpack XtremeРасчёт производительности также включает анализ времени выполнения
конкретных задач (wall-clock time) и оценку загрузки системных ресурсов.
Важно понимать, что пиковая теоретическая производительность процессора
часто отличается от реальной, достигаемой на практике, из-за задержек
памяти, конфликтов при доступе к ресурсам и неэффективности
программного кода.
8
9.
1.2 ПУТИ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ЭВМСтремление к увеличению производительности ЭВМ является основным
двигателем прогресса в области вычислительной техники. Исторически рост
достигался за счёт увеличения тактовой частоты процессоров, однако
физические ограничения (тепловыделение, энергопотребление) привели к
смене парадигмы. Современные пути повышения производительности можно
разделить на аппаратные и программные.
Аппаратные пути:
Аппаратные пути повышения производительности ЭВМ включают
совершенствование процессора, системы памяти, системы ввода-вывода и
использование параллельных вычислений.
Процессор
Увеличение тактовой частоты за счёт совершенствования технологии
изготовления компонентов. Например, уменьшение проектных норм
(минимальных размеров проводников и транзисторов на чипе) позволяет
работать быстрее.
Конвейеризация вычислений — параллельное выполнение разных операций
или их частей. Операции делят на элементарные части (ступени конвейера),
каждая из которых выполняется за один такт.
Использование сопроцессоров — они расширяют вычислительные
возможности центрального процессора, например, выполняют
арифметические операции или вычисляют основные математические
функции.
Технология Hyper-Threading — физический процессор разбивается на два
логических, каждый из которых использует ресурсы чипа. Это повышает
загрузку исполнительных устройств.
9
10.
Многоядерные процессоры — вычислительную нагрузку, выполняемуюединственным ядром в традиционных процессорах, разделяют между
многими ядрами.
Память
Использование кэш-памяти — она играет роль буфера между процессором и
оперативной памятью, обеспечивая ускорение доступа к последней. Объём
кэш-памяти увеличивается, чтобы повысить вероятность удачных
обращений.
Распараллеливание оперативной памяти на несколько блоков, нумерация
ячеек рассредоточена по последовательным блокам. Обращение к двум
ячейкам с последовательными номерами приходится на разные блоки памяти
и может быть совмещено по времени, что уменьшает влияние задержки
памяти.
Увеличение объёма оперативной памяти — это позволяет в многозадачном
режиме сократить частоту обмена страниц между оперативной и внешней
физической памятью.
Повышение пропускной способности памяти за счёт её организации:
увеличение разрядности основной памяти, использование независимых
банков памяти, обеспечение режима бесконфликтного обращения к банкам.
Ввод-вывод
Совмещение работы центрального процессора и периферийных устройств —
например, использование автономных устройств управления, которые,
получив команду из процессора, выполняют дальнейшую работу по обмену
информацией с оперативной памятью самостоятельно, освободив процессор
для выполнения другой работы.
10
11.
Использование быстрых интерфейсов — например, USB 3.0 или Thunderbolt,которые позволяют передавать данные с большей скоростью и улучшают
производительность внешних устройств.
Кэширование данных — использование быстрой памяти, в которой хранится
копия данных (фактически в ней сохраняются наиболее часто используемые
блоки). В некоторых случаях содержимое кэша синхронизируется с
содержимым диска, чтобы не допустить рассогласованности информации.
Буферизация вывода — задержка вывода на устройство, чтобы поддерживать
целостность информации, выводимой одним и тем же процессом (например,
печать на принтер).
Параллелизм
Распараллеливание задач — задача делится на несколько подзадач,
выполняемых одновременно на разных процессорах. Этот подход особенно
эффективен для задач, которые могут быть разделены на независимые части.
Балансировка нагрузки — распределение вычислительных задач между
процессорами таким образом, чтобы каждый процессор выполнял примерно
равный объём работы. Для этого используются различные алгоритмы,
например, динамическая балансировка, которая адаптирует распределение
задач в реальном времени в зависимости от загрузки процессоров.
Минимизация коммуникационных задержек — при параллельных
вычислениях важно учитывать время, затраченное на обмен данными между
различными частями программы, выполняющимися на разных процессорах.
Стратегии минимизации включают использование эффективных алгоритмов
для обмена данными, например, протоколов с минимальной
коммуникационной сложностью.
Использование многозадачности и асинхронных вычислений — внедрение
асинхронных операций, которые позволяют одному процессору выполнять
11
12.
задачи, не блокируя другие части программы, способствует увеличениюобщей производительности системы.
Распределённые вычисления — использование нескольких компьютеров,
соединённых в сеть, для совместного выполнения вычислительных задач.
Это позволяет распределять рабочую нагрузку между несколькими узлами,
что значительно увеличивает вычислительную мощность и скорость
обработки данных.
Программные пути:
Программные пути повышения производительности ЭВМ включают
оптимизацию алгоритмов, управление ресурсами, использование
кэширования и применение параллельных вычислений.
Управление ресурсами
Некоторые методы оптимизации управления ресурсами компьютера для
повышения производительности:
Отключение автозагрузки ненужных программ. Программы, которые
запускаются вместе со стартом операционной системы, потребляют ресурсы.
Очистка диска от мусора. Удаление временных файлов, кэша браузера,
старых обновлений системы и ненужных программ помогает освободить
пространство на диске.
Уменьшение количества фоновых процессов. Некоторые программы
работают в фоновом режиме, потребляя ресурсы системы, даже если ими не
пользуются.
Настройка электропитания для производительности. Например, выбор
режима работы «Высокая производительность», который отключит
энергосбережение и максимально задействует частоту процессора.
Кэширование
12
13.
Кэширование данных — метод хранения временных данных для быстрогодоступа к ним. Это улучшает производительность, снижая необходимость
повторного вычисления или загрузки информации. Некоторые технологии
кэширования:
Кэширование на уровне процессора — использование кэша CPU для
хранения данных, которые часто запрашиваются процессором. Например, L1
и L2 кэши используются для хранения инструкций и данных, что уменьшает
задержки при выполнении команд.
Кэширование в системах хранения данных — помогает уменьшить время
доступа к данным, которые часто запрашиваются. Например, использование
SSD-дисков в качестве кэша для жёстких дисков.
Эффективное кэширование требует тщательного управления и учёта
различных факторов, таких как консистентность данных и объём кэша.
Параллелизм
Некоторые методы параллельных вычислений для повышения
производительности ЭВМ:
Многопоточность — процессоры выполняют несколько потоков
одновременно в рамках одного процесса. Каждый поток может выполняться
на отдельном ядре процессора, что позволяет параллельно обрабатывать
задачи и уменьшать время выполнения программ.
Распределённые вычисления — использование нескольких компьютеров,
соединённых в сеть, для совместного выполнения вычислительных задач.
Это позволяет распределять рабочую нагрузку между несколькими узлами,
что увеличивает вычислительную мощность и скорость обработки данных.
Использование графических процессоров (GPU) — они разработаны для
обработки большого количества параллельных операций, что делает их
идеальными для задач, требующих интенсивных вычислений.
13
14.
ГЛАВА 2 ПРАКТИКА ПРОИЗВОДИТЕЛЬНОСТИ ЭВМ2.1 ТЕОРЕТИЧЕСКАЯ ОЦЕНКА FLOPS ДЛЯ СИСТЕМЫ
Я перехожу от общих слов к делу и попробую разобраться, как вообще
считают производительность компьютеров, если выражать её в FLOPS — это
те самые операции с плавающей запятой в секунду. По сути, это главная
«линейка», которой измеряют силу процессоров и видеокарт, особенно когда
речь идёт о сложных расчётах, науке или искусственном интеллекте.
Чтобы понять, как подсчитывается количество одновременных операций в
процессоре, давайте взглянем на устройство блока out-of-order в конвеере
процессора Intel Sandy Bridge.
Рисунок 4. Блок out-of-order в конвеере процессора Intel Sandy Bridge.
Здесь у нас 6 портов к вычислительным устройствам, при этом, за один цикл
(или такт процессора) диспетчером может быть назначено на выполнение до
6 микроопераций: 3 операции с памятью и 3 вычислительные. Одновременно
могут выполняться одна операция умножения (MUL) и одна сложения
14
15.
(ADD), как в блоках x87 FP, так и в SSE, либо AVX. С учетом ширины SIMDрегистров 256 бит мы может получить следующие результаты:
Рисунок 5. Результаты
8 MUL (32-bit) и 8 ADD (32-bit): 16 SP FLOP/cycle, то есть 16 операций с
плавающей точкой одинарной точности за один такт.
4 MUL (64-bit) и 4 ADD (64-bit): 8 DP FLOP/cycle, то есть 8 операций с
плавающей точкой двойной точности за один такт.
Теоретическое пиковое значение FLOPS для доступного мне 1-сокетного
Xeon E3-1275 (4 cores @ 3.574GHz) составляет:
16 (FLOP/cycle)*4*3.574 (Gcycles/sec)= 228 GFLOPS SP
8 (FLOP/cycle)*4*3.574 (Gcycles/sec)= 114 GFLOPS DP
Запуск бенчмарка Linpack
Запускам бенчмарк из пакета Intel MKL на системе и получаем следующие
результаты (порезано для удобства просмотра):
15
16.
Рисунок 6. LinpackЗдесь нужно сказать, как именно учитываются FP операции в бенчмарке. Как
уже упоминалось, тест заранее «знает» количество операций MUL и ADD,
которые необходимы для перемножения матриц. В упрощенном
представлении: производится решение системы линейных уравнений Ax=b
(несколько тысяч штук) путем перемножения плотных матриц
действительных чисел (real8) размером MxK, а количество операций
сложения и умножения, необходимых для реализации алгоритма, считается
(для симметричной матрицы) Nflop = 2*(M^3)+(M^2). Вычисления
производятся для чисел с двойной точностью, как и для большинства
бенчмарков. Сколько операций с плавающей точкой действительно
выполняется в реализации алгоритма, пользователей не волнует, хотя они
догадываются, что больше. Это связано с тем, что выполняется
декомпозиция матриц по блокам и преобразование (факторизация) для
достижения максимальной производительности алгоритма на
вычислительной платформе. То есть нам нужно запомнить, что на самом деле
значение физических FLOPS занижено за счет неучитывания лишних
операций преобразования и вспомогательных операций типа сдвигов.
16
17.
Оценка FLOPS программыЧтобы исследовать соизмеримые результаты, в качестве нашего
высокопроизводительного приложения будем использовать пример
перемножения матриц, сделанный «своими руками», то есть без помощи
математических гуру из команды разработчиков MKL Performance Library.
Пример реализации перемножения матриц, написанный на языке С, можно
найти в директории Samples пакета Intel VTune Amplifier XE. Воспользуемся
формулой Nflop=2*(M^3) для подсчета FP операций (исходя из базового
алгоритма перемножения матриц) и померим время выполнения
перемножения для случая алгоритма multiply3 при размере симметричных
матриц M=4096. Для того, чтобы получить эффективный код, используем
опции оптимизации –O3 (агрессивная оптимизация циклов) и –
xavx (использовать инструкции AVX) С-компилятора Intel для того, чтобы
сгенерировались векторные SIMD-инструкции для исполнительных
устройств AVX. Компилятор нам поможет узнать, векторизовался ли цикл
перемножения матрицы. Для этого укажем опцию –vec-report3. В результатах
компиляции видим сообщения оптимизатора: «LOOP WAS VECTORIZED»
напротив строки с телом внутреннего цикла в файле multiply.c.
Рисунок 7. Результат компиляции
17
18.
На всякий случай проверим, какие инструкции сгенерированы компиляторомдля цикла перемножения.
$icl –g –O3 –xavx –S
По тэгу __tag_value_multiply3 ищем нужный цикл — инструкции
правильные.
$vi muliply3.s
Рисунок 8. Linpack
18
19.
Результат выполнения программы (~7 секунд)Рисунок 9. Результат выполнения программы
нам дает следующее значение FLOPS = 2*4096*4096*4096/7[s] = 19.6
GFLOPS
Результат, конечно, очень далек от того, что получается в Linpack, что
объясняется исключительно квалификционной пропастью между автором
статьи и разработчиками библиотеки MKL.
Измерение FLOPS программы
Существуют задачи в линейной алгебре, программную
имплементацию решения которых очень сложно оценить в количестве FP
операций, в том смысле, что нахождение такой оценки само является
нетривиальной математической задачей. И тут мы, что называется, приехали.
Как считать FLOPS для программы? Есть два пути, оба экспериментальных:
трудный, дающий точный результат, и легкий, но обеспечивающий
приблизительную оценку. В первом случае нам придется взять некую
базовую программную имплементацию решения задачи, скомпилировать ее в
ассемблерные инструкции и, выполнив их на симуляторе процессора,
посчитать количество FP операций. Звучит так, что резко хочется пойти
легким, но недостоверным путем. Тем более, что если ветвление исполнения
19
20.
задачи будет зависеть от входных данных, то вся точность оценки сразупоставится под сомнение.
Идея легкого пути состоит в следующем. Почему бы не спросить сам
процессор, сколько он выполнил FP инструкций. Процессорный конвеер,
конечно же, об этом не ведает. Зато у нас есть счетчики производительности
(PMU), которые умеют считать, сколько микроопераций было выполнено на
том или ином вычислительном блоке. С такими счетчиками умеет
работать VTune Amplifier XE.
Несмотря на то, что VTune имеет множество встроенных профилей,
специального профиля для измерения FLOPS у него пока нет. Но никто не
мешает нам создать наш собственный пользовательский профиль за 30
секунд. Не утруждая вас основами работы с интерфейсом VTune (их можно
изучить в прилагающимся к нему Getting Started Tutorial), сразу опишу
процесс создания профиля и сбора данных.
Создаем новый проект и указываем в качестве target application наше
приложение matrix.
Выбираем профиль Lightweight Hotspots (который использует технологию
сэмплирования счетчиков процессора Hadware Event-based Sampling) и
копируем его для создания пользовательского профиля. Обзываем его My
FLOPS Analysis.
Редактируем профиль, добавляем туда новые процессорные счетчики
событий процессора Sandy Bridge (Events). На них остановимся чуть
подробнее. В их названии зашифрованы исполнительные устройства (x87,
SSE, AVX) и тип данных, над которыми выполнялась операция. Каждый такт
процессора счетчики складывают количество вычислительных операций,
назначенных на исполнение. На всякий случай мы добавили счетчики на все
возможные операции с FP:
20
21.
FP_COMP_OPS_EXE. SSE_PACKED_DOUBLE – векторы (PACKED) данныхдвойной точности (DOUBLE)
FP_COMP_OPS_EXE. SSE_PACKED_SINGLE – векторы данных одинарной
точности
FP_COMP_OPS_EXE. SSE_SCALAR_DOUBLE – скалярые DP
FP_COMP_OPS_EXE. SSE_ SCALAR _SINGLE – скалярные SP
SIMD_FP_256.PACKED_DOUBLE – векторы AVX данных DP
SIMD_FP_256.PACKED_SINGLE – векторы AVX данных SP
FP_COMP_OPS_EXE.x87 – скалярые данные x87
Нам остается только запустить анализ и подождать результатов. В
полученных результатах переключаемся в Hardware Events viewpoint и
копируем количетво events, собранных для функции multiply3:
34,648,000,000.
Рисунок 10. My FLOPS Analysis
Далее мы просто подсчитываем значения FLOPS по формулам. Данные у нас
были собраны для всех процессоров, поэтому умножение на их количество
здесь не требуется. Операции данными двойной точности выполняются
одновременно над четырмя 64-битными DP операндами в 256-битном
21
22.
регистре, поэтому умножаем на коэффициент 4. Данные с одинарнойточностью, соответственно, умножаем на 8. В последней формуле не
умножаем количество инструкций на коэффициент, так как операции
сопроцессора x87 выполняются только со скалярными величинами. Если в
программе выполняется несколько разных типов FP операций, то их
количество, умноженное на коэффициенты, суммируется для получения
результирующего FLOPS.
FLOPS = 4 * SIMD_FP_256.PACKED_DOUBLE / Elapsed Time
FLOPS = 8 * SIMD_FP_256.PACKED_SINGLE / Elapsed Time
FLOPS = (FP_COMP_OPS_EXE.x87) / Elapsed Time
В нашей программе выполнялись только AVX инструкции, поэтому в
результатах есть значение только одного счетчика
SIMD_FP_256.PACKED_DOUBLE.
Удостоверимся, что данные события собраны для нашего цикла в
функции multiply3 (переключившись в Source View):
Рисунок 11. Раздел multiply3
22
23.
FLOPS = 4 *34.6Gops/7s = 19.7 GFlopsЗначение вполне соответствует оценочному, подсчитанному в предыдущем
пункте. Поэтому с достаточной долей точности можно говорить о том, что
результаты оценочного метода и измерительного совпадают. Однако,
существуют случаи, когда они могут не совпадать. При определенном
интересе читателей, я могу заняться их исследованием и рассказать, как
использовать более сложные и точные методы. А взамен очень хочется
услышать о ваших случаях, когда вам требуется измерение FLOPS в
программах.
23
24.
2.2 ТЕОРЕТИЧЕСКАЯ ОЦЕНКА MIPS ДЛЯ СИСТЕМЫMIPS измеряет количество инструкций, которые процессор может выполнить
за секунду, указывая на скорость обработки. Более высокий MIPS обычно
означает, что процессор может выполнять больше задач, но это не всегда
отражает реальные характеристики.
MIPS измеряет пропускную способность инструкций, а не общую скорость
системы.
Более высокий MIPS не гарантирует более быстрое выполнение сложных
программ.
Фактическая производительность зависит от памяти, кэша, ввода-вывода и
эффективности инструкций.
Рисунок 12. Расчёт MIPS
Значение MIPS
MIPS широко используется производителями, такими как IBM, для оценки
«стоимости вычислений», которая часто выражается в MIPS за доллар. Это
даёт представление о том, сколько вычислительной мощности вы получаете
за потраченные деньги. С годами стоимость MIPS на доллар значительно
выросла благодаря технологическим достижениям.
24
25.
Однако важно отметить, что MIPS — это упрощённая метрикапроизводительности. Он не учитывает:
Сложность инструкций (некоторые инструкции требуют больше работы, чем
другие)
Скорость ввода/вывода (I/O)
Различия в архитектуре процессора
Так что, хотя MIPS полезен для грубых сравнений, реальные характеристики
могут отличаться.
Методы расчёта MIPS
Метод 1: Использование количества инструкций и времени выполнения
Формула:
Рисунок 13. Формула расчета MIPS
Пример:
компьютер выполняет 2 миллиона инструкций за 0,10 секунды.
Шаг 1: Инструкции в секунду = 2 000 000 / 0,10 = 20 000 000
Шаг 2: MIPS = 20 000 000 / 1 000 000 = 20 MIPS
Итак, частота процессора составляет 20 MIPS.
Метод 2: использование тактовой частоты процессора и CPI
Если вы знаете тактовую частоту процессора и CPI, MIPS можно вычислить с
помощью следующих целей:
25
26.
Рисунок 14. Формула расчета IPSПример:
процессор имеет тактовую частоту 400 МГц и CPI 2.
Шаг 1: IPS = (400 × 106) / 2 = 200 × 106 инструкции в секунду
Шаг 2: MIPS = (200 × 106) / 106 = 200 MIPS
Таким образом, этот процессор выполняет 200 миллионов инструкций в
секунду.
26
27.
ЗАКЛЮЧЕНИЕПодводя итоги проделанной работы, можно сделать вывод, что тема расчёта
производительности электронно-вычислительных машин и поиска путей её
повышения является фундаментальной для всей сферы информационных
технологий.
Таким образом, задачи, поставленные в начале работы, были успешно
решены. Проведённый анализ позволяет утверждать, что развитие
высокопроизводительных вычислений остаётся одним из главных
направлений научно-технического прогресса. Дальнейшие исследования в
этой области будут связаны с внедрением новых физических принципов
работы (квантовые и нейроморфные вычисления), что открывает
принципиально новые горизонты для решения сверхсложных задач,
недоступных для классических компьютеров.
27
28.
СПИСОК ЛИТЕРАТУРЫ1. Барыбин, С. А. Физико-технологические основы макро-, микро- и
наноэлектроники: учебник / С. А. Барыбин. — Москва: Лань, 2021. — 688
с.
2. Гуртов, В. А. Архитектура и организация ЭВМ: учебное пособие / В. А.
Гуртов. — Петрозаводск: Изд-во ПетрГУ, 2021. — 144 с.
3. Каляев, И. А. Реконфигурируемые вычислительные системы:
монография / И. А. Каляев, И. И. Левин. — Ростов-на-Дону: ЮФУ, 2021.
— 368 с.
4. Каляев, А. В. Суперкомпьютерные технологии: разработка, применение,
подготовка кадров: монография / А. В. Каляев, И. А. Каляев. — Москва:
Радиотехника, 2021. — 320 с.
5. Кузнецов, С. Д. Основы баз данных: учебное пособие / С. Д. Кузнецов. —
3-е изд., перераб. и доп. — Москва: ИНТУИТ, 2021.
6. Гергель, В. П. Современные языки и технологии параллельного
программирования: учебник / В. П. Гергель. — Москва: Изд-во МГУ,
2022.
7. Тормасов, А. Г. Современные операционные системы: концепции и
принципы построения : учебник / А. Г. Тормасов, В. Г. Проскурин. —
Москва: ИНТУИТ, 2021.
8. Головин, Ю. Я. Высокопроизводительные вычисления: учебное пособие /
Ю. Я. Головин, Р. Ю. Головин. — Москва: Книжный дом «ЛИБРОКОМ»,
2023
9. What is MIPS (Million of Instructions Per Second)? // GeeksforGeeks. —
URL: https://www.geeksforgeeks.org/operating-systems/what-is-mipsmillionof-instructions-per-second (дата обращения: 03.04.2026).
28
29.
10.История процессоров Intel: от первого 8086 до наших дней // Хабр. —URL: https://habr.com/ru/companies/intel/articles/144388 (дата обращения:
03.04.2026).
11.MIPS (архитектура) // Википедия. — URL:
https://ru.wikipedia.org/wiki/MIPS_%28%D0%B0%D1%80%D1%85%D0%B
8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0%29
(дата обращения: 03.04.2026).
12.Основы архитектуры ЭВМ // Библиотека МГТУ им. Н.Э. Баумана. —
URL: http://bigor.bmstu.ru/?cnt/?prn=y/?doc=103_Computers/1014.mod (дата
обращения: 03.04.2026).
13.Архитектура ЭВМ и систем : учеб.-метод. пособие / ред.: А. А. Федотов.
— URL: https://studfile.net/preview/9478207/page:9 (дата обращения:
03.04.2026).
14.Организация ЭВМ и систем : курс лекций / Центр дистанционного
образования «ИНТУИТ». — URL:
https://intuit.ru/studies/courses/641/497/lecture/11306?page=4 (дата
обращения: 03.04.2026).
15.Способы увеличения быстродействия программ // Streletzcoder. —
URL: https://streletzcoder.ru/sposobyi-uvelicheniya-byistrodeystviyaprogramm (дата обращения: 03.04.2026).
16.Оптимизация программ // Файловый архив НГУ. — URL:
http://ccfit.nsu.ru/arom/data/PP_ICaG/07_Optimization_txt.pdf (дата
обращения: 03.04.2026).
17.Оптимизация производительности алгоритмов и кода // WaveAccess.
— URL: https://www.waveaccess.ru/media/214228/wa-case-algorithms-andcode-performance-optimization-ru.pdf (дата обращения: 03.04.2026).
29
Электроника