মাইক্রোপ্রসেসরের ডিজাইন : আগামী দিনের চ্যালেঞ্জ

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

বিগত কয়েক দশকে মাইক্রোপ্রসেসর গতি অসামান্য অগ্রগতি Moore’s Law অনুসরণ করে চলেছে। মুরের সূত্রের মূলে রয়েছে ট্রানজিস্টর প্রযুক্তি স্কেলিং (scaling)। প্রতি নতুন ট্রানজিস্টর প্রযুক্তি জেনারেশনে (দুই বছর অন্তর), ট্রানজিস্টরের ডাইমেনশন ৩০ শতাংশ কমানো যায়। এ কারণে আয়তন কমে যায় ৫০ শতাংশ। তার সঙ্গে ট্রানজিস্টরের গতি বাড়ে ৪০ শতাংশ। আর বিদ্যুত ব্যবহারের পরিমাণ কমে ৫০ শতাংশ। নতুন প্রজন্মের এই বাড়তি ট্রানজিস্টর ব্যবহার করে মাইক্রোপ্রসেসর ডিজাইনে অনেক নতুন ও জটিল মাইক্রো-আর্কিটেকচার ফিচার যোগ করা সম্ভব হয়েছে। এটি প্রসেসরকে আরও দ্রুত কাজ করতে সাহায্য করেছে। আর ট্রানজিস্টরের বাড়তি গতির কারণে মাইক্রোপ্রসেসরের ক্লক স্পিডও (বা ফ্রিকোয়েন্সি) বাড়ানো সম্ভব হয়। তাই নতুন প্রজন্মের মাইক্রোপ্রসেসর আগের প্রজন্ম বা জেনারেশন থেকে আরও দ্রুত কাজ করে। সময়ের পরিক্রমায় মাইক্রোপ্রসেসরের মূল প্রসেসিং ইউনিটের (সিপিইউ বা কোর) আর্কিটেকচার অনেক পরিবর্তিত হয়ে আজকের পর্যায়ে এসেছে। যোগ হয়েছে পাইপলাইনিং, ব্রাঞ্চ প্রেডিকশন, সুপারস্কেলার এক্সিকিউশন, আউট-অব-অর্ডার এক্সেকিউশন, স্পেকুলেশন ইত্যাদি। প্রতিটি কোর ফিচার মাইক্রোপ্রসেসরের পারফরম্যান্সকে আরও বাড়িয়েছে। কোর মাইক্রো-আর্কিটেকচার ফিচারের পাশাপাশি মাইক্রোপ্রসেসরে যোগ হয়েছে ক্যাশ (cache) মেমোরি। ক্যাশের মাধ্যমে প্রোগ্রামের বহুল ব্যবহূত ডেটা প্রসেসরের কাছাকাছি রেখে দ্রুত পড়া যায়। এতে মাইক্রোপ্রসেসরের গতি আরও বেড়েছে। সিঙ্গেল-থ্রেডেড সিপিইউর পারফরম্যান্স বাড়ার হার কমে আসায় যোগ হয়েছে মাল্টিথ্রেডিং এবং মাল্টিকোর প্রযুক্তি, যা প্রসেসরের থ্রুপুট পারফরম্যান্স বাড়াতে সাহায্য করছে। কিন্তু একই সঙ্গে এসব বিভিন্ন ফিচারের কারণে মাইক্রোপ্রসেসরের চিপ এরিয়া ও ইলেকট্রিক্যাল পাওয়ারের ব্যবহারও অনেক বেড়েছে।

ট্রানজিস্টর স্কেলিং এত দিন পর্যন্ত পরিমিত এরিয়া ও পাওয়ার বাজেটে মাইক্রোপ্রসেসরের ক্রমাগত পারফরম্যান্স বৃদ্ধির ধারা বজায় রাখতে সাহায্য করেছে। আগামী কয়েক দশকে আমরা যদি মাইক্রোপ্রসেসরের পারফরম্যান্স একই হারে বাড়াতে চাই, তাহলে শুধু ট্রানজিস্টর স্কেলিংয়ের ওপর ভরসা করলে চলবে না। ট্রানজিস্টর আকারে ছোট হওয়ার সঙ্গে সঙ্গে কমছে তার থ্রেশহোল্ড (threshold) ভোল্টেজ, আর বাড়ছে লিকেজ (leakage) কারেন্ট। কম ভোল্টেজে ট্রানজিস্টর পাওয়ারের একটি বড় অংশ আসে লিকেজ কারেন্ট থেকে। লিকেজ কারেন্ট সীমিত করার জন্য ট্রানজিস্টরের থ্রেশহোল্ড ভোল্টেজ বেশি কমানো যাবে না। তাহলে ট্রানজিস্টরের স্পিড বাড়ার হারও কমে যাবে। ডাইমেনশন ছোট হওয়ার কারণে চিপে ট্রানজিস্টরের ঘনত্ব বাড়তেই থাকবে। কিন্তু আগের মতো পাওয়ার এবং স্পিডের সুবিধা আর পাওয়া যাবে না। আগামী দিনের মাইক্রোপ্রসেসর ডিজাইনের ক্ষেত্রে মূল চ্যালেঞ্জ হচ্ছে সীমিত আয়তন ও পাওয়ার বাজেটের দিকে লক্ষ রেখে এই অতিরিক্ত ট্রানজিস্টর পারফরম্যান্স বাড়ানোর জন্য কীভাবে সুবিধাজনকভাবে ব্যবহার করা যায়।

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

পাওয়ার সাশ্রয়ী ডিজাইনের আরেকটি নতুন ধারা হচ্ছে হার্ডওয়্যার কাস্টমাইজেশন। এর মাধ্যমে মাইক্রোপ্রসেসরে অ্যাপ্লিকেশন-নির্ভর হার্ডওয়্যার ইঞ্জিন (বা এক্সেলারেটর) যোগ করা হয়। এসব এক্সেলারেটরের মাধ্যমে অনেক কম্পিউটেশন, যেটা প্রথাগতভাবে সফটওয়্যারে করা হয়, সেটা হার্ডওয়্যারে অনেক দ্রুত সম্পাদন করা যায়। কিন্তু মূল প্রসেসর কোর থেকে আলাদাভাবে এবং প্রয়োজন অনুযায়ী কাজ করায় পাওয়ার সাশ্রয়ী হয়। হার্ডওয়্যার এক্সেলারেটরের কিছু উদাহরণ হচ্ছে ক্রিপ্টোগ্রাফিক এক্সেলারেটর, মিডিয়া কোডেক (codec) এক্সেলারেটর ইত্যাদি। হার্ডওয়্যার কাস্টমাইজেশনের আরও একটি উদাহরণ হচ্ছে সিপিইউ-জিপিই-র (গ্রাফিকস এসেসিং ইউনিট) সমন্বয়। ভেক্টর ডেটা প্রসেসিংয়ের জন্য জিপিইউ ব্যবহার করে সিপিইউর মেমোরির গঠন অনেক সহজ করা যায়। ফলে সিপিইউ বিদ্যুত্ সাশ্রয়ীভাবে ডিজাইন করা যায়। ট্রানজিস্টর স্কেলিংয়ের মাধ্যমে অতিরিক্ত ট্রানজিস্টরের সুলভ্যতার কারণে ভবিষ্যতে হার্ডওয়্যার কাস্টমাইজেশনের আরও ব্যাপক ব্যবহার দেখা যাবে।

পাওয়ার সাশ্রয়ী মাইক্রোপ্রসেসর ডিজাইনের ক্ষেত্রে একটি নতুন ধারণা হচ্ছে হেটেরোজিনিয়াস (heterogeneous) প্রসেসর, যেখানে কয়েকটি বড় কোর থাকবে সিঙ্গেল-থ্রেডেড পারফরম্যান্সের জন্য। আর থাকবে অনেকগুলো ছোট ছোট কোর থ্রুপুট পারফরম্যান্সের জন্য। সিঙ্গেল-থ্রেডেড পারফরম্যান্সের জন্য কোরকে অনেক বেশি ফ্রিকোয়েন্সিতে চালানো হয়, আর অনেক জটিল মাইক্রো-আর্কিটেকচার ফিচার ব্যবহার করা হয়, যা লজিক ট্রানজিস্টর-নির্ভর। তাই বড় কোরের পাওয়ারের চাহিদাও বেশি। অন্যদিকে থ্রুপুটের জন্য কোরকে এত জটিল না হলেও চলে। তাই বিদ্যুতের চাহিদা কম। ছোট কোরগুলোকে চাহিদা অনুযায়ী ভিন্ন ভিন্ন ভোল্টেজ ও ফ্রিকোয়েন্সি লেভেলে চালিয়ে বিদ্যুতের ব্যবহার আরও কমানো সম্ভব। সে সঙ্গে বিভিন্ন পাওয়ার ম্যানেজমেন্ট টেকনিক (যেমন clock gating, power throttling) ব্যবহার করে মাইক্রোপ্রসেসরকে আরও বিদ্যুত্ সাশ্রয়ী করা সম্ভব। তাই হেটেরোজিনিয়াস প্রসেসরে ছোট ও বড় কোরের যথাযথ সমন্বয় করে সীমিত পাওয়ার বাজেটে সর্বোচ্চ পারফরম্যান্স নিশ্চিত করা সম্ভব হবে।

গত কয়েক দশক ছিল মাইক্রোপ্রসেসর ডিজাইনের স্বর্ণযুগ। Moore’s Law অনুসরণ করে মাইক্রোপ্রসেসর পারফরম্যান্স অসাধারণভাবে বেড়েছে। কিন্তু প্রযুক্তির সীমার কারণে সেই পারফরম্যান্স আগামী দিনে বজায় রাখা কঠিন হয়ে পড়ছে। ভবিষ্যতের মাইক্রোপ্রসেসরকে বিদ্যুত্ সাশ্রয়ী করার গুরুত্ব অনেক বেড়ে গেছে। তাই প্রয়োজন হয়ে পড়েছে প্রসেসরের ডিজাইন সম্পর্কে নতুন ধরনের চিন্তার। মাল্টিকোর, মাল্টিথ্রেড প্রসেসরের বর্তমান ধারার সঙ্গে যোগ হবে নতুন নতুন হার্ডওয়্যার এক্সেলারেটরের ব্যবহার। মাল্টিকোর প্রসেসিংয়ের ক্ষেত্রে আরও যোগ হবে হেটেরোজিনিয়াস প্রসেসরের ব্যবহার। তবে এসব নতুন ডিজাইন ফিচারের কার্যক্ষমতা কাজে লাগিয়ে সর্বোচ্চ পারফরম্যান্স পেতে হলে সফটওয়্যার প্রোগ্রামিং মডেলেও যথেষ্ট পরিবর্তন আসতে হবে। আর সেই সঙ্গে ট্রানজিস্টর প্রযুক্তিতে নতুন উদ্ভাবন সিলিকন ট্রানজিস্টর স্কেলিংয়ের সীমাবদ্ধতা হয়তো একসময় সরিয়ে দেবে। আর সম্ভব হবে বর্তমান প্রযুক্তির চ্যালেঞ্জ কাটিয়ে মাইক্রোপ্রসেসর পারফরম্যান্সের উত্তরোত্তর বৃদ্ধি। নতুন প্রযুক্তির সঙ্গে আসবে নতুন ধরনের চ্যালেঞ্জ ও প্রয়োজন হবে বিকল্প ডিজাইন চিন্তাধারার। আজকের প্রযুক্তির চ্যালেঞ্জ মোকাবিলা করতে মাইক্রোপ্রসেসর ডিজাইন যেভাবে বিবর্তিত হচ্ছে, তা নতুন প্রযুক্তির মাইক্রোপ্রসেসর ডিজাইনের ক্ষেত্রে নতুন চিন্তার   খোরাক জোগাবে।

লেখক: ঊর্ধ্বতন মুখ্য হার্ডওয়্যার প্রকৌশলী, ওরাকল করপোরেশন।

সূত্র: Shekhar Borkar, Andrew A. Chien, ‘The Future of Microprocessor’,Communications of the ACM, Vol. 54 No. 5, Pages 67-77.