Cpu Nasıl Çalışır?
-A- 2 tuşuna basılması MİB’ini uyarır ve Komut Cache’inde (Instruction Cache) bir şey olmadığından yeni veri üzerinde ilgili komutların yapılabilmesi için bilgisayarın ana belleğine sorması amacıyla Prefetch Unit’e haber verir.
-B- Yeni veri Bus Unit üzerinden bellekten Mib’ine gelir ve "2=X” ifadesiyle Komut Cache’inde depolanır.
-C- Prefetch Unit, Instruction Cache’e "2=X" kodunun bir kopyasını almasını ve daha sonraki işlemlerde kullanılması için Decode Unit’e göndermesini ister.
-D- Decode Unit "2=X" komutunu binary kod (ikili kod) tipinde dönüştürür ve Data Cache’e ve Control Unit’e gönderir.
-E- Decode Unit, 2 sayısının işlemlerde kullanılacağı için Data Cache’de depolandığını bildirdiğinden, Control Unit "2=X.” komutunu yürütür. Böylece 2 Data Cache’de "X,” nolu adrese yerleşir.
-A- 3 tuşuna basıldığında Prefetch Unit ana belleğe ve Instruction Cache’e bu yeni veri üzerinde Uygulanacak komutları sorar. Instruction Cache’de komut olmadığından ana bellekten komut getirilecektir.
-B- "2=X," de olduğu gibi yeni veri üzerinde uygulanacak komut ana bellekten getirilir ve Instruction Cache’de "3=Y.“ kod ataması yapılarak adreslenir.
-C- Prefetch Unit, Instruction Cache’deki "3=Y" kodunun kopyasını alır ve Decode Unit’e daha sonraki işlemlerde kullanmak amacıyla gönderir.
-D- Decode Unit “3=Y" komutunu binary kod (ikili kod) tipinde dönüştürür ve Data Cache’e ve Control Unit’e gönderir.
-E- Decode Unit, 3 sayısının işlemlerde kullanılacağı için Data Cache’de depolandığını bildirdiğinden, Control Unit “3=Y+.” komutunu yürütür. Böylece 2 Data Cache’de "X,” nolu adrese yerleşir.
-A- "+" tuşuna bastığınızda Prefetch Unit bilgisayarın ana belleğine ve Instruction Cache’e ana bellekten getirilirek yeni veri üzerinde işlem yapılacak olan komutu sorar.
-B- Bu yeni bir komut olduğundan "+" ana bellekten gelir ve Instruction Cache’de "X+Y=Z," toplama işleminin yapılacağını gösterecek şekilde kodlanarak adreslenir.
-C- Prefetch Unit, Instruction Cache’e "X+Y=Z" kodunun kopyasını almasını söyler ve bunu Decode Unit’e ilerideki işlemlerde kullanmak üzere gönderir.
-D- Decode Unit’te, "X+Y=Z" kodu çözülür ve Control Unit’e ve Data Cache’e gönderilir. Bu arada ALU’da toplama işleminin (ADD) yapılacağına dair bir mesaj verir.
-E- Control Unit’de kod kırılır ve ADD(toplama) işlemini “X” ve “Y” nin toplandığı ALU’ya gönderir ve Data Cache’den bu değerler alınır. ALU, Register’larla haberleşerek "5" değerini adres alanlarından birine gönderir.
-A- "=" tuşuna basıldığında Prefetch Unit Instruction Cache’de bu yeni veri için bir komut arar ki zaten bulamayacaktır.
-B- "=" için gerekli komut ana bellekten Bus Unit üzerinden MİB’ne gelir ve Instruction Cache’de "Print Z.“ kodunun olduğu yerde adreslenir.
-C- Prefetch Unit, Instruction Cache’e "Print Z“ nin bir kopyasını almasını ister ve bunu Decode Unit’e gönderir.
-D- Decode Unit’de "Print Z" ikili koda çevrilir ve Control Unit’e bu komutla ne yapacağını anlaması için gönderir.
-E- Şimdi Z’nin değeri hesaplandı ve registerda #5 olarak durmakta, göster (print) komutu registerın içeriğini ekranda gösterir ve böylece 2+3’ün toplamı görülür. Mikroişlemci işi sizin için yapmıştır.