فصل اول
CPU
مقدمه :
ریزپردازنده واحد پردازش مرکزی یا مغز رایانه می باشد. این بخش مدار الکترونیکی بسیار گسترده و پیچیده ای می باشد که دستورات برنامه های ذخیره شده را انجام می دهد. جنس این قطعه کوچک (تراشه) نیمه رسانا است. CPU شامل مدارهای فشرده می باشد و تمامی عملیات یک میکرو رایانه را کنترل می کند. تمام رایانه ها (شخصی، دستی و...) دارای ریزپردازنده می باشند. نوع ریزپردازنده در یک رایانه می تواند متفاوت باشد اما تمام آنها عملیات یکسانی انجام می دهند.
● تاریخچه ریزپردازنده :
ریزپردازنده پتانسیل های لازم برای انجام محاسبات و عملیات مورد نظر یک رایانه را فراهم می سازد. در واقع ریزپردازنده از لحاظ فیزیکی یک تراشه است. اولین ریزپردازنده در سال ۱۹۷۱ با نام Intel ۴۰۰۴ به بازار عرضه شد. این ریزپردازنده قدرت زیادی نداشت و تنها قادر به انجام عملیات جمع و تفریق ۴ بیتی بود. تنها نکته مثبت این پردازنده استفاده از یک تراشه بود، زیرا تا قبل از آن از چندین تراشه برای تولید رایانه استفاده می شد. اولین نوع ریزپردازنده که بر روی کامپیوتر خانگی نصب شد. ۸۰۸۰ بود. این پردازنده ۸ بیتی بود و بر روی یک تراشه قرار داشت و در سال ۱۹۷۴ به بازار عرضه گردید. پس از آن پردازنده ای که تحول عظیمی در دنیای رایانه بوجود آورد ۸۰۸۸ بود. این پردازنده در سال ۱۹۷۹ توسط شرکت IBM طراحی و در سال ۱۹۸۲ عرضه گردید. بدین صورت تولید ریزپردازنده ها توسط شرکت های تولیدکننده به سرعت رشد یافت و به مدل های ۸۰۲۸۶، ۸۰۳۸۶، ۸۰۴۸۶، پنتیوم ۲، پنتیوم ۳، پنتیوم ۴ منتهی شد.
این پردازنده ها توسط شرکت intel و سایر شرکت ها طراحی و به بازار عرضه شد. طبیعتاً پنتیوم های ۴ جدید در مقایسه با پردازنده ۸۰۸۸ بسیار قوی تر می باشند زیرا که از نظر سرعت به میزان ۵۰۰۰ بار عملیات را سریعتر انجام می دهند. جدیدترین پردازنده ها اگر چه سریعتر هستند گران تر هم می باشند. کارآیی رایانه ها بوسیله پردازنده آن شناخته می شود. ولی این کیفیت فقط سرعت پروسسور را نشان می دهد نه کارآیی کل رایانه را. به طور مثال اگر یک رایانه در حال اجرای چند نرم افزار حجیم و سنگین است و پروسسور پنتیوم ۴ آن ۲۴۰۰ کیگاهرتز است، ممکن است اطلاعات را خیلی سریع پردازش کند. اما این سرعت بستگی به هارددیسک نیز دارد. یعنی این که پروسسور جهت انتقال اطلاعات زمان زیادی را در انتظار می گذراند.
پروسسورهای امروزی ساخت شرکت Intel، پنتیوم ۴ و سلرون هستند. پروسسورها با سرعت های مختلفی برحسب گیگاهرتز (معادل یک میلیارد هرتز با یک میلیارد سیکل در ثانیه است) برای پنتیوم ۴ از ۴/۱ گیگاهرتز تا ۵۳/۲ متغیر است و برای پروسسور سرعت از ۸۵/۰ گیگاهرتز تا ۸/۱ گیگاهرتز است. یک سلرون همه کارهایی را که یک پنتیوم ۴ انجام می دهد را می تواند انجام دهد اما نه به آن سرعت.
پردازنده دو عمل مهم انجام می دهد:
۱) کنترل تمام محاسبات و عملیات
۲) کنترل قسمت های مختلف
پردازنده در رایانه های شخصی به شکل یک قطعه نسبتاً تخت و کوچک به اندازه ۸ یا ۱۰ سانتی متر مربع که نوعی ماده، مانند پلاستیک یا سرامیک روی آن را پوشانده است تشکیل شده در واقع فرآیند بوجود آمدن این مغز الکترونیکی به این گونه می باشد که از سیلیکان به علت خصوصیات خاصی که دارد جهت ایجاد تراشه استفاده می شود. بدین گونه که آن را به صورت ورقه های بسیار نازک و ظریف برش می دهند و این تراشه ها را در درون مخلوطی از گاز حرارت می دهند تا گازها با آنها ترکیب شوند و بدین صورت طبق این فرآیند شیمیایی سیلیکان که از جنس ماسه می باشد به فلز و بلور تبدیل می شود که امکان ضبط و پردازش اطلاعات را در بردارد. این قطعه کار میلیونها ترانزیستور را انجام می دهد.
پردازنده وظایف اصلی زیر را برای رایانه انجام می دهد:
۱) دریافت داده ها از دستگاه های ورودی
۲) انجام عملیات و محاسبات و کنترل و نظارت بر آنها
۳) ارسال نتایج عملیات با دستگاه های خروجی
پردازنده مانند قلب رایانه است و از طریق کابلهای موجود با واحدهای دیگر مرتبط می شوند.
در واقع از نظر فنی عملکرد پردازنده با دو ویژگی تعیین می شود:
۱) طول کلید- تعداد بیت هایی که یک پردازنده در هر لحظه پردازش می کند و طول این کلمات معمولاً ۴ و ۸ و ۱۶ و ۳۲ و یا ۶۴ بیتی می باشد.
۲) تعداد ضربان الکترونیکی که در یک ثانیه تولید شده است و با واحد مگاهرتز سنجیده می شود.
محل قرارگیری پردازنده ها بر روی مادربرد می باشد. بنابراین بایستی هماهنگی لازم بین مادربرد و پردازنده وجود داشته باشد. این هماهنگی باعث بالا رفتن عملیات رایانه می شود. در غیر این صورت نتیجه خوبی بدست نمی آید.
نکته: بر روی پردازنده حروف و ارقامی دیده می شود که در واقع نشان دهنده شماره سریال ها ،سرعت، ولتاژ، مدل، نسل و نام سازنده آن می باشد. با توجه به نوع دستورالعمل ها یک ریزپردازنده با استفاده از واحد منطبق و حساب خود (ALU) قادر به انجام عملیات محاسباتی مانند جمع و تفریق و ضرب و تقسیم است. البته پردازنده های جدید اختصاصی برای انجام عملیات مربوط به اعداد اعشاری نیز می باشند. ریزپردازنده قادر به انتقال داده ها از یک محل حافظه به محل دیگر می باشند و می توانند تصمیم گیری نمایند و از یک محل به محل دیگر پرش داشته باشد تا دستورالعمل های مربوط به تصمیم اتخاذ شده را انجام دهد.
امنیت بر پایه CPU
پس از چندین دهه کار و تلاش برای افزایش سرعت و بازده پردازندهها در اجرای فرامین، اکنون مهمترین و به روزترین ویژگی CPUها، توانایی در عدم اجرای برخی کدهاست.آنچه ذکر شد توضیحی اجمالی از فناوری no execute (یا NX) است که در پردازندههای Opteron، Athlon ۶۴ و به تازگی در محصولات اینتل قرار داده شده و به نامهای دیگری چون XD (یا executable disable) و DEP نیز معروف میباشد.
در حالی که لینوکس، سولاریس و اسپارک چندین سال است که از این فناوری پشتیبانی میکنند، مایکروسافت، DEP را به همراه XP SP۲ در جولای سال گذشته عرضه کرد.
NX به عبارتی ساده، از بخش سختافزاری پردازنده دستگاه برای خنثی کردن حملات ویروسها و تروجانها استفاده میکند. فعالیتهای انجام شده در زمینه فناوری محافظت از حافظه در XP SP۲، این فرآیند را با تقویت قدرت تشخیص پردازنده میان محیطهای داده و برنامهها ممکن میسازد و بدین شکل از اجرای فرامین مربوط به memory جلوگیری میکند.
اما در مورد برخی از برنامههای قانونی مانند کامپایلرهای جاوا که همواره کدهای بلادرنگ(real time) تولید کرده و بدین ترتیب فرامین صادر شده از محیطهای اطلاعاتی را اجرا میکنند، بایستی تجدید نظر شود و کماکان مهمترین راه سوءاستفاده از ساختارهای x۸۶ همان مشکل معروف سرریز بافر است؛ چند درخواست سنگین اولیه که ناحیه ورودی برنامه را لبریز کرده و سپس اجرای کدهای مخرب در این میان.
هنگامی که سرریز بافر رخ میدهد، حافظه جانبی همراه بافر تخریب شده و اطلاعات جدیدی در آن نوشته میشود. حال اگر این فضا بخشی از پشته یک برنامه باشد، میتواند مسیر اجرای فرامین را تغییر داده و دستورات جدیدی را مانند پاک شدن اطلاعات و یا دانلود کدهای مخرب بیشتر صادر کند.
از آنجا که بسیاری از cpuها تفاوتی میان اجازه خواندن اطلاعات و اجازه اجرای دستورات قائل نیستند، یک برنامه به دلیل محدودیتهای ساخت، هر کد ورودی را از هر فضای حافظهای اجرا میکند. با این وجود پردازندههای AMD ۶۴ از نشانی خاص(attribute) برای شناسایی نواحی non executable در حالتهای ۶۴ بیتی و ۳۲ بیتیِ PAE استفاده میکنند. (بیتِ NX در page table entry)
مود PAE قادر به شناسایی ۴ گیگابایت حافظه (سقف حافظه ممکن در سیستمهای ۳۲ بیتی) بوده و امکانات اضافی موجود در آن برای صفحهبندی (paging) اطلاعات، NX را ممکن میسازد. واضح است که برخی از برنامههای ۳۲ بیتی بدین ترتیب دچار مشکل خواهند شد اما نصب XP SP۲ این ناسازگاری را با تغییر رفتار قدیمی دسترسی مستقیم به حافظه (DMA) در HAL رفع میسازد؛ SP۲ با آگاهی از بیت NX، به هنگام اجرای یک کد از محیط data page پیغام خطایی صادر کرده(همان پنجره آشنای آبی در ویندوزهای قدیمیتر) و فرآیند اجرا را مسدود میسازد.مایکروسافت پذیرفته است که گزارش مکرر این مشکلات و متوقف شدن دستگاه و به دنبال آن بررسی کلی سیستم، ظاهری ناهنجار دارد و البته سالهاست که برای حذف آن میکوشد اما عقیده دارد که تکرار این پروسهها به کنترلنشدن یک کد مخرب و اجرای آن میارزد. MSBlaster برای مثال، در حضور NX نیز با وجود عدم توانایی در انتشار، باز هم قادر به ادامه حیات و اجرای حملات DoS میباشد.
مهندسان نرمافزار میتوانند به کمک جعبهابزار SP۲ و به طور دلخواه، قابلیت NX را برای برنامههای ۳۲ بیتی غیرفعال سازند و کاربران عادی نیز به وسیله یک control panel جدید(مانند دیوار آتش موجود در SP۲) قادر به فعال و یا غیرفعال کردن NX برای کل سیستم و یا برنامههایی خاص(مانند کامپایلرهای جاوا) خواهند بود.
شامل 40 صفحه word
دانلود تحقیق CPU و موس