معماری رایانه
"این مقاله در حال ترجمه از ویکی انگلیسی است لطفا حذف نشود."

معماری رایانه[۱] در مهندسی رایانه، مجموعه ای از قوانین و روشهاست که عملکرد، سازماندهی و روند اجرای سیستمهای رایانهای را توصیف میکند. برخی تعاریف معماری، آن را به عنوان توصیف تواناییها و مدل برنامهنویسی رایانه، تعریف میکنند که در عین حال جنبه اجرایی ندارد. در تعاریف دیگر، معماری رایانه شامل طراحی مجموعه معماری، طراحی معماری خرد، طراحی منطق و پیادهسازی است.
تاریخچه
[ویرایش]اولین معماری مستند رایانه در مکاتبات چارلز بابیج و آدا لاولاس بود که موتور تحلیلی را توصیف میکرد. هنگام ساخت رایانه Z1 در سال ۱۹۳۶، کنراد زوزه در دو برنامه ثبت اختراع برای پروژههای آینده خود توضیح داد که دستورالعملهای ماشین میتوانند در همان حافظهای که دادهها ذخیره شدهاند ذخیره گردند. .[۲][۳] دو مثال اولیه و مهم دیگر عبارتند از:
- مقاله جان فون نویمان در سال ۱۹۴۵، به نام First Draft of a Report on the EDVAC، که توصیف کننده سازمانی از عناصر منطقی است.
- ماشین حساب الکترونیکی آلن تورینگ که جزئیات بیشتری دارد، پیشنهاد شده برای موتور محاسبات اتوماتیک، همچنین در سال ۱۹۴۵ به مقاله جان فون نویمان اشاره کرده است.[۴]
اصطلاح "معماری" در ادبیات رایانه را میتوان در آثار لایل آر جانسون و فردریک پی بروکس جونیور، اعضای بخش سازمان ماشین در مرکز تحقیقات اصلی IBM در سال ۱۹۵۹ جستجو کرد. جانسون این فرصت را داشت که یک مقاله تحقیقاتی اختصاصی دربارهٔ Stretch، ابررایانه IBM تولید شده برای آزمایشگاه ملی لس آلاموس (در آن زمان به عنوان آزمایشگاه علمی Los Alamos)، بنویسد. وی برای توصیف سطح جزئیات برای بحث در مورد رایانه لوکس و مجلل، خاطرنشان کرد که توصیف او از قالبها، انواع دستورالعملها، پارامترهای سختافزاری و بالا بردن سرعت، در سطح "معماری سیستم" است، اصطلاحی که مفیدتر از "سازمان ماشین" به نظر میرسد "[۵]
متعاقباً، بروکس، یک طراح Stretch، فصل ۲ کتابPlanning a Computer System: Project Stretch by stating را «معماری رایانه» نامید.
مانند سایر معماریها، هنر، تعیین نیازهای کاربر از یک سازه و سپس طراحی آن برای رفع نیازها تا حد ممکن با توجه به محدودیتهای اقتصادی و فناوری است. "
بروکس در ادامه به توسعه خط رایانههای IBM System / 360 (که اکنون IBM zSeries نامیده میشود) کمک میکند، که در آن «معماری» به عنوان «آنچه کاربر باید بداند» تعریف میشود.[۶] بعداً کاربران رایانه از این اصطلاح به ندرت در موقعیت مناسب استفاده کردند.
اولین معماریهای رایانه بر روی کاغذ طراحی شده و سپس مستقیماً در فرم نهایی سختافزار ساخته شدهاند.[۷] بعدها نمونههای اولیه معماری رایانه به صورت فیزیکی در قالب رایانه ترانزیستور - منطق ترانزیستور (TTL) - مانند نمونههای اولیه ۶۸۰۰ و PA-RISC - ساخته و قبل از تعهد به فرم سختافزاری نهایی، ساخته شدند. از دهه ۱۹۹۰، معماریهای رایانه جدید معمولاً «ساخته» میشوند، آزمایش میشوند و اصلاح میشوند (در برخی دیگر از معماریهای رایانه در شبیهساز معماری رایانه)؛ یا داخل یک FPGA به عنوان یک ریزپردازنده نرم؛ یا هر دو (قبل از تعهد به فرم سختافزاری نهایی).[۸]
زیر مجموعهها
[ویرایش]رشته معماری رایانه دارای سه زیر مجموعه اصلی است:
- معماری مجموعه دستورالعملها (ISA): کد ماشین را که پردازنده میخواند و بر اساس آن عمل میکند، بعلاوه اندازه کلمه، حالت آدرس دهی، ثبات و نوع داده را تعریف میکند.
- معماری خرد: همچنین به عنوان «سازمان رایانهای» شناخته میشود. این روش نحوه اجرای ISA توسط یک پردازنده خاص را بیان میکند. به عنوان مثال اندازه حافظه نهان پردازنده رایانه، مسئلهای است که بهطور کلی هیچ ارتباطی با ISA ندارد.
- طراحی سیستمها: شامل سایر مولفههای سختافزاری درون یک سیستم محاسباتی مانند پردازش داده غیر از CPU (به عنوان مثال دسترسی مستقیم به حافظه)، مجازی سازی و پردازش چندگانه
فناوریهای دیگری نیز در معماری رایانه وجود دارد. فن آوریهای زیر در شرکتهای بزرگتر مانند اینتل مورد استفاده قرار میگیرد و در سال ۲۰۰۲ تخمین زده شد که ۱٪ از کل معماری رایانه را شامل میشود:
- معماری کلان: لایههای معماری انتزاعیتر از معماری خرد است.
- معماری مجموعه دستورالعملهای اسمبلی: یک اسمبلر هوشمند ممکن است یک زبان اسمبلی انتزاعی را که برای گروهی از ماشینها متداول است، برای اجراهای مختلف به زبان ماشین کمی متفاوت تبدیل کند.
معماری کلان قابل مشاهده توسط برنامه نویسان: ابزارهای زبانهای سطح بالاتر مانند کامپایلرها ممکن است یک رابط یا قرارداد ثابت برای برنامه نویسان با استفاده از آنها تعریف کنند، تفاوت بین ISA , UISA و ریز معماریهای اساسی را انتزاع کنند. برای مثال، استانداردهای C ,C ++ یا Java، معماریهای مختلف قابل مشاهده توسط برنامهنویس را تعریف میکنند.
- میکرو کد (ریزبرنامه سازی): میکروکد نرمافزاری است که دستورالعملهای کار با تراشه را ترجمه میکند. مانند یک پوشش در اطراف سختافزار عمل میکند و نسخه مطلوبی از رابط مجموعه دستورالعمل سختافزار را ارائه میدهد. این امکان ترجمه دستورالعملها، انتخابهای انعطافپذیری را به طراحان تراشه میدهد: به عنوان مثال:
- نسخه جدید تراشه بهبود یافته میتواند با استفاده از میکروکد دقیقاً همان دستورالعمل نسخه قبلی تراشه را ارائه دهد، بنابراین تمام نرمافزارهایی که این مجموعه دستورالعملها را هدف قرار میدهند بدون نیاز به تغییر روی تراشه جدید اجرا میشوند.
- میکروکد میتواند مجموعه دستورالعملهای متنوعی را برای همان تراشه زیربنایی ارائه دهد، که به آن امکان میدهد تا نرمافزارهای متنوعی را اجرا کند.
- UISA: دستور العمل کاربر برای مجموعه معماری، به یکی از سه زیر مجموعه دستورالعمل CPU RISC(رایانه کم دستور) ارائه شده توسط پردازندههای PowerPC RISC اشاره دارد. زیر مجموعه UISA، دستورالعملهای RISC مورد علاقه توسعه دهندگان برنامه هستند. دو زیر مجموعه دیگر دستورالعملهای VEA (معماری محیط مجازی) است که توسط توسعه دهندگان سیستم مجازی سازی استفاده میشود و OEA (معماری محیط عملیاتی) که توسط توسعه دهندگان سیستم عامل استفاده میشود.[۹]
- معماری پین: عملکردهای سختافزاری که یک ریزپردازنده باید در اختیار یک پلتفرم سختافزاری قرار دهد، مثلاً پایههای x86 A20M , FERR / IGNNE یا FLUSH. همچنین پیامهایی که پردازنده باید منتشر کند تا حافظه نهان خارجی آزاد شود. توابع معماری پین انعطاف پذیرتر از توابع ISA است زیرا سختافزار خارجی میتواند با رمزگذاریهای جدید سازگار شود یا از پین به پیام تغییر کند. اصطلاح «معماری» مناسب است، زیرا توابع باید برای سیستمهای سازگار ارائه شوند، حتی اگر روش دقیق تغییر کند.
نقشها
[ویرایش]تعریف
[ویرایش]معماری رایانه مربوط به متعادل سازی عملکرد، کارایی، هزینه و قابلیت اطمینان یک سیستم رایانهای است. مجموعه دستورالعملهای پیچیدهتر، برنامه نویسان را قادر میسازد تا برنامههایی با فضای کمتری بنویسند، زیرا یک دستورالعمل میتواند برخی از انتزاعات سطح بالاتر را رمزگذاری کند (مانند دستورالعمل حلقه x86). با این وجود، رمزگشایی دستورالعملهای طولانیتر و پیچیدهتر برای پردازنده زمان بیشتری میبرد و پیادهسازی آنها میتواند هزینه بیشتری داشته باشد. پیچیدگی بیشتر دستورالعملهای بزرگ، احتمال بیشتری برای قابل اعتماد نبودن در هنگام تعامل دستورالعملها به روشهای غیرمنتظره ایجاد میکند.
این پیادهسازی شامل طراحی مدار مجتمع، بستهبندی، قدرت و خنک سازی است. بهینهسازی طراحی، نیاز به آشنایی با کامپایلرها، سیستم عاملها برای طراحی منطقی، و بستهبندی دارد.[۱۰]
مجموعه دستورالعمل معماری
[ویرایش]معماری مجموعه دستورالعملها (ISA) رابط بین نرمافزار و سختافزار رایانه است و همچنین میتواند به عنوان نمای برنامه نویسان از ماشین مشاهده شود. رایانهها زبانهای برنامهنویسی سطح بالا مانند جاوا، C ++ یا بیشتر زبانهای برنامهنویسی مورد استفاده را نمیفهمند. پردازنده فقط دستورالعملهای رمزگذاری شده را به صورت عددی، معمولاً به عنوان اعداد دودویی، میفهمد. ابزارهای نرمافزاری، مانند کامپایلرها، زبانهای سطح بالا را به دستورالعملهایی تبدیل میکنند که پردازنده میتواند آنها را درک کند.
علاوه بر دستورالعملها، ISA مواردی را که در دسترس یک برنامه است در رایانه تعریف میکند — به عنوان مثال، انواع دادهها، ثباتها، حالتهای آدرس دهی و حافظه. دستورالعملها، این موارد موجود را با فهرستهای ثبات (یا نامها) و حالتهای آدرس دهی حافظه پیدا میکنند.
ISA یک رایانه معمولاً در یک کتابچه راهنمای کوچک شرح داده میشود که نحوه کدگذاری دستورالعملها را شرح میدهد. همچنین، ممکن است اسامی کوتاه (مبهم) برای دستورالعملها تعریف شود. نامها را میتوان با یک ابزار توسعه نرمافزار به نام اسمبلر تشخیص داد. اسمبلر یک برنامه رایانهای است که یک فرم ISA قابل خواندن توسط انسان را به فرم قابل خواندن توسط رایانه ترجمه میکند. دیس اسمبلرها نیز بهطور گسترده در دسترس هستند، معمولاً در اشکال زدایی و برنامههای نرمافزاری، برای جداسازی و اصلاح اشکالها در عملکرد در برنامههای باینری رایانه به کار میروند.
ISA از نظر کیفیت و کامل بودن متفاوت است. ISA خوب بین راحتی برنامهنویس (آسان بودن درک کد)، اندازه کد (مقدار کد که برای انجام یک عمل خاص مورد نیاز است)، هزینه رایانه برای تفسیر دستورالعملها (پیچیدگی بیشتر به معنی سختافزار بیشتر برای رمزگشایی و اجرای دستورالعملها است) و سرعت رایانه (با پیچیدگی بیشتر رمزگشایی، زمان رمزگشایی سختافزار هم بیشتر میشود) تعادل برقرار میکند. بخش حافظه نحوه تعامل دستورالعملها با حافظه و نحوه تعامل حافظه با خود را تعریف میکند.
در طول شبیهسازی طراحی، شبیهسازها میتوانند برنامههایی را که در یک مجموعه دستورالعمل پیشنهادی نوشته شدهاند، اجرا کنند. شبیهسازهای مدرن میتوانند اندازه، هزینه و سرعت را اندازهگیری کنند تا مشخص کنند آیا ISA خاصی اهداف خود را برآورده میکند.
سازمان رایانه
[ویرایش]سازمان رایانه به بهینهسازی محصولات مبتنی بر عملکرد کمک میکند. به عنوان مثال، مهندسان نرمافزار باید قدرت پردازش پردازندهها را بدانند. شاید برای دستیابی به بیشترین عملکرد با کمترین قیمت، نیاز به بهینهسازی نرمافزار داشته باشند. این امر میتواند به تجزیه و تحلیل کاملاً دقیق سازمان رایانه نیاز داشته باشد. برای مثال، در کارت SD، ممکن است لازم باشد طراحان کارت را مرتب کنند تا بیشترین دادهها به سریعترین شکل پردازش شوند.
سازمان رایانهای همچنین به برنامهریزی برای انتخاب پردازنده برای یک پروژه خاص کمک میکند. پروژههای چندرسانهای ممکن است به دسترسی سریع دادهها نیاز داشته باشند، در حالی که ماشینهای مجازی ممکن است به وقفههای سریع نیاز داشته باشند. بعضی اوقات بعضی از کارها به اجزای اضافی نیز احتیاج دارند. به عنوان مثال، رایانهای که قادر به راه اندازی یک ماشین مجازی باشد، به سختافزار حافظه مجازی نیاز دارد تا حافظه رایانههای مختلف مجزا از هم، جدا شود. سازماندهی و ویژگیهای رایانه همچنین بر مصرف برق و هزینه پردازنده تأثیر میگذارد.
پیادهسازی
[ویرایش]هنگامی که یک مجموعه دستورالعمل و معماری خرد طراحی شد، باید یک ماشین عملی ساخته شود. به این فرایند طراحی پیادهسازی گفته میشود. پیادهسازی معمولاً به عنوان طراحی معماری در نظر گرفته نمیشود، بلکه مهندسی طراحی سختافزار محسوب میشود. پیادهسازی را میتوان به چندین مرحله تقسیم کرد:
- پیادهسازی منطقی مدارهای مورد نیاز را در سطح گیت منطقی طراحی میکند.
- پیادهسازی مدار، طراحی سطح ترانزیستور از عناصر اساسی (به عنوان مثال، دروازهها، مالتی پلکسرها، لچها) و همچنین برخی بلوکهای بزرگتر (ALUها (واحد محاسبه و منطق)، حافظه نهان و غیره) را که ممکن است در سطح دروازه منطقی یا حتی در سطح فیزیکی اجرا شود، در صورتی که طرح آن را بخواهد انجام میدهد.
- اجرای فیزیکی مدارهای فیزیکی را ترسیم میکند. اجزای مختلف مدار در یک طبقه از تراشه یا یک صفحه قرار میگیرند و سیمهای اتصال دهنده آنها ایجاد میشود.
- اعتبار سنجی طراحی، رایانه را به عنوان یک کل آزمایش میکند تا ببیند در همه شرایط و همه زمانها کار میکند. هنگامی که فرایند اعتبار سنجی طراحی شروع میشود، طراحی در سطح منطقی با استفاده از شبیهسازهای منطقی آزمایش میشود. با این حال، این معمولاً برای اجرای یک آزمون واقع بینانه بسیار کند است؛ بنابراین، پس از انجام اصلاحات بر اساس آزمون اول، نمونههای اولیه با استفاده از آرایههای دروازهای قابل برنامهریزی (FPGA) ساخته میشوند. بیشتر پروژههای سرگرمی در این مرحله متوقف میشوند. مرحله آخر آزمایش نمونههای اولیه مدارهای مجتمع است که ممکن است به چندین طراحی مجدد نیاز داشته باشد.
برای پردازندهها، کل روند پیادهسازی به گونهای متفاوت سازماندهی میشود و اغلب از آن به عنوان طراحی CPU یاد میشود.
اهداف طراحی
[ویرایش]شکل دقیق سیستم رایانهای به محدودیتها و اهداف بستگی دارد. معماری رایانه معمولاً تعادل بین استاندارد و قدرت را در مقابل عملکرد، هزینه، ظرفیت حافظه، تاخیر (تأخیر زمانی است که برای انتقال اطلاعات از یک گره به منبع لازم است) و توان تولید را برقرار میکند. بعضی اوقات ملاحظات دیگر مانند ویژگیها، اندازه، وزن، قابلیت اطمینان و قابلیت ارتقا نیز از عوامل دیگر هستند.
رایجترین طرح، تجزیه و تحلیل عمیق نیرو را انجام میدهد و نحوه کم کردن مصرف برق با حفظ عملکرد کافی را مشخص میکند.
عملکرد
[ویرایش]عملکرد رایانههای مدرن اغلب با معیار دستورالعمل بر چرخه (instructions per cycle یا IPC) توصیف میشود. این معیار میزان عملکرد معماری رایانه را مستقل از فرکانس کلاک اندازهگیری میکند؛ هر چه مقدار IPC بیشتر باشد، رایانه میتواند در یک بازهٔ زمانی مشخص کار بیشتری انجام دهد. رایانههای قدیمی دارای مقادیر IPC در حدود ۰٫۱ بودند، درحالی که پردازندههای امروزی بهراحتی به مقادیری نزدیک به ۱ دست مییابند. پردازندههای سوپراسکالر (Superscalar) نیز ممکن است با اجرای چندین دستورالعمل در هر چرخهٔ کلاک، به IPC بین ۳ تا ۵ برسند.
شمارش صرفِ دستورالعملهای زبان ماشین میتواند گمراهکننده باشد، زیرا در مجموعهدستورهای (ISA) مختلف، دستورالعملها ممکن است مقدار متفاوتی از کار را انجام دهند. بنابراین، «دستورالعمل» در معیارهای استاندارد عملکرد، به تعداد واقعی دستورالعملهای زبان ماشین یک ISA اشاره ندارد، بلکه یک واحد اندازهگیری است ه معمولاً بر اساس سرعت معماری رایانهٔ وکس تعریف میشود.
در گذشته، بسیاری از افراد سرعت رایانه را با نرخ کلاک (Clock Rate) — که معمولاً بر حسب مگاهرتز (MHz) یا گیگاهرتز (GHz) بیان میشود —اندازهگیری میکردند. این نرخ به عداد چرخههای کلاک اصلی واحد پردازش مرکزی (CPU) در هر ثانیه اشاره دارد. با این حال، این معیار تا حدی گمراهکننده است، زیرا رایانهای با نرخ کلاک بالاتر لزوماً کارایی بیشتری ندارد. به همین دلیل، تولیدکنندگان بهتدریج از استفادهٔ نرخ کلاک بهعنوان معیار اصلی عملکرد فاصله گرفتهاند.
عوامل دیگری نیز بر سرعت رایانه تأثیر میگذارند؛ از جمله ترکیب واحدهای عملکردی (Functional Units)، سرعت گذرگاه (Bus Speeds)، میزان حافظهٔ در دسترس، و نوع و ترتیب دستورالعملهای موجود در برنامهها.
دو نوع اصلی از سرعت وجود دارد: تأخیر (Latency) و گذرداد شبکه (Throughput). تأخیر مدتزمان میان آغاز یک فرایند و پایان آن است. گذرداد شبکه مقدار کاری است که در واحد زمان انجام میشود. تأخیر زمانی وقفه وقفه (Interrupt Latency) نیز حداکثر زمان پاسخ تضمینشدهٔ سامانه به یک رویداد الکترونیکی است؛ برای مثال زمانی که یک گردانندهٔ دیسک انتقال بخشی از دادهها را به پایان میرساند.
کارایی تحت تأثیر طیف گستردهای از انتخابهای طراحی قرار دارد. برای نمونه، خط لوله (Pipelining) یک پردازنده معمولاً موجب افزایش تأخیر میشود، ما گذرداد شبکه را بهبود میبخشد. رایانههایی که برای کنترل ماشینآلات بهکار میروند، معمولاً به تأخیر وقفهٔ بسیار کم نیاز دارند. این رایانهها در یک محیط بیدرنگ (Real-Time Environment) فعالیت میکنند و اگر عملیاتی در زمان مشخصشده تکمیل نشود، دچار شکست عملکردی خواهند شد. برای مثال، ترمزهای ضدقفل کنترلشده توسط رایانه باید پس از تشخیص فشرده شدن پدال ترمز، در یک بازهٔ زمانی محدود و قابل پیشبینی عمل ترمزگیری را آغاز کنند؛ در غیر این صورت، سامانهٔ ترمز دچار اختلال خواهد شد.
محک (Benchmarking) با اندازهگیری مدتزمان موردنیاز برای اجرای مجموعهای از برنامههای آزمون توسط یک رایانه، تمامی این عوامل را در نظر میگیرد. هرچند محکها نقاط قوت یک سامانه را نشان میدهند، اما نباید تنها معیار انتخاب یک رایانه باشند. در بسیاری از موارد، سامانههای مورد مقایسه در معیارهای مختلف نتایج متفاوتی به دست سامانهای دیگر بازیهای ویدئویی را روانتر اجرا کند. افزون بر این، طراحان ممکن است از طریق سختافزار یا نرمافزار، ویژگیهای ویژهای را به محصولات خود اضافه کنند که موجب اجرای سریعتر یک محک خاص شود، اما این مزیتها الزاماً در وظایف عمومی و روزمره مشاهده نمیشوند.
بهرهوری توان
[ویرایش]مقالههای اصلی: الکترونیک کم-مصرف (Low-power Electronics) و عملکرد به ازای توان مصرفی (Performance per Watt)
بهرهوری توان یکی دیگر از معیارهای مهم در رایانههای مدرن است. در بسیاری از موارد، افزایش بهرهوری توان را میتوان با کاهش سرعت یا افزایش هزینه به دست آورد. در گذشته، معیار متداول برای سنجش مصرف توان در معماری رایانه MIPS/W (میلیون دستورالعمل در ثانیه بر وات) بود؛ با این حال، طراحیهای امروزی از معیارهای پیشرفتهتری مانند محکهای عملکرد به ازای توان مصرفی (Performance-per-Watt Benchmarks) و انرژی مصرفشده به ازای هر دستورالعمل (Energy per Instruction) استفاده میکنند.
مدارهای مجتمع مدرن، با وجود بهبود بهرهوری انرژی هر ترانزیستور که از طریق کوچکسازی فناوری ساخت (Process Scaling) حاصل شده است، در مجموع توان بیشتری مصرف میکنند. این افزایش عمدتاً ناشی از رشد سریع تعداد ترانزیستورهای موجود در هر دای (die) است که به شبکههای توزیع توان پیچیدهتری نیاز دارند. افزون بر این، با کوچکتر شدن ابعاد ساخت (برای مثال اندازهٔ ترانزیستورها)، چگالی توان (توان مصرفی در واحد سطح) افزایش مییابد که مدیریت حرارتی را دشوارتر میکند. دماهای عملیاتی بالاتر نیز این چالشهای حرارتی را تشدید میکنند، زیرا با افزایش مقاومت اتصالات داخلی (Interconnects)، یک چرخهٔ بازخورد مثبت میان مصرف توان و تولید گرما ایجاد میشود.
با کند شدن روند کوچکسازی ترانزیستورها و تبدیل شدن محدودیتهای توان به یکی از عوامل اصلی طراحی، بهرهوری توان به تدریج به اندازهٔ افزایش تعداد ترانزیستورها در یک تراشه اهمیت یافته است؛ و حتی در برخی موارد از آن مهمتر شده است. طراحیهای جدید پردازندهها این تغییر رویکرد را نشان میدهند، زیرا به جای تمرکز صرف بر جای دادن هرچه بیشتر ترانزیستورها در یک تراشه، توجه بیشتری به بهبود بهرهوری توان دارند. در دنیای رایانههای نهفته (Embedded Computers)، بهرهوری توان از دیرباز در کنار گذرداد شبکه (Throughput) و تأخیر (Latency) یکی از اهداف اصلی طراحی به شمار میرفته است.
تغییر تقاضای بازار
[ویرایش]افزایش فرکانس ساعت در مقایسه با بهبودهای کاهش قدرت طی چند سال گذشته با سرعت کمتری رشد کرده است. این امر با پایان قانون مور و تقاضا برای دوام باتری بیشتر و کاهش اندازه فناوری تلفن همراه صورت گرفته است. این تغییر در تمرکز از نرخ کلاک بالاتر به مصرف انرژی و کوچک سازی را میتوان با کاهش قابل توجهی در مصرف برق، تا ۵۰٪، که توسط اینتل در انتشار ریز معماری Haswell گزارش شده، نشان داد. جایی که آنها معیار مصرف برق خود را از ۳۰–۴۰ وات به ۱۰–۲۰ وات کاهش دادند.[۱۱] مقایسه این با افزایش سرعت پردازش ۳ گیگاهرتز تا ۴ گیگاهرتز (۲۰۰۲ تا 2006)[۱۲] میشود که تمرکز در تحقیق و توسعه از فرکانس ساعت دور شده و به سمت مصرف انرژی کمتر و اشغال فضای کمتری حرکت میکند.
جستارهای وابسته
[ویرایش]منابع
[ویرایش]- ↑ «معماری رایانه، معماری» [رایانه و فنّاوری اطلاعات] همارزِ «computer architecture, architecture»؛ منبع: گروه واژهگزینی. دفتر دوم. فرهنگ واژههای مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۶۴-۷۵۳۱-۳۷-۰ (ذیل سرواژهٔ معماری رایانه)
- ↑ Williams, F. C.; Kilburn, T. (25 September 1948), "Electronic Digital Computers", Nature, 162 (4117): 487, Bibcode:1948Natur.162..487W, doi:10.1038/162487a0, archived from the original on 6 April 2009, retrieved 2009-04-10
- ↑ Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
- ↑ Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.
- ↑ Johnson, Lyle (1960). "A Description of Stretch" (PDF). p. 1. Retrieved 7 October 2017.
- ↑ "System 360, From Computers to Computer Systems". IBM100. Retrieved 11 May 2017.
- ↑ ACE underwent seven paper designs in one year, before a prototype was initiated in 1948. [B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]
- ↑ Schmalz, M.S. "Organization of Computer Systems". UF CISE. Retrieved 11 May 2017.
- ↑ Frey, Brad (2005-02-24). "PowerPC Architecture Book, Version 2.02". IBM Corporation.
- ↑ Martin, Milo. "What is computer architecture?" (PDF). UPENN. Retrieved 11 May 2017.
- ↑ "Measuring Processor Power TDP vs ACP" (PDF). Intel. April 2011. Retrieved 5 May 2017.
- ↑ "History of Processor Performance" (PDF). cs.columbia.edu. 24 April 2012. Archived from the original (PDF) on 16 May 2017. Retrieved 5 May 2017.
- John L. Hennessy و دیوید پترسون (۲۰۰۶). معماری رایانه: رویکرد کمی (ویرایش چهارم). مورگان کافمن شابک John L. Hennessy John L. Hennessy
- بارتون، رابرت اس. "طراحی عملکردی رایانه ها"، ارتباطات ACM 4 (9): 405 (1961).
- بارتون، رابرت اس. "رویکرد جدیدی به طراحی کاربردی رایانه دیجیتال"، مجموعه مقالات کنفرانس مشترک رایانه ای غربی، مه ۱۹۶۱، صص. ۳۹۳–۳۹۶. دربارهٔ طراحی رایانه Burroughs B5000.
- بل، سی گوردون؛ و نیول، آلن (1971). "ساختارهای رایانه ای: قرائت و مثالها"، مک گرا-هیل.
- Blaauw , GA و Brooks , FP، جونیور ، "ساختار سیستم / ۳۶۰ ، قسمت اول-رئوس مطالب ساختار منطقی"، IBM Systems Journal، جلد ۱. ۳، نه ۲، ص. ۱۱۹–۱۳۵، ۱۹۶۴.
- Tanenbaum, Andrew S. (1979) سازمان رایانه ای ساخت یافته. صخرههای Englewood، نیوجرسی: Prentice-Hall. شابک Tanenbaum, Andrew S. Tanenbaum, Andrew S.
پیوند به بیرون
[ویرایش]- ISCA: مجموعه مقالات همایش بینالمللی معماری رایانه بایگانیشده در ۷ مه ۲۰۰۶ توسط Wayback Machine
- میکرو: سمپوزیوم بینالمللی IEEE / ACM در ریز معماری
- HPCA: سمپوزیوم بینالمللی معماری با کارایی بالا در رایانه
- ASPLOS: کنفرانس بینالمللی پشتیبانی معماری از زبانهای برنامهنویسی و سیستم عاملها بایگانیشده در ۹ مه ۲۰۰۶ توسط Wayback Machine
- معاملات ACM در زمینه معماری و بهینهسازی کد
- معاملات IEEE در رایانهها
- معماری von Neumann سیستمهای رایانه ای