2.3 වොන් නියුමන් නිර්මිතය -Von Neumann Architecture - 12-වසර තොරතුරු හා සන්නිවේදන තාක්ෂණය

2.3 වොන් නියුමන් නිර්මිතය -Von Neumann Architecture

2.3 වොන් නියුමන් නිර්මිතය -Von Neumann Architecture

1945 දී ජෝන් වොන් නියුමන් නම් වූ ගණිතඥයා/ පරිගණක විද්‍යාඥයා විසින් පරිගණක නිර්මාණය සඳහා අදටත් භාවිත කරන වොන් නියුමන් ආකෘතිය හඳුන්වා දෙන ලදි . මෙය ආචයන ක්‍රමලේඛක සංකල්පය (stored-program computer concept) ලෙස හඳුන්වනු ලැබේ. ‍ මෙම ක්‍රමයට ක්‍රියාත්මක වූ සාර්ථකම පරිගණකය වූ EDVAC (Electronic Discrete Variable Automatic Computer) පරිගණකය 1949 දී නිපදවන ලදි. නමුත් මෙම ක්‍රමයේ ප්‍රථම පරිගණකය  ENIAC වූ අතර එය ක්‍රියාත්මක කිරීමේ දුෂ්කරතා විය.

 

වොන් නියුමන්ගේ සංකල්පයට අනුව නිපදවන පරිගණකයක සැකැස්ම සඳහා පහත අංග ඇතුලත් විය යුතුය.

  • අංක ගණිතමය හා තාර්කික ඒකකය (Arithmetic and Logic Unit(ALU))
  • පාලන ඒකකය - Control Unit
  • මතක ඒකක - Memory Unit (Registers)(ප්‍රාථමික සහ ද්විතියික මතක)
  • ආදාන - Inputs
  • ප්‍රතිදාන -

 

වොන් නියුමන් නිර්මිතය සැකසී ඇති ආකාරය

මෙම සංකල්පයට අනුව නිර්මාණය වන පරිගණක වල දත්ත සහ උපදෙස් මතකයයේ තැන්පත් කර ඇති අතර අංක ගණිතමය හා තාර්කික ඒකකයේ දී එම දත්ත, උපදෙස් වලට අනුව  සකසනු ලැබේ.

මධ්‍යම සැකසුම් ඒකකය Central Processing Unit (CPU)

මෙම ඒකකය සංකීර්ණ ඉලෙක්ට්‍රොනික පරිපථයක් වන අතර පරිගණක වැඩසටහන් වල ඇති උපදෙස් ක්‍රියාත්මක කිරීම සිදුකරනු ලැබේ. මේවා සැකසීම සඳහා තුනී සිලිකන් පතුරක් භාවිත කරන අතර ට්‍රාන්සිසටර් මිලියන ගණනක් සහිත පරිපථයක් මෙතුල අන්තර් ගත කර නිෂ්පාදනය කරනු ලැබේ. එම නිසා මෙම ඒකකය ක්ෂුද්‍ර සකසනය (Microprocessor) හෝ සකසනය (Processor) ලෙසද හඳුන්වනු ලැබේ. ක්ෂුද්‍ර සකසනයක්  තුළ   අංක ගණිතමය හා තාර්කික ඒකකය (Arithmetic and Logic Unit (ALU)), පාලන ඒකකය - Control Unit (CU), මතක ඒකක - Memory Unit (Registers) අන්තර්ගත කර තිබේ.

 

 

අංක ගණිතමය හා තාර්කික ඒකකය Arithmetic and Logic Unit (ALU)

අංක ගණිතමය හා තාර්කික ඒකකය යනු ක්ෂුද්‍ර සකසනයේ ඇත ක්‍රියාකාරීම ඒකකයයි. මෙම ඒකකයේ දී එකතු කීරීම්, අඩු කිරීම්, බෙදීම් සහ වැඩිකිරීම් වැනි මූලික ගණිත කර්ම සිදු කරනු ලැබේ. තාර්කික ඒකකයේ දී තර්කානුකූලව ප්‍රථිපල ලබා ගත යුතු  ගණිත කර්ම(AND, OR, NOT )  සිදු කරනු ලැබේ. 

පාලන ඒකකය  Control Unit (CU)

පාලන ඒකකය  පරිගණකයේ,  අංක ගණිතමය හා තාර්කික ඒකකය , මතක සහ ආදාන ප්‍රතිදාන ඒකක පාලනය කිරීම සිදු කරනු ලබයි. එයට අමතරව පරිගණකයේ වෙනත් උපාංග සඳහා ද පාලන සංඥා සහ කාල සැකසීම් මෙම ඒකකයෙන්ම සිදු කරනු ලැබේ.

මතක ඒකක  Memory Unit

සසම්භාවී ප්‍රවේශ මතකය, (RAM) ප්‍රධාන මතකය /ප්‍රාථමික මතකය ලෙසින් හඳුන්වනු ලැබේ.  ද්විතියික මතක වන දෘඩ තැටි සහ වෙනත් මාධ්‍ය  වලට සාපේක්ෂව මෙම ප්‍රාථමික මතක වලට ඉතා වේගවත්ව ක්‍රියාත්මක වීමේ හැකියාව පවතී.  පරිගණක ක්‍රියාත්මක වීමේ දී දෘඩ තැටියේ ඇති දත්ත පළමුව මෙම මතකයට ගබඩා කර ගනු ලැබේ. එවිට ක්ෂුද්‍ර සකසනයට ඉතා වේගයෙන් එම දත්ත සමග වැඩ කිරීමේ හැකියාව ඇති වේ.

ක්ෂුද්‍ර සකසනය අභ්‍යන්තරයේ මතක ඒකකයක් ඇත. එය සකසනයට ආසන්නම මතක ඒකකය ලෙස ක්‍රියාකරන අතර ඒවා රෙජිස්ටර්ස්  හඳුන්වනු ලැබේ.

රෙජිස්ටර Registers

රෙජිස්ටර යනු මතක විශේෂයකි. මේවා ක්ෂුද්‍ර සකසන අභ්‍යන්තරයේ පිහිටවා ඇති අතර ක්‍රියාකාරීත්වය ඉතා වේගවත්ය. සෑම දත්තයක්ම සැකසීමට ආසන්නම මොහොතේ දී  රෙජිස්ටර තුල ගබඩා කර ගනු ලැබේ. එමගින් ඉතාම වේගවත්ව ALU ඒකකය වෙත දත්ත සැපයීමට හැකි වේ. සාමාන්‍යයෙන් සකසන තුල පහත සඳහන් රෙජිස්ටර් අන්තර්ගත කර ඇත..

MAR

මතක ලිපින රෙජිස්ටර

Memory Address Register

මතකයේ දත්ත තැනපත්  කර ඇති ස්ථානයේ ලිපින මෙම රෙජිස්ටර් තුල ගබඩා වී පවතී.

MDR

දත්ත රෙජිස්ටර

Memory Data Register

ප්‍රධාන මතකයෙන් ලබා ගන්නා ලබා දෙන දත්ත මෙම රෙජිස්ටරය තුල ගබඩා වී පවතී.

AC

ඇකියුමිලේටර්

Accumulator

ගණිත සහ තාරකික ක්‍රියාවලයේ දී තාවකාලික ලෙස ලබා දෙන ප්‍රථිපල මෙම ඒකකයේ තබා ගනී.

PC

ප්‍රෝග්‍රෑම් කවුන්ටර්

Program Counter

මීලඟට ක්‍රියාත්මක කළ යුතු විධානයට අදාල ලිපිනය මෙහි ගබඩා වී ඇත. එනම් මීලඟට ක්‍රියාත්මක කලයුතු විධානයට යොමු වී සිටී.

CIR IR

Current Instruction Register

දැනට සැකසෙමින් පවතින විධානය ගබඩා වී ඇත.

 

ආදාන - Inputs / ප්‍රතිදාන - Outputs ඒකක

පරිගණකයට සැකසීම සඳහා අවශ්‍ය දත්ත ආදානය කිරීම මෙන්ම සැකසූ දත්ත ප්‍රතිදානය කිරීම මෙම ඒකක හරහා සිදුවේ. මෙම ඒකක ද සකසනයේ අභ්‍යන්තරයේ පිහිටා ඇති අතර පාලන ඒකක මගින් පාලනය කිරීම ද සිදුකරනු ලැබේ.

 

දත්ත පථ - Data Buses

පරිගණක අභ්‍යන්තරයේ පරිපථවල දත්ත එහා මෙහා ගමන් කිරීම සඳහා මෙම පථ සකසා ඇත. මේවා සන්නායක කම්බි වේ. මුද්‍රිත පරිපථ පුවරු වල තඹ රේඛා වශයෙන් මේවා දැකිය හැක.  මෙම දත්ත පථ වල ප්‍රමාණයක් (Size) හෝ පළලක් (Width) දැක්විය හැකිය. එනම් එම පථයේ ගමන් කරවිය හැකි බිට් ප්‍රමාණයයි. මෙම බිට් ගණනට අනුව සන්නායක කම්බි/රේඛා හෙවත් සබඳතා ගණන ද වෙනස් වේ. සාමාන්‍යයෙන්විවිධ පරිපථ වල  බිට් 4 , 8, 16, 32, 64 ආදි ලෙස දත්ත පථ දැකිය හැකිය. සාමන්‍ය පරිගණක වල මෙය බිට් 32,64 ක් වේ. මේවායේ දත්ත ගමන් කිරීම විදුලි සංඥා වශයෙන් සිදුවන අතර එම් විදුලිය ඇති නැති අවස්ථා (0 , 1) ලෙස ගමන් කරනු ලැබේ.

ක්ෂුද්‍ර සකසනය අභ්‍යන්තරයේ ද පහත සඳහන් දත්ත පථ වර්ග 3 ක් අන්තර්ගත වේ. .

ලිපින පථය

Address Bus

මතකය තුළ දත්ත තැන්පත් කිරීම සඳහා මතකයට අදාල ලිපින අවශ්‍ය වේ (දත්ත භොතික වශයෙන් තැන්පත් වන ස්ථානය) . ක්ෂුද්‍ර සකසනය හා මතකයන් අතර මෙම ලිපින හුවමාරු වීම ලිපින පථ හරහා සිදු වේ. කිසි විටකත් මේවා දත්ත නොවන බව අවධාරණය කර ගත යුතුය.

දත්ත පථය

Data Bus

ක්ෂුද්‍ර සකසනය, මතක පද්ධති සහ අදාන/ ප්‍රතිදාන එකක අතර දත්ත හුවමාරු කිරීම සඳහා දත්ත පථ උපයෝගී කර ගනු ලැබේ.

පාලක පථය

Control Bus

පාලන සහ විධාන සංඥා ක්ෂුද්‍ර සකසනයේ පාලන ඒකකයේ සිට විවිධ අංශ වෙත ගෙන යාම මෙම පථය මගින් සිදුකරනු ලැබේ.

 

 


රෙජිස්ටර් සහිත ක්ෂුද්‍ර සකසනයක අභ්‍යන්තර සැලැස්ම

 

සෙවුම් ඉෂ්ඨ චක්‍රය Fetch Decode Execute Cycle


පරිගණකය අභ්‍යන්තරයේ සිදුවන මෙහෙයුම් ක්‍රියාවලිය උපදෙස් චක්‍රය හෙවත් සෙවුම් ඉෂ්ඨ චක්‍රය ලෙස හඳුන්වනු ලැබේ. (Instruction cycle = fetch–decode–execute cycle = fetch-execute cycle) ප්‍රධාන මතකය තුලින් ලබාගන්නා  උපදෙස් වලට අනුව  මෙම ක්‍රියාවලිය සිදුවනු ලැබේ. මෙහි ඇති විශේෂත්වය වන්නේ පරිගණකය ක්‍රියාත්මක කල මොහොතේ සිට එය අක්‍රීය කරන තුරු මෙම ක්‍රියාවලිය නැවන නැවත සිදුවීමයි.  ක්ෂුද්‍ර සකසනය විසින් මෙම උපදෙස් අනුපිලිවෙලින් සිදු කරනු ලැබේ.

 

 

 

 

 

 

 

වොන් නියුමන් සැළසුමේ අවහිරතා සහ විසඳුම් - Von Neuman Bottle neck and Solution


ක්ෂුද්‍ර සකසනය හා ප්‍රාථමික මතකය අතර දත්ත හුවමාරුවේ දී සකසනයේ වේගයට සාපේක්ෂව දත්ත සැපයීමේ ප්‍රමාදයක් ඇති විය හැකිය. දත්ත ලැබෙන තුරු සකසනයට අකර්මන්‍යව සිටීමට සිදුවේ. මෙය සකසනයේ හැකියාව අපතේ යැවීමකි. මෙයට විසඳුමක් ලෙස වේගවත්ව සකසනයට අවශ්‍ය දත්ත ලබා දීම සඳහා වේගවත් මතකයක් ඇතුලත් කර ඇත. මෙම මතකය නිහිත මතකය ලෙස හඳුන්වුන ලැබේ. එය සකසනය හා ප්‍රධාන අතකය අතර ස්ථානගත කර තිබේ.

මෙම ප්‍රධාන මතකයට අමතරව ක්ෂුද්‍ර සකසනයේ ක්‍රියාකාරීත්වය සඳහා ආසන්නව කටයුතු කරන අමතර මතකයක්  ඇත. එය නිහිත මතකය හෙවත් Cache Memory ලෙස හඳුන්වනු ලැබේ. මේවා රෙජිස්ටර් සහ ප්‍රාථමික මතකයට අතර මැදිව ක්‍රියාත්මක වේ. නවීන පරිගණක වල මෙම මතකය ඒවා L1, L2, L3 (Level) වශයෙන් හඳුන්වනු ලැබේ. 

 

 

දෘඩ තැටිය ප්‍රාථමික මතකය (RAM)නිහිත මතකය (Cache) L3L2→L1→ක්ෂුද්‍ර සකසනය

 

 

L1 Cache (Level 1)

මෙම මතකය ක්ෂුද්‍ර සකසනය අභ්‍යන්තරයේ ම පිහිටුවා ඇත. සකසනය සමග ආසන්නව කටයුතු කරන දත්ත මෙතුල ගබඩා කරනු ලැබේ. එනිසාම මෙය ප්‍රාථමික නිහිත මතකය ලෙස හෝ පද්ධති නිහිත මතකය (Primary Cache or System Cache) ලෙස හැඳින්විය හැකිය. පරිගණකයක ඇති වේගවත්ම මතකය ද මෙය වේ. නමුත් ඉතා කුඩා ප්‍රමාණයේ ධාරිතාවයක් සහිත මතකයක් වුව ද මිල අධික වේ. මෙහි ඇති දත්ත සෘජුවම රෙජිස්ටර් වෙත යොමු කරනු ලැබේ.

නවීන සකසන වල L1 සමාන කොටස් දෙදකට බෙදා භාවිත කරනු ලැබේ. මෙහිදී දත්ත (Program Data) සහ පාලන දත්ත (instructions) වෙනුවෙන් වෙන් වෙන් වශයෙන් මෙම කොටස් දෙක භාවිත කරනු ලැබේ.

intel core i5 Processor - L1 cache: 32KB L1 data, 32KB L1 instruction per core.

 

L2 Cache (Level 2)

ද්වියිතික නිහිත මතක secondary cache හෙවත් බාහිර නිහිත මතකය external cache නමින් හඳුන්වන මෙය  L1 මතකය තරමටම වේගවත් නැත. සකසනයේ ආවරණය තුල පිහිටුවා තිබුන ද මෙය අභ්‍යන්තරයටම ඇතුලත් කර නැත. නමුත් ප්‍රධාන මතකයට වඩා වේගවත්ව ක්‍රියාත්මක වේ.

intel core i5 Processor - L2 cache: 256KB per core, inclusive.

L3 Cache (Level 3)

මෙම මතකය ද ප්‍රාථමික මතකයට වඩා වේගවත්ය.  සමහර අවස්ථා වලදී මව් පුවරුවේ මෙම මතක පරිපථය සවිකර ඇත. විශේෂිත සකසන වලදී එය අභ්‍යන්තරයේම සවිකළ අවස්ථා ද දැකිය හැකිය. මෙම මතක ඒකකය සෘජුවම ප්‍රාථමික මතකය හා සම්බන්ධ වේ. සකසනයක අභ්‍යන්තර සකසන කිහිපයක් ඇති විට මෙම මතකය සියලු සකසන සමග පොදුවේ භාවිත කරනු ලැබේ.

L3 cache: 8MB accessible by all cores, inclusive (ඇතුලත්ව)

 

බහු හර සකසන (Multi-core)

බහු හර සකසනයක් වනු එකම ආවරණය තුල සකසන කිහිපයක් එක්ව ක්‍රියාකිරීමට හැකිවන සේ අන්තර්ගත කර ඇති අවස්ථාවන්ය. මෙහිදී එක් එක් සකසන වලදී මතකය පොදුවේ (Shared Memory) භාවිත කරන අවස්ථා දැකිය හැක.. 

 

 

බහු හර සකසන භාවිතයේ ඇති වාසි.

  • වැඩසටහනක් කොටස් වශයෙන් ක්‍රියාත්මක කල හැකි වීම නිසා වේගවත් බව.
  • එනිසා සමාන්තර සැකසීම් සඳහා භාවිත කල හැකි වීම.
  • තනි පරිගණකයක් භාවිතයෙන් උපරිම කාර්ය සාධනයක් ලබා ගත හැකි වීම.

Examples:

Intel i5 4 cores

Intel i7 18 cores

Intel Polaris 80 cores

අන්තර්ජාල සම්පත්

www.techopedia.com

https://bournetocode.com/projects/AQA_AS_Theory_pregit/pages/3-7.html

https://superuser.com/questions/584900/how-distinguish-between-multicore-and-multiprocessor-systems

https://www.pcmech.com/article/all-about-multi-core-processors-what-they-are-how-they-work-and-where-they-came-from/