Kompyuter
Mga bahagi ng kompyuter
Ang isang pangkalahatang paggamit na kompyuter ay may apat na pangunahing mga bahagi: ang arithmetic logic unit (ALU), control unit, memorya ng kompyuter at mga kasangkapang pang-input at pang-output(I/O). Ang mga bahaging ito ay pinag-uugnay ng mga bus ng kompyuter na kadalasan ay gawa sa mga pangkat ng mga kawad. Sa loob ng bawat mga bahaging ito ay mga libo libo hanggang trilyong maliliit na mga sirkitong elektrikal na maaaring isara o buksan sa pamamagitan ng isang elektronikong switch. Ang bawat sirkito ay kumakatawan sa isang bit ng impormasyon upang kapag ang sirkito ay nakabukas, ito ay kumakatawan sa "1" at kapag nakasara ay kumakatawan sa "0". Ang mga sirkito ay nakaayos sa mga bakod na lohika upang ang isa o higit pang mga sirkito ay makakontrol sa estado ng isa o higit pang ibang mga sirktio. Ang control unit, ALU, mga register, at basic I/O (at kadalasan ay iba pang mga hardwer na malapit na kaugnay n gmga ito) ay magkakasamang tinatawag na central processing unit (CPU). Ang mga maagang CPU ay binubuo ng maraming mga magkakahiwalay na bahagi ngunit simula gitna ng 1970, ang mga CPU ay tipikal na binubuo sa isang integradong sirkito na tinatawag na microprocessor. Ang mahalagang bahagi na karaniwan sa lahat ng mga CPU ang counter ng programa na isang espesyal na selula ng memorya (isang register) na sumusubaybay sa aling lokasyon sa memorya na ang susunod na instruksiyon ay babasahin. Ang ALU ay may kakayahan na magsagawa ng dalawang mga klase ng operasyon: ang aritmetika na maaaring kabilangan ng adisyon, subtraksiyon, multiplikasyon, dibisyon, punsiyong trigonometriko; at ang mga operasyong pang-lohika na kinasasangkutan ng lohikang boolean gaya ng AND, OR, XOR, at NOT. Ang mga superskalar na kompyuter ay maaaring maglaman ng maraming mga ALU na pumapayag sa mga ito na magproseso ng ilang mga instruksiyon ng sabay-sabay. Ang mga grapikong prosesor at kompyuter na may mga katangiang SIMD at MIMD ay kadalasang naglalaman ng mga ALU na maaaring magsagawa ng aritmetika sa mga bektor at matriks. Ang memorya ng kompyuter ay maaaring makita bilang isang talaan ng mga selula na may mga bilang na maaaring paglagyan o basahin. Ang bawat selula ay may bilang na adress at maaaring mag-imbak ng isang bilang. Ang kompyuter ay maaaring utusan na maglagay ng bilang na 123 sa selulang may bilang 1357 o idagdag ang bilang na nasa selulang 1357 sa bilang na nasa selulang 2468 at ilagay ang sagot sa selulang 1595. Sa halos lahat ng mga modernong kompyuter, ang bawat selulang memorya ay itinakdang mag-imbak ng mga binaryong bilang sa mga pangkat ng 8 bit na tinatawag na byte. Ang bawat byte ay may kakayahang kumakatawan ng 256 iba't ibang mga bilang (2^8 = 256) na mula 0 hanggang 255 o −128 hanggang +127. Upang mag-imbak ng malalaking mga bilang, ang ilang magkakasunod na mga byte ay maaaring gamitin na tipikal na 2, 4 o 8. Kapag ang mga negatibong bilang ay kailangan, ang mga ito ay karaniwang iniimbak sa dalawahang komplementeng notasyon. Ang CPU ay naglalaman ng isang espesyal na hanay ng mga selulang memorya na tinatawag na mga register na maaaring basahin at sulatan ng higit na mas mabilis kesa sa pangunahing areang memorya. Mayroong tipikal na sa pagitan ng dalawa at isang daang mga register depende sa uri ng CPU. Ang mga register ay ginagamit para sa mas kadalasang kinakailangan na mga item ng datos upang maiwasan ang paglapit sa pangunahing memorya sa bawat panahong kailangan. Habang ang datos ay patuloy na pinagtatrabahuhan o pinoproseso, ang pagbabawas ng pangangailangan sa paglapit sa pangunahing memorya na kadalasan ay mabagal kumpara sa ALU at mga control unit ay malaking nagpapataas ng bilis ng kompyuter. Napapabilis din ng graphics processing unit (GPU) ang kompyuter partikular sa gamit nito sa larong tatlong dimensiyunal (3D). Nagagamit din ang GPU sa iba pang gawain na nangangailangan ng mabilis na pagproseso. Ang pangunahing memorya ng kompyuter ay nasa dalawang mga uri: random-access memory o RAM at read-only memory o ROM. Ang RAM ay mababasa at masusulatan sa anumang panahon na inuutos ng CPU ngunit ang ROM ay paunang nilagyan ng datos at sopwer na hindi kailanman nagbabago kaya ito ay mababasa lamang ng CPU. Ang ROM ay tipikal na ginagamit upang imbakan o lagyan ng mga simulang pagsisimula ng mga instruksiyon. Sa pangkalahatang, ang mga nilalaman ng RAM ay nabubura kapag ang kompyuter ay pinatayan ng elektrisidad ngunit ang ROM ay nagpapanatili ay nagpapanatili ng datos nito nang matagal na panahon. Sa isang PC, ang ROM ay naglalaman ng isang espesyalisadong programang tinatawag na BIOS na kumokontrol sa paglalagay ng operating system ng kompyuter mula sa hard disk drive tungo sa RAM kapag ang kompyuter ay binuksan o nireset. Ang I/O ang paraan ng pakikipagpalitan ng kompyuter ng impormasyon sa panlabas na daigdig nito. Ang mga kasangkapan na nagbibigay ng input o output ay tinatawag na mga peripheral na kinabibilangan ng keyboard, mouse at headset, at mga kasangkapang output gaya ng display at printer. Ang mga hard disk drive, floppy disk drive at optical disc ay nagsisilbi bilang parehong mga kasangkapang input at output. Ang networking ng kompyuter ay isa pang anyo ng I/O.