Fiziksel adres kullandığını biliyorum = < < < 4 + offset register. Bu iki yazmaç 16 bit olsa da, 8086 nasıl 20 bitlik bir işlem gerçekleştirebilir?cpu gerçek modda 20-bit adresini nasıl hesaplar
cevap
Otobüs Arayüz Birimi kesimi kaydeder oluşur, toplayıcı 20 bitlik adres ve buyruk ön yüklemesi kuyruğu oluşturmak için. Bu adres BİG'den gönderildikten sonra, komut ve veri baytları bellekten getirilir ve bir İlk Giren İlk Çıkışı 6 bayt kuyruğu doldurur.
Google'dan kolayca bulunabilen "8086_Internal_Block_diagram_enotes.pdf" adlı bir belgeye bakın. Ayrıca, Bus Interface Unit ile ilgili bölümü this document'a bakın.
Bu nedenle, işlemci 20-bit adresleri "isteğe bağlı" olarak, özel bir 20 bitlik kayıtla üretecektir, eğer yapacaksanız.
16 bitlik bir sayıyı 4 yere sola kaydırdığınızda, aslında 20 bitlik bir sayı oluşturursunuz. Ofset daha sonra o aralığa ne kadar ilerleyeceğinizi gösterir. Wikipedia article on Real mode addressing'a bakın.
Örnek:
0x0001 << 4 -> 0x00010 (5 sets of 4 bits in each hex digit -> 20 bits)
Sorunun daha fazla olduğunu düşünüyorum: tüm yazmaçlar 16 bit olduğu için, işlemci normal bir kayıt için çok büyük olan 20 bitlik bir değeri nasıl işleyebilir? – DarkDust
@DarkDust Evet, ben de böyle yorumladım. Seninki daha eksiksiz, sadece soruyu doğrudan sormaya çalışıyordum. – jonsca
@ DarkDust, jonsca, tam olarak :) – Oxdeadbeef
- 1. Site talebi kullanmadan gerçek IP adresini nasıl alabilirim? C#
- 2. CPU, belirli bir fiziksel bellek adresini nerede arayacağını biliyor?
- 3. Yeni hesaplar nasıl doğrulanır
- 4. JS betiği miktarını hesaplar yanlış hesaplar
- 5. İstemcinin gerçek IP adresini Rails ve Nginx ile alın?
- 6. BIOS Korunmuş modda kesmeler
- 7. Incl CPU Time, Excl CPU Time, Incl Real CPU Time, Exce Real CPU Time'ın anlamı nedir?
- 8. Yetersiz CPU nedeniyle CPU
- 9. ADBannerView yatay modda, ancak dikey modda değil,
- 10. Program, çağrı talimatının adresini geçersiz kılmaya çalışırken
- 11. CPU kullanımı ve CPU hızı
- 12. Bir dizgenin CRC32'sini nasıl hesaplar
- 13. VML standart modda nasıl çalışır?
- 14. Vim "özel modda" nasıl başlatılır
- 15. Hesaplar arasında ec2 örneklerini aktarma
- 16. bir dize adresini gösteriliyor
- 17. İstemci IP Adresini nasıl alabilirim? HttpServletRequest
- 18. AngularJS + Tek Çekirdekli CPU = Neredeyse% 100 CPU
- 19. (SalesOrderEntity'den) nasıl gönderim adresini alabilirim?
- 20. javascript'te ipv6 adresini nasıl şeritleyebilirim?
- 21. Linux'un PAE veya PAE olmayan modda nasıl programlandığı anlatılır?
- 22. mySql, tarih farkının toplamını hesaplar
- 23. CPU metrikleri dstat dstat cpu çıktı
- 24. Korunmuş modda kesintileri ayarlama (x86)
- 25. ASP.net'de CPU Kullanımı nasıl yapılır
- 26. dönüştürme bu modda
- 27. NO_BACKSLASH_ESCAPES seçeneği etkinleştirildiğinde gerçek yüzde işareti nasıl önlenir?
- 28. Üst toplu iş modunda CPU kullanımı
- 29. C++ CPU
- 30. CPU sipariş
Anlıyorum, teşekkürler! Bu nedenle, esasen adres hesaplaması, geleneksel 16 bit ALU (?) – Oxdeadbeef
@ 0xdeadbeef'i kullanmaz: Doğru, BIU'da kendine özel "mini-ALU" vardır. – DarkDust