» «

שפת מכונה

שפת מכונה
מהי שפת מכונה, השפה הבינארית שהמחשב מבין?



שפת מכונה (Machine language) איננה שפה שמישהו מתכנת בה. שפת מכונה היא שפת המחשבים, כלומר שפה שבה "מדבר", או יותר נכון רואה המחשב.

זו שפה שפועלת על פי רצפים של ספרות אפס או אחד. אלה מייצגים שני מצבים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1.

מחשבים יודעים לחשב דברים במונחים של אפס ואחד. זה לא שהם יודעים אריתמטיקה או מתמטיקה. אבל הם כן פועלים על מצבים בהם יש מתח חשמלי ומצבים בהם אין. כי כל רכיב אלקטרוני יכול או לפעול או לא לפעול. כלומר להיות במצב פעולה, כלומר דולק, או במצב כבוי. זה On או Off.

כי שבבי המחשב הם בעצם מכונות זעירות מאוד, שבהן יש מיליארדים רבים של רכיבים זעירים, שיכולים להיות בכל רגע נתון במצב כבוי או דולק.

הקידוד הזה לפיו פועל המחשב הוא קידוד בינארי. לפיכך, שפת מכונה היא הקידוד הבינארי שבאמצעותו ניתן לתת הוראות פעולה למעבד המרכזי של המחשב, אותו מוח שלו, שמבצע את הפעולות שאנו רוצים.

אבל הקוד הבינארי הוא מורכב מאוד. בקידוד בינארי בלתי אפשרי לכתוב תוכנות מורכבות, כמו אלה שעושות בימינו דברים מטורפים כמו שעולם התוכנה יודע לייצר. לכן פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר אנושי, שמובן יותר לבני אדם וקל יחסית לזכירה.

אז כדי לתקשר עם המחשב, לתת לו פקודות ולהגיש לו דאטה, כלומר מידע לצורך חישובים או פעולות, הכול צריך להיות מתורגם לאפסים ואחדים. אבל את הפקודות כותבים בשפות תוכנה עיליות ותוכנה מיוחדת ממירה את הפקודות מהשפות הללו לקוד בינארי, של אפסים ואחדים.

את ההמרה משפת התוכנה המסוימת לשפת המכונה עושה תוכנת הקומפיילר (compiler), בעברית מהדר, הנכללת בשפות התוכנה השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה.

המרה כזו של קוד מחשב תהיה לרוב משפה עילית שהמתכנת כתב, לשפת מכונה שהמחשב מבין. המרה למה שנקרא Machine language, או לשפת ביניים, שפה שהיא באמצע, בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד לתכנות ושממנה בהמשך תתבצע הקומפליציה הסופית לשפת מכונה.


הנה שפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:

https://youtu.be/GbBI7LSijnM


על האישה שפיתחה את שפת התכנות הראשונה, שפת Cobol:

https://youtu.be/Wchru8alhaE


וסוגי שפות המחשב השונים, משפת המכונה והשפות הבסיסיות שהמחשב מבין (Assembly language), אל השפות העיליות, המאפשרות למתכנתים בדרך לכתוב קוד:

https://youtu.be/aYjGXzktatA
קומפיילר
מהו הקומפיילר שממיר שפה טבעית לקוד בינארי במחשב?



קומפיילר (compiler), בעברית מהדר, היא תוכנה שתפקידה להמיר קוד מחשב שכתוב בשפת תכנות רגילה, אל שפת מכונה (Machine language), כזו שהמחשב מבין.

תוכנת הקומפיילר נכללת כחלק משפות התכנות השונות. תפקידו הכללי של הקומפיילר הוא להמיר קוד תוכנה משפה לשפה. היא מבצעת את ההמרה משפת התוכנה המסוימת בה מתכנתים כותבים לשפת המכונה, שהיא קשה לכתיבה ומופשטת ומסובכת לזכירה.

המרה כזו תהיה לרוב של קוד מחשב בשפה עילית שהמתכנת כתב בה, כמו שפת התכנות פייתון או ג'אווה סקריפט - לשפת מכונה שהמחשב מבין.

שפת מכונה, משהו כמו שפת המחשבים, כלומר שפה שבה כאילו "מדבר" המחשב. זו שפה שפועלת על פי רצפים של אפס או אחד, שמייצגים שני מצבים חשמליים שנמצאים בבסיסו של כל רכיב חשמלי ואלקטרוני - מצבי כבוי, שזה 0, או דולק, 1. הכירו בתגית "שפת מכונה".

מכל מקום, הקומפיילר חשוב מאוד בפיתוח תוכנה, כי כמעט בלתי אפשרי לכתוב קוד בינארי שיעשה את הפעולות המורכבות במיוחד שעושות תוכנות מודרניות.

לכן גם פיתחו את שפות התכנות העיליות, שפות High level המאפשרות כתיבה במילים ובתחביר שהוא ככל האפשר קרוב לזה של שפות אנושיות, תחביר מובן יותר לבני אדם ושקל יחסית לזכור.

ואגב, יש גם מקרים שהמהדר ממיר שפה עילית לשפת ביניים, שפה שאינה שפת מכונה ולמעשה היא באמצע, משהו בין שפות עיליות וקלות יחסית לתכנות, לשפת המכונה המורכבת במיוחד.


כך פועל הקומפיילר (מתורגם):

https://youtu.be/QXjU9qTsYCc


ושפת המכונה וכיצד אנו מתקשרים איתה דרך שפות תכנות עיליות:

https://youtu.be/GbBI7LSijnM


אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

העולם הוא צבעוני ומופלא, אאוריקה כאן בשביל שתגלו אותו...

אלפי נושאים, תמונות וסרטונים, מפתיעים, מסקרנים וממוקדים.

ניתן לנווט בין הפריטים במגע, בעכבר, בגלגלת, או במקשי המקלדת

בואו לגלות, לחקור, ולקבל השראה!

אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

שלום,
נראה שכבר הכרתם את אאוריקה. בטח כבר גיליתם כאן דברים מדהימים, אולי כבר שאלתם שאלות וקיבלתם תשובות טובות.
נשמח לראות משהו מכם בספר האורחים שלנו: איזו מילה טובה, חוות דעת, עצה חכמה לשיפור או כל מה שיש לכם לספר לנו על אאוריקה, כפי שאתם חווים אותה.