পাঠ ৫৬ · ৫৭-এর মধ্যে · মডিউল ১২
Home / Courses / Computer Architecture & Digital Logic / কেস স্টাডি: মুরস ল

কেস স্টাডি: মুরস ল ও আর্কিটেকচারের ভবিষ্যৎ

Case study: Moore's Law & the future of architecture
৯ মিনিট পড়া উন্নত · Advanced Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • মুরস ল ঠিক কী বলে, এবং কেন এটি একটি পর্যবেক্ষণ, সূত্র নয় — এই পার্থক্যের গুরুত্ব
  • কীভাবে এই পুরো কোর্সের অনেক অগ্রগতি (M7-এর পাইপলাইন, M8-এর ক্যাশ, M11-এর মাল্টিকোর) implicitly মুরস ল-এর ট্রানজিস্টর-প্রাচুর্যের ওপর নির্ভর করেছিল
  • কেন মুরস ল এখন বাস্তবিকভাবে ধীর হচ্ছে — ফিজিক্যাল ও পাওয়ার সীমাবদ্ধতা
  • Python দিয়ে একটি সত্যিকার ট্রানজিস্টর-কাউন্ট প্রজেকশন তৈরি করে ঐতিহাসিক বনাম ধীর গতির মধ্যে সংখ্যাগত পার্থক্য দেখা

১ · মুরস ল কী — একটি পর্যবেক্ষণ, সূত্র নয়

১৯৬৫ সালে Gordon Moore লক্ষ্য করেছিলেন যে একটি চিপে বসানো যায় এমন ট্রানজিস্টরের সংখ্যা প্রায় প্রতি দুই বছরে দ্বিগুণ হচ্ছে — উৎপাদন প্রযুক্তির ক্রমাগত উন্নতির কারণে। এই পর্যবেক্ষণটি — "মুরস ল" নামে পরিচিত হলেও — একটি গুরুত্বপূর্ণ, স্পষ্ট করে বলার মতো সত্য হলো এটি মহাকর্ষের সূত্রের মতো কোনো প্রকৃত পদার্থবিজ্ঞানের সূত্র নয়, বরং একটি ঐতিহাসিক, ইঞ্জিনিয়ারিং-চালিত প্রবণতা যা কয়েক দশক ধরে অসাধারণভাবে সত্য প্রমাণিত হয়েছিল।

২ · এই পুরো কোর্সের নীরব চালিকাশক্তি

এই দশকগুলো ধরে চলা ট্রানজিস্টর-প্রাচুর্যই এই কোর্সে শেখা অনেক অগ্রগতির নীরব ভিত্তি ছিল — বেশি ট্রানজিস্টর মানে M8-এর বড় ক্যাশ সম্ভব, M7-এর বেশি পাইপলাইন স্টেজ ও জটিল হ্যাজার্ড-হ্যান্ডলিং লজিক সম্ভব, M11-এর একটি চিপে একাধিক কোর বসানো সম্ভব। মুরস ল ছাড়া এই কোর্সের বেশিরভাগ ডিজাইন কৌশলই বাস্তবে প্রয়োগযোগ্য হতো না।

৩ · কেন মুরস ল এখন ধীর হচ্ছে

একটি সৎ, বর্তমান বাস্তবতা: ট্রানজিস্টর এখন প্রায়-পারমাণবিক আকারের ভৌত সীমার কাছাকাছি পৌঁছে গেছে, আর পাওয়ার/তাপ নিঃসরণ সীমাবদ্ধতা (M11/L51-এ ঠিক এই একই কারণে মাল্টিকোরের জন্ম হয়েছিল, মনে করুন) আরও মিনিয়েচারাইজেশনকে ক্রমশ কঠিন ও ব্যয়বহুল করে তুলছে। এটি নতুন কোনো তথ্য নয় — এই কোর্সেই আগে শেখা একই ভৌত সীমাবদ্ধতার একটি সরাসরি ধারাবাহিকতা।

৪ · আর্কিটেকচারের ভবিষ্যৎ — নতুন কিছু নয়, এই কোর্সেরই ধারাবাহিকতা

মুরস ল ধীর হয়ে যাওয়ার অর্থ পারফরম্যান্স বৃদ্ধি থেমে যাওয়া নয় — বরং দিক পরিবর্তন। এই কোর্সে ইতিমধ্যে শেখা তিনটি দিকই মূল পথ দেখায়:

ধারাবাহিক প্যারালালিজম
M11-এর মাল্টিকোর, SIMD, GPU দিকনির্দেশ — এক কোর দ্রুততর করার বদলে অনেক কোর/লেন একসাথে কাজ করানো।
স্পেশালাইজড হার্ডওয়্যার
একটিমাত্র কাজে অত্যন্ত দক্ষ চিপ (যেমন AI-অ্যাক্সেলারেটর) — জেনারেল-পারপাস কম্পিউটেশনের বদলে টাস্ক-নির্দিষ্ট ডিজাইন।
মেমরি হায়ারার্কি ইনোভেশন
M8-এর ক্যাশ কৌশল ক্রমশ আরও গুরুত্বপূর্ণ হয়ে উঠবে, কারণ CPU-মেমরি স্পিড-গ্যাপ থেকেই যাচ্ছে।

নিচের কোড সেলে একটি বাস্তব ট্রানজিস্টর-কাউন্ট প্রজেকশন ফাংশন লিখে ঐতিহাসিক ২-বছর ডাবলিং পিরিয়ড বনাম ধীর হয়ে যাওয়া ৩-বছর ডাবলিং পিরিয়ডের মধ্যে প্রকৃত সংখ্যাগত ব্যবধান কম্পিউট করে দেখা যাক।

$$count = start \times 2^{\frac{target\_year - start\_year}{doubling\_period}}$$

Python
def moores_law_projection(start_transistors, start_year, target_year, doubling_period_years=2):
    exponent = (target_year - start_year) / doubling_period_years
    return start_transistors * (2 ** exponent)


start_transistors = 1_000_000   # ধরা যাক ২০০০ সালে একটি চিপে ১০ লাখ ট্রানজিস্টর ছিল
start_year = 2000

print(f"শুরু: {start_year} সালে {start_transistors:,} ট্রানজিস্টর\n")
print(f"{'বছর':<6} | {'২-বছর ডাবলিং (ঐতিহাসিক)':<28} | {'৩-বছর ডাবলিং (ধীর গতি)':<28} | অনুপাত")
print("-" * 90)

for year in (2010, 2020, 2030):
    fast = moores_law_projection(start_transistors, start_year, year, doubling_period_years=2)
    slow = moores_law_projection(start_transistors, start_year, year, doubling_period_years=3)
    ratio = fast / slow
    print(f"{year:<6} | {fast:>26,.0f} | {slow:>26,.0f} | {ratio:.1f}x")

print()
print("লক্ষ্য করুন: ২০৩০ সালে ঐতিহাসিক গতির প্রজেকশন ধীর-গতির প্রজেকশনের চেয়ে ৩২ গুণেরও বেশি -- ")
print("এক্সপোনেনশিয়াল গ্রোথে ডাবলিং পিরিয়ডের সামান্য পরিবর্তনও দশক গড়ালে বিশাল ব্যবধান তৈরি করে।")

    
লক্ষ্য করুন এই দুই প্রজেকশনের ব্যবধান শুরুতে (২০১০ সালে) মাত্র ~৩.২ গুণ, কিন্তু ২০৩০ সালে বেড়ে ৩২ গুণ হয়ে যায় — এক্সপোনেনশিয়াল ফাংশনের একটি সাধারণ কিন্তু গুরুত্বপূর্ণ বৈশিষ্ট্য: প্রতি সাইকেলের ছোট পার্থক্যও সময়ের সাথে multiplicatively জমা হতে থাকে।
মূল কথা · Key takeaway

মুরস ল একটি ঐতিহাসিক প্রবণতা ছিল, প্রকৃতির নিয়ম নয় — আর প্রবণতা বদলাতে পারে, বদলাচ্ছেও। কিন্তু কম্পিউটার আর্কিটেকচারের গল্প এখানে শেষ হয় না — এই পুরো কোর্সে শেখা প্যারালালিজম, স্পেশালাইজেশন, ও মেমরি হায়ারার্কি কৌশলই এখন এবং ভবিষ্যতে পারফরম্যান্স বৃদ্ধির মূল চালিকাশক্তি হয়ে থাকবে।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ মুরস ল-এর নামে "ল" (law) শব্দ থাকা সত্ত্বেও কেন এটি প্রকৃত পদার্থবিজ্ঞানের সূত্র নয়?

মহাকর্ষের সূত্রের মতো প্রকৃত পদার্থবিজ্ঞানের সূত্র মহাবিশ্বের একটি স্থির, অপরিবর্তনীয় নিয়ম বর্ণনা করে — মানুষের সিদ্ধান্তের ওপর নির্ভর করে না। মুরস ল বরং একটি পর্যবেক্ষিত ইঞ্জিনিয়ারিং প্রবণতা — এটি সত্য থেকেছে কারণ চিপ উৎপাদন প্রযুক্তি ক্রমাগত উন্নত হয়েছে, মানুষের সিদ্ধান্ত ও বিনিয়োগের ফল হিসেবে। ভৌত সীমাবদ্ধতা ও অর্থনৈতিক বাস্তবতা বদলালে এই প্রবণতাও বদলাতে পারে — যেমনটা আজ ঘটছে।

প্র ০২ কোড সেলের ফলাফলে ২০৩০ সালে ২-বছর বনাম ৩-বছর ডাবলিং-এর মধ্যে পার্থক্য এত বড় (৩২ গুণ) কেন?

কারণ এটি এক্সপোনেনশিয়াল বৃদ্ধি, লিনিয়ার নয়। ৩০ বছরে ২-বছর ডাবলিং ঘটে ১৫ বার (২^১৫), ৩-বছর ডাবলিং ঘটে ১০ বার (২^১০) — মাত্র ৫টি কম ডাবলিং-ই ফলাফলে ২^৫ = ৩২ গুণ পার্থক্য তৈরি করে দেয়। এটাই এক্সপোনেনশিয়াল ফাংশনের একটি সাধারণ প্যাটার্ন — ছোট rate-পার্থক্যও দীর্ঘ সময়ে বিশাল, বিভ্রান্তিকরভাবে বড় ব্যবধান তৈরি করে।

প্র ০৩ মুরস ল ধীর হওয়া কেন সরাসরি M11-এর মাল্টিকোর/GPU দিকনির্দেশের সাথে যুক্ত?

M11/L51-এ শেখা হয়েছিল মাল্টিকোরের জন্মের মূল কারণ ঠিক এই একই পাওয়ার/তাপ সীমাবদ্ধতা — সিঙ্গেল-কোর ক্লক স্পিড বাড়ানো যখন কঠিন হয়ে পড়ল, তখন প্রকৌশলীরা একটি কোর দ্রুততর করার বদলে একাধিক মাঝারি-গতির কোর একসাথে বসিয়ে পারফরম্যান্স বাড়ানোর পথ বেছে নিলেন। মুরস ল ধীর হওয়াটাই মূলত সেই একই অন্তর্নিহিত কারণের (ট্রানজিস্টর মিনিয়েচারাইজেশনের সীমা) একটি বৃহত্তর, আরও সাম্প্রতিক প্রকাশ।

অনুশীলন

  1. চিন্তা করুন: ট্রানজিস্টর মিনিয়েচারাইজেশন সম্পূর্ণ থেমে গেলে কম্পিউটার পারফরম্যান্স বৃদ্ধি কি পুরোপুরি থেমে যাবে, নাকি অন্য পথ আছে? এই কোর্সে শেখা কোন কোন কৌশল সেই বিকল্প পথ দেখায়?

    না, সম্পূর্ণ থেমে যাবে না — এই পাঠের তিনটি দিক (প্যারালালিজম, স্পেশালাইজড হার্ডওয়্যার, মেমরি হায়ারার্কি ইনোভেশন) সবই মিনিয়েচারাইজেশন ছাড়াই কার্যকর। M11-এর মাল্টিকোর/GPU বেশি ট্রানজিস্টর না বাড়িয়েও কাজ সমান্তরালভাবে ভাগ করে পারফরম্যান্স বাড়ায়; M8-এর ক্যাশ কৌশল বিদ্যমান ট্রানজিস্টরকে আরও স্মার্টভাবে ব্যবহার করে; স্পেশালাইজড চিপ একটি নির্দিষ্ট কাজে সাধারণ-উদ্দেশ্য চিপের চেয়ে অনেক বেশি দক্ষ হতে পারে, নতুন ট্রানজিস্টর প্রযুক্তি ছাড়াই।

  2. পরীক্ষা করুন: কোড সেলে doubling_period_years=1 (হাইপোথেটিক্যালি আরও দ্রুত) বসালে ২০৩০ সালের প্রজেকশন কতটা নাটকীয়ভাবে বাড়বে, কোড না চালিয়েই আন্দাজ করুন।

    ৩০ বছরে ১-বছর ডাবলিং ঘটবে ৩০ বার — অর্থাৎ ফলাফল হবে start × 2^30, যা প্রায় ১,০৭৩,৭৪১,৮২৪ গুণ! এটি ২-বছর ডাবলিং-এর ফলাফল (২^১৫ = ৩২,৭৬৮ গুণ)-এর চেয়েও প্রায় ৩২,৭৬৮ গুণ বেশি — ফের এক্সপোনেনশিয়াল বৃদ্ধির সেই একই, চরম sensitivity-র প্রমাণ।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
কেস স্টাডি: x86 বনাম ARM বনাম RISC-V আর্কিটেকচার