SORU
11 HAZİRAN 2009, PERŞEMBE


&Quot;çok çekirdekli" assembly dili neye benziyor?

Örneğin bir zamanlar, 86 çevirici yazmak için, talimatlar bildiren olurdu bir kere "EDX değerini 5 ile kayıt yükleme", "artış EDX" kayıt, vb.

Modern İşlemci var 4 çekirdek (hatta daha fazla), makine kodu seviye mu bak orada 4 ayrı CPU (yani orada sadece 4 farklı "EDX" kayıtları) ? Yani, "artış EDX CPU EDX kayıt artırılır?", ne belirler kayıt derken eğer Bir "bağlam" ya da "x 86 çevirici şimdi?" kavram iş parçacığı CPU var

Nasıl iletişim/çekirdek arasında eşitleme çalışır?

Eğer bir işletim sistemi yazıyor olsaydın, hangi mekanizma donanım üzerinden farklı çekirdek yürütme planlamak için izin maruz kalmaktadır? Bazı özel priviledged Yönerge(ler) mi?

Eğer çok çekirdekli bir CPU için Java VM/optimize derleyici yazıyor olsaydın, tam olarak ne bilmek zorunda mısın, 86 söyletmek için etkin bir şekilde tüm çekirdekleri arasında çalışan kod üretir?

Değişiklikler çok çekirdekli destek işlevi x 86 makine kodu? yapılan ne var

CEVAP
13 HAZİRAN 2009, CUMARTESİ


Bu soruya doğrudan bir cevap değil ama yorum olarak görünen bir soruya bir cevap. Aslında, bu soruyu donanım çok kanallı operasyon için veriyor.

* *6, en az 86 ile ilgili. Çok dişli bir ortam (CPU, çok çekirdekli veya çok işlemcili)Bootstrap iplik(genellikle iş parçacığı İşlemci core 0, 0, 0) başlar getiriliyor kodu 0xfffffff0 Adres. Diğer iş özel uyku durumuna denirBekle--ilkelerine göre geoit belirlemenin ... için. Başlatma bir parçası olarak, birincil iş parçacığı WFS her konuya ınter-işlemci-kesme (IPI) APIC bir ilkelerine göre geoit belirlemenin ... adlı (Başlangıç IPI) bir özel gönderir. Bu ilkelerine göre geoit belirlemenin ... hangi iş parçacığı kod getirmeye başlaması gerektiğini adresini içerir.

Bu mekanizma, her iş parçacığı farklı bir adresten kod çalıştırmasına izin veriyor. Gereken her iş parçacığı kendi tablolarını ve ileti kuyrukları kurmak için yazılım desteği. İşletim sistemi kullanırbuçok kanallı gerçek zamanlama yapmak.

Gerçek montaj ile ilgili olarak Nicholas yazdığı gibi, tek bir dişli veya çok dişli uygulama için derlemeler arasında fark yok. Her mantıksal iş parçacığı kendi kayıt kümesi, yazı var:

mov edx, 0

sadece güncelleme EDX içinşu anda çalışan iş parçacığı. Başka bir işlemci tek bir montaj talimatı kullanarak EDX değiştirmek için bir yol yok. Sistem bir çeşit işletim sistemi başka bir iş parçacığı kendi EDX güncelleme kodu çalıştırmak için söylemek sormak için aramak gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • hytchme

    hytchme

    9 Mart 2014
  • Justin Schenck

    Justin Schen

    24 Kasım 2006