1.) Операции с плавающей точкой просто представляют более широкий диапазон математики, чем целые числа с фиксированной шириной. Кроме того, в значительной степени числовые или научные приложения (которые, как правило, должны проверять чистую вычислительную мощность ЦП), вероятно, полагаются на операции с плавающей запятой в большей степени.
2.) Они оба должны быть плавающими. Процессор не будет добавлять целое число и число с плавающей запятой, одно или другое будет неявно преобразовано (скорее всего, целое число будет преобразовано в число с плавающей запятой), поэтому это все равно будет просто операция с плавающей запятой.
3.) Это будет 100 операций с плавающей запятой, а также 100 целочисленных операций, а также некоторые (100?) Операции управления потоком / ветвлением / сравнением. Как правило, бывают и грузы, и магазины, но вы, кажется, не храните значение:)
4.) Я не уверен, как начать с этого, у вас, похоже, общий взгляд на материал, но вы перепутали некоторые детали. Да, отдельная инструкция может быть разбита на разделы, подобные:
|OP CODE | Operand 1 | Operand 2 | (among many, many others)
Однако операнд 1 и операнд 2 не обязательно должны содержать фактические значения, которые должны быть добавлены. Они могут просто содержать регистры, которые будут добавлены. Например, возьмите эту инструкцию SSE:
mulps %%xmm3, %%xmm1
Указывает исполнительному блоку умножить содержимое регистра xmm3 и содержимое xmm1 и сохранить результат в xmm3. Поскольку регистры содержат 128-битные значения, я делаю операцию над 128-битными значениями, это не зависит от размера инструкции. К сожалению, x86 не имеет такой же разбивки команд, как MIPS, потому что это архитектура CISC. Инструкция x86 может содержать от 1 до 16 (!) Байтов.
Что касается вашего вопроса, я думаю, что это очень забавный материал, который поможет вам понять интуицию о скорости интенсивных программ, а также даст вам представление о верхних границах, которые должны быть достигнуты при оптимизации. Я бы никогда не попытался напрямую соотнести это с фактическим временем выполнения программы, поскольку слишком много других факторов влияют на фактическую конечную производительность.