Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Detaylar
Kim cevapladı?
Çözüm
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bu "sanal CPU"yu çalıştıracak gerçek bir işlemci lazım, dolayısıyla bütün yük işlemciye biniyor.
Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).
Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).
C:
mov ebp, esp
Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
C:
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+52]
sar eax, 4
mov DWORD PTR [rbp-4], eax
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+52]
and eax, 15
mov DWORD PTR [rbp-8], eax
cmp DWORD PTR [rbp-4], 2
je .L11
cmp DWORD PTR [rbp-4], 2
jg .L10
cmp DWORD PTR [rbp-4], 0
je .L14
cmp DWORD PTR [rbp-4], 1
jne .L10
mov edx, DWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call SanalCPU::move(int)
1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
- Katılım
- 21 Aralık 2023
- Mesajlar
- 603
- Çözümler
- 6
- Beğeniler
- 383
Görev Yöneticisi'nden baktıysanız CPU kullanımının sabit olduğunu göreceksiniz.
Mesela 8 çekirdekli işlemcin var. 8 çekirdeği de sanal makineye verirsen işlemcinin tamamını sanal makineye verdiğin için görev yöneticisinde %100 gözükecektir. Tamamen senin makineye ne kadar işlemci çekirdeği ve ne kadar frekans verdiğine bağlı.
Emule etmek için işlemler yapılması gerekiyor. Bu durumda da işlemciye büyük görev düşüyor.
FloridaBoy
Yetkin
- Katılım
- 28 Aralık 2023
- Mesajlar
- 97
- Makaleler
- 1
- Çözümler
- 1
- Beğeniler
- 230
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bu "sanal CPU"yu çalıştıracak gerçek bir işlemci lazım, dolayısıyla bütün yük işlemciye biniyor.
Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).
Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
Normalde 1 CPU saatinde çalıştırılacak bu kod;
(1GHz bir işlemcide yaklaşık 0.0000000001 saniyede (1 nanosaniye) çalışır).
C:
mov ebp, esp
Sanal CPU tarafından şuna benzer bir kod sayesinde çalıştırılacağı için:
C:
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+52]
sar eax, 4
mov DWORD PTR [rbp-4], eax
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+52]
and eax, 15
mov DWORD PTR [rbp-8], eax
cmp DWORD PTR [rbp-4], 2
je .L11
cmp DWORD PTR [rbp-4], 2
jg .L10
cmp DWORD PTR [rbp-4], 0
je .L14
cmp DWORD PTR [rbp-4], 1
jne .L10
mov edx, DWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call SanalCPU::move(int)
1 cpu saatinde çalışacak instruction sayısı üstel olarak artıyor.
Son düzenleme:
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bütün yük işlemciye biniyor.
Eyvallah hocam çözüm olarak işaretledim.
Adamlar fiziksel bir CPU'yu birebir taklit edecek kodlar yazıyorlar, aynı gerçek bir CPU gibi içerisinde Register'ları, Stack'i vs var ama fiziksel olarak değil, sanal bir şekilde olduğu için bütün yük işlemciye biniyor.
Ek olarak da bir bilgi ekleyeyim. Eğer emülatör "hardware" Render'ı kullanırsa yüksek derecede ekran kartı da kullanır.
Ama ana işler işlemcide döner hep.
PS3 ve Xbox 360 emülatörleri ekran kartı da istiyor olarak gözüküyor.
- Katılım
- 22 Aralık 2023
- Mesajlar
- 11
- Beğeniler
- 3
Yukarıdaki arkadaş epey teknik olarak açıklamış ağzına sağlık. Ama mantık basit, adı üstünde emulatör. Gidip bambaşka bir sistem üzerinde, onun işletim sistemine ve donanımına özel üretilmiş bir oyunu yani yazılımı başka bir platformda çalıştırmaya çalışıyorsun. Şunu okuyunca neden işlemci istediği anlaşılıyor bence 
Yeni konular
-
-
-
-
Alys Gold | R5 7500F & RX 9070 XT sistem özelleştirilip alınır mı?
- Niccolo Machiavelli
- Mesaj: 3
-
-
-
-
Wraith Esports Firmasından alışveriş yapar mısınız?
- Telefonunu Çıkra
- Mesaj: 46