etiyorlardı. 21. yüzyılın başına varıldığında ise bilgisayarlar bir kol saatine sığacak ve küçük bir pil ile çalışacak duruma geldiler. Bu kadar küçük imal edilebilmelerinin temel nedeni 1969 yılında yarı iletkenler ile çok küçük alanlara sığdırılabilen devreler yapılabilmesidir. Şu anda kullandığımız bilgisayarlar Intel'in ilk işlemci unvanına sahip olan 4004'ten sonra bilgisayar teknolojisi hız kazanmıştır. Toplumumuz kişisel bilgisayarı ve onun taşınabilir eşdeğeri, dizüstü bilgisayarını, bilgi çağının simgeleri olarak tanıdılar ve "bilgisayar" kavramıyla özdeşleştirdiler. Günümüzde çok yaygın kullanılmaktadırlar. Bilgisayarın temel çalışma prensibi ikili sayı sistemi yani sadece 0 ve 1 den oluşan kodlamalardır.

İstenilen yazılımı kayıt edip istenilen zamanda çalıştırabilmeleri bilgisayarları çok yönlü kılıp hesap makinelerinden ayıran ana özellikleridir. Church-Turing tezi bu çok yönlülüğün matematiksel ifadesidir ve herhangi bir bilgisayarın bir diğer bilgisayarın görevlerini yerine getirebileceğinin altını çizer. Dolayısıyla, karmaşıklıkları ne düzeyde olursa olsun, cep bilgisayarından süper bilgisayarlara kadar, bellek ve zaman sınırı olmadığı takdirde hepsi aynı görevleri yerine getirebilir.

Geçmişte 'bilgisayar' olarak bilinen birçok aygıt günümüz ölçütlerine göre bu tanımı hak etmemektedirler. Başlangıçta bilgisayar sözcüğü hesaplama sürecini kolaylaştıran nesnelere verilen bir ad konumundaydı. Bu ilk dönemin bilgisayar örnekleri arasında sayı boncuğu (abaküs) ve Antikitera Makinesi (M.Ö 150- M.Ö100) sayılabilir. Yüzyıllar sonra, Orta Çağ sonundaki yeni bilimsel keşifler ışığında, Avrupalı mühendisler tarafından geliştirilen bir dizi makinesel hesaplama aygıtlarının ilki ise, Wilhelm Schickard'a (1623) aittir.

Ancak, yazılımlanabilir (veya kurulabilir) olmamaları nedeniyle bu aygıtların hiçbiri günümüz bilgisayar tanımına uymamaktadır. 1801 yılında Joseph Marie Jacquard'ın dokuma tezgâhındaki işlemi otomatikleştirmek adına ürettiği delikli kartlar ise bilgisayarların gelişme sürecindeki, kısıtlı da olsa, ilk yazılımlanabilme (kurulabilme) izlerinden sayılır. Kullanıcının sağladığı bu kartlar sayesinde, dokuma tezgâhı kart üzerindeki delikler ile tarif edilen çizime işleyişini uyarlayabiliyordu.

1837 yılında Charles Babbage, adını Analytical Engine ("çözümlemeli veya analitik makine") koyduğu, ilk tam yazılımlanabilir makinesel bilgisayarı kavramsallaştırıp tasarladı. Ancak parasal nedenler ve üzerindeki çalışmalarının sonlanamaması nedeniyle bu makineyi geliştiremedi.

Delikli kartların ilk büyük ölçekli kullanımı ise Herman Hollerith tarafından, 1890 yılında muhasebe işlemlerinde kullanılmak üzere tasarlanan hesap makinesidir. Hollerith'in o dönemde bağlı olduğu işletme ise sonraki yıllarda küresel bilgisayar devine dönüşecek IBM'dir. 19. yüzyılın sonlarına varıldığında, gelecek yıllarda bilişim donanım ve kuramlarının gelişimine büyük katkıda bulunacak uygulayımlar (teknolojiler) ortaya çıkmaya başlamıştılar: delikli kartlar, Boole cebiri, boşluk tüpleri ve teletip aygıtları.

20. yüzyılın ilk yarısında ise, birçok bilimsel gereksinim, gittikçe karmaşıklaşan örneksel (analog) bilgisayarlar ile giderildiler. Ancak günümüz bilgisayarlarının yanılmazlık düzeyinden hâlâ uzaktılar.

1930'lar ve 1940'lar boyunca bilgisayar uygulayımı gelişmeye devam etti, ve "sayısal elektronik bilgisayarın ortaya çıkışı ancak elektronik devrelerinin buluşundan (1937) sonra gerçekleşebildi. Bu dönemin önemli çalışmaları arasında aşağıdakiler sayılabilir:


ENIAC'ın olumsuz yanlarını saptayan geliştiricileri, daha esnek ve zarif bir çözüm üzerinde çalışıp, artık "saklı yazılım mimarisi" veya daha çok von Neumann mimarisi olarak tanınan tasarımı önerdiler. Bu tasarımdan ilk olarak John von Neumann (1945) yılında gerçekleştirdiği bir yayında söz etmesinden sonra, bu mimariye dayalı olarak geliştirilen bilgisayarlardan ilki Birleşik Krallık'ta tamamlandı (SSEM). Aynı mimariye bir yıl sonra kavuşan ENIAC'a ise EDVAC adı verildi.

Günümüz bilgisayarlarının neredeyse tamamının bu mimariye uyumlu duruma gelmesi ile bilgisayar sözcüğünün tanımı olarak da kullanılmaktadır. Dolayısıyla bu tanıma göre geçmişteki aygıtlar bilgisayar olarak sayılmasalar da, tarihsel bağlamda yine de o biçimde anılmaktadırlar. Her ne kadar 1940'lardan bu yana bilgisayar uygulayımı köklü değişiklikler geçirmiş olsa da, çoğunluğu von Neumann mimarisine sadık kalmıştır.

Boşluk tüpüne dayalı bilgisayarlar 1950'ler boyunca kullanımda kaldıktan sonra, 1960'larda daha hızlı ve ucuz olan geçirgeç (transistör) tabanlı bilgisayarlar yaygınlık kazandı. Bu etkenlerin sonucunda bilgisayarların daha önce görülmemiş bir düzeyde toplu üretimine geçirildi. 1970'lere varıldığında tümleşik devre uygulayımı ve Intel 4004 gibi mikroişlemcilerin geliştirilmesi sayesinde bir kez daha büyük bir başarım ve güvenilirlik artışının yanı sıra, maliyet düşüşü de yaşandı. 1980'lerde artık bilgisayarlar, çamaşır makinesi gibi günlük hayat kullanımındaki birçok makinesel aygıtın denetleyici donanımlarındaki yerlerini almaya başlamışlardı. Yine aynı dönemde, kişisel bilgisayarlar yaygınlık kazanıyorlardı. Son olarak 1990'lardaki Internet'in gelişimi ile de bilgisayarlar televizyon ve telefon gibi alışılmış birer aygıt hâline gelmişlerdir.

Von Neumann mimarisine göre bilgisayarlar başlıca dört bileşenden oluşurlar bilgisayarda aritmetik mantık vardır.

Bir bilgisayarın belleği, sayılar içeren bir hücreler bütünü olarak düşünülebilir. Her hücreye yazılabilir ve içeriği okunabilir. Her hücrenin kendisine özel bir adresi vardır. Bir komut örneğin "34 sayılı hücrenin içeriğini 5.689 sayılı hücreyle toplayıp 78. hücreye yerleştirmek" olabilir. İçerdikleri sayılar "herhangi" bir şey olabilir, sayı, komut, adres, harf, vb. İçeriğinin doğasını ancak onu kullanan yazılım belirler. Günümüz bilgisayarlarının çoğunluğu veriyi kaydetmek için ikili sayıları kullanır ve her hücre 8 bit (yani bir bayt) içerebilir.

Dolayısıyla bir bayt 255 farklı sayıyı ifade edebilir, bunlar ancak 0 dan 255'e veya -128 den +127'ye olabilirler. Yan yana yerleşmiş birden fazla bayt kullanıldığında ise (genelde 2, 4 veya 8) çok daha büyük sayıların kaydedilmesi mümkün olur. Çağımız bilgisayarlarının bellekleri milyarlarca bayt içermektedirler.

Bilgisayarlarda üç adet bellek türü bulunur. İşlemci içerisinde yer alan yazmaçlar, son derece hızlı ancak çok sınırlı sığaya sahiptirler. İşlemcinin çok daha yavaş olan ana belleğe olan erişim gereksinimini gidermek için kullanılırlar. Ana bellek ise Rastgele erişimli bellek (REB veya RAM, "Random Access Memory") ve Salt okunur bellek (SOB veya ROM, "Read Only Memory") olmak üzere ikiye ayrılır. RAM'e istenildiği zaman yazılabilir ve içeriği ancak güç sürdüğü sürece korunur. ROM'sa sadece okunabilen ve önceden yerleştirilmiş bilgiler içerir. Bu içeriği güçten bağımsız olarak korur. Örneğin herhangi bir veri veya komut RAM'da bulunurken, bilgisayar donanımını düzenleyen BIOS ROM'da yer alır.

Son bir bellek alt türü ise önbellektir ("cache memory"). İşlemci içerisinde yer alır ve yazmaçlardan büyük sığaya sahip olmanın yanı sıra ana bellekten de hızlıdır.

Giriş/Çıkış bir bilgisayarın dış dünyadan veri alışverişinde bulunmak için kullandığı araçtır. Yaygın olarak kullanılan giriş birimleri arasında klavye ve fare, çıkış için ise ekran (veya görüntüleyici, monitör), hoparlör ve yazıcı sayılabilir. Sabit ve optik diskler ise her iki görevi de üstlenirler.

Bilgisayarlar 1950`lerden beri çoklu ortamlar arasında bilgi koordinasyonu kurmak amacıyla kullanıldı.
ABD ordusunun (SAGE) sistemi bu tür sistemlerin geniş kapsamlı ilk örneğiydi ve bu sistem (Sabre) gibi birçok özel amaçlı ticari sisteme öncülük etti. 1970'lerde ABD'li mühendisler ordu içerisinde yürütülen bir tasarı çerçevesinde bilgisayarları birbirleri ile bağlayıp (ARPANET), günümüzde bilgisayar ağı olarak bilinen yapının temellerini attılar. Zaman içerisinde bu bilgisayar ağı, ordu ve akademik birimler ile de sınırlı kalmayıp genişledi ve bugün milyonlarca bilgisayar içeriden Bilgisunar ("İnternet" veya "Genel ağ") oluştu. 1990'lara gelindiğinde ise, İsviçre'nin CERN araştırma merkezinde geliştirilen Küresel ağ ("World Wide Web", "WWW") adlı iletişim kuralları, "e-posta" gibi uygulamalar ve ethernet gibi ucuz donanımsal çözümler ile bilgisayar ağları yaygınlık kazandılar.

Donanım kavramı bir bilgisayarın tüm dokunulabilir bileşenlerini kapsar.

Giriş/çıkış, bilgi işlem dizgesinin değişik işlevsel birimleri (alt sistemleri) arasındaki iletişimi veya bu arayüzlere doğrudan bilgi sinyallerini göndermeyi sağlar.

Girişler, değişik birimlerden alınan sinyallerdir. Çıkışlar ise bu birimlere gönderilen sinyallerdir. I/O aygıtları bir kullanıcı (veya başka sistemler) tarafından bilgisayar ile bağlantı kurabilmek için kullanılır. Örnek olarak, klavye ve fare bilgisayarın giriş aygıtlarıdır. Ekran, hoparlör ve yazıcı ise bilgisayarın çıkış aygıtlarıdır. Değişik aygıtlar bilgisayar ile bağlantı gerçekleştirebilmeleri için giriş ve çıkış sinyallerini kullanırlar. Modem ve bağlantı kartları örnek olabilir.

Klavye ve fare kullanıcıların fiziksel hareketlerini giriş olarak alırlar ve bu fiziksel hareketleri bilgisayarların anlayabileceği düzeye getirirler. Çıkış birimleri ise (yazıcı,hoparlör,ekran gibi) giriş sinyali olarak bilgisayarın ürettiği çıkış sinyallerini alırlar ve bu sinyalleri kullanıcıların görebileceği ve okuyabileceği çıktılara çevirirler.

Bilgisayar mimarisinde merkezi işlem birimi (CPU) ve ana bellek bilgisayarın kalbini oluşturmaktadır. Çünkü bellek kendi talimatları ile merkezî işlem birimindeki verileri doğrudan okuyabilir ve merkezi işlem birimine doğrudan veri yazabilir. Örnek olarak, bir disket sürücüsü I/O sinyallerini dikkate alır. Merkezi işlem biriminin I/O yöntemlerini sağlaması alt düzey bilgisayar programlamacılığında aygıt sürücülerinin tamamlanmasına yardımcı olur.

Üst düzey işletim sistemleri ve üst düzey programlamacılık ideal I/O kavramlarını ve temel öğeleri ayırt ederek çalıştırmaya olanak