طيب بسم الله الرحمن الرحيم اليوم إن شاء الله
هنستكمل درس الرجسترات، يمكن المحاضرة السابقة شفنا
إيش يعني register؟ شفنا يمكن نوعين مهمات من
الرجسترات، اللي هو ال parallel registers وشفنا ال
shift register، ويمكن حكينا بشكل مختصر أنه ال
register بيخزن معلومات، بيسوي عليها شوية process
تمام، إزاحة يمين، إزاحة شمال، زي ما هنشوف الآن في ال
universal shift register الموجود عندنا الآن، هذا
عبارة عن universal shift register، ويمكن مصطلح
universal اتكلمنا فيه قبل هيك، أي حاجة بنقول عنها
universal معناها عالمي، يعني بيعمل كل شيء. أنا
بتخيله زي ما كنا نقول زمان، ال NAND universal. ليش؟
لأن ال NAND كانت بتسوي كل الدوائر اللي بدها إياها.
universal بتسوي كل الدوائر اللي بدها إياها، اليوم
أنا قاعد بقول، بنتعلم universal shift register أو
universal register، على طول، إيش معناته الكلام؟
معناه أكيد هذا ال register عنده القدرة أنه يخزن
المعلومات، وأنه يدخلها parallel، وأنه يعملها
serially shifting يمين، ويعملها serially shifting
شمال، كل هذا all in one. فهذا ال shift register اللي
all in one، بدنا نحاول نفهمه، كيف ال content الداخلي
تبعه، علشان أفهم ال content الداخلي تبعه، بس هكبر
الرسم على اللوح، عشان نحاول نتكلم على أسلاك ونشوف
التفصيل الداخلي تبعه، تمام؟ شوف أول شيء، بتوقع أنه
بيكون في عندي هنا input، ولاحظوا السهم، وطالما
اسمه shift، إيش يعني shift؟ يعني بيعمل تحريك
للبيانات اللي جواته، إحنا اللي أخدناها المرة اللي
فاتت، بجهة اليمين، لكن ليه ما نعمل برضه تحريك
بجهة الشمال؟ الجهة التحريك ممكن يكون بجهتين، أنا
بزيح ال data يمين أو بزيح ال data شمال، علشان هيك
لما بدنا نزيح ال data يمين، مش بدي من الأول أدخل
معلوماتي جديدة، صح ولا لأ؟ علشان هيك هذا عبارة عن
إيش المدخل اللي هيغذي ال flip-flops في ناحية
اليمين لما نعمل shift يمين، طيب افترضنا نعمل shift
بالعكس، يعني إذا نعمل shift شمال، مش في هذه الحالة
لازم آخر flip-flop يكون عنده إمكانية يدخل
المعلومات، ال input، من غيرها، علشان هيك في عندي زي
ما بتشوفوا، Input تاني، يعني عكس القصة الأولانية، أنا
رسمتها للمرة اللي فاتت، أخدناها لما كان يعمل ال
shift هيك، مش كان لازم يجيلي ال input يغذي؟ صح ولا
لأ، فهيو الآن، لو أنا بدأت أعمل ال shift هيك بالعكس
مش لازم يجيلي ال input من هنا عشان يصير يفوت ويعمل
shifting على جهة الشمال، وهذه كمان، شوفوا
التفاصيل بتاعة الدائرة من جوا، فأنا هي عندي إيش ال
shift، تمام، من جهات الشمال لليمين، يعني بتعمل
shifting... sorry... shifting هنا شمال، طيب... الآن
إيش فيه كمان أسلاك؟ اتطلعوا... لاحظوا I part اللي
هو ال input اللي ممكن يفوت، وإيش... إيش معناه
الـ Silic هذا على أربعة؟ هيك... إيش معناه؟ هذا
معناته إنه في عندي فعلياً أربع أسلاك، فبدل يرسم
أربع أسلاك، يرسم واحد slash، عددهم، فلما يعمل slash
أربعة، معناته أنه في أسلاك داخلة، طيب ليش نتوقع
الأسلاك اللي داخلة؟ مش هذا universal؟ إيش يعني
universal؟ يعني هذا مش بس بيعمل shift، مش هذا بيعمل
تدخيل لمعلومات parallel؟ مش هدول المرة اللي فاتت
أخدنا أن المعلومات ممكن تكون parallel، اللي هم
الأربع أسلاك، I صفر، وI واحد، وI اثنين، وI ثلاثة، مش
هدول ال parallel اللي بييجوا؟ صح ولا لأ؟ وطالما هذا
universal، في عنده المقدرة أنه يدخل معلوماته
parallel، علشان هيك لاحظوا في أربع أسلاك لل inputs
بدها تفوت تتغذي الفليب فلوبات اللي جوا، فعشان هيك
هدول الأربع أسلاك عشان يجيب المعلومات من برا، طيب
سؤال ثاني، هدول أسلاك طالعة لبرا، وعامل أسلاك أربعة
إيش معناه بتتوقعوا؟ أكيد الشاطرين هيقولوا هدول
أربع أسلاك طالعين ك output، يعني قيم ال flip-flops
اللي جوا الأربعة، طالعين بشكل parallel، هيهم كلهم
طالعين مرة واحدة، ممتاز، يعني لحد الآن كل الأسلاك
هذه معروفة تقريباً، طيب، إيش ال clock؟ الكل هيقول لي ما
ال clock معروفة، عشان العملية تتم عند ال rising تبع
النبضة، يصير مثلاً ال shifting، أو يصير تحميل
المعلومات من برا، سواء parallel أو serial، طيب إيش رأيكوا
في ال clear؟ ال clear برضه كلنا عارفينها، لو أنا
بدي أصفر ال content بتاع المعلومة اللي جوا، بوصل ال
clear في صفر، تمام، بعد ما يصفر، برجع ال clear في
واحد وبشتغل universal register عادي، طيب واحد
هيسألني، okay، كله ممتاز، يعني طبيعي جداً، بديهي جداً، كل
الأسلاك اللي شفناها، لأنه إذا بتتكلم أنت على shift
معناها shift باتجاهين، بعدين بدك input من اتجاه هذا
و input من اتجاه هذا، وشفناهم، إذا أنت بتتكلم على
parallel in register، بدك أربع أسلاك جاية من برا
عشان تجيب المعلومات، هين شفناها، إذا بدك parallel out
register، يعني تشوف النتيجة اللي جوا parallel، بدك
أربع أسلاك، اللي flip-flop بتطلع لبرا، هنا شفناهم، و
بدك clock، وبدك clear، كل هذا شفناه، طيب واحد
هيسألني، شو القصة هنا؟ الجُزء هذا، هذا عبارة عن
controller، بيتحكم في ال shift register، مش إحنا
قلنا هذا ال shift register، إيش العمليات اللي
بيعملها؟ أول عملية مثلاً serial in، أو خليني أقول
إزاحة باتجاه اليمين، مش هذه عملية؟ في عملية ثانية
إزاحة باتجاه الشمال، مش هذه عملية؟ هي عمليتين، في
عملية ثالثة، حمل معلوماتك من برا، هي ثلاث عمليات، في
عملية رابعة، حافظ على ال content تبعك، مش شايفين دي
أربع شغلات ممكن أسويها في هذا ال register، كيف نسوي
الأربع شغلات دول؟ مش لازمني أسلاك تحكم علشان أعمل
العملية الأولى ولا الثانية ولا الثالثة ولا الرابعة،
صح ولا لأ؟ طبعاً، ليش؟ أنا قلت بيكفيني سلكين، لأنه أنت
طالما بنتكلم عن أربع عمليات، معناها لازم 2 bit
عشان أقول الـ 00 للعملية الأولى، الـ 10 للعملية
الثانية، الـ 01 للعملية الثالثة، الـ 11 للعملية
الرابعة، لأن الـ bit الواحد بيعمل احتمالين، الـ 2 bit بيعمل
أربعة احتمالات، الـ 3 bit بيعمل ثمانية، صح ولا لأ؟
عارفين لو ال register هذا مصمم منه بس يعمل عمليتين
فيش غيرهم، shift left و shift right مثلاً، يمين وشمال،
بيلزم 1 bit للتحكم، عشان صفر يكون هيك، وواحد
يكون هيك، لكن لأن هذا ال universal بيعمل فعلياً أربع
عمليات، اللي هم ال shift يمين، ال shift شمال، ال
parallel load، التحميل من برا، والحفاظ على ال
content، طالما أربع عمليات، لازم يكون عندي على الأقل
2 bit ك control عشان أعرف إيش العملية اللي بدي إياها،
طيب الكلام حلو لحتى الآن، okay، إحنا فهمناه ك block
لكن إيش التكوين الداخلي تبعه؟ كيف هذا shift register
بنبنيه من جوا؟ كيف بنعمله من جوا؟ تعالوا نشوف الآن
خليني أوريكم كيفه
وبدي أحط خلفية بيضاء عشان نعرف نخربش ثاني
paint
مثلاً
طيب خلينا نشوف إيش بيصير الآن، اسمحوا لي أرسم الأربع
فليب فلوبات منبطحين، من باب التسهيل، زي الكتاب، تمام
اسمحوا لي أرسمهم منبطحين، وبدنا نعتبر هنا ال clock
تمام
هاي ال clock، هاي ال clock، وهي هنا ال clock، تمام، و
هنا ل clear مثلاً، خلينا ناخد أسلاك ل clear، المهم
هاي أسلاك ل clear، تمام، هاي أسلاك ل clear، هاي أسلاك
ل clear، تمام، هدول أسلاك معروفين، مافيش فيهم مشاكل
تمام، وطبعاً عارفين أن في هنا Q طالعة، وهنا في Q
طالعة، وهنا في Q طالعة، وهنا في Q طالعة، هذه كلها
أساسيات لأي register أنا بدي أعمله، سواء بدي أحمل
parallel، سواء بدي أعمل serial يمين، serial شمال،
لازم الأربع Flip-Flop يكونوا موجودين، يعني بتكلم عن
4-bit shift register، أو universal register 4
-bit، وطالما بتكلم عن 4-bit، هذا الحد الأدنى، لازم
يكون موجود أربع Flip-Flop، ال clock تبعتهم واحد، ال
clear تبعتهم واحد، الآن ضال السؤال، وين تشبيكات ال
shifting؟ وين تشبيكات ال parallel؟ كيف بنعمل قصة هاي؟
تعالوا نشوف، أول شيء، على فرض أنه إحنا بس بدنا
register فقط يعمل عملية واحدة، parallel in parallel
out، هتقولوا أخدناها المحاضرة السابقة، هتقولوا بس
بنسوي I صفر من هنا، I1 من هنا، I2 من هنا، I3 من هنا
هاي خلصت، لو أنت بدك تعمله فقط، ال register هذا
بيعمل parallel in، يعطينا العافية، بده يدخل من ال D، I
صفر، I1، I2، I3، عشان لما تيجي ال pulse تفوت المعلومة
هذا لو بدنا بس إيش؟ دخول المعلومة parallel، خلي الرسم هيدا
على جنب، الآن لو بدنا نعمل مثلاً عملية shifting على
الجهة اليمين، أو بلاش يمين، بلاش shifting، خليني أقول
أسهل، خليني أقول مثلاً حفظ على ال content، يعني نعمل
عملية حفظ على ال content، الشاطرين هيقولوا أنك تحفظ
على ال content، بدك تجيب هيدا هنا، وتجيب هيدا هنا
وتجيب هيدا هنا، وتجيب هذا هنا، وتنسى الأحمر، بس اللي
بالأزرق ده بتتذكره، مش هيك؟ مش أنا لما أجيب هذا من
نفسه، هذا من نفسه، هذا من نفسه، هذا من نفسه، بتيجي
clock pulses، المعلومة بتجرى نفسها، معناها no change،
بيحافظ المعلومة على نفسها، وصح ولا لأ؟ إذا لو أنا
بدي أعملها، بتدرسوا من الأحمر، ألغي الأسلاك
الأزرق، لو بدي حفظ على ال content، برسم بالأزرق
وبنسى الأحمر، طيب هي عمليتين لحد الآن، إحنا بنقدر
نضيف، طيب شو العملية الثالثة؟ العملية الثالثة، عملية
ال shift باتجاه اليمين، كيف نعمل عملية ال shift
باتجاه اليمين؟ الشاطرين هيقولوا لي، وخليني أرسمها، هذه
بالأحمر، مافيش لون ثالث، خليني أرسمها بالأحمر
الشاطرين هيقولوا لي، المخرج اللي هنا يصير مدخل لهاي
ليش؟ عشان ال Q اللي هنا تنتقل لهنا، مش لما أنا باخد
ال Q كمدخل لهاي، مش المعلومة اللي هنا ده، تصير هنا
مش أنا قاعد بزيحها هيك، وعشان أزيح حد لهنا، مش بده
أسحب سلك زي هيك، وعشان أزيح حد لهنا، مش بده أسحب سلك
زي هيك؟ صار هيك، طب الأولانية من وين بده ياخد؟ الأولانية
بده ياخد من ال إيش؟ من ال input بتاع ال serial
اللي اتكلمنا عليه قبل شوية، صار هيك، إذا، لاحظوا الأحمر
الثالث اللي أنا رسمته هذا، إيش وظيفته؟ هذا وظيفته
أنه ينقل لي المعلومات serial من هنا لهنا، باتجاه
تسمح من خلال multiple excerpts اللي يدخله الآيات
بدك تعمل هيك shifting، أسلاك الـ shifting هيك هيك
shifting، أسلاك الـ shifting هيك إذا الموضوع صار
simple لأنك بتقدر تجمعه بـ max، لكن الـ max للأربع
flip بـ flipات، لازم يشتغل نفس الـ control للكل، يعني
ما نفعش أجي أقوله أنت يا أولاني دخل I، و أنت يا ثاني
حافظ على نفسك، و أنت يا ثاني تعمل shift، مستحيل هذا
الكلام ما بيصيرش، أنت في النهاية بتتعامل مع معلومة
موجودة جوا هذا الـ register، معلومة كاملة، يا
بتكتب عليها كلها، يا بتبدأ بتزح فيها كلها، يا
بتحفر عليها كلها، أو ما بقدرش أعمل هذه أو هذه لأ،
عشان هيك الـ max، بده ينحط أربع maxات، لكن الـ
control بيكونوا مشبوكين مع بعض، عشان مرة واحدة يقول،
no change للكل، أو إزاحة للكل، أو تحميل للكل، زي
ما هنشوف كمان شوية. طيب، الآن يعني حل الموضوع كبني
الحل، تعال أورجيك كبني الحل، و بعدين نشوف رسمة
الكتاب، يعني أنا الآن همسح المكان هذا، تمام؟ و هحط
هنا Max، الـ Max هذا بيفوت عليه أربع أسلاك، و الـ
Control تبعه اسمه مثلاً، خلّيني أعتبر الـ Control
تبعه S Node S1، هاي الـ Control تبعه، و هنعمل برضه
لهدول
كمان إيش هنعمل؟ Max، دلّني بس أرسم جانب بعض، Max و
الـ Max نفس الـ control، و إله Zero واحد إثنين تلاتة
أربع أسلاك، و هنعمل للأربع هدول هنا، هنشيلم و نحط
مكانهم إيش برضه Silk و Max، و مش هعمل الرابع، و
الرابع نفس الفكرة، الرابع ها وليها وكفيت على الرابع
هاي الرابع Max
وهنا أربع أسلاك اللي هو 0,1,2,3 0,1,2,3، تمام شفتوا
الآن الـ D، مال الـ D، الـ D طالع من الـ max، يعني الـ D
بياخد معلومته من الـ max، الآن السؤال، هذا الـ max إيش
الأسلاك اللي بدها تكون؟ تعالوا نشوف إيش هتكون، عشان
نعرف إيش هتكون، بدنا نسأل نفسنا سؤال، مش فيه أربع
احتمالات؟ الـ 00، الـ 01، الـ 10، الـ 11، الـ 01،
الـ 11، الـ 11، الـ 11، الـ 11، الـ 11، الـ 11،
الـ 11، الـ 11، الـ 11، الـ
11، الـ 11،
الحفاظ على المعلومة، إزاحة يمين، إزاحة شمال، تحميل
من برا، وعندي أربع أكواد 00, 01, 10, 11
لكل code، لنأتي بعملية عشان نشتغل، أنا بقدر أختار زي
ما بدي، أنا حر أحط الـ 00 لأي عملية، لكن خلّيني ناخد
الكتاب إيش عمل بالأكواد، عشان رسمتنا تطلع زي رسمة
الكتاب، الكتاب إيش عمل بالأكواد، تعالوا نشوف
هي الكتاب هيك اشتغل، الكتاب معليش، نخلق الكتاب ع
شجة لإنه بدّنا نمسح و نكمل، الكتاب جال 00 no change
و بعدين جال 10 shift right، بعدين جال 01 shift left
بعدين جال 11 load، تعالوا الآن نشتغل هيك فرضهم
الكتاب، تعالوا نشتغل، أول شي عند الـ 00 إيش بدنا
نعمل؟ No Change، يعني بالعربي لما نحط هذا Zero و
هذا Zero، يعني بنتكلم عن أي مكان في الـ max ..يعني
بنتكلم عن مكان Zero في الـ max ..يعني بنتكلم عن
مكان Zero في الـ max ..يعني بنتكلم عن مكان Zero في
الـ max ..يعني بنتكلم عن مكان Zero في الـ max ..يعني
بنتكلم عن مكان Zero في الـ max ..يعني بنتكلم عن
مكان Zero في الـ max ..يعني بنتكلم عن مكان Zero في
الـ max ..يعني بنتكلم عن مكان Zero في الـ max ..يعني
بنتكلم عن مكان Zero في الـ max ..يعني بنتكلم عن
مكان Zero في الـ max ..يعني بنتكلم عن مكان Zero في
الـ max ..يعني بنتكلم عن مكان Zero في الـ max ..يعني
بنتكلم عن مكان Zero في الـ max ..يعني بنتكلم عن
مكان Zero في الـ max ..يعني بنتكلم عن مكان Zero في
الـ max ..يعني من وراء هجيب السلك هذا، يعني هجيبه من
نفسه، هجيبه هيك ووصله في zero، ليش وصلته في zero؟
عشان الـ zero zero معناه no change، فهسحب من نفسه
على hand، هسحب من نفسه على hand، هسحب من نفسه على
hand، ليش أنا فسحبته من نفسه ودخلته من Zero؟ لأن الـ
00، الـ Max هيعدّل موقع Zero، و أنا الخريطة بتقول لي No
Change، و أنا بعرف إنه كيف بتصير الـ No Change إن
أوّصل المعلومة من نفسها، عشان تجرد D نفس المعلومة
إحنا الأمور مش معقدة، إحنا توّ قبل شوية لما أنا
رسمت D، مش كان فيه أربع سلاك، سلك جاي من نفسه، وسلك
جاي من البرا، وسلك جاي من الـ Q High، وسلك جاي من
تحت، للبرا، لأن مش كان فيه أربع أسلاك، الأربع أسلاك
هيفوتوا هان، هنا، الأربع أسلاك هيفوتوا، بس كيف أرتبهم؟
أنا حرّ أرتبهم، بس ده أرتبهم حسب ما حط الكتاب، الكتاب
بيقول لي الموقع صفر مخصص للسلك اللي بيعمل لك No
Change، يعني من وين؟ يعني بدي إياه يقرا نفسه، عشان
إيه أخذته أنا ووصلته في zero، عارفين لو الكتاب كان
جاي للـ one one no change، كان هجيب السلك مش من zero،
كان هوصله على تلاتة، لأنه بتصير تلاتة هي الـ no
change، شوفتم أنتم كيف؟ زي هيك، خلاص بنكمل بنفس
القالية، الآن، طب واحد واحد مثلاً عبارة عن إيش؟
الواحد واحد اللي هو رقم تلاتة، إيش بيديه يسوي لما
نحط واحد واحد؟ مش بيديه يسوي load، تحميل من برا؟
يعني من أين سأجيب السلك هذا؟ هذا سيتوصل في I3، وهذا
سيتوصل في I2، وهذا سيتوصل في I1، وهذا سيتوصل في I0
ليش؟ عشان لو حد حط الـ selection تاع الـ max 11، إيش
اللي هيعدي على الـ D؟ هيعدي على الـ I3، و هيعدي
على الـ I2، و هيعدي على الـ I1، و هيعدي على
الـ I0، إيش معناها؟ معناها بدنا نكتب معلومة من
برا جوا، و بالفعل الـ 11 في الـ max معناها load، يعني
حمل من برا، طيب اختصاراً الآن ده لحالتين، إيش
الحالتين؟ نعمل shift يمين، و shift شمال، عند الـ port
1 و port 2، تعالوا نشوف هو مخصص واحد لمين، رقم واحد في
الـ max، مخصص رقم واحد للـ shift right، وين الـ shift
right؟ يعني كده، مش هيك، الـ shift right، يعني هنيجي للـ
input هذا، أوصله في واحد، الـ Q High مش من جهتان بس
من خلال من؟ من خلال الواحد، و الـ Q High عشان تصير
إيه، اتجاهان، تتجه من خلال من؟ من خلال الواحد و High
من خلال من؟ من خلال الواحد، و بهيك خلصت ده الآخر
shift اللي هو بتجاه الشمال، من خلال الـ board اللي
هو الإثنين، يعني هجيب الـ input هنا في إثنين، و بعدين
الـ Q High هتوصل هنا من خلال إثنين، لـ Q high من خلال
إثنين لـ Q high، من خلال إثنين، عشان الله ما يحط هو
إثنين، المعلومات تصير تنزح، أنا عارف الرسمة يمكن
صارت عفشة كتير، لكن مش مشكلة، رسمة الكتاب واضحة
تدخلوا على الكتاب بعد ما تنشر المحاضرة، و تحضروها
و تشوفوا الكلام اللي أنا بحكيه، له بحكيه على رسمة
الكتاب، القصة بشكل مختصر، عشان أعملها conclusion، أنا
عندي أربعة flip flops، هي اللي بتهمني، كل flip بـ flip
مدخل الـ D، واحد من أربعة، إذا أنا بدي أقول no
change من نفسه، إذا أنا بدي أقول تحميل من برا، بدي
أجيب من برا المعلومات، إذا أنا بدي أقول shift اللي
بتجاه اليمين، بدي أخده من الـ Q اللي جابله، إذا أنا
بدي أقول shift اللي بتجاه الشمال، بدي أخده من الـ Q
التاني اللي بعده، شفتوا كيف؟ فهذه أربع أسلاك، الآن
مشكلتي ما بقدرش أحط الأسلاك مرة واحدة، و بدي الرسمة
تعمل الأربع حالات، فالقصة simple، حط Max، خلاص، حط
Max على المدخل، وطلع له Control، و أنت حر بعد هيك، في الـ
control بقول له فوت أسلاك الـ no change، أو فوت
أسلاك الـ shift يمين، أو فوت أسلاك الـ shift شمال، أو
اعمل load من برا، طب واحد هيسألني، طب الترتيب مهم؟
مش مهم، خلاص أنا عندي two bit max، أنت حرّ تحبّين
من صفر، من الـ board صفر في الـ max، المدخل الـ no
change بمشي، حبين من الـ board صفر، المدخل الـ load
بمشي، لكن أنا اتقيدت بفرضية الكتاب، الكتاب قال خلاص
نعتبر الـ port 0 في الـ max لأسلاك الـ no change
نعتبر رقم 1 لأسلاك الـ shift right، نعتبر رقم 2
لأسلاك الـ shift left، نعتبر رقم 3 لأسلاك الـ load
عشانكم، روحوا تطلعوا، بتلاقوني دخّلت الـ load من 3، دخّلت
نفسه من صفر، بناء على فرضية الكتاب، لكن الفرضية دي
مش ملزمين فيها، إحنا إيه حرّين، أي فرضية، المهم إنه كل
code ده عمل قدامه عملية، و بناء على الفرضية اللي
فرضتها، ببدأ أشتغل على الـ board تاعت الـ max، و الـ
max مش معقّد، الـ max فكرته سهل، أنا قلتها قبل شوية
لما بيجيني أكتر من wire من أكتر من مصدر، و بيدخلهم
في مكان واحد، ما بقدرش، بيصير short circuit، في الحالة
دي، بحط الـ max، و بطلّع الـ Controller بتاع الـ Max
و بصير أختار مين الـ wire اللي يعدّي على هذه الـ D، أو
يعدّي على هذا المكان، على حسب الدائرة اللي عندي، الآن
هاي بس أخدها نظرة أخيرة على الدائرة الموجودة بشكل
واضح، اللي هي الكتاب، شايفين؟ هاي هي مبينة عفشة، لكن
مش صعبة، هاي خليني عاد بس إيش أمسح
يعني رسمة الكتاب R-Tab زي ما تشوفوا، أطلعوا فيها
شوية الآن
بس أنا أنا بدي أورّيكم سلكين و خلاص، و أمشي عن هذا
الموضوع، بدي أورّيكم سلكين بس، طلعوا معايا على فرض
إحنا اخترنا 00، إيش يعني 00؟ يعني اللي توصل في D، مدخل 0
اللي توصل في الـ D، ما يدخل صفر، اللي توصل في الـ D
ما يدخل صفر، يلا تعالوا شوفوا مين اللي توصل في الـ D
كاملوا الدائرة، هي تشوفوا ما يدخل صفر من أين جاي
تشوفوا ما يدخل صفر من أين جاي، شايفين؟ ما يدخل صفر
من أين جاي، ما يدخل صفر من أين جاي، يعني بالعربي
مصدر صفرين، إيش بيصير؟ بتصير كل الـ D تجرّ الـ out، و
تتبعها، كل الـ D تجرّ الـ out، و تتبعها، يعني عملية no
change، هذا لو عملت صفرين، طيب تعالوا بلاش نعمل صفرين
بدّي أشبك صفرين، الآن بدنا نعمل مثلاً واحدين، يعني
مين اللي شبك تلاتة، تلاتة،
هذا، ويطلع للـ S1 مش الـ carry تبعهم اللي طلع
للتلاتة هدول لازم ما يضيعش، لازم أخزنه علشان لما
يجيني A2 و B2 أضيفوا إلهم صح ولا لأ؟ الآن كيف بدنا
نعمل هذه القصة؟ طبعا أول شيء الـ C عشان يتخزن بالزمن
flip-flop flip-flop يبقى أنا بتوقع رسمتي أشوف فيها flip-flop flip-flop
الـ C برضه بتوقع أشوف ريجستر من 4 بت مخزن قيمة الـ
A و عنده القدرة يزيح البيانات بت بت، ليش؟ لأن أنا
أول مرة بدي الـ A Note صح؟ فبعمل بلصة فبتخلص الـ A
Note، مش بعدها بدي أطلع الـ A1، بدي أزيح وأطلع الـ A2
وأطلع الـ A3، مش كل مرة بدي أنا أطلع الـ A و A و A و A
عشان ياخدها الـ full adder يشتر عليها، وبالتالي لازم
أخزن الـ A في ريجستر عنده القدرة على الـ shift لو
بدي، ولازم أخزن الـ B في ريجستر عنده القدرة على
الـ shift لو بدي، ولازم يكون في عندي ريجستر أخزن
عليه الأسات، ولازم يكون في عندي flip-flop عشان أخزن
الـ C، ولازم يكون في عندي full adder عشان يعمل الـ
combination logic عشان يعمل عملية الجمع، فهذه
الأركان كلها لازم أكون أنا متخيلها قبل ما أبدأ
أعمل الدائرة تبعتي، تعالوا نشوف وين هذه الأركان
تعالوا نتفرج، أول شيء تطلعوا معايا، انسو لي هذا
السلك مؤقتاً، هنتكلم فيه بعدين، اعتبروها الآن هنا من
باب التثثير، إن عندي ريجستر C من باب التثثير، طبعا
الآن إيش اللي بيصير؟ هيكون أنا عندي معلومة هنا
مثلاً اللي بدي أجمعها، ومعلومة هنا مثلاً هذه
معلومتين بدي أجمعهم، فبدي ريجستر يمسك A يخزنها، و
بدي ريجستر يمسك B يكون مخزنها، طيب، وطبعاً هيكون
في إيش؟ Clock لهذا الـ system، ليش هذا الـ clock
موجود؟ وعند الـ control هذا، أخدناه قبل شوية، هذا
أخذناه، الريجستر اللي بعمل shifting، تمام؟ في
دقرة الـ circular، ارجعوا لها، ليه نقل المعلومة من
ريجستر لآخر serially، ارجعوا لها يشوفوها، وهذا عملية
إيش الـ shift؟ يعني لما بدي أنا أعمل shifting بخليه
واحد، لو بدي أعيمل shift، بحفظ على القيمة، بخليها
zero مثلاً، تمام؟ فالآن كيف بنشتغل؟ طبعاً وبرضه
بالزمن، full adder، ليش بالزمن الـ full adder؟ اللي
هو داخل عليه تلت مداخل، مظبوط ولا لأ؟ اللي هو أول
بيجمع أول بت عشان ينجمعوا، وأول واحد بيكون هنا قيمته
zero، قيمته الإبتدائية، صح ولا لا؟ وبيطلع معايا الـ
sum، وبيطلع معايا الـ carry، مظبوط ولا لا؟ فالـ sum
بدي أبدأ أنا أدخله في الريجستر فاضي، يعني أتبعه
الريجستر هذا فاضي، فكل ما بتطلع بتة، يعني كل ما
بيجمع بتتين وبيطلع نتيجة، مش بيطلع sum، الـ sum هذا مش
لازم أضيعه، ولا لازم أحافظ عليه؟ لازم أحافظ عليه، و
إما أحافظ عليه بجيب له flip-flop على جنبه، ليش؟ علشان
أول ما تيجي نفس البلصة اللي عملت الـ shift من هنا، و
من هنا ومن هنا، نفس البلصة، تمام؟ تروح إيش تسوي؟
تجيب لي الـ carry اللي طلع من الاتنين هدول، ما يضيعش
مش بيقولوا ما نجمع هدول الاتنين، مش بيطلع الـ S، و
بيطلع الـ C، الـ C ما بدي إياه يضيع، فوين بده أخزنه؟ إيش
اللي بيخزنه؟ اللي بيخزنه flip-flop، علشان كذا، كما
تشايفين كيف الـ system هيشتغل، أول ما بنبدأ بيكون
واقف على الباب، هذه القيمة مثلاً بتكون واقفة هنا
واحد
وهنا إيش بيكون واقف؟ صفر، هذا full adder عادي، وأول
ما بنبدأ، هذا initialization، صفر، مش هيك؟ هيصير الـ
full adder إيش هيسوي؟ هيجمع واحد زائد صفر زائد صفر
قداش؟ واحد، وباليد صفر، خلاص الصفر هيضال واقف هنا
هذا، والواحد هيضال واقف هنا، وهدول مش هيصير أي
تغيير، هتظل الدائرة واقفة هيك، بيكون جمع هدول الاتنين
وطلع الـ sum، وطلع الـ C هو واقف، إيش واقف بستنى؟
بستنى أدخل الاتنين الجداد، كيف بدخلهم الاتنين
الجداد؟ بمجرد ما أعطي clock، بمجرد ما أعطي pulse،
إيش بيصير؟ تعالوا نشوف إيش بيصير، مش هذا الـ
ريجستر، بمجرد ما أعطي pulse، بيروح، بيطلع قيمة،
مش بيطلع الـ output، مش هذا بيصير له shifting، مش
بيصير له shifting، بتحرك، وهذا بتحرك، اللي أخدناه
في المحاضرة السابقة، إيش يعني؟ يعني هذا طبعاً
الواحد هيه، الواحد والصفر هيهم، وواقفين هنا، الآن
لما اجت الـ pulse هذا الواحد انكتب فوق القديم، فصار
الواحد هذا الآن إيش طالع هنا، وصار الواحد هذا إيش
مكتوب مكان مين؟ مكان هنا، وقيمة الـ carry القديم، الـ
carry بتاع هدول ماله؟ بيكون فات هنا، فالآن بيصير
عندي الحالة الجديدة، إيش هي الحالة الجديدة؟ اللي هو
بيجي مع هذا، مع هذا، مع الـ carry السابق، شايفين؟ كمان
مرة خلينا نوضحها أكثر هنا، كمان
مرة، طيب الآن أنا في عندي قيمة واقفة هنا واحد مثلاً
101 مثلاً، وهنا 0110 من عندي مثلاً، وهنا التلات أسلاك
هذا السلك الأول، هذا واقف هنا، هذا السلك هذا واقف هنا، و
هذا الـ carry هي واقف هنا، تمام؟ ابتدائي، فاول ما
بيبدأ الـ system بيجمع واحد زائد صفر زائد صفر، بيطلع
الجواب واحد، وصفر، الآن الواحد واقف هنا، والصفر واقف
هنا، طول ما الحالة القديمة واقفة، الآن إيش بدي أسوي؟
مش بدي أنقل على الحالة الجديدة، إيش الحالة الجديدة؟
مش بدي أفوت الـ A والـ B جداد، والـ C تبعتهم تفوت، عشان
التلاتة ينجمعوا مع بعض، A وB وC، صح ولا لا؟ فأنا أول
ما أدوس الـ clock، إيش بيصير في دوسة الـ clock؟ اللي
هنا وهنا وهنا نفس الـ clock، أول ما أدوس الـ clock
خلاص هذا الواحد بيروح، بيجي مكانه مين؟ هذا الواحد، و
هذا الصفر بيروح، بيجي مكانه مين؟ هذا الواحد، ليش
بيروح؟ لأن هذا Logic، مش مخزن، إنكتبوا فوقهم
القيمتين الجداد اللي انزحوا فوقهم، تمام؟ وهذا الصفر
ماله؟ بينتقل، وبيصير وين؟ مكان القديم، هنا، يعني
إيش المعلومة الجديدة؟ صارت واحد، واحد، وهذا عفواً
بيروح أين؟ بيصير فات في الريجستر تبعه، دخل عليه، مش
بيقول لنا كل بلصة، وهذا نفس البلصة، والبلصة، والبلصة، و
البلصة، هذا استقبل القيمة، وهذا طلع قيمتين، وهذا دخل
الـ C، هيك بتصير العملية، فالواحد دخل جواها، الآن إيش
هيصير؟ هينجمع الواحد مع الواحد مع الكاري السابق
يعني بالعربي، هينجمع الـ A مع الـ B مع الكاري السابق
وبتتكرر العملية، الآن هيقول واحد زائد واحد، صفر، و
باليد واحد، مظبوط؟ هي اللي باليد زائد صفر زائد صفر، فبعد
ما نجمع الواحد والواحد والصفر، بتطلع الجواب
صفر، واحد، الآن بضل واقف على هيك، إيش بتستنى مني؟
clock pulse تانية، إيش هيصير في الـ clock pulse
التانية؟ أول ما تيجي الـ clock بشكل متزامن لهاي، و
لهاي، و لهاي، و لهاي، إيش هيصير؟ أول شيء الصفر هيندفش
جوا، هيزيح الواحد، فبتصير القيمة اللي هنا إيش؟ واحد، و
هنا إيش؟ صفر، والواحدة هذه ماله؟ بيفوت هنا، و
القيمتين هدول خلاص بنكتب فوقهم مين؟ لأن هذا بنزح
برضه بنكتب فوقهم الصفر والصفر، لأن هذا بقعد
بنزح، فصار عندك إيش؟ الآن صار عندك الـ A2 دخلت، الـ
B2 دخلت مع الـ carry السابق بتاع هدول، تمام؟ وبتظل
العملية تنعاد باستمرار، كل ما تدوس أنت clock pulse
نتيجة الجامعة، بتعدي الـ carry تبقى اللي عدت هنا
بيروح لمين؟ للجداد، فلاحظوا بتصير عملية إزاحة بعد
أربع بتات أو أربع ضغطات، إيش بيصير؟ بعد أربع ضغطات
هذا وهذا بنجمعه، وجوابهم بعد أربع ضغطات بيصير
مكتوب هنا، جوابهم، إذا فعلياً أنا جمعت رقمين على full
adder واحد، بس جمعتهم بشكل تتابعي، أخدت البتين
الأولانيات، اشتغلت عليهم، جمعتهم، طلعت نتيجتهم، وطلع
الـ carry تبعهم، اجت البلصة، حافظت على النتيجة، دخلت الـ
carry السابق، ودخلت الاتنين الجداد اللي بده أجمعهم
وكل مرة بنعيد وبنزيد في هذه العملية، وبنصير نجمع
serially، هذه باختصار، تمام؟ طيب، الآن الكتاب إيش
عمل؟ الكتاب عمل إشي بسيط، مختلف عني، إيش عمل
الكتاب؟ مش إحنا المعلومة اللي كنت أجمعها هنا، مش
كل ضغطة، مش هذا بنزاح، إيش يعني بنزاح؟ يعني مش بفضي
مكانه، يعني بعد ضغطتين، مش هنا، بعد ضغطتين بيصير 01،
والمكان هذا فاضي، وهذا المكان فاضي، بعد تلت ضغطات، مش
بيصير تلت أماكن فاضية، بعد أربع ضغطات، مش بيصير
أربعة فاضية، فجالوا، ليش نخسر حالنا ريجستر الزيادة؟
ليش ما ناخد بدل أن نعمل لحالنا ريجستر الزيادة؟
ليش ما نسحب select من هنا لهنا؟
شوفتوا كيف؟ ليش؟ علشان لما نبدأ كل بلصة بينزاح،
بيسيب مكان للجواب، كل بلصة بينزاح، بيسيب مكان للجواب
بعد أربع بلصات بيكون كل الرقم طلع، وقعد مكانه مين؟
جواب الجامعة، بس من باب توفير الريجستر، قال ليش
أعمل ريجستر أخزن فيه الـ sum النتيجة، وأنا هيك هيك
الريجستر الأولاني هيفضل، لأن كل ضغطة بطلع، بزيح
فبفضل أربع ضغطات بكون فاضي، والـ sum بدخل واحد واحد
واحد واحد، فجأة خلاص أنا أوفر على حالي الريجستر
بدل أن أعمل ريجستر جديد، على نفس الريجستر
بضلّ موجود، فكل بلصة بينزاح بفضي مكان للجواب، و
بنضلّ ماشيين، بعد أربع بلصات بيكون كل الجواب، الـ sum
قعد هنا، وبكون الرقم طلع وانجمع وهكذا، طيب واحد
هيسألني، ماشي، فرض بدنا برقم 6 ورقم 2، بعد أربع
ضغطات إيش هيصير؟ بعد أربع ضغطات هنا هينكتب 8، لأنه
مجموع 6 زائد 2، 8، وهيكون فات حسب الـ
input اللي هنا، رقم جديد غير الثمانية، يمكن يكون فات
خمسة، وبالتالي كمان أربع ضغطات بيصير المجموع 5 زائد
8، 13، ففي كل مرة القيمة اللي هنا، بعد كل أربع
ضغطات، القيمة اللي هنا تنّجمع من اللي تحت، فبعد
الأربع ضغطات، بنجمعها، بتطلع نتيجة الجمع هنا، وبعد
أربع ضغطات بيكون دخل رقم جديد، فهذا هيك بيشتغل
accumulative، بيصير إيش؟ كل مرة يجمع الرقم الجديد
اللي دخل ويحوشه هنا، باختصار أنا ما بدي إياه يقعد يحوشه،
خلاص بفصل، بوقف الـ shift، بغير في الدائرة، بس هاي
الدائرة هيك شغالة باختصار، تمام؟ طيب هذا حل، هذا حل
الآن برضه السؤال هذا انحل بطريقة تانية برضه حلوة
طبعاً ملاحظة، أي شيء مش واضح بتقدر تواصل معايا بأي
وس
أول احتمال، وين نروح لو كان ال carry القديم 0 وكان
ال input 00، ايش ال output، وايش ال carry الجديد؟
تعالوا نشتغل لو 00. مش أنا بجمع Zero زائد Zero = Zero
مش تجمعهم؟ مش دارس تجمعهم! Zero زائد Zero = Zero زائد
ال carry اللي كان موجود = Zero. هل يعني الجواب ايش؟
بيطلع معايا Zero زائد Zero زائد Zero، الجواب كـ
output ك sum صفر، و ك carry صفر، لأنه ما زال ليش
carry، يعني بيضلني على نفس الدورة، هيك بعبر عنها.
هيك، ها شايفين؟ نفهمها كمان مرة. الآن هذه ايش معناها؟
أنا موجود في قيمة carry صفر. يعني خلاص أنا موجود في
الدائرة، C = صفر. يعني قيمة الـ Carry صفر. الآن الـ
input هذا هيتغير. ممكن صفرين، ممكن واحدين، ممكن واحد
Zero، ممكن Zero واحد. بتجرب كل الاحتمالات، وعند كل
احتمال يكون Edge. الاحتمال الأول طبعاً ايش بقصد هنا؟
نتيجة.
الجمع. الآن لما يكون عندي صفرين، مش دائرة بتجمع عشان
تطلع ال sum صفر زائد صفر = صفر، وأنا في ال carry صفر.
مش بنجمع معاهم ال carry؟ مش احنا بنجمع a و b و الـ
carry اللي كان موجود من الحالة السابقة، اللي هو في
الأول بيكون صفر، وبعدين بيصير يرحل صح ولا لأ؟ فالآن
صفر زائد صفر = صفر، زائد صفر = صفر. إذا ايش ال sum؟ ايش
الجواب صفر. طب شو ال carry؟ صفر زائد صفر زائد صفر
هتقولي الجواب ال sum صفر، و ال carry out صفر. مش هي
كمان بنعرف من زمان! صفر زائد صفر زائد صفر = صفر sum، و
صفر carry. ليش دلتني أنا؟ يبقى في نفس الدويرة، لأنه
قال لي صفر carry، فضلتني في نفس دورة ال carry. ليش
حطيت Slash صفر؟ لأن ال output اللي أنا بدور عليه
صفر. طب عشان تتضح أكتر، تعالوا A، B. أنا في نفس
الدويرة، أنا في دويرة صفر، وأجت ال A = 1، وال B = صفر. ايش
ال carry الجديد؟ وايش ال sum الجديد؟ اجمعوا صفر زائد
واحد زائد صفر. هتقولولي ال sum واحد، و ال carry صفر.
لأنه صفر زائد واحد زائد صفر = واحد، و carry صفر. يعني
بدي أظلّ، مش هيك؟ بدي أظلّ في حالة الواحد، صفر، في
نفس المكان. لكن ال output ايش بدي يطلع؟ واحد. ليش ضلت
في نفس المكان؟ لأن لما جمعت التلاتة، جال قيمة الـ
carry صفر. مش كنا، هذه بتمثل ال carry، فضلت في نفس
المكان. أنا متى بنتقل؟ إذا ال carry صار واحد، بنتقل.
لكن طول ما ال carry صفر، يعني ضلك في نفس المكان. طب
ليش حطيت slash one؟ لأن اللي تحت ال slash بتمثل
قيمة ال sum. إذا one بحط one، إذا zero بحط zero.
فلقال لما جمعت zero، واحد، zero، المجموع sum one، و
carry zero. فعلمتها، عملتها على نفس المكان، وقلت إن
دلوقت واحد و Zero، بس بيطلع واحد. طبعاً احنا اتفقنا
سابقا أنه مافيش داعي أكرر ال edge. يعني لو واحد
قال لي أنا، ما هذا، مش هو، هذا نفس هذا. يعني لو أنا
عملت فاصلة هيك، فاصلة، وخزنت المعلومة هذه one، zero،
slash واحد. شايفين؟ نجلّتها، ومسحت هذا. في مشكلة؟ مافيش
مشكلة. أحسن. كمان ليش أعمل خطين؟ خلاص أنا بعمل خط
واحد، وبقول الخط هذا عليك كذا، وعليك كذا. طالما أنت
بتلف على مكانك، لأن هذا معناه أن أنا بضل في مكاني.
إذا أجى 00، أو إذا أجى 10، هيك معناه، وال sum هيه
بيطلع واحد، وبيطلع zero. فمن زمان اتفقنا أنه ليش
أكرر نفس السلك اللي برجع على نفسه؟ ما أنا بقدر ايش
أحط واحد، وأحط ال labels فوقه ما بدكم، وبدكم
تخليكم كررين، لا مانع، بس من باب التنظيم الأفضل
تشتغلوا زي هيك. طيب، لحد هنا ما خلصناش، أنا في أربع
احتمالات. ديروا بالكوا، بس خليني أعدل اللي صار هنا.
قلنا بيلف على نفسه، هيه. إذا كان، قولنا أول حالة 000،
فاصلة اللي اشتغلناها قبل شوية، اللي هي 101. الآن
تعالوا، أجت الحالة التالتة، الـ C = 0. يعني أنا موجود في
نفس الدويرة هاي، تمام؟ وأجى A و B العكس، 11، 10.
الشاطرين هيقولوا الـ sum، اجمعهم = واحد، وال carry
لهدول، لما واحد، زي ال zero، زي ال zero، carry = ال zero.
إذا يلا نسجل المعلومة. يعني أنا ضلت في نفس الدويرة،
ما تغيرتش. عشان هيك بعمل فاصلة، أنه لو أجى عندي zero،
واحد، برضه الجواب يكون واحد. ليش؟ لأن ال sum هي
واحد. النتيجة جامعة هدول واحد. فحتى الآن خلصنا تلت
احتمالات. هيهم. وين الاحتمال الرابع والأخير؟ الاحتمال
الرابع والأخير، لو أنا C تساوي صفر، لأن أنا في
الدورة هي، بتكلم عنها، وال A وال B واحدين. ايش يا sum
الجديد؟ ايش يا carry؟ يلا نجمع Zero زائد واحد = واحد
زائد واحد = Zero، بِليَاض واحد. stop هنا. اتّالـ sum صفر،
لكن الـ carry ايش صار؟ واحد. ايش عن الـ carry صار
واحد؟ يعني بيدعمل السلك زي هيك. أقوله خلاص أنت الآن
زيّك، تنتقل هنا. في حال أجاني input واحد واحد، والـ
output ايش بيكون؟ Slash Zero. ليش Slash Zero؟ لأن
الأرسل Zero. ليش روحت على الدائرة التانية؟ لأن الـ C
صارت واحد. وبهيك خلصنا من الدائرة الأولى. عملنا
الأربع احتمالات، تلاتة لفوا على نفسها، وهي الـ
output في كل مرة، وفي الرابع انتقلت على دائرة واحد.
الآن هنعيد لدائرة واحد، الأربع احتمالات عشان يخلص
السؤال. الآن، هنعيد لأربع احتمالات بس مع فرضية شو
الآن؟ مع الـ C تساوي واحد. يعني لو كانت الـ C تساوي
واحد، وعند الـ A والـ B، أول حالة صفرين، ايش بيطلع الـ
sum، واِيش بيطلع ال carry الجديد؟ واحد زائد زيرو
زائد زيرو = واحد، و ال carry ايش؟ صفر. مش هيك؟ واحد
زائد زيرو زائد زيرو = واحد، و ال carry صفر. هذا شو
معناته؟ معناته هرجع تاني، ويطلع ال sum بواحد. في
حال أنت جبت له 00. يعني لو احنا عملنا 00 من هنا،
هيرجع تاني، و ال output واحد. طيب تعالوا نجرب الحالة
التانية. لو قلنا 1 0، 1 زائد 0 زائد 1، 0 باليد واحد.
يعني هيظل في نفس المكان، تمام. ها هي 01، وال output
0. ها هي تبقى جاني 01، هيظل ال C = 1 في نفس المكان،
والـ output 0. طيب تعالى الحالة التالتة اللي هي 01،
نفس الفكرة، 1 زائد 1 زائد 0، 0 باليد 1. هتقول لي
فاصلة، نفس المكان، لأن ال carry one، one، one، slash
عفواً one، zero، slash zero. هيعملنا التلات حلوات. الآن
آخر حالة، بظبط أخر حالة، كالـ sum طبعاً zero. أخر حالة
أنه أجى تلت وحايد، بيجي تلت وحايد، يقول لي one، one،
يعني برضه حيلف على مكانه، one، one، و أسلاش one، و
بهيك احنا ايش بنكون سوينا؟ عملنا ال state diagram،
زي ما تشوفين، هي ال state diagram.
إذا ال state diagram خلص. خلص السؤال. طبعاً مش هكمله،
لأنه شبتر خمسة. الآن أنا عندي ال state diagram جاهز،
وواحد بيقول لي ارسم لي بال D، ارسم لي بال T، ارسم لي بالـ
JK. المفروض أن أنتم تكونوا قادرين تحولوا هذا من
شبتر خمسة للرسمة بتاعتها بال JK. الكتاب اختار ال JK.
تعالى أوريكوا رسمة الكتاب. شايفين؟
هذه الكتاب. أول ما بدأ، بس بدي أشوف الرسمة وينها.
شواني، مش الرسمة. تعالوا، هي رسمة الكتاب. شايفين ايش
عمل؟ كيف كنا نعمل ال design؟ مش كنا... ما أقدرش أزيل
حد شوية.
صغرت كتير، هيك. أنا المشكلة خربشنا. طب مش مشكلة، على
كل الأحوال. حاول يعني نشوف قدر الإمكان اللي بنقدر
عليه. الآن احنا كيف كنا نشتغل؟ هاي مش كنا نعمل زمان
table، ونقول أنا عندي flip flop اسمه AT، وعندي X،
وعندي Y كمداخل، وعندي AT plus one، وعندي Y. مش هي كنا
نعمل؟ وكنا نقول بدي أختار مثلاً flip flop JK، أو D، أو
T زي ما بدنا. الآن مش كنا هذا بنطلعه من هذا ال table،
مش بيطلع من هذه؟ مش عايز الشغل زمان. مش كنا نقول الـ
zero، إذا أجاني 00. الشيك أول حالة، إذا Zero، وأجاني
Zero Zero، وين هروح؟ على Zero. هاي تطلع. إذا أنا في
Zero، وأجاني Zero Zero، هرجع على نفسي Zero، وطلع
Zero. مش هيك؟ وبعدين كنا نقول هنكمل 8 احتمالات، و
بعدين بدي أنا مثلاً بال J، X. مش بقول ايش كانت
السابقة Zero، عشان ال Zero بتحط Zero X، وكنا نكمل
ال Table، وبعدين ناخد ال J، وناخد ال K على Karnough
Map، ونختصر، ونرسم. هذا دي رباكوا حالياً بالكامل.
حشبت الخمسة. لكن هي محلول برضه في الكتاب. تعالوا
تطلعوا على الكتاب. هي. المهم رسمة الكتاب هي دي الـ
State Diagram. شايفين؟
هيه. هذا ال state، ال state table من وين بيجيبه؟ من الـ
state diagram. احنا بنعرف من زمان، إذا احنا ال state
diagram موجود، الكل بيقدر يطلع لي الرسمة النهائية. فهذا
مجرد مراجعة. فاحنا من ال state diagram اللي
اتعلمناه في chapter 5، اللي أنا عملته هذا، جديدة. دوة
قبل شوية، بدنا نطلع ال state table. ال state table
هاي. إن كنت في دائرة zero، عند كل ال inputs وين روحت،
وايش طلع؟ كنت في دائرة واحد، عند كل ال inputs وين
روحت، واِيش طلع؟ فهذا سهل نطلعه من الدوائر. بعد هيك
بنقرر ايش بدّكم ترسموه. مش شرط ترسموه JK، هو الكتاب
عامله بالـ JK. بدّك ترسم D، بظبط. بدّك ترسم T، بظبط. بدّك
ترسمه و JK بظبط. فالكتاب اشتغل هاي، قال Zero عشان
تصير Zero 0x، اللي أخدناه أول محاضرة، الـ Excitation
Table. Zero عشان تظل Zero، Zero X. وبعد ما كمل وخلص،
أخد هذا، كارنوف ماب. جاب معادلة الـ JK، جاب معادلة الـ K،
معادلة الـ J، ومعادلة الـ K، ورسم، وخلص رسمته. هي
الرسمة اللي هي، هي، هي الرسمة. هي الرسمة. شايفين؟ بس
اللي اتغير هذا ثابت. ليش هذا ثابت؟ لأن هنا الرقم
الأول اللي بدي يفوت، وهنا الرقم التاني اللي بدي
يفوت. هذه الـ sequential الجديدة تبعتي. هذه الـ
sequential الجديدة. هذه، هذه اللي صممتها. هذه الـ
output الأسكي بيطلع، ال flip-flop اللي رسمته
بالـ JK، معادلة الـ J، معادلة الـ K اللي طلعت معانا،
وخلاص، ومعادلة الصم اللي طلعت معانا. طلع المعادلات، و
رسم، وحط لهم نفس ال clear، وحط ال clock، وخلصنا.
يعني اللي بدي أقوله، أنه اللي فهم chapter 5، واللي
درس كيف بنصمم من ال state diagram، وبنطلع الـ
sequential circuit، هذا بالنسبة له ولا شي. هو كان
لجديد فقط. كيف سؤال ال serial، أطلع منه الدوائر اللي
رسمتها بالأحمر. بمجرد ما طلعنا الدوائر، لأن كل 828 00:57:55,710