Раз пошла такая пьянка, немного распространюсь про мегагерцы, ибо в мои времена именно они решали, сейчас объясню "почему?"
В процессоре (возьмем для простоты 486) большинство простейших целочисленных операция выполняется в один такт, т.е. вот в эту самую герцу. И понятно, что операции с плавающей точкой (те самые терафлопы), которые берет на себя сопроцессор (это в лучшем случае) выполняются намного медленнее, чем целочисленные.
Потому оптимизировался код следующим, например, образом:
Синус угла не вычислялся каждый раз сопроцессором или там чем попало, а был занесен в целочисленный массив (таблицу). Заранее в момент инициализации или составления программы.
Ну, как это выглядит...
Дано:
Синус от 0 до 90 градусов принимает значения от 0 до 1;
Синус в компьтере вычисляется от радиан, а не градусов.
Целое число 16 бит - это число от 0 до 65535.
Создаем массив sinus длинной в 16384 (16-битных) числа и заполняем его по формуле:
sinus(i) = sin ((i *
π) / 32768) * 65535, для i от 0 до 16383
Получается массив 16384 числа от 0 до 65535 - аппроксимация функции синуса, помноженную на 65535
Далее... если нам, например нужно вычислить синус 30 градусов -> берем sinus(5460) ну и делим на 65535 (но там тоже свои заморочки с формулами и выносами за скобки).
Т.е. идея понятна? Перекладываем вычисления в простые целочисленные операции.
Вот тогда мегагерцы зарешают адово (во времена 8087), но Кармаэль вам сколько раз дает подсказку насчет
терафлоп? Я просто напомню, что это операции с
плавающей точкой, у него в его ведре их немерянно, а свои кукурузные гигагерцы можете приправить солью и сьесть.
Если кому интересно, как реализованы вот эти все целочисленные операции средствами электронной логики, вот статейка:
http://digteh.ru/digital/sum.phpЕсли она вас не остановила, можете прочесть про представление реального числа в компьютере, про числа с плавающей точкой. Чувак мне за пятнадцать минут обещает раскрыть свой бутон, а не знает без гугла, что такое мантисса и экспонента, ALU и FPU.
Сообщение отредактировал Atrosha: 03 February 2018 - 7:51