32-বিট এবং 64-বিট সিস্টেমের মধ্যে পার্থক্য কী?
আপনি যদি উভয়টি ব্যবহার করে থাকেন তবে আপনি কী ধরণের তীব্র পার্থক্য অনুভব করেছেন?
কিছু ক্ষেত্রে 64-বিট সিস্টেমে 32-বিট প্রোগ্রামগুলি ব্যবহার করা কি সমস্যা হবে?
32-বিট এবং 64-বিট সিস্টেমের মধ্যে পার্থক্য কী?
আপনি যদি উভয়টি ব্যবহার করে থাকেন তবে আপনি কী ধরণের তীব্র পার্থক্য অনুভব করেছেন?
কিছু ক্ষেত্রে 64-বিট সিস্টেমে 32-বিট প্রোগ্রামগুলি ব্যবহার করা কি সমস্যা হবে?
উত্তর:
দ্রষ্টব্য: এই উত্তরগুলি স্ট্যান্ডার্ড x86- ভিত্তিক পিসি সিপিইউ (ইনটেল এবং এএমডি) এবং উইন্ডোজ (সাধারণত ব্যবহারকারীদের জন্য সাধারণত কনফিগার করা) প্রযোজ্য। অন্যান্য 32-বিট বা 64-বিট চিপস, অন্যান্য ওএস এবং অন্যান্য ওএস কনফিগারেশনে বিভিন্ন ট্রেডঅফ থাকতে পারে।
প্রযুক্তিগত দৃষ্টিকোণ থেকে, একটি 64-বিট ওএস আপনাকে দেয়:
পৃথক প্রক্রিয়াগুলিকে প্রতিটি 4 গিগাবাইটেরও বেশি র্যামকে সম্বোধন করার অনুমতি দেয় (বাস্তবে, বেশিরভাগ তবে সমস্ত 32-বিট ওএসই মোট ব্যবহারযোগ্য সিস্টেম র্যামকে কেবল প্রতি অ্যাপ্লিকেশন সর্বাধিক নয়, 4 জিবি এরও কম সীমাবদ্ধ করে)।
সমস্ত পয়েন্টার 4 বাইটের পরিবর্তে 8 বাইট নেয়। র্যাম ব্যবহারের উপর প্রভাবটি সর্বনিম্ন (কারণ আপনি পয়েন্টারগুলির গিগা বাইট দ্বারা ভরা অ্যাপ্লিকেশন পাওয়ার সম্ভাবনা নেই) তবে সবচেয়ে খারাপ তাত্ত্বিক ক্ষেত্রে এটি সিপিইউ ক্যাশে 1/2 পয়েন্টার ধরে রাখতে সক্ষম হতে পারে (তৈরি করা) এটি কার্যকরভাবে 1/2 আকার হতে হবে)। বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য, এটি কোনও বিশাল চুক্তি নয়।
General৪-বিট মোডে আরও অনেক সাধারণ-উদ্দেশ্যে সিপিইউ নিবন্ধ রয়েছে। আপনার সম্পূর্ণ সিস্টেমে নিবন্ধগুলি হ'ল দ্রুততম স্মৃতি। 32-বিট মোডে 8 জন এবং 64-বিট মোডে 16 টি সাধারণ উদ্দেশ্য নিবন্ধ রয়েছে। বৈজ্ঞানিক কম্পিউটিং অ্যাপ্লিকেশনগুলিতে আমি লিখেছি, আমি 64৪-বিট মোডে পুনরায় কম্পাইল করে 30% পারফরম্যান্স বাড়িয়েছি (আমার অ্যাপ্লিকেশনটি অতিরিক্ত রেজিস্টারগুলি সত্যই ব্যবহার করতে পারে)।
আপনার কাছে 4 জিবি ইনস্টল থাকা সত্ত্বেও বেশিরভাগ 32-বিট ওএসগুলি স্বতন্ত্র অ্যাপ্লিকেশনগুলিকে 2 গিগাবাইট র্যাম ব্যবহার করতে দেয়। এর কারণ অন্যান্য 2 জিবি ঠিকানার স্থান অ্যাপ্লিকেশনগুলির মধ্যে, ওএসের সাথে ডেটা ভাগ করার জন্য এবং ড্রাইভারদের সাথে যোগাযোগের জন্য সংরক্ষিত। উইন্ডোজ এবং লিনাক্স আপনাকে এই ট্রেডঅফটিকে অ্যাপ্লিকেশনগুলির জন্য 3 জিবি এবং 1 জিবি ভাগ করার জন্য সমন্বিত করতে দেবে, তবে এটি এমন কিছু অ্যাপ্লিকেশনগুলির জন্য সমস্যা সৃষ্টি করতে পারে যা পরিবর্তনের আশা করে না। আমি আরও অনুমান করছি যে এটি এমন কোনও গ্রাফিক্স কার্ডটিকে পঙ্গু করতে পারে যাতে 1 গিগাবাইট র্যাম রয়েছে (তবে আমি নিশ্চিত নই)। একটি 64-বিট ওএস খেলতে স্বতন্ত্র 32-বিট অ্যাপ্লিকেশনগুলিকে পুরো 4 গিগাবাইটের কাছাকাছি দিতে পারে।
ব্যবহারকারীর দৃষ্টিকোণ থেকে:
32-বিট ওএসে অ্যাপ্লিকেশনটির 32-বিট সংস্করণের তুলনায় একটি 64-বিট ওএস-তে 64-বিট অ্যাপ্লিকেশনটির জন্য অ্যাপ্লিকেশন গতি সাধারণত দ্রুত হয়, তবে বেশিরভাগ ব্যবহারকারী এই গতিবেগটি দেখতে পাবেন না। সাধারণ ব্যবহারকারীদের জন্য বেশিরভাগ অ্যাপ্লিকেশনগুলি অতিরিক্ত রেজিস্টারগুলির সত্যিকারের সুবিধা নেয় না বা ক্যাশে পূরণ করে বড় পয়েন্টারগুলির মাধ্যমে সুবিধাগুলি সুষম হয়।
আপনার কাছে যদি কোনও মেমরি হগ অ্যাপ্লিকেশন থাকে (যেমন ফটো এডিটর, ভিডিও প্রসেসিং, বৈজ্ঞানিক কম্পিউটিং ইত্যাদি), যদি আপনার কাছে 3 গিগাবাইটের বেশি র্যাম থাকে (এবং কিনতে পারেন), এবং আপনি অ্যাপ্লিকেশনটির একটি 64-বিট সংস্করণ পেতে পারেন, পছন্দটি সহজ: 64-বিট ওএস ব্যবহার করুন।
কিছু হার্ডওয়্যার 64-বিট ড্রাইভার নেই। সুইচটি তৈরি করার আগে আপনার মাদারবোর্ড, সমস্ত প্লাগ-ইন কার্ড এবং সমস্ত ইউএসবি ডিভাইস পরীক্ষা করে দেখুন। দ্রষ্টব্য যে উইন্ডোজ ভিস্তার প্রথম দিকের ড্রাইভারগুলিতে প্রচুর সমস্যা ছিল। এই দিন জিনিস সাধারণত ভাল।
আপনি যদি এমন সময়ে এতগুলি অ্যাপ্লিকেশন চালান যা আপনার র্যামের বাইরে চলেছে (সাধারণত আপনি এটি বলতে পারেন কারণ আপনার কম্পিউটারটি সত্যিই ধীর হয়ে যেতে শুরু করে এবং আপনি হার্ড ডিস্ক ড্রাইভ ক্রাঙ্কিং শুনতে পান) তবে আপনি একটি 64-বিট ওএস চাইবেন (এবং পর্যাপ্ত র্যাম)।
আপনি কোনও সমস্যা ছাড়াই -৪-বিট উইন্ডোতে 32-বিট অ্যাপ্লিকেশনগুলি (তবে ড্রাইভার নয়) চালাতে পারেন। 64৪-বিট উইন্ডোজে একটি 32-বিট অ্যাপ্লিকেশনটির জন্য আমি সবচেয়ে খারাপ মন্দা পরিমাপ করেছি প্রায় 5% (এর অর্থ যদি 32-বিট উইন্ডোজে কিছু করতে 60 সেকেন্ড সময় নেয় তবে এটি প্রায় 60 * 1.05 = 65 সেকেন্ড নিয়ে নিয়েছিল 64-বিট উইন্ডোজে একই 32-বিট অ্যাপ্লিকেশন)।
কি 32-বিট বনাম 64-বিট বোঝায় না :
X86 সিস্টেমে 32-বিট বনাম 64-বিট সরাসরি পয়েন্টারের আকারকে বোঝায়। এখানেই শেষ.
এটি সি int
ধরণের আকারের উল্লেখ করে না । এটি নির্দিষ্ট সংকলক প্রয়োগের মাধ্যমে সিদ্ধান্ত নিয়েছে এবং বেশিরভাগ জনপ্রিয় সংকলকরা int
64-বিট সিস্টেমে 32-বিট পছন্দ করে।
এটি সরাসরি নন-পয়েন্টার নিবন্ধকের আকারের সাথে সরাসরি উল্লেখ করে না । তবে, -৪-বিট পাটিগণিত রেজিস্টারগুলির ব্যবহারের জন্য অ্যাপ্লিকেশন এবং ওএসও 64৪-বিট পয়েন্টার মোডে চলতে হবে।
এটি সরাসরি শারীরিক ঠিকানা বাসের আকারের উল্লেখ করে না । উদাহরণস্বরূপ, bit৪ বিট প্রশস্ত ক্যাশে লাইন এবং সর্বাধিক 512GiB মেমরিযুক্ত সিস্টেমের জন্য কেবল তার ঠিকানা বাসে 33 বিট প্রয়োজন (যেমন log2(512*1024**3) - log2(64) = 33
)।
এটি দৈহিক ডেটা বাসের আকারের উল্লেখ করে না: এটি উত্পাদন ব্যয়ের (সিপিইউ সকেটে পিনের সংখ্যা) এবং ক্যাশে লাইন আকারের সাথে আরও সম্পর্কিত।
মূলত আপনি সবকিছু বৃহত্তর আকারে করতে পারেন:
2 বড় ধরণের 64-বিট আর্কিটেকচার হ'ল এক্স 64 এবং আইএ 64 আর্কিটেকচার। তবে x64 এখন পর্যন্ত সবচেয়ে জনপ্রিয়।
x64 x86 কমান্ডের পাশাপাশি x64 কমান্ড চালাতে পারে। আইএ 64৪ x x কমান্ডগুলিও চালায়, তবে এটি এসএসই এক্সটেনশনগুলি করে না। এক্স 86 নির্দেশাবলী চালানোর জন্য ইটানিয়ামে উত্সর্গীকৃত হার্ডওয়্যার রয়েছে; এটি একটি এমুলেটর, তবে হার্ডওয়ারে।
@ ফিল যেমন উল্লেখ করেছেন আপনি এখানে এটি কীভাবে কাজ করে তার একটি গভীর চেহারা পেতে পারেন ।
এই মুহুর্তে লোকেরা যে বৃহত্তম প্রভাবটি লক্ষ্য করবে তা হ'ল একটি 32 বিবিটি পিসি কেবলমাত্র সর্বোচ্চ 4 গিগাবাইট মেমরিকে সম্বোধন করতে পারে। যখন আপনি অপারেটিং সিস্টেম দ্বারা অন্য ব্যবহারের জন্য বরাদ্দ করা মেমরিটি বন্ধ করে ফেলেন আপনার পিসি সম্ভবত প্রায় 3.25GB ব্যবহারযোগ্য মেমরিটি প্রদর্শন করবে। 64 বিট এ চলে যান এবং এই সীমাটি অদৃশ্য হয়ে যায়।
যদি আপনি গুরুতর বিকাশ করছেন তবে এটি খুব গুরুত্বপূর্ণ হতে পারে। বেশ কয়েকটি ভার্চুয়াল মেশিন চালানোর চেষ্টা করুন এবং শীঘ্রই আপনার স্মৃতি শেষ হয়ে যাবে। সার্ভারগুলির অতিরিক্ত মেমরির প্রয়োজন হওয়ার সম্ভাবনা বেশি এবং তাই আপনি দেখতে পাবেন যে 64৪ বিটের ব্যবহার ডেস্কটপগুলির চেয়ে সার্ভারগুলিতে অনেক বেশি। মুরের আইনটি নিশ্চিত করে যে আমাদের মেশিনগুলিতে আরও বেশি স্মৃতি থাকবে এবং তাই কোনও কোনও সময় ডেস্কটপগুলি স্ট্যান্ডার্ড হিসাবে 64 বিবিটের দিকে চলে যাবে।
প্রসেসরের পার্থক্যগুলির আরও বিশদ বিবরণের জন্য আর্সটেকনিকা থেকে এই দুর্দান্ত নিবন্ধটি দেখুন ।
কোনও কিছুই নিখরচায় নয়: যদিও 64৪-বিট অ্যাপ্লিকেশনগুলি 32-বিট অ্যাপ্লিকেশনগুলির চেয়ে বেশি মেমরি অ্যাক্সেস করতে পারে, তবে খারাপ দিকটি তাদের আরও মেমরির প্রয়োজন need এই সমস্ত পয়েন্টারগুলির জন্য 4 বাইটের প্রয়োজন ছিল, এখন তাদের দরকার 8 উদাহরণস্বরূপ, যখন a৪-বিট আর্কিটেকচারের জন্য নির্মিত হয় তখন ইমাসে ডিফল্ট প্রয়োজন 60% বেশি মেমরির হয়। এই অতিরিক্ত পদচিহ্নটি মেমোরি হায়ারার্কির প্রতিটি স্তরে কর্মক্ষমতাকে আঘাত করে: বড় এক্সিকিউটেবলগুলি ডিস্ক থেকে লোড হতে আরও বেশি সময় নেয়, বড় কার্যকারী সেটগুলির ফলে আরও বেশি পেজিং হয় এবং বৃহত্তর অবজেক্টগুলি প্রসেসরের ক্যাশেগুলির চেয়ে কম ফিট থাকে fit যদি আপনি 16 কে এল 1 ক্যাশে সমেত সিপিইউ সম্পর্কে চিন্তা করেন, 32-বিট অ্যাপ্লিকেশন 4096 পয়েন্টার নিয়ে কাজ করতে পারে এটি মিস হয়ে যায় এবং এল 2 ক্যাশে যাওয়ার আগে কিন্তু একটি 64-বিট অ্যাপ্লিকেশনটি কেবল 2048 পয়েন্টার পরে এল 2 ক্যাশে পৌঁছাতে হবে।
এক্স 64 এ এটি অন্যান্য নিবন্ধের মতো অন্যান্য আর্কিটেকচারাল উন্নতি দ্বারা প্রশমিত করা হয়েছে, তবে পাওয়ারপিসিতে যদি আপনার অ্যাপ্লিকেশন> 4 জি ব্যবহার করতে না পারে তবে এটি "পিপিসি 64" এর চেয়ে "পিপিসি" তে দ্রুত চলার সম্ভাবনা রয়েছে। এমনকি ইন্টেলেও এমন ওয়ার্কলোড রয়েছে যা এক্স ৮86 on-তে দ্রুত চালিত হয়, এবং কয়েকজন x86 on x x এর চেয়ে%% বেশি দ্রুতগতিতে চালায়।
একটি 64-বিট ওএস আরও র্যাম ব্যবহার করতে পারে। এটি সম্পর্কে, বাস্তবে। -৪-বিট ভিস্তা / সুরক্ষিত সুরক্ষা বৈশিষ্ট্যগুলি ব্যবহার করে যেখানে তারা র্যামে গুরুত্বপূর্ণ উপাদান রাখে, তবে এটি সত্যিই 'লক্ষণীয়' নয়।
ক্রিসইনডমন্টন থেকে:
PAE সহ একটি ix86 সিস্টেমে একটি 32-বিট অপারেটিং সিস্টেম 64 গিগাবাইট র্যামের ঠিকানা দিতে পারে। X86-64-তে একটি 64-বিট অপারেটিং সিস্টেম 256 টিবি অবধি ভার্চুয়াল অ্যাড্রেস স্পেসে অ্যাক্সেস করতে পারে, যদিও এটি পরবর্তী প্রসেসরে 16 ইবি পর্যন্ত উত্থাপিত হতে পারে। মনে রাখবেন যে কিছু অপারেটিং সিস্টেমগুলি ঠিকানার জায়গার আরও সীমাবদ্ধ করে এবং বেশিরভাগ মাদারবোর্ডগুলিতে অতিরিক্ত বিধিনিষেধ থাকবে।
সম্পূর্ণ নিবন্ধ (সর্বদা গুগল ...) না লিখে আমি আপনার সমস্ত প্রশ্নের জবাব দিতে পারি তা নিশ্চিত নয়, তবে আপনাকে আপনার অ্যাপ্লিকেশনগুলিকে আলাদাভাবে ডিজিট করার দরকার নেই 64 বিটের জন্য। আমি অনুমান করছি যা উল্লেখ করা হচ্ছে তা হ'ল আপনাকে পয়েন্টার মাপের মতো জিনিসগুলি মনে রাখতে হবে যা আর্টস হিসাবে একই আকার নয়। এবং আপনার নির্দিষ্ট ধরণের ডেটা ফোর বাইট দীর্ঘ বলে ইনবিল্ট অনুমানগুলি সহ সম্ভাব্য সমস্যাগুলির পুরো বোঝা রয়েছে যা আর সত্য হবে না।
এটি আপনার অ্যাপ্লিকেশনের সমস্ত ধরণের জিনিসগুলি ট্রিপ আপ করতে পারে - ফাইল থেকে সংরক্ষণ / লোড করা থেকে শুরু করে, ডেটা দ্বারা পুনরাবৃত্তি, ডেটা প্রান্তিককরণ, সমস্ত উপাত্তে বিটওয়াইজ অপারেশন পর্যন্ত। আপনার যদি কোনও বিদ্যমান কোডবেস আপনি পোর্ট করার চেষ্টা করছেন বা উভয়টিতেই কাজ করেন তবে সম্ভবত আপনার খুব কম নিগল লাগবে work
আমি মনে করি এটি একটি ডিজাইনের পরিবর্তে বাস্তবায়নের সমস্যা। অর্থাৎ আমি মনে করি যে "ডিজাইন" বলার অপেক্ষা রাখে না, কোনও ফটো এডিটিং প্যাকেজ শব্দটি যাই হোক না কেন একই হবে। আমরা এমন কোড লিখি যা 32 বিট এবং 64 বিট উভয় সংস্করণেই সংকলিত হয় এবং নকশা অবশ্যই দুটির মধ্যে আলাদা হয় না - এটি একই কোডবেস।
Bit৪ বিটের মূল "বিগ ডিল" হ'ল আপনি 32 বিটের চেয়ে অনেক বড় মেমরি অ্যাড্রেস স্পেসে অ্যাক্সেস অর্জন করতে পারেন। এর অর্থ হল যে আপনি আপনার কম্পিউটারে 4 গিগাবাইটেরও বেশি মেমোরি রেখেছিলেন এবং এটির কোনও পার্থক্য রয়েছে।
আমি নিশ্চিত যে অন্যান্য উত্তরগুলি আমার চেয়ে বেশি বিশদ এবং উপকারে যাবে I'm
পার্থক্য সনাক্ত করার শর্তে প্রগ্রেমেটিকভাবে আপনি কেবলমাত্র একটি পয়েন্টারের আকার (যেমন সাইজফ (অকার্যকর *)) পরীক্ষা করে দেখুন। 4 এর উত্তরের অর্থ এর 32 টি বিট এবং 8 এর অর্থ আপনি একটি 64 বিট পরিবেশে চলছে।
একটি 32 বিট প্রক্রিয়াতে 4 গিগাবাইটের ভার্চুয়াল ঠিকানার স্থান রয়েছে; এটি কিছু অ্যাপ্লিকেশনগুলির জন্য খুব কম হতে পারে। একটি 64 বিট অ্যাপ্লিকেশনটিতে কার্যত সীমাহীন অ্যাড্রেস স্পেস রয়েছে (অবশ্যই এটি সীমাবদ্ধ তবে আপনি সম্ভবত এই সীমাটিকে আঘাত করবেন না)।
ওএসএক্সে অন্যান্য সুবিধা রয়েছে। দেখুন পরের প্রবন্ধে , কেন 64 বিট অ্যাড্রেস স্পেস মধ্যে কার্নেল রান থাকার (নির্বিশেষে যদি আপনার অ্যাপ 64 32 রান বা) অথবা 64 বিট অ্যাড্রেস স্পেস মধ্যে আপনার অ্যাপ্লিকেশান রান থাকার (একই কার্নেল এখনও 32 বিট হয়) অনেক ভালো পারফরম্যান্স বাড়ে। সংক্ষিপ্তসার হিসাবে: উভয়গুলির মধ্যে একটি যদি 64 বিট হয় (কার্নেল বা অ্যাপ্লিকেশন, বা উভয়ই), আপনি যখন কার্নেল থেকে স্থান এবং পিছনে স্যুইচ করেন তখন টিএলবি ("অনুবাদ লুকাসাইড বাফার") ফ্লাশ করতে হবে না (যা গতিবেগ করবে) আপ র্যাম অ্যাক্সেস)।
এছাড়াও "দীর্ঘ দীর্ঘ ইন" ভেরিয়েবলগুলি (uint64_t এর মতো B৪ বিট ভেরিয়েবল) সাথে কাজ করার সময় আপনার পারফরম্যান্স লাভ রয়েছে। একটি 32 বিট সিপিইউ / বিভাজন / বিয়োগ / দুটি 64 বিট মান গুণতে পারে, তবে একক হার্ডওয়্যার ক্রিয়াকলাপে নয়। পরিবর্তে এটি এই অপারেশনটিকে দুটি (বা আরও) 32 বিট অপারেশনগুলিতে বিভক্ত করতে হবে। সুতরাং এমন একটি অ্যাপ্লিকেশন যা B৪ বিট সংখ্যার সাথে অনেক বেশি কাজ করে তা সরাসরি হার্ডওয়্যারগুলিতে B৪ বিট গণিত করতে সক্ষম হওয়ার গতি অর্জন করে।
সর্বশেষে তবে কমপক্ষে x86-64 আর্কিটেকচারটি ক্লাসিক x86 আর্কিটেকচারের চেয়ে বেশি রেজিস্টার সরবরাহ করে। র্যামের সাথে কাজ করার চেয়ে রেজিস্টারগুলির সাথে কাজ করা অনেক দ্রুত এবং সিপিইউতে যত বেশি রেজিস্টার থাকে তত কম র্যামে রেজিস্টারের মান এবং রেজিস্টারে ফিরে যাওয়ার প্রয়োজন হয়।
আপনার সিপিইউ B৪ বিট মোডে চলতে পারে কিনা তা জানতে আপনি বিভিন্ন সিস্টেল ভেরিয়েবলগুলি দেখতে পারেন। যেমন একটি টার্মিনাল খুলুন এবং টাইপ করুন
sysctl machdep.cpu.extfeatures
যদি এটি EM64T তালিকাভুক্ত করে তবে আপনার সিপিইউ x86-64 স্ট্যান্ডার্ড অনুযায়ী 64 বিট অ্যাড্রেস স্পেস সমর্থন করে। আপনিও দেখতে পারেন
sysctl hw.optional.x86_64
যদি এটি 1 বলে (সত্য / সক্ষম), আপনার সিপিইউ x86-64 বিট মোড সমর্থন করে, যদি এটি 0 (মিথ্যা / অক্ষম) বলে, এটি তা করে না। যদি সেটিংটি একেবারেই পাওয়া না যায়, তবে এটি মিথ্যা বলে বিবেচনা করুন।
দ্রষ্টব্য: আপনি একটি স্থানীয় সি অ্যাপ্লিকেশন থেকে সিসেক্টল ভেরিয়েবলগুলিও আনতে পারেন, কমান্ড লাইন সরঞ্জামটি ব্যবহার করার দরকার নেই। দেখ
man 3 sysctl
দ্রষ্টব্য যে ঠিকানা স্পেসটি (বাস্তব) মেমরির বেশি ব্যবহার করা যেতে পারে। বড় আকারের ফাইলগুলি মেমরির মানচিত্রও তৈরি করতে পারে, যা আরও বেশি অদ্ভুত অ্যাক্সেসের ধরণায় পারফরম্যান্সকে উন্নত করতে পারে কারণ আরও শক্তিশালী এবং দক্ষ ব্লক-স্তরের ভিএম লেভেল ক্যাচিং কিক করে। অ্যাড্রেস-স্পেস বিভাজনের মুখোমুখি হওয়ার সম্ভাবনা যা এটি কোনও বড় ব্লক বরাদ্দ করতে দেয় না।
এই থ্রেডে বলা কিছু জিনিস (# নিবন্ধকের দ্বিগুণকরণের মতো) কেবলমাত্র x86-> x86_64 এ প্রযোজ্য, সাধারণভাবে 64-বিটের ক্ষেত্রে নয়। ঠিক ঠিক যেমন x86_64 এর অধীনে একটিতে এসএসই 2, 686 অপকড এবং পিআইসি করার একটি সস্তা উপায় রয়েছে। এই বৈশিষ্ট্যগুলি কঠোরভাবে -৪-বিট সম্পর্কে নয়, তবে লিগ্যাসি কাটা এবং x x সীমাবদ্ধতার প্রতিকার সম্পর্কে
তবুও প্রায়শই লোকেরা গতিরোধের কারণ হিসাবে নিবন্ধগুলি দ্বিগুণ করার দিকে ইঙ্গিত করে, যখন এটি সম্ভবত ডিফল্ট এসএসই 2 ব্যবহার করে যা কৌশলটি করে (ম্যাকপি এবং অনুরূপ ফাংশন ত্বরান্বিত করে) does আপনি যদি x86 এর জন্য একই সেটটি সক্ষম করেন তবে পার্থক্যটি আরও ছোট। (*) (***)
এছাড়াও মনে রাখবেন যে প্রায়শই একটি প্রাথমিক জরিমানা জড়িত থাকে কারণ পয়েন্টারের আকার বড় হওয়ার কারণে গড় ডেটা কাঠামো বাড়বে। এটির ক্যাশে প্রভাব রয়েছে, তবে গড় মেমকি () বা মেমরির অনুলির সমতুল্য যেটি আপনার ভাষায় রয়েছে) এটি আরও বেশি সময় নিতে পারে এই বিষয়টি আরও উল্লেখযোগ্যভাবে লক্ষণীয়। এটি কেবল কয়েক শতাংশ বিটিডব্লিউর মাত্রায় রয়েছে, তবে উপরে বর্ণিত স্পিডআপগুলিও সেই মাত্রায় রয়েছে।
সাধারণত প্রান্তিককরণ ওভারহেড ৪-বিট আর্কিটেকচারেও বড় হয় (রেকর্ডগুলি পূর্বে 32-বিট কেবলমাত্র 32-বিট এবং 64৪-বিট মানগুলির মিশ্রণ হয়ে থাকে), আরও বেশি কাঠামো ফুটিয়ে তোলে।
সামগ্রিকভাবে, আমার সাধারণ পরীক্ষাগুলি সূচিত করে যে তারা যদি মোটামুটি একে অপরকে বাতিল করে দেয়, যদি ড্রাইভার এবং রানটাইম লাইব্রেরিগুলি পুরোপুরি মানিয়ে নিয়ে যায়, গড় অ্যাপ্লিকেশনটির জন্য কোনও তাত্পর্যপূর্ণ গতির পার্থক্য দেয় না। তবে কিছু অ্যাপস হঠাৎ করে দ্রুততর হয়ে উঠতে পারে (যেমন এইএসের উপর নির্ভর করে) বা ধীর (গুরুত্বপূর্ণ ডেটাস্ট্রাকচার ক্রমাগত সরানো হয় / স্ক্যান করা / হাঁটে এবং এতে প্রচুর পয়েন্টার রয়েছে)। পরীক্ষাগুলি যদিও উইন্ডোজে ছিল, এবং তাই পিআইসি অনুকূলকরণের মানদণ্ড ছিল না।
নোট করুন যে বেশিরভাগ জেআইটি-ভিএম ভাষা (জাভা,। নেট) উদাহরণস্বরূপ সি ++ এর চেয়ে গড় (অভ্যন্তরীণ) একটি উল্লেখযোগ্যভাবে বেশি পয়েন্টার ব্যবহার করে। সম্ভবত তাদের মেমরির ব্যবহার গড় প্রোগ্রামের চেয়ে বেশি বৃদ্ধি পায় তবে আমি এটিকে সরাসরি ধীর প্রভাবগুলির সাথে সমীকরণ করার সাহস করি না (যেহেতু এগুলি আসলে জটিল এবং মজাদার প্রাণী এবং প্রায়শই পরিমাপ না করে ভবিষ্যদ্বাণী করা শক্ত)
উইন্ডোজ ating৪-বিট ডিফল্ট হিসাবে এসএসই 2 ব্যবহার করে ভাসমান পয়েন্টের জন্য মনে হয় যা সহজ অপারেশনগুলিকে গতিময় করে তোলে এবং জটিল (পাপ, কোস ইত্যাদি) অপারেশনগুলি ধীর করে দেয়।
(*) একটি সামান্য পরিচিত তথ্য হ'ল এসএসই নিবন্ধকের সংখ্যাও 64৪-বিট মোডে দ্বিগুণ হয়
(**) ডবস ডাবস এর সম্পর্কে কয়েক বছর আগে একটি চমৎকার নিবন্ধ ছিল।
বেশিরভাগ লোকেরা এখানে যে স্পষ্ট স্মৃতিচারণ বিষয়গুলি উল্লেখ করেছে তা ছাড়াও, আমি মনে করি নোথ (অন্যদের মধ্যে) ইদানীং যে কথা বলেছিলেন তা "ব্রডওয়ার্ড কম্পিউটিং" এর ধারণার দিকে নজর রাখা ভাল। বিট হেরফেরের মাধ্যমে অনেকগুলি দক্ষতা অর্জন করতে হবে এবং 64৪-বিট শব্দের উপর বিটওয়াইজ অপারেশনগুলি 32-বিট শব্দের চেয়ে অনেক বেশি এগিয়ে যায়। সংক্ষেপে, আপনি স্মৃতিতে আঘাত না করেই নিবন্ধগুলিতে আরও অপারেশন করতে পারেন, এবং পারফরম্যান্সের দৃষ্টিকোণ থেকে, এটি একটি দুর্দান্ত বিশাল জয়।
আমি যে শীতল কৌশল সম্পর্কে বলছি তার কয়েকটি উদাহরণের জন্য ভলিউম 4, প্রাক-ফ্যাসিক্যাল 1 এ একবার দেখুন।
আরও মেমরি সম্বোধন করার ক্ষমতা বাদে x86_64 এর মধ্যে আরও নিবন্ধ রয়েছে যা সংকলকটিকে আরও কার্যকর কোড তৈরি করতে দেয়। পারফরম্যান্স উন্নতি সাধারণত যদিও মোটামুটি ছোট হবে small
X86_64 আর্কিটেকচারটি x86 এর সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ। অসম্পূর্ণ 32-বিট অপারেটিং সিস্টেম চালানো সম্ভব। 64৪-বিট ওএস থেকে অশোধিত 32-বিট সফ্টওয়্যার চালানোও সম্ভব। যদিও এর জন্য সমস্ত সাধারণ 32-বিট লাইব্রেরি লাগবে। এগুলি আলাদাভাবে ইনস্টল করার প্রয়োজন হতে পারে।
এই থ্রেডটি ইতিমধ্যে অনেক দীর্ঘ, তবে ...
উত্তরগুলির বেশিরভাগটি আপনার পক্ষে আরও বড়, -৪-বিটের ঠিকানার জায়গা রয়েছে সেদিকে মনোনিবেশ করে যাতে আপনি আরও মেমরিটি সম্বোধন করতে পারেন। সমস্ত অ্যাপ্লিকেশনগুলির প্রায় 99% এর জন্য, এটি সম্পূর্ণ অপ্রাসঙ্গিক। বড় চাবুক।
বাস্তব কারণে 64 বিট ভাল হয় না যে রেজিস্টার বড়, কিন্তু তাদের অনেকেই দ্বিগুন হয়! এর অর্থ এই যে সংকলকটি আপনার মানগুলি মেমরিতে ছড়িয়ে দেওয়ার পরিবর্তে কিছু নির্দেশাবলীর পরে আবার লোড না করে রেজিস্টারে রাখতে পারে। যদি এবং যখন কোনও অনুকূলিতকরণ সংকলক আপনার জন্য আপনার লুপগুলি তালিকাভুক্ত করে, তখন এটি প্রায় দ্বিগুণ হয়ে যায়, যা কার্য সম্পাদনকে সত্যই সহায়তা করতে পারে।
এছাড়াও, -৪-বিটের জন্য সাব্রুটিন কলার / কলি কনভেনশনগুলি সংজ্ঞায়িত করা হয়েছে যে কলার তাদের স্ট্যাকের দিকে ঠেলে এবং কলি তাদের পপিংয়ের পরিবর্তে বেশিরভাগ উত্তীর্ণ প্যারামিটারগুলি রেজিস্টারে রাখবে।
সুতরাং একটি "সাধারণ" সি / সি ++ অ্যাপ্লিকেশন কেবলমাত্র 64৪-বিটের জন্য পুনরায় সংশোধন করে প্রায় 10% বা 15% পারফরম্যান্স উন্নতি অর্জন করবে। (ধরে নিই অ্যাপের কিছু অংশ গণনা আবদ্ধ ছিল। অবশ্যই এটির নিশ্চয়তা নেই; সমস্ত কম্পিউটার একই গতির জন্য অপেক্ষা করে Your আপনার মাইলেজ মেশিনের পরিবর্তন হতে পারে))
এখানে ইতিমধ্যে উল্লিখিত সুবিধাগুলি বাদে সুরক্ষা সম্পর্কিত আরও কিছু বিষয় রয়েছে:
আরেকটি সুবিধা যা মনে আসে তা হ'ল vmalloc()
লিনাক্স কার্নেলের সাথে বরাদ্দ করা ভার্চুয়াল সংযুক্ত মেমরির পরিমাণ bit৪ বিট মোডে বড় হতে পারে।
একটি 32-বিট মেশিনের সাথে আপনার কাছে সম্বোধনের জন্য 4,294,967,295 মেমরি রয়েছে। একটি 64-বিট মেশিনের সাথে আপনার কাছে 1.84467441 × 10 ^ 19 বাইটের মেমরি রয়েছে।
-৪-বিট প্রসেসরগুলি নির্দিষ্ট কার্যগুলি গণনা করে (যেমন বড় অঙ্কের ফ্যাক্টরিওলগুলি) 32-বিট পরিবেশে দ্বিগুণ দ্রুত কাজ করার জন্য (উদাহরণস্বরূপ 32-বিট এবং 64-বিট উইন্ডোজ ক্যালকুলেটরের মধ্যে তুলনা থেকে প্রাপ্ত; 100,000 বলার ফ্যাক্টরিয়াল জন্য লক্ষণীয় )। এটি -৪-বিট অপ্টিমাইজড অ্যাপ্লিকেশনগুলির তাত্ত্বিক সম্ভাবনার একটি সাধারণ অনুভূতি দেয়।
ডিজিটাল ভিডিও, বৈজ্ঞানিক কম্পিউটিং এবং বৃহত ডাটাবেসগুলির মতো অ্যাপ্লিকেশনগুলিতে 64৪-বিট আর্কিটেকচার নির্বিশেষে বড় ডেটা সেটগুলির সাথে কাজ করা সহজতর হয়েছে, তবে তারা বা তাদের 32-বিটের সামঞ্জস্যতা মোডগুলি তুলনামূলক মূল্যের চেয়ে দ্রুততর হবে কিনা তা নিয়ে যথেষ্ট বিতর্ক রয়েছে has অন্যান্য কাজের জন্য 32-বিট সিস্টেম। X86-64 আর্কিটেকচারে (এএমডি 64), বেশিরভাগ 32-বিট অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলি 64-বিট হার্ডওয়ারে সুচারুভাবে চালাতে সক্ষম হয়।
সূর্যের -৪-বিট জাভা ভার্চুয়াল মেশিনগুলি তাদের ৩২-বিট ভার্চুয়াল মেশিনের তুলনায় ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে Sun৪-বিট প্ল্যাটফর্মের জন্য সান কেবল "সার্ভার" জেআইটি সংকলক (সি 2) প্রয়োগ করেছে [ "ক্লায়েন্ট" জেআইটি সংকলক (সি 1), যা কম দক্ষ কোড তৈরি করে তবে আরও দ্রুত সংকলন করে, 64-বিট প্ল্যাটফর্মগুলিতে অনুপলব্ধ।
এটি লক্ষ্য করা উচিত যে 32-বিট এবং 64-বিট প্রসেসরের তুলনা করে গতি কেবলমাত্র ফ্যাক্টর নয়। মাল্টি-টাস্কিং, স্ট্রেস টেস্টিং এবং ক্লাস্টারিং (উচ্চ-পারফরম্যান্স কম্পিউটিংয়ের জন্য), এইচপিসির মতো অ্যাপ্লিকেশনগুলি সঠিক স্থাপনার কারণে 64-বিট আর্কিটেকচারের জন্য আরও উপযুক্ত হতে পারে। এই কারণে আইবিএম, এইচপি এবং মাইক্রোসফ্টের মতো বড় সংস্থাগুলিতে 64৪ বিট ক্লাস্টারগুলি ব্যাপকভাবে মোতায়েন করা হয়েছে।
মাইক্রোসফট ডটকমের উদ্ধৃতি:
নিম্নলিখিত টেবিলটিতে কম্পিউটারের বর্ধিত সর্বাধিক সংস্থান যা উইন্ডোজের 64-বিট সংস্করণ এবং 64-বিট ইন্টেল প্রসেসরের উপর ভিত্তি করে বিদ্যমান 32-বিট রিসোর্স সর্বাধিকের সাথে তুলনা করা হয়।
ক্রিস্টোফ এবং পশি 32 এবং 64 বিট ওএসের মধ্যে প্রধান প্রযুক্তিগত পার্থক্য বলেছিলেন: সাধারণত ব্যবহারকারী অভিজ্ঞতা তত্ত্বের চেয়ে অনেক বেশি আলাদা। আজ অবধি উইন্ডোজের X৪ বিট গ্রাহক সংস্করণ (এক্সপি এবং ভিস্তা) এর ড্রাইভার সমর্থনে বড় ব্যবধানযুক্ত গর্ত রয়েছে। আমার কাছে অনেকগুলি প্রিন্টার, স্ক্যানার এবং অন্যান্য বাহ্যিক ডিভাইসগুলি flat৪ বিট সংস্করণগুলির সাথে দুর্দান্তভাবে কাজ করে এমন versions৪ বিট সংস্করণগুলির সাথে কাজ করে না। এগুলি এমন ডিভাইস যাগুলিতে bit৪ বিট ড্রাইভার ছিল এবং তারা এখনও কাজ করে না। এই মুহূর্তে আমি আপনাকে মাইক্রোসফ্ট থেকে consumer৪ বিটযুক্ত যে কোনও ভোক্তা ভিত্তিক থেকে দূরে থাকার পরামর্শ দিচ্ছি যতক্ষণ না আপনি উইন্ডোজ this কীভাবে এটি পরিচালনা করে তা বাস্তবিক ব্যবহারকারীদের কাছ থেকে শুনতে পাওয়া যায়, বর্তমানে এটির অ্যাক্সেস রয়েছে এমন কেবল উবার-গিকসই নয়। এটি অন্তত 6 মাস দিন এবং দেখুন লোকেরা কী অভিজ্ঞতা নিচ্ছে।
কিছু গেম-প্লে প্রোগ্রাম একটি বিট বোর্ড উপস্থাপনা ব্যবহার করে । উদাহরণস্বরূপ দাবা, চেকার এবং ওথেলোর একটি 8x8 বোর্ড রয়েছে, অর্থাৎ squ৪ স্কোয়ার, সুতরাং একটি মেশিন শব্দে কমপক্ষে 64৪ বিট থাকলে পারফরম্যান্সে উল্লেখযোগ্যভাবে সহায়তা করে।
আমার মনে আছে এমন একটি দাবা প্রোগ্রামটি পড়ুন যার 64৪-বিট বিল্ডটি 32-বিটের সংস্করণের চেয়ে প্রায় দ্বিগুণ দ্রুত।
32-বিট এবং 64-বিট শব্দটি কম্পিউটার প্রসেসরের (সিপিইউ নামে পরিচিত) যেভাবে তথ্য পরিচালনা করে তা বোঝায়। উইন্ডোজ 64৪-বিট সংস্করণগুলি 32-বিট সিস্টেমের চেয়ে বেশি কার্যকরভাবে র্যান্ডম অ্যাক্সেস মেমরি (র্যাম) পরিচালনা করে।
গতি আমার মতে ভিন্ন হতে পারে
মাইক্রোসফ্ট উইন্ডোজ সম্পর্কিত এটির আরেকটি বিষয় হ'ল বহু বছর ধরে উইন 32 এপিআই হয়েছে যা 32-বিট অপারেটিং সিস্টেমগুলির জন্য উদ্দিষ্ট এবং 64 বিট সংকলনের জন্য অনুকূল নয়। আমি যখন আমার অ্যাপ্লিকেশনগুলির জন্য কিছু ডিএলএল লিখি, আমি সাধারণত উইন 32 এ সংকলন করি যা 64 বিটের সংস্করণ নয়। ভিস্তার আগে, উইন্ডোজের অনেকগুলি সফল 64 বিট সংস্করণ হয়নি যা আমি বিশ্বাস করি যেখানে আমার নতুন মেশিনটিতে 4 গিগাবাইট র্যাম রয়েছে কাজ করি তবে আমি এখনও 32-বিট উইন্ডোজ এক্সপি প্রো ব্যবহার করছি কারণ এটি পরিচিত স্থিতিশীল হে / এক্সপি 64 বা ভিস্তার সাথে সম্পর্কিত S
আমার মনে হয় আপনি যখন 16-বিট থেকে 32-বিট-এ স্থানান্তরিত হলেন তখন কেন কিছু লোকের পক্ষে এই স্থান পরিবর্তন হতে পারে on মিশন-সমালোচনামূলক অ্যাপ্লিকেশনগুলি যে কোনও সংস্থা কোনও ডেস্কটপে চালাতে পারে, যেমন ছোট অ্যাকাউন্টিং প্যাকেজগুলি, 64৪-বিট অপারেটিং সিস্টেমে না চলতে পারে এবং এইভাবে ভার্চুয়াল বা বাস্তবের আশেপাশে কোনও উত্তরাধিকারী মেশিন রাখার প্রয়োজন রয়েছে।
কোনও ঠিকানার আকার পরিবর্তন করতে কিছু বড় বিভ্রান্তি এবং প্রতিক্রিয়া থাকতে পারে।
বেশিরভাগ ব্যবহারিক উদ্দেশ্যে আপনি সম্ভবত কোনও পার্থক্য লক্ষ্য করবেন না।
আপনার একটি 64-বিট অপারেটিং সিস্টেম ইনস্টল করতে অবশ্যই একটি 64-বিট সিপিইউ (গত কয়েক বছরে বেশিরভাগ সিপিইউ) থাকতে হবে।
একটি 64-বিট অপারেটিং সিস্টেমের কয়েকটি সুবিধা রয়েছে:
বেশিরভাগ পরিস্থিতিতে, 64৪-বিট প্রোগ্রামগুলি কিছুটা বেশি মেমরি ব্যবহার করে তবে একটি ব্যক্তিগত কম্পিউটারের জন্য সাধারণত এটি লক্ষ্য করা যায় না।