מחשב
אופן פעולת המחשב

עקרון הפעולה של המחשב פשוט למדי, אולי פשוט עד כדי פליאה יחסית ליכולות המרשימות של מחשבים כיום.
אופן פעולת המחשב הוא פועל יוצא של מבנהו. המעבד קורא פקודה מהזיכרון, מבצע אותה (כאשר הוא נעזר ביחידה האריתמטית־לוגית שבמעבד לשם הביצוע), שומר את התוצאות בזיכרון, במידת הצורך, ואז קורא את הפקודה הבאה. תהליך זה נמשך עד שהמעבד מגיע לפקודת עצירה.
בשל פשטות אופי פעולתו של המעבד ניתן היה לצפות שכוחו הרב של המחשב נובע מאוסף פקודות רחב, אך למעשה מדובר במספר מצומצם של פקודות מוגדרות היטב ופשוטות למדי. כל פקודה ניתנת לסיווג לאחד או יותר מארבעת התחומים הבאים:
העברת מידע ממקום למקום - למשל, פקודה המורה למעבד להעתיק את תוכנו של תא זיכרון מספר 5 אל תא זיכרון מספר 10.
ביצוע הליך אריתמטי או לוגי על נתונים - למשל: בצע פעולת חיבור על תוכנם של תאי זיכרון מספר 7 ו־13 ושים את התוצאה בתא זיכרון מספר 20.
בדיקת הנתונים ופעולה בהתאם - לדוגמה: אם תוכנו של תא זיכרון מספר 999 הוא 0, אז בצע את הפקודות שנמצאות החל מתא זיכרון מספר 30.
שינוי רצף הפקודות - לדוגמה, בצע את הפקודות שנמצאות החל מתא זיכרון מספר 100. כזכור, משום שהמעבד מוציא את פקודותיו אחת־אחת לפי סדר הימצאן בזיכרון, אמירה למעבד שהפקודה הבאה תילקח מתא 100 ולא מהתא הנוכחי, אין משמעותה שינוי בפקודה אחת אלא שינוי בכל מהלך התוכנית החל מרגע זה שכן הפקודה הבאה תהיה זו שנמצאת מיד אחרי הפקודה בתא 100, ולא הפקודה שנמצאת מיד אחרי הפקודה בתא הנוכחי.
נראה שיש מכנה משותף בין סוגי הפקודות. העברת מידע ממקום למקום דומה למדי לביצוע הליך אריתמטי או לוגי על נתונים (למשל, חבר 0 לתוכנו של תא זיכרון 57 ושים את התוצאה בתא זיכרון 80, זהה להעתקת תוכנו של תא זיכרון 57 לתא זיכרון 80). שינוי רצף הפקודות נראה כאילו הוא מוכל בתחום של בדיקת נתונים (תמיד ניתן לשאול האם תא זהה לעצמו, ואם כן - לקפוץ לפקודה אחרת בזיכרון). הסיבה לכך נעוצה במבנה הפקודות. כמו הנתונים, מיוצגות גם הפקודות בקוד בינארי, רצף של 0 ו־1. לדוגמה, אחת מפקודות ההעתקה במעבדי אינטל x86 מיוצגת כך: 10110000. כל פקודה היא מספר מסוים שאותו מבין המעבד ולפיו הוא פועל. בנוסף, כל פקודה היא אטומית. כלומר, הפקודה "בדוק האם תוכנו של תא זיכרון מספר 73 קטן מתוכנו של תא זיכרון מספר 15 והכנס את התשובה לתא זיכרון מספר 14" היא פקודה אחת בודדת מבחינתו של המחשב. אין מדובר ברצף של פקודות ולא ניתן לבקש מהמחשב לבצע רק בדיקה או רק הכנסה. הפקודה "הכנס לתא זיכרון" היא פקודה נפרדת בעלת ייצוג בינארי שונה. אטומיות הפקודה משמעה שהמעבד יודע לבצע את הפקודה ברמת החומרה, כלומר, הרכיב עצמו מקבל את הפקודה ומאותו רגע מבצע אותה לבדו. הדבר שונה מהמקרה שבו צריך לקבל פקודה אחת להשוואה ופקודה אחרת להכנסה, משום שבמקרה שכזה היה צריך לגשת לזיכרון פעמים רבות יותר, וגישה לזיכרון היא תהליך איטי בהרבה מאשר ביצוע ברמת החומרה.
לכל מעבד אוסף פקודות שאותן הוא מבין. אוסף זה נקרא "שפת המכונה" של אותו מעבד. כפי שנאמר קודם, גישה לזיכרון לשם קבלת פקודה היא תהליך איטי יחסית ולכן פקודה אחת שמכילה בתוכה שתי פעולות תתבצע מהר יותר מאשר קבלת כל אחת מהפעולות בתור פקודה נפרדת. מצד שני, יקר יותר ומסורבל יותר לבנות מעבד המבין סוגים רבים של פקודות שונות. פרט לכך, הוספת פקודת ענק מקטינה את יעילותן של פקודות קטנות יותר. כל יצרן מעבדים בוחר לעצמו היכן עובר הגבול ועד כמה מורכבות תהיינה פקודותיו. למרות זאת, ישנן פקודות רבות שניתן למוצאן בנוסחים שונים בכל מעבד כמעט, הן בשל הצורך בהן והן בשל נסיבות היסטוריות: התרגלות ציבור המתכנתים לפקודות אלה.
מחשבים גדולים יותר כמו מחשבי־העל, שרתי חברות וכדומה, נבדלים מהדגם לעיל בעיקר במספר מעבדיהם: במקום מעבד אחד הם מכילים מספר מעבדים. מחשבי־על מסוימים מחזיקים אף אלפי מעבדים.
מעבר למעבד ולזיכרון מכילים מחשבים רבים חומרה נוספת לשם פעולות ייחודיות הנדרשות על ידי מערכות ההפעלה. רכיבים אלה תורמים בעיקר לביצועים מהירים יותר ולאו דווקא מוסיפים למחשב יכולות נוספות. המחשב מבצע בצורה רציפה את הפקודות שניתנות לו, יכולות החישוב שלו גדולות מאלה של האדם פי כמה אך לא כאן מסתכם כוחו הרב. הרבה מהיכולות המיוחסות למחשב נובעות לאו דווקא מיכולותיו המכניות אלא מהאלגוריתמים שנכתבו במיוחד כדי לנצל יכולות אלה. כתיבת תוכניות מורכבות על סמך הפקודות הבסיסיות שהוצגו כאן, מהווה חלק אינטגרלי בפעולת המחשב.