پث‌وایز

کامپیوتر چطور کار می‌کنه (How Computers Work) · درس ۳ از ۱۲ · ۱۲ دقیقه

گیت‌های منطقی: کلیدهایی که جمع می‌کنن (Logic Gates)

ببین یه ترانزیستور چطور مثل یه کلید ریز کار می‌کنه، چندتاشون چطور گیت‌های NOT و AND و OR می‌سازن، و دو تا گیت با هم چطور ۱ + ۱ رو حساب می‌کنن.

ترانزیستور (Transistor)

اسم · الکترونیک

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

کلید برق انگشت تو رو لازم داره. «انگشت» ترانزیستور یه سیم دیگه‌ست: یه 1 روش بذاری جریان رد می‌شه، یه 0 بذاری رد نمی‌شه.

چهار تا گیت

گیت‌ها: مدارهای ریزی که هر کدوم یه قانون ساده دارن

چند تا ترانزیستور رو به هم وصل کنی، یه گیت منطقی (Logic Gate) درست می‌شه: بیت‌ها می‌رن تو و یه بیت طبق یه قانون ثابت میاد بیرون. NOT ورودیش رو برعکس می‌کنه: 0 می‌شه 1 و 1 می‌شه 0. AND فقط وقتی 1 می‌ده که هر دو ورودی 1 باشن. OR وقتی 1 می‌ده که دست‌کم یکی از ورودی‌ها 1 باشه. XOR (یای انحصاری) وقتی 1 می‌ده که ورودی‌ها با هم فرق داشته باشن.

چراغ سقف ماشین مثل OR رفتار می‌کنه: اگه در راننده باز باشه یا در شاگرد، یا هر دو، روشن می‌شه. یه گاوصندوق دوکلیده مثل AND‌ـه: فقط وقتی باز می‌شه که هر دو کلید چرخونده بشن.

خودت رو امتحان کن

یه گیت AND ورودی‌های 1 و 0 رو می‌گیره. خروجیش چیه؟

  1. 0
  2. 1
  3. 10
  4. بستگی داره ورودی‌ها به چه ترتیبی بیان
جواب رو ببین

0

درسته. AND لازم داره هر دو ورودی 1 باشن. یکیشون 0‌ـه، پس خروجی 0 می‌شه.

A B | AND  OR  XOR
0 0 |  0    0    0
0 1 |  0    1    1
1 0 |  0    1    1
1 1 |  1    1    0

خروجی

دو تا ورودی دقیقاً چهار ردیف می‌سازن: 00، 01، 10 و 11. این یعنی همه‌ی حالت‌های ممکن.

به این می‌گن جدول درستی (Truth Table): همه‌ی ترکیب‌های ورودی و این‌که هر گیت برای هر کدوم چی می‌ده. ستون AND رو بپوشون و سعی کن خودت پرش کنی: فقط توی ردیف آخر 1‌ـه.

خودت رو امتحان کن

یه گیت OR با ورودی‌های 1 و 1 خروجی 1 می‌ده.

جواب رو ببین

درست

درسته. OR وقتی دست‌کم یکی از ورودی‌ها 1 باشه 1 می‌ده، و این‌جا هر دوشون 1‌ان. گیتی که برای 1 و 1 صفر می‌ده XOR‌ـه.

قدم‌به‌قدم ببین

  1. ترانزیستور یه کلیده

    یه ترانزیستور تنها که به‌شکل یه کلید کشیده شده. سیم ورودیش 1 داره، پس جریان از نقطه‌ی کوچیک برق رد می‌شه و به نقطه‌ی لامپ می‌رسه و لامپ روشن می‌شه. اگه روی ورودی 0 بذاری لامپ خاموش می‌شه.

  2. ورودی یکی، قانون‌ها فرق دارن

    دو تا گیت کنار هم که به هر کدوم یه 1 و یه 0 داده شده. سیم خروجی AND کم‌رنگ و روی 0 می‌مونه، چون لازم داره هر دو ورودی 1 باشن. خروجی OR روی 1 روشن می‌شه، چون یه ورودی 1 براش کافیه.

  3. سیم‌کشی یه نیم‌جمع‌کننده

    حالا دو تا بیت ورودی، A = 1 و B = 1، هر کدوم دو شاخه می‌شن: یه جفت سیم می‌ره به یه گیت XOR و جفت دیگه به یه گیت AND. سیم‌های هر دو گیت روشنن. به این دو تا گیت که به همون دو بیت وصل شدن می‌گن نیم‌جمع‌کننده (Half Adder).

  4. ۱ + ۱ = 10

    خروجی‌ها ظاهر می‌شن. XOR رقم جمع رو می‌ده، S = 0، چون ورودی‌ها مثل همن. AND رقم نقلی (Carry) رو می‌ده، C = 1، چون هر دو ورودی 1‌ان. اول نقلی رو بخون بعد جمع رو: 10، که توی دودویی یعنی دو. یک به‌علاوه‌ی یک، که دو تا گیت حسابش کردن.

خودت رو امتحان کن

توی یه نیم‌جمع‌کننده، کدوم گیت بیت نقلی (Carry) رو می‌سازه؟

  1. XOR
  2. AND
  3. OR
  4. NOT
جواب رو ببین

AND

درسته. فقط وقتی هر دو بیت 1 باشن نقلی داری، و این دقیقاً قانون AND‌ـه. XOR رقم جمع رو می‌ده.

از یه بیت تا عددهای کامل: ۵ + ۳

  1. هر دو عدد رو به دودویی بنویس

    ۵ می‌شه 0101 و ۳ می‌شه 0011. ستون‌ها رو زیر هم بذار، درست مثل جمع روی کاغذ.

  2. ستون سمت راست: ۱ + ۱

    توی دودویی می‌شه 10: 0 رو بنویس و ۱ رو به ستون بعدی ببر. دقیقاً همون کاری که نیم‌جمع‌کننده کرد.

  3. دو ستون بعدی: نقلی رو هم جمع کن

    ۰ + ۱ + نقلی ۱ = 10، 0 رو بنویس و ۱ رو ببر. بعد ۱ + ۰ + نقلی ۱ = 10، 0 رو بنویس و ۱ رو ببر. تمام‌جمع‌کننده (Full Adder) مداریه که نقلیِ اومده از سمت راست رو هم می‌گیره.

  4. ستون آخر و جواب

    ۰ + ۰ + نقلی ۱ = ۱. حاصل می‌شه 1000، یعنی ۸. هشت تا تمام‌جمع‌کننده رو پشت هم ببندی، دو تا بایت کامل رو هم همین‌طوری جمع می‌کنی.

خودت رو امتحان کن

هر گیت رو به قانونش وصل کن

جواب رو ببین
  • NOT → ورودی رو برعکس می‌کنه
  • AND → فقط وقتی هر دو ورودی 1 باشن، 1
  • OR → اگه دست‌کم یه ورودی 1 باشه، 1
  • XOR → اگه ورودی‌ها فرق داشته باشن، 1

خودت رو امتحان کن

ستون‌ها رو مثل جمع‌کننده جمع کن: 0110 + 0011 = ؟

  1. 1001
  2. 0111
  3. 1011
  4. 1000
جواب رو ببین

1001

درسته. ۰ + ۱ = ۱. ۱ + ۱ = 10، 0 بنویس و ۱ ببر. ۱ + ۰ + ۱ = 10، 0 بنویس و ۱ ببر. ۰ + ۰ + ۱ = ۱. پس 1001، یعنی ۹: همون ۶ + ۳.

مرور درس

  • ترانزیستور کلیدیه که با برق کار می‌کنه، پس یه بیت می‌تونه یه بیت دیگه رو روشن‌وخاموش کنه؛ یه پردازنده میلیاردها ترانزیستور داره.
  • گیت‌ها قانون‌های ساده دارن: NOT برعکس می‌کنه، AND هر دو رو می‌خواد، OR دست‌کم یکی، XOR فرق داشتن.
  • OR توی منطق برای 1 و 1 هم 1 می‌ده؛ گیت «یکی ولی نه هر دو» XOR‌ـه.
  • نیم‌جمع‌کننده یعنی یه گیت XOR (رقم جمع) و یه گیت AND (نقلی): ۱ + ۱ = 10.
  • تمام‌جمع‌کننده‌هایی که پشت هم بسته شدن عددهای کامل رو ستون به ستون جمع می‌کنن، مثل جمع روی کاغذ.

فقط نخونش، نگهش دار

پث‌وایز هر ایده رو درست قبل از اینکه فراموشش کنی با یه سؤال کوتاه برمی‌گردونه. رایگان روی اندروید و وب، به فارسی و انگلیسی.

Cafe Bazaar Myket باز کردن نسخه‌ی وب

همه‌ی درس‌های این دوره

  1. توی جعبه چیه: اجزای کامپیوتر
  2. بیت و دودویی: شمردن با کلید (Binary)
  3. گیت‌های منطقی: کلیدهایی که جمع می‌کنن (Logic Gates)
  4. پردازنده: رجیسترها، ALU و ساعت (CPU)
  5. کد ماشین: برنامه به‌شکل عدد (Machine Code)
  6. واکشی، رمزگشایی، اجرا: حلقه‌ای که همه‌چیز رو اجرا می‌کنه
  7. رم: یه ردیف جعبه‌ی شماره‌دار (RAM)
  8. کش: داده‌ی داغ رو نزدیک نگه داشتن (Cache)
  9. ذخیره‌سازی و فایل‌ها: حافظه‌ای که می‌مونه
  10. پردازه‌ها: یه پردازنده، چند تا برنامه (Process)
  11. حافظه‌ی مجازی: هر برنامه نقشه‌ی خودش رو داره (Virtual Memory)
  12. کنار هم گذاشتنش: از دوبار کلیک تا برنامه‌ی در حال اجرا