# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > مباحث عمومی کار با سخت افزارها، سنسورها و لوازم جانبی >  کلاکت چیست

## KING AMIN

با عرض سلام
من یه ماهی شروع به یادگیری علم الکترویک کردم
به پیشنهاد دوستان کتاب اقای کاهه را گرفتم و با چند عبارت مبهم برای خودم روبرو شدم اگه میشه این عبارت را بطور قابل فهم و پچه گانه توضیح دهید
کلاکت
با تشکر

----------


## SEZAR.CO

با عرض سلام
اولین
جایی که در علوم دیجیتال به واژه ی ساعت برمی خوریم در زمینه ی "فلیپ فلاپ
ها" ست. همان طور که می دانیم فلیپ فلاپ جز پایه ی شمارنده هاست یعنی با
ترکیب تعداد معینی از فلیپ فلاپ ها می توانیم در خروجی رشته ای از اعداد
را شمارش کنیم. در اینجا سیگنال ساعت با هر تغییر خود در ورودی مدار
شمارنده باعث ایجاد یک رقم افزایش در خروجی مدار می شود، پس می توانیم
مرجعی برای ترتیب سلسله وظایف پردازنده داشته باشیم. در شکل زیر یک سیگنال
کلاک نمونه را که بین 0 و 5 ولت نوسان می کند مشاهده می کنید.
برای درک بهتر مفهوم کلاک یا ساعت کاری پردازنده از قیاس زیر استفاده می کنیم: 
فرض کنید که
رابطه پردازنده و ساعت مثل رابطه ی یک رقاص! و یک موزیک است. همانطور که
هر حرکت رقصنده متناسب و هماهنگ با ضربه های موزیک است، پردازنده نیز
ترتیب وظایف خود را با توجه به ساعت کاری انجام می دهد.
پردازنده تنها دو کار را به صورت متوالی انجام می دهد:
"واکشی یا
فراخوانی دستور العمل ها و اجرای آنها" که در واقع هر کدام از اینها خود
می توانند شامل چندین مرحله باشند. برای مثال واکشی یک دستورالعمل می
تواند شامل این مراحل باشد: با اولین تغییر در سیگنال ساعت آدرس خانه ای
از حافظه که دستور العمل در آن قرار دارد بر روی گذرگاه آدرس قرار گیرد،
با تغییر بعدی در سیگنال ساعت یک سیگنال خواندن بر روی گذرگاه کنترل قرار
گیرد و با ساعت بعدی اطلاعات آن خانه از حافظه خوانده شود و بر روی گذرگاه
اطلاعات قرار گیرد. اما در مورد اجرای دستورالعمل ها قضیه کمی تفاوت دارد.
معمولا دستورالعمل ها برای اجرا به یک یا چند سیکل ساعت نیاز دارند که این
بستگی به نوع دستورالعمل و نوع پردازنده دارد. این مسئله می تواند تا حدود
زیادی باعث کاهش سرعت پردازنده شود که در پردازنده های جدید برای غلبه بر
این مشکل از روشی موسوم به _Superscalar_استفاده می شود که با استفاده از این نوآوری پردازنده قادر به اجرای بیش از یک دستورالعمل در یک سیکل کاری است. 
با توجه به این
توضیحات واضح است که هرچه فرکانس ساعت بالاتر باشد، پردازنده قادر به
اجرای تعداد بیشتری دستورالعمل در یک ثانیه خواهد بود و در نتیجه توان
پردازشی و سرعت پردازنده بالاتر خواهد بود. برای مثال پردازنده های اولیه
داری ساعتی در حدود چندین مگاهرتز بودند اما با پیشرفت فناوری ریزپردازنده
ها این رقم سریعا افزایش یافت به طوری که امروزه پردازنده های پنتیوم داری
فرکانسی در حد چندین گیگاهرتز می باشند. به نظر می رسد آنچه که باعث
محدودیت افزایش سرعت پردازنده ها می شود زمان تاخیر انتشار ترازیستورهای
داخلی پردازنده است که این زمان با پیشرفت فناوری نیمه هادی ها و لیزر
دائما در حال کاهش است.

----------


## mehran901

دوست عزیز Sezar.co خیلی جامع توضیح دادن و ساده تر و عامیانه ترش رو این طور می تونید در نظر بگیرید 
فعالیت ها و پردازش های گوناگون  به ازای هر کلاک صورت میگیرد و یادش بخیر استاد ما اینطور میگفت : وقتی میگی کلاک 8 مگاهرتز ، میتونیم اونو اینجوری تفسیر کنیم که در یک ثانیه 8 میلیون دستورالعمل اجرا میشه... ( دستور العمل الزاما همه کد برنامه هایی که شما نوشتین نیس! )

----------


## KING AMIN

اسیلاتور و سیکل حالا چیه

----------


## mehran901

اسیلاتور رو شما مولد موج کلاک در نظر بگیر اینجا ....(میکرو ) حالا میتونه انواع مختلفی داشته باشه از قبیل اسیلاتور های RC خارجی ، اسیلاتور های کریستال خارجی ، اسلاتور های داخلی میکرو ...
تمام مراحل پردازشی در میکرو توسط کلاک ها هماهنگ میشه  و از این طریق همه بخش ها طبق یک استاندارد و فرکانس شروع به کار می کنن  
به طور مثال در نظر بگیرید فرکانس کاری سی پی یو میکرو 4 مگاهرتز مشخص میشه این بدین معنی هست که t = 1/f   یک دوره زمانی ( یک سیکل موج مربعی تولیدی توسط اسیلاتور ما ) برابر یک چهارم میکرو ثانیه هست .... امیدوارم تا حدودی با مفهوم سیکل ! آشنا شده باشین.... 

سوالتون خیلی کلی بود....

----------


## KING AMIN

عالی بود :تشویق:

----------


## parsianpool

خیلی خوب بود

----------

