زبان ماشين

زبان ماشين

هر خانواده ای از پردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشين ناميده می شود. مجموعه دستورالعمل های يک پردازنده (Instruction Set) مجموعه ای از اعداد دودوئی است که ماشين می تواند آنها را درک و اجرا کند. هر نوع CPU تنها زبان مخصوص خود را درک می کند و دارای مفسری بنام microprogram است که دستورات زبان ماشين را به سيگنال های سخت افزاری تفسير و ترجمه می کند.

هر دستورالعمل زبان ماشين شامل کد منحصر بفردی دارد که کدعملياتی (Operation Code) يا Opcode ناميده می شود. Opcode هميشه در ابتدای دستورالعمل قرار می گيرد. اکثر دستورات شامل داده هم هستند که توسط دستورالعمل استفاده می شود و عملوند (Operand) نام دارند.

زبان ماشین، یک زبان سطح پایین است که با استفاده از اعداد باینری یا بیت‌ها ساخته و نوشته می‌شود و کامپیوترها می‌توانند آن‌ها را درک کنند. در واقع همان‌طور که از نام آن پیدا است، زبان ماشین، زبانی مخصوص ماشین یا همان سیستم‌های کامپیوتری به حساب می‌آید.

هنگامی که یک وظیفه خاص، حتی کوچکترین برنامه و فرایندی در کامپیوتر ایجاد می‌شود، پردازنده ماشین آن را به زبان ماشین تبدیل می‌کند. کامپیوترها به دلیل اینکه دستگاه‌هایی دیجیتالی هستند، تنها داده‌های دودویی یا همان باینری را درک می‌کنند.

تنها زبانی که سیستم‌های کامپیوتری، آن را درک می‌کنند، زبان ماشین است.

زبان ماشین شامل دستورالعمل‌های زبان‌های برنامه نویسی می‌شود که مدار پردازش کامپیوتر آن‌ها را می‌خواند و کدهای برنامه را اجرا می‌کند.

کاملا واضح است که برنامه نويسی به زبان ماشين بسيار دشوار است. درک معنی دستورالعمل

های کدشده زبان ماشين برای انسان کار خسته کننده ای است. خوشبختانه

برای هر خانواده از پردازنده ها يک زبان اسمبلی ارائه می شود که دستورالعمل

های زبان ماشين را به صورت نمادی و قابل فهم تر نشان می دهند.

زبان ماشین یکی از زبان هایی است که برنامه نویس می تواند دستورهای خود را در ان بنویسد. تعدادی از این زبان ها به صورت مستقیم به وسیله ی رایانه درک می شوند و تعداد دیگری نیاز به ترجمه دارند تا قابل فهم برای رایانه شوند.

هنگامی که رایانه ها مورد استفاده ی عموم قرار گرفتند، مشخص شد که برنامه نویسی به زبان ماشین برای بسیاری از برنامه نویسان خسته کننده و ملال آور است.

زبان برنامه‌نویسی ماشین چیست؟

در زبان برنامه‌نویسی ماشین انتقال و تفهیم اطلاعات به پردازنده مرکزی کامپیوتر (CPU) با کمک رشته‌ای از کدها در فرمت دودویی و یا باینری صورت می‌گیرد. دستورات زبان ماشین با کمک تفسیر‌کننده‌ای به نام ریزبرنامه (Micro Program) به سیگنال‌های سخت افزاری قابل درک برای اجزای سیستم تفسیر می‌گردد.

فرمت باینری درواقع تفهیم اطلاعات به پردازنده مرکزی می‌باشد. دستورات در فرمت باینری به دلیل فرکانس کاری بالای پردازنده مرکزی کامپیوتر با سرعت بالایی پردازش و اجرا می‌گردند. به اطلاعات داده شده به پردازنده مرکزی در فرمت دودویی یا باینری زبان برنامه‌نویسی ماشین می‌گویند.

درک این نوع زبان برنامه نویسی برای انسان بسیار دشوار است. برنامه‌نویس بایستی برای نوشتن کدها به عملکرد ساختاری سیستم و همچنین سخت افزار کامپیوتر توجه داشته باشد.

برنامه‌نویسان پیش از این از زبان برنامه‌نویسی ماشین برای انتقال اطلاعات به CPU استفاده می‌کردند که امروزه به دلیل حجم بالای نوشتن رشته کدها و همچنین احتمال زیاد خطا در این پروسه، زبان برنامه‌نویسی ماشین بطور مستقیم استفاده نمی‌گردد.

به دلیل وجود مشکلات ذکر شده در زبان برنامه نویسی ماشین در فرمت دودویی، بعدها برنامه نویسان فرمت شانزده شانزدهی یا فرمت هگز را جایگزین فرمت باینری کردند که با وجود رفع برخی از مشکلات پیشین، همچنان دارای مشکلات زیادی است. لذا برنامه‌نویسان برای حل این مشکل روش‌های جدیدی برای تفهیم اطلاعات به پردازنده مرکزی کامپیوتر را در پیش گرفتند.

نحوه اجرای زبان برنامه نویسی در کامپیوتر

روند اجرای یک برنامه به این صورت انجام می‌شود که پردازنده CPU کدهای ماشین یا داده‌های باینری را به عنوان ورودی برنامه پردازش می‌کند. سپس یک برنامه یا سیستم عامل، خروجی برنامه را از پردازنده CPU دریافت کرده و به صورت بصری نمایش می‌دهد. به عنوان مثال، کد «اسکی» (ASCII) 01000001  نشان دهنده حرف «A» در زبان ماشین است، اما روی صفحه نمایش کامپیوتر به صورت «A» برای افراد نشان داده می‌شود. کدهای ماشین مختلف از معماری پردازنده متفاوتی استفاده می‌کنند، با این حال، در هر صورت و نوع، کدهای ماشین فقط شامل اعداد صفر و یک هستند.

نمونه ایی از کدهای زبان ماشین

همان‌طور که در ابتدای یادگیری هر زبان برنامه نویسی از مثال چاپ عبارت «Hello World» استفاده می‌شود، در این بخش نیز به عنوان مثالی از زبان ماشین این عبارت به صورت زیر نوشته شده است:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100

 

معایب استفاده از زبان برنامه‌نویسی ماشین

زبان برنامه‌نویسی ماشین که امروزه اغلب بطور مستقیم کدنویسی نمی‌شود داری معایبی است که به مهمترین آن‌ها در ادامه اشاره شده‌است.

به علت حجم بالای رشته کدها برای برنامه‌نویس بسیار خسته کننده و ملال آور است.

آموختن و به یاد سپردن این نوع زبان برنامه‌نویسی بسیار سخت و دشوار است.

به هنگام نوشتن رشته کدها بایستی به ویژگی‌های ساختاری و همچنین سخت افزار سیستم توجه ویژه داشت که بر سختی این کار می‌افزاید.

عیب‌یابی در این نوع زبان ‌برنامه‌نویسی به علت حجم بالای رشته کدها بسیار دشوار است.

انواع زبان های برنامه نویسی براساس نزدیکی به زبان ماشین

۱– زبان سطح پایین (Low-Level Language) : زبان هایی که به زبان ماشین نزدیک هستند.

۲- زبان سطح میانی (Medium-Level Language) : زبان هایی که هم به زبان ماشین و هم به زبان محاوره ای انگلیسی نزدیک هستند.

۳- زبان های سطح بالا (High-Level Language) : زبان هایی هستند که به زبان محاوره ای انگلیسی نزدیک هستند.

هر رایانه به طور مستقیم فقط زبان ماشین خود را درک می کند. زبان ماشین، زبان ذاتی و انحصاری رایانه است که هنگام طراحی سخت افزار رایانه تعریف می شود. زبان ماشین، شامل رشته ای از اعداد است و سبب می شود که رایانه عملیات اصلی مربوط به خود را در هر بار راه اندازی، اجرا کند. زبان ماشین، وابسته به ماشین و سخت افزار است.

تفاوت زبان برنامه‌نویسی سطح بالا و زبان برنامه‌نویسی سطح پایین

تفاوت اصلی زبان برنامه‌نویسی سطح بالا و زبان برنامه‌نویسی سطح پایین در شیوه انتقال اطلاعات است. انتقال اطلاعات در زبان برنامه‌نویسی سطح پایین با به‌کارگیری اعداد صفر و یک انجام می‌گردد که به عنوان فرمت باینری یا فرمت دودویی شناخته می‌شود. انتقال اطلاعات با زبان برنامه‌نویسی سطح بالا با به‌کارگیری واسطه انجام می‌گیرد که در این روش نرم افزار به عنوان واسطه عمل می‌کند.

به عنوان توضیح بیشتر، دستورات به نرم افزار منتقل می‌شود سپس دستورات از طریق نرم افزار به فرمت قابل فهم برای پردازنده مرکزی سیستم تبدیل می‌گردد.

دلیل نامگذاری این روش به عنوان زبان برنامه‌نویسی سطح بالا، نزدیک بودن آن به زبان انسان است بر خلاف زبان برنامه نویسی ماشین که به راحتی توسط انسان قابل درک نمی‌باشد. به عنوان مثال دستورات شرطی (IF) برای حالت‌های مختلف که به راحتی توسط برنامه‌نویس قابل درک می‌باشد. برای درک بهتر موضوع نرم افزار MATLAB در نظر گرفته شود.

 

 

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تماس با ما

با ما تماس بگیرید یا فرم زیر را پر کنید تا با شما تماس بگیریم. ما تلاش می کنیم در 24 روز در روزهای کاری به تمام سوالات پاسخ دهیم.