Ang arkitektura ng computer ay ang disenyo at organisasyon ng mga pangunahing bahagi at sistema ng isang computer. Kabilang dito ang processor, memory, input/output device, at ang software na kumokontrol sa kanila. Ang pag-unawa sa arkitektura ng computer ay makakatulong sa amin na pahalagahan kung paano gumagana ang isang computer at gumaganap ng iba't ibang mga gawain.
Maaaring hatiin ang isang computer system sa tatlong pangunahing bahagi: ang Central Processing Unit (CPU), memory, at input/output (I/O) na mga device. Ang CPU ay gumaganap bilang utak ng computer, nagsasagawa ng mga tagubilin mula sa mga programa. Iniimbak ng memorya ang mga tagubilin at data na ito pansamantala para sa mabilis na pag-access, habang pinapadali ng mga I/O device ang pakikipag-ugnayan sa pagitan ng computer at sa labas ng mundo, gaya ng mga keyboard, mouse, display, at printer.
Ang CPU ay ang puso ng arkitektura ng isang computer. Responsable ito sa pagpapatupad ng mga tagubilin mula sa mga software application, pagsasagawa ng mga kalkulasyon, at pamamahala ng daloy ng data sa loob ng computer. Ang pagganap ng isang CPU ay nakasalalay sa bilis ng orasan nito, na sinusukat sa Hertz (Hz), at ang bilang ng mga core na nilalaman nito. Ang mas mataas na bilis ng orasan at mas maraming mga core ay karaniwang nangangahulugan ng mas mabilis at mas mahusay na pagganap.
Ang memorya sa isang computer ay nakaayos sa isang hierarchy para sa kahusayan. Sa itaas ay ang cache, isang maliit ngunit mabilis na uri ng memorya na nag-iimbak ng mga kopya ng madalas na ina-access na data mula sa pangunahing memorya (RAM). Ang RAM ay mas mabilis na ma-access kaysa sa mga storage device tulad ng Hard Disk Drives (HDD) o Solid State Drives (SSD) ngunit pabagu-bago, ibig sabihin, hindi nito pinapanatili ang data kapag naka-off ang power. Ang mga HDD at SSD ay nag-aalok ng hindi pabagu-bagong storage, pinapanatili ang data kahit na naka-off ang computer, ngunit mas mabagal ang mga ito sa pag-access kaysa sa RAM.
Ang mga I/O device ay nagpapahintulot sa isang computer na makipag-ugnayan sa panlabas na kapaligiran. Ang mga input device, tulad ng mga keyboard at mouse, ay nagbibigay-daan sa mga user na magbigay ng impormasyon sa computer. Ang mga output device, gaya ng mga monitor at printer, ay nagpapakita ng impormasyon sa mga user. Ang ilang mga device, tulad ng mga USB flash drive, ay maaaring magsilbi sa parehong mga function. Kasama rin sa mga modernong computer ang mga networking device na nagbibigay-daan sa koneksyon sa Internet at iba pang mga computer.
Ang arkitektura ng Von Neumann ay isang pundasyong konsepto sa computer science. Inilalarawan nito ang isang sistema kung saan gumagana ang CPU ng isang computer sa pamamagitan ng pagbabasa ng mga tagubilin nito mula sa memorya. Ang arkitektura na ito ay binubuo ng apat na pangunahing sub-system: ang arithmetic logic unit (ALU), ang control unit, memory, at mga interface ng input/output. Ang ALU ay nagsasagawa ng mathematical calculations at logical operations, habang ang control unit ay nagbibigay kahulugan sa mga tagubilin mula sa memorya at dinidikta ang operasyon ng ALU.
Ang ISA ay bahagi ng arkitektura ng computer na nakikita ng programmer o manunulat ng compiler. Ito ay nagsisilbing hangganan sa pagitan ng software at hardware, na tumutukoy sa machine code na maaaring isagawa ng isang processor. Ang ISA ay tumutukoy sa mga tagubilin ng CPU, mga rehistro, mga uri ng data, mga mode ng pagtugon, at arkitektura ng memorya. Kung ang isang arkitektura ay RISC (Reduced Instruction Set Computing) o CISC (Complex Instruction Set Computing) ay nakakaimpluwensya sa disenyo at mga katangian ng pagganap nito.
Ang parallel computing ay nagsasangkot ng paghahati ng isang problema sa mga bahagi na maaaring malutas nang sabay-sabay, gamit ang maraming mga elemento ng pagproseso. Ang diskarte na ito ay maaaring makabuluhang mapabilis ang mga gawain sa pag-compute kumpara sa serial processing. Ang mga multi-core na processor, na naglalaman ng dalawa o higit pang mga independiyenteng core (o mga CPU) sa isang pisikal na pakete, ay idinisenyo upang mapabuti ang pagganap sa pamamagitan ng parallelism. Ang bawat core sa isang multi-core processor ay maaaring magsagawa ng mga tagubilin nang sabay-sabay, na nagbibigay-daan para sa mahusay na multitasking at pagproseso ng mga kumplikadong application.
Sa mga system na may maraming CPU o core, ang cache coherency ay mahalaga para matiyak na ang isang pagbabago ng data sa isang cache ay agad na makikita sa iba. Mahalaga ito sa mga multi-processing environment, kung saan maaaring kailanganin ng ilang processor ang access sa parehong mga lokasyon ng memorya. Ang mga protocol ng coherency ng cache, gaya ng MESI (Modified, Exclusive, Shared, Invalid), ay ginagamit para mapanatili ang consistency sa mga cache sa multi-core system.
Ang arkitektura ng computer ay isang malawak na larangan na sumasaklaw sa disenyo, functionality, at kahusayan ng mga bahagi at system ng computer. Ang pag-unawa sa mga pangunahing konsepto nito, tulad ng pagpapatakbo ng CPU, hierarchy ng memorya, mga I/O device, ang arkitektura ng Von Neumann, ISA, at parallel processing, ay maaaring magbigay ng mahahalagang insight sa kung paano nagpoproseso ang mga computer ng impormasyon at gumaganap ng mga gawain. Habang umuunlad ang teknolohiya, gayundin ang pagiging kumplikado at mga kakayahan ng mga arkitektura ng computer, na nagtutulak ng pagbabago sa pagganap at mga aplikasyon ng computing.