صممت وحدة المعالجة المركزية مجموعة تعليمات سميت بلغة الآلة machine Language، ولكل تعليمة منها لها تحديد واجب إجراؤه في اللغة، ولغة الآلة هي اللغة الوحيدة التي يفهمها جهاز الكمبيوتر، ولغة الآلة تعتبر من لغات البرمجة الأولية، فمثلا عند إدخال بعض العمليات النموذجية يتم تشفير العمليات كمجموعة من البيانات، وتقدر على تفسيرها وحدة المعالجة المركزية، وهذه البيانات يصعب علينا نحن فهمها فيتم ترميز لغة الآلة بواسطة مجموعة من mnemonics، تتمثل في مجموعة رموز لتكون عناوين الذاكرة بالإضافة إلى المحفوظات الموجودة على CBU، و كل نوع من التعليمات الخاصة بلغة الآلة يتم ترجمتها إلى لغة تعليمية محددة، وتعتمد لغة تجميع الآلة على نوع الآلة المستخدم.
اللغة عالية المستوى ولغة التجميع
اللغات العالية المستوى مثل Pascal، C تكون مستقلة عن الآلة، فمثلا إذا وجدت شفرة مصدرية مكتوبة بلغة C، يمكنك أن تقوم بتنفيذها على أي جهاز يعمل بنفس النوع من الترجمة C، وهذه اللغة تكون مستقلة عن لغة الآلة وبذلك فإن التفاصيل الخاصة بالجهاز تكون مخفية عن المبرمج بلغة C، ومعنى هذا أن المبرمج C لا يمكنه معالجة المحتويات التي تم تسجيلها على وحدة المعالجة المركزية، وصممت اللغة عالية المستوى ليسهل قراءتها و تكون مختصرة، و أي برنامج عالي المستوي يكون عبارة عن مجموعة من التعليمات أقل من ما قابلناه ببرامج لغة التجميع.
البرامج المكتوبة بلغة عالية المستوى عند تحويلها إلى لغة الآلة، تقل فاعليتها إذا قورنت البرامج المكتوبة بلغة التجميع، وذلك بسبب أن اللغات عالية المستوى تكون مستقلة عن لغة الآلة، وهي مصممة لتساعد المبرمجين في الفهم بدل من تحسين فاعلية الآلة، مثلا إذا كان يوجد برنامج مكتوب بلغة C++ وأراد إظهار رسالة “Hello World” إذا تم تحويله لغة الآلة يحتاج حوالي 8000 بايت، لكن إذا كان مكتوب بلغة التجميع يحتاج حوالي 600 بايت تقريبا، معني هذا أن برنامج التجميع فاعليته أكثر من أي برنامج عالي المستوى، و لغة التجميع تتميز بالصعوبة في اكتشاف الخطأ و تصحيحه، أيضا يصعب إدخال ميزات جديدة علي البرامج الموجودة بلغة التجميع.
أهميتها
البرامج المكتوبة على أجهزة الكمبيوتر يوجد منها نوعان، برنامج النظام system programs أو برنامج التطبيق أو application programs، يتم كتابة البرامج و التطبيقات بصورة طبيعية و بلغة عالية المستوى، لكي تحقق المهام المطلوب مثل التحكم و المعالجات ولوائح الجرد والطلبات التجارية وغيرها، لكن تجد بالمقابل إن البرامج الخاصة بالنظام هي برامج عامة مهمتها تبسيط استخدام أجهزة الكمبيوتر، ومن هذه البرامج المترجمات compilers والمحررات editors وأنظمة التشغيل operating systems، وأنظمة هذه البرامج قادرة على إدارة موارد النظام.
فإذا أردت توصيل أجهزة خارجية إلى الكمبيوتر فستحتاج إلى البرمجة عند مستوى وحدة المعالجة، وهذا بسبب أن البرنامج عالي المستوي يكون مستقل عن الآلة، و يصعب العمل عند هذا المستوى وبهذا سوف تحتاج إلى لغة التجميع ليتم كتابة برامج التحكم في الدخل أو الخرج، و يوجد حالات استثنائية عند الحساب مثل إذا كان هناك نتيجة كبيرة جدا أو صغيرة ويصعب التخزين علي CPU، ففي هذه الحالة يتم اتخاذ فعل تصحيحي لكي يتم التغلب على هذه المشكلة، هذا بواسطة برنامج التجميع وتعتبر لغة التجميع لغة أساسية في الكتابة التي تعالج المشاكل.
استخداماتها
تستخدم لمعالجة المشاكل و الشروط الاستثنائية و التحكم في الأجهزة الموصلة cpu، أيضا تستخدم كأنها ذات الأفضل فاعلية فمثلا إذا أردت إعطاء أمر التحكم لطائرة في وقت محدد، ويجب إنجاز هذه الحالة في وقت قصير وتستخدم لغة التجميع من أجل تخمين الزمن المناسب لإنجاز هذه الحالة، فلكل تعليمة أو مختصر في لغة التجميع زمن خاص بالتنفيذ على حسب عدد الدورات، أيضا من الاستخدامات أنها هامة فإذا كان التطبيق ملموس و يوجد عدد كبير من الأنظمة التي يوجد بداخلها برامج التطبيق المخفي، مثل أنظمة التحكم والمراقبة أو البرامج المستخدمة في آلات الغسيل و غيرها.
المميزات و العيوب
لغة الآلة وتسمى اللغة الثنائية لأنها تتكون من 0و1، يمكنها تحويل جميع اللغات إلى لغة واحدة وهي لغة الآلة، لكي تتمكن أنظمة الحاسب من التعامل والتفاهم معها، هي اللغة الوحيدة التي يمكن لأي جهاز أن يفهمها، ومن عيوبها أنها يصعب الكتابة و التعديل عليها و لغتها غير عمومية ويصعب فهمها، لا تصلح لاستخدام جهاز آخر فهي خاصة بكل جهاز وحده بسبب ارتباطها بالمعالج نفسه.