Sunday, November 28, 2010

TCP – Transmission Control Protocol

හදිස්සියෙන් උනත් පොඩි දෙයක් ගැන ලියල යන්න හිතුන. හෙට mid exam එකකුත් තියනවනෙ. හරි හරි ඔන්න එහෙනම්,

Subject : CST 341-3 Data Communication And Networking

Chapter : OSI Model

Title : TCP

TCP කියන්නෙ Network එකක් හරහා data packet යැවීමට භාවිතා කරන වාඩාත් විශ්වාසදායි protocol එකක්. අහල ඇතිනෙ UDP ඒක මේ තරම් විශ්වාස කරන්න පුළුවන් කෙනෙක් නෙමේ. කොහෙන්ද පටන් ගන්නෙ,

මුලින්ම අපි හිතමු A හා B කියල පරිගණක දෙකක් දත්ත පැකට් හුවමාරු කරගන්න උත්සහ කරගන්නව කියල. A ඕන වෙනව B දත්ත පැකට් යවන්න. දැන් A මුලින්ම B යවනව Synchronize Packet එකක්. ඒකෙන් කියන්නෙ මම ලග(A) දත්ත පැකට් ටිකක් තියනව ඔයාට එවන්න ඔයා දන් ඒකට ලෑස්තිත කියල. ඉතින් ඒකට පිළිතුරු විදියට B යවනව Acknowledgment Packet එකක් සහ Synchronize Packet එකක්. කෙන් කියන්නෙ හරි මම ලෑස්තියි, ඔයා ලෑසිතිද කියල. ඉතින් A කොහොමත් ලෑස්ති පිටනෙ හිටියෙ, ඒනිසා එයා යවනව Acknowledgment Packet එකක් B. දැන් වැඩේ හරි. කියන්නෙ දෙන්න සෙට්. Connection Establish. ඔන්න ඔය පොඩි වැඩේට තමයි Three Way Shakes-hand කියල සුද්ද කිවුවෙ.

දැන් දෙන්නම රෙඩි. මුලින්ම A පළවෙනි පැකට් එක B යවනව. එතකොට B ඒක අරගෙන, හරි මට 1 ලැබුන දැන් 2 එවන්න කියනව. ඉතින් ඒක අහපු A 2,3 කියන පැකටි දෙකම B යවනව. දැන් B පැකටි දෙකම අරගෙන හරි මට දැන් 4 එවන්න කියනව. ඉතින් A 4,5,6,7 පැකටි ටික ඔක්කොම යවනව. ටික ගන්න B උත්තර දෙන්නෙ මට 8 එවන්න කියල. පේන්නෙ නැද්ද නිකන් කූඩාරමට ඔටුවෙක් රිංගනව වගේ. මුලින් එවුවෙ පැකටි එකයි. ඊට පස්සෙ 2යි. දැන් 4යි. ඔව් ඔව් මේ TCP එහෙම තමයි. ටික ටික පැකටි ගාන වැඩි කරනව. ඔන්න ඔය එක පාරකට යවන පැකටි ගානට තමයි Window size කියන්නෙ.

හරි. මම මුලින් කිවුව නේද මේත විශ්වාස දායක විදියක් කියල. ඇයි?? අපි හිතමු A යවනව පැකටි 11,12,13,14,15,16,17 ඔක්කොම B. හැබැයි B ලැබෙන්නෙ 12 වෙනකන් විතරයි. මොකක් හරි අවුලක් වෙලා අනිත් ඒව නැති වෙනව. දැන් B මොකද කියන්නෙ? එයා කියනව මට 13 එවන්න කියල. අනේ පවු A ආපහු 13,14,15,16,17,18,19 පැකටි ටික යවන්න වෙනව. ඒකින්නෙ 13 ඉදන් ඉදිරියට. ඔන්න ඔහොම තමයි එයාල දත්ත පැකටි මග හලා ගන්නෙ නැතුව යවන්නෙ. හැබැයි මේකට ටිකක් කාලය යනව. ඒක නිසා මේ TCP කියන Protocol එක යොදගෙන්නෙ වේගයට වඩා නිවරදිබව වැදගත් වන තැන්වලදි තමයි. උදාහරණයක් විදියට e-mail එකක් යවන එක. එතනදි භාවිතා කරන්නෙ TCP. මොකද, විශ්වාසදායක ලෙස දත්ත යැවීම වැදගත්. හැබැයි අපි හිතමු අපි කාත් එක්ක හරි Voice Chat කරනව කියල. එතකොට මේත හරියන්නෙ නෑ. මොකද ඒක Real time වෙන්න ඕන දෙයක්. එතකොට භාවිතා කරන්නෙ UDP - User Datagram Protocol කියල එකක්. ඒක මේ වගේ වෙලාව කන්නෙ නෑ. හැබැයි නැති වෙච්ච පැකටි හොයන්න යන්නෙත් නෑ. දැන් තේරෙනව නේද Chat කරන කොට සමහර ඒව ඇහෙන්නෙ නැතිව යන්නෙ කොහොමද කියල..

... තවත් දෙයක් අමතක වුනානෙ. මම කිවුවනෙ දැන් A තමන් යවන පැකටි ගාන ටික ටික වැඩි කරනව කියල. මුලින් 1යි ඊලගට 2යි 3යි 5යි 10යි 20යි........ ඉතින් ඔහොම වැඩි වෙනකොට එක වෙලාවක් එනව B ටිකක් තරහ යන.(අපිටත් ඔය වැඩ ටිකක් වැඩි වුනාම තරහ යන්නෙ.) එතකොට B, A කියනව ටිකක් හිමින් එවනවද? අනේ මගේ Buffer එකේ ඉඩ නෑ කියල. ඉතින් A කරන්නෙ අර එක වරකට යවන පැකට් ගාන ටිකක් අඩු කරනව. කියන්නෙ Window Size එක ටිකක් අඩු වුනා. දැන් වේගෙත් වැඩ්නම් A ඒක තවත් අඩු කරනව. ඔහොම ටික වෙලාවක් යනකොට B කියනව "A තව පැකට් ටිකක් වැඩිපුර එවුවට කමක් නෑ" කියල. ඉතින් A ආපහු පැකටි ගාන වැඩි කරනව. ඒකියන්නෙ Window Size එක වැඩි කරනව. ඔන්න ඔය සෙල්ලමට තමයි Windowing කියන්නෙ. (ඕක ලගදිත් මගෙන් කවුරරු හරි ඇහුව. මට මතක නෑ කවුද කියල)

හරි එහෙනම්, අදට ඈති නේද?? හෙට exam නෙ. .. මේකෙ PDF එකක් දාන්නනම් වෙලාවක් නෑ. තරහ නැතුව මේක කොපි කරගෙන pdf එකක් හදා ගන්නවද?හැම දාම වගේ ඔන්න අදත් ඔබේ අදහස් මට වටිනව. බුදු සරණයි.



Friday, November 26, 2010

Happy Birth Day


තවමත් මතකයි ඒ සොදුරු අතීතය..

සෙල්ලම් කරපු හැටි
රණ්ඩු වුන හැටි..
අම්මගෙන් බැනුම් අහපු හැටි...

මතකද ඉස්සර උපන් දිනේ දවසට
නැන්ද හදල දෙන කේක් එකට
දෙන්න එක්ක එකතු වෙලා වැඩ දානව....
අන්තිමට කේක් එකට වඩා අයිසින්

ඈයි මගේ අතේ එල්ලිලා උපන් දිනය දවසට පන්සල් ගිය හැටි..
ගෙදර ඈවිත් කේක් කපල මට කවපු හැටි..
තවත් එකක් කිය කිය කැමරාව අරන් මගේ පස්සෙන් ආපු හැටි...
අද වගේ මතකයි.

ඒත් අද
පොත් ගොඩයි, වැඩ ගොඩයි, කාලයයි අතරෙ මේ අයිය හිරවෙලා
නෑ ඉ​ඩක් දකින්නටවත් සුදු නංගියගෙ මූණ
උපන් දිනය දවසෙවත්

සමාවෙන්න අයියට........

(ප.ලි. අද කේෂාන්ගෙ සුදු නංගියගෙ උපන් දිනය)

Thursday, November 25, 2010

8086 Data Path – Control Word


ඔන්න ඉතින් පොරොන්දු උන විදියටම ගියපාර ලිපියෙ ඉතුරු ටික අද අරගෙන ආව. හපොයි පරන එක තාම බැලුවෙ නැද්ද??? එහෙනම් ඒක බලල හිටියනම් හොදයි නේද???? පොරොන්දුව ඉෂ්ඨකරන්න නම් ටික දවසක් ගියා නේද? වැඩ වැඩි නිසා ටික ටික කල් ගියා. හරි එහෙනම් පටන් ගමු.

Subject:CST303 Computer System Architecture

Chapter:Microprocessor Architecture - 8086

Title :8086 Data Path - Control Word

Related Title :8086 Data Path - How Its Work


මම එදා කිවුවනේද R1 <-- R2 + R3 කියන Operation එක 8086 වල වෙන විදියග මම එතකොට කිවුව මතකද 8086 ඈතුලෙ අපි කියන කියන විදියට MUX Select කර කර එහා මෙහා signal අරන් යන පිස්සෙක ගැන. එයා තමයි මේ Control Word එහෙමත් නැත්නම් Control Signal කියන්නෙ. ඒක ඈත්තටම signal එකක්. බොක්කෙන්ම කියනවනම් මේක 16-bit binary value, each bit indicate particular control signal.

හරි එහෙනම් මේ එකින් එක මොනවද කියල බලමු. DA කියන්නෙ Destination Register Address කියන එකනෙ. කියන්නෙ ගමනාන්තය. අපේ උදාහරණයේ නම් මේ ගමනාන්ත Register එක R1 නේද? දැන් පොඩ්ඩක් බලන්න ඒක ON කරන්නෙ කොහොමද කියලග Decoder එකට Input කරන්න ඕනෙ 01 නේද? එහෙනම් DA වල අගය 01, හැබැයි ඒකෙ දිග 3-bit වෙන්න ඕනෙ. නිසා DA වල අගය අපි ලියන්නෙ 001 කියල.

විදියටම AA කියන්නෙ A Address. කියන්නෙ පේ උදාහරණයේ නම් R2ගෙ Address එක නේද?? ඒක ON කරන්න Decoder එකට 10 signal එක දෙන්න ඕනෙ. එහෙනම් AA වල අගය 010, මතකයි නේද, මේ සිග්නල් එකත් 3-bit. එතකොට BA, B Address උදාහරණයට අනුව R3, කොහොමද R3 ඔන් කරන්නෙ. හරියටම හරි.... ඔය කියන්නෙ. බොරුවට බෑ වගේ ඉදලනෙ. හරි දැන් BA = 011.

ඊලග පියවර MB, මේක MUX B වල Select input එක. මගේ කලින් ලිපියෙ විදියට MUX B වල input එක 1යි නේද? එහෙනම් මෙතන MB වල අගය 1යි. ඒවගේම MD කියන්නෙ MUX D. ඒකට input කරන්නෙ 0 නේද? ඈයි කියල මතක නෑ වගේමනම් පරන ලිපිය බලන්නකො. එතකොට MD=0. අන්තිම එක R/W. කියන්නෙ Read or Write Operation කියන එකනෙ. අපේ උදාහරණය R1 <-- R2 + R3 write operation එකක් නේද? එහෙනම් එතන අගය 1යි. ඈයි .............. අනේ මටනම් ඒකට කරන්න දෙයක් නෑ. මොකද ඒක ගනිපු තීරණයක්නේ. ඕවට මේ අහිංසක කේෂාන් සම්බන්ද නෑ.... Read Operation වලට 0ත් Write Operation වලට 1ත් දාන්න කියල තමයි පැරැන්නන් කියල තියෙන්නෙ. පැරැන්නො කිවුවට මෙයාල අලුත් අය.

අනේ අනේ කේෂාන් (ඈයි අනේ අනේ කියන්නෙ නයනිවත් ඈවිත්ද??? හපොයි කෝ කෝ මට දුවන්න පාරක් පෙන්නන්න) හරි ලේසියෙන් අර FS කියන එක මග හැරිය නේද?? (මොකද Scroll කරල උඩ ටික බලන්න හදන්නෙ. එහෙම එකක් තිබුනද කියලවත් මතක නැද්ද??) නෑ නෑ කේෂාන් කවදාවත්ම එහෙම subject එකේ දේවල් මග හැරල යන්නෙ නෑ. මීට කලින් කියපු ටික එකිනෙකට සම්බන්ද නිසයි එකපාරට කියාගෙන ගියේ. හරි දැන් FS, කියන්නෙ Function Set කියන එකනෙ. කියන්නෙ ALU එකට අර G Select වලින් දෙන Input එකනේද??? හරි දැන් මෙතන තියෙන්නෙ එකතු කිරීමක් නේ. එහෙනම් කියන්න බලන්න G Select වලට දෙන්න ඕන අගය. හරි හරි ඉතින් තෑ ගහන්න එපා. 2 තමයි දෙන්න ඕන අගය. කියන්නෙ FS වල අගය 0010. ඈයි එයා 4-bitනෙ. ඔන්න එහෙනම් සම්පූර්ණ Control Signal එක බැලුවනම්.

දැන් මේක 8086 ඈතුලට ආවම එයා මේක කොටස් වලට කඩාගෙන මම අර පහුගිය ලිපියෙ කියපු විදියට වැඩ කිඩ ටික ඔක්කොම කරනව. බලන්න එයා හරිම දස්සයි නේද?????? එහෙනම් සුපුරුදු පරිදිම ගැටලු, හොද නරක, අඩුපාඩු පෙන්නනකන් මම බලාගෙන ඉන්නව.

මේ තියෙන්නෙ තේකක් බි බීම කියවන්න......

බුදු සරණයි.

ටිකක් ඡනප්‍රිය ඒව