٪85 تخفیف

دانلود کتاب آموزشی Introduction to RISC-V جلد اول

دسته‌بندی: برچسب: تاریخ به روز رسانی: 20 آبان 1404 تعداد بازدید: 556 بازدید

کتاب به زبان فارسی و به صورت ترجمه از منابع خارجی می باشد

تعداد صفحات کتاب : 793

پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۳۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۷۵,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

بخش 1: مقدمه‌ای بر RISC-V

 

فصل 1: مروری بر معماری‌های پردازنده
  • تعریف معماری مجموعه دستورالعمل‌ها (ISA) و نقش آن در طراحی پردازنده

  • تفاوت بین معماری‌های RISC و CISC

  • مفهوم عملکرد (Performance) در طراحی معماری پردازنده

  • سیر تاریخی توسعه پردازنده‌ها از دهه ۱۹۷۰ تا امروز

  • نقش دانشگاه‌ها و صنایع در تحول معماری‌های باز و بسته

فصل 2: تاریخچه توسعه RISC-V
  • معرفی پروژه RISC در دانشگاه برکلی (Berkeley RISC Project)

  • مسیر شکل‌گیری RISC-I، RISC-II و پیدایش RISC-V

  • اهداف اولیه طراحی RISC-V و فلسفه پشت انتخاب آن

  • تأثیر پروژه‌های قبلی مانند MIPS و SPARC بر طراحی RISC-V

  • مراحل تکامل RISC-V از نسخه‌های دانشگاهی تا صنعتی

فصل 3: فلسفه طراحی RISC-V
  • اصول سادگی و ماژولار بودن در طراحی

  • حذف پیچیدگی‌های غیرضروری در سطح ISA

  • قابلیت گسترش با استفاده از Extensionها

  • استقلال از فناوری ساخت و پیاده‌سازی

  • تمرکز بر آموزش، تحقیق و توسعه صنعتی

  • مقایسه فلسفه طراحی RISC-V با ARM و x86 از نظر اهداف و رویکرد

فصل 4: ساختار مدیریتی و بنیاد RISC-V
  • معرفی RISC-V International و نقش آن در توسعه استانداردها

  • نحوه عضویت و نقش شرکت‌ها و دانشگاه‌ها در توسعه RISC-V

  • فرآیند استانداردسازی و تأیید نسخه‌های جدید ISA

  • مدل صدور مجوز و عدم وابستگی به حق امتیاز (License-Free)

  • نقش جامعه متن‌باز در توسعه ابزارها و نرم‌افزارهای مرتبط

فصل 5: مقایسه RISC-V با معماری‌های دیگر
  • مقایسه ساختار ISA میان RISC-V، ARM، MIPS و x86

  • تفاوت در نحوه رمزگشایی (Decoding) و اجرای دستورالعمل‌ها

  • بررسی مزایا و معایب هر معماری در کاربردهای مختلف

  • معیارهای ارزیابی کارایی، توان مصرفی و پیاده‌سازی سخت‌افزاری

  • جایگاه RISC-V در دنیای سیستم‌های نهفته، سرورها و رایانش ابری

فصل 6: مفهوم Open-ISA و مزایای متن‌باز بودن
  • تعریف Open-ISA و تفاوت آن با معماری‌های تجاری

  • مزایای متن‌باز بودن برای تولیدکنندگان تراشه

  • تأثیر بر هزینه‌های توسعه، تحقیق و طراحی پردازنده

  • دسترسی آزاد به مستندات، شبیه‌سازها و ابزارهای توسعه

  • ایجاد اکوسیستم جهانی نوآوری در سخت‌افزار

  • نقش Open Hardware در آینده صنعت نیمه‌هادی

فصل 7: تأثیر RISC-V بر صنعت و آموزش
  • استفاده از RISC-V در دانشگاه‌ها و مراکز پژوهشی

  • تأثیر RISC-V در کاهش وابستگی به فناوری‌های خارجی

  • رشد شرکت‌های مبتنی بر RISC-V در حوزه‌های IoT، AI و Mobile

  • ایجاد فرصت‌های شغلی در طراحی سخت‌افزار و نرم‌افزار سطح پایین

  • نمونه‌هایی از محصولات واقعی مبتنی بر RISC-V در بازار

فصل 8: مسیر آینده RISC-V و چالش‌های آن
  • بررسی روند رشد جامعه توسعه‌دهندگان RISC-V

  • چالش‌های پذیرش صنعتی در برابر معماری‌های سنتی

  • نقش دولت‌ها در حمایت از معماری‌های باز

  • آینده استانداردهای امنیتی، مجازی‌سازی و GPU در RISC-V

  • پیش‌بینی جایگاه RISC-V در دهه آینده در سطح جهانی


بخش 2: معماری و طراحی RISC-V

 

فصل 1: مروری بر اصول طراحی پردازنده‌های RISC
  • فلسفه طراحی پردازنده‌های RISC و تفاوت آن با معماری CISC

  • ویژگی‌های کلیدی طراحی RISC (سادگی، سرعت، استفاده از دستورالعمل‌های ثابت طول)

  • تأثیر معماری RISC بر کارایی، مصرف انرژی و قابلیت پیاده‌سازی

  • بررسی روند تکامل معماری‌های RISC تا ظهور RISC-V

  • مزایای ماژولار بودن طراحی RISC-V در مقایسه با ISAهای دیگر

فصل 2: ساختار کلی معماری RISC-V
  • معرفی سطح‌های معماری: Unprivileged و Privileged

  • ساختار داخلی پردازنده RISC-V و اجزای اصلی (Fetch، Decode، Execute، Memory، Writeback)

  • فرمت کلی دستورالعمل‌ها و مفهوم کلمه (Word) در RV32، RV64 و RV128

  • مفهوم Pipeline در RISC-V و نقش آن در افزایش کارایی

  • نحوه تعامل میان واحد کنترل، واحد حسابی-منطقی و حافظه

فصل 3: مجموعه دستورالعمل‌های پایه (Base ISA)
  • بررسی دقیق مجموعه دستورالعمل RV32I و نحوه عملکرد آن

  • معرفی انواع دستورالعمل‌ها (R-type، I-type، S-type، B-type، U-type، J-type)

  • نقش Immediate در انواع فرمت‌ها

  • طبقه‌بندی دستورالعمل‌ها به Arithmetic، Logical، Load/Store، Branch و Jump

  • نحوه مدیریت پرچم‌ها و مقادیر بازگشتی

  • بررسی نحوه عملکرد دستورالعمل‌های کنترل جریان (JAL، BEQ، BNE و …)

فصل 4: مجموعه‌های توسعه‌یافته (Extensions)
  • ساختار ماژولار معماری RISC-V و مفهوم افزونه‌ها (Extensions)

  • افزونه M (ضرب و تقسیم سخت‌افزاری)

  • افزونه A (دسترسی اتمی و هم‌زمانی در چند‌پردازشی)

  • افزونه F و D (محاسبات ممیز شناور تک‌دقت و دقت دوگانه)

  • افزونه C (Compressed Instructions برای بهینه‌سازی حافظه)

  • افزونه V (دستورالعمل‌های برداری و کاربرد در AI)

  • افزونه‌های سفارشی و نحوه ثبت آن‌ها در اکوسیستم RISC-V

فصل 5: حالت‌های اجرای سیستم (Privilege Modes)
  • معرفی سطوح دسترسی: Machine Mode، Supervisor Mode، User Mode

  • نقش هر حالت در مدیریت منابع و امنیت سیستم

  • نحوه جابه‌جایی بین حالت‌ها و مدیریت وقفه‌ها (Interrupts & Exceptions)

  • ثبت‌های ویژه برای مدیریت حالت‌ها (Status Registers, Control Registers)

  • مفهوم Trap و نحوه انتقال کنترل به Handler

  • کاربرد CSRها (Control and Status Registers) در معماری Privileged

فصل 6: مدل حافظه و آدرس‌دهی
  • مدل حافظه خطی در RISC-V و انواع آن (Physical و Virtual)

  • مفهوم Endianness و پشتیبانی RISC-V از Little Endian

  • آدرس‌دهی در معماری‌های 32، 64 و 128 بیتی

  • مدل هم‌زمانی حافظه (Memory Consistency Model)

  • مدیریت کش و همگام‌سازی داده‌ها در محیط‌های چند‌هسته‌ای

  • نقش دستورالعمل‌های FENCE و Memory Barrier

فصل 7: مدیریت وقفه‌ها و استثناها
  • انواع وقفه‌ها (Synchronous و Asynchronous)

  • مفهوم Exception Handling در سطح ISA

  • نحوه مدیریت وقفه‌ها در حالت Machine و Supervisor

  • بررسی ساختار PLIC (Platform-Level Interrupt Controller) و CLINT

  • رجیسترهای مرتبط با وقفه‌ها: mtvec، mepc، mcause، mip

  • سازوکار بازگشت از وقفه (MRET، SRET)

فصل 8: پشتیبانی از مجازی‌سازی و امنیت
  • مفهوم مجازی‌سازی در سطح سخت‌افزار و نقش Hypervisor Extension

  • قابلیت‌های امنیتی معماری RISC-V

  • تفکیک فضای کاربر و هسته برای افزایش امنیت

  • معرفی پروژه‌های مرتبط با TrustZone در RISC-V (مانند Keystone)

  • آینده مجازی‌سازی و امنیت در معماری‌های باز

فصل 9: تعامل میان ISA و Microarchitecture
  • تفاوت میان ISA و پیاده‌سازی سخت‌افزاری (Microarchitecture)

  • نحوه ترجمه دستورالعمل‌ها به مسیرهای داده (Datapath)

  • مفهوم Superscalar و Out-of-Order Execution در پردازنده‌های پیشرفته RISC-V

  • بررسی ساختار Pipeline در نمونه‌های مختلف (پنج مرحله‌ای، نه مرحله‌ای و غیره)

  • مدیریت Hazards (Data, Control, Structural) در معماری RISC-V


بخش 3: تنظیمات و ابزارهای توسعه RISC-V

 

فصل 1: مقدمه‌ای بر ابزارهای توسعه RISC-V

  • مفهوم Toolchain و نقش آن در توسعه نرم‌افزارهای سطح پایین

  • اجزای اصلی زنجیره ابزار RISC-V (Assembler، Compiler، Linker، Debugger)

  • تفاوت میان Cross-Compilation و Native Compilation

  • آشنایی با انواع محیط‌های توسعه (CLI، IDE و Embedded Studio)

  • مرور کلی ابزارهای رسمی و پروژه‌های متن‌باز پشتیبان RISC-V

فصل 2: نصب و پیکربندی RISC-V GNU Toolchain

  • معرفی RISC-V GCC و اجزای آن

  • ساخت Toolchain برای اهداف مختلف (Bare-metal و Linux-based)

  • تنظیم مسیرها و متغیرهای محیطی (PATH و RISCV_PREFIX)

  • بررسی ساختار خروجی فایل‌های اجرایی ELF در RISC-V

  • خطاهای متداول در نصب و نحوه رفع آن‌ها

  • تفاوت میان نسخه‌های RV32 و RV64 در هنگام ساخت Toolchain

فصل 3: توسعه با LLVM و Clang برای RISC-V

  • مروری بر پروژه LLVM و مزایای آن نسبت به GCC

  • نصب و پیکربندی LLVM با پشتیبانی از RISC-V

  • معرفی ابزارهای مرتبط مانند lld، llc و clang++

  • بررسی Backend RISC-V در LLVM و نحوه تولید کد اسمبلی

  • استفاده از LLVM برای بهینه‌سازی و تحلیل عملکرد پردازنده

  • مقایسه کارایی کدهای کامپایل‌شده با GCC و LLVM

فصل 4: شبیه‌سازی پردازنده‌های RISC-V

  • ضرورت شبیه‌سازی در توسعه و تست پردازنده‌ها

  • معرفی شبیه‌ساز Spike (شبیه‌ساز رسمی RISC-V)

  • قابلیت‌ها و محدودیت‌های Spike در مقابل QEMU

  • معرفی شبیه‌سازهای دیگر مانند Renode، Whisper و TinyEMU

  • نحوه اجرای برنامه‌های اسمبلی و C در محیط شبیه‌سازی

  • بررسی گزارش‌های اجرای برنامه، زمان‌بندی و Trace Logs

  • مقایسه دقت و سرعت شبیه‌سازها در کاربردهای آموزشی و صنعتی

فصل 5: محیط‌های توسعه مجتمع (IDE) برای RISC-V

  • آشنایی با Eclipse IDE و افزونه‌های RISC-V

  • معرفی Freedom Studio و PlatformIO

  • پشتیبانی از RISC-V در Visual Studio Code

  • نحوه مدیریت پروژه‌ها، ساخت و دیباگ در محیط گرافیکی

  • معرفی SDKهای رسمی شرکت‌هایی مانند SiFive و Andes

  • روش تنظیم Breakpoint و مشاهده ثبات‌ها (Registers) در محیط IDE

فصل 6: ابزارهای دیباگ و پروفایلینگ

  • معرفی GNU Debugger (GDB) برای RISC-V

  • نحوه ارتباط GDB با QEMU و OpenOCD

  • آشنایی با مفهوم Hardware Breakpoints و Watchpoints

  • ابزارهای Trace و Performance Counter در هسته‌های RISC-V

  • تحلیل عملکرد و مصرف منابع با ابزارهای Profiler

  • بررسی عملکرد Pipeline و Memory Access با ابزارهای تحلیلی

فصل 7: آشنایی با بردهای سخت‌افزاری توسعه RISC-V

  • معرفی بردهای آموزشی و صنعتی مانند HiFive1، Unmatched و BeagleV

  • بررسی مشخصات فنی (پردازنده، RAM، GPIO، رابط‌های ورودی/خروجی)

  • تفاوت میان بردهای FPGA-Based و ASIC-Based

  • معرفی بسترهای FPGA مانند DE10-Nano و Arty A7 برای RISC-V

  • نحوه فلش کردن Firmware و بوت اولیه روی سخت‌افزار

  • معرفی بردهای ارزان‌قیمت برای یادگیری و آموزش دانشگاهی

فصل 8: ساخت پروژه‌های نمونه و تست عملکرد

  • ایجاد پروژه ساده «Hello World» در محیط QEMU

  • اجرای برنامه‌های C و اسمبلی روی شبیه‌ساز و سخت‌افزار واقعی

  • مقایسه زمان اجرا در محیط‌های مختلف

  • نحوه تحلیل لاگ‌های عملکردی و بهینه‌سازی ساده

  • پیاده‌سازی پروژه آزمایشی چندفایلی (Multi-File Project)

  • بررسی ساختار Makefile در پروژه‌های RISC-V

فصل 9: نگهداری و به‌روزرسانی محیط توسعه

  • به‌روزرسانی Toolchain و IDEها با نسخه‌های جدید

  • بررسی تغییرات نسخه‌های GCC و LLVM برای RISC-V

  • اهمیت همخوانی ABI و API در بین نسخه‌ها

  • روش رفع ناسازگاری میان شبیه‌ساز و Toolchain

  • ایجاد نسخه پشتیبان از محیط توسعه برای کار در تیم‌ها

  • مستندسازی پروژه‌ها و ساختار فایل‌ها برای اشتراک‌گذاری


بخش 4: برنامه‌نویسی در RISC-V

 

فصل 1: مقدمه‌ای بر برنامه‌نویسی در RISC-V

  • معرفی زبان اسمبلی و نقش آن در سطح پایین سیستم

  • جایگاه برنامه‌نویسی اسمبلی در توسعه نرم‌افزارهای نهفته و سیستم‌عامل‌ها

  • تفاوت بین برنامه‌نویسی سطح بالا و سطح پایین در RISC-V

  • ساختار کلی یک برنامه اسمبلی در RISC-V

  • ابزارها و محیط‌های مورد نیاز برای نوشتن، اسمبل و اجرای برنامه‌ها

فصل 2: ساختار پردازنده و رجیسترها در RISC-V

  • آشنایی با مجموعه رجیسترهای RISC-V و کاربرد هرکدام

  • تقسیم‌بندی رجیسترها: عمومی، موقتی، ذخیره‌شده و کنترل‌کننده

  • رجیسترهای خاص (Program Counter، Stack Pointer، Frame Pointer و غیره)

  • نحوه استفاده از رجیسترها در عملیات محاسباتی و منطقی

  • استانداردهای نام‌گذاری رجیسترها و قراردادهای ABI

فصل 3: انواع داده و مدل آدرس‌دهی

  • مروری بر انواع داده‌ها در معماری 32 و 64 بیتی RISC-V

  • مدل آدرس‌دهی حافظه و نحوه ذخیره‌سازی داده‌ها

  • مفهوم Endianness در RISC-V

  • روش‌های مختلف آدرس‌دهی: Immediate، Register، Base + Offset

  • مفهوم Alignment و دسترسی به حافظه

فصل 4: دستورالعمل‌های پایه در RISC-V

  • معرفی انواع دستورالعمل‌ها در RISC-V (R-Type، I-Type، S-Type، B-Type، U-Type، J-Type)

  • دستورالعمل‌های ریاضی: جمع، تفریق، ضرب و تقسیم

  • دستورالعمل‌های منطقی: AND، OR، XOR، NOT

  • دستورالعمل‌های مقایسه‌ای و شرطی

  • بررسی فرمت باینری دستورالعمل‌ها و نحوه رمزگشایی آن‌ها

فصل 5: کنترل جریان برنامه

  • ساختار دستورات پرش (Branch) و نقش آن‌ها در اجرای مشروط

  • دستورالعمل‌های شرطی (BEQ، BNE، BLT، BGE و …)

  • دستورالعمل‌های پرش غیرشرطی (JAL، JALR)

  • نحوه پیاده‌سازی حلقه‌ها (for، while، do-while) در اسمبلی

  • فراخوانی توابع و برگشت از آن‌ها (Call/Return)

  • نحوه ذخیره و بازیابی داده‌ها در Stack هنگام فراخوانی توابع

فصل 6: مدیریت حافظه و عملیات Load/Store

  • مفهوم Load و Store در معماری RISC

  • دستورالعمل‌های LW، SW، LH، SH، LB، SB و نقش آن‌ها

  • بارگذاری داده از حافظه به رجیستر و برعکس

  • تخصیص حافظه برای متغیرها و داده‌ها

  • نحوه مدیریت داده‌ها در حافظه استک و Heap

فصل 7: پارامترها و فراخوانی توابع (Function Calling)

  • آشنایی با قرارداد فراخوانی (Calling Convention) در RISC-V

  • نحوه انتقال پارامترها از طریق رجیسترها و استک

  • مدیریت آدرس بازگشت با استفاده از رجیستر ra

  • نقش رجیستر sp در مدیریت استک

  • نحوه ذخیره‌سازی مقادیر بازگشتی در رجیسترها

فصل 8: کار با داده‌های متنی و آرایه‌ها

  • نحوه تعریف رشته‌ها (Strings) و آرایه‌ها در اسمبلی

  • پیمایش آرایه‌ها با استفاده از آدرس‌دهی و پرش‌ها

  • کار با داده‌های متنی و پردازش کاراکترها

  • نحوه محاسبه آدرس مؤلفه‌های آرایه در حافظه

فصل 9: پیاده‌سازی ساختارهای کنترلی سطح بالا

  • پیاده‌سازی if-else در اسمبلی RISC-V

  • ایجاد حلقه‌های تکرار با دستورات پرش

  • طراحی الگوریتم‌های ساده مانند شمارنده، جمع آرایه، و جست‌وجو

  • تبدیل الگوریتم‌های سطح بالا (C/Python) به اسمبلی RISC-V

فصل 10: دیباگ و بهینه‌سازی برنامه‌ها

  • آشنایی با خطاهای رایج در اسمبلی و روش‌های رفع آن‌ها

  • استفاده از ابزارهای ردیابی (trace) و بررسی ثبات‌ها

  • تحلیل عملکرد با استفاده از شبیه‌سازها

  • تکنیک‌های بهینه‌سازی دستی در اسمبلی

  • بررسی کارایی دستورات و کاهش چرخه‌های اجرایی

نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت