زمان کنونی: ۱۰ فروردین ۱۴۰۳, ۰۵:۳۱ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

تعداد کلاک برای fetch & decode !

ارسال:
  

m@hboobe پرسیده:

تعداد کلاک برای fetch & decode !

سلام
قضیه اینکه تعداد کلاک ها در جزوه دکتر اجلالی و یوسفی فرق داره رو میدونم چیه
دکتر اجلالی میگن باید به اندازه تاخیر حافظه برای ثبت آدرس از pc به AR صبر کنیم که با توجه به فرکانس کلاک t1 , t2 کاری انجام نمیشه.

اما هم کتاب مانو هم جزوه یوسفی به این موضوع اشاره ای نکردند ...

حالا به الفرض یکی بیاد بگه این مرحله در چند کلاک انجام میشه اصلا قابل گفتن هست یا باید بگیم به تاخیر حافظه و فرکانس کلاک مربوط میشه؟!!

مرسی


فایل‌(های) پیوست شده

۰
ارسال:
  

nina69 پاسخ داده:

تعداد کلاک برای fetch & decode !

میشه یه کم بیشتر توضیح بدید

۰
ارسال:
  

csharpisatechnology پاسخ داده:

تعداد کلاک برای fetch & decode !

اگه مستقیما از PC میشد به عنوان آدرس استفاده کرد چرخه ی واکشی در یک سیکل انجام میشد([ir=m[pc)
اما توی مدار شما سیکل یا چرخه ی fetch رو نمی تونیم توی یک سیکل انجام بدیم.
پس دو کلاک برای fetch داریم یکی t0 یعنی کلاک اول باعث میشه pc بریزه توی AR .
و سپس توی کلاک t1 محتوای حافظه به آدرس AR رو میخونیم و load می کنیم توی ثبات دستورالعمل یا IR .
دیکود هم فکر کنم زیاد مهم نیست و بعد از یک تاخیر کم انجام میشه و از کلاکش صرف نظر می کنیم.
[تصویر:  147251_1_1379087521.jpg]
[تصویر:  147251_2_1379087521.jpg]
==
مطلب فوق رو از جزوه ی معماری دست نویس دانشگاه امیرکبیر برات آوردم که PDF ش هم توی سایت aghazeh و mohandesyar می تونید پیدا کنید.

۰
ارسال:
  

m@hboobe پاسخ داده:

تعداد کلاک برای fetch & decode !

(۱۶ آذر ۱۳۹۱ ۱۰:۰۵ ب.ظ)nina69 نوشته شده توسط:  میشه بگید کجاش اشتباه
اگه هم میتونید یه خورده توضیح بدید درباره این قسمت

سلام
حافظه برای اینکه اطلاعات از اون بخونیم یا بخوایم در اون بنویسیم مقداری تاخیر داره در اینجا حافظه ۱۲۰نانو ثانیه تاخیر داره.
مموری همیشه دو ثبات داره که AR آدرس به حافظه میدهد و DR که دیتا از حافظه در اون نوشته میشه یا اینکه حافظه در DR می نویسه.

برای اینکه ما بتونیم عملیات fetch رو انجام بدیم باید آدرس دستور العمل بعدی را به حافظه بدهیم پس باید pc رو AR بریزیم
برای اینکه آدرس مورد نظر که الان در AR هست رو بریم در حافظه پیدا کنیم و مقدار رو در ثبات DR بنویسیم باید به اندازه تاخیر حافظه صبر کنیم تا داده بطور کامل در DR نوشته بشه. خب در اینجا یه پالس ۵۰نانو ثانیه زمان میبره پی قطعا بیشتر یک پالس زمان نیاز داریم تا این داده را در ثبات بنویسیم ۵۰ثانیه میگذرد هنوز نوشتن تمام نشده ۵۰ ثانیه دیگه باز صبر که میشه ۱۰۰نانو ثانیه قطعا در پالس بعدی دیتا در ثبات نوشته شده که میشه t3.

ارسال:
  

nina69 پاسخ داده:

RE: تعداد کلاک برای fetch & decode !

(۱۶ آذر ۱۳۹۱ ۱۰:۵۴ ب.ظ)m@hboobe نوشته شده توسط:  
(16 آذر ۱۳۹۱ ۱۰:۰۵ ب.ظ)nina69 نوشته شده توسط:  میشه بگید کجاش اشتباه
اگه هم میتونید یه خورده توضیح بدید درباره این قسمت

سلام
حافظه برای اینکه اطلاعات از اون بخونیم یا بخوایم در اون بنویسیم مقداری تاخیر داره در اینجا حافظه ۱۲۰نانو ثانیه تاخیر داره.
مموری همیشه دو ثبات داره که AR آدرس به حافظه میدهد و DR که دیتا از حافظه در اون نوشته میشه یا اینکه حافظه در DR می نویسه.

برای اینکه ما بتونیم عملیات fetch رو انجام بدیم باید آدرس دستور العمل بعدی را به حافظه بدهیم پس باید pc رو AR بریزیم
برای اینکه آدرس مورد نظر که الان در AR هست رو بریم در حافظه پیدا کنیم و مقدار رو در ثبات DR بنویسیم باید به اندازه تاخیر حافظه صبر کنیم تا داده بطور کامل در DR نوشته بشه. خب در اینجا یه پالس ۵۰نانو ثانیه زمان میبره پی قطعا بیشتر یک پالس زمان نیاز داریم تا این داده را در ثبات بنویسیم ۵۰ثانیه میگذرد هنوز نوشتن تمام نشده ۵۰ ثانیه دیگه باز صبر که میشه ۱۰۰نانو ثانیه قطعا در پالس بعدی دیتا در ثبات نوشته شده که میشه t3.
مرسی محبوبه جان
یافتن تمامی ارسال‌های این کاربر

۰
ارسال:
  

csharpisatechnology پاسخ داده:

تعداد کلاک برای fetch & decode !

آقا یکی بیاد اینجا رو سامون بده
آیا جواب ما درسته آقای مدیر؟
اگه هست یا نیست لطفا اساتید با سواد مثل ESI یا JOOYBARI یا AZAD و غیره بیان بحث کنن.

۰
ارسال:
  

esi پاسخ داده:

تعداد کلاک برای fetch & decode !

انگار داره دعوا میشه تو این تاپیک.
در مورد اینکه بگیم یه کاری در چند مرحله انجام میشه نیاز به دونستن کلاک نیست، تویه سیستم واقعی کلاک ها سنکرون هستن، یعنی همه اجزای CPU داره بایه فرکانس کاری کار می کنه و فرکانس حافظه هم مشخص هستش. وقتی گفته میشه یه کار تو چند کلاک انجام میشه یعنی شما باید با توجه به معماری داده شده پردازنده ، باید ریز اعمال منطقاً مجزا و با ترتیب درست رو بگید، یعنی کارهایی که باید حتما در کلاک های مجزایی انجام شوند. این کارها مسلما یا با هم وابستگی داده ای دارن(مثل خوندن از PC و افزایش اون که در یک کلاک ممکن نیست و یا کاهش و افزایش ثبات که در یک کلاک بی معنی است) یا معماری پردازنده اجازه همزمانی رو نمیده(مثلا داده مستقیما از حافظه نمی تونه بره داخل یه ثباتی و باید اول بره داده DR و بعد بره داخل ثبات مد نظر).
از این نظر جواب سوالتون اینه که به فرکانس کاری مدار ربطی نداره و ۲ تا بحث کاملا مجزا هست، علت اصلیشم همزمانی اجزای پردازنده است، اما سرعت در فرکانس حافظه واقعا همیشه مطرحه و دقیقا به اندازه تاخیر حافظه همواره پردازنده تاخیر داره و کاریشم نمیشه کرد و به همین علت دارن هر روز فرکانس کاری حافظه رو بالا می برن و یا علت اصلی استفاده از کش هم همین مساله است.
در مورد جواب دوستمون csharpisatechnology هم اشکالاتی هست مثل اینکه در RTL سمت چپ نمی تونه گذرگاه باشه چون منطقا معنی نداره و قرار دادن داده در گذرگاه به مقصد و مبدا بستگی داره، و چند اشکال دیگه، البته دوستان دیگه هم اشکالاتی داشتن مثلا اینکه سمت چپ فقط میتونه رجیستر باشه در حالی که سمت چپ حافظه هم می تونه باشه(برای عمل نوشتن در حافظه) و یا ...
البته مهم نیست و برای رفع همین اشکالات دوستان سوال مطرح می کنن تا مشکلاتون حل بشه. اگه سوال دیگه ای در مورد دستورات RTL و درست و غلط بودن دستور و ... دارید می توند تاپیک مجزا درست کنید تا جواب داده بشه .
در کل این بحث خیلی مهمه امازیاد سخت نیست و کافیه منطق ترتیب اجرای ریزدستورات و نحوه کنترل و اتصال اونها رو بدونید.
در مورد کتاب مانو، این کتاب واقعا کتاب خوبیه، اشکالاتی رو هم که دوستمون گفتن نمیشه گفت اشکال،تو کتاب مانو برای درک کارهایی که به طور همزمان انجام میشه رو در کنار دستورات RTL نوشته، لزوما اینها دستورات RTL نیستن اما برای درک بهتر کار نوشته شده و واقعا نمیشه بهش گفت اشکال. من یادم نمیاد تو کتاب مانو سمت چپ RTL یه گذرگاه رو نوشته باشه. در کل جهت درک بیشتر مطالب گفته شده .

ارسال:
  

narges_r پاسخ داده:

RE: تعداد کلاک برای fetch & decode !

(۱۷ آذر ۱۳۹۱ ۰۲:۳۳ ق.ظ)esi نوشته شده توسط:  ا
در مورد جواب دوستمون csharpisatechnology هم اشکالاتی هست مثل اینکه در RTL سمت چپ نمی تونه گذرگاه باشه چون منطقا معنی نداره و قرار دادن داده در گذرگاه به مقصد و مبدا بستگی داره، و چند اشکال دیگه، البته دوستان دیگه هم اشکالاتی داشتن مثلا اینکه سمت چپ فقط میتونه رجیستر باشه در حالی که سمت چپ حافظه هم می تونه باشه(برای عمل نوشتن در حافظه) و یا ...

RTL یعنی Register Transfer Language
یعنی زبان توصیف ثبات! دکتر اجلالی در اولین جلسه کلاسشون میگن در RTL نویسی حتما باید عمل انتساب به ثبات باشه و ما فقط میتونیم در ثبات بنویسیم و هیچ وقت نمیشه در سمت چپ Assignment سیم یا چیزی غیر از ثبات قرار داد و قرار دادن چیزی غیر از ثبات معنی نداره
میدونیم که حافظه دو ثبات DR و AR داره که در یکی داده و در دیگری ادرس قرار میگیره، حتی وقتی میخوایم در حافظه هم بنویسیم داده مورد نظر رو در ثبات حافظه (DR) میریزیم
به نظر من برا مطالعه این درس از کتاب مانو استفاده نکنید
یافتن تمامی ارسال‌های این کاربر

۰
ارسال:
  

azad_ahmadi پاسخ داده:

تعداد کلاک برای fetch & decode !

سلام.
کتاب مانو کتاب بدی نیست، هر کتابی ممکنه اشکال داشته باشه و برای همینه که در پیشگفتار میگه اگه اشکال داره اطلاع بدید. سپیدنام، کتاب مانو رو فقط ترجمه کرده، پس اگه اشکالی هم داشته باشه در کتاب اصلی M.mano هست و نه ترجمه.
ذات سوال برای اینکه دستوری در چند کلاک اتفاق می افته بستگی به معماری ماشین داره و از ماشینی به ماشین دیگه ممکنه تفاوت داشته ممکنه در سوالی از IR اسمی به میان نیاورده باشه، پس باید محتویات حافظه رو به DR یا TR انتقال بدیم. درهر صورت باید به این نکته توجه بشه که اولا چه ثباتهایی در سیستم هستن، کدوم ثبات ها از گذرگاه مشترک ورودی یا خروجی دارن، مثلا AC از گذرگاه ورودی نداره(فقط از DR و ALU و ثبات ورودی) ، بعد از اون باید به این نکته توجه بشه که دوتا دستور که باهم تناقض دارن در یک کلاک پالس اورده نشن، مثلا نمیشه که در یک کلاک هم مقدار PC رو افزایش داد و هم مقدار PC رو به AR منتقل کرد (اشاره به t0 در معماری مانو).
و دقت کنید که در صورت سوال به یکی از دو کلمه "حداقل" و "حداکثر" اشاره کرده که دستور باید در کلاک پالس ها انجام شود.
و همچنین کلاک پالس ها باید طوری انتخاب شوند که همزمان محتوای ۲ یا چند ثبات باهم و همزمان بر روی گذرگاه قرار نگیرن.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تعداد برگ درخت؟؟؟؟؟؟؟ rad.bahar ۴ ۳,۸۳۸ ۱۵ آذر ۱۴۰۲ ۱۱:۵۳ ق.ظ
آخرین ارسال: mohamadrra
  تعداد جواب mostafaheydar1370 ۲۱ ۱۷,۰۰۹ ۰۱ مهر ۱۳۹۹ ۱۱:۴۱ ب.ظ
آخرین ارسال: miinaa
  تعداد روش های نوشتن عدد n ss311 ۲ ۲,۹۵۴ ۱۳ بهمن ۱۳۹۸ ۰۵:۲۷ ب.ظ
آخرین ارسال: ss311
  تعداد مسیرها در گراف ss311 ۰ ۱,۷۹۲ ۰۸ بهمن ۱۳۹۸ ۱۲:۴۷ ب.ظ
آخرین ارسال: ss311
  تعداد درخت فراگیر ss311 ۰ ۲,۰۵۷ ۰۶ بهمن ۱۳۹۸ ۰۵:۰۶ ب.ظ
آخرین ارسال: ss311
  تعداد توابع پوشا ss311 ۰ ۱,۸۳۹ ۰۶ بهمن ۱۳۹۸ ۰۴:۵۷ ب.ظ
آخرین ارسال: ss311
  تعداد اعداد ۵ رقمی هم ارز ss311 ۲ ۲,۳۳۸ ۰۶ بهمن ۱۳۹۸ ۰۴:۳۹ ب.ظ
آخرین ارسال: ss311
  تعداد رشته های n بیتی hamedsos ۲ ۲,۶۹۴ ۱۸ آبان ۱۳۹۸ ۰۹:۰۶ ب.ظ
آخرین ارسال: Jooybari
  تعداد درختهای پوشا ss311 ۰ ۱,۵۴۰ ۱۹ بهمن ۱۳۹۷ ۱۲:۰۸ ب.ظ
آخرین ارسال: ss311
Question تفاوت تعداد مقایسه های مورد نیاز در الگوریتم های متفاوت porseshgar ۰ ۱,۹۲۳ ۱۵ بهمن ۱۳۹۷ ۱۲:۳۳ ب.ظ
آخرین ارسال: porseshgar

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close