کامپیوتر فقط ۰ و ۱ میفهمد؟ آموزش و یادگیری کامپیوتر فقط ۰ و ۱ میفهمد؟ به صورت رایگان
ایجاد شهود درباره داده دیجیتال، بیت و سیستم های دیجیتال
سلام! قبل از اینکه شروع کنم باید بهتون بگم که قراره توی صفرمین فازمون یه مقدار زیاد بخونید تا با مسیر و کاری که میخوایم بکنیم بیشتر آشنا بشین پس لطفا با من همراه باشین و بدونید که زود تموم میشه خیالتون راحت!!!!!!!
بزن بریم!!
خب… حالا که فهمیدیم قراره این سفر رو از پایینترین لایههای سختافزار شروع کنیم، بریم سراغ اولین سؤال:
کامپیوتر اصلاً اطلاعات رو چطور نمایش میده؟
احتمالاً این جمله رو زیاد شنیدی:
فرض کن…
روی کیبوردت حرف A رو فشار میدی.
یا یک عکس باز میکنی.
یا آهنگ پخش میکنی.
یا یک فیلم میبینی.
یا حتی یک بازی اجرا میکنی.
اینها برای ما کاملاً متفاوتن.
یکی حرفه، یکی تصویره، یکی صداست و یکی هم یک برنامهست.
ولی کامپیوتر باید به نحوی که بتونه همهی اینها رو پردازش کنه.
مشکل اینجاست که سختافزار دیجیتال در پایینترین سطحش با تعداد خیلی کمی وضعیت مشخص کار میکنه.
و ما برای نمایش این وضعیتها از:
ولی چرا فقط ۰ و ۱؟ 🤔
چون تشخیص دادن بین دو وضعیت مشخص برای سختافزار خیلی سادهتر و قابلاعتمادتره.
مثلاً بهصورت خیلی ساده:
1 → High
یا اگر بخوایم شهودی نگاه کنیم:
۱ → روشن
البته این «خاموش و روشن» بودن، توضیح دقیقی برای همه شرایط نیست.
در سخت افزار واقعی، این دو وضعیت با محدوده هایی از ولتاژ و جریان و رفتار ترانزیستور ها پیاده سازی میشن.
پس وقتی میگیم:
کامپیوتر با ۰ و ۱ کار میکنه!!!!
منظورمون این نیست که داخل CPU واقعاً یه بیکار نشسته و 0 و 1 محاسبه میکنه! 😄
بلکه یعنی ما میتونیم وضعیت های فیزیکی مختلف سخت افزار رو با یک نمایش ساده دودویی مدل کنیم.
خب با دو حالت چه کاری میشه کرد؟
یه سؤال ساده:
اگر فقط یک رقم دودویی داشته باشیم، چند حالت داریم؟طبیعتا 0 یا 1
پس: ۲ حالت
حالا اگر دو رقم داشته باشیم:
01
10
11
میشه: ۴ حالت
سه رقم؟
001
010
011
100
101
110
111
میشه: ۸ حالت
یعنی هر بار که یک بیت دیگه اضافه میکنیم، تعداد حالتهای ممکن دو برابر میشه.
مثلاً ۸ بیت:
۲۵۶ حالت مختلف
و این دیگه فقط دو تا وضعیت ساده نیست.
با تعداد زیادی بیت میتونیم اطلاعات خیلی متنوعی رو نمایش بدیم.
یکم بیشتر بدونید
پس عکس و صدا و متن چی میشن؟ 🤔
اینجا یک ایده خیلی مهم داریم:
کامپیوتر لازم نیست خودِ اطلاعات رو مثل ما ببینه.
کافیه برای هر نوع اطلاعات یک روش نمایش داشته باشیم.
مثلاً:
یا یک پیکسل:
یا صدا:
پس در نهایت:
حالا قسمت جذاب ماجرا شروع میشه…
تا اینجا فهمیدیم که میتونیم اطلاعات رو با ۰ و ۱ نمایش بدیم.
اما هنوز یک مشکل داریم:
چطور با این ۰ و ۱ها کاری انجام بدیم؟
مثلاً:
چطور با ۰ و ۱ محاسبه میشه؟
یا اگر بخوایم بگیم:
«اگر A روشن بود و B هم روشن بود، خروجی روشن شود.»
چطور این رفتار رو بسازیم؟
اینجا وارد دنیای منطق دیجیتال میشیم
و اولین چیزی که باهاش آشنا خواهیم شد:
گیت منطقی در سادهترین تعریف، مداریه که یک یا چند ورودی میگیره و بر اساس یک قانون مشخص، یک خروجی تولید میکنه.
مثلاً:
A ──┐
AND → Y
B ──┘
این مدار فقط وقتی خروجی ۱ میده که هر دو ورودی ۱ باشن.
یعنی:
0 AND 1 → 0
1 AND 0 → 0
1 AND 1 → 1
همین مفهوم بهظاهر ساده، یکی از آجرهای اصلی چیزهای بسیار پیچیدهتره.
از همینجا کمکم میرسیم به:
Gate → Circuit → Adder → ALU → ...
ولی فعلاً عجله نکنیم.نکته
یک نکته مهم
از این Thread به بعد، وقتی دربارهی ۰ و ۱ حرف میزنیم، بهتره این تصویر توی ذهنت باشه:
با این داداشت همراه باش!!