একটি দৌড় শর্ত মানে কি?


10

আমি একজন নতুন বৈদ্যুতিক প্রকৌশলী তাই আমার সাথে সহ্য করুন। আমি শুনতে পেলাম যে অন্য কয়েকজন প্রকৌশলী আমি আমাদের একটি সার্কিটের মধ্যে উপস্থিত একটি রেসের শর্ত সম্পর্কে আলাপ নিয়ে কাজ করি।

ওটার মানে কি?


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

উত্তর:


16

এর অর্থ হল, খুব সহজভাবে যে দুটি জিনিস একই সাথে ফলাফলের জন্য "রেস"।

একটি রিসেট এবং সেট পিন সহ একটি সার্কিট, আপনি রিসেটটি ট্রিগার করলে আউটপুটটি 0 হয় becomes আপনি যদি সেটটি ট্রিগার করেন তবে আউটপুটটি 1 হয় becomes আপনি যদি প্রথম সেটটি ট্রিগার করেন এবং তারপরে খুব তাড়াতাড়ি পুনরায় সেট করেন, পুনরায় সেট করুন দেখা যাবে, সুতরাং আউটপুট 0 হয়।

তবে, যদি উভয়ই ঠিক একই সময়ে ট্রিগার হয় তবে কী ঘটে?

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

সর্বনিম্ন বিলম্বের সাথে পথটি সাধারণত জিততে পারে, তবে তারপরে আপনি দৌড়ের অবস্থাটিকে সঠিক ট্রিগার হিসাবে দেখতে পেলেন যেখানে সবচেয়ে বেশি বিলম্বিত পথটি দ্রুততার আগে ঠিক সেই মুহুর্তে ট্রিগার হয়েছিল।

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

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


2
এই উত্তরের উত্তরের যোগ হিসাবে আমি উল্লেখ করব যে এই পরিস্থিতিতে হার্ডওয়্যার খুব খারাপ আচরণ করতে পারে । রিয়েল হার্ডওয়্যার 0 থেকে 1 তাত্ক্ষণিকভাবে কখনও স্যুইচ করে না It এটি সর্বদা তাদের মধ্যে একটি স্বল্প সময়ের মধ্যে উঠতে হবে। বেশিরভাগ যুক্তিই ধরে নিয়েছে যে এই ধরণের স্থানান্তরের পরে পর্যাপ্ত সময় কেটে গেছে যে ট্রানজেন্টরা "সত্যিই 0 এর কাছাকাছি" বা "সত্যই 1 এর কাছাকাছি" স্থির হয়ে গেছে। সময়টি যদি ... দুর্ভাগ্যজনক হয় তবে এটি 0.5 এর কাছাকাছি হতে পারে। অনেকগুলি সার্কিট এই অবস্থায় "মেটাস্টেবল" হয়ে যায়, যার অর্থ তারা উত্তরণে একটি নির্ধারিত সময় নিতে পারে, পুরো সার্কিটকে অস্থিতিশীল করে তোলে
কর্ট অ্যামোন

1
এমনকি আপনার সার্কিটটি কেসটি হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে যেখানে সেট এবং রিসেট একসাথে সক্রিয় করা রয়েছে, আপনি নির্ভরযোগ্যভাবে তাদের একসাথে সক্রিয় করতে পারবেন না, তাই আপনি প্রথমে কোনটি সক্রিয় করা হবে তা আপনি জানতে পারবেন না।
ব্যবহারকারী 253751

অ-পারমাণবিক ক্রিয়াকলাপ সফ্টওয়্যারের রেসের অবস্থার একটি সর্বোত্তম উদাহরণ। কোনও প্রোগ্রাম সি এর সাহায্যে একটি নতুন ফাইল তৈরি fopen()করতে পারে, fclose()এতে ডেটা লিখতে পারে, এটি chmod()এটি সুরক্ষিত করতে পারে। মধ্যে যে সংক্ষিপ্ত জানালা fopen()এবং chmod()একটি সম্ভাব্য race অবস্থা যেখানে ডিফল্ট ফাইল মোড একটি উপায় পর থেকে বঞ্চিত ফাইল সঙ্গে কাজ করার একটি অবাঞ্ছিত বহিরাগত অনুমতি দিতে পারে প্রর্দশিত chmod()কল। সমাধানটি হ'ল open()পরিবর্তে ফাইলটি তৈরি করা যা ফাইল তৈরি অপারেশনের অংশ হিসাবে মোডটি সেট করার অনুমতি দেয়।
ওয়ারেন ইয়ং

6

"বর্ণের শর্ত" শব্দটি বোঝায় যে (1) দুই বা ততোধিক সংকেত যেকোন ক্রমে আগত হতে পারে, নির্বিচারে একে অপরের নিকটে, এবং (২) বিশ্লেষণাত্মকভাবে দেখা সম্ভব নয় যে আগমনের কোনও সম্ভাব্য সংমিশ্রণের মূলত শূন্যতার সম্ভাবনা রয়েছে is বার একটি সমস্যা উত্থাপন।

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

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

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

পরিকল্পিত

এই সার্কিটটি অনুকরণ করুন - সার্কিটল্যাব ব্যবহার করে স্কিম্যাটিক তৈরি করা হয়েছে

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


আপনি বলেছিলেন, "... এমন আউটপুট যা দেখতে দেখতে বাজে।" এটি কি "metastable state" বলার অন্য উপায়?
সলোমন স্লো

@ জেমস্লারেজ: সিমুলেটরটি মেটাস্টেবলের রাজ্য পরিচালনা করে না। আমি প্রথম আউটপুটটিকে কুরুচিপূর্ণ হিসাবে বর্ণনা করি কারণ ন্যূনতম পালসের প্রস্থ নেই এবং দ্বিতীয় আউটপুটটি ঝুঁকিপূর্ণ হিসাবে মেটাস্টেবল রাজ্যের সম্ভাবনার কারণে।
সুপারক্যাট

2

সংক্ষেপে, এর অর্থ একটি প্রক্রিয়ার ফলাফল দুটি ইনপুট আগমনের ক্রম দ্বারা প্রভাবিত হবে এবং সেই অনুক্রমটি অনির্দিষ্ট (গ্যারান্টিযুক্ত হতে পারে না)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.