- İşlemci Mimarileri
- RISC ve CISC Komut Seti Mimarisi
- Karmaşık Komut Seti Hesaplama (CISC)
- Azaltılmış Komut Seti Hesaplama (RISC)
Gömülü sistem, piyasada bulunan çoğu elektronik ürünün kalbi ve çekirdeğidir. Donanımın yazılımla buluştuğu mühendislik uygulamasıdır. Biyometrik kapı kilitlerinde mini bilgisayarlar, uçaklar, arabalar, kalp pilleri vb. Bulunan gömülü sistemler dünyasıyla çevriliyiz. Bu kaynaklar kısıtlı, küçük, akıllı ve güçlü sistemler günlük görevlerimizde bize yardımcı oluyor.
Vücudumuzun nasıl çalıştığı, sinir sistemleri, beyin ve çoklu görev yapma yeteneği hakkında hiç düşündünüz. Tüm bu işlevleri birleştirirseniz, biyolojik olarak gömülü bir sistemin kabaca bir resmini elde edersiniz. Beynimiz, içinde yer alan işleyişinin karmaşık detayını gizler, ancak yine de onu maksimum potansiyele kontrol etmemize izin verir. Aynı karmaşıklık, gömülü sistemlerde kullanılan işlemci veya kontrolör için de geçerlidir. Karmaşık ayrıntıları gizlerler ve üzerinde çalışmamız için bize üst düzey bir arayüz sağlarlar. Soyutlama seviyesi için, yüksek seviyeli bir programlama dilinde iki sayı eklemek için kodun, çiplerdeki kayıtların bitleri işlemesine ve kullanıcıya bir çıktı vermesine nasıl neden olduğu ilişkilendirilebilir.
İşlemci Mimarileri
Hem mikroişlemci hem de mikro denetleyiciye atıfta bulunan Merkezi işlem birimi, bir Kontrol Birimi (CU) ve Aritmetik Mantıksal Birim (ALU) yardımıyla belirli görevleri gerçekleştirir. Talimatlar RAM'den iletildiğinden, CPU değişkenler oluşturarak ve bunlara değerler ve bellek atayarak iki yardımcı biriminin yardımıyla hareket eder. CPU'nun tüm bu eylemi mimarisinin yardımıyla nasıl gerçekleştirdiğini bilmek gerçekten önemlidir. Bir mikrodenetleyicinin nasıl çalıştığı hakkında daha fazla bilgi edinmek istiyorsanız, bu temel mikro denetleyici makalesini okuyabilirsiniz.
Her CPU, programı ve verileri depolamak için kendisiyle ilişkilendirilmiş bir belleğe sahiptir. Program ve veriler, çıktıyı almak için CPU ile birlikte çalışır. Program, veriler üzerinde çalışılacak bilgileri sağlarken talimatı sağlar. Programa ve verilere erişmek için CPU, veri yollarını kullanır, bu veri yolları kablolardır, daha doğrusu bunlar, baskılı devre kartlarında görmüş olabileceğiniz tel izleridir. Bu yıllar boyunca mikro denetleyiciler ve mikroişlemciler, uygulama veya tasarım gereksinimlerine bağlı olarak çeşitli mimarileri uyarlayarak gelişti, mikro denetleyicinin seçimi, içinde kullanılan mimari türünden etkilenir. Popüler mimarilere bir göz atalım.
Von-Neumann / Princeton mimarisi
CPU'nun programa ve verilere erişme yolu, CPU'nun mimarisini anlatır. Daha önce programa ve verilere erişmek için tek bir veri yolu kullanıldı. Bu tür bir mimari, Von Neumann Mimarisi veya daha basitçe Princeton Mimarisi olarak bilinir. Kodu ve veriyi almak için tek bir veri yolu, birbirlerinin yoluna girmeleri ve CPU'nun işlem hızını yavaşlatmaları anlamına gelir, çünkü her birinin diğerinin getirmeyi bitirmesini beklemesi gerekir. Bu sınırlama, Von-Neumann darboğaz koşulu olarak da bilinir.
Harvard mimarisi
Süreci hızlandırmak için Harvard Mimarlık önerildi. Bu mimaride, veri ve program için ayrı bir veri yolları mevcuttur. Bu, bu mimarinin dört otobüs kullanımını önerdiği anlamına gelir
- Verileri CPU'nun içine ve dışına taşıyan bir dizi veri yolu.
- Verilere erişmek için bir dizi adres veriyolu.
- CPU'ya kod taşımak için bir dizi veri yolu.
- Koda erişmek için bir adres veriyolu.
Ayrı adres veriyolu ve veri yolunun kullanılması, CPU için düşük yürütme süresi anlamına geliyordu, ancak bu , mimarinin tasarlanmasındaki karmaşıklık pahasına geliyor. Von Neumann mimarisi kulağa biraz tembel gelebilir ancak basit tasarımının avantajına sahiptir.
Harvard mimarisinin uygulanması, CPU ve bellek birimleri aynı alanı paylaştığında veya RAM ve ROM, örneğin mesafelerin mikron ve milimetre cinsinden olduğu mikrodenetleyicide olduğu gibi işlem birimi ile yerleşik (yonga üzerinde) olduğunda çok kolaydır. Ancak, kodu tutan belleğin x86 IBM kişisel bilgisayarlarda olduğu gibi işlem biriminin dışında olduğu durumlarda aynı mimariyi uygulamak zordur. Anakart üzerindeki hem veri hem de adres için bir dizi ayrı kablo izi, kartı karmaşık ve pahalı hale getirecektir. Bunu bir işlemci örneği ile anlayalım.
64-bit veri yolu ve 32-bit adres veri yolu olan bir işlemci, Von-Neumann mimarisinin uygulanması için yaklaşık 100 veri yoluna (veri ve adres veri yolu için 96 ve kontrol sinyalleri için birkaç tane daha) ihtiyaç duyacaktır. Aynı yapı, Harvard mimarisi ile uygulanırsa, işlemciden çıkan çok sayıda pin ile çift telli izlere yaklaşık 200'e mal olacaktır. Aynı nedenle, PC'ler ve iş istasyonları için saf Harvard mimarisinin uygulandığını görmüyoruz. Bunun yerine, programı ve verileri ayırmak için CPU önbelleği içeren bellek hiyerarşisinin kullanıldığı değiştirilmiş bir Harvard mimarisi kullanılır. Bellek hiyerarşisi, depolamayı, işlemlerin yanıt süresi hiyerarşisine göre ayırır.
Komut Seti Mimarisi
Program (kod) sistemin (RAM) belleğine yüklendiği için, CPU tarafından (hem mikroişlemci hem de mikro denetleyiciye atıfta bulunarak) veriler üzerinde hareket etmek üzere getirilir, köpeği bunun için eğittiğimizde talimatlar vermemize çok benzer. belirli eylemler ve komutlar. Bu talimatlar belirli transistörler üzerinde uygulandıkça, bunun gerçekleşmesi için bir mantık seviyesinden diğerine geçer. Yani temelde insan programcı işlemciyle iletişim kuran talimatların yardımıyla. Her CPU'nun kendi komut seti, mimarisi ve yeteneklerine dayalı bir talimatlar koleksiyonu vardır.
CPU, opcode olarak da bilinen 0 ve 1 kombinasyonundaki bu talimatları anlar. Bir insan programcı için, CPU ile ilişkili her talimat için 0 ve 1'lerin kombinasyonunu hatırlamak gerçekten zordur. Bir insan programcısının işini kolaylaştırmak için, bu talimatların üst düzey arayüzleri sağlanmıştır ve derleyici bunları işlenmesi için 0'lar ve 1'ler biçiminde dönüştürür. Ayrıca her bir CPU'nun komut setinde anlayabileceği sınırlı sayıda komuta sahiptir.
CPU Performansı
CPU performansıyla ilgili CPU'nun saat hızı terimini duymuş olabilirsiniz. CPU'lar genellikle MHz (Mega-Hertz) veya GHz (Giga-Hertz) cinsinden 25 GHz saat hızı gibi bir saat hızına sahiptir. Saat hızıyla ilişkili sayı, CPU içindeki saatin saniyede döngülerde kaç kez tıklandığını söyler. Saat hızının pratikliği, komutların CPU'nun bir seferde çalıştırabileceği programların sayısı ile orantılı olan CPU'nun saat döngüleri temelinde gerçekleştirilmesi gerçeğiyle anlaşılabilir.
CPU performansı programında yazılır talimatlar fazla talimat, bunları gerçekleştirmek için CPU tarafından alınan fazla zaman sayısına bağlıdır. Ayrıca, her komutun yürütüldüğü saat döngülerinin sayısına da bağlıdır, belirli komutların yürütülmesi için diğerlerinden daha fazla saat döngüsü gerekir, bu nedenle CPU'nun performansını geciktirirler. Bir programdaki komutlar ve her bir komutu gerçekleştirmek için gereken döngüler birbiriyle ters orantılıdır. Birini değiştirmek diğerini etkileyecektir. CPU endüstrisinin bölündüğü nokta budur.
RISC ve CISC Komut Seti Mimarisi
Yukarıda belirtildiği gibi, bir programın yürütülmesi ve CPU'nun performansı, bir programdaki talimatların sayısına bağlıdır; burada talimatlar, komut setinin bir parçası olarak söz konusu CPU'ya önerilmektedir ve ikinci faktör, içindeki saat döngülerinin sayısıdır. her komutun yürütüldüğü. Bu iki faktöre bağlı olarak şu anda iki komut seti mevcuttur. Bunlardan en eskisi Karmaşık Komut Seti Hesaplama (CISC), diğeri ise Azaltılmış Komut Seti Hesaplama (RISC). RIC ve CISC Mimarisi arasındaki farkı anlamak için bu mimarilerin her birini ayrıntılı olarak tartışalım.
Karmaşık Komut Seti Hesaplama (CISC)
CISC, Karmaşık Komut Seti Hesaplama anlamına gelir. CISC'nin ana amacı, bir programın yürüttüğü komutların sayısını azaltmaktır, bu, adres modu, yükleme vb. Gibi birçok basit komutu birleştirerek ve tek bir karmaşık komut oluşturarak yapılır. CISC talimat basit talimat dizisi gibi çalıştırmak için birden fazla saat devri sürmektedir bazı özel talimatları içerir. CISC komutları, yazmaçların müdahalesi olmadan doğrudan bellek üzerinde çalışabilir; bu, değerlerin yüklenmesi ve bellek gereksinimi (RAM) gibi bazı temel talimatlara olan ihtiyacı ortadan kaldırdığı anlamına gelir. CISC talimatları , yazılımdan çok donanım üzerinde durur, bu da yükü derleyicilere yüklemek yerine,CISC, talimatları çözmek ve uygulamak için donanım olarak transistörleri kullanır. Bununla birlikte, talimat karmaşık olduğundan ve çok sayıda adımdan oluştuğundan, daha fazla sayıda saat döngüsünde yürütülürler.
İlişkilendirilecek basit bir benzetme, size kitabı açmanız ve 3. bölümün 2. sayfasını okumanız söylendiğinde gerçekleşir. Bu aktiviteler dizisinde, çantanızdaki kitabı bulmak gibi, sayfayı 3. bölüme karıştırmaktan daha çok adım atarsınız ve ardından bölümün 2. sayfasına gidip okumaya başlarsınız. Bir adım dizisi, 44. sayfadaki tek bir okuma talimatında birleştirilirse (3. bölümün 2. sayfa numarasıdır), bir CISC talimatı alırız.
Azaltılmış Komut Seti Hesaplama (RISC)
İlk entegre yonga, 1958'de bir osilatör olan Jack Kilby tarafından tasarlandı ve 1970'lerde ilk ticari Mikroişlemci Intel'den çıktı. İşlemcilerin başında CISC olmamasına rağmen. Ancak yoğun bilgi işlem talepleri ile CISC mimarisi daha karmaşık ve üstesinden gelmesi zor hale geliyordu. IBM'den John Coke tarafından RISC olarak bilinen CISC mimarisinin tamamen yeniden tasarımı çıktı. Bu nedenle, iki mimari arasında ayrım yapmak için RISC ve CISC terimleri tanıtıldı.
RISC, azaltılmış komut seti hesaplama anlamına gelir. RISC'nin ana amacı , talimatların boyutunda ve uygulanmasında tekdüzelik sağlamaktı. Bu, döngü başına bir komut olarak yürütülebilen basit komut setinin tanıtılmasıyla yapılmıştır, bu, her komutun yürütülmesi yaklaşık olarak bir saat döngüsünü aldığı farklı komuta yükleme ve saklama gibi karmaşık komutları bölerek yapılır. RISC mimarisi tek bir saat döngüsünde uygulamaya konacak olan aynı boyutta basit talimatları içerir. RISC tabanlı makineler, her komutu yazmaçlara yüklerken değerleri tutmak için CISC'den daha fazla RAM'e ihtiyaç duyar. Döngü başına tek talimatın yürütülmesi, RISC tabanlı makinelere boru hattı oluşturma avantajı sağlar(ardışık düzen, sonraki komutun ilk komut yürütülmeden önce yüklendiği süreçtir, bu, yürütme verimliliğini artırır). RISC mimarisi vurgulanır