المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الية العمل لوحدة المعالجة المركزية (cpu) – الجزء الثاني



أحمد فرحات
02-22-2011, 06:05 PM
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-10.jpgهذا الموضوع هو الجزء الثاني من سلسلة كيف يعمل الحاسب لذلك يفضل مراجعة الجزء الاول قبل البدء به،كل المناهج العالمية التي تدرس بنية الحاسب و كيفية عمل المكونات تتطلب بمعرفة جيدة لمنهاج يدعى النظم المنطقية
وهو ما سأقوم بشرحه حاليا ولو بشكل مبسط،الإشارة المستمرة و الإشارة المتقطعة ،في العالم من حولنا يوجد العديد من المتغيرات و تمتاز هذه المتغيرات باستمراريتها، أما معنى الاستمرارية فهو بساطة استمرارها مع الزمن، فالحرارة على سبيل المثال ممكن أن تتغير أو تبقى ثابتة مع الزمن و لكنها مستمرة معه كما يوضح الشكل التالي و الذي يعبر عن تغير درجات الحرارة خلال ال24 ساعة:



http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-01.jpg
هذه الإشارة تسمى بإشارة تشابهية مستمرة،الأن حتى نستطيع أن نعالج متغير كالحرارة بشكل رقمي يجب أن نقوم بتقطيع الإشارة أي نأخذ منها عينات بفترات زمنية متساوية فتصبح الإشارة المتقطعة بالشكل التالي:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-02.jpg
هذه الإشارة تسمى بإشارة تشابهية متقطعه،هناك العديد من الشروط لتكون هذه العملية صحيحة ولكن لن نتطرق لها فهذا ليس محور حديثنا،طبعا هناك مصطلحان قد مرا و لكن لم أقم بشرحهما وهم "نعالج" و "بشكل رقمي" :

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

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

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-03.jpg
هذا الصورة تمثل و بشكل بسيط كيفية تحويل الإشارة الرقمية المخزنة في القرص المضغوط إلى إشارة تشابهية عن طريق محول تشابهي رقمي Digital to analog converter ثم تتم تهيئة الإشارة التشابهية عن طريق مضخم Amplifier و ثم تحول إلى إشارة صوتية عن طريق المجهر Speaker.

توصيف الأعداد الثنائية فيزيائياً
لقد عرفنا أننا نقوم باستعمال الأعداد الثنائية في الحاسب و عرفنا أيضا أن هذه الأعداد الثنائية تعبر عن حالة مرور التيار الكهربائي في دارة معينة وهذا الكلام بشكل نظري أما عمليا يتم التعبير عن 0 و 1 من خلال مجال معين "وليس قيمة واحدة" و غالبا ما يتوسط هذا المجال منطقة غير معرفة .

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-004.jpg
في الحاسب الشخصي غالبا ما يمثل 1 بجهد كهربائي بين (5 و 3.3)فولت و ال0 بجهد كهربائي بين (2 و 0) فولت والمنطقة بين (3.3 و 2)فولت تعتبرمنطقة غير معرفة "لا يمكن معرفة القيمة التي سيفهمها الحاسب هل هي 1 أم 0".

نبضات الساعة Clock pluses:
في جميع الأنظمة الإلكترونية نحتاج إلى من يضبط إيقاع عملها وهذه هي مهمة الClock "هل تفكر بشيء يدعى OverClock!.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-05.jpg
مهمة هذه النبضات أن تؤمّن التزامن بين أجزاء الحاسب كافة و غالبا ما يكون هناك تردد أساسي في الحاسب لنبضات الساعة و يتم الحصول على ترددات عمل أجزاء الحاسب الأخرى من خلال مضاعفته أو تجزيئه فعلى سبيل المثال الحاسب الذي أملكه فتردد مولد نبضات الساعة لدي بشكل إفتراضي هو 200Mhz
يتم الحصول على تردد المعالج منه عن طريق مضاعفته 14 مرة أي 14 * 200MHz = 2800MHz
يتم الحصول على تردد الذواكر منه عن طريق مضاعفته مرتان فقط أي 2 * 400MHz = 800MT/s
طبعا من المعروف أن تردد ذواكر ال DDR الحقيقي يكون نصف ما يذكر عليها "وهو التردد الفعلي"

جبهات نبضات الساعة :
تتألف كل نبضة ساعة من جبهتين الأولى صاعدة من 0 إلى 1 و الثانية هابطة من 1 إلى 0 أي أن كل نبضة تحوي على جبهتين.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-06.jpg
في ذواكر الDDR يتم تنفيذ عملية (قراءة أو كتابة) عند كل جبهة و ليس عند النبضة مما يعطي تردد عمل فعلي لها ضعف الحقيقي.

طرق نقل القيمة الرقمية،عرفنا أن الحاسب يقيس حجم البيانات بوحدة البايت و أن كل بايت يحتوي على 8 بت، هناك طريقتين لنقل البايت الواحد من أي جزء للحاسب إلى جزء أخر

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-07.jpg
الأولى بشكل تسلسلي "الشكل الأول" وهو أن يتم نقل البايت الواحد على شكل قطار من النبضات (1 أو 0 حسب البايت المنقول) من طرف إلى أخر من خلال سلك نقل وحيد "على الأقل" و كمثال عليه منفذ الCOM في الحاسب أو منفذ الUSB ، و تتميز هذه الطريقة بقلة عدد خطوط نقل الإشارة و ممانعتها الكبيرة للتشويش الخارجي لذلك تستخدم بكثرة في إتصال الحاسب مع العالم الخارجي و يعيبها أنها أبطأ من الطريقة الثانية،الثانية بشكل تفرعي حيث يتم استخدام عدد كبير من خطوط نقل البيانات و تساوي أقل عدد بتات يجب أن تنقل دفعة واحدة فمثلا 8 للبايت و 16 للكلمة الرقمية وهكذا و يتم نقل البايت "مثلا" دفعة واحدة و تتميز بسرعتها و لكنها تكون معرضة بشكل كبير للتشويش الداخلي "بين خطوط النقل بعضها ببعض" و التشويش الخارجي لذلك غالبا ما تستخدم لنقل البيانات بين أجزاء الحاسب الداخلية "بين المعالج و الذاكرة مثلا"

أحمد فرحات
02-22-2011, 06:06 PM
الدارات الرقمية الأساسية ،سأقوم بذكر أهم الدارات الرقمية المتواجدة حاليا و التي تعد حجر الأساس للمعالج و سأتحدث عن وظيفتها فقط حاليا أما لاحقا سأقوم بشرح تكوينها الداخلي في مواضيع لاحقة إن إقتضى الأمر.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-08.jpg
المقارن Comparator،يتضح من اسم هذه الدارة أنا تستقبل عددان ثنائيان بنفس الطول A & B "متساويان بعدد البتات" و تضع قيمة 1 منطقي على أحد مخارجها
التي هي A>B Aالجامع Adder،وهي دارة تقوم بجمع عددين ثنائيين بنفس الطول A & B و تضع قيمة الجمع على خرجها و تقبل أن يكون هناك حمل من عملية سابقة و من الممكن تعطي حمل لعملية لاحقة،أما عملية الطرح فهي تحول إلى عملية جمع وتنفذ على هذه الدارة أيضا كما سيتضح معنا لاحقا.

المشفر Encoder و فاك الشيفرة Decoder،مهمة المشفر و فاك السفرة بعكس بعضهما البعض "طبعا واشح من الاسم" ،مهمة المشفر هي تحويل قيمة معينة من دخله إلى قيمة ثنائية تماثل هذه القيمة.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-09.jpg
كما في الصورة يستخدم المشفر لإعطاء العدد الثنائي المقابل للمفتاح الذي تم ضغطه من لوحة المفاتيح. مهمة فاك الشيفرة هي تحويل عدد ثنائي إلى شكل أخر "قيمة عشرية مثلا أو حرف " حسب تسمية مخارجه و نوعها

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-10.jpg
توضح هذه الصورة فاك تشفير يسمى Binary to 7-Segment Decoder و مهمته تحويل رقم ثنائي بين 0 و 9 إلى صيغة معينة تسمح بإظهار الرقم على الشاشة سباعية القطع "غالبا ما نراها في لوحات المصاعد".

الناخب Multiplexer و الموزع De-multiplexer
مهمة الناخب هي يصل أحد مداخله المتعددة إلى خرجه الوحيد اعتمادا على القيمة الموجودة على مداخل التحكم. مهمة الموزع هي مدخله الوحيد إلى أحد مخارجه المتعددة اعتمادا على القيمة الموجودة على مداخل التحكم.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-11.jpg
يوضح هذا المثال كيفية استخدام الناخب و الموزع لنقل عدة بيانات على خط و حيد و هنا تبرز أهمية الساعة التي تتحكم بعمل كل منهما "ولو بشكل غير مباشر" فلو كان كل جزء يعمل بسرعة مختلفة عن الأخر لأصبح من المستحيل الفصل بين الإشارات المستقبلة،و تستخدم هذه الدارات بشكل كبير في أجزاء الربط بين المعالج و الذاكرة على سبيل المثال

العدادات Counters
تستخدم هذه الدارات لتشكيل قيم على خرجها "غالبا متتالية" مقابل كل نبضة ساعة تصلها

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-12.jpg
المسجلات Register
المسجلات تقسم إلى العديد من الأنواع حسب طريقة دخول البيانات إليها و خروجها و هي عبارة عن حجرات ذاكرية تحتفظ بقيمتها ما دامت مغذاه "غالبا" وهي

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-13.jpg
1-مسجلات تسلسلية تسلسلية مع إزاحة إلى اليمين أو اليسار
2-مسجلات تفرعية تسلسلية
3-مسجلات تسلسلية تفرعية
4-مسجلات تفرعية تفرعية
5-مسجلات الإلتفات إلى اليمين أو اليسار
حيث يعبر نوع نقل البيانات الأول على طريقة إدخال القيمة للمسجل و تعبر نوع نقل البيانات الثاني عن طريقة إخراج الملفات من المسجل،و سنتعرف على استخدامات العديد منها لاحقا يكفي أن تعرف أن مسجلات الإلتفات تفيد كثيرا في عمليات الضرب و القسمة

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-14.jpg
هذه الصورة تمثل مسجل من النوع التسلسلي وكيفية إدخال المعلومات فيه

أحمد فرحات
02-22-2011, 06:07 PM
نظرة أعمق إلى نظام العد الثنائي
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-15.jpg
سأقوم بإضافة بعض الأمثلة والمعلومات الإضافية عن النظام الثنائي

التحويل من الثنائي إلى العشري :
كما تحدثنا من قبل أن كل خانة من الأعداد الثنائية لها وزن يعبر عنه بالأساس 2 مرفوع إلى موقع الخانة،عند التحويل نقوم بضرب قيمة الخانة الثنائية (1 أو 0) بوزن الخانة كما يوضح المثال التالي:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-16.jpg
نقوم بكتابة أوزان الخانات "السطر الأحمر"،نقوم بكتابة قيمة الأوزان بشكل رقم صحيح عوضا عن أس و أساس "ليست شرطا"،نتكب قيمة الخانة الثنائية حسب موقعها ثم نقوم بعملية الضرب،نجمع نواتج الضرب و نحصل بذلك على الرقم العشري المقابل للرقم الثنائي

التحويل من العشري إلى الثنائي:
هناك طريقتين واحدة طويلة و لكنها عامة "تصلح لأي نظام عد كان" و لن أشرحها هنا أما الثانية فهي البسيطة و القصيرة وهي المفضلة غالبا،تعتمد الطريقة على حفظ الأوزان الثنائية (1 2 4 8 16 32 64 128 256 512 1024 2048) حيث أن كل خانة هل ضعف سابقتها.

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-17.jpg
الأن لنأخذ مثلا الرقم 49:
نكتب الخانات الثنائية بحيث أن تكون أخر خانة أكبر من العدد المطلوب تحويله 1 2 4 8 16 32 64
نبحث عن أكبر خانة ثنائية بحيث تكون أصغر أو تساوي 49 فنجد أنها 32 ،نقوم بعملية الطرح 49-32 فيكون الناتج 17 نبحث عن أكبر خانة ثنائية بحيث تكون أصغر أو تساوي 17 فنجد أنها 16،نقوم بعملية الطرح 17-16 فيكون الناتج1 نبحث عن أكبر خانة ثنائية بحيث تكون أصغر أو تساوي 1 فنجد أنها 1،نقوم بعملية الطرح 1-1 فيكون الناتج 0 و عندها نتوقف،الأن نضع الرقم 1 أسفل كل خانة ثنائية تم استخدامها أي أسفل ال32 و 16 و 1 و أسفل بقية الخانات 0
1 2 4 8 16 32 64 ،1 0 0 0 1 1 0
و بهذا يكون تحويل 49 إلى ثنائي هو 110001

العمليات الحسابية على الأعداد الثنائية
الجمع
نجمع كل خانة إلى الخانة المقابلة وفق الجدول التالي

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-18.jpg
حيث Sum هي ناتج الجمع و Carry هي الحمل للقيمة التالية "كما يحصل في عملية الجمع العشرية عندما يكون الناتج أكبر من 9"،مثال:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-19.jpg
الطرح،تتم عملية الطرح كما الجدول التالي:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-20.jpg
و من الممكن أن نحتاج إلى إستعارة 10b من الخانة الأكبر كما يوضح المثال التالي:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-21.jpg
الضرب،القاعدة الأساسية في الضرب هي :

أحمد فرحات
02-22-2011, 06:07 PM
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-22.jpg
و عند ضرب عدد من الخانات نقوم بالعملية كما لو كنا نتعامل مع أعداد عشرية،مثال:

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-23.jpg
المتمم الأحادي و المتمم الثنائي،فكرة المتمم موجودة في جميع نظم العد وهي المتمم التي إذا جمعناها مع عدد الذي تم حسابه منه تعطنا قيمة معينة و هي إما عدد مؤلف من أخر رمز في نظام العد "المتمم الأحادي" أو المتمم الأحادي +1 و هو ما يسمى المتمم الثنائي.
ففي الأعداد العشرية يعطى المتمم الأحادي للعد 596 بالشكل التالي: 999-596=403 أما المتمم الثنائي يكون 404
أما في الأعداد الثنائية فالعملية أسهل "رغم أنها تتبع إلى نفس القاعدة" ،فالعدد 1101010 متممه الأحادي هو 0010101 و متممه الثنائي هو 0010110
إذ أننا نبدل كل 1 ب 0 و كل 0 ب 1 و ذلك للحصول هعلى المتمم الأحادي و عند جمع الرقم 1 نحصل على المتمم الثنائي من المتمم الأحادي،فائدة المتتمات تظهر عند عملية الطرح ففي الحاسب يتم التعامل مع جميع الأرقام على أنها متممات ثنائية.
على فرض أن لدينا بايت . سيستطيع هذا البايت أن يتسع الأرقام من 00000000 حتى 11111111 و قد تم الإتفاق على أن جميع الأعداد من من 00000000 إلى 01111111 هي أعداد موجبة و أن جميع الأعداد من 10000000 إلى 11111111 على أنها أعداد سالبة هذا يجعل البايت الواحد يتسع إلى أعداد من -128 إلى 127 ،و سبب ذلك أنه تم الإتفاق على جعل أخر بت في كل بايت يحتوي على قيمة سالبة "وهو خانة 128"وهذا المثال يوضح كيفية تحويل من متمم ثنائي إلى عدد عشري مؤشر

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-24.jpg
العمليات على المتمم الثنائي "ما يحدث فعلا داخل المعالج"،على إعتبار أن كل ما يتعرف عليه الحاسب من أرقام تتم الحسابات عليها على أنها متمم ثنائي فيجب أن نعرف أنه يتعامل مع الجمع و الطرح على أنهما عملية واحدة و الأمثلة التالية توضح ذلك

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-25.jpg
(الحالة 1) نلاحظ في حالة جمع عددين موجبين لا يوجد أي مشكلة "جمع تقليدي"
(الحالة 2) نلاحظ في الحالة الثانية حولت عملية الطرح إلى جمع بعد أن تمت كتابة الرقمين على أنهما متمم ثنائي و كان الناتج أيضا متمم ثنائي
(الحالة 3) نلاحظ في الحالة الثالثة كيف أصبحت عملية الجمع بين عددين سالبين عملية جمع تقليدية و كان الناتج بشكل متمم ثنائي و لكن هنا يجدر ذكر أنه في حال كان هناك طفحان يتم إهماله و الطفحان هو تخطي الناتج عدد الخانات المخصصة للعملية،في بعض الأحيان ممكن أن يحصل ما يسمى بتغير خانة الإشارة وهذا يحدث عندما نجمع عددين موجبين و يكون الناتج سالب أو جمع عديين سالبين و يكون الناتج موجب كما في الصورة

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-26.jpg
أمثلة إضافية توضح كيف تحول عملية الجمع و الطرح إلى جمع فقط عند التعامل مع المتمم الثنائي

أحمد فرحات
02-22-2011, 06:08 PM
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-27.jpg
الأن أي شخص درس أي لغة برمجة سيعترض و بقوة و سيقول لي "متحولات الInteger و التي تحوي على قيم صحيحة بطول 1Byte يمكن أن تتسع إلى أرقام من 0إلى 255 و على حسب ما ذكرت سأحتاج إلى 2Byte كي يتسع إلى 255" و سيكون الجواب هنا يأتي دور لغة البرمجة إذ أن المعالج بالنسبة له كل ما يدور حوله يعتبر أرقام فقط و لن يفرق بين عدد موجب أو عدد سالب و لكنه زود ببعض الادوات التي تساعده على التعامل مع أي شيء فالمعالج يحتوي على ما يسمى مسجل الحالة إذ أن هذا المسجل يحتوي يعلم البرنامج المنفذ عن حدوث حالة معينة في المعالج قد حدثت حتى يستطيع البرنامج فهم سبب الجواب الغريب و يخرجه للمستخدم بشكل صحيح ،عادة ما يكون طول هذا المسجل بايت و لكنه الأن ليس حديثنا ما يهمنا أن نعرفه أنه يحوي على ما يسمى Negative flag و Overflow Flag و الكل بت من هذا المسجل يسمى Flag
سأخذ الأن كما يسمى سيناريو و اسقطه على المعالج و نرى كيف يقوم البرنامج بفهم ما يحدث من خلال مسجل الحالة،لنفترض أني قمت بالعملية التالية01000000 (64+)،+ 01000001 (65+)
-------------
10000001 (-127)

الأن ما سيحدث هو في حال كان المتحول أثناء كتابة البرنامج معرف على أنه Integer فلن ينظر إلى الNegative flag و الذي يحدد إن كان الناتج سالب "تصبح قيمته 1 عندما يكون ناتج العملية سالب" و يتم التعامل مع الناتج على أنه عدد ثنائي عادي و ليس متمم ثنائي وهذه العمليات هي من إختصاص لغة البرمجة

نظام العد الست عشري ،هذا النظام يتكون من 16 عشر رمز "من 0 إلى F" و تتوزع وفق الجدول التالي

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-28.jpg
و هو مهم جدا عند التعامل مع الذاكرة و ذلك لأنه يستطيع وصف عدد كبير من خلال رموز قليلة فمثلا،العدد FFFF يمثل في الأعداد العشرية 65535 وفي الأعداد الثنائية 1111111111111111 و يتميز هذا النظام أن أساسه يقبل القسمة على اساس النظام الثنائي لذلك يمكن أن توصف كل خانة من نظام العد الست عشري ب بأربع خانات من الأعداد الثنائية لأن 2 مرفوعة للأساس 4 تعطي الرقم 16

نظام العد الثماني،و يتكون من ثمانية رموز "0 إلى 7"

أحمد فرحات
02-22-2011, 06:09 PM
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-29.jpg
وهذا النظام يملك نفس ميزة النظام الست عشري و لكن هنا كل 3 خانات ثنائية تمثل خانة ثمانية

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

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-30.jpg
AND
OR
NOT
و تتميز كل بوابة بما يسمى جدول حقيقة وهو جدول يوضح جميع القيم الممكنة للدخل و ما يقابلها في الخرج

بوابة AND &،وهي بوابة تعطي على خرجها 1 عندما تكون قيم مداخلها جميعا 1 وهذا جدول الحقيقة لبوابة AND بمدخلين

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-31.jpg
بوابة OR |،وهي بوابة تعطي على خرجها 1 عندما تكون إحدى أو جميع مداخلها 1 وهذا جدول الحقيقة لبوابة OR بمدخلين

أحمد فرحات
02-22-2011, 06:09 PM
http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-32.jpg
بوابة NOT ~و تسمى العاكس أيضا و تعطي قيمة معاكسة للقيمة الداخلة إليها

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-33.jpg
من خلال هذه البوابات الأساسية نستطيع الحصول على بعض البوابات المساعدة الأخرى و هي

NAND ،هذه البوابة عبارة عن بوابة AND يوجد على خرجها بوابة NOT

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-34.jpg
ويعطى جدول الحقيقة الخاص بها بالشكل

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-37.jpg
NOR،هذه البوابة عبارة عن بوابة OR يوجد على خرجها بوابة NOT

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-36.jpg
ويعطى جدول الحقيقة الخاص بها بالشكل

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-37.jpg
XOR

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-38.jpg
وهي بوابة تسمى ببوابة عدم التماثل و تعطي 1 على خرحها عندما تحتلف مداخلها كما في الجدول

http://www.arabhardware.net/images/stories/articles/2010/december/12122010-cpu-p2/12122010-39.jpg
سأكتفي بهذا القدر حاليا،الموضوع التالي سأشرح كيفه كيفية عمل الترانزستور و كيفية تشكيل البوابات الرئيسية من الترانستورات و شرح لبعض الأفكار الرئيسية في تقنيات تصنيع المعالج وبعض العلاقات الرياضية الجميلة