از جمله رشته های تحصیلی پرطرفدار که توانسته است دانشجویان زیادی به سوی خود جذب کند، مهندسی کامپیوتر و نرم افزار است. برای اینکه بخواهیم با بصورت کامل مبانی و اصول رشته تحصیلی مهندسی نرم افزار را یاد بگیریم باید آموزش معماری کامپیوتر و اجرای یک سیستم رایانه ای را فرا بگیریم. معماری کامپیوتر امروزه در کلیه دروس مربوط به رشته های علوم نرم افزار و سخت افزار تدریس می شود و بصورت کامل کاربران را با تمامی بخش های یک سیستم رایانه ای آشنا می کند. در این مطلب می خواهیم شما را آموزش معماری سیستم های کامپیوتری آشنا کنیم و درباره انواع ابزار و سخت افزارهای رایانه بحث کنیم.
معماری کامپیوتر چیست؟
معماری کامپیوتر را می توان مجموعه ای از روش ها و قوانینی تعریف کرد که سازماندهی و پیاده سازی سیستم های کامپیوتری را معرفی می کند. البته معماری کامپیوتر را می توان شرحی از قابلیت ها و مدل های برنامه نویسی رایانه بدون اینکه پیاده سازی خاصی انجام شود معرفی کرد. در اصل معماری سیستم های کامپیوتری را می توان مجموعه ای از قوانینی دانست که شیوه تعامل نرم افزار و سخت افزار را با همدیگر کنترل می کند.
با استفاده از اصول تعریف شده توسط معماری کامپیوتر می توانیم روش اتصال بین قطعات سخت افزار یک سیستم و همچنین شیوه پردازش داده ها و انتقال بین آنها را شرح دهیم. برای اینکه بخواهیم سرعت انتقال اطلاعات و قدرت پردازش داده ها را افزایش دهیم باید روش های مختلفی از پیکربندی معماری کامپیوتر را امتحان کنیم.
در ادامه روش های مختلفی از آموزش معماری کامپیوتر را شرح خواهیم داد و برای اینکه با تمامی بخش های معماری کامپیوتر به صورت تخصصی آشنا شوید پیشنهاد میکنیم با مراجعه به لینک زیر مجموعه آموزش مهندس و علوم کامپیوتر فرادرس را دریافت کنید.
معرفی انواع پیکربندی های معماری کامپیوتر
در این بخش شما را با چهار روش برای معماری کامپیوتر و شکل آنها آشنا خواهیم کرد.
معماری نوع اول
در این نوع معماری کامپیوتری واحد پردازنده مرکزی یا CPU در مرکز قرار می گیرد و حافظه اصلی RAM و وسایل ورودی و خروجی هم در هر دو طرف آن قرار خواهند گرفت. این معماری را می توانیم ساده ترین نوع آن در نظر بگیریم.
معماری نوع دوم
در این روش از معماری کامپیوتری وسایل کنترل کننده ورودی و خروجی در مرکز قرار می گیرد و واحد پردازنده مرکزی و همچنین حافظه اصلی RAM در دو طرف آن قرار می گیرد.
معماری نوع سوم
در این حالت از معماری کامپیوتر، حافظه اصلی RAM بعنوان مرکز مورد استفاده قرار می گیرد تا تمامی داده های ورودی و خروجی و همچنین پردازنده مرکزی CPU در کنار آن قرار بگیرند.
معماری نوع چهارم
و در چهارمین روش از معماری کامپیوتر می توانیم یک گذرگاه (BUS) مشترک برای کنترل بر داده ها و برای متصل کردن تمامی دستگاه های یک سیستم رایانه ای در نظر بگیریم.
آشنایی با تاریخچه معماری کامپیوتر
برای شروع آموزش معماری کامپیوتر می خواهیم به اولین کامپیوتر مکانیکی که توسط چارلز بابیج انگلیسی ساخته شده است اشاره کنیم، به این خاطر به چالرز بابیج “پدر کامپیوتر” می گویند. او توانست یک کامپیوتر مکانیکی را اختراع کند که می تواند ورودی را از طریق ابزارهای ورودی دریافت کرده و بر روی آنها پردازش انجام دهد و بعد یک خروجی بدهد. بعدها این رایانه مکانیکی مورد الگو قرار گرفت تا کامپیوتر الکترونیکی پیشرفته تری با عنوان Analytical Engine یا موتور تحلیل ساخته شود. موتور تحلیل را می توانیم یک کامپیوتر مکانیکی چند منظوره در نظر بگیریم که توسط آقای چارلز بابیج و ادا لاولاس ساخته شد. موتور تحلیل طراحی بسیار ساده تر از رایانه مکانیکی داشت که بعدها به عنوان جایگزین موتور تفاضلی او ارائه شد.
از این رو میتوانیم نخستین معماری کامپیوتر را در طراحی موتور تحلیل این دو نفر مشاهده کرد. اولین کامپیوتر الکترونیکی که میتوانیم در نظر بگیریم اینیاک ENIAC است که حافظه این رایانه در حد چند بایت بود و آن را میتوانیم اولین رایانه دیجیتال الکترونیکی با کاربری عمومی و قابل برنامه ریزی معرفی کرد. البته کامپیوتر اینیاک تنها برای انجام محاسبات طراحی شده بود ولی برقراری ارتباط به شکل امروزی در این رایانه امکانپذیر نبود. بعدها این رایانه توسط ارتش آمریکا مورد استفاده و ارتقای بیشتر قرار گرفت.
ظهور دنیای دیجیتال با معماری های جدید کامپیوتری
از اولین رایانهای که به صورت الکترونیکی توسط بابیج ساخته شده است 75 سال میگذرد و در این مدت میتوانیم پیشرفتهای زیادی را در این زمینه و علوم کامپیوتر مشاهده کنیم. قبلاً هزینهی ساخت یک رایانه و کامپیوتر قدیمی بسیار بالا بوده است و کمتر کسی بهجز شرکتهای بزرگ و دانشگاهها میتوانستند آن را تهیه کنند. ولی در حال حاضر با مبلغی در حدود 500 دلار میتوانید یک کامپیوتر رومیزی یا لپ تاپ را خریداری کنید.
همچنین مقدار حافظه اصلی RAM و مقدار حافظه ذخیره سازی Hard Disk که در کامپیوترهای امروزی قرار دارد قابل مقایسه با رایانههای قدیمی و گذشته نیست. همه اینها نشان از پیشرفت بسیار زیاد در این زمینه همراه با ظهور عصر دیجیتال است که توانسته به خاطر دقت و حل مسائل پیچیده در هر صنعتی از دروس آموزشی گرفته تا دنیای پزشکی ورود کند. با ظهور ریزپردازندهها در دهه 1970 پیشرفت و کارایی مدارهای مجتمع ارتقا یافت و این توسعه باعث شد تا پیشرفت و عملکرد سیستمهای کامپیوتری بیش از قبل افزایش یابد و سرعت استفاده از رایانهها توسط عموم افراد جامعه بیشتر شود و وارد عصر دیجیتال شویم.
چرا آموزش معماری کامپیوتر مهم است؟
برای اینکه بخواهیم بیشتر با ساختمان و اجزای کامپیوتر آشنا شویم باید معماری کامپیوتر را بشناسیم تا بدانیم عملکرد هرکدام از بخشهای رایانه شخصی ما چطور کار میکند. همانطور که هر شخص مکانیکی باید با تمامی اجزای یک خودرو آشنا باشد و برای اینکه علت کارکرد نادرست بخشهای آن را متوجه شود و برای رفع عیب آنها اقدام کند، یک طراح سیستمهای رایانهای هم باید با معماری کامپیوتر آشنایی کامل داشته باشد.
حال چرا باید با معماری کامپیوتر آشنایی داشته باشیم؛ معماری کامپیوتر از اصولیترین مفاهیم در علوم رایانه است که هر کسی که میخواهد در رشتههای مهندسی کامپیوتر تحصیل کند باید با آن آشنا شود. باید با عملکردها و دستورالعملهای موجود در سیستمهای کامپیوتری آشنا شویم و نحوهی کار کردن آن را ببینیم که چگونه با نرم افزارها تعامل میکنند. معماری کامپیوتر به ما میگوید که برنامهها چطور طراحی و توسعه داده میشوند تا بتوانیم نرم افزارهای کارآمد، آسان و ارزانتر طراحی کنیم. و در آخر اینکه از معماری کامپیوتر برای همیشه استفاده میکنیم.
معرفی اجزای کامپیوتر و نحوه کارکرد آنها
برای اینکه آموزش معماری کامپیوتر را تکمیل کنیم باید با اجزا و ساختار سیستم های رایانه ای به طور کامل آشنا شویم. برای این منظور می خواهیم جزء به جزء بخش های یک کامپیوتر را شرح دهیم. پنج بخش اصلی یک رایانه عبارتند از:
- بخش داده ها (Data path)
- بخش کنترل (Control unit)
- بخش حافظه
- دستگاه های ورودی
- دستگاه های خروجی
در ادامه می خواهیم درباره ی هرکدام از بخش های اصلی معماری کامپیوتر بیشتر بدانیم.
بخش کنترل و داده ها
دو بخش کنترل و داده ها معمولا در کنار هم کار می کنند و هر دو بخش در واحدی به نام پردازنده هستند. بخش داده ها برای عملیات هایی مثل جمع و تفریق، انتقال اطلاعات و مقایسه انها بکار گرفته می شود و جهت اینکه برنامه ها بتوانند اجرا شوند باید عملیات هایی پشت سرهم و به ترتیب انجام دهند.
بخش Data path، حافظه و ورودی و خروجیها ترتیب انجام فعالیتها را نمیدانند و برای این کار باید به سراغ بخش کنترل برویم و این بخش میتواند ترتیب انجام کارها سازماندهی کند. بخشهای کنترل و دادهها که جزء مهم پردازنده را تشکیل میدهد دستورات و اطلاعات را از بخش حافظه دریافت میکند و دستگاههای ورودی اطلاعات را بر روی بخش حافظه نوشته و همچنین بخش دستگاههای خروجی هم دادههایی که پردازش میشوند را نمایش میدهد. وظیفه بخش کنترل، پایش سیگنالهایی است که هر بخش تولید میکند و هرکدام از بخشهای دیگر را به ترتیب اولویت آنها اجرا میکند.
بخش حافظه
معمولاً همیشه بخش حافظه را به شکل ساختارهای تک سطحی میبینیم که پس از حافظه، پردازنده قرار دارد ولی در واقع اینطور نیست و بخش حافظه در رایانههای امروزی، بهصورت متشکل از چند بخش مختلف تقسیم میشوند که این کار میتواند سرعت پردازش و کارایی سیستمها را افزایش دهد. حال سؤال این است که چرا بخش حافظه را قسمتهای مختلف تقسیم میکنند.
دلیل مهم این کار این است سیستمهای حافظه بهصورت سلسله مراتبی طراحی میشوند و این روش باعث میشود نرخ بیت تکنولوژی حافظهها با سرعت رشد فناوریها متناسب باشد. در ساختار طراحی حافظه، بخشهایی که به واحد پردازنده نزدیک باشند در هر بیت هزینههای بیشتری دارند و قیمت بالاتری هم نسبت به حافظههای دیگر دارند که به آنها حافظههای سریع یا SRAM می گویند.
در سلسله مراتب حافظه یک نمونه از آنها را با نام حافظه کش (Cache) میشناسیم که ظرفیت کمتری در حد چند مگابایت دارند ولی از لحاظ سرعت بسیار سریعتر از حافظه اصلی RAM میباشند. حافظه کش باعث ایجاد فضایی نزدیک به پردازنده میشود که سرعت انجام پردازشها را بیشتر میکند و دادهها برای پردازش نیاز به ارجاع به بخش حافظه اصلی RAM ندارند. حافظههای دیگری که نسبت به SRAM هزینه کمتری دارند و برای طراحی حافظههای با ظرفیت بیشتر بکار میروند با نام DRAM شناخته میشوند. حافظه اصلی RAM را میتوان نمونهای از نوع DRAM در نظر گرفت.
به طور کلی در سلسله مراتب حافظه در مبحث آموزش معماری کامپیوتر سطوح مختلفی را میتوانیم در نظر بگیریم که بالاترین سطح آن بعد از ثباتهای واحد پردازنده مرکزی CPU، حافظهی کش Cache قرار دارد کامپیوترهای امروزی معمولاً دارای دو سطح حافظه کش هستند.
بعد از حافظه کش میتوانیم حافظهی اصلی RAM را در سلسله مراتب آن در نظر بگیریم که نسبت به حافظه کش سرعت پایینتر و هزینهی کمتری دارند و البته مقدار حافظهی آنها هم بیشتر از حافظهی کش است. بعد از حافظهی اصلی هم در سلسله مراتب حافظه سیستمهای کامپیوتری، حافظهی مجازی را داریم که به وسیله هارد دیسکها عملیاتی میشوند و جهت کمک به بخش حافظهی اصلی بکار گرفته میشوند.
دستگاه های ورودی
در این بخش می خواهیم به بررسی و معرفی مهمترین دستگاه های ورودی برای آموزش معماری کامپیوتر بپردازیم.
صفحه کلید
مهمترین و اصلی ترین دستگاه ورودی که می توانیم انواع داده ها را به سیستم و کامپیوتر خود وارد کنیم. صفحه کلیدهای امروزی البته کلیدهای جدید و اضافه متعددی دارند ولی در حالت استاندارد بین 101 تا 104 کلید دارند و نحوه چیدمان کلیدهای آن با استاندارد Qwerty طراحی شده اند. صفحه کلیدهای امروزی به صورت با سیم و بی سیم موجود می باشند.
ماوس
از جمله مهمترین ابزارهای ورودی بعد از صفحه کلید، دستگاه موس است که جهت ورود اشارههای مورد نیاز برای برخی نرم افزارهای گرافیکی مورد استفاده قرار میگیرد. اشاره گر ماوس دارای علامتی به شکل فلش است که بر روی صفحهی مانیتور نمایش داده میشود. با این اشاره گر میتوانیم بخشها و عناصری که در داخل یک سیستم کامپیوتری هست را انتخاب کنیم. ماوس در شکلهای قدیمی به صورت یک گول غلتان در زیر آنها میباشد و بعد از آن با استفاده از نور لیزر اشاره گر موس را روی مانیتور نمایش میدهد. ماوسها هم امروزه به شکل با سیم و بی سیم در دسترس هستند.
اسکنر
با استفاده از دستگاه ورودی اسکنر می توانیم تصاویر و سندهایی که به شکل کاغذی در اختیار داریم اسکن کنیم و به کامپیوتر وارد کنیم.
میکروفون
برای اینکه بتوانیم صدا را از طریق صحبت کردن به یک رایانه وارد کنیم می توانیم از ابزار میکروفون اینکار را انجام دهیم و آن را تبدیل به یک فایل صوتی کنیم.
دستگاه های خروجی
بعد از معرفی دستگاه های ورودی می خواهیم مهمترین دستگاه ها و ابزارهای خروجی را معرفی کنیم.
مانیتور یا صفحه نمایش
مهمترین دستگاه خروجی که در معماری کامپیوتر می توانیم به آن اشاره کنیم مانیتور یا صفحه ی نمایش است که تمامی بخش های یک سیستم رایانه ای به صورت نرم افزاری به کاربر نمایش می دهد.
اسپیکر
برای اینکه صدا و موسیقی را از یک رایانه بشنویم می توانیم از دستگاه اسپیکر یا بلندگو استفاده کنیم. امروزه انواع اسپیکرهای متنوع برای پخش صدا وجود دارند که کیفیت صداهای مختلفی را به کاربران عرضه می کنند.
جمع بندی درباره آموزش معماری کامپیوتر
در این مطلب با بخشهای یک سیستم رایانهای و ساختار آن آشنا شدیم و همچنین درباره مهمترین اجزای یک کامپیوتر استاندارد صحبت کردیم و مهمترین دستگاههای ورودی و خروجی را معرفی کردیم. برای اینکه با مبحث آموزش معماری کامپیوتر به صورت کامل و تخصصی آشنا شویم میتوانیم با آموزشهای آنلاین فرادرس شروع به کسب یادگیری کنیم به عنوان طراح بخشهای سخت افزاری و نرم افزاری در این زمینه مسلط شویم.