SORU
10 Ocak 2010, Pazar


Neden yığınları genellikle aşağıya doğru yetişir mi?

Biliyorum bunun mimarileri ben şahsen aşina (86, 6502, vb), genellikle yığın büyüdükçe aşağıya doğru (yani her öğe itilmiş üzerine yığını sonuçlarında bir indirildiği SP, artan bir).

Bu tarihsel gerekçesini merak ediyorum. Biliyorum bu bir birleşik adres alanı, onun uygun bir başlangıç yığında karşısında son veri kesimini (ki) bu yüzden sadece bir sorun varsa iki taraf çarpışır ortada. Ama neden geleneksel olarak üst kısmı yığını mı? Özellikle bu tam tersi nasıl verilir "kavramsal" model?

(6502 mimarisinde, aynı zamanda, bir yığın not, 256-bayt tek bir sayfaya bağlı olduğu halde aşağıya doğru büyür ve bu yönde seçim keyfi görünüyor.)

CEVAP
10 Ocak 2010, Pazar


Tarihi bir gerekçe olarak, belli bunları ben tasarlamadım için söyleyemem. Benimdüşüncelerkodlarını doğal olarak yukarı doğru büyüdüğü için erken CPU 0 orijinal program sayacı seti var ve diğer ucunda yığını ve aşağı doğru büyümeye başlamak için doğal bir istek oldu bu konuda.

0 sayaç sıfırlama programı bu ayar için geçerli değildir unutmayıntümerken CPU.

Bir ilk şey bazı tarihsel CPU yapardı olmak için tarama hafızasından üstüne kadar bulunan yerin bu oku geri aynı değeri yazılı, o biliyor gerçek RAM yüklü (örneğin, z80 ile 64 adres alanı yoktu mutlaka vardır veya 64 K RAM, aslında 64 K olurdubüyükgençlik yıllarım). Üst gerçek adresini buldu sonra, göstericisini yığın oluştururdu ve sonra değişmezler aramaya başlayın.

Yığınları büyüme açısından değil, hepsi aşağı doğru büyür, ayrıntılı bilgi için this answer bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006