الرئيسيةالبوابةبحـثالتسجيلدخول

شاطر | 
 

 UALوحدة الحساب والمنطق

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
belkarfa abdallah
ADMIN
ADMIN


البــلـد : الجزائر
المزاج : ممتاز
الاوسمة 123

مُساهمةموضوع: UALوحدة الحساب والمنطق   الخميس نوفمبر 05, 2009 12:23 am

مقدمة عن وحدة الحساب والمنطق

إن وحدة الحساب والمنطق ALU هي اختصار لكلمة Arithmetic and Logic Unit وهي دارة رقمية موجودة داخل وحدة المعالجة المركزية مسؤولة عن اجراء كافة العمليات الحسابية (كالجمع والطرح والقسمة الضرب ) علما ان الوحدة فقط تستخدم عملية واحدة وهي الجمع اما العمليات الأخرى مثل الطرح هي عملية جمع المكافىء والضرب هي جمع لعدة مرات والقسمة هي والعمليات المنطقية (مثل OR,AND,XOR ) في الحواسب، كما تقوم بعمليات المقارنة لمعرفة نتيجة المقارنات المنطقية وهي : ( أكبر من وأصغر من ويساوي ولا يساوي) ومشتقات هذه المقارنات ، وكذلك فهي توفر امكانية تخزين المعلومات بشكل مؤقت بالإضافة إلى امكانية معالجة المعلومات. فهي تعطي خرجها بالاعتماد على قرار متخذ بداخلها . وبما أن كافة عمليات المعالجة تنحصر في نوعين من العمليات فإما أن تكون حسابية أو ان تكون منطقية فإن هذه الوحدة قادرة على معالجة أي مسألة يطلب منها معالجتها، ويمكن القول ان هذه الوحدة هي التي تقوم فعليا بتنفيذ التعليمات .

وفي الشكل المقابل فان A و B هما المعاملان ، R هو الخرج ، F هو الدخل من وحدة التحكم ، D هي حالة الخرج.

مما يتألف المعالح؟ يتألف المعالج عادة من وحدتين هما:

-وحدة التنفيذ Execution Unit ومهمتها تنفيذ التعليمات .

-وحدة ملائمة الممر Bus Interface Unit لنقل البيانات.

وتعتبر وحدة الحساب والمنطق كوحدة تنفيذ Execution Unit . فهي تتلقى الأوامر من وحدة التحكم Control Unit لتنفيذ التعليمة المخزنة في مسجل التعليمة Instruction Register فتقوم بتنفيذها ثم تعطي النتيجة التي تخزن عادة في الذاكرة الرئيسية RAM وتستعين هي الأخرى بالمسجلات لإتمام عملها.
[عدل] أقسامها

تنقسم وحدة الحساب والمنطق إلى ثلاث وحدات:
[عدل] -وحدة الفاصلة العائمة

من الصعوبة على المعالج أن يقوم بحساب أعداد الفاصلة العائمة ( وهي الأعداد التي بها فاصلة عشرية ومن أمثلتها ( 2.5565 و 8856.36532 و 0.220003 ) لأنه في هذه الحالة سوف يستهلك الكثير من قوة المعالجة في حساب عملية واحدة . ووحدة الفاصلة العائمة متخصصة في العمليات الحسابية الخاصة بالفاصلة العائمة. وتلعب هذه الوحدة دورا رئيسيا في سرعة تشغيل البرامج التي تعتمد بشكل كبير على الأعداد العشرية وهي في الغالب الألعاب الثلاثية الأبعاد وبرامج الرسم الهندسي. تساعد قوة وحدة الفاصلة العائمة الكبيرة في تسريع الألعاب الثلاثية الأبعاد ، مع أن دور المعالج قد قل من هذه الناحية بفضل دخول البطاقات الرسومية المسرعة AGP بقوتها العالية مما قلل من الاعتماد على المعالج المركزي في هذا المجال . توجد وحدة الفاصلة العائمة في المعالجات 486 فما أحدث داخل المعالج ، وقد كانت توضع في المعالجات386 وما قبله خارج المعالج مما يجعل عملها أبطأ.
[عدل] -وحدة الأعداد الصحيحة

و تختص هذه الوحدة بالقيام بحسابات الأعداد الصحيحة ، وتستعمل الأرقام الصحيحة في التطبيقات ثنائية الأبعاد كالوورد Word وإكسل Excel وبرامج الرسم الثنائية الأبعاد . وتعتبر وحدة الأعداد الصحيحة مهمة لأن معظم البرامج التي نستخدمها تعتمد على هذه الوحدة. IUOPYD QWSZ ZSAW HGFLI
[عدل] -المسجلات

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

*ماذا نعني بقولنا عند تسمية المعالج بمعالج ذو 32bits أو 64bits؟

الأساس في ذلك هو وحدة الحساب والمنطق ALU ومسجلاتها وبالتحديد طول "بتات" الأعداد الصحيحة التي من الممكن التعامل معها داخل المعالج. ففي معالج 32bits مثلا ستكون وحدة الحساب والمنطق قادرة على إجراء العمليات الحسابية والمنطقية على أعداد بطول 32bits ، وبما أن وحدة الحساب والمنطق تعمل بشكل عام مع المسجلات فمن الطبيعي أن تكون المسجلات بنفس الحجم.
[عدل] بناء وحدة حساب ومنطق

بناء الوحدات العملياتية المستخدمة في تمثيل ممر المعطيات:

يمكن ان تستخدم وحدات عملياتية منفصلة تؤدي كل منها عملية محددة لتشكيل ممر المعطيات مثل استخدام الجوامع بأنواعها والضوارب وباقي العمليات الرياضية. العمليات التي تجريها وحدة الحساب والمنطق تتعلق بالبنية الداخلية لهذه الوحدة وبشكل عام هناك نوعان أساسيان لبناء الوحدات العملياتية:
[عدل] 1.البنية من نوع CISC

بالانجليزية (Complex Instruction Set computer) في هذا النوع تحتوي وحدة الحساب والمنطق على أجزاء بنيوية تقوم بإنجاز التعليمات الحسابية المعقدة وتنعكس هذه التعليمات الحسابية المعقدة برمجيا على شكل تعليمة في لغة الآلة الخاصة بهذا المعالج، وهذه التعليمات تثقل العبئ على المعالج. وهذا النوع من المعالجات ينفذ تعليمة واحدة مع كل نبضة من المؤقت معالجات انتل غالبا تستخدم هذا النوع من المعالجات لانخفاض تكاليفها بالمقارنة مع () لذلك أصبح شائعا استخدامها تجاريا بالرغم من تعقيد كتابة براممجها
[عدل] 2.البنية من نوع RISC

بالانجليزية ( Reduced Instruction Set Computer) وفي هذا النوع تحتوي وحدة الحساب والمنطق على التعليمات الحسابية والمنطقية الأساسية ( Add, Sub, Not, Or, And) . ولا تحتوي هذه الوحدة على بنية hardware لانجاز التعليمات الحسابية المعقدة ( كالضرب أو التقسيم أو الرفع إلى قوة ) وإنما يتم انجاز هذه العمليات المعقدة باستخدام مجموعة من التعليمات الأساسية، مثلا... تحول عملية الضرب إلى جمع متكرر. البنية من نوع RISC تعتبر أسهل في التصميم وتعطي مجموعة أبسط من التعليمات ويمكن تعقيد هذا النوع من الوحدات في تمثيل التعليمات المعقدة إما بشكل بنيوي وذلك بتطوير وحدة التحكم وإضافة مسجلات على بنية المعالج، أو ان يتم ذلك بشكل برمجي باستخدام خوارزميات متطورة. ميزة هذه المعالجات تنفيذ اكثرمن تعليمة مع كل نبضة لكن كلفتها عالية مما ادى إلى استخدامها فقط في المجالات عالية المستوى والتقنيات العلمية العالية وممن المميزات أيضا سهولة التحميل للذاكرة والوصول للبيات في الذاكرة ولكن هذا على حساب الكلفة العالية
[عدل] بناء وحدة ALU من نوع RISC

يتم انجاز كافة العمليات داخل ALU ثم يتم اختيار عملية معينة...


مثلا تحتوي هذه الخلية في الشكل السابق على عمليتين منطقيتين وعملية جمع/طرح ومدخل less . يطبق الدخل الرئيسي لهذه الوحدة على مداخل كافة العمليات الداخلية وتختارالعملية المطلوبة عبر الناخب. يتحكم بالناخب الأول المدخل Binvert الذي يكون عمله كالتالي :

Binvert=0 ← فالعملية جمع

Binvert=1 ← فالعملية طرح

أما بالنسبة للناخب الآخر:

Operation=00 ← فالعملية AND

Operation=01 ← فالعملية OR

Operation=10 ← فالعملية إما جمع أو طرح

Operation=11 ← فالعملية " Less"

فإذا أردنا تنفيذ عملية ما فيتم إعطاء رقم العملية عن طريق المداخل Operation و Binvert من وحدة التحكم"كما ذُكر سابقا" فتفهم وحدة الحساب والمنطق العملية المطلوبة منها.

والمخرج Set هو عبارة عن خط يعطي نتيجة الجامع الكامل مهما كانت حالة العملية Operation ، أما المخرج "العلم" OverFlow فيتحسس في حال حدوث طفحان.

كما يمكن وضع عدد أكبر من العمليات وبذلك يزيد عدد مداخل النواخب وعدد خانات Operation .
[عدل] وصل مجموعة من ALU

في الشكل السابق لدينا دارة وحدة حساب ومنطق على 32bits، حيث يتم أخد الحمل Carry Out في كل مرة وإدخاله إلى المدخل Carry In للدارة التالية لها مباشرة.. وبالتالي نكون قد حصلنا على دارة تقوم بتنفيذ مجموعة من العمليات على عددين مؤلفين من 32bits باستخدام ALU.

إن العملية "Set On Less" هي عملية مقارنة، وعملها كالتالي :

A<B فالناتج ← 1…0000

A≥B فالناتج ← 0…0000

وبمعني آخر فهي تنفذ A-B. فإذا كانت نتيجة الطرح سالبة يوضع واحد "1" في الخانة Result0 من الناتج وباقي الخانات أصفار. أما اذا كانت نتيجة الطرح موجبة فيوضع صفر "0" في كل خانات الناتج . ولتحقيق ذلك، ففي دارة ALU31 "الأخيرة" أخذنا خط Set إلى المدخل Less في دارة ALU0 "الأولى" ويمكن ان تكون صفر أو واحد وذلك حسب حالة الجامع الكامل.

كذلك يمكن وصل جميع المخارج Results إلى البوابة NOR بحيث يتحسس علم الصفر Zero Flag عندما تكون قيم جميع المخارج هي صفر منطقي.

وكذلك الحال يمكن معرفة حالة باقي الأعلام بتصميم الدارة الخاصة بكل علم.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://87.106.143.252/servlet/redirect.srv/spz/sioblwysq/snop/p1
diable_noir.com
عــضو مميز
عــضو  مميز



مُساهمةموضوع: رد: UALوحدة الحساب والمنطق   الخميس نوفمبر 05, 2009 7:01 am

مشكووووووووووور اخي بلكرفة على المجهودات الجبارة
الرجوع الى أعلى الصفحة اذهب الى الأسفل
نور الهدى
عــضو مميز
عــضو  مميز



مُساهمةموضوع: رد: UALوحدة الحساب والمنطق   الثلاثاء نوفمبر 17, 2009 12:32 am

مشكور اخي عبد الله والله كان هذا الموضوع قد برمج كواجب منزلي لي وبفضلك اخذت العلامة الكاملة
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
UALوحدة الحساب والمنطق
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: منتيات الهندسة والعلوم FORUMS SCIENCES ET TECHNIQUES :: منتدى رياضيات واعلام الي-
انتقل الى: