Now, why is floating-point operations considered for the performance of a computer. What about integer operations?
As operações de ponto flutuante são apenas uma das várias métricas usadas ao longo dos anos para avaliar o desempenho do computador. A medição de operações de FP é considerada mais aplicável a algumas aplicações do mundo real (como simulações de clima) do que operações inteiras. Se você estivesse avaliando computadores para um aplicativo de banco de dados, provavelmente ignoraria as especificações do FLOPS e focalizaria o desempenho IPS (instruções por segundo) e de E / S.
Now, what exactly does operation in FLOP mean? Does that mean a mathematical operation like MUL, ADD, DIV etc?
A "operação" é a execução da "instrução", que é um código de máquina (isto é, um valor binário), ou um cálculo pelo FPU, unidade de ponto flutuante. O FPU (mais antigo) normalmente é executado de forma assíncrona com a CPU e a ALU, para não impedir a execução de programas que não dependam do resultado do FP.
Note que um computador (por volta de 1980) que não tenha FPU pode ser atualizado com um periférico FPU. A biblioteca FP de rotinas de software que implementaram operações FP fundamentais (adicionar, subtrair, multiplicar, dividir, raiz quadrada etc.) seria substituída por uma biblioteca que invocasse instruções de E / S para acessar o periférico da FPU. Uma interrupção da FPU notificaria a CPU que a operação do FP estava completa.
Os primeiros PCs eram de construção similar. O IBM PC original usava o Intel 8088 microprocessador que não possuía capacidade HW FP. Mas um co-processador matemático do 8087 poderia ser instalado, para que as instruções do FP pudessem ser executadas pelo hardware em vez de serem redirecionadas para rotinas de software. Eventualmente a Intel integrou o co-processador matemático no pacote da CPU para o i486
In this case, what would be an instruction?
"Instrução" não deve ser uma entidade ambígua. É um código de máquina ou um mnemônico do processador.
then one instruction can lead to many internal operations. Would that be micro-operations or uops?
Aparentemente, você está se referindo à microprogramação.
(Costumava haver uma empresa de computadores que fazia o micro programar uma iteração mais abaixo: para o nível de programação nano . Os produtos eram para emulação de CPU.)
A microprogramação não é realmente relevante para o desempenho do programa aplicativo. Ou seja, você normalmente não pode reescrever / melhorar a microprogramação como faria em um processador de nanoprograma.
Does that mean that the processor can perform, for example an ADDPD and an ADDSD (total=2 Instructions) in one cycle?
Classificar de. Realizar mais de uma instrução por ciclo de clock requer um pipeline de "unidades de execução". Pense em uma linha de montagem de fabricação (veículo). Em cada estação, uma tarefa específica é executada. No final da linha de montagem (pipeline), apenas um veículo (instrução) é concluído de cada vez. A simultaneidade é escalonada, em vez de sincronizada.
What instructions are referred here?
Cada instrução é um código de máquina.
In other words, 1 FMA instruction translates to a couple of operations. Am I right?
Não, uma instrução está correlacionada a uma operação.