• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 107 108 109 110 111 ... 115 Next »

about TLB
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
about TLB
07-16-2009, 06:44 AM
#1
MrApocalisse Offline
Big fat italian nerd
***
Posts: 89
Threads: 6
Joined: May 2009
hello,I recently saw a thread about TLB and about how does it work.
but if the GC's TLB is too little,couldn't the emulated one be bigger?
for spambots

click here!

Find
Reply
07-16-2009, 08:45 AM
#2
MenaceInc Offline
Member
***
Posts: 121
Threads: 1
Joined: Jul 2009
It's not the size, infact it's the opposite.

(07-15-2009, 12:58 AM)MenaceInc Wrote: TLB is short for Translation Lookaside Buffer and it's an area of cache in the CPU which is used for virtual address translation. What this means is that when the CPU requests data, it checks the TLB for the physical address of the data. If there's a match then the CPU can very quickly access the data (around 1 clock cycle). However, if there is a miss then it has to work out the physical address which can take up a lot of clock cycles ( around 30 cycles).

Now emulating this part of the hardware would be very detrimental to the program as if I remember correctly, the PPC used in the GC and Wii has a very small TLB which means there would be a lot of misses and the emulator would have to translate a lot of memory addresses. Considering that the GC's CPU had a maximum bandwidth of roughly 1GB/s, that would be a lot of cycles used dedicated just to translating adresses.


The main problem would be the sheer amount of data that would have to be referenced and how quickly it would have to be done so. there's just no way of making it work in the small amount of clock cycles needed
"All computers wait at the same speed"

[Image: 600336.png]
Find
Reply
07-16-2009, 07:42 PM
#3
MrApocalisse Offline
Big fat italian nerd
***
Posts: 89
Threads: 6
Joined: May 2009
so tlb is too heavy for a normal computer.
for spambots

click here!

Find
Reply
07-16-2009, 11:45 PM
#4
MenaceInc Offline
Member
***
Posts: 121
Threads: 1
Joined: Jul 2009
(07-16-2009, 07:42 PM)MrApocalisse Wrote: so tlb is too heavy for a normal computer.

it's not the TLB itself, it's the data going through the TLB
"All computers wait at the same speed"

[Image: 600336.png]
Find
Reply
07-17-2009, 06:09 PM
#5
DrDnar Offline
Junior Member
**
Posts: 46
Threads: 0
Joined: Jul 2009
I understand that the TLB caches PTE translations. In the x86 system, the TLB is transparent; software only sees the page table. What does PowerPC do different? Why can't Dolphin simply ignore the TLB, as would be possible on x86? What do games do that they want to screw directly with the PTE and not the page table? Since paging is primarily used for virtual memory, and the Gamecube has no virtual memory, what do the games want to use it for anyway?
Find
Reply
07-19-2009, 09:32 PM
#6
MenaceInc Offline
Member
***
Posts: 121
Threads: 1
Joined: Jul 2009
(07-17-2009, 06:09 PM)DrDnar Wrote: I understand that the TLB caches PTE translations. In the x86 system, the TLB is transparent; software only sees the page table. What does PowerPC do different? Why can't Dolphin simply ignore the TLB, as would be possible on x86? What do games do that they want to screw directly with the PTE and not the page table? Since paging is primarily used for virtual memory, and the Gamecube has no virtual memory, what do the games want to use it for anyway?

No idea....would be a good question to ask the original game developers Wink
"All computers wait at the same speed"

[Image: 600336.png]
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode