Bilgisayar mimarisi, en küçüğe ve en performanslıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır.
Bilgisayar Mimarisi sıklıkla Bilgisayar Organizasyonu tanımı ile karıştırılır. Bunun nedeni Bilgisayar Mimarisi tanımının daha low-level teknoloji, Organizasyon tanımının ise daha kullanıcıya yönelik high-level özellik taşımasıdır. Bilgisayar Mimarisi bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.
Bilgisayar Mimarisi tanımı özetle aşağıdaki gibi maddelenebilir.
- Merkezi işlem biriminin mimarisi tasarımı, komut kümeleri tasarımı, ve adresleme teknikleri tasarımları.
- Genel donanım mimarileri.
Tasarım Hedefleri
Bilgisayar Mimarisinde tasarımın asıl amacı fiyat - performans tekniğidir. Tasarımlamayı yaparken en ucuza en performanslı aygıtı üretmek amaçlanır. Aynı zamanda ağırlık, boyut, enerji tüketimi bakımından küçük, güvenilirlik bakımından yüksek tasarımlamalar hedeflenir.Performans
Bilgisayar performansı sıklıkla saat hızı terimleriyle tanımlanır. (genellikle MHz ya da GHz olarak). Bu CPU`nun ana saatinin saniyedeki döngüleriyle ilgilidir. Ancak, Bu ölçüm bir şekilde yanlış yönlendirse de, yüksek saat hızlı bir makine olarak mutlaka daha yüksek bir performansı olmayabilir. Sonuç olarak AMD gibi yapımcılar saat hızını bir performans göstergesi olarak almamaktadırlar. Çağdaş CPU`lar birden fazla emri bir saat döngüsünde gerçekleştirirler ve böylece programın hızı oldukça artar.Veri yolu hızları, kullanılabilir bellek ve programlardaki emirlerin tipi ve sırası gibi hızı etkileyen bileşenler de çalışır.Hızın iki ana tipi vardır: gecikme(latency) and throughput. Kısaca gecikme, bir işlemin başlangıcı ve sonuçlanması arasındaki süredir. Throughput ise belli bir zamanda yapılan işin miktarını belirtir. Kesilme gecikmesi sistemin bir elektronik olaya (disk sürücüsünün bilgi aktarımını bitirmesi gibi) vereceği garanti edilmiş en fazla yanıt zamanıdır. Bu sayı çok geniş sıralı bir tasarım seçenekleri tarafından etkilenir. Örneğin, önbellek eklemek lgecikmeyi yavaşlatırken, throughput iyileşir. Mekanizmayı yöneten bilgisayarlar genellikle düşük kesilme gecikmelerine gerek duyarlar. Bu bilgisayarlar gerçek zaman diliminde işlem yaparlar ve bu işlem belirlenen sürede bitmezse işlem başarısız olur.
Bilgisayarın performansı ,uygulama tanım alanına bağlı olarak, diğer ölçümler kullanılarak da hesaplanabilir. Sistem CPU bound (sayısal hesaplamalarda), I/O bound (web sunucusu uygulamalarında) or Memory bound(video düzenlemelerde) olabilir. Güç tüketimi sunucu ve diz üstü bilgisayarlar gibi taşınabilir cihazlar için önemli hale gelir. Ölçütleme (benchmarking) bilgisayar bu test program serisini çalıştırıken kullandığı süreyi ölçerek bütün bunları bir hesaba aktarmaya çalışır. Ölçütleme gücü yüksek gösterse de bu bilgisayar seçmede yardımcı olmayabilir. Sıklıkla ölçülen makineler farklı ölçümlere ayrılır. Örneğin bir sistem bilimsel uygulamaları hızlıca idare ederken, diğeri popüler video oyunlarını kolayca oynatabiliyordur. Dahası yazılım veya donanımlara değişik özellikler eklemek isteyen tasarımcılar özel bir ölçüte izin verirler. Böylece hızlı kontrol sağlanır fakat diğerleriyle, çoğunlukla genel işlevlerle benzer avantajlara sahip olmazlar. En iyilemenin (optimization) genel planı bilgisayarın farklı taraflarındaki değerleri bulmak içindir. Denge içindeki bir bilgisayar sisteminde bilgi hızı bütün bölümler için sabit olacaktır ve değer bunu garantiye almak için eşit olarak dağıtılacaktır. Bilgisayar sisteminin kesin formu en iyi şekilde belirlenmiş baskı ve amaçlara bağlı olacaktır.
Sanal Bellek
Tarihsel olarak, rasgele erişimli bellek, çağdaş bilgisayarlardaki sabit sürücüler gibi mekanik depolamayı dönüştürmekten binlerce kat daha pahalıdır. Programlar için uygun olan belli bellek büyüklüklerini arttırmak için, belleğin kopyalama bölümleri için algoritmalar ve mekanik depolama geliştirilmiştir. Değiş tokuş (swapping) veya sayfalama (paging) olarak bilinen bu yöntem işletim sisteminin bellek yönetimi alt sistemi yazılımında, merkezi işlem birimine entegre edilmiş uzmanlaştırılmış devrenin yardımı ile ele alınmaktadır.Bunun dışında, bilgisayar çoklu görevlerinin yaygınlaşması ile, programların birbirlerine zarar vermesini önlemek için, rasgele erişimli belleğin daha etkin kullanılması için, istikrar, güven ve güvenlik için teknikler geliştirilmiştir. Sanal bellek sisteminde her programın, diğer programların erişemeyeceği özel bir adres alanı vardır. Her programa o sistemde çalışan tek programmış gibi görünür. Değiş tokuş ve sanal bellek birlikte çalışırlar.