İşlemciyi devre şemasına eşleme


11

Bilgisayarların nasıl daha düşük düzeyde çalıştığını anlamaya çalışan bir yazılım geliştiricisiyim (.NET, C, C ++ vb. Gibi yüksek düzeyli diller kullanarak).

Ben bu diyagram ile yakınım:

Bağlantı şeması böyle bir devre şemasına nasıl eşleştiği konusunda üst düzey bir fikir edinmeye çalışıyorum:

Örneğin, montaj dili deyimine bir göz atın:

ADD 1,2

İşlemcinin çıktı olarak nasıl '3' ürettiğini anlamaya çalışıyorum. Bu sorunun basit terimlerle cevaplanması zor olabileceğinin farkındayım. Eğer öyleyse, bir bağlantı belki de bir kitaba yardımcı olacaktır.


Gönderdiğiniz ilk şemaya referansla, gerçek aritmetiğin ihtiyaç duyduğu ayrıntıların tümü "ALU" etiketli büyük blokta gizlidir: bu diyagramdaki diğer tüm bloklar 1,2 almak ve ALU'ya "eklemek" için sadece oradadır ve sonuç yine. Bunu bilerek, ALU'nun nasıl çalıştığını okumaya başlayabilirsin, eğer istediğin buysa ..
Brian Drummond

5
İlk diyagramınız ikinci diyagramdaki Z80 CPU ile eşleşir.
starblue

Yanıtlar:


7

Sorun şu ki, bilgisayarın 1 + 2 = 3'e nasıl ulaştığını anlamak için gittiğinizden 2 kat daha derin anlamalısınız.

Kabaca bir bilgisayar (çalışma alanları açısından) en yüksek soyutlama seviyesinden en fiziksel gerçekliğe kadar bu şekilde düzenlenir:

  1. Uygulama yazılımı
  2. Sanal makine
  3. İşletim sistemi
  4. BIOS
  5. Gömülü sistemler
  6. IP Blokları (Alt Birimler / Çevre Birimleri)
  7. Mantıksal Bloklar
  8. Kapısı Düzey
  9. Transistör Seviyesi
  10. Semicoductors
  11. Cihaz Fiziği

Bilgisayarın neden 2 + 1 = 3 üretebileceğini düzgün bir şekilde anlamak için, önce "inanç üzerine" neyi kabul etmek istediğinize ve onu içselleştirene kadar neye inanmayacağınıza karar vermelisiniz. Bu bilgi, anladığınız şeyin altında ikinci seviyede olacaktır. Eğer mantıksal seviyede bir toplayıcı devresini anlamak istiyorsanız, "dijital" transistörlerin (özellikle CMOS) temellerini anlamanız gerekecektir.

Önceki sitenizi örnek olarak kullanarak bu kaynağı göz önünde bulundurun . "Tam Toplayıcı" yı tartışır - taşıma ve taşıma dahil toplama / çıkarma yeteneğine sahip minimum tamamen genel amaçlı devre.

Ayrıca sayıların 2'nin tamamlayıcısında nasıl temsil edildiğini de anlamanız gerekir (modern bilgisayarlarda tamsayı aritmetiği için kullanılan sayı sistemi).

Gerçekten birinci sınıf bir tanıtım kursu istiyorsanız, Georgia Tech'teki Profesör Scott Wills'i yeterince tavsiye edemem. Geçen yıl kanserden öldü, ama seyri devam ediyor . Georgia Tech ECE2030 (bilgisayar mühendisliğine giriş) sınıfının ders kitabı ve çevrimiçi çalışmaları vardır.

İyi şanslar!


Bunun için teşekkürler. +1. C ve C ++ ile deneyimim olmasına rağmen bir .NET geliştiricisiyim. C # ara dil olarak derlendi ve JIT derleyici IL kodunu anında derleyerek bilgisayar mimarisini hedefliyor. Nasıl bir mikrodenetleyici bir işlenen ve bir opcode alabilir ve bir çıktı üretmek nasıl anlamaya çalışıyorum. Transistörler, Kapasitörler vb. Gibi elektronik bileşenler hakkında bilgim var (GCSE seviyesi)
w0051977

... o zaman Okumalarda "Tasarım Değiştir" ile başlıyorum ve oradan derslerde ilerliyorum.
DrFriedParts

Konu listeniz, en alakalı olanları atlarken soruyla alakasız olanları atmayı başarır.
Chris Stratton

@Chris - Hayır değil.
DrFriedParts

3

Aynı şeyi üniversitede öğrenmek zorunda kaldım ve çok detaylı olan Bilgisayar Organizasyonu ve Tasarımı kitabını kullandık (ama belki de ihtiyaçlarınız için çok ayrıntılı).

Patterson ve Hennesy bazı "basit" MIPS işlemciler kullandılar ve CPU'nun tüm fonksiyonunu Assembler'da bazı örnek kodlarla gösterdiler.

Genel olarak, bazı "basit" işlemcileri (Arduino ya da öylesine) alıp işlevi anlamaya çalışmanın harika bir fikir olacağını düşünüyorum, çünkü bundan daha karmaşık olanlara uygulanan farklılıklar, uygulanan komut kodlarının ne kadar büyük olduğudur.

PS Belki Google Kod'un temel mikroişlemcisi yardımcı olabilir. Java ile simüle edilmiş bir mikroişlemcidir.


2

Ücretsiz kitap Bilgisayarlar Çalışması Nasıl - İşlemci ve Ana Bellek Roger Young sorunuza cevap verecektir, bu daha iyi anlaşılması için röleleri yerine transistör kullanır.


2
Bu kitap faydalı görünse de, yanıtın tamamını başlık ve yazar bilgilerini içerecek şekilde düzenleyin. Bu şekilde bağlantı değişirse, gelecekte bağlantıyı izlemek yine de mümkün olabilir.
PeterJ

Bu, o zaman aradığım şey gibi görünüyor. +1. Bir göz atacağım ve sonra geri döneceğim.
w0051977

-1

Cevabımı burada buldum . Sayı ekleme sürecine üst düzey bir genel bakıştır.


4
Cevaptaki materyali özetlerseniz, gelecekteki okuyucular için daha yararlı olur. Harici bir kaynağa bağlantı vermek EE.SE'ye fazla bir şey katmaz.
Foton

@ @Photon'un burada ne söylediğine dikkat edin. Bu youtube videosu size yardımcı olabilir, ancak öğrendiğinizi özetleyebilir misiniz, böylece bu video bağlantısı koparsa bu hala bir cevaptır?
Kortuk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.