39. سجلات الإزاحة: إدخال تسلسلي - إخراج تسلسلي (SISO)
سجل الإزاحة (Shift Register) هو سجل متخصص يمكنه إزاحة البيانات المخزنة يمينًا أو يسارًا بمقدار موضع واحد عند كل نبضة ساعة.
نقل البيانات التسلسلي
تُعد سجلات الإزاحة أساسية في التعامل مع الاتصالات التسلسلية للبيانات، حيث يتم نقل البيانات بتًا واحدًا في كل مرة عبر خط واحد (مثل USB أو SPI).
هيكل SISO
- يتكون سجل SISO بـ N-بت من N من قلابات D متصلة في سلسلة بسيطة متتالية.
- يصبح خرج ($Q_i$) لقلاب واحد مدخلًا ($D_{i+1}$) للقلاب التالي.
- يتم إدخال البيانات بالتتابع (إدخال تسلسلي، $D_{in}$) إلى القلاب الأول.
- تخرج البيانات بالتتابع من القلاب الأخير (إخراج تسلسلي، $Q_{out}$).
العملية
لتحميل كلمة N-بت، يستغرق الأمر N من نبضات الساعة. عند كل نبضة ساعة، يتم تحميل البت الأول، وتنزاح جميع البتات الموجودة موضعًا واحدًا إلى أسفل السلسلة.
مثال: لتحميل 1011 (4 بتات):
| نبضة الساعة | المدخل | $Q_3 Q_2 Q_1 Q_0$ |
|---|---|---|
| البداية | - | 0000 |
| 1 | 1 | 1000 |
| 2 | 1 | 1100 |
| 3 | 0 | 0110 |
| 4 | 1 | 1011 |
تكون البيانات متاحة عند $Q_0$ بعد 4 دورات ساعة.