র‌্যাম (যে কোনও ধরণের) অ্যাক্সেসের সময় এত আস্তে হ্রাস হয় কেন?


22

এই নিবন্ধটি দেখায় যে ডিডিআর 4 এসডিআরএমে আনুমানিক 8x ব্যান্ডউইথ ডিডিআর 1 এসডিআরএম রয়েছে। তবে কলামের ঠিকানা সেট করা থেকে ডেটা পাওয়া গেলে কেবল 10% (13.5ns) কমেছে। একটি দ্রুত অনুসন্ধান দেখায় যে দ্রুততম অ্যাসিঙ্কের অ্যাক্সেসের সময়। এসআরএএম (18 বছর বয়সী) 7ns is এসডিআরামের অ্যাক্সেসের সময় এত ধীরে কেন হ্রাস পেয়েছে? অর্থনৈতিক, প্রযুক্তিগত বা মৌলিক কারণটি কি?


1
অন্য কোনও সম্ভাব্য কারণ হতে পারে যে এটি কেবল এটি প্রয়োজনীয় নয়?
সেবাস্তিয়ান ভ্যান ডেন ব্রুক

উদাহরণস্বরূপ, কম অ্যাক্সেসের সময়টি মেমরিতে আরও ডেটা অনুসন্ধান করার জন্য প্রয়োজনীয়।
আরসেনিয়

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

1
উইকিপিডিয়া ডিডিআর ২৩-২০০২ অনুসারে Word.৩6 এনএস এর প্রথম শব্দটির বিলম্ব রয়েছে, এটি এফআর ৪-এ প্রায় 3 ফুটের প্রচারের জন্য সংকেত লাগে কতক্ষণ, আমি বলব যে আমরা শারীরিক সীমাটির খুব কাছেই রয়েছি
মার্ক ওমো

উত্তর:


33

এর কারণ, ডিআরএএম-এর ব্যান্ডউইদথকে আরও কমিয়ে আনার চেয়ে সহজ এবং কম। রাস্তার একটি খোলা সারি থেকে ডেটা পেতে, একটি তুচ্ছ পরিমাণ কাজের প্রয়োজন।

কলামের ঠিকানাটি ডিকোড করা দরকার, কোন লাইনগুলি অ্যাক্সেস করতে হবে তা নির্বাচন করে এমন ম্যাক্সগুলি নির্বাচন করে এবং ডেটাটিকে চিপ ধরে আউটপুট বাফারগুলিতে সরানো প্রয়োজন। এতে সামান্য সময় লাগে, বিশেষত প্রদত্ত যে এসডিআরএএম চিপগুলি উচ্চ র‌্যাম ঘনত্ব অনুসারে তৈরি করা হয় এবং উচ্চ যুক্তির গতি নয়। ডিডিআর (1,2,3 বা 4) ব্যবহার করে ব্যান্ডউইথকে বলার জন্য, বেশিরভাগ যুক্তিটি হয় প্রশস্ত বা পাইপলাইন করা যেতে পারে এবং পূর্ববর্তী প্রজন্মের মতো একই গতিতেও পরিচালনা করতে পারে। কেবলমাত্র দ্রুত হওয়া দরকার ডিডিআর পিনের জন্য I / O ড্রাইভার।

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

আপনি যদি সিপিইউ ক্যাশে র‌্যাম এবং হার্ড ডিস্ক / এসএসডি এর সাথে তুলনা করেন তবে স্টোরেজ বড় হওয়ার এবং স্টোরেজ দ্রুত হওয়ার মধ্যে একটি বিপরীত সম্পর্ক রয়েছে। একটি এল 1 very খুব দ্রুত, তবে কেবল 32 থেকে 256 কেবি ডেটা ধরে রাখতে পারে। এটি এত দ্রুত হওয়ার কারণ এটি ছোট কারণ:

  • এটি ব্যবহার করে এটি সিপিইউয়ের খুব কাছাকাছি স্থাপন করা যেতে পারে, যার অর্থ ডেটা এটিতে পৌঁছাতে একটি স্বল্প দূরত্ব ভ্রমণ করতে হবে
  • এতে থাকা তারগুলি আরও ছোট করা যেতে পারে, এর অর্থ আবার এটি অতিক্রম করতে ডেটা কম সময় নেয়
  • এটি খুব বেশি অঞ্চল বা অনেক ট্রানজিস্টর গ্রহণ করে না, সুতরাং এটি একটি গতি অনুকূলকৃত প্রক্রিয়া তৈরি করা এবং বিট সঞ্চিত প্রতি প্রচুর শক্তি ব্যবহার করা এত ব্যয়বহুল নয়

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


21
দুর্দান্ত উত্তর। আমি কেবল শারীরিক দূরত্বের কারণকেই জোর দিতে চাই: সম্ভবত দীর্ঘতম র‌্যাম স্টিকের জন্য 10 সেমি, সিগন্যালের গতি হিসাবে আলোর গতির 1/3 থেকে 1/2 ভাগ, পাশাপাশি পিসিবি ট্র্যাকগুলির সাথে রুট এবং মিলের জন্য কিছু অতিরিক্ত দৈর্ঘ্য, আপনি করতে পারেন সহজে 2ns রাউন্ড ট্রিপ সময় হতে হবে। যদি আপনার delay 15% বিলম্ব অবিশ্বাস্য সর্বজনীন গতির সীমা দ্বারা হয়ে থাকে ... আপনি আমার মতে সত্যই ভাল করছেন।
এমব্রিগ

1
L1 এছাড়াও অনন্যভাবে সংগঠিত হয়, সরাসরি এটি ব্যবহার করে এবং এটি এসআরএএম ব্যবহার করে in
বন

@ ফরেস্ট এবং এর একটি কঠোর আকারের সীমাও রয়েছে - এটিকে অনেক বড় করুন, এবং এতো তাড়াতাড়ি রাখার উপায় নেই।
লুয়ান

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

6

সি_এলেগানস উত্তরের একটি অংশ সরবরাহ করে - একটি মেমরি চক্রের সামগ্রিক বিলম্বকে হ্রাস করা শক্ত

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

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


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

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

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

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

2

আমার এতটা অন্তর্দৃষ্টি নেই তবে আমি আশা করি এটি কিছুটা।

অর্থনৈতিক

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

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

কারিগরী

চিপস / আইসিগুলির ক্রমহ্রাসমান আকারের দ্বারা (এখন এনএম স্তর), গতি বেড়েছে, তবে উল্লেখযোগ্যভাবে নয়। এটি প্রায়শই র‍্যামের পরিমাণ বাড়ানোর জন্য ব্যবহৃত হয়, এর জন্য আরও কঠোর প্রয়োজন (একটি অর্থনৈতিক কারণও)।

মৌলিক

উদাহরণ হিসাবে (উভয়ই সার্কিট): বেশি গতি পাওয়ার (এসএসডি দ্বারা ব্যবহৃত) সবচেয়ে সহজ উপায় হ'ল একাধিক উপাদানগুলির মধ্যে বোঝা ছড়িয়ে দেওয়া, এইভাবে 'প্রসেসিং'র গতিও যুক্ত হয়। একে অপরের পরে ১ টি ইউএসবি স্টিক থেকে ডেটা পড়ার পরিবর্তে একই সময়ে 8 টি ইউএসবি স্টিক পড়ার এবং ফলাফলগুলি একত্রিত করার সাথে তুলনা করুন (দীর্ঘ হিসাবে 8 বার লাগে)।


1
এসডিআরএমের বিলম্বের সাথে এসএসডিগুলির ঠিক কী সম্পর্ক রয়েছে?
C_Elegans

@ সি_এলিগান তারা উভয়ই সার্কিট, এই 'জেনেরিক' প্রশ্নের জন্য আমার মনে হয় না এত পার্থক্য আছে।
মিশেল কেইজজার্স

2
পূর্বেরচক্রের কারণে একটি পৃষ্ঠা খোলার সময়ের পরিমাণটি এতটা কমেছে না; প্রয়োজনীয় শক্তির পরিমাণ আজ এক দশক আগের তুলনায় উল্লেখযোগ্যভাবে আলাদা নয়। যা আমার অভিজ্ঞতার অ্যাক্সেস সময়কে প্রাধান্য দেয়।
পিটার স্মিথ

5
@ মিশেলকিজজার্স তারা উভয়ই সার্কিট থাকাকালীন, এসএসডি এবং এসডিআরাম খুব আলাদা ব্যবহারের কেস সরবরাহ করে এবং ডেটা সংরক্ষণের জন্য বিভিন্ন কৌশল ব্যবহার করে। অতিরিক্ত হিসাবে, সিপিইউগুলিকে সত্যই দ্রুত গতির র‌্যামের প্রয়োজন হয় না তা বলার অপেক্ষা রাখে না, বেশিরভাগ আধুনিক সিপিইউতে 3 স্তরের ক্যাশে থাকার পুরো কারণটি হ'ল সিএমইউ পরিবেশন করার জন্য তাদের র‌্যাম যথেষ্ট দ্রুত তৈরি করা যায় না।
C_Elegans

1
আপনি বলেছিলেন বড় স্টোরেজের জন্য এসএসডি রয়েছে। আপনি দ্রুত বলতে চেয়েছিলেন ? এইচডিডি-র চেয়ে এসএসডি-তে সম পরিমাণ পরিমাণ সঞ্চয়স্থান পাওয়া আরও ব্যয়বহুল। এসএসডিগুলির প্রধান বিক্রয় বিন্দু হ'ল গতি এবং সম্ভবত শব্দ এবং নির্ভরযোগ্যতা। ক্ষমতার জন্য, এইচডিডি এখনও আরও ভাল
ব্যবহারকারী 198712
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.