۰
subtitle
ارسال: #۱
  
مهندسی کامپیوتر - آزاد ۸۱
با عرض سلام
دوستان من هرچی راه حل این سوال رو می خونم، نمی فهمم چرا گزینه ی ۱ درسته ! یعنی نمی فهمم چرا x مقدار ۱ نمی تونه داشته باشه ؟
از راهنماییتون پیشاپیش سپاسگزارم
دوستان من هرچی راه حل این سوال رو می خونم، نمی فهمم چرا گزینه ی ۱ درسته ! یعنی نمی فهمم چرا x مقدار ۱ نمی تونه داشته باشه ؟
از راهنماییتون پیشاپیش سپاسگزارم
۰
ارسال: #۲
  
RE: مهندسی کامپیوتر - آزاد ۸۱
سلام
اول باید بدانید که انجام افزایش یک واحد با سه دستور اسمبلی پباده سازی شده و بینشان می تواند وقفه رخ دهد.
در کل ۱۰ بار دستورinc باید اجرا بشه هر حلقه ۵ بار پس حداکثر مقداری که x می تواند بگیرد ۱۰ است.ولی این امکان وجود داره که بتوان تعدادی از عمل های جمع را خنثی کرد. مثلا فرایند A ابتدا اجرا صفر را در ثبات خود قرار می دهد و inc ولی قبل اینکه نتیجه رو که ۱ است در x قرار دهد به B سوئیج می شود و B مقدار X را ۰ می بیند و هر ۵ بار inc انجام و مقدار x برابر ۵ می شود اگر A دوباره اجرا شود از جای که وقفه خورده بود مقدار تباتش که ۱ است را در x قرار می دهد که ۱ می شود بعد ۴ بار دیگر Inc ودر کل ۵ می شود یعنی با این سناریو ۵ عمل جمع خنثی شد.
اینکه چرا x نمی تواند یک شود به این دلیل که باید در اخرین عمل inc در ۱۰ مورد مقدار x باید صفرباشد تا به ثبات منتقل شود وبعد اخرین inc انجام تا x یک شود که این غیر ممکن است چون قبل از این روند ۹ بار عمل inc انجام شده که در ان حداقل x یکبار در ثبات لود شده و inc .شده. اگر تعداد تکرار حلقه ها را کم کنیدبا مسئله ساده تر روبرو می شوید و سعی کنید در ببین انجام عمل افزایش بین دو فرایند سویئج کنید مثلا هر فرایند فقط یک بارX++ را اجر کند انوقت x می تواند مقدار ۱ هم بگیردو به ترتیب تعداد تکرار ها را زیاد و از سنارویو های مختلف سوئیج بین فرایند ها استفاده کنید.
اول باید بدانید که انجام افزایش یک واحد با سه دستور اسمبلی پباده سازی شده و بینشان می تواند وقفه رخ دهد.
در کل ۱۰ بار دستورinc باید اجرا بشه هر حلقه ۵ بار پس حداکثر مقداری که x می تواند بگیرد ۱۰ است.ولی این امکان وجود داره که بتوان تعدادی از عمل های جمع را خنثی کرد. مثلا فرایند A ابتدا اجرا صفر را در ثبات خود قرار می دهد و inc ولی قبل اینکه نتیجه رو که ۱ است در x قرار دهد به B سوئیج می شود و B مقدار X را ۰ می بیند و هر ۵ بار inc انجام و مقدار x برابر ۵ می شود اگر A دوباره اجرا شود از جای که وقفه خورده بود مقدار تباتش که ۱ است را در x قرار می دهد که ۱ می شود بعد ۴ بار دیگر Inc ودر کل ۵ می شود یعنی با این سناریو ۵ عمل جمع خنثی شد.
اینکه چرا x نمی تواند یک شود به این دلیل که باید در اخرین عمل inc در ۱۰ مورد مقدار x باید صفرباشد تا به ثبات منتقل شود وبعد اخرین inc انجام تا x یک شود که این غیر ممکن است چون قبل از این روند ۹ بار عمل inc انجام شده که در ان حداقل x یکبار در ثبات لود شده و inc .شده. اگر تعداد تکرار حلقه ها را کم کنیدبا مسئله ساده تر روبرو می شوید و سعی کنید در ببین انجام عمل افزایش بین دو فرایند سویئج کنید مثلا هر فرایند فقط یک بارX++ را اجر کند انوقت x می تواند مقدار ۱ هم بگیردو به ترتیب تعداد تکرار ها را زیاد و از سنارویو های مختلف سوئیج بین فرایند ها استفاده کنید.
ارسال: #۳
  
RE: مهندسی کامپیوتر - آزاد ۸۱
(۲۳ اسفند ۱۳۹۵ ۱۲:۵۹ ق.ظ)msour44 نوشته شده توسط: سلام
اول باید بدانید که انجام افزایش یک واحد با سه دستور اسمبلی پباده سازی شده و بینشان می تواند وقفه رخ دهد.
سلام
خیلی ممنون ک وقت میزارید
فقط جسارتا میشه یکم باز تر بگید ( وقفه ها دستورات اسمبلیش رو میدونم)
اما هرچی نگاه میکنم متوجه نمیشم چطور میتونه ۲ بشه در آخر!؟
یا ۳ بشه!؟ یا ۴!؟
اما ۵ میتونه بشه این مشخص تره
ارسال: #۴
  
RE: مهندسی کامپیوتر - آزاد ۸۱
(۲۳ اسفند ۱۳۹۵ ۰۸:۴۱ ق.ظ)delete4all نوشته شده توسط:سلام(23 اسفند ۱۳۹۵ ۱۲:۵۹ ق.ظ)msour44 نوشته شده توسط: سلام
اول باید بدانید که انجام افزایش یک واحد با سه دستور اسمبلی پباده سازی شده و بینشان می تواند وقفه رخ دهد.
سلام
خیلی ممنون ک وقت میزارید
فقط جسارتا میشه یکم باز تر بگید ( وقفه ها دستورات اسمبلیش رو میدونم)
اما هرچی نگاه میکنم متوجه نمیشم چطور میتونه ۲ بشه در آخر!؟
یا ۳ بشه!؟ یا ۴!؟
اما ۵ میتونه بشه این مشخص تره
A ابتدا اجرا و عمل جمع را انجام ولی قبل از اینکه مقدار یک ر ادر X قرار دهد به B سوئیج می شود و B چهار بار عمل جمع انجام می دهدو x را ۴ میکند بعد به A سوئیج و مقدار یک را که در ثباتش وجود داره در x قرار می دهد یعنی خنثی کردن ۴ جمع B بعداگر در این لحظه به B برگریدم مقدار X که الان ۱ است را به ثبات خود منتقل بعد افزایش ولی قبل این که ۲ را در x قرار دهد به A برگردیم ۴ جمع باقی مانده را اجرا و تمام شود وبه B برگردیم مقدار ۲ را در ثبات خود دارد که ان را در x قرار می دهد.برای حالت های دیگر مثلا A درابتدا یک بار افزایش را انجام می دهد و در بار دوم قبل از این که ۲ را در x قرار دهد وقفه می خورد B چهار بار اجرا بعد به A سوئیج می شود که مقدار ۲ را در ثباتش داردو ان را در x قرار می دهد باز ۴ جمع B خنثی شد اگر به B برگردیم ۲ را در x میبیند و به ثبات خود منتقل می کند وافزایش ولی قبل از اینکه ۳ را در x قرار دهد به A سوئیج می شود و ۳ جمع باقی مانده ان تمام می شود ولی وقتی که به B برگردیم مقدار ۳ را در ثباتش دارد که ان را به x منتقل می کند. سعی کنید همین روند یکبار وقتی A دوبار عمل جمع را انجام داده و بعد از سومی و قبل از اینکه ۳ ر ادر x قرار دهد اولین وقفه را بزنید ومثل بالا عمل کنید از طرف دیگر برای B هم می توانید به جای ۴ بار اجرا ۳ بار اجرا شود وبسیاری سناریو های مختلف دیگر.
ارسال: #۵
  
RE: مهندسی کامپیوتر - آزاد ۸۱
(۲۳ اسفند ۱۳۹۵ ۰۱:۰۰ ب.ظ)msour44 نوشته شده توسط: سلام
A ابتدا اجرا و عمل جمع را انجام ولی قبل از اینکه مقدار یک ر ادر X قرار دهد به B سوئیج می شود و B چهار بار عمل جمع انجام می دهدو x را ۴ میکند بعد به A سوئیج و مقدار یک را که در ثباتش وجود داره در x قرار می دهد یعنی خنثی کردن ۴ جمع B بعداگر در این لحظه به B برگریدم مقدار X که الان ۱ است را به ثبات خود منتقل بعد افزایش ولی قبل این که ۲ را در x قرار دهد به A برگردیم ۴ جمع باقی مانده را اجرا و تمام شود وبه B برگردیم مقدار ۲ را در ثبات خود دارد که ان را در x قرار می دهد.برای حالت های دیگر مثلا A درابتدا یک بار افزایش را انجام می دهد و در بار دوم قبل از این که ۲ را در x قرار دهد وقفه می خورد B چهار بار اجرا بعد به A سوئیج می شود که مقدار ۲ را در ثباتش داردو ان را در x قرار می دهد باز ۴ جمع B خنثی شد اگر به B برگردیم ۲ را در x میبیند و به ثبات خود منتقل می کند وافزایش ولی قبل از اینکه ۳ را در x قرار دهد به A سوئیج می شود و ۳ جمع باقی مانده ان تمام می شود ولی وقتی که به B برگردیم مقدار ۳ را در ثباتش دارد که ان را به x منتقل می کند. سعی کنید همین روند یکبار وقتی A دوبار عمل جمع را انجام داده و بعد از سومی و قبل از اینکه ۳ ر ادر x قرار دهد اولین وقفه را بزنید ومثل بالا عمل کنید از طرف دیگر برای B هم می توانید به جای ۴ بار اجرا ۳ بار اجرا شود وبسیاری سناریو های مختلف دیگر.
احسنت
بی صبرانه منتظر اعلام رتبه شما ( و چند نفر دیگه ) هستم
ایشالا همه موفق باشیم
ارسال: #۶
  
RE: مهندسی کامپیوتر - آزاد ۸۱
دوست گرامی، بسیار سپاسگزارم از وقت و حوصله ای که صرف می کنید
انشاالله موفق و پیروز باشید
انشاالله موفق و پیروز باشید
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close