x86 বনাম x64
x86 এবং x64 এর মধ্যে সবচেয়ে গুরুত্বপূর্ণ পার্থক্য হল আগেরটি হল 32 বিট আর্কিটেকচার এবং পরেরটি হল 64 বিট ইন্সট্রাকশন সেট আর্কিটেকচার। একটি নির্দেশনা সেট আর্কিটেকচার (ISA) একটি অত্যন্ত গুরুত্বপূর্ণ শব্দ যা যেকোনো CPU-তে প্রযোজ্য। নির্দেশাবলী, মেমরি অ্যাড্রেসিং, রেজিস্টার এবং একটি CPU এর অন্যান্য অনেক আর্কিটেকচারাল বিভাগ ISA দ্বারা নির্দিষ্ট করা হয়। x86 হল একটি বিশ্ব বিখ্যাত ISA যা ইন্টেল 1978 সালে 8086 প্রসেসরের সাথে চালু করেছিল। তারপরে বিভিন্ন এক্সটেনশন ঘটে এবং, 2000 সালে, এএমডি এএমডি 64 নামে x86 নির্দেশ সেটটি 64 বিটে প্রসারিত করার জন্য স্পেসিফিকেশন তৈরি করে। পরবর্তীতে অন্যান্য কোম্পানি যেমন ইন্টেলও সেই স্পেসিফিকেশনটি প্রয়োগ করে এবং এই AMD64 হল x64 নামে চিহ্নিত করা হয়।
x86 কি?
x86 হল একটি নির্দেশনা সেট আর্কিটেকচার যা ইন্টেল বিখ্যাত 8086 প্রসেসরের সাথে চালু করেছে। 1978 সালে, ইন্টেল 8086 প্রসেসর প্রবর্তন করে যা একটি 16 বিট প্রসেসর ছিল। তারপর পরে তারা বিভিন্ন প্রসেসর যেমন 80186, 80286, 80386 এবং 80486 প্রবর্তন করে এবং সবগুলিই 8086 প্রসেসরে ব্যবহৃত মূল নির্দেশনা সেটের সাথে পিছিয়ে সামঞ্জস্যপূর্ণ ছিল। যেহেতু এই সমস্ত প্রসেসর সংখ্যা 86 দিয়ে শেষ হয়, তাই নির্দেশনা সেট আর্কিটেকচার x86 নামে চিহ্নিত করা হয়েছিল। 80386 প্রবর্তনের সাথে, x86 নির্দেশটি একটি 32 বিট সিস্টেমে প্রসারিত করা হয়েছিল। এখানে, 32 বিট মানে সমস্ত রেজিস্টার, মেমরি বাস এবং ডেটা বাস 32 বিট। তারপরে পেন্টিয়াম প্রসেসরগুলি পেন্টিয়াম I, পেন্টিয়াম II, পেন্টিয়াম III, পেন্টিয়াম IV হিসাবে এসেছিল এবং এগুলিও একটি 32 বিট আর্কিটেকচার অনুসরণ করেছিল। কিন্তু x86 আর্কিটেকচারে অন্যান্য বিভিন্ন এক্সটেনশন ঘটেছে, যেমন MMX, SSE এবং SSE2 এর মতো নির্দেশাবলী যোগ করা। এ ছাড়া আরও অনেক উন্নয়ন করা হয়েছে। তারপর, x86 নির্দেশ সেটটি একটি 64 বিট নির্দেশ সেটে প্রসারিত হয়েছিল এবং এই বিন্দু থেকে এটিকে x64 বলা হয়েছিল, যা আমরা পরবর্তী বিভাগে আলোচনা করতে যাচ্ছি।যাইহোক, সাধারণভাবে, x86 বলতে 32বিট আর্কিটেকচার বোঝায় যা 8086 প্রসেসরের সাথে আসা 16বিট আর্কিটেকচার থেকে উদ্ভূত হয়েছে।
8086 প্রসেসর
x64 কি?
A 32 বিট সিস্টেম শুধুমাত্র 232 স্বতন্ত্র মানগুলি উপস্থাপন করতে পারে এবং তাই, মেমরি অ্যাড্রেসিং সেই সংখ্যার ঠিকানাগুলির মধ্যে সীমাবদ্ধ। 232 বাইট 4 GB এর সমান এবং তাই, x86-এর সর্বাধিক ঠিকানাযোগ্য মেমরি সীমা ছিল 4 GB। এটিকে অতিক্রম করার জন্য, x86 আর্কিটেকচারে আরও এক্সটেনশন করা হয়েছিল। AMD, 2000 সালের দিকে, এমন স্পেসিফিকেশন চালু করেছিল যা x86 আর্কিটেকচারকে 64 বিটে প্রসারিত করেছিল।এটি AMD64 নামে চালু করা হয়েছিল। x64 হল এই AMD64 আর্কিটেকচারের আরেকটি নাম। এই AMD64 বা x64 আর্কিটেকচারটি x86_64 নামেও পরিচিত। 64 বিট আর্কিটেকচারের সাথে, সমস্ত রেজিস্টার 64 বিট হয়ে গেছে এবং মেমরি বাস এবং ডেটা বাসও 64 বিট হয়ে গেছে। এখন 264 স্বতন্ত্র মানগুলি সম্বোধন করা যেতে পারে এবং এটি সম্ভাব্য সর্বাধিক মেমরির একটি বিশাল ঊর্ধ্ব সীমা দেয়। AMD K8 প্রথম প্রসেসর যেটি এই 64 বিট আর্কিটেকচার বাস্তবায়ন করেছিল। তারপর ইন্টেলও এই স্থাপত্যটি গ্রহণ করে। ইন্টেল কোর প্রসেসরের সাথে যা ইন্টেল কোর 2 থেকে শুরু হয়েছিল, ইন্টেল তাদের প্রসেসরগুলিতে এই আর্কিটেকচার ব্যবহার করা শুরু করেছিল। বর্তমানে, সমস্ত ইন্টেল প্রসেসর যেমন Core i3, Core i5 এবং Core i7 এই x64 আর্কিটেকচার ব্যবহার করে। জোর দেওয়া কিছু গুরুত্বপূর্ণ বিষয় হল যে এই x64 আর্কিটেকচারটি এখনও পুরানো x86 নির্দেশনা সেটের সাথে পিছিয়ে সামঞ্জস্যপূর্ণ।
64 বিট প্রসেসর
x86 এবং x64 এর মধ্যে পার্থক্য কি?
• x86 প্রায় 1978 সালে প্রবর্তিত হয়েছিল যখন x64 আরও সম্প্রতি 2000 সালে এসেছে।
• x86 বিখ্যাত ইন্টেল 8086 প্রসেসর থেকে উদ্ভূত হয়েছিল এবং তাই, x86 ইন্টেল দ্বারা প্রবর্তিত হয়েছিল। কিন্তু x64, যা x86-এ এক্সটেনশন হিসেবে এসেছে, AMD দ্বারা প্রবর্তিত হয়েছিল।
• x86 আর্কিটেকচার 32bit। (প্রথম x86 প্রসেসর 16 বিট ছিল কিন্তু, পরবর্তী প্রসেসরগুলিতে, 32 বিটের এক্সটেনশন করা হয়েছিল)। x64 আর্কিটেকচার হল 64 বিট।
• x86 নির্দেশনা সেট আর্কিটেকচার সহ প্রসেসরগুলিতে 32 বিট রেজিস্টার, 32 বিট মেমরি বাস এবং 32 বিট ডেটা বাস রয়েছে। কিন্তু x64-এ 64 বিট রেজিস্টার, 64 বিট মেমরি বাস এবং 64 বিট ডেটা বাস রয়েছে।
• x86-এর সর্বাধিক ঠিকানাযোগ্য মেমরির একটি সীমাবদ্ধতা রয়েছে যা 4 জিবি (232 বাইট) এর উচ্চ সীমা। কিন্তু, x64 সিস্টেমে, এই সীমাটি বিশাল, যা হল 264 বাইট৷
• x64 হল x86 এর একটি সম্প্রসারণ; অতএব, এটি পুরানো x86 এর তুলনায় অনেক উন্নত এবং শক্তিশালী।
• যে মানগুলি একটি রেজিস্টারে সংরক্ষণ করা যেতে পারে, একটি x64 সিস্টেমে, একটি x86 ভিত্তিক রেজিস্টারে সংরক্ষিত মানগুলির চেয়ে বড়। অতএব, x64 বৃহত্তর পূর্ণসংখ্যার গণনা অনেক দ্রুত পরিচালনা করতে পারে, কারণ x86-এর মতো মান বিভক্ত করতে এবং সঞ্চয় করার জন্য এই ধরনের ক্ষেত্রে একাধিক রেজিস্টার ব্যবহার করার প্রয়োজন নেই।
• x64 সমান্তরালভাবে ডেটা বাসে বড় আকারের ডেটা প্রেরণ করতে পারে। অর্থাৎ, 64 বিটের একটি ডেটা বাস 64 বিট সমান্তরালভাবে ট্রান্সমিট করতে পারে যেখানে x86 আর্কিটেকচারের একটি 32 বিট বাস শুধুমাত্র 32 বিট সমান্তরাল ট্রান্সমিট করতে পারে।
সারাংশ:
x86 বনাম x64
x86 নির্দেশনা সেট আর্কিটেকচার 32 বিট এবং x64 নির্দেশ সেট আর্কিটেকচার 64 বিট। x64 বিদ্যমান x86 আর্কিটেকচারের এক্সটেনশন হিসেবে এসেছে। x86 আর্কিটেকচারে রেজিস্টার, মেমরি বাস, ডেটা বাস 32 বিট এবং এটি x64-এ 64 বিট। অতএব, অ্যাড্রেসযোগ্য মেমরির সর্বাধিক পরিমাণ x86 সিস্টেমের তুলনায় x64 সিস্টেমে অনেক বেশি।x86 ইন্টেল 8086 প্রসেসরের সাথে প্রবর্তন করেছিল যেটি একটি 16 বিট প্রসেসর ছিল এবং সময়ের সাথে সাথে এই x86 32 বিটে প্রসারিত হয়েছিল। তারপরে, এএমডি বিদ্যমান x86 আর্কিটেকচারকে প্রসারিত করে x64 আর্কিটেকচার প্রবর্তন করে এবং এই x64টি x86 নির্দেশনা সেটের সাথে সম্পূর্ণ পশ্চাদপদ সামঞ্জস্যপূর্ণ।