الأنظمة الرقمية · الفصل 10 — المسجِّلاتאוגרים · מערכות ספרתיות · סמל מקצוע 11.002⌂📚🏠
الفصل 10
المسجِّلات
אוגרים
الصف العاشر · 4 ساعات تعليمية
قلّاب واحد يتذكر بتا واحدا. لكن العدد الذي نريد أن نحفظه — نتيجة جمع، رقم على الشاشة، حرف من لوحة المفاتيح — مكوّن من عدة بتات. لذلك نضع عدة قلّابات جنبا إلى جنب ونعطيها نفس إشارة الساعة: هكذا نحصل على المسجِّل. في هذا الفصل نتعلم كيف ندخل البتات إلى المسجِّل وكيف نخرجها — كلها معا أو بتا بعد بت — وكيف نتتبع محتواه نبضة بعد نبضة.
في نهاية هذا الفصل سنعرف أن:
نشرح ما هو المسجِّل، وكم قلّابا نحتاج لحفظ كلمة من n بتات.
نرسم مسجِّلا متوازيا من قلّابات D، ونشرح وظيفة مدخل التحميل LOAD.
نميّز بين أربعة أنواع من المسجِّلات: SISO ، SIPO ، PISO ، PIPO.
نحدد اتجاه الإزاحة في مسجِّل الإزاحة ونكتب محتواه بعد كل نبضة.
نملأ جدول التتبع ونرسم مخطط الزمن لمسجِّل متوازٍ–تسلسلي، تسلسلي–تسلسلي وتسلسلي–متوازٍ.
نحسب عدد النبضات اللازم لإدخال كلمة وإخراجها، وزمن التأخير.
نستعمل الإزاحة للضرب في 2 وللقسمة على 2، ونشرح كيف يعمل العدّاد الحلقي.
المسجِّل(אוגר): هو مجموعة من القلّابات لها إشارة ساعة مشتركة، وتحفظ معا كلمة ثنائية واحدة. كل قلّاب يحفظ بتا واحدا، ولذلك مسجِّل من n قلّابات يحفظ كلمة من n بتات.
نرقّم القلّابات كما نرقّم خانات العدد الثنائي: Q0 هو البت الأدنى وزنا (LSB)، و Q3 هو البت الأعلى وزنا في مسجِّل من أربعة بتات. محتوى المسجِّل نكتبه دائما بهذا الترتيب: Q3Q2Q1Q0. مثلا المحتوى 1010 معناه Q3 = 1 ، Q2 = 0 ، Q1 = 1 ، Q0 = 0.
عدد الكلمات التي يستطيع المسجِّل أن يحفظها · מספר המילים שאוגר יכול לשמור
M = 2n
Nmax = 2n − 1
الرمز
المعنى
وحدة القياس
n
عدد القلّابات في المسجِّل (عدد البتات)
—
M
عدد الكلمات المختلفة
—
Nmax
أكبر عدد (بدون إشارة) يمكن حفظه
—
مثال 10.1
كم قلّابا نحتاج في مسجِّل يحفظ عددا بين 0 و 100؟
الحل:
نبحث عن أصغر n يحقق 2n − 1 ≥ 100.
26 − 1 = 63
27 − 1 = 127
ستة قلّابات لا تكفي، وسبعة تكفي.
n = 7
تدريب سريع — كم قلّابا نحتاج على الأقل لحفظ العدد؟
المسجِّل المتوازي(אוגר מקבילי (PIPO)): هو مسجِّل فيه لكل قلّاب مدخل خاص به Di ومخرج خاص به Qi. كل البتات تدخل معا في نبضة ساعة واحدة، وتظهر معا في المخارج. الاسم المختصر PIPO: Parallel In – Parallel Out.
مسجِّل متوازٍ من أربعة قلّابات D بحافة صاعدة: المداخل D3 … D0 من الأعلى، المخارج Q3 … Q0 من الأسفل، والساعة مشتركة
نتذكر من الفصل 9: قلّاب D ينسخ ما في مدخله D إلى مخرجه Q في لحظة الحافة الفعالة للساعة، ويحافظ عليه حتى الحافة التالية. في المسجِّل المتوازي تفعل القلّابات الأربعة ذلك في نفس اللحظة. هذه العملية تسمى التحميل المتوازي (טעינה מקבילית).
بلغة القانون: لكل قلّاب رقمه i (من 0 حتى 3)، المحتوى بعد الحافة الفعالة يساوي المدخل قبلها:
Qi(n+1) = Di
مثال 10.2
مسجِّل متوازٍ من أربعة بتات محتواه الابتدائي 0000. قبل كل نبضة ساعة نضع في مداخله كلمة جديدة: 1010 ، 0111 ، 0111 ، 0000 ، 1101. نملأ جدول التتبع.
الحل:
في كل سطر نكتب الكلمة التي كانت في المداخل قبل النبضة، ومحتوى المسجِّل بعد النبضة. المحتوى الجديد هو ببساطة نسخة من المداخل.
جدول التتبع: العمود CLK هو رقم النبضة؛ السطر 0 هو الحالة الابتدائية
CLK
D3
D2
D1
D0
Q3
Q2
Q1
Q0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
2
0
1
1
1
0
1
1
1
3
0
1
1
1
0
1
1
1
4
0
0
0
0
0
0
0
0
5
1
1
0
1
1
1
0
1
في النبضة الثالثة لم تتغير المداخل، ولذلك لم يتغير المحتوى.
جدول التتبع(טבלת מעקב): هو جدول نكتب فيه، سطرا لكل نبضة ساعة، قيم المداخل ومحتوى المسجِّل بعد النبضة. السطر الأول هو الحالة الابتدائية قبل أي نبضة.
مثال 10.3
مسجِّل متوازٍ من بتين (Q1Q0) بحافة صاعدة، محتواه الابتدائي 00. معطى مخطط الزمن للمدخلين D1 و D0. نرسم Q1 و Q0.
الحل:
نمرّ على الحواف الصاعدة واحدة بعد أخرى. عند كل حافة ننظر إلى قيمة كل مدخل قبل الحافة بقليل، وننسخها إلى المخرج المقابل. بين الحواف المخرج لا يتغير حتى لو تغيّر المدخل.
مخطط الزمن لمسجِّل متوازٍ من بتين
محتوى المسجِّل Q1Q0 بعد كل نبضة: 10 ← 01 ← 11 ← 10 ← 01 ← 00.
سؤال 10.1: نكمل مخطط الزمن لنفس المسجِّل (المحتوى الابتدائي 00)، ونكتب محتواه Q1Q0 بعد كل نبضة.
مسجِّل مع مدخل تحميل LOAD – אוגר עם מבוא טעינה:
المسجِّل الذي رسمناه يحمّل كلمة جديدة في كل نبضة ساعة. في الأنظمة الحقيقية نريد أن يحتفظ المسجِّل بالكلمة لزمن طويل، وأن يستقبل كلمة جديدة فقط عندما نأمره. لذلك نضيف مدخل تحكم اسمه LOAD: عندما LOAD = 1 المسجِّل يحمّل المداخل في الحافة الفعالة؛ عندما LOAD = 0 يحافظ على محتواه.
كيف نبني ذلك؟ قبل كل قلّاب نضع ناخبا (MUX) صغيرا من قناتين. خط الاختيار هو LOAD: القناة 1 موصولة بالمدخل Di، والقناة 0 موصولة بمخرج القلّاب نفسه Qi. هكذا عندما LOAD = 0 القلّاب «يحمّل نفسه» في كل نبضة، أي لا يتغير.
خلية واحدة من مسجِّل مع مدخل تحميل: ناخب 2:1 قبل قلّاب D
مسجِّل متوازٍ مع مدخل تحميل · אוגר מקבילי עם מבוא טעינה
Qi(n+1) = LOAD·Di + LOAD·Qi(n)
الرمز
المعنى
وحدة القياس
LOAD
مدخل التحميل: 1 — تحميل، 0 — حفظ
—
Di
المدخل المتوازي رقم i
—
Qi(n)
محتوى القلّاب قبل النبضة
—
Qi(n+1)
محتوى القلّاب بعد النبضة
—
الرمز المختصر لمسجِّل من أربعة بتات، وجدول العمل له؛ السهم ↑ هو الحافة الصاعدة
LOAD
CLK
Q3Q2Q1Q0
العملية
1
↑
D3D2D1D0
تحميل متوازٍ
0
↑
Q3Q2Q1Q0
حفظ (لا تغيير)
X
0
Q3Q2Q1Q0
لا توجد حافة — لا تغيير
مثال 10.4
مسجِّل متوازٍ من أربعة بتات مع مدخل LOAD، محتواه الابتدائي 0000. في الجدول معطاة قيم LOAD والمداخل قبل كل نبضة. نملأ عمود المحتوى.
الحل:
في كل سطر نسأل أولا: ما قيمة LOAD؟ إذا كانت 1 ننسخ المداخل؛ إذا كانت 0 ننسخ المحتوى من السطر الذي فوقه.
CLK
LOAD
D3
D2
D1
D0
Q3
Q2
Q1
Q0
العملية
0
0
0
0
0
الحالة الابتدائية
1
1
1
0
0
1
1
0
0
1
تحميل
2
0
0
1
1
0
1
0
0
1
حفظ
3
0
1
1
1
1
1
0
0
1
حفظ
4
1
0
0
1
1
0
0
1
1
تحميل
5
0
1
1
0
0
0
0
1
1
حفظ
6
1
0
1
0
1
0
1
0
1
تحميل
مخطط الزمن لبت واحد من المسجِّل: Q0 ينسخ D0 فقط في الحواف التي يكون قبلها LOAD = 1 (النبضات 2 ، 5 و 7)
تدريب سريع — مسجِّل مع مدخل LOAD: معطى المحتوى، المداخل وقيمة LOAD. ما هو المحتوى بعد النبضة؟
1Q = 0000 ، D = 1011 ، LOAD = 1
2Q = 1011 ، D = 0100 ، LOAD = 0
3Q = 0110 ، D = 0110 ، LOAD = 1
4Q = 1111 ، D = 0000 ، LOAD = 0
5Q = 1000 ، D = 0001 ، LOAD = 1
6Q = 0101 ، D = 1010 ، LOAD = 0
الإجابات:110112101130110411115000160101
ملاحظة: أين نجد المسجِّل المتوازي؟ في كل مكان يجب فيه أن «نمسك» عددا: نتيجة الجامع قبل أن تتغير مداخله، الرقم الذي تعرضه شاشة العرض، والمسجِّلات داخل المعالج التي تحفظ الأعداد أثناء الحساب. مسجِّل من 8 بتات يحفظ بايتا واحدا.
سؤال 10.2: مسجِّل متوازٍ من أربعة بتات مع مدخل LOAD محتواه 0110. نضع في مداخله 1001 ونعطيه ثلاث نبضات: في الأولى LOAD = 0، في الثانية LOAD = 1، في الثالثة LOAD = 0. ما هو محتواه بعد كل نبضة؟
טבלאות מעקב ודיאגראמות זמנים של אוגר הזזה מקבילי-טורי – جداول التتبع ومخططات الزمن لمسجِّل إزاحة متوازٍ–تسلسلي (Parallel-In Serial-Out)
مسجِّل الإزاحة – אוגר הזזה:
مسجِّل الإزاحة(אוגר הזזה): هو مسجِّل فيه مخرج كل قلّاب موصول بمدخل القلّاب الذي بجانبه. في كل نبضة ساعة ينتقل كل بت خانة واحدة إلى القلّاب المجاور. البتات تدخل وتخرج واحدا بعد الآخر، على خط واحد: هذا هو العمل التسلسلي (טורי).
مسجِّل إزاحة من أربعة قلّابات D. اتجاه الإزاحة: إلى اليمين، من Q3 نحو Q0
في الرسم: البت الجديد يدخل من المدخل التسلسليSI (Serial In) إلى القلّاب FF3. مخرج Q3 موصول بمدخل FF2، مخرج Q2 بمدخل FF1، ومخرج Q1 بمدخل FF0. مخرج القلّاب الأخير Q0 هو المخرج التسلسليSO (Serial Out). في كل حافة صاعدة يأخذ كل قلّاب القيمة التي كانت عند جاره الأيسر قبل الحافة، والبت الذي كان في Q0 يخرج ويضيع.
مسجِّل إزاحة إلى اليمين · אוגר הזזה ימינה
Q3(n+1) = SI
Q2(n+1) = Q3(n)
Q1(n+1) = Q2(n)
Q0(n+1) = Q1(n)
الرمز
المعنى
وحدة القياس
SI
المدخل التسلسلي قبل الحافة الفعالة
—
Qi(n)
محتوى القلّاب رقم i قبل النبضة
—
Qi(n+1)
محتوى القلّاب رقم i بعد النبضة
—
انتبه: كل القلّابات تتغير في نفس الحافة، وكل قلّاب يأخذ القيمة القديمة لجاره. لا «يركض» البت عبر كل المسجِّل في نبضة واحدة: نبضة واحدة = خانة واحدة.
مثال 10.5
مسجِّل إزاحة إلى اليمين من أربعة بتات محتواه الابتدائي 0000. في المدخل التسلسلي تدخل البتات 1 , 0 , 1 , 1 (الأول من اليسار) — بت قبل كل نبضة. نملأ جدول التتبع.
الحل:
في كل سطر: البت SI يدخل إلى Q3، وكل بت آخر ينزاح خانة واحدة إلى اليمين.
CLK
SI
Q3
Q2
Q1
Q0
0
0
0
0
0
1
1
1
0
0
0
2
0
0
1
0
0
3
1
1
0
1
0
4
1
1
1
0
1
نلاحظ كيف «يسافر» البت الأول: بعد النبضة 1 هو في Q3، وبعد النبضة 4 وصل إلى Q0.
ملاحظة: في هذا الفصل نكتب سلسلة البتات التي تدخل أو تخرج هكذا: 1 , 0 , 1 , 1 ونقرؤها من اليسار إلى اليمين: البت الأيسر هو الأول في الزمن.
تدريب سريع — إزاحة إلى اليمين: معطى المحتوى Q3Q2Q1Q0 والبت SI. ما هو المحتوى بعد نبضة واحدة؟
10000 ، SI = 1
21000 ، SI = 0
31100 ، SI = 1
40110 ، SI = 0
51011 ، SI = 1
60001 ، SI = 0
71111 ، SI = 0
80101 ، SI = 1
الإجابات:1100020100311104001151101600007011181010
أربعة أنواع من المسجِّلات – ארבעה סוגי אוגרים:
الدخول إلى المسجِّل يمكن أن يكون تسلسليا (بت بعد بت) أو متوازيا (كل البتات معا)، وكذلك الخروج. من هنا أربعة أنواع:
مسجِّل متوازٍ–تسلسلي(אוגר הזזה מקבילי-טורי (PISO)): هو مسجِّل إزاحة نحمّل فيه كل البتات معا من مداخل متوازية، ثم نخرجها بتا بعد بت من المخرج التسلسلي. الاسم: Parallel In – Serial Out.
المسجِّل يعمل بطريقتين، ومدخل التحكم LOAD يختار بينهما. قبل كل قلّاب يوجد ناخب 2:1، كما في المسجِّل مع مدخل التحميل، لكن القناة 0 موصولة هذه المرة بمخرج القلّاب المجاور:
LOAD = 1 — تحميل: في الحافة الفعالة تدخل الكلمة D3D2D1D0 إلى القلّابات الأربعة معا.
LOAD = 0 — إزاحة: في كل حافة فعالة ينزاح المحتوى خانة واحدة إلى اليمين، والبت SI يدخل إلى Q3.
مسجِّل متوازٍ–تسلسلي من أربعة بتات. الإزاحة إلى اليمين، والمخرج التسلسلي هو SO = Q0
مسجِّل متوازٍ–تسلسلي · אוגר הזזה מקבילי-טורי
Q3(n+1) = LOAD·D3 + LOAD·SI
Qi(n+1) = LOAD·Di + LOAD·Qi+1(n)
SO = Q0
الرمز
المعنى
وحدة القياس
LOAD
1 — تحميل متوازٍ ، 0 — إزاحة إلى اليمين
—
Di
المدخل المتوازي رقم i
—
SI
المدخل التسلسلي (نوصله عادة بـ 0)
—
SO
المخرج التسلسلي
—
i
رقم القلّاب: 0 ، 1 ، 2
—
مثال 10.6
في مسجِّل PISO من أربعة بتات نضع في المداخل المتوازية الكلمة D3D2D1D0 = 1011. المحتوى الابتدائي 0000 والمدخل التسلسلي SI = 0. في النبضة الأولى LOAD = 1، وبعدها LOAD = 0. نملأ جدول التتبع ونكتب ترتيب خروج البتات من SO.
الحل:
النبضة 1 تحمّل الكلمة كلها. بعدها كل نبضة تزيح المحتوى خانة واحدة إلى اليمين، ومن اليسار يدخل 0.
CLK
LOAD
SI
Q3
Q2
Q1
Q0
SO
العملية
0
0
0
0
0
الحالة الابتدائية
1
1
X
1
0
1
1
1
تحميل
2
0
0
0
1
0
1
1
إزاحة
3
0
0
0
0
1
0
0
إزاحة
4
0
0
0
0
0
1
1
إزاحة
5
0
0
0
0
0
0
0
إزاحة
مباشرة بعد التحميل يظهر في المخرج SO البت D0 = 1. بعد كل نبضة إزاحة يظهر البت التالي: D1 ، ثم D2 ، ثم D3.
ترتيب الخروج من SO: 1 , 1 , 0 , 1 — البت الأدنى وزنا يخرج أولا.
احتجنا إلى نبضة واحدة للتحميل وثلاث نبضات إزاحة لكي نرى البتات الأربعة: 4 نبضات. النبضة الخامسة تُفرغ المسجِّل.
مخطط الزمن لنفس المثال: الكلمة 1011 تُحمَّل في النبضة 1 ثم تخرج من SO = Q0 بتا بعد بت
نتذكر: لإرسال كلمة من n بتات من مسجِّل PISO نحتاج إلى نبضة تحميل واحدة ثم n − 1 نبضات إزاحة حتى يظهر البت الأخير في SO: بالمجموع n نبضات.
سؤال 10.3: نحمّل في مسجِّل PISO من أربعة بتات الكلمة 0110 ، ثم نعطيه ثلاث نبضات إزاحة مع SI = 0. نكتب محتوى المسجِّل بعد كل نبضة، وترتيب البتات التي تظهر في SO.
تدريب سريع — مسجِّل PISO من أربعة بتات: نحمّل الكلمة ثم نزيح مع SI = 0. بأي ترتيب تخرج البتات من SO (الأول من اليسار)؟
تدريب سريع — مسجِّل PISO: نحمّل الكلمة، ثم k نبضات إزاحة إلى اليمين مع SI = 0. ما هو المحتوى؟
11101 ، k = 1
21101 ، k = 2
30111 ، k = 1
41010 ، k = 3
51111 ، k = 2
61001 ، k = 3
الإجابات:101102001130011400015001160001
مثال 10.7
نرسل كلمتين واحدة بعد الأخرى على خط واحد: أولا 1001 ثم 0110. المسجِّل PISO من أربعة بتات، SI = 0. متى يجب أن يكون LOAD = 1؟ نرسم مخطط الزمن.
الحل:
كل كلمة تحتاج إلى 4 نبضات: نبضة تحميل وثلاث نبضات إزاحة. لذلك نحمّل الكلمة الأولى في النبضة 1 والكلمة الثانية في النبضة 5، بالضبط عندما يكون البت الأخير من الكلمة الأولى قد ظهر في SO.
البتات التي تظهر في SO بعد النبضات 1 حتى 8: 1 , 0 , 0 , 1 , 0 , 1 , 1 , 0.
ملاحظة: لماذا نحوّل من متوازٍ إلى تسلسلي؟ لكي نرسل 8 بتات معا نحتاج إلى 8 أسلاك. إذا أرسلناها بتا بعد بت يكفي سلك واحد (وسلك للساعة). هكذا ترسل لوحة المفاتيح الحروف إلى الحاسوب، وهكذا يعمل منفذ USB. الثمن: الإرسال يحتاج إلى n نبضات بدل نبضة واحدة.
سؤال 10.4: مسجِّل PISO من أربعة بتات، في مداخله المتوازية الكلمة 1100 و SI = 0. نكمل مخطط الزمن ونكتب محتوى المسجِّل بعد كل نبضة.
טבלאות מעקב ודיאגראמות זמנים של אוגר טורי ומקבילי – جداول التتبع ومخططات الزمن لمسجِّل تسلسلي ومتوازٍ (Serial-In Registers)
المسجِّل التسلسلي SISO – אוגר הזזה טורי:
مسجِّل تسلسلي–تسلسلي(אוגר טורי-טורי (SISO)): هو مسجِّل إزاحة له مدخل تسلسلي واحد SI ومخرج تسلسلي واحد SO. البتات تدخل واحدا بعد الآخر، وتخرج بنفس الترتيب بعد عدد من النبضات. الاسم: Serial In – Serial Out.
هذا هو المسجِّل الذي رسمناه في بداية البند السابق: سلسلة من قلّابات D، والمخرج الوحيد الذي نراه من الخارج هو SO = Q0.
مثال 10.8
مسجِّل SISO من أربعة بتات بحافة صاعدة، إزاحة إلى اليمين، محتواه الابتدائي 0000. في المدخل SI تدخل البتات: 1 , 1 , 0 , 1 , 0 , 0 (الأول من اليسار). نملأ جدول التتبع ونرسم مخطط الزمن.
الحل:
CLK
SI
Q3
Q2
Q1
Q0
SO
0
0
0
0
0
1
1
1
0
0
0
0
2
1
1
1
0
0
0
3
0
0
1
1
0
0
4
1
1
0
1
1
1
5
0
0
1
0
1
1
6
0
0
0
1
0
0
كل إشارة هي نسخة من الإشارة التي فوقها، متأخرة بنبضة واحدة
البت الأول (1) دخل في النبضة 1 وظهر في SO بعد النبضة 4: تأخّر أربع نبضات، لأنه مرّ في أربعة قلّابات.
التأخير في مسجِّل SISO · ההשהיה באוגר טורי
N = n
td = n·T
T = 1f
الرمز
المعنى
وحدة القياس
N
عدد النبضات حتى يظهر في SO بت دخل من SI
—
n
عدد القلّابات
—
td
زمن التأخير
s
T
زمن دورة الساعة
s
f
تردد الساعة
Hz
مثال 10.9
مسجِّل SISO من 8 قلّابات يعمل بساعة ترددها f = 2 kHz. بكم يتأخر كل بت بين SI و SO؟
الحل:
نحسب زمن الدورة ثم نضرب في عدد القلّابات.
T = 1f = 12000 = 0.5 ms
td = n·T = 8·0.5 = 4 ms
td = 4 ms
عدد النبضات في إدخال وإخراج تسلسلي · מספר הדפקים בהכנסה ובהוצאה טורית
Nin = n
Nout = n − 1
N = 2·n − 1
الرمز
المعنى
وحدة القياس
Nin
عدد النبضات لإدخال كلمة من n بتات
—
Nout
عدد النبضات الإضافية حتى يظهر البت الأخير في SO (البت الأول يظهر فور انتهاء الإدخال)
—
N
عدد النبضات الكلي
—
تدريب سريع — مسجِّل SISO من n قلّابات وساعة ترددها f. ما هو زمن التأخير؟
1n = 4 ، f = 1 kHz
2n = 8 ، f = 1 kHz
3n = 8 ، f = 4 kHz
4n = 16 ، f = 8 kHz
5n = 5 ، f = 50 Hz
6n = 10 ، f = 100 Hz
الإجابات:14 ms28 ms32 ms42 ms5100 ms6100 ms
تدريب سريع — كم نبضة نحتاج لكي ندخل تسلسليا كلمة من n بتات؟ وكم نبضة بالمجموع حتى نقرأ بتها الأخير في SO؟
مسجِّل تسلسلي–متوازٍ(אוגר טורי-מקבילי (SIPO)): هو مسجِّل إزاحة تدخل إليه البتات تسلسليا من SI، ومخارج كل القلّابات Q3Q2Q1Q0 ظاهرة للخارج. بعد n نبضات تكون الكلمة كلها جاهزة للقراءة المتوازية. الاسم: Serial In – Parallel Out.
مسجِّل تسلسلي–متوازٍ من أربعة بتات. الإزاحة إلى اليمين: من Q3 نحو Q0
مثال 10.10
نريد أن نستقبل الكلمة 1011 في مسجِّل SIPO من أربعة بتات (إزاحة إلى اليمين، محتوى ابتدائي 0000). بأي ترتيب نرسل البتات؟ نملأ جدول التتبع.
الحل:
البت الذي يدخل أولا ينزاح أبعد مسافة، وبعد أربع نبضات يصل إلى Q0. لذلك نرسل البت الأدنى وزنا أولا: 1 , 1 , 0 , 1.
CLK
SI
Q3
Q2
Q1
Q0
0
0
0
0
0
1
1
1
0
0
0
2
1
1
1
0
0
3
0
0
1
1
0
4
1
1
0
1
1
بعد النبضة الرابعة المحتوى هو 1011 — الكلمة كلها جاهزة في المخارج المتوازية.
Q3Q2Q1Q0 = 1011
ملاحظة: المسجِّل PISO في جهة الإرسال والمسجِّل SIPO في جهة الاستقبال يعملان كزوج: الأول يحوّل الكلمة إلى سلسلة بتات على سلك واحد، والثاني يجمعها من جديد. إذا أرسل PISO البت الأدنى وزنا أولا، فالكلمة تصل إلى SIPO بترتيبها الصحيح.
تدريب سريع — مسجِّل SIPO من أربعة بتات، إزاحة إلى اليمين، محتوى ابتدائي 0000. معطاة البتات الداخلة إلى SI (الأول من اليسار). ما هو Q3Q2Q1Q0 بعد آخر نبضة؟
إذا عكسنا التوصيل — مخرج Q0 إلى مدخل FF1، مخرج Q1 إلى مدخل FF2 وهكذا — نحصل على مسجِّل إزاحة إلى اليسار: البت الجديد يدخل إلى Q0، وكل بت ينتقل نحو الخانة الأعلى وزنا. في الرسم التالي القلّاب FF0 مرسوم في اليسار لكي تبقى الإشارة تجري من اليسار إلى اليمين؛ لكن المحتوى نكتبه كالعادة Q3Q2Q1Q0، وفي هذه الكتابة البتات تتحرك إلى اليسار.
مسجِّل إزاحة إلى اليسار: من Q0 نحو Q3 (نحو الخانة الأعلى وزنا)
Q0(n+1) = SI
Qi(n+1) = Qi−1(n)
ماذا يحدث لقيمة العدد عندما نزيحه؟ في النظام العشري، إذا أزحنا العدد 25 خانة إلى اليسار وأضفنا صفرا نحصل على 250: ضربنا في الأساس 10. في النظام الثنائي الأساس هو 2، ولذلك:
إزاحة إلى اليسار مع SI = 0: كل نبضة تضرب في 2
CLK
Q7 ... Q0
Dec
0
0000 0101
5
1
0000 1010
10
2
0001 0100
20
3
0010 1000
40
إزاحة إلى اليمين مع SI = 0: كل نبضة تقسم على 2
CLK
Q7 ... Q0
Dec
0
0010 1000
40
1
0001 0100
20
2
0000 1010
10
3
0000 0101
5
الإزاحة كعملية حسابية · הזזה כפעולה חשבונית
Nleft = N·2k
Nright = N2k
الرمز
المعنى
وحدة القياس
N
قيمة العدد قبل الإزاحة
—
k
عدد نبضات الإزاحة (مع SI = 0)
—
Nleft
القيمة بعد k إزاحات إلى اليسار
—
Nright
القيمة بعد k إزاحات إلى اليمين (الجزء الصحيح فقط)
—
انتبه: الإزاحة تُضيّع بتات. في الإزاحة إلى اليمين يخرج البت الأدنى وزنا، ولذلك نحصل على الجزء الصحيح فقط: 0000 1101 (13) يصبح 0000 0110 (6) وليس 6.5. في الإزاحة إلى اليسار يخرج البت الأعلى وزنا: 1100 0001 (193) يصبح 1000 0010 (130) وليس 386 — النتيجة أكبر من أن تدخل في 8 بتات (فيضان).
تدريب سريع — مسجِّل من 8 بتات: معطى العدد، عدد نبضات الإزاحة واتجاهها (SI = 0). ما هي القيمة العشرية بعد الإزاحة؟
13 ، 1 إلى اليسار
23 ، 3 إلى اليسار
312 ، 2 إلى اليمين
410 ، 2 إلى اليسار
5100 ، 1 إلى اليمين
67 ، 1 إلى اليمين
796 ، 5 إلى اليمين
821 ، 3 إلى اليسار
945 ، 2 إلى اليمين
الإجابات:162243344055063738168911
العدّاد الحلقي – מונה טבעת:
إذا وصلنا المخرج التسلسلي Q0 بالمدخل التسلسلي — أي أغلقنا المسجِّل في حلقة — فالبت الذي يخرج من اليمين يعود ويدخل من اليسار. لا يضيع أي بت: المحتوى يدور. دائرة كهذه تسمى العدّاد الحلقي (מונה טבעת, Ring Counter).
عدّاد حلقي من أربعة قلّابات: المخرج Q0 يعود إلى مدخل FF3
مثال 10.12
عدّاد حلقي من أربعة قلّابات. قبل البدء نضع فيه، بواسطة المداخل المباشرة PRE و CLR، المحتوى 1000. نملأ جدول التتبع ونرسم مخطط الزمن.
الحل:
في كل نبضة: Q3 يأخذ القيمة القديمة لـ Q0، والباقي ينزاح إلى اليمين.
CLK
Q3
Q2
Q1
Q0
0
1
0
0
0
1
0
1
0
0
2
0
0
1
0
3
0
0
0
1
4
1
0
0
0
5
0
1
0
0
الواحد الوحيد «يركض» من مخرج إلى مخرج ويعود
بعد أربع نبضات عاد المحتوى إلى 1000. للدائرة أربع حالات فقط، وهي تتكرر: عدّاد حلقي من n قلّابات له n حالات.
ملاحظة: هذه هي دائرة الأضواء الراكضة: نوصل مصباح LED بكل مخرج، فيضيء مصباح واحد كل مرة والضوء ينتقل من مصباح إلى الذي بجانبه. نفس الدائرة تُستعمل لتشغيل أجهزة بالدور، واحدا بعد الآخر. تردد كل مخرج هو fCLK مقسوما على n.
تحذير: العدّاد الحلقي يحتاج إلى حالة ابتدائية. إذا بدأ من 0000 فسيبقى 0000 إلى الأبد، وإذا بدأ من 1111 فسيبقى 1111: لا يوجد ما يدور.
تدريب سريع — عدّاد حلقي من أربعة قلّابات (إزاحة إلى اليمين، Q0 يعود إلى Q3). معطى المحتوى الابتدائي. ما هو المحتوى بعد k نبضات؟
11000 ، k = 2
21000 ، k = 5
30100 ، k = 3
41100 ، k = 2
51010 ، k = 1
60001 ، k = 6
70110 ، k = 7
81110 ، k = 4
الإجابات:1001020100310004001150101601007110081110
سؤال 10.6: عدّاد حلقي من خمسة قلّابات يبدأ من المحتوى 10000 ويعمل بساعة ترددها 100 Hz. (أ) بعد كم نبضة يعود إلى محتواه الابتدائي؟ (ب) ما هو تردد الإشارة في كل مخرج؟
▶تجربة حية — القلّابات والمسجِّلاتنبني سلسلة من قلّابات D، نعطيها نبضات ساعة واحدة بعد أخرى ونرى كيف ينزاح البت من قلّاب إلى قلّاب.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
كم قلّابا يوجد في مسجِّل يحفظ: (أ) بايتا واحدا؟ (ب) رقما واحدا بشيفرة BCD؟ (ج) عددا بين 0 و 31؟ (د) عددا بين 0 و 500؟
الإجابات: (أ) 8 (ب) 4 (ج) 5 (د) 9
2.
نكتب الاسم الكامل لكل نوع ونقول كيف تدخل البتات وكيف تخرج: SISO ، SIPO ، PISO ، PIPO.
الإجابات: SISO: دخول تسلسلي وخروج تسلسلي ؛ SIPO: دخول تسلسلي وخروج متوازٍ ؛ PISO: دخول متوازٍ وخروج تسلسلي ؛ PIPO: دخول متوازٍ وخروج متوازٍ
3.
مسجِّل متوازٍ (PIPO) من أربعة بتات محتواه الابتدائي 1111. قبل النبضات 1 حتى 4 نضع في مداخله: 0011 ، 1110 ، 1110 ، 0101. ما هو محتواه بعد كل نبضة؟
الإجابات:0011 ← 1110 ← 1110 ← 0101
4.
مسجِّل متوازٍ من أربعة بتات مع مدخل LOAD، محتواه الابتدائي 0000. نكمل جدول التتبع.
CLK
LOAD
D3D2D1D0
Q3Q2Q1Q0
0
0000
1
0
1100
2
1
0011
3
0
1010
4
0
0110
5
1
1001
الإجابات:0000 ← 0011 ← 0011 ← 0011 ← 1001
5.
مسجِّل إزاحة إلى اليمين من أربعة بتات محتواه الابتدائي 0000. البتات الداخلة إلى SI: 1 , 1 , 0 , 1 (الأول من اليسار). نكتب المحتوى Q3Q2Q1Q0 بعد كل نبضة.
الإجابات:1000 ← 1100 ← 0110 ← 1011
6.
نفس المسجِّل، لكن محتواه الابتدائي 1010 والبتات الداخلة: 0 , 0 , 1 , 1. نكتب المحتوى بعد كل نبضة.
الإجابات:0101 ← 0010 ← 1001 ← 1100
7.
نحمّل في مسجِّل PISO من أربعة بتات الكلمة 0111 ثم نعطيه ثلاث نبضات إزاحة إلى اليمين مع SI = 0. (أ) ما هو المحتوى بعد كل نبضة إزاحة؟ (ب) بأي ترتيب تخرج البتات من SO؟
كم نبضة ساعة نحتاج: (أ) لتحميل كلمة من 8 بتات في مسجِّل PIPO؟ (ب) لإدخال كلمة من 8 بتات إلى مسجِّل SIPO؟ (ج) لإرسال كلمة من 8 بتات من مسجِّل PISO (مع نبضة التحميل)؟
الإجابات: (أ) 1 (ب) 8 (ج) 8
9.
مسجِّل من 8 بتات محتواه 0001 0100. (أ) ما هي قيمته العشرية؟ (ب) ما هي قيمته بعد إزاحة واحدة إلى اليسار؟ (ج) وبعد إزاحتين إلى اليمين (من المحتوى الأصلي)؟
الإجابات: (أ) 20 (ب) 40 (ج) 5
10.
عدّاد حلقي من أربعة قلّابات يبدأ من المحتوى 0100 (إزاحة إلى اليمين). نكتب محتواه بعد كل واحدة من النبضات 1 حتى 5.
الإجابات:0010 ← 0001 ← 1000 ← 0100 ← 0010
المستوى الثاني — متوسط
11.
مسجِّل SIPO من أربعة بتات بحافة صاعدة، إزاحة إلى اليمين، محتوى ابتدائي 0000. نكمل مخطط الزمن.
الإجابات: المحتوى Q3Q2Q1Q0 بعد كل نبضة: 1000 ← 0100 ← 0010 ← 1001 ← 1100 ← 0110 ← 1011
12.
مسجِّل PISO من أربعة بتات، محتواه الابتدائي 0000، في مداخله المتوازية الكلمة 1010 والمدخل التسلسلي موصول بـ 1 . نكمل جدول التتبع.
مسجِّل SISO من n قلّابات يعمل بساعة ترددها f = 500 Hz. (أ) ما هو زمن التأخير إذا n = 8؟ (ب) كم قلّابا نحتاج لكي يكون التأخير 40 ms؟
الإجابات: (أ) td = 16 ms (ب) n = 20
16.
مسجِّل إزاحة إلى اليسار من أربعة بتات (البت الجديد يدخل إلى Q0)، محتواه الابتدائي 0000. البتات الداخلة: 1 , 0 , 1 , 1. نكتب المحتوى Q3Q2Q1Q0 بعد كل نبضة.
الإجابات:0001 ← 0010 ← 0101 ← 1011
17.
طالب ملأ جدول التتبع لمسجِّل إزاحة إلى اليمين (محتوى ابتدائي 0000). في أحد الأسطر يوجد خطأ. نجده ونصححه.
CLK
SI
Q3
Q2
Q1
Q0
0
0
0
0
0
1
1
1
0
0
0
2
1
1
1
0
0
3
0
1
1
1
0
4
0
0
0
1
1
الإجابات: الخطأ في سطر النبضة 3: دخل SI = 0 ولذلك يجب أن يكون Q3 = 0. المحتوى الصحيح 0110 (وبعد النبضة 4: 0011)
18.
مسجِّل من 8 بتات يحتوي على العدد 9. (أ) نكتب محتواه الثنائي. (ب) نزيحه ثلاث مرات إلى اليسار مع SI = 0: ما هو المحتوى وما هي قيمته؟ (ج) في أي عدد ضربنا؟
في الرسم مسجِّل إزاحة من ثلاثة قلّابات D. (أ) ما هو نوعه وما هو اتجاه الإزاحة؟ (ب) المحتوى الابتدائي Q2Q1Q0 = 000 والبتات الداخلة: 1 , 0 , 1 , 1 , 0. نكتب المحتوى بعد كل نبضة.
الإجابات: (أ) SIPO، إزاحة إلى اليمين (من Q2 نحو Q0) (ب) 100 ← 010 ← 101 ← 110 ← 011
20.
عدّاد حلقي من 8 قلّابات يشغّل 8 مصابيح LED كأضواء راكضة. تردد الساعة 16 Hz. (أ) كم من الوقت يضيء كل مصباح؟ (ب) بعد كم من الوقت يعود الضوء إلى المصباح الأول؟ (ج) ما هو تردد الإشارة في كل مخرج؟
الإجابات: (أ) 62.5 ms (ب) 0.5 s (ج) 2 Hz
المستوى الثالث — تحدٍّ
21.
نظام إرسال: مسجِّل PISO من 8 بتات يرسل كلمة إلى مسجِّل SIPO من 8 بتات عبر سلك واحد، والساعة مشتركة وترددها 1 kHz. (أ) كم نبضة تمرّ من نبضة التحميل في PISO حتى تكون الكلمة كلها في SIPO؟ (ب) كم من الوقت يستغرق ذلك؟ (ج) كم كلمة يمكن إرسالها في ثانية واحدة إذا كانت كل كلمة تحتاج إلى 8 نبضات؟
الإجابات: (أ) 1 + 8 = 9 نبضات (ب) 9 ms (ج) 125 كلمة
22.
مسجِّل SIPO من أربعة بتات بحافة هابطة، إزاحة إلى اليمين. المحتوى الابتدائي Q3Q2Q1Q0 = 0110. نكمل مخطط الزمن.
الإجابات: المحتوى بعد كل حافة هابطة: 1011 ← 0101 ← 0010 ← 1001 ← 1100
23.
في عدّاد حلقي من أربعة قلّابات نغيّر توصيلا واحدا: إلى مدخل FF3 نوصل Q0 بدل Q0. المحتوى الابتدائي 0000. (أ) نكتب المحتوى بعد كل نبضة حتى يعود إلى 0000. (ب) كم حالة مختلفة للدائرة؟
الإجابات: (أ) 1000 ← 1100 ← 1110 ← 1111 ← 0111 ← 0011 ← 0001 ← 0000 (ب) 8 حالات — ضعف عدد القلّابات
24.
مسجِّل من 8 بتات يحتوي على العدد 13. نريد أن نضربه في 10 بواسطة الإزاحة والجمع فقط. نقترح طريقة ونفحصها. (تلميح: 10 = 8 + 2.)
الإجابات: نزيح مرة إلى اليسار: 26 ؛ نزيح ثلاث مرات إلى اليسار: 104 ؛ نجمع النتيجتين: 26 + 104 = 130
25.
لوحة إعلانات فيها 16 مصباحا في صف واحد. نريد أن «يركض» على طولها زوج من مصباحين متجاورين مضيئين، وأن يمرّ الصف كله في ثانيتين. (أ) أي دائرة نختار وكم قلّابا فيها؟ (ب) ما هو المحتوى الابتدائي؟ (ج) ما هو تردد الساعة المطلوب؟
الإجابات: (أ) عدّاد حلقي من 16 قلّابا (ب) واحدان متجاوران والباقي أصفار، مثلا 1100 0000 0000 0000 (ج) 16 نبضة في ثانيتين: f = 8 Hz
26.
إلى مسجِّل SISO من أربعة بتات (محتوى ابتدائي 0000، إزاحة إلى اليمين) تدخل البتات: 1 , 1 , 0 , 1 , 0 , 0 , 1 , 1. نكتب قيمة SO بعد كل واحدة من النبضات 1 حتى 8. ماذا نلاحظ؟
الإجابات:0 , 0 , 0 , 1 , 1 , 0 , 1 , 0 — نفس سلسلة الدخول متأخرة: البت الذي دخل في النبضة k يظهر في SO بعد النبضة k + 3 ، أي بعد أربع نبضات مع نبضة دخوله
27.
إلى مسجِّل SIPO من أربعة بتات تدخل ستة بتات: 1 , 0 , 1 , 1 , 0 , 1 (الأول من اليسار). (أ) ما هو المحتوى بعد النبضة السادسة؟ (ب) أي بتات من السلسلة ضاعت؟
10.3 المحتوى: 0110 ← 0011 ← 0001 ← 0000 ؛ في SO: 0 , 1 , 1 , 0
10.41100 ← 0110 ← 0011 ← 0001 ← 0000
10.50000 ← 1000 ← 1100 ← 0110 ← 1011 ← 0101
10.6 (أ) بعد 5 نبضات (ب) 20 Hz
שאלות בגרות – أسئلة بجروت للفصل 10
موضوع «الأنظمة الرقمية» يُمتحن فيه طلاب تخصص الإلكترونيات داخل المدرسة. أسئلة البجروت في هذا الكتاب مأخوذة من امتحان 845381 لتخصص الكهرباء، وفيه سؤالان عن الأنظمة الرقمية كل سنة؛ لا يظهر فيه سؤال مستقل عن مادة هذا الفصل. نتدرب عليها في «أسئلة للتمرين» وفي الاختبار الذاتي.