
از زمان ساخت نخستین رایانهها در سال ۱۹۴۱ تاکنون، فناوریهای دیجیتال رشد چشمگیری داشتهاند. یکی از مشهورترین مدلهای توصیف ساختار داخلی رایانه، معماری فوننویمان است. این معماری، یک رایانه را به چهار بخش اصلی تقسیم میکند:
واحد محاسبه و منطق (ALU – Arithmetic and Logic Unit)
واحد کنترل (CU – Control Unit)
حافظه
ابزارهای ورودی/خروجی (I/O – Input/Output)
این بخشها از طریق اتصالات داخلی به نام گذرگاه (Bus) با یکدیگر در ارتباط بوده و دادهها و دستورات را جابهجا میکنند.
پیشزمینهای کوتاه دربارهٔ کامپیوتر و حافظه (Memory)
برای شروع یادگیری برنامهنویسی، بهویژه زبانهایی مانند C++، درک ساختار درونی کامپیوتر بسیار مهم است. در یک نگاه ساده، کامپیوتر از سه بخش کلیدی تشکیل شده است:
پردازنده (CPU)
حافظه (Memory / RAM)
دستگاههای ورودی/خروجی (I/O)
CPU مسئول اجرای دستورات برنامههاست، اما امکان ذخیرهسازی طولانیمدت دادهها را ندارد. به همین دلیل دادهها و دستوراتی که CPU باید پردازش کند، در حافظهٔ اصلی (RAM) قرار میگیرند.
حافظه (Memory) چیست؟
حافظه یا RAM فضایی است که کامپیوتر برای ذخیرهسازی موقت دادهها هنگام اجرای برنامهها استفاده میکند.
هر برنامهی در حال اجرا، بخشی از حافظه را برای موارد زیر اشغال میکند:
متغیرها
دادههای داخلی برنامه
دستورالعملهای کامپایلشده
نتایج محاسبات موقت
حافظه را میتوان مانند یک انبار بزرگ در نظر گرفت که هر خانهٔ آن دارای یک آدرس منحصربهفرد است؛ همین آدرسها امکان دسترسی دقیق CPU به دادهها را فراهم میکنند.
چرا دانستن مفهوم حافظه برای یادگیری C++ ضروری است؟
C++ یکی از معدود زبانهای برنامهنویسی است که کنترل کامل حافظه را در اختیار برنامهنویس قرار میدهد. این ویژگی قدرت بسیار زیادی فراهم میکند، اما نیازمند درک عمیق از نحوهٔ کار حافظه است.
برخی مفاهیم مهم C++ که وابسته به Memory هستند:
اشارهگرها (Pointers)
مدیریت دستی حافظه (new/delete)
ساختارهای حافظهای مانند Stack و Heap
کار با آدرسها و دادههای حجیم
بهینهسازی سرعت و کارایی برنامهها
به همین دلیل، آشنایی با مفاهیم پایهٔ حافظه یکی از مهمترین گامها برای شروع برنامهنویسی با C++ محسوب میشود.
Tegram: @CaKeegan
Gmail : amidgm2020@gmail.com