الرئيسيةعريقبحث

لغة تبادل المسجلات


☰ جدول المحتويات


لغة تبادل البيانات بين المسجلات (Register transfer language)‏ وهي العمليات المكروية هي أساس معظم الأنظمة الرقمية التسسلية وتعتبر العمليات المكروية أكثر بساطة من لغة التجميع الـ Assembly ومن الأمثلة على العمليات المكروية نذكر :

  • •نقل البيانات - وعادة يكون النسخ - من مسجل أو من موقع ذاكري أو من جهاز دخل/خرج إلى آخر
  • •تعديل قيمة مخزنة كزيادة أو مسح قيمة مسجل
  • •أداء وظائف منطقية أو حسابية : مثل جمع قيمتين وتخزين الناتج في مسجل وإلا تعديل القيمة المخزنة ككتابة القيمة في مسجل مع قيمة ثابتة

يعتبر المعالج أنك ذاهب لشراء غالون من الحليب أولا سوف تتوجه إلى سيارتك وتغلق باب المنزل ثم ستضع المفتاح في السيارة ثم ستشغل السيارة وتذهب إلى المتجر وتنزل من السيارة وتشتري الحليب تم تعود وتركب سيارتك وتتوجه ثانية إلى المنزل.

يمكنك أن تعتبر كل خطوة قمت بها حتى حصلت على الحليب عملية مكروية وعند أداء هذه العمليات بترتيبها الصحيح يمكنك أن تؤدي أعمالا كبيرة وكذلك النظام الرقمي التسلسلي يؤدي وظائفه بنفس الطريقة التي اشتريت بها الحليب فهو يؤدي أعماله بعمليات مكروية متتالية ومتسلسة بترتيب معين يمكنه على سبيل المثال من نقل أو تعديل البيانات في مسجل ما، فوحدة المعالجة المركزية تودي عمليات مكروية متسلسة لجلب وفك تشفير وتنفيذ التعليمات.

إن البيانات المنقولة باللعمليات المكروية تؤدي نصف المهمة المطلوبة نظرا لانه يجب علينا أن نراعي الشروط المخصصة لنقل البيانات وكيفية نقلها وزمن نقلها لتحقيق الفائدة المرجوة منها، هذه الشروط تضمن لنا أن تكون العلميات المكروية قد نفذت بالترتيب الصحيح.

العمليات المكروية ولغة تبادل المسجلات

العملية المكروية هي بالتحديد العملية التي تكون نتيجتها مخزنة في مسجل ما أو في موقع ذاكري ويمكن أن تكون العملية بسيطة كنسخ مسجل إلى مسجل آخر أو موقع ذاكري أو معقدة كجمع قيمتي مسجلين وتخزين الناتج في مسجل ثالث.

عند تصميم النظم الرقمية التسلسية فإن المصمم يمكن أن يحدد أولا كيفية تصرف النظام باستخدام التعليمات المكروية ومن ثم يصمم البنية الصلبة للنظام ويصل بين هذه العمليات والبنية التي قام بتصميمها.

لنكون تصورا عن هيكلية العمليات المكروية نفترض نظاما رقميا مكونا من مسجلين كل منهما بطول واحد بت X & Y إن العملية المكروية التي تنسخ محتويات المسجل Y إلى المسجل X يمكن أن توصف كما يلي X<--Y وأحيانا توصف كما يلي Y<--X وسنستخدم الصغة الأولى في هذه المقالة.

إن العملية المكروية لا تحدد كيفية نسخ المسجل Y إلى المسجل X ولكنها تحدد فقط أنه يجب أن تتم عملية النسخ فالعملية المكروية ربما تطبق عن طريق اتصال مباشر كما في الشكل

أو عن طريق ممر كما في الشكل

إن كلا التطبيقين صحيح لتأدية العملية المكروية ولكن المصمم يختار الطريقة الأنسب لنظامه الذي قام بتصميمه

إن مجموعة العمليات المكروية غالبا ما تكون كافية لتصميم ممر بياناتها، كما أن الارتباطات بين المكونات يستخدم لنقل البيانات، هذه المجموعة لا تحدد الشروط التي سيتم من خلالها نقل البيانات.

لنفترض أن عملية نقل البيانات يجب أن تحدث عندما يكون مدخل التحكم a في الجهد العالي (واحد منطقي)، عندها يمكن أن نعبر عن عملية النقل هذه كما يلي

IF a THEN X<--Y

إن لغة تبادل المسجلات ولغة وصف البنية الصلبة غالبا ما تستخدم الترقيم المضغوط بالشكل التالي : Condition : Micro-Oporation عملية مكروية : شرط

البنية الصلبة لنقل البيانات المشروطة موضحة بالشكلين التاليين

النقل المباشر

النقل عبر الممر

إن أحد أهم طرق تحسين النظام هي تنفيد أكثر من عملية مكروية في نفس اللحظة وعندها نفصل بين العمليات بفواصل غير منقوطة، فعلى سبيل المثال إذا أردنا نقل محتوى المسجل Z إلى Y ونقل محتوى المسجلY إلى X

نكتب السطر التالي

a : X<--Y,Y<--Z أو a : Y<--Z ،X<--Y

ونعبر عنه كبنية صلبة بالشكل التالي

عندما يكتب الدكتور عبارة على السبورة فإنه من الممكن للعديد من الطلاب أن يقرؤوا تلك العبارة بنفس اللحظة، كذلك الأمر بالنسبة للمسجلات فإنه بإمكاننا نقل بيانات المصدر إلى أكثر من هدف في نفس اللحظة، من جهة أخرى فإننا من الخطأ أن نكتب العبارة التالية

a : X<--Z، X<--Y

وهذا شيء بديهي لن أعقب عليه

تمكننا لغة تبادل المسجلات من نقل مجموعات من المسجلات إلى مسجلات مقابلة بتعليمة واحدة فإذا أردنا مثلا نقل المسجلات Y0,Y1,Y2,Y3 إلى المسجلات X0,X1,X2,X3 على الترتيب نكتب السكر التالي

(a : X(3-0)<-- Y(3-0

أشهر العمليات المكروية

العمليات المكروية المنطقية والرياضية

الجمع X<--X+Y

الطرح X<--X-Y أو X<--Y -X

الزيادة X<--X+1

الانقاص X<--X-1

و المنطقية X<--X ^ Y أو X<--Y ^ X

أو المنطقية X<--X v Y أو X<--Y v X

عدم التماثل X<--X (+)Y

النفي المنطقي X<--/X أو 'X<--X

عمليات الإزاحة المكروية

إزاحة خطية لليسار (shl(x

إزاحة خطية لليمين (shr(x

إزاحة دائرية لليسار (cil(x

إزاحة دائرية لليمين (cir(x

إزاحة رياضية لليسار (ashl(x

إزاحة رياضية لليمين (ashr(x

إزاحة عشرية لليسار (dshl(x

إزاحة عشرية لليمين (dshr(x

في الإزاحة الخطية لليسار نهمل البت الأخير من اليسار ونزيح البتات خانة واحدة لليسار ثم نضع في اليمين صفرا مثال : 0110 --> 1011

في الإزاحة الخطية لليمين نهمل البت الأخير من اليمين ونزيح البتات خانة واحدة لليمين ثم نضع في اليسار صفرا مثال : 0101 --> 1011

في الإزاحة الدائرية لليسار ننقل البت الأخير من اليسار ونضعه في اليمين مثال : 0111 --> 1101

في الإزاحة الدائرية لليمين ننقل البت الأخير من اليسار ونضعه في اليسار مثال : 1101 --> 1011

في الإزاحة الرياضية ننفذ نفس عملية الإزاحة الخطية إلا أننا نترك الخانة اليسرى على حالها باعتيارها خانة إشارة مثال : 1110 --> 1011

وتستخدم الإزاحة العشرية عند الترميز الثنائي بالصيغة المجمعة BCD

مثال تطبيقي : (((تصميم متحكم حجرة الهاتف)))

كا الأسهم يجب أن تكون من اليمين إلى اليسار ة إذا صادفت سهما من اليسار إلى اليمين فتجاهل الاتجاه واعتبره نحو اليسار (((-->)))

يملك متحكم مخزن الهاتف حساسين خارجيين، الأول : C يحدد فيما إذا كانت السيارة موجودة في

الحجرة C=1 عندما تكون السيارة موجودة وإلا فإن C=0

الحساس الثاني يحدد فيما إذا كانت العملة النقدية مودعة في الحجرة أم لا وله الحالات التالية :

I1I0 = 00 العملة النقدية مودعة بالحجرة

I1I0 = 01 العملة من مادة النيكل

I1I0 = 10 العملة من مادة النحاس

I1I0 = 11 العملة من مادة الفضة

كما تملك الحجرة خرجين ضوئيين وخرج منبه :

عندما تدخل سيارة حجرة الأدوات يضيء الضوء الأحمر (R) ويبقى مضيئا حتى يودع السائق على الأقل 35 سنتا وعندها ينطفئ الضوء الأحمر ويضيء الضوء الأخضر (G) ويبقى الضوء الأخضر مضيئا حتى تغادر السيارة الحجرة

وعندها يضيى الضوء الأحمر مرة أخرى، إذا غادرت السيارة حجرة الهاتف دون أن تدفع كامل الرسوم يبقى الضوء الأحمر مضيئا ويبدء المنبه بإصدار صوت الإنذار ويبقى صوت الإنذار إلى أن تدخل سيارة أخرى الحجرة.

نلاحظ أن

لدينا عشر حالات، هذه الحالات ومخارجها موضحة بالجدول التالي

R-------G-----A-------الشرط--------------الحالة

001لا يوجد سيارة في الحجرة Snocar

001يوجد سيارة وتم دفع 0 سنتاS0

001يوجد سيارة وتم دفع 5 سنتاS5

001يوجد سيارة وتم دفع 10 سنتاS10

001يوجد سيارة وتم دفع 15 سنتاS15

001يوجد سيارة وتم دفع 20 سنتاS20

001يوجد سيارة وتم دفع 25 سنتاS25

001يوجد سيارة وتم دفع 30 سنتاS30

010يوجد سيارة وتم دفع 35 سنتاSpaid

101غادرت السيارة دون دفع كامل القيمةScheat

/*الجدول التالي يوضح*/

جدول الحالة لمتحكم حجرة الهاتف

R—G—A—الحالات الآنية—C---I1I0---الحالات التالية

001S0xx1Snocar

001Snocarxx0Spaid

001S0xx1Scheat

101Scheatxx0S0

001S5011S0

001S10101S0

001S25111S0

101Scheatxx0S5

001S10011S5

001S15101S5

001S30111S5

101Scheatxx0S10

001S15011S10

001S20101S10

010Spaid111S10

101Scheatxx0S15

001S20011S15

001S25101S15

010Spaid111S15

101Scheatxx0S20

001S25011S20

001S30101S20

010Spaid111S20

101Scheatxx0S25

001S30011S25

010Spaid101S25

010Spaid111S25

101Scheatxx0S30

010Spaid011S30

010Spaid101S30

010Spaid111S30

و الشكل التالي يبين مخطط الحالات بدو إظهار شروط الانتقال والتي بيناها في الجدول السابق

بما أن الآلة تملك 10 حالات، نحتاج إلى 4 بتات لتشفير هذه الحالات، لذلك سنستخدم المسجل T الذي سيحوي قيمة البتات الأربعة و

الجدول التالي يوضح تشفير البتات الأربعة

T-----R—G—A----الحالة

0010000Snocar

0010001S0

0010010S5

0010011S10

0010100S15

0010101S20

0010110S25

0010111S30

0101000Spaid

1011001Scheat

0011010—1111غير مستتخدمة

من شروط المسألة ومن مخطط الحالة أصبح بإمكاننا كتابة

برنامج لفة تبادل المسجلات لحجرة الهاتف باستثناء المخارج

يكون على الشكل التالي :

1. Snocar C: T<--0001

2. Spaid C': T<--0000

3. ScheatC: T<--0001

4. S0 C': T<--1001

5. S0 CI1'I0: T<--0010

6. S0 CI1I0': T<--0011

7. S0 CI1I0: T<--0110

8. S5 C': T<--1001

9. S5 CI1'I0: T<--0011

10. S5 CI1I0': T<--0100

11. S5 CI1I0: T<--0111

12. S10 C': T<--1001

13. S10 CI1'I0: T<--0100

14. S10 CI1'I0: T<--0101

15. S10 CI1I0: T<--1000

16. S15 C': T<--1001

17.S15 CI1'I0: T<--0101

18.S15 CI1I0': T<--0110

19.S15 CI1I0: T<--1000

20. S20 C': T<--1001

21.S20 CI1'I0: T<--0110

22.S20 CI1I0': T<--0111

23.S20 CI1I0: T<--1000

24.S25 C': T<--1001

25.S25 CI1'I0: T<--0111

26.S25 CI1I0': T<--1000

27.S25 CI1I0: T<--1000

28.S30 C': T<--1001

29.S30 CI1'I0: T<--1000

30.S30 CI1I0': T<--1000

31.S30 CI1I0: T<--1000

32.T3(T2+T1): T<--0000

كما أن

برنامج لفة تبادل المسجلات لحجرة الهاتف /* للمخارج*/ يكتب على الشكل التالي =

1.Spaid C': R<--1, G<--0

2.ScheatC: R<--1, G<--0, A<--0

3.SnocarC: R<--1, G<--0, A<--0

4.S0C': A<--1

5.S5C': A<--1

6.S10C': A<--1

7.S10CI1I0: R<--0, G<--1

8.S15C': A<--1

9.S15CI1I0: R<--0, G<--1

10.S20C': A<--1

11.S20CI1I0: R<--0, G<--1

12.S25C': A<--1

13.S25CI1I0': R<--0, G<--1

14.S25CI1I0: R<--0, G<--1

15.S30C': A<--1

16.S30CI1'I0: R<--0, G<--1

17.S30CI1I0': R<--0, G<--1

18.S30CI1I0: R<--0, G<--1

19.T3(T2+T1) : R<--1, G<--0, A<--0

و بالتالي يكون

البرنامج النهائي للحجرة كما يلي

1. (S0+S5+S10+S15+S20+S25+S30)C': T<--1001

2.SpaidC': T<--0000

3. (Snocar+Scheat)C: T<--0000

4.S0 CI1'I0: T<--0010

5.S0 CI1I0': T<--0011

6.S0 CI1I0: T<--0110

7.S5 CI1'I0: T<--0011

8.S5 CI1I0': T<--0100

9.S5 CI1I0: T<--0111

10.S10 CI1'I0: T<--0100

11.S10CI1I0': T<--0101

12.S10 CI1I0: T<--1000

13.S15 CI1'I0: T<--0101

14.S15 CI1I0': T<--0110

15.S15 CI1I0: T<--1000

16.S20 CI1'I0: T<--0110

17.S20 CI1I0': T<--0111

18.S20 CI1I0: T<--1000

19.S25 CI1'I0: T<--0111

20.S25 CI1: T<--1000

21.S30C(I1+I0): T<--1000

22.T3(T2+T1) : T<--0000

23.Spaid C': R<--1, G<--0

24. (Snocar+Scheat)C: R<--1, G<--0, A<--0

25. (S0+S5+S10+S15+S20+S25+S30)C': A<--1

26. (S10+S15+S20+S25+S30)CI1I0: R<--0, G<--1

27. (S25+S30)CI1I0': R<--0, G<--1

28.S30CI1'I0: R<--0, G<--1

29.T3(T2+T1) : R<--1, G<--0, A<--0

\\\\\\\\\\\ \\\\\\\\\\\

وصلات خارجية

Official Site 2

international

RTL Group4

المراجع

موسوعات ذات صلة :