ב-Online
 
 
 
 
 
 
 
לפרק את הבייט 
בונים מחשב מדומינו 
 
 כך תהפכו אבני דומינו למחשב    צילום: GettyImages    
לפרק את הבייט |
 

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

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

איך הופכים פעולה חשמלית פיזיקלית לפעולה מתמטית מופשטת? בואו ונדגים. הפעולה החשבונית הבסיסית ביותר היא חיבור. חיבור של שני ביטים, שכל אחד מהם יכול להיות 0 או 1, יניב אחת משלוש תוצאות: אפס, אחד או שתיים. כמובן שבשיטה הבינארית אין ספרה ל-2 ולכן, כדי לייצג את התוצאה, צריך לעבור לספרת ה"שתיים" – המקבילה הבינארית לספרת העשרות. לכן, בבינארית, 1 + 1 = 10. אנחנו רוצים לבנות, בעזרת שערים לוגיים, רכיב שמסוגל לחבר שני ביטים. הוא חייב להכיל שתי כניסות קלט (נקרא להן ק1 ו-ק2), ושתי יציאות פלט – אחת לספרת האחדות (פ1) ואחת לספרת השתיים (פ2). בשפה המקצועית, רכיב כזה נקרא "Half Adder".

 

מתמטיקה בעזרת שערים לוגיים

טבלת אמת של רכיב חיבור (איור: עידו גנדל)
 טבלת אמת של רכיב חיבור (איור: עידו גנדל)   
הסתכלו על טבלת האמת של הרכיב הזה, שמוצגת משמאל. אפשר לראות ש-פ1, בפני עצמו, מגיב לקלטים בדיוק כמו שער XOR. פ2, לעומת זאת, מגיב להם בדיוק כמו שער AND. אז אם נפצל כל קלט לשניים, נעביר זוג אחד דרך שער XOR ואת השני דרך שער AND, נקבל רכיב פיזיקלי שמסוגל לחבר מתמטית שני ביטים! ישנו רכיב מורכב יותר בשם "Full Adder", שמסוגל לחבר שלושה ביטים. כאשר משרשרים רכיבים שכאלה ומחברים את פ2 של כל אחד מהם לקלט השלישי של הבא אחריו, אפשר לחבר מספרים בינאריים ארוכים יותר מביט יחיד. למעשה, מספר הביטים במספרים שמעובדים ישירות בחומרה קשור קשר הדוק להגדרה של מעבדים כמעבדי "32 ביט", "64 ביט" העדכניים וכו'.
 
 
עם קצת דמיון והרבה יצירתיות, אפשר ליצור מעגלים דומים שיבצעו פעולות חיסור, כפל ואפילו חילוק, וגם פעולות של מיתוג, כלומר בחירה של ערוץ קלט יחיד מתוך מספר ערוצים זמינים והוצאתו כפלט, או הכוונה של ערוץ קלט יחיד לאחד ממספר ערוצי פלט זמינים. פעולות שכאלה הן היסוד לכל הפעולות המתוחכמות של המחשב המודרני.

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

 
 

שערים לוגיים בעזרת דומינו

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

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

אם הבנתם את העיקרון, אתם מוזמנים לעצור לרגע ולחשוב איך מממשים את השערים המורכבים יותר – שער AND (רק אם שני הקלטים הם 1 אז גם הפלט הוא 1) ושער XOR (הפלט הוא 1 רק אם הקלטים שונים זה מזה). הדבר דורש מעט חשיבה יצירתית ואולי גם כמה הנחות יסוד שלא הוצגו כאן. למי שמתעצל או נכשל, בתמונה שבהמשך מוצגות הצעות מימוש לארבעת השערים הבסיסיים הללו. החיצים הירוקים מייצגים קלט, החץ הכחול מייצג פלט, והחץ הלבן פירושו כוח חיצוני קבוע. שערי NOR ו-NAND אפשר ליצור בקלות על ידי העברת הפלט של OR או של AND דרך שער NOT.
 

מתמטיקה בעזרת דומינו

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

רעיונות מטורפים לא פחות

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

לסיום, הנה לכם תמונה של רכיב Half Adder אמיתי מאבני דומינו. אם תפילו את אבני הקלט בתיאום מושלם, המבנה הזה יבצע חיבור מתמטי של שני ביטים. מדהים, לא?
 
מכונת חישוב פשוטה מאבני דומינו
 מכונת חישוב פשוטה מאבני דומינו    צילום: עידו גנדל 
 
בשבוע הבא נעסוק בבעיה תיאורטית לגמרי, אבל מפוצצת-שכל לא פחות ובעלת השלכות אדירות על מדעי המחשב ואולי אף על הבנת התודעה האנושית: בעיית העצירה.
 
 
 
@@@@@@@@@@@@@@@@@@@ ilan @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
@@@@@@@@@@@@@@@@@@@ ilan @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
 
תגובות
הוסף תגובה0 תגובות
הוספת תגובה
מאת
 
נושא
 
תוכן
 
 
 
 
תודה! תגובתך התקבלה.
התגובה תתפרסם בכפוף לתנאי האתר.
 
 
 
 
 

כל הזכויות שמורות 2011 © נענע 10 בע"מ
 
 
 
 
כל הזכויות שמורות © Nana10 בע"מ
Video powered by