پیش از ظهور اولین ماشین که به پردازنده*های امروزی شباهت داشت؛ کامپوترهای مثل انیاک(******انیاک) مجبور بودند برای اینکه کارهای مختلفی را انجام دهند دوباره سیم کشی شوند.این ماشین ها کامپیوتر هایی با برنامه ثابت نامیده می شوند. از آنجای که عبارت پردازنده عموما برای دستگاه هایی که برنامه های کامپیوتری را اجرا می کنند به کار می رود ، می توان کامپیوتر های برنامه ذخیره شده (stored-program computer) را به عنوان اولین پردازنده ها نام برد. ایده کامپیوتر های برنامه ذخیره شده در طراحی J. Presper Eckert و John William برای کامپیوتر اینیاک ارائه شده بود ، ولی خیلی زود از طرح حذف گشت تا طرح سریع به اتمام برسد . در 30 ژوئن 1945 قبل از اینکه اینیاک ساخته شود ، ریاضی دانی به نام John von Neumann یک مقاله با عنوان اولین پیش نویس گزارش EDVAC منتشر کرد. که این طرح کلی از اولین کامپیوتر برنامه ذخیره شده بود که سرانجام در آگوست 1949 به اتمام رسید . EDVAC برای انجام تعداد خاصی از دستورالعمل ها طراحی شده بود. این دستورالعمل ها می توانستند ترکیب شوند و برنامه های مفیدی را روی EDVAC اجرا کنند. روشن است که برنامه هایی که برای EDVAC نوشته شده بودن روی حافظه ی سریع کامپیوتر ذخیره می شدند به جای سیم کشی کردن مشخص کامپیوتر .
برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  appget_ir13408200251.jpg
مشاهده: 125
حجم:  41.8 کیلوبایت


طراحی von Neumann بر این محدودیت اینیاک ، که زمان و تلاش زیاد برای پیکربندی مجدد برای انجام کار جدید بود غلبه کرد . برنامه یا نرم افزار ی که بر روی EDVAC اجرا می شد می توانست به راحتی محتویات حافظه را تغییر دهد. در ابتدا CPU ها به صورت اختصاصی به عنوان بخشی از یک دستگاه بزرگتر طراحی می شدند که گاهی بخشی از یک رایانه بودند. با این حال این روش سفارشی طراحی برای یک کاربرد خاص ، راه را برای تولید انبوه پردازنده های ساخته شده نا هموار می کرد. استاندارد سازی پردازنده ها با پیدایش ترانزیستور ها و میکرو کامپیوتر ها شروع شد و با ظهور آی سی ها شتاب بیشتری گرفت. آی سی ها این اجازه را می دادند که CPU های پیچیده تر و با قواعد طراحی نانو متر تولید شوند . استانداردسازی و کوچک شدن CPU ها هر دو باعث افزایش حضور دستگاه های دیجیتال در زندگی مدرن در مقابل کاربرد محاسباتی خاص شدند. ریز پردازنده ها در هر جایی از ماشین ها تا تلفن های همراه و اسباب بازی های کودکان حضور دارند. هرچند von Neumann به خاطر طراحی EDVAC خود شناخته شده است ، قبل از او افرادی مانند Konrad Zuse ایده های مشابهی را مطرح و پیاده سازی نموده بودند. اصطلاح معماری هاروارد Harvard Mark که یک طراحی برنامه ذخیره شده که از نوار کاغذ های منگنه بجای حافظه های الکترونیکی استفاده می کرد ،قبل از EDVAC تمام شده بود. تفاوت اصلی بین طراحی ون و معماری هاروارد فضای مشترک برای ذخیره دستورالعمل ها و داده ها در مقابل فضا های جدا گانه طراحی هاروارد بود. اغلب CPU های مدرن از طراحی ون پیروی می کنند ، اما المان هایی هم وجود دارند که معماری هاروارد پیروی می کنند. رله ها و لامپ های خلا که عموما به عنوان عناصر سوئیچینگ مورد استفاده قرار می گرفتند. یک کامپیوتر مفید به هزاران یا صدها هزار از این المان های سوئیچینگ نیاز دارد و سرعت کلی سیستم به سرعت این سوئیچ ها وابسطه است. کامپیوتر های لامپ خلا نزیر EDVAC تقریبا 8 ساعت بدون خرابی کار می کردند در حالی که کامپیوتر های رله ای مانند طراحی هاروارد خیلی زودتر با مشکل مواجه می شدند. در نهایت CPU های بر پایه لامپ خلا به دلیل سرعت قابل توجه و قابلیت اطمینان بیشتر بر هم نوعان خود پیروز شدند . اغلب CPU های سنکرون نسبت به CPUهای مدرن با فرکانس کلاک کمتری در حد 100Hz تا 4 MHz کار می کردند که این محدودیت به دلیل سرعت کم المان های سوئیچ بود.
برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  appget_ir13408200961.jpg
مشاهده: 103
حجم:  145.8 کیلوبایت


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

نام:  appget_ir13408202441.jpg
مشاهده: 118
حجم:  228.5 کیلوبایت


پیدایش ریز پردازنده*ها در سال ۱۹۷۰ به طور قابل توجهی در طراحی و پیاده سازی پردازنده*ها تأثیر گذار بود. از زمان ابداع اولین ریزپردازنده (اینتل۴۰۰۴)در سال ۱۹۷۰ و اولین بهره برداری گسترده از ریزپردازنده اینتل ۸۰۸۰ در سال ۱۹۷۴، این روند رو به رشد ریزپردازنده*ها از دیگر روشهای پیاده سازی واحدهای پردازش مرکزی (CPU) پیشی گرفت، کارخانجات تولید ابر کامپیوترها و کامپیوترهای شخصی در آن زمان اقدام به تولید مدارات مجتمع با برنامه ریزی پیشرفته نمودند تا بتوانند معماری قدیمی کامپیوترهای خود را ارتقا دهند و در نهایت ریز پردازنده*ای سازگار با مجموعه دستورالعمل*ها ی خود تولید کردند که با سخت*افزار و نرم*افزارهای قدیمی نیز سازگار بودند. با دستیابی به چنین موفقیت بزرگی امروزه در تمامی کامپیوترهای شخصی CPUها منحصرا از ریز پردازنده*ها استفاده می*کنند.

عملکرد ریزپردازنده*ها


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

طراحی و اجرا


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

دامنه صحیح

روشی که یک پردازنده از طریق آن اعداد را نمایش می*دهد یک روش انتخابی در طراحی است که البته در بسیاری از راه*های اصولی اثر گذار است. در برخی از کامپیوترهای دیجیتالی اخیر از یک مدل الکترونیکی بر پایه سیستم شمارش دسیمال (مبنای ده) برای نمایش اعداد استفاده شده*است. برخی دیگر از کامپیوترها از یک سیستم نامتعارف شمارشی مانند سیستم سه تایی(مبنای سه) استفاده می*کنند. در حال حاضر تمامی پردازنده*های پیشرفته اعداد را به صورت دودویی (مبنای دو) نمایش می*دهند که در آن هر عدد به وسیله چندین کمیت فیزیکی دو ارزشی مانند ولتاژ بالا و پایین نمایش داده می*شوند.
علت نمایش دهی از طریق اعداد حجم کم و دقت بالا در اعدادی است که پردازشگر می*تواند نمایش دهد. در حالت دودویی پردازنده*ها، یک بیت به یک مکان مشخص در پردازنده اطلاق می*شود که پردازنده با آن به صورت مستقیم در ارتباط است. ارزش بیت (مکانهای شمارشی) یک پردازنده که برای نمایش اعداد بکار برده می*شود «بزرگی کلمه»، «پهنای بیت»، «پهنای گذرگاه اطلاعات» و یا «رقم صحیح» نامیده می*شود. که البته این اعداد گاهی در بین بخش*های مختلف پردازنده*های کاملاً یکسان نیز متفاوت است. برای مثال یک پردازنده ۸ بیتی به محدوده*ای از اعداد دسترسی دارد که می*تواند با هشت رقم دودویی (هر رقم دو مقدار می*تواند داشته باشد) ۲ یا ۲۵۶ عدد گسسته نمایش داده شود. نتیجاتا مقدار صحیح اعداد باعث می*شود که سخت*افزار در محدوده*ای از اعداد صحیح که قابل اجرا برای نرم*افزار باشد محدود شود و بدین وسیله توسط پردازنده مورد بهره برداری قرار گیرد.
برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  appget_ir13408203191.jpg
مشاهده: 117
حجم:  23.8 کیلوبایت