SORU
20 Mart 2009, Cuma


Yönünü en modern sistemlerde büyüme yığını nedir?

C bazı eğitim materyalleri hazırlıyorum ve benim örnekler tipik yığın modeli uyacak şekilde istiyorum.

Ne yönde bir C Linux, Windows, Mac OS X () PPC ve 86, Solaris, ve en son Unix büyümek yığını mı?

CEVAP
20 Mart 2009, Cuma


Büyüme genellikle işletim sistemine bağlı değildir yığını kendisi, ama işlemci üzerinde çalışan. Solaris, örneğin, x 86 ve SPARC üzerinde çalışır. Mac OS bahsettiğiniz gibi PPC ve x 86 üzerinde çalışır. Benim büyük gürültücü gelen her şeyi Linux üzerinde çalıştığı işyerinde' Sistemi z puny little wristwatch.

İşlemci ve yönü vardır:

x86          down
SPARC        in a circle, very clever architecture, see below.
PPC          down, I think.
System z     in a linked list, I kid you not.
             (but still down, at least for zLinux).
ARM          selectable (thanks, Michael Burr).
Mostek6502   down (but only 256 bytes).
RCA1802A     any way you want, subject to SCRT implementation.
PDP11        down.

Gösterilen yaşım şu son birkaç 1802 oldu çip kullanılan kontrol erken servisleri (algılama ise kapı açık mıydı, şüpheli, temel işlem gücü vardı :-) ve benim ikinci bilgisayar, COMX-35 (aşağıdaki benim ZX80).

Bir kenara olarak:

PDP11 detaylar here panoda.

SPARC mimarisi, bu arada, sürgülü bir pencere ile bir dairesel tampon, sınırlı bir adımı vererek garip bir yığın mimarisinin bir örneğidir. Ayrıntılar için here bkz.

Yukarıda belirtilen SCRT tekniği başka bir şeydir - 1802 bazı kullanılan ya da on altı 16-bit SCRT için kaydeder (standart arama ve dönüş tekniği). SEP Rn bir talimat PC gibi herhangi bir kayıt kullanabilirsiniz program sayacı. Bir yığın gösterici ve iki her zaman SCRT kod adresine işaret edecek şekilde ayarlanmış, Ara, geri dönmek için.Hayırkayıt özel bir şekilde tedavi edildi. Bu ayrıntıları hafızamdan akılda tutulması, tamamen doğru olmayabilir.

Örneğin, R3 oldu PC, R4 oldu SCRT çağrı Adres, R5 oldu SCRT iade adresi ve R2 oldu "yığın" (tırnak olarak uygulanan yazılım), SEP R4 ki set R4 için PC ve başla çalışan SCRT çağrı kodu.

Daha sonra "" (R6 depolama sıcaklığı) için kullanılmış sanırım, yukarı veya aşağı, R3, yükü aşağıdaki iki bayt al onları . ayarlama yığın R2 R3 store olurdu ^em>içineR3, SEP R3 ve yeni adresi de çalışıyor olması.

Dönmek, olur SEP R5 hangisi eski numarayı Adres R2 yığını, iki Ekle (atla adresi bayt çağrı), yük içine R3 SEP R3 başlangıç çalışan önceki kod.

Çok zor kafanda başlangıçta yol 6502/6809/z80 yığın tabanlı bir kod ama bang-----duvara kafası hala zarif falan sonra sarmak için. Ayrıca çipin büyük satış özelliklerinden biri 16 16-bit kaydeder ve hemen o 7 (SCRT, DMA için iki ve bellekten kesmeleri için 5) kaybetti. Gerçeklik üzerinden pazarlama zaferi Ahh.

Sistem z aslında oldukça benzer, çağrı/r 14 ve R15, kayıtları geri kullanıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011