سی پی یو (پارت سوم)
يكشنبه, ۹ دی ۱۳۹۷، ۰۹:۰۳ ق.ظ
ترانزیستورهای گسسته و مدارات مجتمع (واحد پردازش مرکزی)
PDP-8i cpu.jpg
پیچیدگی طراحی پردازندهها همزمان با افزایش سریع فناوریهای متنوع که ساختارهای کوچکتر و قابل اطمینان
تری را در وسایل الکترونیک باعث میشد، افزایش یافت. اولین موفقیت با ظهور اولین ترانزیستورها حاصل شد. پردازندههای ترانزیستوری در طول دهههای ۵۰ و ۶۰ میلادی زمان زیادی نبود که اختراع شده بود و این در حالی بود که آنها بسیار حجیم، غیرقابل اعتماد و دارای المانهای سوئیچینگ شکننده مانند لامپهای خلأ و رلههای الکتریکی بودند. با چنین پیشرفتی پردازندههایی با پیچیدگی و قابلیت اعتماد بیشتری بر روی یک یا چندین برد مدار چاپی که شامل قسمتهای تفکیک شده بودند ساخته شدند.
ریزپردازندهها
پیدایش ریز پردازندهها در سال ۱۹۷۰ بهطور قابل توجهی در طراحی و پیادهسازی پردازندهها تأثیرگذار بود. از زمان ابداع اولین ریزپردازنده (اینتل۴۰۰۴)در سال ۱۹۷۰ و اولین بهرهبرداری گسترده از ریزپردازنده اینتل ۸۰۸۰ در سال ۱۹۷۴، این روند رو به رشد ریزپردازندهها از دیگر روشهای پیادهسازی واحدهای پردازش مرکزی (CPU) پیشی گرفت، کارخانجات تولید ابر کامپیوترها و کامپیوترهای شخصی در آن زمان اقدام به تولید مدارات مجتمع با برنامهریزی پیشرفته نمودند تا بتوانند معماری قدیمی کامپیوترهای خود را ارتقا دهند و در نهایت ریز پردازندهای سازگار با مجموعه دستورالعملها ی خود تولید کردند که با سختافزار و نرمافزارهای قدیمی نیز سازگار بودند. با دستیابی به چنین موفقیت بزرگی امروزه در تمامی کامپیوترهای شخصی CPUها منحصراً از ریز پردازندهها استفاده میکنند
عملکرد ریزپردازندهها
کارکرد بنیادی بیشتر ریزپردازندهها علیرغم شکل فیزیکی که دارند، اجرای ترتیبی برنامههای ذخیره شده را موجب میشود. بحث در این مقوله نتیجه پیروی از قانون رایج نیومن را به همراه خواهد داشت. برنامه توسط یک سری از اعداد که در بخشی از حافظه ذخیره شدهاند نمایش داده میشود. چهار مرحله که تقریباً تمامی ریزپردازندههایی که از قانون فون نیومن در ساختارشان استفاده میکنند از آن پیروی میکنند عبارتاند از: فراخوانی، رمزگشایی، اجرا و بازگشت برای نوشتن مجدد.
طراحی و اجرا
مفهوم اساسی یک سی پی یو به صورت زیر است: در طراحی یک سی پی یو یک لیست از عملیات بنام مجموعهٔ دستوری به صورت ذاتی وجود دارد که سی پی یو آنها را انجام میدهد. چنین عملیاتی ممکن است شامل جمع کردن یا تفریق کردن دو عدد، مقایسهٔ اعداد یا پرش به بخشی دیگر از یک برنامه باشد. هرکدام از این عملیات پایهای توسط توالی خاصی از بیتها نمایش داده میشود که این توالی برای چنین عملیات خاصی اپکد نام دارد. فرستادن یک اپکد خاص به یک سی پی یو باعث میشود تا سی پی یو عملی را که توسط اپکد مذکور نمایش داده میشود انجام دهد. برای اجرای یک دستور در یک برنامهٔ کامپیوتری، سی پی یو از اپکد دستور مذکور و نیز نشانوندهای آن (برای مثال، در مورد یک عمل جمع، دو عددی که قرار است با هم جمع شوند) استفاده میکند. عمل ریاضی واقعی برای هر دستور توسط یک زیرواحد از سی پی یو به نام واحد محاسبه و منطق (ALU)انجام میگیرد. یک سی پی یو علاوه بر اینکه از ALU خودش برای انجام اعمال استفاده میکند، اعمال دیگری نظیر: خواندن دستور بعدی از حافظه، خواندن اطلاعات مشخص شده به صورت نشانوند از حافظه و نوشتن یافتههای حاصل در حافظه را نیز به عهده دارد. در بسیاری از طراحیهای سی پی یو، یک مجموعهٔ دستوری مشخصا بین اعمالی که اطلاعات را از حافظه بارگیری میکنند و اعمال ریاضی افتراق میدهد. در این مورد اطلاعات بارگیری شده از حافظه در رجیستری ذخیره میشود و یک عمل ریاضیاتی هیچ گونه نشانوندی نمیگیرد بلکه بسادگی عمل محاسباتی مذکور را روی اطلاعات موجود در رجیستریها انجام داده و آن را در یک رجیستر جدید مینویسد.
دامنه صحیح
روشی که یک پردازنده از طریق آن اعداد را نمایش میدهد یک روش انتخابی در طراحی است که البته در بسیاری از راههای اصولی اثرگذار است. در برخی از کامپیوترهای دیجیتالی اخیر از یک مدل الکترونیکی بر پایه سیستم شمارش دسیمال (مبنای ده) برای نمایش اعداد استفاده شدهاست. برخی دیگر از کامپیوترها از یک سیستم نامتعارف شمارشی مانند سیستم سه تایی (مبنای سه) استفاده میکنند. در حال حاضر تمامی پردازندههای پیشرفته اعداد را به صورت دودویی (مبنای دو) نمایش میدهند که در آن هر عدد به وسیله چندین کمیت فیزیکی دو ارزشی مانند ولتاژ بالا و پایین نمایش داده میشوند.
علت نمایش دهی از طریق اعداد حجم کم و دقت بالا در اعدادی است که پردازشگر میتواند نمایش دهد. در حالت دودویی پردازندهها، یک بیت به یک مکان مشخص در پردازنده اطلاق میشود که پردازنده با آن به صورت مستقیم در ارتباط است. ارزش بیت (مکانهای شمارشی) یک پردازنده که برای نمایش اعداد بکار برده میشود «بزرگی کلمه»، «پهنای بیت»، «پهنای گذرگاه اطلاعات» یا «رقم صحیح» نامیده میشود؛ که البته این اعداد گاهی در بین بخشهای مختلف پردازندههای کاملاً یکسان نیز متفاوت است. برای مثال یک پردازنده ۸ بیتی به محدودهای از اعداد دسترسی دارد که میتواند با هشت رقم دودویی (هر رقم دو مقدار میتواند داشته باشد) ۲ یا ۲۵۶ عدد گسسته نمایش داده شود. نتیجتاً مقدار صحیح اعداد باعث میشود که سختافزار در محدودهای از اعداد صحیح که قابل اجرا برای نرمافزار باشد محدود شود و بدین وسیله توسط پردازنده مورد بهرهبرداری قرار گیرد.
پالس ساعت
اکثر پردازندهها و در حقیقت اکثر دستگاههایی که با منطق پالسی و تناوبی کار میکنند به صورت طبیعی باید سنکرون یا همزمان باشند. این بدان معناست که آنها به منظور همزمانسازی سیگنالها طراحی و ساخته شدهاند. این سیگنالها به عنوان سیگنال ساعت (پالس ساعت) شناخته میشوند و معمولاً به صورت یک موج مربعی پریودیک (متناوب) میباشند. برای محاسبه بیشترین زمانی که سیگنال قادر به حرکت از قسمتهای مختلف مداری پردازندهاست، طراحان یک دوره تناوب مناسب برای پالس ساعت انتخاب میکنند. این دوره تناوب باید از مقدار زمانی که برای حرکت سیگنال یا انتشار سیگنال در بدترین شرایط ممکن صرف میشود بیشتر باشد. برای تنظیم دوره تناوب باید پردازندهها باید مطابق حساسیت به لبههای پایین رونده یا بالا رونده حرکت سیگنال در بدترین شرایط تأخیر طراحی و ساخته شوند. در واقع این حالت هم از چشمانداز طراحی و هم از نظر میزان اجزای تشکیل دهنده یک مزیت ویژه در سادهسازی پردازندهها محسوب میشود. اگرچه معایبی نیز دارد، از جمله اینکه پردازنده باید منتظر المانهای کندتر بماند، حتی اگر قسمتهایی از آن سریع عمل کنند. این محدودیت به مقدار زیادی توسط روشهای گوناگون افزایش قدرت موازیسازی (انجام کارها به صورت همزمان) پردازندهها قابل جبران است. پالش ساعت شامل یک لبه بالا روند و یک لبه پایین رونده است که این تغییر حالت با تغییر ولتاژ صورت میپذیرد.
این مطلب ادامه دارد ...
برای اطلاعات بیشتر با ما در تماس باشید با تشکر
http://matingeernig.ir
https://instagram.com/_u/jafarzadh_matin
https://t.me/joinchat/AAAAAEyN7-Vf5QwRz_Z9TA
۹۷/۱۰/۰۹