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

از نظر فیزیکی ، پردازنده یک صفحه فلزی است که دارای پایه های زیادی (پایه) در به اصطلاح سوکت (سوکت) است. در داخل صفحه یک کریستال نیمه هادی وجود دارد که حاوی حداکثر 2 میلیارد عنصر منطقی است - ترانزیستورها. اندازه آنها به قدری کم است که روی بلوری با مساحت 4-6 سانتی متر مربع قرار می گیرند.

سازندگان اصلی پردازنده ها اینتل و AMD هستند که با یکدیگر رقابت می کنند. صرف نظر از سازنده ، پردازنده دارای خصوصیاتی است که عملکرد آن را تحت تأثیر قرار می دهد.

مشخصات اصلی پردازنده

پردازنده دارای تعدادی ویژگی است ، اما ما مهمترین نکته ای را که یک کتری کامپیوتر باید از آن مطلع شود در نظر خواهیم گرفت. به طور معمول ، آنها در مشخصات کامپیوتر در فروشگاه نشان داده می شوند.

فرکانس ساعت... یکی از مهمترین پارامترهای پردازنده ، نشانگر تعداد چرخه در ثانیه و بسته به مدل پردازنده ، می تواند تا 3GHz و بالاتر نیز برسد.

تعداد هسته ها... هسته اصلی واحد پردازش پردازنده است. پردازنده های مدرن شامل 2 تا 8 هسته محاسباتی در یک بسته هستند. این روش به شما امکان می دهد با توزیع پردازش داده ها در هسته ها ، عملکرد پردازنده را افزایش دهید. برای سهولت درک ، می توان گفت چندین پردازنده در یک مورد قرار دارند.

تعجب مصرف کننده مدرن الکترونیک بسیار دشوار است. ما قبلاً به این واقعیت عادت کرده ایم که جیب ما به طور قانونی توسط یک گوشی هوشمند اشغال شده است ، یک لپ تاپ در کیف است ، یک ساعت هوشمند با زحمت قدم های روی دست ما را می شمارد و هدفون هایی با سیستم فعال کننده حذف نویز گوش هایمان را نوازش می کنند.

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

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

فقط 10 سال تفاوت بین این دستگاه ها وجود دارد. اما نوکیا N95 سپس به نظر ما یک وسیله فضایی بود و امروز ما با کم اعتمادی خاصی به ARKit نگاه می کنیم.

اما همه چیز می توانست به گونه دیگری رقم بخورد و پنتیوم IV شلخته آرزوی نهایی یک خریدار عادی باقی بماند.

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

1. چگونه همه چیز شروع شد

اولین پردازنده ها کاملاً متفاوت از مواردی بودند که می توانید هنگام باز کردن درب واحد سیستم رایانه شخصی خود مشاهده کنید.

به جای ریز مدارها در دهه 40 قرن XX ، رله های الکترومکانیکیبا لوله های خلاuum تکمیل می شود. لامپ ها نقش یک دیود را بازی می کنند ، که می توان با کاهش یا افزایش ولتاژ در مدار ، وضعیت آن را تنظیم کرد. چنین ساخت و سازهایی به این شکل بود:

یک رایانه غول پیکر برای راه اندازی به صدها ، گاه هزاران پردازنده نیاز داشت. اما ، در عین حال ، شما نمی توانید روی چنین رایانه ای حتی یک ویرایشگر ساده مانند NotePad یا TextEdit را از مجموعه استاندارد ویندوز و macOS اجرا کنید. یک کامپیوتر به سادگی قدرت کافی ندارد.

2. ظهور ترانزیستورها

اولین ترانزیستورهای اثر میدانی در سال 1928 ظاهر شد. اما جهان فقط پس از ظهور به اصطلاح تغییر کرد ترانزیستورهای دو قطبی، در سال 1947 افتتاح شد.

در اواخر دهه 40 ، والتر براتین فیزیکدان تجربی و جان باردین نظریه پرداز اولین ترانزیستور نقطه به نقطه را ایجاد کردند. در سال 1950 ، اولین ترانزیستور محل اتصال جایگزین آن شد و در سال 1954 سازنده مشهور Texas Instruments ترانزیستور سیلیکون را اعلام کرد.

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

بله ، این کمی مشکل است ، بنابراین بیایید کمی عمیق تر کنیم و به قسمت نظری بپردازیم.

3. نحوه کار ترانزیستور

بنابراین ، وظیفه یک جز electrical الکتریکی مانند ترانزیستور برای کنترل جریان است. به زبان ساده ، این سوئیچ کمی مشکل باعث کنترل جریان برق می شود.

مزیت اصلی ترانزیستور نسبت به سوئیچ معمولی این است که نیازی به حضور انسان ندارد. آنهایی که چنین عنصری قادر به کنترل مستقل جریان است. بعلاوه ، این کار بسیار سریعتر از آن است که مدار برق را خود روشن یا خاموش کنید.

از یک دوره علوم کامپیوتر در مدرسه ، احتمالاً به یاد دارید که رایانه به دلیل ترکیب تنها دو حالت "روشن" و "خاموش" زبان انسان را "درک" می کند. در درک ماشین ، این حالت "0" یا "1" است.

وظیفه کامپیوتر نمایش جریان الکتریکی به صورت اعداد است.

و اگر قبلاً وظیفه تعویض حالتها توسط رلههای برق ناشیانه ، دست و پاگیر و ناکارآمد انجام می شد ، اکنون ترانزیستور این کار معمول را بر عهده گرفت.

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

اما ابتدا ، اجازه دهید با دیود مقابله کنیم

سیلیکون (با نام مستعار Si - "سیلیسیم" در جدول تناوبی) به گروه نیمه هادی ها تعلق دارد ، به این معنی که از یک طرف جریان را بهتر از دی الکتریک عبور می دهد ، از طرف دیگر ، این کار از فلز بدتر است.

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

وظیفه ترانزیستور تقویت یک سیگنال ضعیف از طریق یک منبع تغذیه اضافی است.

اتم سیلیکون دارای چهار الکترون است که به لطف آن پیوند ایجاد می کند (یا به طور دقیق - پیوندهای کووالانسی) با همان سه اتم نزدیک ، یک شبکه کریستالی را تشکیل می دهد. در حالی که بیشتر الکترون ها در ارتباط هستند ، قسمت کوچکی از آنها قادر به حرکت از طریق شبکه بلوری هستند. به دلیل این انتقال جزئی الکترون ها است که سیلیکون به عنوان نیمه هادی طبقه بندی شد.

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

بنابراین آنها شروع به استفاده از ناخالصی فسفر 5 ظرفیتی کردند که به دلیل آن دریافت کردند ترانزیستورهای نوع n... وجود الکترون اضافی امکان افزایش سرعت حرکت آنها و افزایش عبور جریان را فراهم می کند.

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

فرض کنید یک ویفر سیلیکونی برداشته و یک قسمت از آن را با دوپانت نوع p و قسمت دیگر آن را با دوپانت نوع n دوپینگ کرده ایم. اینگونه بود که به دست آوردیم دیود - عنصر اساسی ترانزیستور.

اکنون الکترونها در قسمت n تمایل دارند به سوراخهای قسمت p بروند. در این حالت n-side اندکی منفی خواهد داشت و p-side بارهای مثبتی خواهد داشت. میدان الکتریکی تشکیل شده در نتیجه این "گرانش" - یک مانع ، از حرکت بیشتر الکترون جلوگیری خواهد کرد.

اگر منبع تغذیه به دیود متصل شود به گونه ای است که "-" به سمت p صفحه و "+" - سمت n را لمس کند ، جریان جریان غیرممکن است به دلیل اینکه سوراخ ها به دلیل تماس منفی منبع تغذیه جذب می شوند و الکترون ها - مثبت است و پیوند بین الکترونهای p و n به دلیل گسترش لایه ترکیبی از بین می رود.

اما اگر برعکس ، منبع تغذیه را با ولتاژ کافی وصل کنید ، یعنی "+" از منبع به سمت p و "-" - به سمت n ، الکترونهایی که در سمت n قرار دارند توسط قطب منفی دفع می شوند و به سمت p فشار داده می شوند و سوراخهایی را در منطقه p اشغال می کنند.

اما اکنون الکترونها به قطب مثبت منبع تغذیه جذب شده و آنها به حرکت در امتداد سوراخهای p ادامه می دهند. این پدیده نامگذاری شد دیود مغرضانه به جلو.

دیود + دیود \u003d ترانزیستور

به خودی خود ، ترانزیستور را می توان به صورت دو دیود متصل به یکدیگر نشان داد. در این حالت ، ناحیه p (منطقه ای که سوراخ ها در آن قرار دارند) برای آنها معمول می شود و "پایه" نامیده می شود.

یک ترانزیستور N-P-N دارای دو ناحیه n با الکترونهای اضافی است - آنها همچنین "ساطع کننده" و "جمع کننده" و یک منطقه ضعیف با سوراخ هستند - منطقه p ، "پایه" نامیده می شود.

اگر یک منبع تغذیه (بیایید آن را V1 بنامیم) به مناطق n ترانزیستور وصل کنید (بدون در نظر گرفتن قطب) ، یک دیود بایاس معکوس خواهد شد و ترانزیستور خواهد بود بسته.

اما ، به محض اتصال یک منبع تغذیه دیگر (بگذارید آن را V2 بنامیم) ، تنظیم "+" تماس با "مرکز" p-area (پایه) ، و "-" تماس با منطقه n (انتشار دهنده) ، برخی از الکترون ها دوباره از طریق جریان می شوند زنجیره تشکیل شده (V2) ، و بخشی توسط ناحیه مثبت جذب می شود. در نتیجه ، الکترون ها به ناحیه جمع کننده می ریزند و جریان الکتریکی ضعیف تقویت می شود.

بازدم

4- بنابراین کامپیوتر چگونه کار می کند؟

و حالا مهم ترین چیز.

بسته به ولتاژ اعمال شده ، ترانزیستور می تواند هر دو باشد باز کنیا بسته شده... اگر ولتاژ برای غلبه بر سد پتانسیل کافی نباشد (همان محل اتصال صفحات p و n) - ترانزیستور در حالت بسته خواهد بود - در حالت "خاموش" یا به زبان سیستم باینری - "0".

با ولتاژ کافی ، ترانزیستور روشن می شود ، و ما مقدار "روشن" یا "1" را در سیستم باینری دریافت می کنیم.

این حالت ، 0 یا 1 ، در صنعت کامپیوتر "بیت" نامیده می شود.

آنهایی که ما ویژگی اصلی سوئیچ را بدست می آوریم که راه را برای بشریت به کامپیوترها باز کرده است!

در اولین کامپیوتر الکترونیکی دیجیتال ENIAC یا به عبارت ساده تر ، اولین کامپیوتر ، حدود 18 هزار لوله سه پایه استفاده شد. اندازه کامپیوتر تقریباً به اندازه زمین تنیس بود و 30 تن وزن داشت.

برای درک نحوه کار پردازنده ، دو نکته اساسی دیگر وجود دارد که باید آنها را درک کنید.

لحظه 1... بنابراین ، ما تصمیم گرفتیم که چیست کمی... اما با کمک آن فقط می توانیم دو ویژگی چیزی را بدست آوریم: یا "بله" یا "نه". برای اینکه کامپیوتر یاد بگیرد بهتر ما را بفهمد ، آنها ترکیبی از 8 بیت (0 یا 1) را ارائه دادند که نام مستعار آن بود بایت.

با استفاده از یک بایت می توانید یک عدد را از صفر تا 255 رمزگذاری کنید. با استفاده از این 255 عدد - ترکیب صفر و یک ، می توانید هر چیزی را رمزگذاری کنید.

لحظه 2 داشتن اعداد و حروف بدون هیچ منطقی هیچ چیز به ما نمی دهد. به همین دلیل این مفهوم ظاهر شد عملگرهای منطقی.

با اتصال فقط دو ترانزیستور به روشی خاص ، می توانید چندین عمل منطقی را همزمان انجام دهید: "و" ، "یا". ترکیبی از ولتاژ روی هر ترانزیستور و نوع اتصال آنها به شما امکان می دهد ترکیبات مختلف صفر و یک را بدست آورید.

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

به زبان ساده ، تصور کنید که یک جدول مکاتبه ای وجود دارد ، مثلاً ASCII ، که در آن هر حرف مربوط به ترکیبی از 0 و 1 است. شما یک دکمه از صفحه کلید را فشار دادید ، و در آن لحظه روی پردازنده ، به لطف برنامه ، ترانزیستورها به گونه ای تغییر می کنند که صفحه ظاهر می شود همان نامه ای که روی کلید نوشته شده است.

این یک توضیح کاملاً بدوی از نحوه کار پردازنده و رایانه است ، اما این درک است که به ما امکان ادامه کار را می دهد.

5. و مسابقه ترانزیستور آغاز شد

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

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

البته اندازه این پردازنده ها شباهت زیادی به پردازنده های مدرن ندارد. به علاوه ، تا سال 1964 ، همه پردازنده ها یک مشکل داشتند. آنها خواستار یک رویکرد فردی - زبان برنامه نویسی خاص خود برای هر پردازنده بودند.

  • 1964 IBM System / 360. رایانه ای که با کد برنامه نویسی جهانی سازگار است. مجموعه دستورالعمل ها برای یک مدل پردازنده می تواند برای مدل دیگر استفاده شود.
  • دهه 70 اولین ریز پردازنده ها ظاهر می شوند. پردازنده تک تراشه اینتل. اینتل 4004 - 10 میکرون TP ، 2300 ترانزیستور ، 740 کیلوهرتز.
  • 1973 اینتل 4040 و اینتل 8008.3000 ترانزیستور ، 740 کیلوهرتز برای اینتل 4040 و 3500 ترانزیستور با سرعت 500 کیلو هرتز برای اینتل 8008.
  • 1974 Intel 8080. ترانزیستور 6 میکرونی TP و 6000. فرکانس ساعت حدود 5000 کیلوهرتز است. این پردازنده خاص در رایانه Altair-8800 مورد استفاده قرار گرفت. نسخه داخلی پردازنده Intel 8080 - KR580VM80A ، توسعه یافته توسط موسسه تحقیقاتی ریز دستگاه ها. 8 بیتی
  • 1976 اینتل 8080... ترانزیستور 3 میکرونی TP و 6500. فرکانس ساعت 6 مگاهرتز است. 8 بیتی
  • 1976 Zilog Z80. ترانزیستور 3 میکرونی TP و 8500. فرکانس ساعت تا 8 مگاهرتز. 8 بیتی
  • 1978 اینتل 8086... 3 میکرون TP و 29000 ترانزیستور. فرکانس ساعت حدود 25 مگاهرتز است. سیستم فرمان x86 امروزه همچنان استفاده می شود. 16 بیتی
  • 1980 اینتل 80186... ترانزیستور 3 میکرونی TP و 134000. فرکانس ساعت تا 25 مگاهرتز است. 16 بیتی
  • 1982 اینتل 80286. ترانزیستور 1.5 میکرونی TP و 134000. فرکانس - تا 12.5 مگاهرتز. 16 بیتی
  • 1982 موتورولا 68000... 3 میکرون و 84000 ترانزیستور. این پردازنده در رایانه اپل لیزا مورد استفاده قرار گرفت.
  • 1985 اینتل 80386... 1.5 میکرون TP و 275000 ترانزیستور. فرکانس - تا 33 مگاهرتز در نسخه 386SX.

به نظر می رسد که این لیست می تواند به طور نامحدود ادامه یابد ، اما در اینجا مهندسان اینتل با یک مشکل جدی روبرو شدند.

6. قانون مور یا نحوه زندگی تراشه سازان

این پایان دهه 80 است. در اوایل دهه 60 ، یکی از بنیانگذاران اینتل گوردون مور اصطلاحاً "قانون مور" را تدوین کرد. به نظر می رسد مانند این:

هر 24 ماه ، تعداد ترانزیستورهایی که روی تراشه مدار مجتمع قرار می گیرند دو برابر می شود.

سخت است که این قانون را قانون نامید. بلکه مشاهده تجربی مسیحی خواهد بود. با مقایسه سرعت توسعه فناوری ، مور نتیجه گرفت که روند مشابهی می تواند شکل بگیرد.

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

به عنوان یک راه حل ، یک گزینه با استفاده از تعدادی عنصر اضافی پیدا شد:

  • حافظه نهان ؛
  • نوار نقاله؛
  • داخلی پردازنده؛
  • ضرب

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

پردازنده Intel i486 قبلاً از 1.2 میلیون ترانزیستور تشکیل شده بود و حداکثر فرکانس عملکرد آن به 50 مگاهرتز می رسید.

در سال 1995 ، AMD به توسعه پیوست و سریعترین پردازنده سازگار با i486 در آن زمان Am5x86 را با معماری 32 بیتی عرضه کرد. پیش از این طبق فناوری پردازش 350 نانومتری تولید شده بود و تعداد پردازنده های نصب شده به 1.6 میلیون قطعه رسید. فرکانس ساعت به 133 مگاهرتز افزایش یافته است.

اما سازندگان تراشه ها جرأت نکردند که بیشتر در تعداد پردازنده های نصب شده بر روی تراشه و توسعه معماری مدینه فاضله CISC (Complex Instruction Set Computing) از قبل نصب شوند. در عوض ، مهندس آمریکایی دیوید پترسون پیشنهاد بهینه سازی عملکرد پردازنده ها را داد ، فقط لازم ترین دستورالعمل های محاسباتی را باقی گذاشت.

بنابراین تولیدکنندگان پردازنده به سیستم عامل RISC (Reduced Instruction Set Computing) روی آوردند ، اما حتی این کافی نبود.

در سال 1991 پردازنده 64 بیتی R4000 منتشر شد که با فرکانس 100 مگاهرتز کار می کرد. سه سال بعد ، پردازنده R8000 و دو سال بعد - R10000 با فرکانس ساعت تا 195 مگاهرتز ظاهر می شود. به موازات آن ، بازار پردازنده های SPARC در حال توسعه بود که معماری آن عدم وجود دستورالعمل های ضرب و تقسیم بود.

سازندگان تراشه به جای جنگ بر سر تعداد ترانزیستورها ، شروع به تجدید نظر در معماری خود کردند.... رد دستورالعمل های "غیرضروری" ، اجرای دستورالعمل ها در یک چرخه ساعت ، وجود ثبت کننده های مقدار کلی و خط لوله سازی امکان افزایش سریع فرکانس ساعت و توان پردازنده ها را بدون انحراف با تعداد ترانزیستورها فراهم می کند.

در اینجا فقط تعدادی از معماری هایی که از سال 1980 تا 1995 پدید آمده اند آورده شده است:

  • SPARC؛
  • ARM;
  • PowerPC ؛
  • Intel P5؛
  • AMD K5؛
  • اینتل P6.

آنها بر اساس پلتفرم RISC و در برخی موارد استفاده جزئی و ترکیبی از پلتفرم CISC ساخته شده بودند. اما توسعه فن آوری ها ، سازندگان تراشه ها را مجبور به ادامه ساخت پردازنده ها کرد.

در آگوست 1999 ، AMD K7 Athlon وارد بازار شد و با استفاده از فناوری فرآیند 250 نانومتر و شامل 22 میلیون ترانزیستور تولید شد. بعداً نوار به 38 میلیون پردازنده رسید. سپس تا 250 میلیون.

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

7. پایان رقابت ترانزیستور نزدیک است

در سال 2007 ، گوردون مور سخنان بسیار تندی بیان کرد:

قانون مور به زودی منقضی می شود. نصب تعداد نامحدود پردازنده به طور نامحدود غیرممکن است. دلیل این امر ماهیت اتمی ماده است.

با چشم غیر مسلح قابل توجه است که دو تولید کننده برجسته تراشه AMD و Intel به وضوح سرعت توسعه پردازنده را در چند سال گذشته کاهش داده اند. دقت فرآیند تولید به چند نانومتر رسیده است ، اما جای پردازنده های بیشتر غیرممکن است.

و در حالی که سازندگان نیمه هادی تهدید به راه اندازی ترانزیستورهای چند لایه را می کشند ، با حافظه 3DNand قرینه می شوند ، معماری x86 30 سال پیش یک رقیب جدی دارد.

8- آنچه در انتظار پردازنده های "عادی" است

قانون مور از سال 2016 باطل شده است. این رسما توسط بزرگترین تولید کننده پردازنده اینتل اعلام شد. تراشه سازان دیگر هر دو سال نمی توانند 100٪ قدرت محاسبه کنند.

و اکنون تولیدکنندگان پردازنده چند گزینه غیر امیدوار کننده دارند.

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

بعلاوه ، راه اندازی سریالی اینگونه دستگاهها در دهه های آینده دور از ذهن است. گران ، بی اثر و ... کند!

بله ، رایانه های کوانتومی انرژی بسیار کمتری نسبت به رایانه های مدرن خود مصرف می کنند ، اما تا زمانی که توسعه دهندگان و تولیدکنندگان قطعات به فناوری جدید روی نیاورند نیز کار کندتری دارند.

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

این تصمیم حق وجود دارد و بدین ترتیب انحصارگران می توانند تا چند دهه دیگر به مصرف کننده شیر بزنند ، اما در پایان ، این فناوری دوباره به سقف خواهد رسید.

امروز ، اینتل با درک سریع توسعه معماری ARM ، بی صدا تراشه های Ice Lake را اعلام کرده است. پردازنده ها با استفاده از فرایند تولید 10 نانومتری تولید می شوند و مبنایی برای تلفن های هوشمند ، تبلت ها و دستگاه های تلفن همراه خواهند شد. اما این اتفاق در سال 2019 رخ خواهد داد.

9. ARM آینده است

بنابراین ، معماری x86 در سال 1978 ظاهر شد و متعلق به نوع پلت فرم CISC است. آنهایی که به خودی خود ، وجود دستورالعمل هایی را برای همه موارد فرض می کند. تطبیق پذیری مهمترین نقطه قوت x86 است.

اما در عین حال ، همه کاره بودن با این پردازنده ها شوخی بی رحمانه ای بازی کرد. X86 چندین معایب اساسی دارد:

  • پیچیدگی دستورات و سردرگمی صریح آنها.
  • مصرف زیاد انرژی و تولید گرما.

برای عملکرد بالا ، من مجبور شدم از بهره وری انرژی خداحافظی کنم. علاوه بر این ، دو شرکت در حال حاضر بر روی معماری x86 کار می کنند ، که می تواند با خیال راحت به عنوان انحصارگران طبقه بندی شود. اینها Intel و AMD هستند. فقط آنها می توانند پردازنده های x86 تولید کنند ، این بدان معنی است که فقط آنها بر توسعه فناوری ها نظارت دارند.

همزمان چندین شرکت در زمینه توسعه ARM (Arcon Risk Machine) فعالیت دارند. در سال 1985 ، توسعه دهندگان پلت فرم RISC را به عنوان اساس توسعه بیشتر معماری انتخاب کردند.

برخلاف CISC ، RISC طراحی یک پردازنده را با حداقل تعداد دستورالعمل مورد نیاز ، اما حداکثر بهینه سازی فرض می کند. پردازنده های RISC بسیار کوچکتر از CISC ، کارآمدتر و ساده تر هستند.

علاوه بر این ، ARM در ابتدا منحصراً به عنوان رقیبی برای x86 ایجاد شد. توسعه دهندگان وظیفه خود را تعیین کردند تا معماری کارآمدتری نسبت به x86 بسازند.

از دهه 1940 ، مهندسان فهمیده اند كه یكی از اولویت ها همچنان كاهش اندازه رایانه ها و اول از همه خود پردازنده هاست. اما تقریباً 80 سال پیش به سختی کسی می توانست تصور کند که یک کامپیوتر کامل از جعبه کبریت کوچکتر باشد.

معماری ARM یک بار توسط اپل پشتیبانی شد و تولید تبلت های نیوتن را بر اساس خانواده پردازنده های ARM6 آغاز کرد.

فروش رایانه های رومیزی در حال سقوط است ، در حالی که تعداد دستگاه های تلفن همراه فروخته شده سالانه میلیاردها دلار است. اغلب اوقات ، علاوه بر عملکرد ، هنگام انتخاب یک ابزار الکترونیکی ، کاربر به چندین معیار دیگر نیز علاقه مند است:

  • تحرک
  • خودمختاری

معماری x86 در عملکرد قوی است ، اما اگر از خنک کننده فعال صرف نظر کنید ، یک پردازنده قدرتمند در برابر پس زمینه معماری ARM رقت انگیز به نظر می رسد.

10. چرا ARM رهبر بلامنازع است

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

اما همان آیفون چقدر قدرتمندتر است؟

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

یک دستیار جهانی در این زمینه آزمون عملکرد Geekbench مصنوعی است. این برنامه هم در رایانه های ثابت و هم در سیستم عامل های Android و iOS در دسترس است.

لپ تاپ های میان رده و سطح پایین به وضوح از عملکرد آیفون 7 عقب هستند. در بخش بالا ، همه چیز کمی پیچیده تر است ، اما در سال 2017 اپل آیفون X را بر روی تراشه جدید A11 Bionic عرضه می کند.

در آنجا ، شما از قبل معماری ARM را می دانید ، اما نمرات Geekbench تقریباً دو برابر شده است. لپ تاپ های سطح بالا تنش می کنند.

اما فقط یک سال گذشته است.

ARM در حال پیشرفت با جهش است. در حالی که Intel و AMD سال به سال عملکرد 5-10 درصدی را نشان می دهند ، در مدت مشابه ، تولیدکنندگان گوشی های هوشمند موفق می شوند قدرت پردازنده را دو تا دو و نیم برابر افزایش دهند.

برای کاربران مشکوک که از خطوط بالای Geekbench عبور می کنند ، فقط می خواهم به شما یادآوری کنم: در فن آوری های تلفن همراه ، اندازه بیش از همه مهم است.

یک کامپیوتر قدرتمند ۱۸ هسته ای همه در یک که "معماری ARM را بهم می ریزد" روی میز کار خود تنظیم کنید ، سپس آیفون خود را در کنار آن قرار دهید. آیا تفاوت را احساس می کنید؟

11. به جای کناره گیری

درک تاریخچه 80 ساله توسعه رایانه ها در یک ماده غیرممکن است. اما پس از خواندن این مقاله ، شما می توانید درک کنید که چگونه عنصر اصلی هر رایانه - پردازنده چیده شده است و انتظارات در بازار در سالهای آینده چیست.

البته ، اینتل و AMD تلاش خواهند کرد تا تعداد ترانزیستورهای موجود در یک دیافراگم را بیشتر کنند و ایده عناصر چند لایه را گسترش دهند.

اما آیا شما به عنوان مشتری به آن نوع قدرت نیاز دارید؟

بعید به نظر می رسد که از عملکرد iPad Pro یا پرچمدار آیفون X ناراضی باشید. فکر نمی کنم از عملکرد چند کوکی در آشپزخانه یا کیفیت تصویر تلویزیون 65 اینچ 4K راضی نباشید. اما همه این دستگاه ها از پردازنده های مبتنی بر ARM استفاده می کنند.

ویندوز پیش از این رسما اعلام کرده است که با علاقه به دنبال ARM است. این شرکت پشتیبانی از این معماری را در ویندوز 8.1 گنجانده است و اکنون به طور فعال در حال کار بر روی یک همکاری مشترک با سازنده برجسته تراشه ARM کوالکام است.

گوگل همچنین موفق شد ARM را مورد بررسی قرار دهد - سیستم عامل Chrome OS از این معماری پشتیبانی می کند. چندین توزیع لینوکس به طور هم زمان ظاهر شده است که با این معماری نیز سازگار است. و این تازه اولشه.

فقط سعی کنید لحظه ای تصور کنید که ترکیب یک پردازنده ARM با مصرف انرژی با باتری گرافن چقدر خوشایند خواهد بود. این معماری است که دستیابی به ابزارهای ارگونومیک موبایل را امکان پذیر می کند و می توانند آینده را دیکته کنند.

4.50 از 5 ، امتیاز: 24 )

سایت اینترنتی مقاله عالی ، چای را بریزید.

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

اگر آن را از هم جدا کنید ، داخل ریزپردازنده چه خواهد شد:

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

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

شماره 3 یک پشتی متکولیت خاص است که تمام قسمتهای دیگر پردازنده به آن متصل می شود ، علاوه بر این ، نقش یک پد تماس را بازی می کند - تعداد زیادی "نقطه" طلایی در سمت عقب آن وجود دارد - این تماس ها هستند (کمی آنها را در شکل می بینید). به لطف منطقه تماس (بستر) ، از تعامل نزدیک با کریستال اطمینان حاصل می شود ، زیرا تأثیر مستقیم بر روی کریستال به هیچ وجه امکان پذیر نیست.

پوشش (1) با درزگیر چسب مقاوم در برابر حرارت بالا به بستر (3) ثابت می شود. بین کریستال (2) و درب فاصله هوا وجود ندارد ، جای آن توسط گریس حرارتی گرفته می شود ، در صورت جامد شدن ، یک "پل" بین کریستال پردازنده و درب تشکیل می شود ، که جریان بسیار خوبی از گرما را تضمین می کند.

کریستال با استفاده از لحیم کاری و درزگیر به بستر متصل می شود ، مخاطبین بستر به مخاطبین کریستال متصل می شوند. این شکل به وضوح نشان می دهد که چگونه مخاطب کریستال با استفاده از سیم های بسیار نازک به تماس های زیرلایه متصل می شود (در عکس ، بزرگنمایی 170 برابر):

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

به عنوان مثال ، بستر تماس پردازنده Intel Pentium 4 به این شکل است (پردازنده معکوس است):

شکل مخاطبین و ساختار چیدمان آنها به پردازنده و مادربرد رایانه بستگی دارد (سوکت ها باید با هم مطابقت داشته باشند). به عنوان مثال ، در تصویر بالا ، تماس پردازنده بدون "پین" است ، زیرا پین ها مستقیماً در سوکت مادربرد قرار دارند.

و وضعیت دیگری وجود دارد که "سنجاق" های تماس مستقیماً از بستر تماس بیرون می زند. این ویژگی معمولاً برای پردازنده های AMD است:

همانطور که در بالا ذکر شد ، دستگاه مدلهای مختلف پردازنده از یک سازنده ممکن است متفاوت باشد ، ما نمونه بارزی از این امر را داریم - پردازنده چهار هسته ای Intel Core 2 Quad ، که اساساً 2 پردازنده دو هسته ای از هسته 2 duo است و در یک مورد ترکیب شده است:

مهم! تعداد بلورهای داخل پردازنده و تعداد هسته های پردازنده یکسان نیستند.

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

همین دستگاه ریزپردازنده مرکزی، به طور خلاصه ، البته.

دستگاه و اصل عملکرد پردازنده

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

1. مقدمه.

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

بیشتر پردازنده های مدرن شامل:

  • یک یا چند هسته که همه دستورالعمل ها را اجرا می کنند.
  • چندین سطح حافظه نهان (معمولاً 2 یا 3 سطح) ، تعامل پردازنده با RAM را تسریع می کند.
  • کنترل کننده RAM؛
  • کنترل کننده گذرگاه سیستم (DMI ، QPI ، HT و غیره) ؛

و با پارامترهای زیر مشخص می شود:

  • نوع معماری میکرو
  • فرکانس ساعت
  • مجموعه ای از دستورات اجرایی.
  • تعداد سطوح حافظه نهان و اندازه آنها.
  • نوع و سرعت گذرگاه سیستم ؛
  • اندازه کلمات پردازش شده
  • وجود یا عدم وجود یک کنترل کننده حافظه داخلی ؛
  • نوع RAM پشتیبانی شده
  • مقدار حافظه آدرس پذیر
  • وجود یا عدم وجود یک هسته گرافیکی یکپارچه ؛
  • مصرف انرژی.

نمودار بلوکی ساده پردازنده چند هسته ای مدرن در شکل 1 نشان داده شده است.

بیایید بررسی دستگاه پردازنده را با قسمت اصلی آن - هسته شروع کنیم.

2. هسته پردازنده.

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

شکل 1 نمودار بلوکی از دستگاه هسته پردازنده را نشان می دهد. همانطور که در شکل مشاهده می کنید ، هر هسته پردازنده از چندین بلوک کاربردی تشکیل شده است:

  • واکشی مجموعه ای از دستورالعمل ها ؛
  • بلوک برای دستورالعمل رمزگشایی.
  • بلوک های نمونه برداری از داده ها ؛
  • بلوک کنترل؛
  • بلوک برای اجرای دستورالعمل ها.
  • بلوک برای ذخیره نتایج؛
  • بلوک کار با وقفه ؛
  • ROM حاوی میکرو کد ؛
  • مجموعه ای از ثبت ها
  • شمارنده فرمان

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

پیش بینی کننده گذار سعی می کند تعیین کند که کدام توالی از دستورات پس از انتقال اجرا می شود. این امر برای بارگیری حداکثر خط لوله هسته پردازنده پس از پرش مشروط ضروری است.

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

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

در پردازنده های مدرن ، معمولاً 2-4 بلوک رمزگشایی دستورالعمل وجود دارد ، به عنوان مثال ، در پردازنده های Intel Core 2 ، هر هسته شامل دو بلوک از این دست است.

بلوک های واکشی داده ها واکشی داده ها از حافظه نهانگاه یا RAM مورد نیاز برای اجرای دستورالعمل های فعلی. به طور معمول ، هر هسته پردازنده شامل چندین بلوک واکشی داده است. به عنوان مثال ، پردازنده های Intel Core از دو بلوک واکشی برای هر هسته استفاده می کنند.

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

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

ALU - واحد منطق ریاضی ؛

FPU - واحد نقطه شناور ؛

بلوک هایی برای مدیریت مجموعه های دستورالعمل. دستورالعمل های اضافی برای سرعت بخشیدن به پردازش جریان های داده ، رمزگذاری و رمزگشایی ، رمزگذاری ویدیو و غیره استفاده می شوند. برای انجام این کار ، ثبت های اضافی و مجموعه ای از منطق به هسته پردازنده وارد می شوند. در حال حاضر ، محبوب ترین پسوندهای مجموعه دستورالعمل ها:

MMX (برنامه های افزودنی چندرسانه ای) مجموعه دستورالعمل های توسعه یافته توسط اینتل برای تسریع در رمزگذاری و رمزگشایی جریان داده های صوتی و تصویری است.

SSE (Streaming SIMD Extensions) مجموعه دستورالعمل هایی است که توسط Intel برای انجام همان توالی عملیات روی مجموعه ای از داده ها با موازی سازی فرآیند محاسبات تهیه شده است. مجموعه دستورات دائماً در حال بهبود هستند و در حال حاضر بازبینی هایی انجام می شود: SSE ، SSE2 ، SSE3 ، SSSE3 ، SSE4 ؛

ATA (Application Targeted Accelerator) مجموعه دستورالعمل های توسعه یافته توسط اینتل برای تسریع در کار نرم افزارهای تخصصی و کاهش مصرف انرژی هنگام کار با چنین برنامه هایی است. از این دستورالعمل ها می توان استفاده کرد ، به عنوان مثال ، هنگام محاسبه چک باکس یا جستجوی داده ها.

3DNow یک مجموعه دستورالعمل است که توسط AMD توسعه داده شده است تا قابلیت های مجموعه دستورالعمل های MMX را گسترش دهد.

AES (Advanced Encryption Standard) مجموعه دستورالعمل های توسعه یافته توسط Intel برای تسریع در عملکرد برنامه ها با استفاده از رمزگذاری داده ها با استفاده از همان الگوریتم است.

واحد ذخیره نتایج یک رکورد از نتیجه اجرای دستورالعمل در RAM در آدرس مشخص شده در دستورالعمل در حال پردازش فراهم می کند.

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

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

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

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

ثبت های هدف عمومی در هنگام انجام عملیات حسابی و منطقی یا کارهای خاص مجموعه دستورالعمل های اضافی (MMX ، SSE و غیره) استفاده می شوند.

رجیسترهای مخصوص دارای اطلاعات سیستم هستند که برای کار پردازنده مورد نیاز است. از جمله این ثبات ها می توان به عنوان مثال رجیسترهای کنترل ، رجیسترهای آدرس سیستم ، رجیسترهای رفع اشکال و ... اشاره کرد دسترسی به این رجیسترها بسیار منظم است.

شمارنده فرمان - ثبت نام حاوی آدرس دستوری که پردازنده در چرخه ساعت بعدی شروع به اجرا می کند.

2.1 اصل هسته پردازنده.

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

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

2. بلوک واکشی دستورالعمل ها از پیشخوان دستور ، آدرس دستوری را که باید اجرا شود ، می خواند. در این آدرس ، دستور از حافظه نهانگاه یا RAM خوانده می شود. داده های دریافت شده به واحد رمزگشایی منتقل می شود.

3. واحد رمزگشایی دستور ، در صورت لزوم ، با استفاده از میکروکدی که در ROM برای تفسیر دستور ، رمز را رمزگشایی می کند. اگر این یک دستور پرش است ، پس از آن آدرس پرش به پیشخوان دستور نوشته می شود و کنترل به واحد واکشی دستورالعمل (نقطه 1) منتقل می شود ، در غیر این صورت شمارنده دستور با اندازه فرمان افزایش می یابد (برای پردازنده ای با طول دستور 32 بیتی - به 4) و کنترل را به واحد واکشی داده انتقال می دهد ؛

4- واحد نمونه برداری داده ها از حافظه نهانگاه یا RAM اطلاعات مورد نیاز برای اجرای دستور را می خواند و کنترل را به برنامه ریز انتقال می دهد.

5- بلوک کنترل تعیین می کند که کدام بلوک برای اجرای دستورالعمل ها برای پردازش وظیفه فعلی ، و انتقال کنترل به این بلوک.

6. بلوک های اجرای دستورالعمل ها اقدامات مورد نیاز دستور را انجام می دهند و کنترل را به بلوک برای ذخیره نتایج منتقل می کنند.

7. اگر لازم است نتایج را در RAM ذخیره کنید ، بلوک برای ذخیره نتایج اقدامات لازم برای این کار را انجام می دهد و کنترل را به بلوک برای انتخاب دستورالعمل ها منتقل می کند (نکته 1).

به حلقه ای که در بالا توضیح داده شد پردازش گفته می شود (به همین دلیل پردازنده پردازنده نامیده می شود). دنباله دستورات اجرا شده را برنامه می نامند.

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

2.2. راه های بهبود عملکرد هسته پردازنده.

افزایش عملکرد هسته پردازنده ، با افزایش فرکانس ساعت ، محدودیت سختی دارد. افزایش سرعت کلاک باعث افزایش دمای پردازنده ، مصرف برق و پایداری و عمر پردازنده می شود.

بنابراین ، توسعه دهندگان پردازنده از راه حل های مختلف معماری برای افزایش عملکرد پردازنده بدون افزایش فرکانس ساعت استفاده می کنند.

بیایید به روش های اصلی برای بهبود عملکرد پردازنده نگاه کنیم.

2.2.1 خط لوله

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

مثالی را در نظر بگیرید که در آن پردازنده برنامه ای متشکل از پنج دستورالعمل (K1 - K5) را بدون استفاده از اصل خط لوله گذاری اجرا می کند. برای ساده سازی مثال ، فرض کنید هر بلوک از هسته پردازنده یک دستورالعمل را در 1 چرخه ساعت اجرا می کند.

بنابراین شما دستورالعمل های نمونه دستورالعمل رمزگشایی واکشی داده ها دستورالعمل را دنبال کن ذخیره نتیجه
1 K1 - - - -
2 - K1 - - -
3 - - K1 - -
4 - - - K1 -
5 - - - - K1
6 K2 - - - -
7 - K2 - - -
8 - - K2 - -
9 - - - K2 -
10 - - - - K2
11 K3 - - - -
12 - K3 - - -
13 - - K3 - -
14 - - - K3 -
15 - - - - K3
16 K4 - - - -
17 - K4 - - -
18 - - K4 - -
19 - - - K4 -
20 - - - - K4
21 K5 - - - -
22 - K5 - - -
23 - - K5 - -
24 - - - K5 -
25 - - - - K5

همانطور که از جدول می بینید ، پردازنده 25 چرخه ساعت را برای اجرای پنج دستورالعمل به طول انجامید. در همان زمان ، در هر چرخه ، چهار بلوک از پنج بلوک هسته پردازنده بیکار بود ، یعنی پردازنده فقط 20٪ از پتانسیل خود را استفاده کرده است. به طور طبیعی ، در پردازنده های واقعی ، همه چیز پیچیده تر است. بلوک های مختلف پردازنده وظایف با پیچیدگی های مختلف را حل می کنند. این دستورالعمل ها نیز از لحاظ پیچیدگی متفاوت هستند. اما به طور کلی وضعیت به همان شکل باقی مانده است.

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

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

بنابراین شما دستورالعمل های نمونه دستورالعمل رمزگشایی واکشی داده ها دستورالعمل را دنبال کن ذخیره نتیجه
1 K1 - - - -
2 K2 K1 - - -
3 K3 K2 K1 - -
4 K4 K3 K2 K1 -
5 K5 K4 K3 K2 K1
6 - K5 K4 K3 K2
7 - - K5 K4 K3
8 - - - K5 K4
9 - - - - K5

همین برنامه در 9 چرخه ساعت اجرا شد که تقریباً 2.8 برابر سریعتر از خط لوله است. همانطور که از جدول مشاهده می کنید ، حداکثر بار پردازنده در چرخه 5 بدست آمده است. در این مرحله ، از تمام بلوک های هسته پردازنده استفاده شد. و از ضربه اول تا چهارم ، نوار نقاله پر شد.

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

اولاً ، جریان واقعی دستورالعمل های پردازش شده متناقض است. اغلب انتقالاتی در آن وجود دارد. در همان زمان ، تا زمانی که دستور شاخه مشروط به طور کامل پردازش نشود ، خط لوله نمی تواند شروع به اجرای یک دستور جدید کند ، زیرا نمی داند در کدام آدرس قرار دارد.

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

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

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

طبق آمار ، دقت بلوک های پیش بینی شاخه شرطی در پردازنده های مدرن بیش از 90٪ است ، که ساخت خطوط لوله نسبتاً طولانی ، اما در عین حال ، به خوبی امکان پذیر است.

ثانیا ، اغلب دستورالعملهای پردازش شده بهم پیوسته اند ، یعنی یکی از دستورالعملها به نتیجه اجرای دستورالعمل دیگری به عنوان داده اولیه نیاز دارد.

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

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

با این حال ، زمانی که ترتیب اجرای برنامه توسط پردازنده در مرحله تدوین برنامه تعیین می شود ، زمانبندی ساکن در حال محبوبیت است. در این حالت ، دستورالعمل هایی که می توانند به صورت موازی اجرا شوند ، توسط کامپایلر در یک دستورالعمل طولانی ترکیب می شوند ، که در آن همه دستورالعمل ها موازی شناخته می شوند. پردازنده هایی که با چنین دستورالعمل هایی کار می کنند براساس معماری VLIW (کلمه دستورالعمل بسیار طولانی) ساخته شده اند.

2.2.2. فوق العاده بودن

Superscalarity معماری هسته محاسباتی است که در آن بیشترین بلوک های بارگیری شده را می توان در چندین نمونه گنجاند. به عنوان مثال ، در هسته پردازنده ، یک واحد واکشی دستورالعمل می تواند همزمان چندین واحد رمزگشایی را بارگیری کند.

در این حالت ، بلاک هایی که کارهای پیچیده تری انجام می دهند و طولانی تر می شوند ، به دلیل پردازش موازی چندین دستور همزمان ، کل خط لوله را به تأخیر نمی اندازند.

با این حال ، اجرای موازی دستورالعمل ها فقط در صورت مستقل بودن این دستورالعمل ها امکان پذیر است.

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

2.2.3. پردازش داده های موازی

افزایش بی نهایت عملکرد پردازنده ها با افزایش فرکانس ساعت غیرممکن است. افزایش فرکانس ساعت به افزایش اتلاف گرما ، کاهش عمر مفید و قابلیت اطمینان پردازنده ها منجر می شود و تأخیر در دسترسی حافظه تأثیر افزایش فرکانس ساعت را تا حد زیادی کاهش می دهد. در واقع ، امروزه به سختی پردازنده هایی با سرعت کلاک بالاتر از 3.8 گیگاهرتز پیدا خواهید کرد.

مشکلات اورکلاک ، توسعه دهندگان را مجبور می کند تا به دنبال راه های دیگری برای بهبود عملکرد پردازنده باشند. یکی از محبوب ترین روش ها محاسبه موازی است.

اکثر قریب به اتفاق پردازنده های مدرن دارای دو یا چند هسته هستند. مدل های برتر می توانند شامل 8 یا حتی 12 هسته باشند ، با پشتیبانی از فناوری hyper-threading. مزایای معرفی هسته های اضافی کاملاً قابل درک است ، ما عملاً چندین پردازنده داریم که قادر به حل مستقل هر یک از وظایف خود هستند ، در حالی که ، به طور طبیعی ، عملکرد افزایش می یابد. با این حال ، افزایش عملکرد همیشه انتظارات را برآورده نمی کند.

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

اما این مزیت عملکردی دارد تا زمانی که برنامه ای ظاهر شود که به منابع بیشتری نیاز داشته باشد تا یک هسته واحد. اگر از تعادل بار در چندین هسته پشتیبانی کند ، خوب است. اما در حال حاضر ، برنامه های در دسترس عموم که قادر به توزیع بار بین 12 هسته و حتی در حالت Hyper-Threading هستند ، می توانند بر روی انگشتان یک دست شمارش شوند. من البته اغراق می کنم ، برنامه هایی برای محاسبات چند رشته بهینه شده وجود دارد ، اما اکثر کاربران عادی به آنها نیازی ندارند. اما محبوب ترین برنامه ها و حتی بیشتر از آن بازی ها ، تاکنون "ضعیف" با پردازنده های چند هسته ای سازگار هستند ، به خصوص اگر تعداد هسته ها بیش از 4 هسته باشد.

ثانیا ، کار با حافظه پیچیده تر می شود ، زیرا هسته های زیادی وجود دارد و همه آنها نیاز به دسترسی به RAM دارند. مکانیسم پیچیده ای مورد نیاز است که ترتیب دسترسی هسته های پردازنده به حافظه و سایر منابع رایانه را تعیین می کند.

ثالثاً ، مصرف انرژی افزایش می یابد ، و در نتیجه ، تولید گرما افزایش می یابد و یک سیستم خنک کننده قدرتمند مورد نیاز است.

و چهارم اینکه ، هزینه تولید پردازنده های چند هسته ای بسیار زیاد است و بر این اساس ، قیمت این پردازنده ها "گاز می گیرد".

با وجود تمام اشکالاتی که وجود دارد ، بدون شک استفاده از پردازنده هایی با 2-4 هسته باعث افزایش چشمگیر عملکرد می شود. با این حال ، در حال حاضر ، استفاده از پردازنده هایی با بیش از چهار هسته همیشه انتظارات را برآورده نمی کند. با این حال ، در آینده نزدیک ، وضعیت باید به طرز چشمگیری تغییر کند. قطعاً برنامه های زیادی با پشتیبانی چند رشته ای وجود خواهد داشت ، عملکرد هسته های جداگانه افزایش می یابد و قیمت آنها کاهش می یابد.

2.2.4. فناوری Hyper-Threading.

فناوری Hyper-threading اینتل به هر هسته پردازنده این امکان را می دهد تا همزمان دو کار را انجام دهد و اساساً یک هسته واقعی را به دو وظیفه مجازی تبدیل کند. این امر به این دلیل امکان پذیر است که در چنین هسته هایی حالت دو رشته همزمان ذخیره می شود ، زیرا هسته مجموعه ای از ثبات های خاص خود را دارد ، شمارنده فرمان خود را دارد و بلوک کار خود را با وقفه های هر موضوع دارد. در نتیجه ، سیستم عامل چنین هسته ای را دو هسته جداگانه می بیند و به همان روشی که با پردازنده دو هسته ای کار می کند ، با آنها کار خواهد کرد.

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

اگر به عنوان مثال هنگام دسترسی به حافظه نهان مشکلی وجود داشته باشد ، ممکن است عناصر خط لوله درگیر نشوند ، و لازم است داده ها را از RAM بخوانید ، یا انتقال به اشتباه پیش بینی شده است ، یا نتایج پردازش دستورالعمل فعلی انتظار می رود ، یا بعضی از بلوک ها در حین پردازش استفاده نمی شوند این راهنما و غیره

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

علاوه بر این ، تقریباً همه برنامه ها دارای بسیاری از متغیرهای شرطی و وابسته هستند. در نتیجه ، استفاده از فن آوری Hyper-threading می تواند عملکرد قابل توجهی داشته باشد و در حداکثر بار خط لوله هسته نقش داشته باشد.

اما به همین سادگی نیست. به طور طبیعی ، افزایش عملکرد کمتر از استفاده از چندین هسته فیزیکی خواهد بود ، زیرا ، پس از همه ، رشته ها از بلوک های مشترک یک خط لوله استفاده می کنند و اغلب مجبور می شوند منتظر انتشار بلوک مورد نیاز باشند. علاوه بر این ، بیشتر پردازنده ها از قبل چندین هسته فیزیکی دارند و هنگام استفاده از فناوری Hyper-threading ، هسته های مجازی می توانند بسیار زیاد شوند ، خصوصاً اگر پردازنده شامل چهار یا چند هسته فیزیکی باشد.

از آنجا که در حال حاضر برنامه های کمی وجود دارد که قادر به توزیع محاسبات در تعداد زیادی هسته باشد ، در این حالت نتیجه ممکن است کاربران را ناامید کند.

یک مشکل جدی دیگر در فن آوری Hyper-Threading وجود دارد - درگیری هایی ایجاد می شوند که دستورالعمل های مختلف از رشته های مختلف به بلوک هایی از همان نوع نیاز دارند. ممکن است شرایطی بوجود آید که دو رشته مشابه به طور موازی کار کنند و اغلب از همان بلوک ها استفاده می کنند. در این حالت ، افزایش عملکرد حداقل خواهد بود.

در نتیجه ، فناوری Hyper-Threading بسیار به نوع بار پردازنده وابسته است و می تواند عملکرد خوبی را ایجاد کند ، یا عملاً بی فایده است.

2.2.5. فناوری Turbo Boost.

عملکرد اکثر پردازنده های مدرن در خانه را می توان کمی بالا برد ، به زبان ساده ، اورکلاک کرد - مجبور به کار در فرکانس های بالاتر از اسمی ، یعنی اعلام شده توسط سازنده.

فرکانس پردازنده به صورت ضرب در فرکانس گذرگاه سیستم در یک عامل به نام ضریب محاسبه می شود. به عنوان مثال ، یک پردازنده Core i7-970 با گذرگاه سیستم DMI با فرکانس پایه 133 مگاهرتز کار می کند و ضریب آن 24 است. بنابراین ، فرکانس ساعت هسته پردازنده: 133 مگاهرتز * 24 \u003d 3192 مگاهرتز است.

اگر در تنظیمات BIOS ضریب را افزایش دهید یا سرعت کلاک گذرگاه سیستم را افزایش دهید ، سرعت کلاک پردازنده افزایش می یابد و بر این اساس ، عملکرد آن نیز افزایش می یابد. با این حال ، این روند دور از خطر نیست. به دلیل اورکلاک ، پردازنده ممکن است ناپایدار شود یا حتی خراب شود. بنابراین ، شما باید با مسئولیت پذیری نسبت به اورکلاکینگ نزدیک شوید و پارامترهای پردازنده را به دقت کنترل کنید.

با ظهور فناوری Turbo Boost ، کارها بسیار راحت تر شده اند. پردازنده های دارای این فناوری می توانند به صورت پویا و برای مدت زمان کوتاهی فرکانس ساعت را افزایش دهند و در نتیجه عملکرد خود را افزایش دهند. در همان زمان ، پردازنده تمام پارامترهای عملکرد خود را کنترل می کند: ولتاژ ، آمپراژ ، دما و غیره ، جلوگیری از خرابی و حتی بیشتر از خرابی. به عنوان مثال ، پردازنده می تواند هسته های استفاده نشده را از کار بیندازد ، در نتیجه درجه حرارت کلی را کاهش می دهد ، و در عوض سرعت کلاک هسته های باقیمانده را افزایش می دهد.

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

2.2.6. کارایی اجرای دستور

بسته به انواع دستورالعمل های پردازش شده و نحوه اجرای آنها ، پردازنده ها به چند گروه تقسیم می شوند:

  • در پردازنده های کلاسیک CISC.
  • برای پردازنده های RISC با مجموعه دستورالعمل های کاهش یافته.
  • برای پردازنده های MISC با حداقل مجموعه دستورالعمل ها ؛
  • برای پردازنده های VLIW با مجموعه ای از دستورالعمل های طولانی مدت.

CISC (رایانه مجموعه دستورالعمل پیچیده) پردازنده هایی با مجموعه دستورالعمل های پیچیده هستند. مشخصه معماری CISC:

  • دستورالعمل های پیچیده و چند بعدی
  • مجموعه بزرگی از دستورالعمل های مختلف ؛
  • طول دستورالعمل غیر ثابت ؛
  • انواع حالتهای آدرس دهی.

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

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

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

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

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

با این حال ، در آن زمان ، تعداد زیادی از برنامه ها برای پردازنده هایی با معماری CISC قبلاً توسعه یافته بود ، بنابراین تغییر دادن به یک معماری کاملاً جدید و حتی سودمندی در عملکرد پردازنده ، از نظر اقتصادی بی فایده بود.

بنابراین ، مصالحه ای به تصویب رسید و پردازنده های CISC ، با شروع Intel486DX ، با استفاده از هسته RISC شروع به تولید کردند. یعنی درست قبل از اجرا ، دستورالعمل های پیچیده CISC به مجموعه ساده تری از دستورالعمل های داخلی RISC تبدیل می شوند. برای این کار ، از مجموعه دستورالعمل های خرد نوشته شده در ROM واقع در هسته پردازنده استفاده کنید - یک سری دستورالعمل های ساده که در مجموع همان اقدامات یک دستورالعمل پیچیده را انجام می دهند.

RISC (کامپیوتر تنظیم شده با دستورالعمل کاهش یافته) - پردازنده هایی با مجموعه دستورالعمل های کاهش یافته.

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

همچنین موازی سازی دستورالعمل های ساده RISC بسیار ساده تر از دستورالعمل های CISC است و بنابراین ، بارگیری بیشتر خط لوله ، معرفی بلوک های پردازش دستورالعمل های اضافی و غیره امکان پذیر است.

پردازنده های مبتنی بر معماری RISC دارای ویژگی های اصلی زیر هستند:

  • طول دستورالعمل ثابت
  • مجموعه کوچکی از دستورالعمل های استاندارد ؛
  • تعداد زیادی از ثبت های عمومی
  • کمبود میکروکد
  • مصرف برق کمتر در مقایسه با پردازنده های CISC با عملکرد مشابه ؛
  • ساختار داخلی ساده تر ؛
  • ترانزیستور کمتری در مقایسه با پردازنده های CISC با عملکرد مشابه ؛
  • عدم وجود بلوک های تخصصی پیچیده در هسته پردازنده.

در نتیجه ، اگرچه پردازنده های RISC برای انجام همان کار نسبت به پردازنده های CISC به دستورالعمل های بیشتری نیاز دارند ، اما به طور کلی عملکرد بهتری دارند. اولاً ، اجرای یک دستورالعمل RISC واحد بسیار کمتر از اجرای دستورالعمل CISC زمان می برد. دوم ، پردازنده های RISC از قابلیت های عملکرد موازی بیشتر استفاده می کنند. سوم ، پردازنده های RISC می توانند سرعت کلاک بیشتری در مقایسه با پردازنده های CISC داشته باشند.

با این حال ، با وجود مزیت بارز RISC ، پردازنده ها به اندازه CISC گسترده نیستند. درست است ، این عمدتا به این دلیل نیست که در برخی پارامترها می توانند از پردازنده های CISC بدتر باشند. آنها هیچ چیز بدتر نیستند. نکته این است که پردازنده های СISC ابتدا ظاهر شدند و نرم افزار برای پردازنده های CISC با پردازنده های RISC ناسازگار است.

در نتیجه ، بازنویسی تمام برنامه هایی که قبلاً توسط تعداد زیادی از کاربران تهیه ، اشکال زدایی و استفاده شده اند ، از نظر اقتصادی بسیار زیان آور است. و این اتفاق افتاد که اکنون ما مجبور به استفاده از پردازنده های CISC هستیم. درست است ، همانطور که قبلاً گفتم ، توسعه دهندگان برای این مشکل راه حل سازشی پیدا کردند و برای مدت زمان طولانی در پردازنده های CISC از هسته RISC استفاده می کردند و دستورالعمل های پیچیده را با میکرو برنامه جایگزین می کردند. این امر باعث می شود تا حدودی وضعیت را هموار کند. هنوز هم پردازنده های RISC در اکثر پارامترها حتی از پردازنده های CISC با هسته RISC نیز بهتر عمل می کنند.

MISC (تنظیم حداقل دستورالعمل کامپیوتر) - توسعه بیشتر معماری RISC ، بر اساس ساده سازی بیشتر دستورالعمل ها و کاهش تعداد آنها. بنابراین ، به طور متوسط \u200b\u200b، 20-30 دستورالعمل ساده در پردازنده های MISC استفاده می شود. این روش باعث ساده سازی بیشتر طراحی پردازنده ، کاهش مصرف برق و حداکثر قابلیت پردازش موازی شده است.

VLIW (کلمه بسیار طولانی دستورالعمل) - معماری پردازنده با استفاده از دستورالعمل های طولانی حاوی چندین عملیات همزمان ، ترکیب شده توسط کامپایلر برای پردازش موازی. در برخی از پیاده سازی های پردازنده ، طول دستورالعمل ها می تواند تا 128 یا حتی 256 بیت باشد.

معماری VLIW با موازی سازی عمیق پیشرفت بیشتری در معماری RISC و MISC است.

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

در نتیجه ، پردازنده VLIW نه تنها از حذف سربار پردازش داده های موازی بهره مند شد ، بلکه به دلیل سازماندهی بهینه تر اجرای موازی دستورالعمل ها ، عملکردهایی نیز دریافت کرد.

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

با این حال ، حتی کامپایلر برای مقابله با تجزیه و تحلیل کد و سازماندهی موازی سازی آن دشوار است. اغلب کد برنامه بسیار به هم وابسته بود و در نتیجه ، کامپایلر مجبور بود دستورالعمل های خالی را در دستورالعمل ها وارد کند. به همین دلیل ، برنامه ها برای پردازنده های VLIW می توانند بسیار طولانی تر از برنامه های مشابه برای معماری های سنتی باشند.

اولین پردازنده های VLIW در اواخر دهه 1980 ظاهر شدند و توسط Cydrome توسعه یافتند. پردازنده های دارای این معماری همچنین شامل پردازنده های Philips TriMedia ، خانواده Texas Instruments 'DSP C6000 ، Elbru - از سال 2000 - یک پردازنده ساخت روسیه است که توسط MCST با مشارکت دانشجویان MIPT و دیگران ساخته شده است. پشتیبانی از دستورالعمل های طولانی با موازی سازی صریح در پردازنده های خانواده نیز موجود است. ایتانیوم

2.3 راه های کاهش مصرف انرژی پردازنده.

کمتر از عملکرد نیست ، پارامتری مانند مصرف برق نیز برای یک پردازنده مهم است. وقتی که در محبوبیت دستگاههای قابل حمل واقعاً رونق زیادی وجود دارد ، مسئله مصرف برق به ویژه در حال حاضر حاد است.

زندگی ما بدون استفاده از لپ تاپ ، تبلت و گوشی های هوشمند دیگر نمی تواند راحت تصور شود. با این حال ، تنها چیزی که این روند را تحت الشعاع قرار می دهد ، عمر باتری چنین دستگاه هایی است. بنابراین لپ تاپ ها ، به طور متوسط \u200b\u200b، می توانند به مدت 3 تا 5 ساعت ، به صورت تبلت ، به طور خودکار کار کنند - کمی بیشتر ، تلفن های هوشمند می توانند تقریباً یک روز با بار کامل کار کنند و این همه نیست. اما همه اینها برای کار راحت با آنها بسیار ناچیز است.

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

ساده ترین راه برای کاهش مصرف برق و اتلاف حرارت پردازنده ، کاهش فرکانس ساعت و ولتاژ آن است ، زیرا مصرف برق یک پردازنده متناسب با مربع ولتاژ عملکرد آن و متناسب با فرکانس ساعت است. مفیدترین اثر در مصرف انرژی کاهش ولتاژ است. با این حال ، هنگامی که ولتاژ کاهش می یابد ، دیر یا زود فرکانس ساعت نیز کاهش می یابد ، که به طور طبیعی کاهش عملکرد را به همراه دارد.

با این حال ، مصرف برق اغلب مهمترین پارامتر عملیاتی است و برخی از تخریب عملکرد قابل قبول است. بنابراین ، اکثر نسخه های تلفن همراه پردازنده ها و پردازنده ها برای سیستم های تعبیه شده دارای سرعت کلاک و ولتاژ عملیاتی بسیار کمتر از نسخه های مشابه دسکتاپ هستند.

اما تولیدکنندگان همیشه ترکیب بهینه ولتاژ و فرکانس ساعت را تنظیم نمی کنند. بسیاری از پردازنده های موبایل با سرعت کلاک ثابت می توانند در ولتاژ کمتری کار کنند ، که به طور قابل توجهی عمر باتری لپ تاپ را افزایش می دهد.

برای به دست آوردن نسبت بهینه عملکرد و مصرف برق ، لازم است ولتاژی را انتخاب کنید که پردازنده در یک فرکانس ساعت معین پایدار کار کند.

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

روش های کمتر جدی برای حل این مشکل نیز وجود دارد.

مثلاً فناوری EIST (فناوری پیشرفته Intel SpeedStep) به شما امکان می دهد با تغییر فرکانس ساعت و ولتاژ پردازنده ، به صورت پویا مصرف برق پردازنده را تغییر دهید. تغییر در فرکانس ساعت با کاهش یا افزایش ضریب ضرب اتفاق می افتد.

من قبلاً عامل ضرب را در بالا ذکر کردم ، اما خودم را تکرار می کنم. سرعت کلاک پردازنده به عنوان ضریب ضریب سرعت کلاک گذرگاه سیستم در یک عامل به نام ضریب ضرب محاسبه می شود. کاهش یا افزایش این عامل منجر به کاهش یا افزایش فرکانس ساعت پردازنده و کاهش یا افزایش ولتاژ کار می شود.

در مواردی که پردازنده کاملاً استفاده نشده است ، می توان با کاهش ضریب ضریب سرعت کلاک آن را کاهش داد. به محض اینکه کاربر به منابع محاسباتی بیشتری نیاز داشته باشد ، ضریب ضرب تا مقدار اسمی آن افزایش می یابد. بنابراین ، می توان تا حدودی مصرف انرژی را کاهش داد.

یک فناوری مشابه برای کاهش مصرف برق ، مبتنی بر تغییرات دینامیکی ولتاژ و فرکانس ساعت ، بسته به بار پردازنده ، توسط AMD نیز استفاده می شود ، نامیده می شود - باحال و آرام.

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

فناوری EIST می تواند با استفاده از BIOS و نرم افزار سیستم عامل پیکربندی شود و پروفایل های مدیریت انرژی مورد نیاز را برای یک مورد خاص تنظیم کرده و بدین ترتیب عملکرد پردازنده و مصرف برق متعادل شود.

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

3. حافظه نهان.

با وجود همه فن آوری ها و نیرنگ های توسعه دهندگان ، عملکرد پردازنده هنوز مستقیماً به سرعت واکشی دستورالعمل ها و داده ها از حافظه بستگی دارد. و حتی اگر پردازنده خط لوله ای متعادل و کاملاً فکری داشته باشد ، از فناوری Hyper-Threading و غیره استفاده کند ، اما سرعت مناسب در بازیابی اطلاعات و دستورالعمل ها را از حافظه تأمین نکند ، در نتیجه ، عملکرد کلی رایانه انتظارات شما را برآورده نمی کند.

بنابراین ، یکی از مهمترین پارامترهای دستگاه پردازنده حافظه نهان است که برای کاهش زمان واکشی دستورات و داده ها از RAM اصلی طراحی شده و به عنوان یک بافر متوسط \u200b\u200bبا دسترسی سریع بین پردازنده و RAM اصلی طراحی شده است.

حافظه CACHE بر اساس حافظه گران قیمت SRAM (حافظه دسترسی تصادفی استاتیک) ساخته شده است ، که دسترسی به سلولهای حافظه را بسیار سریعتر از سلولهای حافظه DRAM (حافظه دسترسی تصادفی پویا) ، که بر اساس آن RAM ساخته می شود ، فراهم می کند. علاوه بر این ، SRAM نیازی به بازسازی مداوم ندارد ، که همچنین عملکرد آن را افزایش می دهد. با این حال ، ما در مقاله بعدی با جزئیات بیشتر دستگاه SRAM ، DRAM و سایر انواع حافظه را مورد بررسی قرار خواهیم داد ، و اکنون نگاه دقیق تری به اصل عملکرد و دستگاه حافظه نهان خواهیم داشت.

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

حافظه پنهان سطح بالاتر همیشه بزرگتر و کندتر از حافظه پنهان سطح پایین است.

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

حافظه پنهان L2 کندتر است (به طور متوسط \u200b\u200b8-20 دوره پردازنده زمان دسترسی دارد) اما حجم آن چند مگابایت است.

حافظه نهان L3 - حتی کندتر اما نسبتاً بزرگ. پردازنده هایی با حافظه نهان L3 بیش از 24 مگابایت وجود دارد.

در پردازنده های چند هسته ای ، معمولاً آخرین سطح حافظه نهان در همه هسته ها به اشتراک گذاشته می شود. علاوه بر این ، بسته به بار روی هسته ها ، حجم آخرین سطح CACHE اختصاص یافته به هسته می تواند به صورت پویا تغییر کند. اگر هسته بار بالایی داشته باشد ، در این صورت حافظه نهانگاه بیشتری به آن اختصاص می یابد ، این هزینه به دلیل کاهش مقدار حافظه نهان برای هسته های کم بار است. همه پردازنده ها از این قابلیت برخوردار نیستند ، فقط کسانی هستند که از فناوری Smart Cache پشتیبانی می کنند (به عنوان مثال Intel Smart Cache یا AMD Balanced Smart Cache).

سطح پایین حافظه پنهان - معمولاً برای هر هسته پردازنده جداگانه است.

ما به نحوه عملکرد حافظه پنهان نگاهی انداختیم ، حال بیایید نحوه کار آن را دریابیم

پردازنده داده ها را از RAM اصلی می خواند و آنها را در حافظه پنهان تمام سطوح می نویسد و داده هایی را که برای مدت طولانی و به ندرت به آنها دسترسی پیدا کرده است جایگزین می کند.

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

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

وضعیت حافظه CACH در پردازنده های چند هسته ای پیچیده تر است ، هر هسته شامل حافظه CACH خاص خود است. لازم است همگام سازی اضافی داده های ذخیره شده در حافظه پنهان هسته های مختلف ارائه شود. به عنوان مثال ، همان بلوک داده RAM اصلی به حافظه نهان هسته های پردازنده اول و دوم وارد شد. سپس پردازنده اول این بلوک حافظه را تغییر داد. به نظر می رسد که حافظه نهان پردازنده دوم شامل داده های منسوخ شده ای است و باید به روز شود و این یک بار اضافی بر روی حافظه نهان است که منجر به کاهش سرعت کلی پردازنده می شود. این وضعیت پیچیده تر است ، هر چه هسته های پردازنده بیشتر باشد ، میزان حافظه نهان بیشتر و حجم آنها بیشتر است.

اما ، با وجود چنین مشکلاتی در کار با حافظه CACH ، استفاده از آن بدون افزایش قابل توجه هزینه کامپیوتر ، سرعت کار را افزایش می دهد. تا زمانی که یک RAM اختراع شود که بتواند از نظر سرعت با SRAM و از نظر قیمت DRAM رقابت کند ، از یک سازمان سلسله مراتبی RAM با استفاده از چندین سطح حافظه پنهان استفاده می شود.

شاید این جایی است که ما بررسی دستگاه پردازنده را به پایان می رسانیم ، زیرا مروری بر اتوبوس های سیستم و اصل عملکرد آنها در مقاله "طراحی و هدف مادربرد" آورده شده است ، و توضیحات اصلی کنترل کننده RAM که اغلب در پردازنده وجود دارد ، انواع RAM و اصول عملکرد آن خواهد بود در مقاله بعدی


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

پردازنده: عملکردهای دستگاه و تاریخچه ظاهر

جز component PC که امروزه معمولاً از آن به عنوان پردازنده مرکزی یاد می شود ، با سابقه نسبتاً جالب منشا origin مشخص می شود. بنابراین ، برای درک ویژگی های آن ، بررسی برخی از حقایق کلیدی در مورد تکامل توسعه آن مفید خواهد بود. این دستگاه که توسط کاربر مدرن به عنوان واحد پردازش مرکزی شناخته می شود ، نتیجه سالها پیشرفت در فناوری ساخت تراشه های محاسباتی است.

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

ریزپردازنده ها

با پیشرفت فناوری رایانه ، دستگاههایی به نام "ریزپردازنده" به ساختار رایانه شخصی وارد شدند. یکی از اولین دستگاه های این نوع ، محصول Intel 4004 بود که توسط یک شرکت آمریکایی در سال 1971 منتشر شد. ریز پردازنده ها در مقیاس یک میکرو مدار در ساختار خود توابعی را که در بالا تعریف کردیم ترکیب کرده اند. اصولاً دستگاه های مدرن بر اساس همین مفهوم کار می کنند. بنابراین ، پردازنده مرکزی لپ تاپ ، رایانه شخصی ، رایانه لوحی در ساختار خود دارد: یک دستگاه منطقی ، رجیسترها و همچنین یک ماژول کنترل که مسئول عملکردهای خاص است. با این حال ، در عمل ، اجزای میکرو مدارهای مدرن اغلب در یک مجموعه پیچیده تر ارائه می شوند. بیایید این ویژگی را با جزئیات بیشتری مطالعه کنیم.

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

پردازنده مرکزی یک رایانه شخصی ، لپ تاپ یا رایانه لوحی مدرن توسط هسته نشان داده می شود - اکنون عادی در نظر گرفته شده است که چندین مورد از آنها وجود دارد ، حافظه نهان در سطوح مختلف ، و همچنین کنترل کننده ها: RAM ، گذرگاه سیستم. عملکرد یک نوع میکرو مدار مناسب با ویژگی های اصلی آن تعیین می شود. در چه كلیتی می توان آنها را نشان داد؟

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

بیایید جزئیات عملکرد برخی از ماژول های اصلی پردازنده مرکزی را مطالعه کنیم. بیایید با هسته شروع کنیم.

هسته پردازنده

واحد پردازش مرکزی یک کامپیوتر مدرن همیشه دارای یک هسته است. این شامل بلوک های اصلی عملکرد میکرو مدار است که از طریق آنها عملکردهای منطقی و حسابی لازم را انجام می دهد. به عنوان یک قاعده ، آنها در یک مجموعه خاص از عناصر ارائه می شوند. بنابراین ، دستگاه پردازنده مرکزی غالباً حضور بلوک هایی را بر عهده دارد که مسئول حل وظایف زیر هستند:

دستورالعمل های واکشی و رمزگشایی

نمونه گیری از داده ها ؛

دستورالعمل های زیر

ذخیره نتایج محاسبه

کار با وقفه ها.

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

هسته پردازنده: اجزای سازنده

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

در بلوک رمزگشایی ، دستورالعملهایی پردازش می شوند که الگوریتم عملکرد میکرو مدار را برای حل مشکلات خاص تعیین می کنند. به گفته بسیاری از متخصصان فناوری اطلاعات ، ادامه دادن آنها کاری ترسناک است. این امر تا حدی به این دلیل است که طول دستورالعمل همیشه به وضوح مشخص نشده است. پردازنده های مدرن معمولاً شامل 2 یا 4 بلوک هستند که رمزگشایی مربوطه در آنها انجام می شود.

در مورد اجزای مسئول واکشی داده ها ، وظیفه اصلی آنها اطمینان از دریافت دستورالعمل هایی از حافظه نهانگاه یا RAM است که برای اطمینان از اجرای دستورالعمل ها لازم است. هسته های پردازنده های مدرن معمولاً شامل چندین بلوک از نوع مربوطه هستند.

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

در هسته میکرو مدارها از نوع مربوطه ، بلوک هایی نیز وجود دارد که مسئول اجرای صحیح دستورالعمل ها هستند. در ساختار آنها ، عناصری از قبیل واحد حسابی و منطقی و همچنین یک جز component مسئول محاسبات نقطه شناور وجود دارد.

بلوک هایی در هسته های پردازنده وجود دارد که پردازش انبساط مجموعه هایی را که برای دستورالعمل تنظیم شده اند کنترل می کنند. این الگوریتم ها ، علاوه بر دستورات اساسی ، برای افزایش شدت پردازش داده ها ، برای پیاده سازی روش های رمزگذاری یا رمزگشایی برای پرونده ها ، استفاده می شوند. حل چنین مشکلاتی نیاز به معرفی ثبات ها و دستورالعمل های اضافی در ساختار هسته میکرو مدار دارد. پردازنده های مدرن معمولاً شامل پسوندهای زیر هستند: MMX (برای رمزگذاری فایلهای صوتی و تصویری طراحی شده است) ، SSE (برای موازی سازی محاسبات استفاده می شود) ، ATA (برای سرعت بخشیدن به برنامه ها و کاهش مصرف برق رایانه استفاده می شود) ، 3DNow (گسترش قابلیت های چندرسانه ای رایانه) ، AES (رمزگذاری داده ها) ، و همچنین بسیاری از استانداردهای دیگر.

در ساختار هسته های پردازنده ، معمولاً بلوک هایی وجود دارند که می توانند نتایج را در RAM مطابق با آدرس مندرج در دستورالعمل ذخیره کنند.

م componentلفه اصلی کنترل کننده عملکرد قطع میکرو مدار مهم است. این عملکرد به پردازنده اجازه می دهد تا از ثبات برنامه ها در شرایط چند وظیفه ای اطمینان حاصل کند.

کار پردازنده مرکزی نیز با استفاده از رجیسترها همراه است. این اجزا مشابه RAM هستند اما دسترسی به آنها چندین برابر سریعتر انجام می شود. حجم منبع مربوطه کم است - به عنوان یک قاعده ، از یک کیلوبایت بیشتر نیست. ثبت ها به چند نوع طبقه بندی می شوند. اینها می توانند م componentsلفه هایی با اهداف عمومی باشند که در انجام محاسبات ریاضی یا منطقی نقش دارند. ثبت های ویژه ای وجود دارد که می تواند شامل داده های سیستمی باشد که پردازنده در حین کار از آنها استفاده می کند.

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

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

مشخصات پردازنده: نوع فناوری فرآیند

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

در واقع ، همه اینها برای چیست؟ واقعیت این است که در روند تکامل رایانه ها ، یک قانون غیر رسمی شکل گرفت: هرچه دستگاه از نظر تکنولوژی پیشرفته تر باشد ، ابعاد آن با عملکرد یکسان کوچکتر و حتی بیشتر - دارای آن است. این کاملاً در رابطه با مشخصات در نظر گرفته شده پردازنده مرکزی ، یعنی فرایند فنی ساخت آن معتبر است. در این حالت ، فاصله بین کریستالهای سیلیکونی جداگانه که ساختار میکرو مدار را تشکیل می دهند ، مهم است. هرچه کوچکتر باشد ، چگالی عناصر متناظر با صفحه پردازنده روی خود بیشتر می شود. بر این اساس ، هر چه تولید بیشتری داشته باشد ، می توان در نظر گرفت. پردازنده های مدرن با توجه به فناوری فرآیند 90-14 نانومتر ساخته می شوند. این شاخص به تدریج کاهش می یابد.

فرکانس ساعت

سرعت ساعت CPU یکی از شاخص های اصلی عملکرد است. این تعیین می کند که در هر ثانیه میکرو مدار می تواند چه عملیاتی را انجام دهد. هرچه بیشتر باشد ، پردازنده و کل رایانه کارآمدتر هستند. می توان اشاره کرد که این پارامتر ، اول از همه ، هسته را به عنوان یک ماژول پردازنده مرکزی مستقل توصیف می کند. یعنی اگر چندین مولفه مربوطه روی میکرو مدار وجود داشته باشد ، هر یک از آنها با فرکانس جداگانه ای کار می کنند. برخی از متخصصان فناوری اطلاعات جمع آوری این خصوصیات را در همه هسته ها قابل قبول می دانند. چه مفهومی داره؟ اگر به عنوان مثال پردازنده دارای 4 هسته با فرکانس 1 گیگاهرتز باشد ، در صورت پیروی از این روش ، عملکرد کل کامپیوتر 4 گیگاهرتز خواهد بود.

اجزای فرکانس

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

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

اندازه حافظه نهان

پردازنده های مدرن به ماژول های حافظه نهان مجهز هستند. هدف اصلی آنها قرار دادن موقتی داده ها است ، به طور معمول ، با مجموعه ای از دستورات و الگوریتم های خاص نشان داده می شود - مواردی که اغلب در عملکرد میکرو مدار استفاده می شوند. این در عمل چه چیزی می دهد؟ اول از همه ، این واقعیت که می تواند بار پردازنده مرکزی را کاهش دهد ، به این دلیل است که دستورات و الگوریتم های آن به صورت آنلاین در دسترس خواهد بود. میکرو مدار با دریافت دستورالعمل های آماده از حافظه نهان ، باعث اتلاف وقت از ابتدا نمی شود. در نتیجه ، رایانه سریعتر کار می کند.

مشخصه اصلی حافظه نهان میزان صدا است. هرچه بزرگتر باشد ، از نظر موقعیت مکانی دستورالعمل ها و الگوریتم های استفاده شده توسط پردازنده ، از ظرفیت بالاتری برخوردار است. بیشتر احتمال دارد که میکرو مدار هر بار موارد مورد نیاز خود را در میان آنها پیدا کرده و سریعتر کار کند. حافظه پنهان در پردازنده های مدرن اغلب به سه سطح تقسیم می شود. اولین کار بر اساس سریعترین و پیشرفته ترین ریز مدارها است ، بقیه - کندتر. میزان حافظه نهان سطح اول در پردازنده های مدرن حدود 128-256 کیلوبایت است ، سطح دوم - 1-8 مگابایت ، سوم - می تواند بیش از 20 مگابایت باشد.

مصرف انرژی

یکی دیگر از پارامترهای مهم میکرو مدار ، مصرف برق است. تأمین انرژی پردازنده می تواند گران باشد. مدل های مدرن میکرو مدار حدود 40-50 وات مصرف می کنند. در برخی موارد ، این پارامتر از نظر اقتصادی دارای اهمیت است - به عنوان مثال ، در مورد تجهیز شرکت های بزرگ به چند صد یا هزاران رایانه. اما مصرف برق از نظر سازگاری پردازنده ها برای استفاده در دستگاه های تلفن همراه - لپ تاپ ها ، تبلت ها ، تلفن های هوشمند از اهمیت کمتری برخوردار نیست. هرچه نشانگر مربوطه پایین تر باشد ، عمر باتری دستگاه بیشتر می شود.