[Protus] Skrevet 18. april 2005 Del Skrevet 18. april 2005 Har vært temmelig borte fra hardwareverdenen en stund, men etter hva jeg kan lese på diskuter artikler ang. Intels lanserte Dualcore-CPUer så sier altså noen at AMD har Hyperthreading (eller lignende) de også nå. Mulig det ikke er aktivert da, men uansett, er det noe jeg ikke har fått med meg? Glad hvis noen vil fortelle litt, har bare fulgt overfladisk med i hardware-verdenen de siste, 6-9 månedene. Lenke til kommentar
Boralis Skrevet 18. april 2005 Del Skrevet 18. april 2005 Ryktet sier så,men tror ikke noen kan bekrefte dette sikkert enda. Men om det stemmer er det bare hyggelig det da. Lenke til kommentar
el-asso Skrevet 18. april 2005 Del Skrevet 18. april 2005 (endret) Tror nok ikke det er snakk om hyperthreading i tradisjonell forstand. Det er mer snakk om å enable en bit i EDX registeret som gjør at dobbeltkjerneprosessorene til AMD kan gjøre nytte av programmer som er beregnet på hyperthreading. Altså at programmer beregnet på to logiske prosessorer (HT) kan nyttiggjøres på to fysiske prosessorkjerner (DC). Endret 18. april 2005 av el-asso Lenke til kommentar
Admin'c Skrevet 19. april 2005 Del Skrevet 19. april 2005 Tror nok ikke det er snakk om hyperthreading i tradisjonell forstand. Det er mer snakk om å enable en bit i EDX registeret som gjør at dobbeltkjerneprosessorene til AMD kan gjøre nytte av programmer som er beregnet på hyperthreading. Altså at programmer beregnet på to logiske prosessorer (HT) kan nyttiggjøres på to fysiske prosessorkjerner (DC). det høres mer fornuftig ut, er vel dette som må skje når dobbeltkjernene kommer på slutten av året Lenke til kommentar
corge Skrevet 20. april 2005 Del Skrevet 20. april 2005 Tror nok ikke det er snakk om hyperthreading i tradisjonell forstand. Det er mer snakk om å enable en bit i EDX registeret som gjør at dobbeltkjerneprosessorene til AMD kan gjøre nytte av programmer som er beregnet på hyperthreading. Altså at programmer beregnet på to logiske prosessorer (HT) kan nyttiggjøres på to fysiske prosessorkjerner (DC). Snakker du om det vanlige x86 (extended)DX-registeret? Visste ikke at det ble brukt til sånne ting..? Lenke til kommentar
el-asso Skrevet 20. april 2005 Del Skrevet 20. april 2005 Tror nok ikke det er snakk om hyperthreading i tradisjonell forstand. Det er mer snakk om å enable en bit i EDX registeret som gjør at dobbeltkjerneprosessorene til AMD kan gjøre nytte av programmer som er beregnet på hyperthreading. Altså at programmer beregnet på to logiske prosessorer (HT) kan nyttiggjøres på to fysiske prosessorkjerner (DC). Snakker du om det vanlige x86 (extended)DX-registeret? Visste ikke at det ble brukt til sånne ting..? Sorry, bokstavene stokket seg litt her. Uten HT Athlon 64 Simple Core - CPUID (EAX = 1) Hex (EDX) : 0x078bfbff Bin (EDX) : 0b00000111100010111111101111111111 Hex (EBX) : 0x00000800 Med HT Athlon 64 Dual Core - CPUID (EAX = 1) Hex (EDX) : 0x178bfbff Bin (EDX) : 0b00010111100010111111101111111111 Hex (EBX) : 0x00020800 Mer om dette her Lenke til kommentar
HKS Skrevet 20. april 2005 Del Skrevet 20. april 2005 Tror nok ikke det er snakk om hyperthreading i tradisjonell forstand. Det er mer snakk om å enable en bit i EDX registeret som gjør at dobbeltkjerneprosessorene til AMD kan gjøre nytte av programmer som er beregnet på hyperthreading. Altså at programmer beregnet på to logiske prosessorer (HT) kan nyttiggjøres på to fysiske prosessorkjerner (DC). Snakker du om det vanlige x86 (extended)DX-registeret? Visste ikke at det ble brukt til sånne ting..? Jo, alle registerene brukes til informasjon om CPU... I assembly kan du kalle på ".cpuid" så setter prosessoren flere bit i registerene etter hva den er i stand til å gjøre. For eksempel støtte for SSE2 indikeres ved et bit i et register... siden dual-core fra AMD støtter to fysiske prosessoren kan den jo også benytte seg av optimaliseringer for Intel HyperThreading, så da sier prosessoren til applikasjonene at de kan gjøre HT over de to fysiske prosessorene... Lenke til kommentar
corge Skrevet 20. april 2005 Del Skrevet 20. april 2005 Raptor' date='20/04/2005 : 08:03'] Jo, alle registerene brukes til informasjon om CPU... I assembly kan du kalle på ".cpuid" så setter prosessoren flere bit i registerene etter hva den er i stand til å gjøre. For eksempel støtte for SSE2 indikeres ved et bit i et register... siden dual-core fra AMD støtter to fysiske prosessoren kan den jo også benytte seg av optimaliseringer for Intel HyperThreading, så da sier prosessoren til applikasjonene at de kan gjøre HT over de to fysiske prosessorene... Dette er feil, for det første brukes ikke på langt nær alle registere til informasjon om CPUen når du kjører cpuid. For det andre så skriver du at "alle registere brukes til informasjon om CPU..." uten å skrive at de kun gjør det når du kjører cpuid! Lenke til kommentar
corge Skrevet 20. april 2005 Del Skrevet 20. april 2005 el-asso, jeg trodde faktisk at brukeren (programmereren) selv måtte enable en bit i edx for å slå på denne funksjonaliteten slik som du skrev det. Lenke til kommentar
HKS Skrevet 20. april 2005 Del Skrevet 20. april 2005 Raptor,20/04/2005 : 08:03] Jo, alle registerene brukes til informasjon om CPU... I assembly kan du kalle på ".cpuid" så setter prosessoren flere bit i registerene etter hva den er i stand til å gjøre. For eksempel støtte for SSE2 indikeres ved et bit i et register... siden dual-core fra AMD støtter to fysiske prosessoren kan den jo også benytte seg av optimaliseringer for Intel HyperThreading, så da sier prosessoren til applikasjonene at de kan gjøre HT over de to fysiske prosessorene... Dette er feil, for det første brukes ikke på langt nær alle registere til informasjon om CPUen når du kjører cpuid. For det andre så skriver du at "alle registere brukes til informasjon om CPU..." uten å skrive at de kun gjør det når du kjører cpuid! Hallo flisespikking... Jeg vet at ALLE registerene ikke brukes til å sette inn informasjon... De general purpose registerene som brukes til å indentifisere HT rellevante ting er EAX, EBX, ECX, og EDX... Da kan jeg jeg begynne og... jeg trodde faktisk at brukeren (programmereren) selv måtte enable en bit i edx for å slå på denne funksjonaliteten slik som du skrev det. Det er nok helt feil.... Operativsystemet må også støtte HT, ellers ellers så er det ikke noe poeng... CPUID setter Bit 28 i EDX hvis prosessoren støtter HyperThreading (flere tråder), i bit 23-16 i EBX kan du lese ut hvor mange logiske prosessoren som er tilgjenglig CPUID instruksjonen kan også brukes til å manuelt flush'e pipelinen til CPU'en Med en gang du er ferdig med å lese ut det du trenger og programmet eksekverer videre overskrives selvsagt alle gpr registerene med data fra applikasjonen som kjører... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå