Instrução RDTSC

875 palavras 4 páginas
UNIVERSIDADE FEDERAL DE SERGIPE
DEPARTAMENTO DE COMPUTAÇÂO

Igor Profeta Silveira
Matricula: 201310035378

Trabalho de OAC
Instrução RDTSC

São Cristóvão, 2014

Aluno: Igor Profeta Silveira.
Instrução RDTSC (Read Time Stamp Counter)

a)O que é a instrução?
A instrução RDTSC é uma instrução para monitorar o desempenho da maquina. Ela lê quantos ciclos estão armazenados num registrador especifico o TSC (Time-Stamp Counter) de 64 bits.
Esse registrador esta presente em todos os processadores x86 e é acessível ao programador desde o processador Intel Pentium. Para ter acesso ao TSC é possível por meio da instrução em assembly RDTSC. Ela é muito útil para monitorar o desempenho de pequenas seções do código. Ele também pode ser usado para medir o tempo médio de execução para uma função ou seção do código.

b) Sua sintaxe e forma de operação
Para chamar a instrução RDTSC é necessário estar num código assembly. A linguagem C permite utilizar o assembly inline, portanto é possível utilizá-la usando a seguinte sintaxe: asm(“rdtsc”); A maneira que essa instrução funciona é armazenando a alta ordem de 32 bits do registro no registrador EDX, e a baixa ordem de 32 bits no registrador EAX. Como o TSC conta os ciclos de
CPU, o valor devolvido pela instrução RDTSC será o número de ciclos contados a partir da ultima reposição do processador até a chamada do RDTSC. Para obter o tempo em segundos, o valor fornecido pelo TSC tem de ser dividido com a frequência do processador (em Hz).

c) Aplicação com RDTSC
#include
double tempo; int ciclos, subtempo, uptempo, subtempoi, uptempoi, subtempof, uptempof; int frequencia; main(){ // Digite a frequencia da sua maquina em hz frequencia=2000000000; tempo=0; subtempoi=0; uptempoi=0; subtempof=0; uptempof=0; int i=0; printf("Digite 0 para iniciar e 1 para parar:\n"); scanf("%d",&i); while(i==0){
//****************Inicio ASSEMBLY***************** asm(".intel_syntax noprefix");

Relacionados

  • circuitos
    2759 palavras | 12 páginas
  • redes
    12803 palavras | 52 páginas
  • Next Up Previous Contents
    10077 palavras | 41 páginas
  • Estrutura e funcionamento da cpu
    17147 palavras | 69 páginas
  • Dicas sobre programação Delphi
    26894 palavras | 108 páginas
  • Dissertação arouca mestrado 2008
    57835 palavras | 232 páginas