تحلیل و طراحی مدارهای منطقی و سیستمهای دیجیتال: شیفت چرخشی - نکته رسمی
شیفت چرخشی
- شیفت چرخشی (Rotational Shift) در مدار های منطقی، عملیاتی است که در آن بیت های یک ثبات به صورت دایره ای جابجا می شوند. این جابجایی می تواند به سمت چپ (Left Rotate) یا به سمت راست (Right Rotate) صورت پذیرد.
- در شیفت چرخشی به سمت چپ، بیت هایی که از سمت چپ خارج می شوند، به سمت راست وارد ثبات می گردند. این عمل معادل ضرب در توان های 2 در نمایش مبنای 2، با لحاظ کردن سرریز (Overflow) و بازگشت بیت های خروجی است.
- در شیفت چرخشی به سمت راست، بیت هایی که از سمت راست خارج می شوند، به سمت چپ وارد ثبات می گردند. این عملیات مشابه تقسیم بر توان های 2 در نمایش مبنای 2 است، با این تفاوت که بیت های خارج شده از سمت راست، جایگزین بیت های خالی شده در سمت چپ می شوند.
- مدار های شیفت چرخشی با استفاده از گیت های منطقی پایه مانند AND، OR و NOT و هم چنین فلیپ فلاپ ها (Flip-flops) طراحی می شوند. ساختار این مدار ها به گونه ای است که خروجی یک فلیپ فلاپ به ورودی فلیپ فلاپ مجاور و هم چنین به ورودی اولین فلیپ فلاپ (در حالت چرخشی) متصل می شود.
- عملیات شیفت چرخشی دارای کاربرد های متعددی در سیستم های دیجیتال است، از جمله در رمزنگاری (Cryptography) برای درهم سازی (Scrambling) داده ها، در الگوریتم های پردازش سیگنال دیجیتال (DSP) و در پیاده سازی برخی دستورالعمل های پردازنده ها.
- تفاوت اصلی شیفت چرخشی با شیفت منطقی (Logical Shift) در نحوه برخورد با بیت های خارج شده و وارد شده است. در شیفت منطقی، بیت های خالی شده معمولاً با صفر پر می شوند، در حالی که در شیفت چرخشی، بیت های خارج شده به سمت دیگر ثبات منتقل می شوند.
- برای پیاده سازی شیفت چرخشی به چپ در یک ثبات N بیتی، می توان از مدار های مولتی پلکسر (Multiplexer) استفاده کرد. به این صورت که ورودی هر فلیپ فلاپ، بسته به سیگنال کنترل شیفت، یا مقدار اصلی خود را دریافت می کند یا مقدار بیت مجاور را.
- مدار های شیفت چرخشی به راست نیز مشابه مدار های شیفت چرخشی به چپ طراحی می شوند، با این تفاوت که جهت انتقال بیت ها معکوس می گردد. در این حالت، خروجی هر فلیپ فلاپ به ورودی فلیپ فلاپ قبلی (از نظر ترتیب بیتی) متصل می شود.
- در زمینه رمزنگاری، عملیات شیفت چرخشی به دلیل حفظ تعداد بیت های 1 و 0 در ثبات، می تواند به عنوان یک جزء اساسی در الگوریتم های جایگزینی (Substitution) و جابجایی (Permutation) به کار رود.
- کاربرد دیگر شیفت چرخشی در تولید اعداد شبه تصادفی (Pseudo-random Number Generators) است. با اعمال شیفت چرخشی بر روی یک مقدار اولیه و ترکیب آن با سایر عملیات منطقی، می توان دنباله هایی از اعداد با خواص آماری مطلوب تولید کرد.
منبع آموزشی این مطلب
این مطلب برگرفته از محصول آموزشی «دوره جامع «الکترونیک دیجیتال ویژه کنکور ارشد کامپیوتر – از مبانی مدارهای منطقی تا تحلیل سیستمهای دیجیتال»» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول