طراحی یک CPU
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- طراحی و شبیهسازی یک CPU هشت بیتی (8 BIT)
- ایجاد مجموعه دستورالعمل اختصاصی
- ایجاد زبان اسمبلی اختصاصی
- ساخت اسمبلر اختصاصی در اکسل
- ساخت دیباگر زبان اسمبلی اختصاصی در اکسل VBA
- نوشتن برنامههای زبان اسمبلی اختصاصی
- به زبان ساده، 'اگر میخواهید بدانید کامپیوتر چگونه کار میکند، این دوره را بگذرانید!'
- درست است، 'اگر واقعاً میخواهید بدانید کامپیوتر چگونه کار میکند، این دوره را بگذرانید!'
- زیرنویسها به 78 زبان مختلف اضافه شدهاند.
پیشنیازهای دوره
- به یک کامپیوتر نیاز دارید. همچنین کتاب 'ButHowDoItKnow, The Basic Principles of Computers for Everyone' نوشته J. Clark Scott پیشنهاد میشود.
توضیحات دوره
اگر میخواهید بدانید کامپیوتر چگونه کار میکند، این دوره مناسب شماست. در این دوره، طراحی یک CPU (واحد پردازش مرکزی) ساده که قلب تپنده کامپیوترهای مدرن است، آموزش داده میشود. مدرس هر بلوک از CPU را در ابزار آنلاینی به نام Logisim طراحی و شبیهسازی میکند. میتوانید ابزار را دانلود کرده و CPU را در کامپیوتر خود شبیهسازی کنید، یا اگر مایل هستید، میتوانید نسخهای از فایلهای شبیهسازی را دریافت کرده، آنها را در ابزار بارگذاری کنید و آنچه را که در ویدئوها آموزش داده شده شبیهسازی نمایید؛ یا صرفاً به ویدئوها گوش دهید (انتخاب با شماست).
زیرنویسهایی برای 78 زبان مختلف اضافه شده است. اگر زبان شما در لیست نیست، اطلاع دهید تا اضافه شود. اگر انگلیسی زبان مادری شما نیست، از زیرنویسها استفاده کنید و ویدئوها را با سرعت 0.75x پخش کنید.
ابتدا ابزار طراحی رایگان به نام LOGISIM دانلود میشود که در آن CPU طراحی و شبیهسازی میگردد؛ سپس نگاهی به محیط ابزار انداخته و نحوه کار آن آموزش داده میشود. سپس بخش جذاب ماجرا آغاز میشود. بلوکهای زیر طراحی و شبیهسازی میشوند:
- دروازههای منطقی ساده
- سلول حافظه 1 بیتی
- سلول حافظه 8 بیتی
- رجیستر 8 بیتی
- Decoder
- RAM (حافظه دسترسی تصادفی)
- ALU (واحد محاسبه و منطق)
- Clock
سپس استراحتی به عمل آمده و این سوال مطرح میشود: 'آیا کامپیوتر میتواند به سوال زندگی، جهان و همه چیز پاسخ دهد؟' ایدههای پشت چیستی کامپیوتر و مهمتر از آن، کارهایی که نمیتواند انجام دهد بررسی میشود! به این سوال در دو ویدئوی بعدی پاسخ داده میشود.
الگوریتمها
ماشینهای تورینگ
پس از این وقفه کوتاه، طراحی CPU از سر گرفته میشود. دشوارترین بخش به نام واحد کنترل طراحی و شبیهسازی میشود. اینجا جایی است که جادو اتفاق میافتد و آن لحظه شگفتانگیز 'اورکا' فرا میرسد که میگویید: 'میدانم کامپیوتر چگونه کار میکند!'. در این بخش، مجموعه دستورالعمل درون واحد کنترل ساخته میشود. این مجموعه دستورالعمل شامل موارد زیر است:
- چرخه واکشی و اجرا
- دستورالعملهای ALU
- دستورالعملهای LOAD و STORE
- دستورالعمل DATA
- دستورالعمل پرش رجیستر
- دستورالعمل آدرس پرش
- دستورالعمل شرطی پرش
- دستورالعمل پاکسازی پرچمها
سپس یک اسمبلر در مایکروسافت اکسل ساخته میشود (اسمبلر چیست؟ وقتی به این نقطه برسید خواهید دانست و کار آسان خواهد شد!).
سپس CPU با استفاده از Excel VBA مدلسازی شده و از روی آن یک دیباگر زبان اسمبلی ساخته میشود. این ابزار به نوشتن برنامههای زبان اسمبلی کمک میکند. در نهایت، آمادگی لازم برای بارگذاری اولین برنامه زبان اسمبلی در CPU ایجاد میشود. الگوریتمی که 2 عدد را در هم ضرب میکند (شاید چیز زیادی به نظر نرسد، اما پس از آن میتوانید الگوریتمهای خود را طراحی کرده و روی CPU خودتان شبیهسازی کنید).
سپس به شبیهسازی سطح بالا پرداخته میشود. حافظه CPU (RAM) با اولین برنامه بارگذاری شده و اجرای برنامه به صورت زنده مشاهده میشود. میتوان اجازه داد کد به سرعت اجرا شود یا میتوان بیتهای 0 و 1 را مرحله به مرحله پیش برد و تمام جزئیات ریز اتفاقاتی که در CPU طراحی شده رخ میدهد را مشاهده کرد!
همچنین بخش هدیه را برای مطالب اضافی که به مرور اضافه میشود، بررسی کنید. CPU از 8 بیت به 16 بیت توسعه داده میشود، الگوریتمهای زبان اسمبلی بیشتری که روی CPU اجرا میشوند ایجاد شده و کد VBA مربوط به اسمبلر و دیباگر با جزئیات توضیح داده میشود (و موارد بیشتر در آینده).
این دوره از طراحی CPU در کتاب 'ButHowDoItKnow (اصول اولیه کامپیوترها برای همه)' پیروی میکند. این دوره در وبسایت نویسنده کتاب معرفی شده است. برای دنبال کردن دوره نیازی به خرید کتاب نیست، اما تهیه آن به شدت توصیه میشود.
اگر میخواهید بدانید در قلب یک کامپیوتر چه میگذرد و چگونه کار میکند، این دوره برای شماست!!!
این دوره برای چه کسانی مناسب است؟
- همه و هر کسی که این سوال را میپرسد: 'کامپیوترها چگونه کار میکنند؟'
طراحی یک CPU
-
مقدمه 01:38
-
Logisim 13:24
-
گیتهای ساده 09:12
-
بلوکهای سازنده 04:24
-
سلول حافظه 1 بیتی 16:32
-
سلول حافظه 1 بایتی 04:58
-
رجیستر 8 بیتی 09:34
-
Decoder 11:35
-
طراحی خودکار 02:58
-
بافر کنترل 05:40
-
حافظه با دسترسی تصادفی (RAM) 17:48
-
واحد محاسبه و منطق (ALU) 24:10
-
Clock 10:34
-
نمای کلی واحد پردازش مرکزی (CPU) 08:01
-
الگوریتمها 14:26
-
ماشین تورینگ 13:04
-
بخش کنترل: جمع 2 عدد 21:09
-
بخش کنترل: Stepper 11:36
-
بخش کنترل: چرخه واکشی 22:06
-
بخش کنترل: دستورالعمل ALU 27:24
-
بخش کنترل: دستورالعملهای Load و Store 23:38
-
بخش کنترل: دستورالعملهای Data 13:38
-
بخش کنترل: دستورالعمل پرش رجیستر 06:13
-
بخش کنترل: دستورالعمل آدرس پرش 05:27
-
بخش کنترل: دستورالعمل Jump If 23:09
-
بخش کنترل: دستورالعمل Clear Flags 03:03
-
اسمبلر 19:43
-
برنامه زبان اسمبلی 10:59
-
دیباگر زبان اسمبلی 08:21
-
CPU 06:29
-
ریست کردن CPU 06:50
-
بارگذاری برنامه در CPU 14:53
-
شبیهسازی سطح بالا 18:41
-
خداحافظی 00:56
-
طراحی جدید 04:27
-
توضیح کدهای VBA دیباگر 30:24
-
سری فیبوناچی در طراحی کامل اسمبلر 19:16
-
ساخت یک CPU شانزده بیتی 05:57
-
طراحی CPU 2 (پیشرفته) 19:27
مشخصات آموزش
طراحی یک CPU
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:همه سطوح
- تعداد درس:39
- مدت زمان :08:12:12
- حجم :5.56GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy