زبان ماشین چیست؟ آشنایی با زبان‌های سطح پایین و سخت‌افزار

نویسنده: رضا حمیدی

آخرین ویرایش : 1 سال قبل

زبان ماشین چیست؟ آشنایی با زبان‌های سطح پایین و سخت‌افزار

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

در مورد زبان ماشین بیشتر بدانید

در مورد زبان ماشین بیشتر بدانید

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

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

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

پیش از انکه بخواهیم به زبان ماشین بپردازیم خوب است با دو سطح اصلی زبان های برنامه نویسی آشنا شوید: نخست زبان های سطح پایین و دیگری زلان هی سطح بالا. سوالی که این میان پیش می آید این است که این سطح بندی ها و این نام گذاری ها به چه مفهوم هستند؟

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

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

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

عناصر تشکیل دهنده زبان ماشین

عناصر تشکیل دهنده زبان ماشین

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

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

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

زبان ماشین چیست؟

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

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

+1300042774

+1400593419

+1200274027

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

زبان های سطح پایین در کجا مورد استفاده قرار می گیرند؟زبان های سطح پایین در کجا مورد استفاده قرار می گیرند؟

در بخش قبل یکی از کدهای ماشین را با هم دیدیم و متوجه شدیم که چقدر درک آن غیرممکن است. اما با این وجود از کدهای ماشین باز هم استفاده می شود. اما علت این موضوع چیست و به طور کلی کاربرد زبان سخت‌افزار یا ماشین چیست؟

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

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

حال بجای این که این سوییچ ها را دستی خاموش و روشن کنیم با کد ماشین که به صورت باینری (دودویی) است این کار را انجام می دهیم. عدد صفر معادل سوییچ خاموش بوده و برای سوییچ های روشن می بایست از عدد 1 استفاده کنیم. حال به راحتی می توانیم با صفر و یک ها دستوری که می خواهیم انجام شود را به پروسسور کامپیوتر داده و کارمان انجام خواهد شد.

خلاصه

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

فهرست مطالب

مقاله های مرتبط

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

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

20 − دوازده =