6 آوریل, 2020

کامپیوتر ها چگونه کار میکنند؛تشریح کامپیوتر

رسانه انرژی مثبت | تکنولوژی – از زمان کامپیوترهای اولیه که در سال ۱۹۴۱ ساخته شده بودند تاکنون فناوری‌های دیجیتالی رشد نموده‌است، معماری فون نوِیمن یک کامپیوتر را به چهار بخش اصلی توصیف می‌کند:

  1. واحد محاسبه و منطق Arithmetic and Logic Unit یا ALU
  2. واحد کنترل یا حافظه
  3. ابزارهای ورودی و خروجی که جمعا I/O نامیده می‌شود.
    • این بخش‌ها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.
  4. مادر بورد

حافظه

در این سامانه، حافظه بصورت متوالی شماره گذاری شده در خانه‌ها است، هرکدام شامل بخش کوچکی از داده‌ها می‌باشند. داده‌ها ممکن است دستورالعمل‌هایی باشند که به کامپیوتر می‌گویند که چه کاری را انجام دهد. خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد.

اندازه هر خانه، وتعداد خانه‌ها، در رایانهٔ مختلف متفاوت است، همچنین فناوری‌های بکاررفته برای اجرای حافظه نیز از کامپیوتری به کامپیوتر دیگر در تغییر است( از بازپخش‌کننده‌های الکترومکانیکی تا تیوپ‌ها و فنرهای پر شده از جیوه و یا ماتریس‌های ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمع‌ها با میلیون‌ها فیوز نیمه هادی یا MOSFET هایی با عملکردی شبیه ظرفیت خازنی تنها روی یک تراشه ).

کامپیوتر, کامپیوتر ها چگونه کار میکنند؛تشریح کامپیوتر

پردازش

واحد محاسبه و منطق یا ALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و، یا، نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام می‌دهد. این واحد جائیست که کار واقعی در آن صورت می‌پذیرد.

کامپیوتر, کامپیوتر ها چگونه کار میکنند؛تشریح کامپیوتر

البته CPUها به دو دسته کلی RISC و CISC تقسیم بندی می‌شوند. نوع اول پردازش‌گرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده می‌باشند.

مطالعه بیشتر :
چند روش ساده برای افزایش سرعت کامپیوتر

پردازشگر CISC

پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی می‌باشند. تنوع دستورات این دسته از پردازنده‌ها تا حدی است که توضیحات آن‌ها خود می‌تواند یک کتاب با قطر متوسط ایجاد کند.

پردازشگر RISC

پردازنده‌های مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش می‌دهند و در حقیقت برای برنامه‌نویسی برای این پردازنده‌ها بار نسبتاً سنگینی بر دوش برنامه‌نویس است. این پردازنده‌ها تنها حاوی ۴ عمل اصلی و اعمال منطقی ریاضی و مقایسه‌ای به علاوه چند دستور بی‌اهمیت دیگر می‌باشند.هرچند ذکر این نکته ضروری است که دستورات پیچیده نیز از ترکیب تعدادی دستور ساده تشکیل شده‌اند و برای پیاده‌سازی این دستورات در معماری‌های مختلف از پیاده‌سازی سخت‌افزاری(معماری CISC) و پیاده‌سازی نرم‌افزاری(معماری RISC) استفاده می‌شود.

  • قابل ذکر است پردازنده‌های intel از نوع پردازنده مبتنی بر اعمال پیچیده می‌باشند.

واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شونده‌است را تعقیب می‌کند، سپس به واحد محاسبه و منطق اعلام می‌کند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد. بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع می‌کند(که معمولاً در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به کامپیوتر اعلام می‌کند دستورالعمل بعدی در خانه دیگر قرار گرفته‌است).

 

ورودی/خروجی (I/O)

بخش ورودی/خروجی (I/O) این امکان را به کامپیوتر می‌دهد تا اطلاعات را از جهان بیرون تهیه و نتایج آن‌ها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاه‌های ورودی/خروجی وجود دارد، از خانواده آشنای صفحه‌کلیدها، نمایشگرها، نَرم‌دیسک گرفته تا دستگاه‌های کمی غریب مانند webcams. از سایر ورودی/خروجی‌ها می‌توان به موشواره mouse، قلم نوری، چاپگرها printer، اسکنرها، انواع لوح‌های فشرده CD و DVD اشاره کرد.

مطالعه بیشتر :
نصب شبیه ساز اندروید روی ویندوز

چیزی که تمامی دستگاه‌های عمومی در آن اشتراک دارند این است که آن‌ها رمزکننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستم‌های کامپیوتر دیجیتالی قرار گیرد، هستند. از سوی دیگر، دستگاه‌های خروجی آن اطلاعات به رمز شده را رمزگشایی می‌کنند تا کاربران آن‌ها را دریافت نمایند. از این رو یک سیستم کامپیوتر دیجیتالی یک نمونه از یک سامانه داده‌پردازی می‌باشد.

کامپیوتر, کامپیوتر ها چگونه کار میکنند؛تشریح کامپیوتر

دستورالعمل‌ها

هر کامپیوتر تنها دارای یک مجموعه کم تعداد از دستورالعمل‌های ساده و تعریف شده می‌باشد. از انواع پرکاربردشان می‌توان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».

دستورالعمل‌ها در داخل کامپیوتر بصورت اعداد مشخص شده‌اند. مثلاً کد دستور العمل copy instruction می‌تواند برابر ۰۰۱ باشد. مجموعه معین دستورالعمل‌های تعریف شده که توسط یک کامپیوتر ویژه پشتیبانی می‌شود را زبان ماشین می‌نامند. در واقعیت، اشخاص معمولاً به زبان ماشین دستورالعمل نمی‌نویسند بلکه بیشتر به نوعی از انواع سطح بالای زبان‌های برنامه‌نویسی، برنامه‌نویسی می‌کنند تا سپس توسط برنامه ویژه‌ای تفسیرگرها interpreters یا همگردان‌ها compilers به دستورالعمل ویژه ماشین تبدیل گردد.

برخی زبان‌های برنامه‌نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده می‌شود، استفاده می‌کنند؛ همچنین زبان‌های سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعمل‌های ویژه ماشین استفاده می‌کنند.

مطالعه بیشتر :
روش افزایش امنیت حساب گوگل

معماری‌ مدار

در کامپیوترهای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی CPU نامیده می‌شود، جمع نموده‌اند. عموما، حافظه کامپیوتر روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته. اکثریت قاطع بخش‌های کامپیوتر تشکیل شده‌اند از سامانه‌های فرعی (به عنوان نمونه، منبع تغذیه کامپیوتر) و یا دستگاه‌های ورودی/خروجی.

کامپیوتر, کامپیوتر ها چگونه کار میکنند؛تشریح کامپیوتر

نحوه عملکرد

برخی کامپیوترهای بزرگ‌تر چندین CPU و واحد کنترل دارند که بصورت هم‌زمان با یکدیگر درحال کارند. این‌گونه کامپیوترها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار می‌روند.

کارایی کامپیوترها بنا به تئوری کاملاً درست است. کامپیوتر داده‌ها و دستورالعمل‌ها را از حافظه‌اش واکشی (fetch) می‌کند. دستورالعمل‌ها اجرا می‌شوند، نتایج ذخیره می‌شوند، دستورالعمل بعدی واکشی می‌شود. این رویه تا زمانی که کامپیوتر خاموش شود ادامه پیدا می‌کند.

واحد پردازنده مرکزی در کامپیوترهای شخصی امروزی مانند پردازنده‌های شرکت AMD و شرکت intel از معماری موسوم به Pipeline استفاده می‌شود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز می‌کند. همچنین این کامپیوترها از سطوح مختلف حافظه نهان‌گاهی استفاده می‌کنند که در زمان دسترسی به حافظه اصلی صرفه‌جویی کنند.

 

برنامه‌ها

برنامه کامپیوتری فهرست‌های بزرگی از دستورالعمل‌ها (احتمالاً به همراه جدول‌هائی از داده) برای اجرا روی کامپیوتر هستند. خیلی از کامیوترها حاوی میلیون‌ها دستورالعمل هستند، و بسیاری از این دستورات به تکرار اجرا می‌شوند.

کامپیوترهای امروزی، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی multitasking نام برده می‌شود. در واقع، CPU یک رشته دستورالعمل‌ها را از یک برنامه اجرا می‌کند، سپس پس از یک مقطع ویژه زمانی دستورالعمل‌هایی از یک برنامه دیگر را اجرا می‌کند. این فاصله زمانی اکثرا به‌عنوان یک برش زمانی (time slice) نام برده می‌شود. این ویژگی که CPU زمان اجرا را بین برنامه‌ها تقسیم می‌کند، این توهم را بوجود می‌آورد که کامپیوتر هم‌زمان مشغول اجرای چند برنامه‌است. این شبیه به چگونگی نمایش فریم‌های یک فیلم است، که فریم‌ها با سرعت بالا در حال حرکت هستند و به نظر می‌رسد که صفحه ثابتی تصاویر را نمایش می‌دهد. سیستم‌عامل همان برنامه‌ای است که این اشتراک زمانی را بین برنامه‌های دیگر تعیین می‌کند.

مطالعه بیشتر :
نسل پنجم مخابرات بیسیم 5G چیست

 

سیستم‌عامل

کامپیوتر همیشه نیاز دارد تا برای بکار انداختنش حداقل یک برنامه روی آن در حال اجرا باشد. تحت عملکردهای عادی این برنامه همان سیستم‌عامل یا OS که مخفف واژه‌های Operating System است. سیستم یا سامانه عامل بر اساس پیشفرض‌ها تصمیم می‌گیرد که کدام برنامه برای انجام چه وظیفه ای اجرا شود، چه زمان، از کدام منابع حافظه، ورودی/خروجی و … استفاده شود.

همچنین سیستم‌عامل یک لایه انتزاعی بین سخت‌افزار و برنامه‌های دیگر که می‌خواهند از سخت‌افزار استفاده کنند، می‌باشد، که این امکان را به برنامه نویسان می‌دهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سخت‌افزار را بدانند بتوانند برای آن قطعه برنامه‌نویسی نمایند. در گذشته یک اصطلاح متداول بود که گفته می شد با تمام این وجود کامپیوترها نمی‌توانند برخی از مسائل را حل کنند که به این مسائل حل نشدنی گفته می‌شود مانند مسائلی که در مسیر حلشان در حلقه بی نهایت می افتند. به همین دلیل نیاز است که با کمک روشهای خاص بطور مثال به چند بخش تقسیم نمودن مساله یا روشهای متداول دیگر مثل استفاده ار الگوریتم‌ها، از رخ دادن این خطا تا حد امکان جلوگیری نمود.

منبع: fa.wikipedia.org

اشتراک‌گذاری

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *