خانه
گاما

زبان ماشین: زبان پایه رایانه‌ها بر اساس صفر و یک که تعامل مستقیم با آن برای انسان دشوار است

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/13
تعداد بازدید90
زبان ماشین: زبان پایه رایانه‌ها بر اساس صفر و یک که تعامل مستقیم با آن برای انسان دشوار است

زبان ماشین: زبان اصلی رایانه با صفر و یک

آشنایی با زبان پایهٔ رایانه‌ها و دلیل دشواری کار مستقیم با آن
رایانه‌ها در عمیق‌ترین سطح خود، فقط یک چیز را می‌فهمند: صفر و یک. این دو عدد ساده، پایهٔ تمام پردازش‌های رایانه‌ای هستند و زبانی که رایانه مستقیماً با آن کار می‌کند، «زبان ماشین» نام دارد. اما انسان‌ها نمی‌توانند به راحتی با این زبان کار کنند، به همین دلیل زبان‌های برنامه‌نویسی ساخته شده‌اند. در این مقاله با زبان ماشین و نقش آن در برنامه‌نویسی آشنا می‌شویم.

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

زبان ماشین، تنها زبانی است که پردازندهٔ رایانه به طور مستقیم می‌فهمد. این زبان از دنباله‌ای از اعداد صفر و یک (بیت‌ها) تشکیل شده است که هر کدام به پردازنده دستوری می‌دهند. برای مثال، ممکن است دنبالهٔ 10110000 01100001 به پردازنده بگوید که عدد ۹۷ را در یک محل خاص از حافظه ذخیره کند.

هر دستور در زبان ماشین معمولاً از دو بخش تشکیل شده است: بخش «کد عملیات» که مشخص می‌کند چه کاری باید انجام شود (جمع، تفریق، مقایسه و ...) و بخش «عملوند» که مشخص می‌کند داده‌ها کجا هستند. از آنجایی که همه چیز به صورت صفر و یک نوشته می‌شود، کوچکترین اشتباه در نوشتن یک بیت، باعث می‌شود که دستور کاملاً تغییر کند و برنامه درست کار نکند.

برای درک بهتر: تصور کنید به جای خواندن این متن، دنباله‌ای از صفر و یک را می‌خواندید. مثلاً «۰۰۱۰۱۱۰۱ ۱۰۰۱۰۱۱۱». این دقیقاً همان کاری است که رایانه با کدهای برنامه انجام می‌دهد. اما برای انسان، خواندن و نوشتن چنین چیزی بسیار دشوار و خسته‌کننده است.
سطح زبان نمایش قابل‌فهم برای
زبان ماشین صفر و یک فقط رایانه
زبان اسمبلی کلمات مخفف (مثلاً MOV, ADD) برنامه‌نویسان حرفه‌ای سطح پایین
زبان سطح بالا (مانند پایتون) دستورات نزدیک به زبان انسان همهٔ برنامه‌نویسان

از زبان ماشین تا زبان برنامه‌نویسی: نقش مترجم‌ها

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

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

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

پرسش‌های کلیدی دربارهٔ زبان ماشین

پرسش

آیا امروزه کسی مستقیماً با زبان ماشین برنامه می‌نویسد؟

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

پرسش

آیا زبان ماشین در همهٔ رایانه‌ها یکسان است؟

خیر. هر نوع پردازنده (مثل اینتل، ای‌ام‌دی، یا پردازنده‌های تلفن همراه) مجموعه دستورات خاص خود را دارد. به همین دلیل، برنامه‌ای که برای یک پردازنده نوشته شده است، روی پردازندهٔ دیگری کار نمی‌کند مگر اینکه بازنویسی شود.

پرسش

چرا صفر و یک پایهٔ زبان ماشین است؟

چون سخت‌افزار رایانه بر اساس مدارهای الکترونیکی ساخته شده است که دو حالت دارند: روشن (۱) و خاموش (۰). پردازنده با تشخیص این دو حالت، دستورها را اجرا می‌کند. این سیستم دودویی (باینری) ساده‌ترین و مطمئن‌ترین راه برای طراحی مدارهای الکترونیکی است.

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

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

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع
کپسول آموزشی

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

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری
کپسول آموزشی

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری

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

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

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

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام
کپسول آموزشی

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی
کپسول آموزشی

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها
کپسول آموزشی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر
کپسول آموزشی

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر

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

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

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

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

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

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.