شیفت رجیستر نوع دیگری از مدار منطقی ترتیبی است که می‌تواند برای ذخیره یا انتقال داده دودویی بکار رود.

شیفت رجیستر

این قطعه ترتیبی حضور داده را در ورودی خود بار گذاری می کند و سپس آن را به خروجی خود در هر سیکل ساعت “شیفت” یا جابجا می کند و از این رو نام آن شیفت رجیستر است.

تمامی شیفت رجیسترها اساسا از تعداد زیادی بیت‌های واحد “قفل های داده نوع D “تشکیل شده اند، یکی برای هر بیت داده هم  “0” یا “1” منطقی ، که به یکدیگر در آرایش سریال نوع  زنجیره-دایزی وصل شده اند، بنابراین خروجی از یک قفل داده ورودی قفل بعدی می‌شود و به همین ترتیب ادامه دارد.

انواع شیفت رجیستر

بیت‌های داده ممکن است از یا خارج از شیفت رجیستر بصورت سریالی، یکی بعد از دیگری هم از جهت چپ یا راست یا همگی با هم در یک زمان در یک پیکربندی موازی تغذیه شوند.

تعداد قفل‌های داده مستقل مورد نیاز برای آرایش یک قطعه شیفت رجیستر واحد معمولا توسط تعدادی بیت برای ذخیره شدن تعیین می شود که متداولترین آنها 8 بیت (یک بایت) عریض ساخته شده از هشت قفل داده مستقل است.

شیفت رجیسترها برای ذخیره سازی داده‌ها یا جابجایی داده‌ها استفاده می‌شوند و بنابراین معمولاً در داخل ماشین حساب‌ها یا رایانه‌ها برای ذخیره داده‌ها مانند دو عدد باینری قبل از جمع شدن آنها یا تبدیل داده‌ها از سریال به موازی یا موازی به سریال استفاده می‌شوند. قفل‌های داده منفرد که یک شیفت رجیستر واحد را تشکیل می دهند، همه توسط یک سیگنال ساعت (Clk) مشترک هدایت می‌شوند که آنها را به دستگاه‌های همزمان تبدیل می‌کند.

آی سی های شیفت رجیسترها  عموما با یک اتصال پاک کردن یا ریست  همراه هستند بنابراین آنها می توانند در هنگام نیاز “ست (تنظیم)” یا “ریست” شوند. عموما، شیفت رجیسترها در یکی از 4 حالت مختلف با جابجایی پایه داده از شیفت رجیستر عمل می کنند:

  • سریال به موازی (SIPO1) – رجیستر با داده سریال بار گذاری می‌شود، یک بیت در یک زمان با داده ذخیره شده که در خروجی در شکل موازی موجود است.
  • سریال به سریال (SISO2) – داده بصورت سریال  از “ورودی” و “خروجی” رجیستر شیفت می‌یابد، یک بیت در یک زمان هم در جهت چپ یا راست تحت کنترل ساعت.
  • موازی به سریال (PISO3) – داده موازی به رجیستر بصورت همزمان بار گذاری می‌شود و از رجیستر بصورت موازی خارج می‌شود یک بیت در یک زمان تحت کنترل ساعت.
  • موازی به موازی (PIPO4) – داده موازی بصورت همزمان به رجیستر بار گذاری می‌شود و با یکدیگر به خروجی‌های متناظر خود توسط همان پالس ساعت انتقال می‌یابند.

تاثیر جابجایی داده از چپ به راست از یک شیفت رجیستر می‌تواند بصورت گرافیکی به شکل زیر نمایش داده شود:

شیفت رجیستر

همچنین، جهت حرکت داده‌ها از یک شیفت رجیستر  می‌تواند به سمت چپ، (تغییر به چپ) به راست، (تغییر به راست) از چپ وارد اما خارج از راست، (چرخش) یا تغییر جهت هم چپ و راست در داخل باشد که همین آن را دو طرفه می کند. در این آموزش فرض بر این است که همه داده ها به راست، (تغییر به راست) تغییر جهت می دهند.

شیفت رجیستر ورودی سریال و خروجی موازی (SIPO)

شیفت رجیستر ورودی سریال و خروجی موازی 4 بیتی

شیفت رجیستر

عملیات به شرح زیر است. بیایید فرض کنیم که تمامی فلیپ فلاپ‌ها (FFA به FFD)  ریست شده اند (ورودی پاک شده است) و تمامی خروجی‌ها QA تا QD در سطح منطقی “0”  هستند و داده موازی در خروجی وجود ندارد.

اگر یک منطق “1” به اتصال ورودی داده FFA وصل شود سپس در اولین پالس ساعت، خروجی FFA و در نتیجه QAحاصل به بالا (HIGH) به منطق “1” ست خواهند شد در حالی که تمامی خروجی های دیگر همچنان پایین در منطق “0” باقی خواهند ماند. اکنون فرض کنید که اتصال ورودی داده FFA دوباره به پایین به سطح منطق “0” چرخیده است که به ما یک پالس داده یا 0-1-0  ارائه می دهد.

پالس ساعت دومی خروجی FFA را به منطق “0” تغییر خواهد داد و خروجی FFB و QB بالا به منطق “1” می روند  زیرا که ورودی D آن دارای سطح منطق “1” در آن از QA هستند. منطق “1” اکنون یک مکان در راستای رجیستر به راست جابه جا  یا “شیفت” یافته است بطوری که اکنون در QA است.

با رسیدن پالس ساعت سوم به این مقدار  منطقی “1” به خروجی (FFC (QC منتقل می شود و به همین ترتیب تا رسیدن پالس ساعت پنجم که همه خروجی QA تا QD را دوباره به سطح منطقی “0” تنظیم می‌کند زیرا ورودی به FFA در سطح منطقی “0” ثابت مانده است.

تأثیر هر پالس ساعت انتقال محتوای داده‌های هر مرحله به یک مکان به سمت راست است و این در جدول زیر نشان داده شده است تا مقدار داده کامل 0-0-0-1 در رجیستر ذخیره شود. این مقدار داده اکنون می‌تواند مستقیماً از خروجی های QA تا QD خوانده شود.

سپس داده‌ها از یک سیگنال ورودی داده سریال به یک خروجی داده موازی تبدیل شده اند. جدول درستی و شکل موج‌های زیر انتشار منطق “1” را از رجیستر از چپ به راست به شرح زیر نشان می‌دهد.

حرکت داده پایه از یک شیفت رجیستر

شیفت رجیستر

شیفت رجیستر

 

توجه داشته باشید که پس از پایان پالس ساعت چهارم، داده‌های 4 بیتی (0-0-0-1) در رجیستر ذخیره می‌شوند و در صورت متوقف شدن زمان سنجی رجیستر، در آنجا باقی می‌مانند. در عمل، داده های ورودی به رجیستر ممکن است از ترکیبات مختلف منطق “1” و “0” تشکیل شده باشد. آی سی های SIPO که معمولاً در دسترس است شامل استاندارد 8 بیتی 74LS164 یا 74LS594 است.

شیفت رجیستر ورودی سریال به خروجی سریال (SISO)

این شیفت رجیستر بسیار شبیه به SIPO فوق است، مگر اینکه قبل از این که داده‌ها مستقیماً به صورت موازی از خروجی های QA تا QD خوانده شوند، این بار داده‌ها مجاز هستند تا از طریق رجیستر و از انتهای دیگر آن جاری شوند. از آنجا که فقط یک خروجی وجود دارد، داده شیفت رجیستر را یک بار در یک زمان در الگوی سریال رها می‌کند، از این رو نام آن شیفت رجیستر ورودی سریال خروجی سریال یا SISO است.

شیفت رجیستر SISO یکی از ساده‌ترین این چهار پیکربندی است زیرا تنها سه اتصال دارد، ورودی سریال (SI) که تعیین می کند چه چیزی وارد فلیپ فلاپ سمت چپ شود، خروجی سریال (SO) که از خروجی فلیپ فلاپ دست راست و سیگنال ساعت توالی (Clk) گرفته شده است. نمودار مدار منطقی زیر یک شیفت رجیستر ورودی سریال خروجی سریال عمومی را نشان می‌دهد.

شیفت رجیستر ورودی سریال خروجی سریال 4 بیتی

شیفت رجیستر

اگر داده‌های خروجی دقیقاً همان داده‌های ورودی باشد، ممکن است فکر کنید که هدف شیفت رجیستر SISO چیست. خوب این نوع شیفت رجیستر همچنین به عنوان یک قطعه ذخیره موقتی عمل می کند یا می تواند به عنوان دستگاه تأخیر زمانی برای داده‌ها عمل کند، با اینکه میزان تأخیر زمانی توسط تعداد مراحل رجیستر ، 4 ، 8 ، 16 و غیره یا با تغییر دادن کاربرد پالس‌های ساعت کنترل می شود. IC های رایج در دسترس شامل74HC595 شیفت رجیستر ورودی سریال به خروجی سریال 8 بیتی همه با خروجی 3 حالته است.

شیفت رجیستر ورودی موازی خروجی سریال (PISO)

شیفت رجیستر ورودی موازی خروحی سریال در جهت مخالف ورودی سریال ورودی با خروجی موازی در بالا عمل می‌کند. داده‌ها در یک فرم موازی که در آن همه بیت ها داده ورودی‌های خود را به طور همزمان وارد می‌کنند، به پایه‌های ورودی موازی PA به PD بارگذاری می شود. سپس داده‌ها به طور پی در پی در حالت شیفت از راست از رجیستر در Q که حضور داده‌ها را در PA تا PD نشان می‌دهد خوانده می‌شوند.

این داده‌ها در هر چرخه ساعت به صورت سریال بصورت یک بیت خروجی می‌دهند. توجه به این نکته ضروری است که با این نوع شیفت رجیستر، یک پالس ساعت برای بارگذاری موازی رجیستر، همانطور که قبلا بود، مورد نیاز نیست، اما برای تخلیه داده‌ها به چهار پالس ساعت نیاز است.

شیفت رجیستر ورودی موازی خروجی سریال 4 بیتی

شیفت رجیستر

از آنجایی که این نوع شیفت رجیستر داده‌های موازی مانند یک کلمه داده 8 بیتی را به قالب سریال تبدیل می کند، از آن می توان برای مالتی پلکس بسیاری از خطوط مختلف ورودی به یک رشته سریال داده سریال استفاده کرد که می‌تواند مستقیماً به کامپیوتر ارسال شود یا از طریق خط ارتباطی ارسال شود. IC های رایج در دسترس شامل شیفت رجیستر ورودی موازی خروجی سریال 8 بیتی 74HC166 هستند.

شیفت رجیستر ورودی موازی خروجی موازی (PIPO)

حالت نهایی عملکرد شیفت رجیستر ورودی موازی به خروجی موازی است. این نوع شیفت رجیستر همچنین به عنوان یک دستگاه ذخیره موقت یا به عنوان یک دستگاه تأخیر زمانی مشابه تنظیمات SISO در بالا عمل می کند. داده‌ها در یک قالب موازی به پایه‌های ورودی موازی PA به PD ارائه می شوند و سپس توسط پالس ساعت مشابه مستقیماً به پایه‌های خروجی مربوطه خود QA تا QD منتقل می‌شوند. سپس یک پالس ساعت رجیستر را بارگیری و تخلیه می کند. این آرایش برای بارگیری و تخلیه موازی در زیر نشان داده شده است.

شیفت رجیستر ورودی موازی خروجی موازی 4 بیتی

شیفت رجیستر

شیفت رجیستر PIPO ساده‌ترین نوع 4 پیکربندی است زیرا فقط سه اتصال دارد، ورودی موازی (PI) که تعیین می‌کند چه چیزی وارد فلیپ فلاپ شود، خروجی موازی (PO) و سیگنال ساعت توالی (Clk). مشابه شیفت رجیستر سریال به سریال، این نوع رجیستر همچنین به عنوان یک قطعه ذخیره موقت یا به عنوان دستگاه تاخیر زمانی عمل می‌کند، با میزان تاخیر زمانی که با توجه به فرکانس پالس‌های ساعت تغییر می کند. همچنین، در این نوع رجیستر هیچ ارتباطی بین فلیپ فلاپ‌های منفرد وجود ندارد، زیرا نیازی به تغییر سریال داده‌ها نیست.

شیفت رجیستر جهانی

امروزه بسیاری از شیفت رجیسترهای نوع “جهانی” تک جهته سرعت بالا مانند TTL 74LS194 ، 74LS195 یا CMOS 4035 وجود دارد که به عنوان قطعات چند منظوره 4 بیتی در دسترس هستند که می توانند در هر دو سریال به سریال، تغییر جهت به چپ ، تغییر به راست ، سریال به موازی، موازی به سریال یا به عنوان یک رجیستر داده چند تابع موازی به موازی استفاده شوند، که از این رو نام آنها “جهانی” است.

این شیفت رجیسترهای جهانی می‌توانند هر ترکیبی از ورودی موازی و سریال را برای عملیات خروجی انجام دهند اما برای مشخص کردن عملکرد مورد نظر و بارگیری و تنظیم مجدد دستگاه به ورودی های اضافی نیاز دارند. یک شیفت رجیستر جهانی که معمولاً مورد استفاده قرار می گیرد TTL 74LS194 است که در زیر نشان داده شده است.

شیفت رجیستر جهانی 4 بیتی 74LS194

شیفت رجیستر جهانی

شیفت رجیستر‌های جهانی قطعات دیجیتالی بسیار مفیدی هستند. می توان آنها را برای پاسخگویی به عملیاتی که به نوعی ذخیره سازی حافظه موقت یا تأخیر در اطلاعاتی مانند حالت های تنظیم SISO یا PIPO یا انتقال داده‌ها از یک نقطه به نقطه دیگر در قالب سریال یا موازی ، طراحی کرد. شیفت رجیسترهای جهانی غالباً در عملیات حساب برای جابجایی داده‌ها به سمت چپ یا راست برای ضرب یا تقسیم مورد استفاده قرار می‌گیرند.

خلاصه آموزش شیفت رجیستر

یک شیفت رجیستر ساده می‌تواند تنها با استفاده از یک فلیپ فلاپ نوع D یک فلیپ فلاپ برای هر بیت داده ساخته شود.

خروجی از هر فلیپ فلاپ به ورودی D هر فلیپ فلاپ در راست خود وصل می‌شود.

شیفت رجیسترها داده را در حافظه خود نگه می‌دارند که به موقعیت‌های مورد نیاز خود در هر پالس ساعت جابه جا  یا “شیفت” می‌یابند.

هر پالس ساعت محتواهای رجیستر را یک بیت یک بیت به چپ یا راست شیفت می‌دهند.

بیت‌های داده می‌توانند یک بت یک بیت در هر لحظه در پیکربندی ورودی سری (SI) بارگذاری شوند یا بصورت همزمان در پیکربندی موازی (PI) بارگذاری شوند.

داده ممکن است بصورت یک بیت یک بیت در هر لحظه برای خروجی سری (SO) حذف شوند یا همگی باهم در یک زمان از یک خروجی موازی حذف شوند.

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

شیفت رجیسترها بصورت مستقل به عنوان SIPO ,SISO ,PIPO ,PISO یا بصورت شیفت رجیستر جهانی با تمامی توابعی که درون یک قطعه واحد ترکیب شده است تعیین می‌شوند.

در آموزش بعدی در مورد مدارهای منطقی پی در پی، بررسی خواهیم کرد که چه اتفاقی می‌افتد هنگامی که خروجی آخرین فلیپ فلاپ در یک شیفت رجیستر مستقیماً به ورودی اولین فلیپ فلاپ وصل می‌شود که یک مدار حلقه بسته تولید می‌کند و دائماً داده‌ها در اطراف حلقه مجددا گردش می‌کنند. سپس نوع دیگری از مدار منطقی پی در پی به نام شمارنده حلقه تولید می‌شود که به عنوان شمارنده و تقسیم کننده های دهی استفاده می‌شود.

 

___________________________

Serial-in to Parallel-out1

Serial-in to Serial-out2

Parallel-in to Serial-out3