کتاب برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین | دروازه‌ای به دنیای برنامه‌نویسی سطح پایین برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین آیا همیشه کنجکاو بوده‌اید که کامپیوترها ...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره برنامه‌نویسی برای کامپیوترهای دیجیتال: کاوشی در قلب ماشین

موضوع کلی: مبانی برنامه‌نویسی و علوم کامپیوتر

موضوع میانی: برنامه‌نویسی سطح پایین و معماری سخت‌افزار

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر کامپیوترهای دیجیتال
  • 2. تاریخچه ماشین‌های محاسبه: از پاسکال تا فون نویمان
  • 3. مفهوم برنامه و الگوریتم
  • 4. معماری فون نویمان: قلب کامپیوتر مدرن
  • 5. واحد پردازش مرکزی (CPU): مغز عملیات
  • 6. حافظه اصلی (Main Memory): انبار داده‌ها و دستورالعمل‌ها
  • 7. واحدهای ورودی و خروجی (I/O): پل ارتباطی با جهان
  • 8. چرخه پردازش دستورالعمل: Fetch-Decode-Execute
  • 9. زبان ماشین: زبان مادری کامپیوتر
  • 10. از زبان ماشین تا زبان‌های سطح بالا: یک نمای کلی
  • 11. سیستم اعداد دودویی (باینری): مبنای محاسبات دیجیتال
  • 12. نمایش اعداد صحیح بدون علامت
  • 13. نمایش اعداد صحیح علامت‌دار: مکمل دو
  • 14. سیستم‌های اعداد هشت (اکتال) و شانزده (هگزادسیمال)
  • 15. عملیات حسابی باینری: جمع و تفریق
  • 16. عملیات منطقی بیتی: AND, OR, NOT, XOR
  • 17. شیفت‌های منطقی و حسابی
  • 18. نمایش اعداد ممیز شناور
  • 19. کدهای کاراکتری: از ASCII تا یونیکد
  • 20. مفهوم کلمه (Word) و بایت (Byte) در حافظه
  • 21. آناتومی دقیق CPU: واحد محاسبه و منطق (ALU)
  • 22. واحد کنترل (Control Unit) و نقش آن
  • 23. ثبات‌ها (Registers): حافظه فوق سریع پردازنده
  • 24. ثبات‌های خاص: شمارنده برنامه (PC) و اشاره‌گر پشته (SP)
  • 25. گذرگاه‌ها (Buses): شاهراه‌های انتقال داده
  • 26. سیگنال ساعت (Clock) و همگام‌سازی عملیات
  • 27. ساختار حافظه و آدرس‌دهی
  • 28. حافظه فقط خواندنی (ROM) و حافظه با دسترسی تصادفی (RAM)
  • 29. سلسله مراتب حافظه: کش، حافظه اصلی، حافظه جانبی
  • 30. ارتباط بین CPU و حافظه
  • 31. مجموعه دستورالعمل (Instruction Set Architecture - ISA)
  • 32. فرمت دستورالعمل‌ها: کد عملیات (Opcode) و عملوندها (Operands)
  • 33. دستورالعمل‌های انتقال داده
  • 34. دستورالعمل‌های حسابی
  • 35. دستورالعمل‌های منطقی
  • 36. دستورالعمل‌های پرش شرطی و غیرشرطی
  • 37. دستورالعمل‌های فراخوانی زیرروال
  • 38. دستورالعمل‌های کار با پشته
  • 39. حالت‌های مختلف آدرس‌دهی: فوری، مستقیم، غیرمستقیم
  • 40. تحلیل یک برنامه ساده در زبان ماشین
  • 41. معرفی زبان اسمبلی: چرا به آن نیاز داریم؟
  • 42. نمادهای حافظه (Mnemonics) در برابر کدهای باینری
  • 43. ساختار یک برنامه اسمبلی
  • 44. اسمبلر (Assembler): مترجم زبان اسمبلی
  • 45. دستورات شبه (Pseudo-operations) و دایرکتیوها
  • 46. تعریف داده‌ها و متغیرها در اسمبلی
  • 47. برچسب‌ها (Labels) و کنترل جریان برنامه
  • 48. پیاده‌سازی حلقه‌ها در اسمبلی
  • 49. پیاده‌سازی ساختارهای شرطی (if-then-else)
  • 50. کار با آرایه‌ها و رشته‌ها
  • 51. عملیات ریاضی پیچیده‌تر: ضرب و تقسیم
  • 52. ماکروها در اسمبلی: اتوماسیون کدنویسی
  • 53. پیوند (Linking) فایل‌های اسمبلی مجزا
  • 54. اشکال‌زدایی (Debugging) برنامه‌های سطح پایین
  • 55. مقایسه معماری‌های RISC و CISC از دیدگاه اسمبلی
  • 56. نقشه حافظه یک فرآیند
  • 57. بخش کد (Code Segment)، بخش داده (Data Segment)
  • 58. مفهوم پشته (Stack) و کاربردهای آن
  • 59. مفهوم هیپ (Heap) و تخصیص حافظه پویا
  • 60. اشاره‌گرها و محاسبات آدرس
  • 61. تراز بندی داده‌ها در حافظه
  • 62. Endianness: کوچک-پایان در برابر بزرگ-پایان
  • 63. مقدمه‌ای بر حافظه مجازی
  • 64. خطای صفحه (Page Fault) چیست؟
  • 65. مدیریت حافظه توسط سیستم‌عامل: یک نمای کلی
  • 66. زیرروال‌ها (Subroutines) و توابع (Functions)
  • 67. مکانیزم فراخوانی و بازگشت
  • 68. پشته فراخوانی (Call Stack) و قاب پشته (Stack Frame)
  • 69. قراردادهای فراخوانی (Calling Conventions)
  • 70. ارسال پارامترها به توابع: از طریق ثبات‌ها
  • 71. ارسال پارامترها به توابع: از طریق پشته
  • 72. متغیرهای محلی و ذخیره‌سازی آن‌ها
  • 73. بازگشت مقدار از توابع
  • 74. توابع بازگشتی (Recursive Functions) در سطح ماشین
  • 75. کتابخانه‌های استاندارد و پیوند با آن‌ها
  • 76. اصول ورودی/خروجی (I/O)
  • 77. دستگاه‌های ورودی/خروجی متداول
  • 78. کنترلرهای دستگاه (Device Controllers)
  • 79. ورودی/خروجی با نگاشت حافظه (Memory-Mapped I/O)
  • 80. ورودی/خروجی با نگاشت پورت (Port-Mapped I/O)
  • 81. ورودی/خروجی برنامه‌ریزی شده (Polling)
  • 82. ورودی/خروجی مبتنی بر وقفه (Interrupt-Driven I/O)
  • 83. جدول بردار وقفه (Interrupt Vector Table)
  • 84. دسترسی مستقیم به حافظه (Direct Memory Access - DMA)
  • 85. بافرینگ (Buffering) در عملیات ورودی/خروجی
  • 86. پیاده‌سازی آرایه‌ها در سطح حافظه
  • 87. پیاده‌سازی لیست‌های پیوندی
  • 88. الگوریتم جستجوی خطی
  • 89. الگوریتم جستجوی دودویی
  • 90. الگوریتم مرتب‌سازی حبابی
  • 91. الگوریتم مرتب‌سازی درجی
  • 92. جداول درهم‌سازی (Hash Tables) از دیدگاه حافظه
  • 93. دستکاری بیت‌ها برای بهینه‌سازی
  • 94. تولید اعداد شبه تصادفی
  • 95. تحلیل پیچیدگی الگوریتم‌ها در سطح دستورالعمل
  • 96. کامپایلرها: پل بین زبان سطح بالا و اسمبلی
  • 97. لینکرها (Linkers): ترکیب قطعات کد
  • 98. لودرها (Loaders): آماده‌سازی برنامه برای اجرا
  • 99. نقش سیستم عامل در اجرای برنامه
  • 100. آینده برنامه‌نویسی سطح پایین و اهمیت درک ماشین
تگ‌ها: algorithmic thinking Assembly Language computer fundamentals Computer Organization CPU Architecture Data Structures Digital Computers Hardware Architecture low-level programming Programming for Digital Computers برنامه‌نویسی سطح پایین علوم کامپیوتر مبانی برنامه‌نویسی معماری سخت‌افزار

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.