- Mga Arkitektura ng Processor
- Arkitektura Itakda ang RISC at CISC Instruction Set
- Computing Instruction Set Computing (CISC)
- Nabawasan ang Pagtuturo ng Set ng Pagtuturo (RISC)
Ang naka-embed na sistema ay ang puso at core ng karamihan sa mga produktong elektronikong magagamit sa merkado. Ito ang pagpapatupad ng engineering kung saan natutugunan ng hardware ang software. Napapaligiran tayo ng isang mundo ng mga naka-embed na system, na may mga mini-computer sa mga kandado ng biometric, eroplano, kotse, pacemaker, atbp. Ang mga mapagkukunang ito na napipigilan, maliit, matalino at makapangyarihang mga system ay makakatulong sa aming pang-araw-araw na gawain.
Naisip kailanman kung paano gumagana ang ating katawan, ang mga sistemang nerbiyos, utak at kakayahang mag-multi-task. Kung pagsamahin mo ang lahat ng mga pagpapaandar na ito, makakakuha ka ng isang magaspang na larawan ng isang biological embedded system. Itinatago ng aming utak ang kumplikadong detalye ng paggana nito na nagaganap sa loob nito ngunit pinapayagan pa kaming kontrolin ito sa maximum na potensyal. Ang parehong pagiging kumplikado ay napupunta para sa processor o controller na ginamit sa mga naka-embed na system. Itinatago nila ang mga kumplikadong detalye at nagbibigay sa amin ng isang mataas na antas na interface upang mapagtatrabahuhan. Para sa antas ng abstraction, maaaring maiugnay ng isa kung paano ang code para sa pagdaragdag ng dalawang numero sa isang mataas na antas ng wika ng programa sanhi ng mga pagrehistro sa mga chip na hawakan ang mga piraso at ibalik ang isang output sa gumagamit.
Mga Arkitektura ng Processor
Ang yunit ng pagpoproseso ng Central, na tumutukoy sa parehong microprocessor at microcontroller, ay nagsasagawa ng mga tiyak na gawain sa tulong ng isang Control Unit (CU) at Arithmetic Logical Unit (ALU). Habang ang mga tagubilin ay naihatid mula sa RAM, kumikilos ang CPU sa tulong ng dalawang yunit ng pagtulong nito sa pamamagitan ng paglikha ng mga variable at pagtatalaga sa kanila ng mga halaga at memorya. Talagang mahalaga na malaman kung paano ginagawa ng CPU ang lahat ng pagkilos na ito sa tulong ng arkitektura nito. Kung nais mong malaman ang tungkol sa kung paano gumagana ang isang microcontroller, maaari mong basahin ang batayang ito ng artikulong microcontroller.
Ang bawat CPU ay may memorya na nauugnay dito upang maiimbak ang programa at data. Gumagana ang programa at data sa CPU upang makuha ang output. Nagbibigay ang Programa ng tagubilin habang ang data ay nagbibigay ng impormasyon na mapagtatrabahuhan. Upang ma-access ang programa at ang data ay gumagamit ang mga bus, ang mga bus na ito ay mga wire, mas tiyak na ito ang mga bakas ng kawad tulad ng nakita mo sa mga naka-print na circuit board. Sa mga nakaraang taon ang mga microcontroller at microprocessor ay umunlad sa pamamagitan ng pagbagay sa iba't ibang mga arkitektura, batay sa aplikasyon o mga kinakailangan sa disenyo ang pagpili ng microcontroller ay naiimpluwensyahan ng uri ng arkitekturang ginamit dito. Tingnan natin ang mga tanyag na arkitektura.
Arkitektura ng Von-Neumann / Princeton
Ang paraan kung saan nakakakuha ang CPU ng access sa programa at data, nagsasabi tungkol sa arkitektura ng CPU. Mas maaga sa isang solong bus ang ginamit para sa pagkuha ng access sa programa at data. Ang ganitong uri ng arkitektura ay kilala bilang Von Neumann Architecture o mas simpleng Princeton Architecture. Ang isang solong bus para sa pagkuha ng code at ibig sabihin ng data, dumating sila sa paraan ng bawat isa at pinabagal ang bilis ng pagproseso ng CPU dahil maghintay ang bawat isa para matapos ng pagkuha ang isa. Ang limitasyon na ito ay kilala rin bilang kondisyon ng bottleneck ng Von-Neumann.
Arkitektura ng Harvard
Upang mapabilis ang proseso ay iminungkahi ang Harvard Architecture. Sa arkitekturang ito isang magkakahiwalay na data bus para sa data at programa ang naroroon. Kaya't nangangahulugang iminungkahi ng arkitekturang ito ang paggamit ng apat na bus
- Isang hanay ng data bus na nagdadala ng data papunta at labas ng CPU.
- Isang hanay ng mga address bus para sa pag-access sa data.
- Isang hanay ng data bus para sa pagdadala ng code sa CPU.
- Isang address bus para sa pag-access sa code.
Ang paggamit ng magkakahiwalay na address bus at data bus ay nangangahulugang mababang oras ng pagpapatupad para sa CPU ngunit dumating ito sa halaga ng pagiging kumplikado sa pagdidisenyo ng arkitektura. Ang arkitektura ng Von Neumann ay maaaring tunog medyo tamad ngunit may kalamangan ito ng simpleng disenyo nito.
Ang arkitektura ng Harvard ay mas madaling ipatupad kapag ang CPU at ang mga yunit ng memorya ay nagbabahagi ng parehong puwang o ang RAM at ROM ay inbuilt (on-chip) sa pagproseso ng yunit, tulad ng sa microcontroller kung saan ang distansya ay nasa microns at millimeter. Gayunpaman, ang parehong arkitektura ay mahirap ipatupad kung saan ang memorya na may hawak ng code ay panlabas sa pagproseso ng yunit tulad ng sa x86 IBM PC's. Ang isang hanay ng magkakahiwalay na mga bakas ng kawad para sa parehong data at address sa motherboard ay gagawing kumplikado at mahal ang board. Unawain natin ito sa isang halimbawa ng isang processor.
Ang isang processor na may 64-bit data bus at 32-bit address na bus ay mangangailangan ng humigit-kumulang na 100 mga bus (96 para sa data at address bus at ilang iba pa para sa control signal) para sa pagpapatupad ng arkitekturang Von-Neumann. Ang parehong istraktura kung ipinatupad sa arkitektura ng Harvard ay nagkakahalaga ng doble na mga bakas ng kawad na tinatayang 200 na may isang malaking bilang ng mga pin na lalabas sa processor. Para sa parehong kadahilanan na hindi namin nakikita ang purong arkitektura ng Harvard na ipinatupad para sa PC at mga workstation. Sa halip, isang binagong arkitektura ng Harvard ang ginagamit kung saan ginagamit ang hierarchy ng memorya na may memorya ng cache ng CPU para sa paghihiwalay ng programa at data. Ang hierarchy ng memorya ay pinaghihiwalay ang imbakan batay sa hierarchy ng oras ng pagtugon ng mga proseso.
Tagubilin sa Itakda ang Arkitektura
Tulad ng programa (code) ay na-load sa memorya ng system (RAM) nakuha ito ng CPU (na tumutukoy sa parehong microprocessor at microcontroller) upang kumilos sa data, katulad ito sa pagbibigay ng mga tagubilin kapag sinasanay namin ang aso para sa ilang mga pagkilos at utos. Tulad ng mga tagubiling iaksyunan sa ilang mga transistors ay mula sa isang antas ng lohika patungo sa isa pa upang maganap iyon. Kaya karaniwang sa tulong ng mga tagubilin ng programmer ng tao ay nakikipag-usap sa processor. Ang bawat CPU ay may sariling hanay ng pagtuturo, isang koleksyon ng mga tagubilin batay sa arkitektura at kakayahan nito.
Naiintindihan ng CPU ang mga tagubiling ito sa pagsasama ng 0 at 1 na kilala rin bilang isang opcode. Para sa isang programmer ng tao, talagang mahirap tandaan ang kumbinasyon ng 0 at 1 para sa bawat tagubilin na nauugnay sa CPU. Upang mapanatili ang trabaho ng isang programmer ng tao na madali, bibigyan kami ng mga mataas na antas na interface ng mga tagubiling ito at pinapalit ito ng tagatala sa anyo ng 0 at 1 para sa pagproseso nito. Gayundin sa hanay ng pagtuturo ng bawat CPU, mayroon itong isang limitadong bilang ng mga tagubilin na maaari nitong maunawaan.
Pagganap ng CPU
Maaaring narinig mo ang term rate na orasan ng CPU na nauugnay sa pagganap ng CPU. Ang CPU ay karaniwang mayroong rate ng orasan sa MHz (Mega-Hertz) o GHz (Giga-Hertz) tulad ng 25 GHz na rate ng orasan. Ang bilang na nauugnay sa rate ng orasan ay nagsasabi kung gaano karaming beses ang orasan sa loob ng CPU ay nag-tick sa mga cycle bawat segundo. Ang pagiging praktiko ng rate ng orasan ay maaaring maunawaan ng katotohanan na ang mga tagubilin ay ginaganap batay sa mga cycle ng orasan ng CPU na proporsyonal sa bilang ng mga programa na maaaring patakbuhin ng CPU sa bawat oras.
Ang pagganap ng CPU ay nakasalalay sa bilang ng mga tagubilin na nakasulat sa programa, mas maraming mga tagubilin, mas maraming oras na ginugol ng CPU upang maisagawa ang mga ito. Nakasalalay din ito sa bilang ng mga cycle ng orasan kung saan ang bawat tagubilin ay naisakatuparan, ang ilang mga tagubilin ay nangangailangan ng maraming mga cycle ng orasan upang maipatupad kaysa sa iba kaya nahuhuli nila ang pagganap ng CPU. Ang mga tagubilin sa isang programa at mga pag-ikot na kinakailangan upang maisagawa ang bawat tagubilin ay baligtad na proporsyonal sa bawat isa. Ang pagbabago ng isa ay makakaapekto sa iba pa. Ito ang punto kung saan nahahati ang industriya ng CPU.
Arkitektura Itakda ang RISC at CISC Instruction Set
Tulad ng sinabi sa itaas ng Pagpapatupad ng isang programa at ang pagganap ng CPU ay nakasalalay sa bilang ng mga tagubilin sa isang programa kung saan ang mga tagubilin ay iminungkahi sa partikular na CPU bilang isang bahagi ng itinakdang tagubilin at ang pangalawang kadahilanan ay ang bilang ng mga pag-ikot ng orasan sa na kung saan ang bawat tagubilin ay naisakatuparan. Batay sa dalawang salik na ito sa kasalukuyan ay magagamit ang dalawang hanay ng pagtuturo. Ang pinakamaaga sa mga ito ay ang Computing Instruction Set Computing (CISC) habang ang isa ay Reduced Instruction Set Computing (RISC). Talakayin natin ang bawat isa sa arkitekturang ito nang detalyado upang maunawaan ang pagkakaiba sa pagitan ng RIC at CISC Architecture.
Computing Instruction Set Computing (CISC)
Ang CISC ay kumakatawan sa Computing Instruction Set Computing. Ang pangunahing motibo ng CISC ay upang mabawasan ang bilang ng mga tagubilin na isinasagawa ng isang programa, ginagawa ito sa pamamagitan ng pagsasama ng maraming simpleng mga tagubilin tulad ng address mode, paglo-load, atbp at upang makabuo ng isang solong kumplikadong tagubilin. Ang tagubilin sa CISC ay may kasamang isang serye ng mga simpleng tagubilin pati na rin ang ilang mga espesyal na tagubilin na tumatagal ng higit sa isang siklo ng orasan upang maisagawa. Ang mga tagubilin sa CISC ay maaaring direktang gumana sa memorya nang walang interbensyon ng mga rehistro na nangangahulugang inaalis nito ang pangangailangan para sa ilang pangunahing mga tagubilin tulad ng pag-load ng mga halaga at ang kinakailangan ng memorya (RAM). Ang mga tagubilin sa CISC ay higit na binibigyang diin ang hardware kaysa sa software, na nangangahulugang sa halip na ilagay ang load sa mga tagatala,Gumagamit ang CISC ng mga transistor bilang hardware upang ma-decode at magpatupad ng mga tagubilin. Gayunpaman, dahil ang pagtuturo ay kumplikado at bumubuo ng maraming mga hakbang, naisasagawa ang mga ito sa mas maraming bilang ng mga cycle ng orasan.
Ang isang simpleng pagkakatulad sa nauugnay ay kapag ikaw ay sinabi upang buksan ang libro at basahin ang 3 rd 2 chapter ni nd page. Sa seryeng ito ng mga aktibidad, gumawa ka ng maraming mga hakbang tulad ng paghahanap ng libro mula sa iyong bag kaysa sa pag-shuffle ng pahina sa kabanata 3 at pagkatapos ay pagpunta sa pahina ng 2 nd ng kabanata at pagkatapos ay magsimulang magbasa. Ang serye ng mga hakbang kung pinagsama sa isang solong pagtuturo ng pagbabasa ng pahinang 44 (kung saan ay ang 2 nd numero ng pahina ng 3 rd chapter), kami makakuha ng isang CISC pagtuturo.
Nabawasan ang Pagtuturo ng Set ng Pagtuturo (RISC)
Ang unang pinagsamang chip ay dinisenyo ni Jack Kilby noong 1958 na isang oscillator at noong unang komersyal na Microprocessor noong 1970 ay lumabas mula sa Intel. Bagaman sa pagsisimula ng mga nagpoproseso ay walang CISC. Ngunit sa mabibigat na hinihingi sa computing ang arkitektura ng CISC ay naging mas kumplikado at mahirap hawakan. Isang kabuuang muling pagdisenyo ng arkitektura ng CISC na kilala bilang RISC ang lumabas mula sa IBM ni John Coke. Kaya upang maiiba ang pagitan ng dalawang arkitektura ipinakilala ang mga katagang RISC at CISC.
Ang RISC ay nangangahulugang binawas ang computing ng pagtuturo ng computing. Ang pangunahing motibo ng RISC ay upang ipakilala ang pagkakapareho sa laki at pagpapatupad ng mga tagubilin. Ginawa ito sa pamamagitan ng pagpapakilala ng simpleng hanay ng tagubilin na maaaring maipatupad bilang isang tagubilin sa bawat pag-ikot, ginagawa ito sa pamamagitan ng pagwawasak ng mga kumplikadong tagubilin tulad ng paglo-load at pag-iimbak sa iba't ibang tagubilin, kung saan ang bawat tagubilin ay humigit-kumulang na tumatagal ng isang ikot ng orasan upang maipatupad. Ang arkitektura ng RISC ay may kasamang simpleng mga tagubilin sa parehong sukat na maaaring maipatupad sa isang solong cycle ng orasan. Ang mga machine na nakabatay sa RISC ay nangangailangan ng higit na RAM kaysa sa CISC upang hawakan ang mga halaga habang naglo-load ang bawat tagubilin sa mga pagrehistro. Ang pagpapatupad ng solong tagubilin bawat pag-ikot ay nagbibigay sa RISC na nakabatay sa mga makina na bentahe ng pipelining(pipelining ay ang proseso kung saan ang susunod na tagubilin ay na-load bago ang unang tagubilin ay naisakatuparan, pinapataas nito ang kahusayan ng pagpapatupad). Binibigyang diin ng arkitektura ng RISC