ARMv3 Mimarisi, 1980’lerin sonlarında ve 1990’ların başında Acorn Computers tarafından geliştirilen ARM (Acorn RISC Machine) mimarisinin üçüncü versiyonudur. ARM mimarisinin bu versiyonu, armv2’ye göre önemli bir evrimdi ve erişimi genişletmeye yardımcı olacak yeni özellikler, performans iyileştirmeleri ve esneklik içeriyordu. ARM işlemcilerin, özellikle gömülü sistemlerde ve daha sonra mobil cihazlarda yeni pazarlara girmesi. ARMv3, sonraki nesil ARM mimarilerine kıyasla hala nispeten sınırlı olsa da, mimarinin uzun vadeli başarısını etkileyecek önemli tasarım ilkelerini ortaya koydu. Bu makale, ARMv3 mimarisine, temel özelliklerine, tarihsel bağlamına ve modern ARM işlemcilerin geliştirilmesindeki önemine genel bir bakış sunmaktadır.
Tarihsel Bağlam ve Gelişim
ARMv3, ARM mimarisini geleneksel CISC (Karmaşık Komut Seti Hesaplama) işlemcilere yenilikçi ve verimli bir alternatif olarak kurmuş olan armv2’nin ardından 1990’ların başında tanıtıldı. ARMv3, kişisel bilgisayarlarda ve gömülü sistemlerde kullanıma uygun yüksek performanslı, düşük güçlü işlemciler üretme çabalarının bir parçası olarak Acorn tarafından geliştirilmiştir. ARMv3 işlemci, Meşe Palamudu Arşimet A5000 serisi bilgisayarlarda ve daha sonra ARM mimarisini benimseyen çeşitli şirketlerin diğer ürünlerinde kullanılacaktı.
ARMv2, temel olarak basitlik, küçük bir komut seti ve verimli bellek kullanımı gibi temel RISC ilkelerine odaklanırken, ARMv3, sanal bellek, daha gelişmiş ortak işleme yetenekleri ve gelişmiş bellek yönetimi gibi özellikler için destek ekleyerek bu ilkeleri genişletti. Bu özellikler, ARM işlemcileri o zamanlar hem iş istasyonlarında hem de gömülü sistemlerde popülerlik kazanan MIPS ve PowerPC gibi diğer mimarilere karşı daha çok yönlü ve rekabetçi hale getirecekti.
ARMv3 Mimarisi Temel Özellikleri
genişletilmiş Adreslemeli 32 bit Mimari: ARMv2 gibi ARMv3 de 32 bit mimariyi koruyarak işlemcinin 32 bit veri ve bellek adresleriyle çalışmasına izin verdi. Ancak ARMv3, 4 GB’a kadar adreslenebilir belleği destekleyen genişletilmiş bir adresleme özelliği sundu. Bu, özellikle geniş adres alanlarının gerekli hale geldiği gömülü ve iş istasyonu pazarlarında daha geniş bir uygulama yelpazesi için daha uygun hale getirdi.
Sanal Bellek Desteği: Armv3’te sunulan en önemli özelliklerden biri sanal bellek desteğiydi. Sanal bellek, işletim sisteminin sistemde yüklü olan fiziksel bellekten daha büyük miktarda RAM’i simüle etmek için disk depolamayı kullanmasına izin verir. Bu özellik, ARM tabanlı işlemcileri, çoklu görevler için verimli bellek yönetimi gerektiren ve büyük uygulamaları destekleyen UNIX gibi daha karmaşık işletim sistemlerine uygun hale getirmek için gerekliydi.
Sanal bellek desteğinin eklenmesi, ARM işlemcilerin, sistemlerin daha büyük ve daha karmaşık yazılım ortamlarını işlemek için geliştiği gömülü ve masaüstü pazarlarında daha rekabetçi hale gelmesine yardımcı oldu. Belleği dinamik olarak yönetme ve farklı süreçler için koruma sağlama yeteneği, arm’nin çeşitli pazarlarda daha geniş kabul görmesi için çok önemli bir kilometre taşıydı.
Bellek Yönetim Birimi (MMU): ARMv3, bir sistemin fiziksel belleği küçük bloklara (sayfalara) ayırmasına ve bunları sanal bellek adresleriyle eşleştirmesine olanak tanıyan teknik olan sanal belleği ve sayfalamayı destekleyen bir bellek yönetim birimi (MMU) içeriyordu. MMU, bellek korumalarını işlemek, süreç yalıtımını yönetmek ve takas ve sayfalama gibi bellek sanallaştırmalarını uygulamak için gereklidir. İşletim sistemlerinin, özellikle çoklu görev ortamlarıyla uğraşırken belleği verimli bir şekilde yönetmesi için güçlü bir yol sağladı.
Mmu’nun Armv3’e dahil edilmesi, ARM işlemcileri, bu özellikleri zaten destekleyen Intel’in x86 ve MIPS işlemcileri gibi daha genel amaçlı işlemcilerin işlevselliğine yaklaştırmaya yardımcı oldu. MMU, ARM tabanlı sistemlerin, kararlılık ve verimlilik için gelişmiş bellek yönetimi gerektiren UNIX ve varyantları gibi daha karmaşık işletim sistemlerini çalıştırmasının yolunu açtı.
Geliştirilmiş İşlemci Arayüzü:
ARMv3, armv2’de sunulan işlemci arayüzünü geliştirdi. Yardımcı işlemciler, kayan nokta aritmetiği, dijital sinyal işleme (DSP) ve hatta gelişmiş bellek yönetimi gibi görevleri gerçekleştiren özel birimlerdir. ARMv3, yardımcı işlemciler için daha iyi destek sağlayarak ARM sistemlerine donanım hızlandırıcıları eklemede daha fazla esneklik sağladı. Bu, Armv3’ü belirli alanlardaki (bilimsel hesaplamalar veya multimedya işleme gibi) performansın kritik olduğu daha özel uygulamalar için uygun hale getirdi.
ARMv3 Mimarisi gelişmiş yardımcı işlemci arayüzü, ARM mimarisinin daha sonra mobil cihazlar için kritik hale gelecek multimedya yetenekleri gibi belirli pazar talepleriyle daha iyi ölçeklenmesini sağladı. Özel yardımcı işlemcileri mimariye entegre etme yeteneği, ARM işlemcileri çok çeşitli görevleri yerine getirecek kadar çok yönlü hale getirerek hem tüketici elektroniği hem de gömülü sistemlerle olan ilgilerini daha da pekiştirdi.
32 bit Ardışık Düzen: ARMv3 Mimarisi, komut verimini ve genel performansı iyileştirmeye yardımcı olan 32 bitlik bir komut ardışık düzeni sürdürdü. Ardışık düzen, işlemcinin bir önceki talimat hala işlenirken bir sonraki talimatı yürütmeye başlamasına izin vererek işlemcinin talimatları daha verimli bir şekilde yürütmesini sağladı. Talimatların bu eşzamanlı yürütülmesi, işlem dizilerini işlemek için gereken süreyi azalttı ve genel performansı artırdı.
ARMv3 boru hattı modern standartlara göre nispeten basit olmasına rağmen, zamanının diğer işlemcilerine kıyasla saat başına daha yüksek bir talimat oranına izin verdiği için işlemcinin tasarımının hala önemli bir parçasıydı. Boru hattının sadeliği ve verimliliği, armv3’ün birçok gömülü sistemde ve masaüstü uygulamasında yüksek performans elde etmesini sağladı.
Geliştirilmiş Kesme İşleme:
ARMv3, armv2’ye kıyasla geliştirilmiş bir kesme işleme mekanizmasına sahipti. Kesintiler, işlemciden hemen dikkat gerektiren harici aygıtlar veya yazılım olayları tarafından üretilen sinyallerdir. Armv3’te işlemci, bağlam kaybetmeden veya performanstan ödün vermeden kesintilere hızlı bir şekilde yanıt verebilir. Bu gelişme, dış olaylara hızlı ve deterministik yanıtların gerekli olduğu gerçek zamanlı uygulamalar için özellikle önemliydi.
Armv3’teki gelişmiş kesme işleme, ARM tabanlı sistemlerin daha duyarlı olmasını sağlayarak armv3’ü endüstriyel kontrol, telekomünikasyon ve gerçek zamanlı performansın çok önemli olduğu diğer zamana duyarlı sistemlerdeki uygulamalar için daha uygun hale getirdi.
Şube Tahmini: ARMv3, koşullu şube talimatlarının sonucunu tahmin ederek performansı artırmak için tasarlanmış temel şube tahmin mekanizmalarını içeriyordu. Şube talimatları, belirli koşullara bağlı olarak yürütme akışını belirler ve tahmin edilmeden boru hattında önemli gecikmelere neden olabilirler. Şube tahmin teknikleri, şubenin alınıp alınmayacağını tahmin etmeye ve ilgili talimatları önceden getirmeye çalışarak koşullu şubelerin performans cezasını azaltır.
Armv3’teki bu gelişme, süreç yönetimi için genellikle karmaşık koşullu dallar kullanan işletim sistemleri gibi kontrol ağırlıklı uygulamalarda daha iyi performansa izin verdi.
Performans ve Güç Verimliliği
arm’in en önemli avantajlarından biri her zaman düşük güç tüketimi olmuştur ve ARMv3 bu trendi sürdürmüştür. Mimari, arm‘nin enerji tasarruflu tasarıma odaklanmasını sağladı ve bu da onu güç kısıtlamalarının genellikle önemli bir endişe kaynağı olduğu gömülü sistemler için ideal hale getirdi. Armv3’ün verimliliği, sanal bellek ve geliştirilmiş yardımcı işlemci desteği gibi yeni özellikleriyle birleştiğinde, onu endüstriyel sistemlerden masaüstü bilgisayarlara kadar çeşitli uygulamalar için iyi bir konuma getirdi.
ARMv3, MIPS ve PowerPC mimarilerine dayananlar gibi daha sofistike işlemcilerden hala daha az güçlüyken, güç verimliliği ve artan özellik seti, gömülü sistemler ve nihayetinde mobil cihazlar gibi pazarlarda önemli bir çekiş kazanmasına izin verdi.
Etki ve Miras
ARMv3 mimarisi, ARM işlemcilerin evriminde önemli bir anı işaret ediyordu. Sanal bellek desteği, MMU, geliştirilmiş yardımcı işlemci entegrasyonu ve gelişmiş kesme işleme gibi özelliklerle ARMv3, ARM işlemcilerin kullanılabilirliğini basit gömülü uygulamaların ötesine, iş istasyonları ve sunucular dahil daha karmaşık bilgi işlem ortamlarına genişletti.
armv3’ün mirası, arm’in sonraki sürümleri aynı ilkelerin çoğunu içerdiğinden, bunları geliştirdiğinden ve daha da gelişmiş özellikler eklediğinden, mimarinin devam eden evriminde görülebilir. Bu gelişmeler sonunda ARM işlemcilerin akıllı telefonlarda, tabletlerde ve çok çeşitli gömülü sistemlerde baskın mimari haline gelmesini sağlayacak ve arm’yi bugün dünyanın en önemli işlemci mimarilerinden biri haline getirecektir.
ARMv3, ARM işlemcilerin geliştirilmesinde önemli bir dönüm noktasıydı ve daha sonra ARM mimarisinin başarısını tanımlayacak temel özellikleri tanıttı. ARMV3, sanal bellek, bir MMU, gelişmiş yardımcı işlemci desteği ve gelişmiş kesme işlemeyi birleştirerek ARM işlemcileri çeşitli bilgi işlem ortamlarında daha çok yönlü ve rekabetçi hale getirdi. Bu özellikler, ARM’NİN doğal güç verimliliği ile birleştiğinde, büyüyen gömülü, mobil ve masaüstü pazarlarında gelecekteki başarı için ARM işlemcileri konumlandırdı.