1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Cpu-burnout

Discussão em 'Programação' iniciada por Tesla, 28 de Maio de 2002. (Respostas: 11; Visualizações: 1416)

  1. Tesla

    Tesla Power Member

    O que deve ter um programa que tem como objectivo espremer todos os Mhz do processador?

    Basta um ciclo interminavel com umas contecas no meio? ou é preciso algo mais.

    Fiz um progzito destes no meu portatil, em c++, pu-lo a correr e quando fui ao taskmanager (OS-XPHome) a carga no processador era 100%.

    Mas estará o task-manager correcto? poderei ainda por mais carga no processador? Que me aconselham a adicionar?

    See ya...!
    :003:
     
  2. AVxAMD

    AVxAMD I fold therefore I AM

    Boas.
    O task manager está correcto,
    pois o teu programa está a consumir a 100%
    os recursos do sistema e do CPU.
    Faz End Task ao teu programa e verifica a quanto fica o CPU.
    Um abraço.
     
  3. Andr0m3da

    Andr0m3da Power Member

    Tesla,
    queres fazer um programa para carregar o cpu?

    Ao fazeres um programa não estruturado com o intuito de usar todo o processador corres o risco de apenas estar a esforçar certas "zonas" do cpu, "apertar" com tudo é complicado.
    Um programa que faça brute force a um file zipado por exemplo é normal que use e abuse das ALU's mas nada mais.
    Podes confirmar o que te digo, procurando um programa chama AZPR, Advance Zip Passwaord Recovery. A mim isto aquece tanto o cpu qt o Toast, mas no entanto sei que não é um teste exaustivo a todo o cpu, bastas ver que apesar de estar a 100%, com o AZPr o pc fica utilizavel, e com o Toast tb fica, mas noto mais "arrasto", ou seja tem de haver forma de pores o rapaz mais esforçadito, agora o "como" é que nao sei.

    Talvez alguem mais de Info te possa dizer. Gutter?
     
  4. Tesla

    Tesla Power Member

    Onde posso arranjar info para integrar em C++ as instruções de multimedia suportadas pelo CPU!

    O meu CPU é um Tbird 1200 @ 1400Mhz.

    See ya
     
  5. Tesla

    Tesla Power Member

    AVxAMD,

    Depois de terminar o programa o task-manager passa para 0-2%!!

    :003: :003: :009: :009:
     
  6. Andr0m3da

    Andr0m3da Power Member

    Telsa, isso que te acontece não é nada demais, qq programa de DOS que ponhas a correr e que demore o suficiente para que abras o task manager veras o dito sempre a 100%. tenta um ciclo infinito e vais ver isso. mas isso até em JavaScript fazes. ;)
     
  7. Kr0n0

    Kr0n0 Power Member

    arranja a datasheet do cpu e faz um programa em asm :)
    um loopzinho infinito deve dar conta do problema



    apesar do windows emular o dos, penso k isso nao vai afectar o 'burnout'
     
  8. Tesla

    Tesla Power Member

    Yah!
    Mas um loop em asm não vai dar ao mesmo que um loop em C++?!

    Afinal de contas trata-se da repetição sem fim de um conjunto de instruções!

    Isso já eu fiz...mas como referiu o Andr0m3da, o Pc continua utilizavel. E eu quero-o com arrasto...mto arrasto. Não parado claro, mas com um arrasto tremendo...afinal uma ferramenta para OC tem de ser potente, para se saber com mais precisão os limites do sistema!

    [[]]
     
  9. Kr0n0

    Kr0n0 Power Member

    1) arranja a datasheet do cpu
    2) faz um programa em asm k use todas as instrucoes do cpu, dai o uso da datasheet

    :)

    isto era o ideal (tendo em conta k nos preocupavamos-nos em encher as caches) so k isto e muito trabalhoso, visto existirem centenas de instrucoes

    o ideal e mesmo o k andr0m3da disse, usar um pass-recovery, porke? pork o programa tem muita matematica, fazendo muitas belas equacoes e usando muita instrucao do cpu

    eu uma vez encontrei na net um pgp brute force :), ja estas a imaginar :)

    mas o ideal para aaaaaahhhhrrrrrrrrrrrrrrrrassssssssssssstar o cpu e mesmo executar tudo isto simultaneamente
    seti, prime, demo ut, 3dmark
    acho k isto chega para arrastar :)
     
  10. Tesla

    Tesla Power Member

    Já arranjei a datasheet.

    Agora só me falta arrumar os exames para ter tempo.

    Mas pelo que vi, vou demorar bastante só a tentar perceber o que lá está escrito!!!

    ASM... não me apetecia muito ter de olhar para isso!!

    Pergunto mais uma vez...posso usar C++?

    Quais as vantagens do ASM em detrimento do C++?(se é que existem!)
     
  11. hmf

    hmf Power Member

    Podes usar à vontade c++ pra fazeres o programa ..., no entanto as rotinas de baixo nivel tem que ser feitas em ASM (o c++/c permitem chamadas a rotinas de ASM), a explicação é lógica .., cada compilador de qq linguagem (neste caso c++) optimiza o código para correr numa arquitectura especifica, no entanto além do compilador poder estar optimizado para arquitecturas da década passada (como deve ser o caso), nem sequer conhecem o que é SSE/SSe2/3Dnow .., etc ..

    Outro problema é que tu não ficas a saber exactamente o código que o compilador vai gerar (embora possas despejar assembler), ficando sem controlo exactamente nos registos que este vai correr.., além disso o que tu julgas ser um while infinito a ocupar 100% do cpu na realidade está a ocupar esses 100% mas utiliza apenas um par de registos e 1 operação lógica ...

    O ASM dá-te controle exactamente no que queres utilizar do CPU ..., mas prepara-te porque vai ser grande o trabalho ....
     
  12. Persuader

    Persuader Power Member

    Sugestão

    Só uma coisa, o task manager do windows não é tão preciso quanto isso a medir a ocupação do CPU. Depois, o simples facto de o computador não arrastar muito não quer dizer que a ocupação do processador não esteja a 100%. Simplesmente o Windows reparte o tempo de CPU pelas demais tarefas, e retira tempo de CPU à tua tarefa para poder executar as outras.

    Nos computadores onde notas bastante "arrasto" são geralmente sistemas com pouca memória e/ou discos lentos, obrigando assim ao aumento de memória virtual. Ou seja, arrasta porque está a aceder ao disco e o programa que queres utilisar não estava em memória, e portanto tens de esperar que seja carregado ou reactivado (da memória virtual). Nestes casos a ocupação de CPU é muitas vezes inferior a 20% - fica à espera do disco duro. Geralmente a adicição de mais memória resolve estes casos.

    Por último, para que tenhas a tua tarefa a ter o efeito desejado deves corre-la em puro DOS (vais ver que não consegues fazer mesmo mais nada :)). Se necessitas mesmo de usar o Windows, então deves arranjar maneira de dar prioridade máxima à tua tarefa, para que esta tenha prioridade sobre as outras.

    Se quiseres ir ainda mais longe, podes tentar uma linguagem que tenha suporte de tempo-real, tipo ADA95.

    Boa sorte
     

Partilhar esta Página