Android Hardware | Part 01 – SOC & CPU
![Android Hardware | Part 01 – SOC & CPU](/content/images/size/w1200/2020/06/hardware-android-part-01-android-wedakarayo.jpg)
හාඩ්වෙයා කොටස් ටික විවාදශීලී වේවි. මොකද සමහර බ්රෑන්ඩ් වාදී අය සමහර කරුණු වලට කැමති නැතිවේවි.
ඔක්කොටම කලින් කියන්න ඕන හාඩ්වෙයා කොටස බොහොම දිගයි. ඒනිසා ලිපි කිහිපයකින් පලවේවි. මේ කොටසින් මූලිකව ෆෝන් එක හැදිලා තියන විදිහ හා CPU ගැන කියන්නයි බලාපොරොත්තුව.
ඇන්ඩ්රොයිඩ් ෆෝන් එකක් ගත්තම මූලිකව කතාවෙන කරුනු කීපයක් තියෙනවා හාඩ්වෙයා සම්බන්ධව.
- SoC එක
- CPU එක
- GPU එක
- Ram එක
- Sensor ටික
- Port ටික
- කැමරා
- ඩිස්ප්ලේ එක
- බැටරිය
- තව එච්චර කතා නොවෙන කීපයක්
PC එකක හා ඇන්ඩ්රොයිඩ් ෆෝන් එකක මූලික සැකැස්ම බොහෝදුරට සමානයි . නමුත් ෆෝන් එක කියන්නේ PC වගේ ඇතුලේ ඉඩ තියෙන එකක් නෙවේ . ඒනිසා පීසී වල වගේ මේ උපාංග අතර හිස් ඉඩ නෑ . ඒනිසා උපාංගය සිසිල් කිරීමට වෙනස් ක්රම පාවිච්චි කරනවා.
PC එකක නං Liquid හෝ Air කූලින්ග් පාවිච්චි කරනවා. නමුත් ෆෝන් වල මේවා බෑ . ඒනිසා තාප සන්නායක ද්රව්ය පිරවුම් ක්රම භාවිතා කරනවා. උපාංග අතර ඉතා හොද තාප සන්නායක ද්රව්ය පාවිච්චි කරලා තාපයට ගලා යන්න සලසනවා. මේක බොහොම සංකීර්ණ ක්රියාවක්. පොඩි පලුදුවීම් වලින් තාපය ගලායන ආකාරය වෙනස් වෙන්න පුලුවන්. ඇලුමිනියම් ෆොයිල් හෝ මෙටල් බොඩි සාමාන්යයෙන් තාප පිරවුම් ලෙස භාවිතා වෙනවා. ෆෝන් එකේ පිටුපසින් තාපය මුදාහරින විදිහට තමා මේවා ඩිසයින් කරලා තියෙන්නේ. මොකද LCD ඩිස්ප්ලේ එක පැත්තට තාපය ගියොත් ඒකට හානිවෙන්න පුලුවන් . ඉතා අකාර්යක්ෂම හා අඩු වියදම් ෆෝන් වල මේවා ගැන සැලකිල්ලක් දක්වන්නේ නෑ. ඒවයි තාපය පිටට එන්නේ නෑ . ඒනිසා ෆෝන් එක රත් වෙන්නේ නෑ . එහෙම උනාම ඩිස්ප්ලේ එක ඉක්මනින් රත් වෙලා හානි වෙනවා.
නමුත් තාපය පිටට නොආවා කියලා ෆෝන් එක ගොන් කියන්න බෑ . මොකද සමහර ෆෝන් වල තාප ගැලීම් හදලා තියෙන්නේ අපි වැඩිය අතට අහුනොවෙන තැන් වලට. විශේෂයෙන් hTC, LG, Huawei, Sony වල මේක දකින්න පුලුවන්. මේ විදිහේ ෆෝන් වල ගේම් ගහනවා වගේ බර වැඩක් කරද්දී තැන් කිහිපයක් විතරක් රත්වෙනවා අනිත් තැන්වලට වඩා. ඒතමා CPU එක හා GPU එක තියන තැන්. නමුත් සැම්සන්ග් වල ෆෝන් බොහොමයක් හදලා තියෙන්නේ පුලුවන්තරම් තාපය පිටට යවන්න. මුලු බැක් එකම වගේ ඒකට පාවිච්චි වෙනවා. S7 එකේ මුල්ම වරට Liquid කූලින්ග් ක්රමයක් පාවිච්චි කරලා තියනවා. ඒක පොඩි ටියුබ් එකක්. ඒකේ දියරයක් තියනවා. ටියුබ් එක පිටිපස්සේ ඇල්මිනියම් ප්ලේට් එකට ගෑවෙන්නහදලා තියෙන්නේ.
ඒවගේම ෆෝන් වල බලසැපයුම සීමාසහිතයි. ඒනිසා බලය පාවිච්චි කිරීම ඉතා අරපිරිමැස්මෙන් කලයුතුයි. ඒනිසා පාවිච්චි කරන උපාංග බොහොම බල කාර්යක්ශම වෙන්න ඕන. මේනිසා පාවිච්චි කරන ප්රොසෙසර් වර්ගය ඩෙස්ක්ටොප් වලින් වෙනස් වෙනවා.
ගොඩක් අය ෆෝන් එකේ ප්රොසෙසර් එක කැමරාව හා රැම් එක ගැන යම්තරමක් හෝ සැලකිලිමත් උනත් අනික් වැදගත්ම කොටස වන GPU එක ගැන සැලකිලිමත් නෑ . මේනිසා ෆෝන් එක මිලදීගත්තට පසුව කෑගහනවා යකෝ මේකේ ගේම් ගහන්න බෑ . ස්ලෝ වෙනවා කියලා.
සමහරු දන්නෙත් නෑ GPU එකක් ෆෝන් එකට තියෙනවා කියලත්. GPU වලට ඊලග ලිපියේ වැඩි ඉඩක් තියෙන නිසා වැඩි යමක් මේකෙන් කියන්නේ නෑ .
දැං බලමු මොකක්ද මේ SoC එක කියලා.
System On Chip කියන එක තමා මේකේ තේරුම. ගොඩාක් අය CPU එකට SoC එක තමා පටලවාගන්නේ. PC වලවගේ ඉඩනෑනේ ෆෝන් වල. ඉතින් උපාංග වලට යන ඉඩ අඩු කරන්න හා කාර්යක්ශමතාව වැඩි කරන්න CPU, GPU, Wi-Fi, Bluetooth, Ram වගේ කොම්පොනන්ට් එකතු කරලා තනි බෝඩ් එකක් මත අසුරා නිර්මාණය කල පරිපථයට තමා SoC එක කියන්නේ. මේ සැකැස්ම නිසා මුලින් කිව්ව තාප සංවහනයත් පහසු වෙනවා. Snapdragon, Exynos, MediaTek, HiSillicon, Nvidia තමා බොහොම ජනප්රිය SoC නිශ්පාදකයන්. මේ සියලු SoC ගැන එකින් එකට ඊලග ලිපියකින් කියන්නම්. මොකද මේ ලිපිය CPU එක ගැන වැඩි අවදානයක් යොමුකරනවා.
![](https://backend.androidwedakarayo.com/content/images/2020/06/Snapdragon-835-Block-Diagram-1.jpg)
දැං හැරෙමු CPU එකට
මං මුල්ම ලිපියෙන් කිව්වා x86 හා ARM කියල ප්රොසෙසර් වර්ග 2ක් ගැන. මුලින් ඒගැන පැහැදිලි කරගමු. මතක ඇතිනේ දෙවනි ලිපියෙන් මම යන්ත්ර භාශාව විස්තර කලා. ඉතින් මේ ප්රොසෙසර් වලට තේරෙන්නේ අන්න ඒ භාශාව. නමුත් යන්ත්ර භාශාව හසුරවන්නේ ප්රොසෙසර් එකේ ට්රාන්සිස්ටර් සම්බන්ධ විදිහ අනුව.
X86 කියන්නේ වර්ථමාන සියලු ඩෙස්ක්ටොප් ප්රොසෙසර් වල ආකෘතිය. මේකෙම දිගුවක් තමා X86_64 ප්රොසෙසර්. මේ ආකෘතිය සකසලා තියෙන්නේ උපරිම සැකසුම් බලයක් ලබාදෙන විදිහට. මොකද මේවට අවශ්ය බලය බොහෝදුරට ලැබෙන්නේ අසීමාන්තිකව. (ලැප් වල ප්රොසෙසර් ඩෙස්ක්ටොප් වල ප්රොසෙසර් වලින් වෙනස් මේ නිසා) ඒනිසා බලය උපරිමව යොදාගෙන සැකසීම් කරනවා.
නමුත් ARM වලට එහෙම නෑ . බොහෝදුරට ෆෝන් වලට නිශ්පාදිත නිසා බලය සීමිතයි. ඒනිසා උපරිම සැකසුම් බලය දෙන්න ඕන බල සැපයුම මත යැපෙමින්.
![](https://backend.androidwedakarayo.com/content/images/2020/06/ARM-processor-1024x683-1024x683.jpg)
සරලවම කිව්වොත් මේ දෙකේ ට්රාන්සිස්ටර් සම්බන්ධ වෙන්නේ වෙනස් ක්රම වලට. ඒනිසා එකක යන්ත්ර භාශාව අනිකට වඩා වෙනස්. X86 වල පාවිච්චි වෙන්නේ කරන්න CISC (Complex instruction set computing) යන්ත්ර භාශා ක්රමය. ARM වල RISC (Reduced Instruction set computing) ක්රමය.
මේකේ තේරුමෙන්ම පේනවානේ යන්ත්ර භාශා දෙකේ වෙනස. X86 වල එක ක්රියාවක් සදහා වැඩි Instruction ගානක් සැකසුමට ලක්වෙනවා. නමුත් ARM වලදී ඉතා අඩු instructions ගනනක් හරහා කාර්යය සිදුවෙනවා. Instructions කියන්නේ යන්ත්ර භාශා උපදෙස් වලට. ප්රොසෙසර් වල වේගේ මනින්නේ GHz වලින්නේ. මේකට කියනවා Clock Speed එක කියලා. මේකේ තේරුම තියෙන්නේ මම පැහැදිලි කල Instruction වලට අදාලව. තප්පර එකකදී සැකසුමට ලක්කලහැකි Instructions සංඛ්යාව තමා මේ මැනලා තියෙන්නෙ. 1Hz =තප්පරේට එක instruction එකයි.
2GHz = 2,000,000,000ක් (2Billion) Instructions තප්පරේට වෙනවා කියන එක.
ARM වල වෙනසට හේතුව මූලිකව බලයේ සීමාකාරී බව. පුලුවන් තරම් කෙටිව කටයුතුකිරීම තමා මේ වෙනස්කම් වල අරමුණ. ARM කියන්නේ Acorn RISC Machine එක කෙටියෙන්. සමහර ෆෝන් වල තියෙනවා x86 ප්රොසෙසර්. (Asus ZenFone වගේ) මේ x86 මොබයිල් ඒවා නං ඉන්ටෙල්.
X86 වල වගේම Arm වලත් 64bit වර්ශන් එනවා. (මේ බිට් ගාන තමා ප්රොසෙසර් එකේ මතක පෙත වගේ එකක්. එකවර හැසිරවිය හැකි උපරිම මෙමෙරි රෙජිස්ටර් ප්රමානය) ARM වල කාලයත් එක්ක ක්රමයෙන් මේ රෙජිස්ටර් වැඩි කලා. රෙජිස්ටර් වැඩි කරද්දී ARM ප්රොසෙසර් එකේ යන්ත්ර භාශාවට පොඩි පොඩි වෙනස් කම් වගේම ප්රෝග්රෑම් රන් කරන විදිහත් වෙනස් උනා.
ARMv1 ඉදලා ARMv8.2 වලට යනකං 1980 ඉදන් වෙනස් වුනා.
බොහෝ වර්තමාන ඇන්ඩ්රොයිඩ් උපාංග වල ARMv8 64bit ප්රොසෙසර් දකින්න පුලුවන්. මේ නිසා මින් ඉදිරියට සුලුතර x86 ප්රොසෙසර් අඩංගු ඇන්ඩ්රොයිඩ් උපාංග මම නොසලකා හරිනවා. ඒවගේම Arm ප්රොසෙසර් වර්ග ගොඩක් තියන නිසා ARMv8 64bit ගැන විතරයි මං විස්තර කරන්නේ. මොකද ඒක තමා වඩාත් බහුතරව පාවිච්චි වෙන්නේ
මේ Arm වලත් ඩෙස්ක්ටොප් ප්රොසෙසර් වල වගේ Core කිහිපයක් තියෙනවා. ඒකිව්වේ තනි ප්රොසෙසර් එකක් නෙවේ ප්රොසෙසර් කිහිපයක් එකතුවෙල තමා මේ Arm ප්රොසෙසර් හැදිලා තියෙන්නේ. නමුත් මේ ARM වල Core වල හා x86 වල Core අතර ලොකු වෙනස්කම් කිහිපයක් තියෙනවා.
ඩෙස්ක්ටොප් ප්රොසෙසර් වල කෝ Core ඔක්කොම එකම GHz ගානක තියෙන්නේ . එක හා සමාන ප්රොසෙසර් Core. නමුත් Arm වල එහෙම නෑ. ලොකු clock speed එකක් තියන core එක්ක අඩු clock speed එකක් තියන core පාවිච්චි කරනවා. (නමුත් එහෙම නොවෙනවාමත් නෙවෙයි)
සාමාන්යයෙන් ලොකු Core එක්ක පොඩි Core පාවිච්චි කරන එකට කියනවා big.LITTLE කියලා. මේක කරන්නෙත් බල සුරැකුම් ක්රමයක් ලෙස. අපි ඊමෙල් බලද්දි පොටෝ බලද්දි වගේ පොඩි වැඩ වලදි මේ පොඩි CORE විතරයි ඔන් එකේ තියෙනවා. ලොකු ඒවා ඕෆ් වෙලා තියෙන්නේ. නමුත් ගේම් ගහද්දි වගේ සේරම CORE ඔන් වෙලා උපරිමව ප්රොසෙසින් බලය ලබාදෙනවා.
ඒවගේම මේ ARM ප්රොසෙසර් වල CLOCK SPEED එක මොහොතින් මොහොත වෙනස් කරන්න පුලුවන්. මේක කරන්නෙත් බලය සුරැකීමට. මේ වෙනස් කිරීම් කරන්නේ කර්නල් එකෙන්. CPU GOVERNOR කියලා විශේශ උපදෙස් කොටස් තියෙනවා කර්නල් එකේ. ඒතරම් පවර් ඕන නැත්තං CS එක අඩු කරගන්නවා. 2GHz එකක් සාමාන්යයෙන් නිතරම 2GHzවල තියෙන්නේ නෑ . සමහර වෙලාවට 200MHz දක්වා CS එක අඩු වෙනවා. ඒවෙන්නේ ගවනර් වලින්. මොකද හැමතිස්සේම මහාලොකු බලයක් අවශ්ය නෑ.
ඒ වගේම මේ ප්රොසෙසර් කෝර් වල ලොකු පොඩි ඒවා වර්ග කිහිපයකට අයිති වෙනවා.
- ARM Cortex-A35
- ARM Cortex-A53
- ARM Cortex-A57
- ARM Cortex-A72
- ARM Cortex-A73
මේ A35 මිඩ් රේන්ජ්. A73 හයිඑන්ඩ්. නමුත් මේ කෝර් කවලමේ පාවිච්චි කරන්න පුලුවන් . උදාහරණ විදිහට A53 2ක් එක්ක A72 2ක් දාලා Core 4 තනි ප්රොසෙසර් එකක් හදන්න පුලුවන්.
මේ ARM ප්රොසෙසර් වල අයිතිය තියෙන්නේ ARM Holdings සමාගමට. නමුත් ෆෝන් නිශ්පාදකයන් මේ සමාගමේ අවසරය මත ARM ප්රොසෙසර් පාවිච්චි කරනවා. මේ අය ඉතින් මේ නිසා කවලම් මැල්ලුම් හදනවා. ප්රොසෙසර් වල පොඩි වෙනස් කම් කරලා අමුතු නම් වලින් එලියට දානවා (උදාහරණ Apple. මෙයාලා එයාලගේ ප්රොසෙසර් වල කෝ හදුන්වනේ Hurricane වගේ නම් වලින්. ඒවුනාට මේවා A Series එකේ ප්රොසෙසර් කෝර්. පුංචි වෙනස්කම් තමා තියෙන්නේ )
විශේෂයෙන් කියන්න ඕන මොන SoC එක තිබ්බත් ඒ හැම එකේම තියෙන්නේ ARM ප්රොසෙසර්. (X86 සුලු ප්රමාණයක් තියෙනවා). ඇපල් උනත් සැම්සන්ග් උනත් හුවාවි උනත් එකම කතාව. සේරම ARM. හිතන්න එපා ඇපල් කියන්නේ විශේශ ප්රොසෙසර් පාවිච්චි කරන අමුතු ෆෝන් කියලා. ඇපල් හා ඇන්ඩ්රොයිඩ් උපාංග වෙනස් වෙන්නේ සොෆ්ට්වෙයා මට්ටමේදී විතරයි.
සමහර අය ලොකු ටෝක් දෙනවා ඇපල් කොහොමද ඇන්ඩ්රොයිඩ් එක්ක කම්පෙයා කරන්නෙවත් කියලා. තේරුම් ගන්න ඇපල් අයිෆෝන් 7 CPU පවා බොහොම පහසුවෙන් මිඩ් රේන්ජ් ඇන්ඩ්රොයිඩ් ෆෝන් වල CPU පර්ෆෝමන්ස් වලින් අභිබවා යන්න පුලුවන්. උදාහරණ විදිහට Apple ලගේ අලුත්ම A10 Fusion SoC එකේ ප්රොසෙසර් එක Armv8 Hurricane Core 4යි. ඒවා ඔක්කෝම 2.3GHz. හුවාවි HiSillicon Kirin 655 මිඩ් රේන්ජ් SoC එකේ Armv8 A53 Core 8. නමුත් ඒ 8න් 4ක් 2.1GHz අනිත් ඒවා 1.7GHz. පැහැදිලිව පේන්වා කව්ද ප්රොසෙසර් පවර් එකෙන් වැඩි. මං කියන්නේ ප්රොසෙසර් පවර් එකගැන විතරයි. මුලු SoC එකම ගැන නෙවේ.
CPU එකගැන ඕනවටත් වඩා ඔන්න මං කිව්වා. මං හිතනවා ගොඩක් අයගේ බොරුමත අයින් වෙන්න ඇති කියලා.
ඊලග කොටස GPU හා Ram ගැන වෙන්කරලා තියෙන්නේ. SoC එක ගැන කතාකරන්න කලින් සොක් එකේ අනිත් සේරම කොම්පොනන්ට් ගැන කතාකරන්න ඕන.
(වැරදි තියෙනවා නං කියන්න. ඕගොල්ලන්ගේ අදහස් යෝජනා දෙන්න. අඩුමගානේ කමෙන්ට් එකක් වත් දාන්න. අනිත් අයටත් කියවන්න ටැග් කරන්න)