Сколько операций в секунду выполняет процессор
Терафлопс (TFLOPS) — величина, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. 1 терафлопс = 1 триллион операций в секунду = 1000 миллиардов операций в секунду. Обычно имеются в виду операции над плавающими числами размера 64 бита в формате IEEE 754.
TFLOPS = 1012 FLOPS = 103 GFLOPS
Чтобы найти пиковую производительность ЭВМ R, терафлопс, нужно тактовую частоту F, МГц, умножить на число процессоров (процессорных ядер) n, домножить на количество инструкций с плавающей запятой на такт (4 для процессоров Core2 — 2 операции Float Multiple Add) и поделить на 1******0:
Так, например, пиковая производительность компьютера на базе двухъядерного процессора AMD Phenom 9500 sAM2+ с тактовой частотой 2,2 ГГц равна:
2200 МГц × 2 ядра × 4×10-6 = 17,6 млрд операций в секунду = 0,0176 терафлопс.
Для четырехядерного процессора Core 2 Quad Q6600:
2400 МГц × 4 ядра × 4×10-6 = 38,4 млрд операций в секунду = 0,0384 терафлопс.
Скопипастено с Википедии
Т.е. находите нужные данные для своего процессора, подставляете их в формулу и находите кол-во операций в секунду.
Для моего Intel Pentium 4:
3000 х 1 х 2 х 10-6 = 6 млрд операций в секунду = 0.006 терафлопс.
В конце прошлого века для описания мощных и производительных вычислительных машин применялся термин «суперкомпьютер». Такие устройства стоили очень дорого и были довольно громоздкими. Иногда суперкомпьютер занимал несколько комнат и требовал специальный температурный режим для работы.
Для оценки производительности и сравнения таких вычислительных машин ввели термин «FLOPS»
Инфляция временных единиц
Для большинства программистов прикладного уровня время, которым измеряется производительность программ, останавливается на масштабе миллисекунд: ну какая разница, будет ли элемент в браузере рендериться 50 или 200 микросекунд, если это всё равно ничтожно малое значение? Какая разница, выполняется ли запрос в базу данных за 200 или за 500 микросекунд, если сетевые издержки на порядок больше? Безусловно, есть области программирования, где приходится спуститься на уровень наносекунд и единичных тактов, но в большей своей части программисты не думают такими временными понятиями. Я предлагаю подумать.
Я предлагаю подумать, как выглядела бы работа современного компьютера, если бы каждому такту процессора соответствовала одна секунда в субъективном мироощущении каких-нибудь существ, которые, как мы знаем, и управляют всей техникой («гарантийные человечки» или, на современный лад, «фиксики»). Для таких человечков частота процессора будет равно ровно 1 Hz.
Я пишу эту статью на ноутбуке с восьмиядерным процессором базовой частотой в 2.4 GHz, то есть один такт раз в ~0,4 наносекунды (округление очень грубое). Это значение и будет нашей «компьютерной секундой».
Что же происходит за время, равное такой секунде?
Восемь ядер процессора успевают выполнить несколько элементарных операций вроде сложения чисел.
Свет проходит около 12 сантиметров (в вакууме).
За пять секунд процессор может получить данные из кэша первого уровня.
Логика микропроцессора
Чтобы понять, как работает микропроцессор, следует изучить логику, на которой он основан, а также познакомиться с языком ассемблера. Это родной язык микропроцессора.
Микропроцессор способен выполнять определенный набор машинных инструкций (команд). Оперируя этими командами, процессор выполняет три основные задачи:
- C помощью своего арифметико-логического устройства, процессор выполняет математические действия: сложение, вычитание, умножение и деление. Современные микропроцессоры полностью поддерживают операции с плавающей точкой (с помощью специального арифметического процессора операций с плавающей точкой)
- Микропроцессор способен перемещать данные из одного типа памяти в другой
- Микропроцессор обладает способностью принимать решение и, на основании принятого им решения, «перепрыгивать», то есть переключаться на выполнение нового набора команд
- Address bus (адресную шину). Ширина этой шины может составлять 8, 16 или 32 бита. Она занимается отправкой адреса в память
- Data bus (шину данных): шириной 8, 16, 32 или 64 бита. Эта шина может отправлять данные в память или принимать их из памяти. Когда говорят о «битности» процессора, речь идет о ширине шины данных
- Каналы RD (read, чтения) и WR (write, записи), обеспечивающие взаимодействие с памятью
- Clock line (шина синхронизирующих импульсов), обеспечивающая такты процессора
- Reset line (шина стирания, шина сброса), обнуляющая значение счетчика команд и перезапускающая выполнение инструкций
Поскольку информация достаточно сложна, будем исходить из того, что ширина обеих шин — и адресной и шины данных — составляет всего 8 бит. И кратко рассмотрим компоненты этого сравнительно простого микропроцессора:
- Регистры A, B и C являются логическими микросхемами, используемыми для промежуточного хранения данных
- Address latch (защелка адреса) подобна регистрам A, B и C
- Счетчик команд является логической микросхемой (защелкой), способной приращивать значение на единицу за один шаг (если им получена соответствующая команда) и обнулять значение (при условии получения соответствующей команды)
- ALU (арифметико-логическое устройство) может осуществлять между 8-битными числами действия сложения, вычитания, умножения и деления или выступать в роли обычного сумматора
- Test register (тестовый регистр) является специальной защелкой, которая хранит результаты операций сравнения, производимых АЛУ. Обычно АЛУ сравнивает два числа и определяет, равны ли они или одно из них больше другого. Тестовый регистр способен также хранить бит переноса последнего действия сумматора. Он хранит эти значения в триггерной схеме. В дальнейшем эти значения могут использоваться дешифратором команд для принятия решений
- Шесть блоков на диаграмме отмечены, как «3-State». Это буферы сортировки. Множество источников вывода могут быть соединены с проводом, но буфер сортировки позволяет только одному из них (в один момент времени) передавать значение: «0» или «1». Таким образом буфер сортировки умеет пропускать значения или перекрывать источнику вывода возможность передавать данные
- Регистр команд (instruction register) и дешифратор команд (instruction decoder) держат все вышеперечисленные компоненты под контролем
На данной диаграмме не отображены линии управления дешифратора команд, которые можно выразить в виде следующих «приказов»:
- «Регистру A принять значение, поступающее в настоящий момент от шины данных»
- «Регистру B принять значение, поступающее в настоящий момент от шины данных»
- «Регистру C принять значение, поступающее в настоящий момент от арифметико-логического устройства»
- «Регистру счетчика команд принять значение, поступающее в настоящий момент от шины данных»
- «Адресному регистру принять значение, поступающее в настоящий момент от шины данных»
- «Регистру команд принять значение, поступающее в настоящий момент от шины данных»
- «Счетчику команд увеличить значение [на единицу]»
- «Счетчику команд обнулиться»
- «Активировать один из из шести буферов сортировки» (шесть отдельных линий управления)
- «Сообщить арифметико-логическому устройству, какую операцию ему выполнять»
- «Тестовому регистру принять тестовые биты из АЛУ»
- «Активировать RD (канал чтения)»
- «Активировать WR (канал записи)»
В дешифратор команд поступают биты данных из тестового регистра, канала синхронизации, а также из регистра команд. Если максимально упростить описание задач дешифратора инструкций, то можно сказать, что именно этот модуль «подсказывает» процессору, что необходимо сделать в данный момент.
Производители CPU
На рынке есть два основных производителя центральных процессоров ― Intel и AMD.
Продукты Intel — дорогие, но имеют высокую производительность. Потребляют меньше энергии, следовательно меньше перегреваются. Имеют хорошую связь с оперативной памятью.
Продукты AMD значительно отстают от Intel, однако стоят дешевле. Они требуют много энергии и хуже взаимодействуют с оперативной памятью по сравнению с процессорами от Intel.
Разрядность процессора (32/64 бит)
Бит представляет собой краткую форму двоичного разряда, представленную 0 или 1, поскольку компьютер хранит и производит операции посредствам именно этих двоичных цифр. Следовательно, напрашивается вывод, что у 32-битных процессоров имеется возможность представить числа от нуля до двух в 32-й степени, тогда как 64-х битные процессоры могут представить числа от нуля до двух в 64-й степени. Путем нехитрых подсчетов можно прикинуть, что 64-битные процессоры обрабатывают больший диапазон чисел, нежели 32-разрядные процессоры.
Термин разрядность процессора включает в себя понятие ширины шины данных, являющейся кабелем, передающим информацию из памяти ПК в процессор. Шина данных в 64-битном процессоре способна передать больший объем информации, чем шина в 32-разрядном процессоре, потратив на это одинаковое количество времени.
Как повысить частоту?
Мало кто знает, но мощность процессора можно повысить. Как увеличить производительность CPU? Чтобы ответить на этот вопрос, нужно понять от чего она зависит. Тактовая частота прямо пропорциональна произведению множителя, который закладывается при проектировании, на частоту шины. Причем встречаются два вида множителей – заблокированные и открытые. Не трудно понять, что первые не поддаются разгону.
Процедура увеличения тактовой частоты проводится на устройствах с разблокированным множителем. Для того, чтобы произвести разгон необходимо обладать специальными знаниями, уметь работать с БИОС и знать английский язык (хотя бы уметь читать). Процедура увеличения частоты довольно-таки сложна и неопытные пользователи вряд ли смогут ее произвести без негативных последствий для ПК. Если вкратце, то суть разгона в том, чтобы постепенно увеличивать частоту шины процессора через вышеупомянутый множитель.
Важно! Разгон CPU – опасная процедура, которая может негативно сказаться на компьютере, а то и вовсе вывести его из строя. Это связано с тем, что при повышении частоты процессор начинает сильнее нагреваться. Соответственно, если у вас слабая система охлаждения, то CPU может попросту сгореть.
Современные компьютеры и игровые консоли
Большая вычислительная мощность с 90-х годов становится доступна в домашних и офисных компьютерах.
- Популярный процессор 1999-2000 годов Intel Pentium III 500—1000 МГц имел производительность до 1-2 гигафлопс.
- В 2010 топовые модели были на уровне AMD Athlon II X4 640 3,0 ГГц с мощностью до 37,4 гигафлопс.
- Относительно современный Intel Core i7 (Haswell) с частотой 3,0-3,5 ГГц бьет планку в 350 гигафлопс.
Современные игровые консоли имеют такую производительность: Microsoft Xbox One — 1,23 терафлопса, Sony PlayStation 4 — 1,84 терафлопса, Nintendo Wii U — 352 гигафлопса.
Сферы применения многопоточных процессоров
С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.
Еще больше распространены многоядерные системы в среде разработчиков. Программы для 3D-моделирования, монтажа видео и создания музыки требуют параллельного выполнения большого количества задач, с чем хорошо справляются системы с Hyper-Threading или SMT. В операционных системах мощность одного потока может тратиться на фоновые задачи (Skype, браузер, мессенджер), в то время как остальные задействуются для тяжелой игры или программы.
Но далеко не всегда увеличение количества потоков означает увеличение общей производительности. Почему же SMT процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.