payamvha/North_RAG huggingface dataset:
by stating را "معماری رایانه" نامید. مانند سایر معماری‌ها، هنر، تعیین نیازهای کاربر از یک سازه و سپس طراحی آن برای رفع نیازها تا حد ممکن با توجه به محدودیت‌های اقتصادی و فناوری است. " بروکس در ادامه به توسعه خط رایانه‌های IBM System / 360 (که اکنون IBM zSeries نامیده می شود) کمک می‌کند، که در آن "معماری" به عنوان "آنچه کاربر باید بداند" تعریف می‌شود. بعدا کاربران رایانه از این اصطلاح به ندرت در موقعیت مناسب استفاده کردند. اولین معماری‌های رایانه بر روی کاغذ طراحی شده و سپس مستقیماً در فرم نهایی سخت افزار
طراحی شده و سپس مستقیماً در فرم نهایی سخت افزار ساخته شده اند. بعدها نمونه‌های اولیه معماری رایانه به صورت فیزیکی در قالب رایانه ترانزیستور - منطق ترانزیستور (TTL) - مانند نمونه‌های اولیه 6800 و PA-RISC - ساخته و قبل از تعهد به فرم سخت افزاری نهایی، ساخته شدند. از دهه 1990 ، معماری‌های رایانه جدید معمولاً "ساخته" می‌شوند ، آزمایش می‌شوند و اصلاح می شوند (در برخی دیگر از معماری‌های رایانه در شبیه ساز معماری رایانه)؛ یا داخل یک FPGA به عنوان یک ریزپردازنده نرم؛ یا هر دو (قبل از تعهد به فرم سخت افزاری نهایی).
یا هر دو (قبل از تعهد به فرم سخت افزاری نهایی). زیر مجموعه‌ها. رشته معماری رایانه دارای سه زیر مجموعه اصلی است: فناوری‌های دیگری نیز در معماری رایانه وجود دارد. فن آوری‌های زیر در شرکت‌های بزرگتر مانند اینتل مورد استفاده قرار می‌گیرد و در سال 2002 تخمین زده شد که 1٪ از کل معماری رایانه را شامل می‌شود: معماری کلان قابل مشاهده توسط برنامه نویسان : ابزارهای زبان‌های سطح بالاتر مانند کامپایلرها ممکن است یک رابط یا قرارداد ثابت برای برنامه نویسان با استفاده از آنها تعریف کنند، تفاوت بین ISA ، UISA و ریز
از آنها تعریف کنند، تفاوت بین ISA ، UISA و ریز معماری‌های اساسی را انتزاع کنند. برای مثال، استانداردهای C ،C ++ یا Java، معماری‌های مختلف قابل مشاهده توسط برنامه نویس را تعریف می‌کنند. نقش ها. تعریف. معماری رایانه مربوط به متعادل سازی عملکرد، کارایی، هزینه و قابلیت اطمینان یک سیستم رایانه‌ای است. مجموعه دستورالعمل‌های پیچیده‌تر، برنامه نویسان را قادر می‌سازد تا برنامه‌هایی با فضای کمتری بنویسند، زیرا یک دستورالعمل می‌تواند برخی از انتزاعات سطح بالاتر را رمزگذاری کند (مانند دستورالعمل حلقه x86). با این
رمزگذاری کند (مانند دستورالعمل حلقه x86). با این وجود، رمزگشایی دستورالعمل‌های طولانی‌تر و پیچیده‌تر برای پردازنده زمان بیشتری می‌برد و پیاده سازی آنها می‌تواند هزینه بیشتری داشته باشد. پیچیدگی بیشتر دستورالعمل‌های بزرگ، احتمال بیشتری برای قابل اعتماد نبودن در هنگام تعامل دستورالعمل‌ها به روش‌های غیرمنتظره ایجاد می‌کند. این پیاده سازی شامل طراحی مدار مجتمع، بسته بندی، قدرت و خنک سازی است. بهینه سازی طراحی، نیاز به آشنایی با کامپایلرها، سیستم عامل‌ها برای طراحی منطقی، و بسته بندی دارد. مجموعه دستورالعمل
طراحی منطقی، و بسته بندی دارد. مجموعه دستورالعمل معماری. معماری مجموعه دستورالعمل‌ها (ISA) رابط بین نرم افزار و سخت افزار رایانه است و همچنین می‌تواند به عنوان نمای برنامه نویسان از ماشین مشاهده شود. رایانه‌ها زبان های برنامه نویسی سطح بالا مانند جاوا، C ++ یا بیشتر زبان های برنامه نویسی مورد استفاده را نمی‌فهمند. پردازنده فقط دستورالعمل‌های رمزگذاری شده را به صورت عددی، معمولاً به عنوان اعداد دودویی، می‌فهمد. ابزارهای نرم افزاری، مانند کامپایلرها، زبان‌های سطح بالا را به دستورالعمل‌هایی تبدیل می کنند که
سطح بالا را به دستورالعمل‌هایی تبدیل می کنند که پردازنده می‌تواند آنها را درک کند. علاوه بر دستورالعمل ها، ISA مواردی را که در دسترس یک برنامه است در رایانه تعریف می کند — به عنوان مثال، انواع داده ها، ثبات ها، حالت های آدرس دهی و حافظه. دستورالعمل ها، این موارد موجود را با فهرست های ثبات (یا نام ها) و حالت های آدرس دهی حافظه پیدا می کنند. ISA یک رایانه معمولاً در یک کتابچه راهنمای کوچک شرح داده می‌شود که نحوه کدگذاری دستورالعمل‌ها را شرح می‌دهد. همچنین، ممکن است اسامی کوتاه (مبهم) برای دستورالعمل‌ها تعریف
است اسامی کوتاه (مبهم) برای دستورالعمل‌ها تعریف شود. نام‌ها را می‌توان با یک ابزار توسعه نرم افزار به نام اسمبلر تشخیص داد. اسمبلر یک برنامه رایانه‌ای است که یک فرم ISA قابل خواندن توسط انسان را به فرم قابل خواندن توسط رایانه ترجمه می‌کند. دیس اسمبلر ها نیز به طور گسترده در دسترس هستند، معمولاً در اشکال زدایی و برنامه‌های نرم افزاری، برای جداسازی و اصلاح اشکال‌ها در عملکرد در برنامه‌های باینری رایانه به کار می روند. ISA از نظر کیفیت و کامل بودن متفاوت است. ISA خوب بین راحتی برنامه نویس (آسان بودن درک کد)،
ISA خوب بین راحتی برنامه نویس (آسان بودن درک کد)، اندازه کد (مقدار کد که برای انجام یک عمل خاص مورد نیاز است)، هزینه رایانه برای تفسیر دستورالعمل‌ها (پیچیدگی بیشتر به معنی سخت افزار بیشتر برای رمزگشایی و اجرای دستورالعمل‌ها است) و سرعت رایانه (با پیچیدگی بیشتر رمزگشایی، زمان رمزگشایی سخت افزار هم بیشتر می‌شود) تعادل برقرار می‌کند. بخش حافظه نحوه تعامل دستورالعمل‌ها با حافظه و نحوه تعامل حافظه با خود را تعریف می‌کند. در طول شبیه سازی طراحی، شبیه سازها می‌توانند برنامه‌هایی را که در یک مجموعه دستورالعمل
برنامه‌هایی را که در یک مجموعه دستورالعمل پیشنهادی نوشته شده ‌اند، اجرا کنند. شبیه سازهای مدرن می‌توانند اندازه، هزینه و سرعت را اندازه گیری کنند تا مشخص کنند آیا ISA خاصی اهداف خود را برآورده می‌کند. سازمان رایانه. سازمان رایانه به بهینه سازی محصولات مبتنی بر عملکرد کمک می‌کند. به عنوان مثال، مهندسان نرم افزار باید قدرت پردازش پردازنده‌ها را بدانند. شاید برای دستیابی به بیشترین عملکرد با کمترین قیمت، نیاز به بهینه سازی نرم افزار داشته باشند. این امر می‌تواند به تجزیه و تحلیل کاملاً دقیق سازمان رایانه نیاز
به تجزیه و تحلیل کاملاً دقیق سازمان رایانه نیاز داشته باشد. برای مثال، در کارت SD ، ممکن است لازم باشد طراحان کارت را مرتب کنند تا بیشترین داده‌ها به سریع‌ترین شکل پردازش شوند. سازمان رایانه‌ای همچنین به برنامه ریزی برای انتخاب پردازنده برای یک پروژه خاص کمک می‌کند. پروژه های چندرسانه‌ای ممکن است به دسترسی سریع داده‌ها نیاز داشته باشند، در حالی که ماشین‌های مجازی ممکن است به وقفه‌های سریع نیاز داشته باشند. بعضی اوقات بعضی از کارها به اجزای اضافی نیز احتیاج دارند. به عنوان مثال، رایانه‌ای که قادر به راه
دارند. به عنوان مثال، رایانه‌ای که قادر به راه اندازی یک ماشین مجازی باشد، به سخت افزار حافظه مجازی نیاز دارد تا حافظه رایانه‌های مختلف مجزا از هم، جدا شود. سازماندهی و ویژگی‌های رایانه همچنین بر مصرف برق و هزینه پردازنده تأثیر می‌گذارد. پیاده سازی. هنگامی که یک مجموعه دستورالعمل و معماری خرد طراحی شد، باید یک ماشین عملی ساخته شود. به این فرآیند طراحی "پیاده سازی گفته می‌شود". پیاده سازی معمولاً به عنوان طراحی معماری در نظر گرفته نمی‌شود، بلکه مهندسی طراحی سخت افزار محسوب می‌شود. پیاده سازی را می‌توان به
سخت افزار محسوب می‌شود. پیاده سازی را می‌توان به چندین مرحله تقسیم کرد: برای پردازنده‌ها ، کل روند پیاده سازی به گونه‌ای متفاوت سازماندهی می‌شود و اغلب از آن به عنوان طراحی CPU یاد می‌شود. اهداف طراحی. شکل دقیق سیستم رایانه‌ای به محدودیت‌ها و اهداف بستگی دارد. معماری رایانه معمولاً تعادل بین استاندارد و قدرت را در مقابل عملکرد، هزینه، ظرفیت حافظه، تاخیر (تاخیر زمانی است که برای انتقال اطلاعات از یک گره به منبع لازم است) و توان تولید را برقرار می‌کند. بعضی اوقات ملاحظات دیگر مانند ویژگی‌ها، اندازه، وزن،
اوقات ملاحظات دیگر مانند ویژگی‌ها، اندازه، وزن، قابلیت اطمینان و قابلیت ارتقا نیز از عوامل دیگر هستند. رایج ترین طرح، تجزیه و تحلیل عمیق نیرو را انجام می‌دهد و نحوه کم کردن مصرف برق با حفظ عملکرد کافی را مشخص می‌کند. تغییر تقاضای بازار. افزایش فرکانس ساعت در مقایسه با بهبودهای کاهش قدرت طی چند سال گذشته با سرعت کمتری رشد کرده است. این امر با پایان قانون مور و تقاضا برای دوام باتری بیشتر و کاهش اندازه فناوری تلفن همراه صورت گرفته است. این تغییر در تمرکز از نرخ کلاک بالاتر به مصرف انرژی و کوچک سازی را
از نرخ کلاک بالاتر به مصرف انرژی و کوچک سازی را می‌توان با کاهش قابل توجهی در مصرف برق، تا 50٪ ، که توسط اینتل در انتشار ریز معماری Haswell گزارش شده، نشان داد. جایی که آنها معیار مصرف برق خود را از 30-40 وات به 10-20 وات کاهش دادند. مقایسه این با افزایش سرعت پردازش 3 گیگاهرتز تا 4 گیگاهرتز (2002 تا 2006) می‌شود که تمرکز در تحقیق و توسعه از فرکانس ساعت دور شده و به سمت مصرف انرژی کمتر و اشغال فضای کمتری حرکت می کند.
سیتگو شرکت نفتی مستقر در هیوستون، تگزاس، ایالات متحده آمریکا است، که مالک فعلی آن، شرکت نفتی ونزوئلایی پی‌دی‌وی‌اس‌آ می‌باشد. شرکت سیتگو در زمینه پالایش نفت، تولید محصولات پتروشیمی و توزیع بنزین فعالیت می‌نماید. منابع. ویکی‌پدیای انگلیسی
توفند آیک از لحاظ زمانی پنجمین توفند بزرگ سال ۲۰۰۸ بود، و یکی از فاجعه‌بارترین بلایای طبیعی در ایالات متحده آمریکا و تگزاس بوده است. این توفند که در سال ۲۰۰۸ میلادی رخ داد بخشی از کرانه‌های شهر گلوستون و نیز بومانت، هیوستون در ایالت تگزاس را درهم نوردید و به ویرانی کشانید. توفند آیک از لحاظ مقیاس و اندازه، از توفند کاترینا بزرگتر بود، اما بدلیل تدارکات وسیع سازمانهای محلی و ایالتی، تلفات جانی گسترده‌ای را (بر خلاف توفند کاترینا) ببار نیاورد.
در مهندسی کامپیوتر، ریز معماری یا همان سازماندهی کامپیوتر که گاهی به آن به صورت اختصار "µarch" یا "uarch" می‌گویند، شیوه ای است که از طریق آن یک معماری مجموعه دستورالعمل (ISA)، در یک پردازنده خاص پیاده‌سازی می‌شود. یک معماری مجموعه دستورالعمل، ممکن است از طریق ریز معماری‌های متفاوتی پیاده‌سازی شود. پیاده‌سازی‌ها ممکن است به دلیل اهداف متفاوت از طراحی یا به دلیل تغییر تکنولوژی، تفاوت داشته باشند.معماری کامپیوتر ترکیبی از ریز معماری و معماری مجموعه دستورالعمل است. ارتباط با معماری مجموعه دستورالعمل. معماری
است. ارتباط با معماری مجموعه دستورالعمل. معماری مجموعه دستورالعمل، تقریباً مشابه یک مدل برنامه‌نویسی برای یک پردازنده است، چنان‌که توسط یک برنامه‌نویس زبان اسمبلی یا نویسندهٔ کامپایلر دیده می‌شود. معماری مجموعه دستورالعمل، حاوی مدل اجرا، ثبات‌های پردازنده، فرمت‌های آدرس و داده و … است. ریز معماری، حاوی اجزای تشکیل دهندهٔ پردازنده است و اینکه چگونه این اجزا به یکدیگر متصل می‌شوند و با هم همکاری می‌کنند تا ISA را پیاده‌سازی کنند. ریز معماری یک ماشین معمولاً به شکل دیاگرام‌هایی (با جزئیات زیاد یا کم) نشان
به شکل دیاگرام‌هایی (با جزئیات زیاد یا کم) نشان داده می‌شود، که توصیف کننده ارتباطات بین عناصر مختلف ریز معماری ماشین است که ممکن است حاوی هر چیزی، از گیت‌های منفرد و رجیسترها گرفته تا واحد محاسباتی و منطق (ALU) کامل و حتی عناصر بزرگتر باشد. این دیاگرام‌ها به‌طور کلی، مسیر داده (datapath، جایی که داده قرار داده می‌شود) و مسیر کنترل (که می‌توان گفت داده را هدایت می‌کند) را از هم جدا می‌کنند. فردی که یک سیستم را طراحی می‌کند، معمولاً ریز معماری خاصی را به شکل نوعی دیاگرام جریان داده رسم می‌کند. دیاگرام ریز
نوعی دیاگرام جریان داده رسم می‌کند. دیاگرام ریز معماری، شبیه یک دیاگرام بلاک، عناصر معماری از جمله مثلاً واحد محاسباتی و منطق و فایل رجیستری را به شکل یک سمبل شماتیک نشان می‌دهد. به‌طور معمول این دیاگرام عناصر مذکور را به وسیله فلش‌ها، خطوط ضخیم و خطوط باریک نشان می‌دهد تا موارد زیر را افتراق دهد: گذرگاه‌های سه وضعیتی (که نیازمند یک بافر سه-وضعیتی برای هر ابزاری است که از گذرگاه استفاده می‌کند)، گذرگاه‌های یک طرفه (همیشه توسط یک منبع استفاده می‌شود، مثلاً در کامپیوترهای ساده، که همیشه گذرگاه آدرس توسط
در کامپیوترهای ساده، که همیشه گذرگاه آدرس توسط رجیستر آدرس حافظه راه اندازی می‌شوند)، و خطوط کنترل منفرد. کامپیوترهای بسیار ساده دارای یک سازماندهی گذرگاه دادهٔ منفرد هستند- آن‌ها دارای یک گذرگاه سه وضعیتی منفرد هستند. در دیاگرام کامپیوترهای پیچیده‌تر معمولاً چندین گذرگاه سه وضعیتی وجود دارد که کمک می‌کند تا ماشین بتواند عملیات بیشتری را به‌طور همزمان انجام دهد. هر عنصر ریز معماری، توسط یک شماتیک نمایش داده می‌شود که توصیف کننده اتصالات بین دروازه‌های منطقی مورد استفاده برای پیاده‌سازی آن است. هر دروازه
مورد استفاده برای پیاده‌سازی آن است. هر دروازه منطقی، توسط یک دیاگرام مدار نمایش داده می‌شود که توصیف کننده اتصالات ترانزیستورهای مورد استفاده برای پیاده‌سازی آن در خانوادهٔ منطقی خاصی است. ماشین‌هایی که دارای ریز معماری متفاوت هستند، ممکن است دارای ISA یکسان باشند، و بنابراین می‌توانند برنامه‌های مشابهی را اجرا کنند. ریز معماری‌های جدید و/یا راه حل‌های مداربندی، همراه با پیشرفت در تولید نیمه رسانه‌ها موجب شده‌است تا نسل‌های جدید پردازنده‌ها درحالی که از ISA مشابهی استفاده می‌کنند، به عملکردهای بالاتری دست
مشابهی استفاده می‌کنند، به عملکردهای بالاتری دست یابند. به‌طور کلی، یک ریز معماری، می‌تواند به تنهایی چندین ISA مختلف را فقط با تغییرات کوچکی در ریزکد اجرا کند. ویژگی‌ها. مسیر داده خط لوله (pipeline) شایعترین طراحی مسیر داده در معماری‌های امروزی است. این تکنیک در اکثر ریزپردازنده‌های جدید، میکروکنترلرها و پردازنده‌های سیگنال دیجیتال استفاده می‌شود. معماری خط لوله ای امکان اجرای چندین دستورالعمل را به‌صورت همپوشان فراهم می‌کند که بسیار شبیه یک خط سر هم‌بندی است. خط لوله حاوی چندین مرحلهٔ متفاوت است که در
است. خط لوله حاوی چندین مرحلهٔ متفاوت است که در طراحی‌های ریز معماری اهمیت زیادی دارند. برخی از این مراحل عبارتند از: واکشی (fetch)، کدگشایی دستورالعمل (decoding)، اجرا (execution)، و نوشتن مجدد. برخی معماری‌ها حاوی مراحل دیگری هستند از جمله، دسترسی به حافظه. طراحی خط لوله‌ها یکی از مهمترین کارهای مربوط به ریز معماری است. واحدهای اجرایی نیز اهمیت زیادی در ریز معماری دارند. واحدهای اجرایی عبارتند از: واحدهای محاسباتی و منطق (ALU) واحدهای ممیز شناور (FPU)، واحدهای بارگذاری/ذخیره‌سازی (load/store)، پیش‌بینی
بارگذاری/ذخیره‌سازی (load/store)، پیش‌بینی انشعاب و SIMD. این واحدها عملیات یا محاسبات یک پردازنده را انجام می‌دهند. انتخاب تعداد واحدهای اجرایی، تأخیر آنها، و بازدهی آنها، یک بخش مهمی از طراحی در رابطه با ریز معماری است. اندازه تأخیر، بازدهی، و اتصالات حافظه‌ها در داخل سیستم، نیز تصمیم‌های مربوط به ریز معماری است. تصمیمات طراحی سطح-سیستمی، من جمله اینکه آیا ابزارهای جانبی نظیر کنترل‌کننده‌های حافظه هم باید اضافه شوند یا خیر، را می‌توان بخشی از فرایند طراحی ریز معماری در نظر گرفت، که می‌تواند شامل تصمیماتی
ریز معماری در نظر گرفت، که می‌تواند شامل تصمیماتی در رابطه با سطح عملکرد و اتصالات این ابزارهای جانبی باشد. برخلاف طراحی معماری، که در آن دست یابی به یک سطح عملکرد خاص هدف اصلی است، طراحی ریز معماری توجه بیشتری به سایر محدودیت‌ها دارد. از آنجایی که تصمیمات مربوط به طراحی ریز معماری، اثر مستقیمی بر این دارد که چه چیزی داخل سیستم می‌شود، لذا باید به مسائلی همچون مساحت/هزینهٔ چیپ، مصرف انرژی، پیچیدگی منطقی، سهولت اتصالات، قابلیت تولید، سهولت خطا زدایی و قابلیت تست شدن توجه کرد. مفاهیم ریزمعماری. چرخه‌های
تست شدن توجه کرد. مفاهیم ریزمعماری. چرخه‌های دستورالعمل. تمام پردازنده‌های تک تراشه ای یا چند تراشه‌ای برای اجرای برنامه‌ها: این چرخهٔ دستورالعمل تا زمانی که کامپیوتر روشن است، تکرار می‌شود. ریز معماری چند چرخه ای. از نظر تاریخی، اولین کامپیوترها دارای طراحی چند چرخه ای بودند. معمولاً کوچکترین و ارزانترین کامپیوترها هنوز از این تکنیک استفاده می‌کنند. معماری‌های چند چرخه ای معمولاً از کمترین تعداد عناصر منطقی و مقادیر قابل قبولی از انرژی استفاده می‌کنند. این معماری‌ها را می‌توان طوری طراحی کرد، تا دارای
این معماری‌ها را می‌توان طوری طراحی کرد، تا دارای زمان‌بندی مشخص و اعتماد پذیری بالایی باشند. از آنجایی که آن‌ها فاقد خط لوله هستند در نتیجه دچار معطلی به دلیل انشعابات شرطی یا وقفه‌ها نمی‌شود. با این وجود، سایر ریز معماری‌ها، معمولاً دستورالعمل‌های بیشتری به ازای واحد زمانی انجام می‌دهند و در عین حال از خانواده منطقی مشابهی استفاده می‌کنند. زمانی که در رابطه با بهبود عملکرد صحبت می‌کنیم، معمولاً منظور ما یک طراحی چند چرخه ای است. در یک سیستم چند چرخه ای، کامپیوتر در طی چندین چرخهٔ ساعت، چهار مرحله را به
کامپیوتر در طی چندین چرخهٔ ساعت، چهار مرحله را به ترتیب انجام می‌دهد. برخی طراحی‌ها می‌توانند توالی مذکور را، با کامل کردن مراحل پشت سرهم در لبه‌های ساعت، به‌صورت یک در میان، در دو چرخهٔ ساعت انجام دهند. در این حالت، معمولاً عملیات طولانی‌تر در خارج از چرخه اصلی رخ می‌دهد. برای مثال، مرحله ۱ در لبه بالاروندهٔ اولین چرخه و مرحله ۲ در لبهٔ پایین روندهٔ اولین چرخه و به همین شکل ادامه پیدا می‌کند. در منطق کنترل، ترکیبی از شمارندهٔ چرخه، وضعیت چرخه (بالا یا پایین)، و بیت‌های رجیستر کدگشایی دستورالعمل، مشخص
پایین)، و بیت‌های رجیستر کدگشایی دستورالعمل، مشخص می‌کند که دقیقاً هر قسمت از کامپیوتر باید چه کاری انجام دهد. برای طراحی منطق کنترل می‌توان جدولی از بیت‌ها را ایجاد کرد که در هر چرخه از هر دستورالعمل، سیگنال‌های کنترل به هر قسمت از کامپیوتر را مشخص می‌کند. سپس این جدول منطقی را می‌توان در یک نرم‌افزار شبیه‌ساز که کد تست را اجرا می‌کند، تست کرد. اگر این جدول منطقی، در یک حافظه قرار داده شود و به شکل واقعی برای به راه انداختن یک کامپیوتر واقعی استفاده شود، آنگاه به آن یک ریز برنامه گویند. در برخی طراحی‌های
به آن یک ریز برنامه گویند. در برخی طراحی‌های کامپیوتری، این جدول منطقی به فرم منطق ترکیبی ساخته شده از گیت‌های منطقی، بهینه‌سازی می‌شود که معمولاً این کار با استفاده از یک برنامه کامپیوتری که منطق را بهینه‌سازی می‌کند، انجام می‌شود. کامپیوترهای قدیمی از طراحی منطقی در موقع لزوم، برای کنترل استفاده می‌کردند تا زمانی که آقای Maurice Wilkes این روش جدولی را کشف کرد و آن را ریز برنامه‌نویسی نامید. افزایش سرعت اجرا. آنچه که این مجموعه مراحل به نظر ساده را پیچیده می‌کند، این حقیقت است که، سلسله مراتب حافظه که
می‌کند، این حقیقت است که، سلسله مراتب حافظه که شامل: حافظه نهان، حافظه اصلی، و حافظه غیر فرار نظیر هارد دیسک‌ها (جایی که دستورالعمل‌ها و دادهٔ برنامه قرار دارد) می‌شود، همیشه کندتر از خود پردازنده است. مرحله ۲، معمولاً موجب یک تأخیر طولانی (از چشم‌انداز پردازنده) می‌شود. این تأخیر طولانی، در واقع، مدت زمانی است که داده پس از طی گذرگاه کامپیوتر می‌رسد. تحقیقات زیادی در رابطه با طراحی‌هایی انجام شده‌است که بتواند این تاخیرها را به حداقل ممکن برساند. طی مدت سالیان، هدف اصلی این بود که دستورالعمل‌های زیادی را
هدف اصلی این بود که دستورالعمل‌های زیادی را به صورت موازی اجرا کنند و بدین طریق، سرعت اجرای مؤثر یک برنامه را افزایش دهند. این تلاش‌ها منجر به ساختارهای منطقی و مداری پیچیده شد. در ابتدا این ساختارها فقط قابل پیاده‌سازی روی رایانه‌های بزرگ یا ابررایانه‌های گران‌قیمت و پیشرفته بود، که دلیل آن، میزان مدار بندی مورد نیاز برای آن‌ها بود. با پیشرفت تولید نیمه هادی‌ها، ساختارهای بیشتری از این دست قابل پیاده‌سازی روی یک چیپ نیمه هادی منفرد بود. انتخاب مجموعه دستورالعمل. طی سالیان، مجموعه‌های دستورالعمل، از انواع
طی سالیان، مجموعه‌های دستورالعمل، از انواع بسیار ساده در ابتدا تا انواع بسیار پیچیده (از جنبه‌های مختلف) تغییر پیدا کرده‌است. در سال‌های اخیر، معماری‌های بارگیری/ذخیره‌سازی، VLIW و انواع EPIC مرسوم بوده‌اند. معماری‌هایی که با موازی گرایی داده مرتبط هستند عبارتند از: SIMD و بردارها. برخی القاب که برای اشاره به کلاس‌هایی از معماری‌های پردازنده استفاده می‌شوند، چندان توصیف کننده نیستند، خصوصاً برچسب CISC. بسیاری از طراحی‌های ابتدایی که عطف به ماسبق CISC نامیده می‌شدند، در واقع، به‌طور چشمگیری ساده‌تر از
می‌شدند، در واقع، به‌طور چشمگیری ساده‌تر از پردازنده‌های جدید RISC (از جنبه‌های مختلف) هستند. با این وجود، انتخاب ISA ممکن است تأثیر زیادی روی پیچیدگی پیاده‌سازی ابزارهای با کارایی بالا داشته باشد. رویکرد اصلی که برای ساخت اولین پردازنده‌های RISC استفاده شد، این بود که دستورالعمل‌ها تا میزان حداقل پیچیدگی سمانتک منفرد ساده شوند و در عین حال، همراه با نظم کدگذاری و سادگی زیاد باشد. چون این دستورالعمل‌های یکدست، به شیوه خط لولهی و به‌سادگی واکشی، کدگشایی، و اجرا می‌شدند، لذا یک رویکرد ساده برای کاهش تعداد
اجرا می‌شدند، لذا یک رویکرد ساده برای کاهش تعداد سطوح منطقی با هدف دستیابی به فرکانس‌های اجرایی بالا بود؛ حافظه‌های نهان دستورالعمل، موجب جبران فرکانس‌های اجرایی بالا و تراکم کد پایین ذاتی شدند، در حالی که مجموعه‌های بزرگ رجیستر، برای کاهش دسترسی‌های حافظه تا حداقل امکان استفاده می‌شدند. خط لوله دستورالعمل. یکی از ابتدایی‌ترین و قوی‌ترین تکنیک‌ها برای بهبود عملکرد، استفاده از خط لوله دستورالعمل است. طراحی‌های ابتدایی پردازنده قادر بودند تا تمام مراحل بالا را در یک دستورالعمل اجرا کنند و سپس به سراغ
بالا را در یک دستورالعمل اجرا کنند و سپس به سراغ دستورالعمل بعدی بروند. بخش‌های زیادی از مدار بندی در هر مرحله بلا استفاده می‌ماند. برای مثال، ممکن بود مدار کدگشایی دستورالعمل، در طی اجرا بیکار بماند و ….خط لوله می‌تواند عملکرد را بهبود بخشد، به این طریق که اجازه می‌دهد تا تعدادی دستورالعمل به صورت همزمان در پردازنده مشغول باشند. در همان مثال ابتدایی، پردازنده می‌تواند، در زمانی که مورد آخر منتظر نتایج است، یک دستورالعمل جدید را کد گشایی (مرحله ۱) کند. این وضعیت باعث می‌شود تا حداکثر ۴ دستورالعمل به صورت
وضعیت باعث می‌شود تا حداکثر ۴ دستورالعمل به صورت همزمان روی میز کار باشند، که باعث می‌شود، اینطور به نظر برسد که پردازنده، چهار برابر سریعتر است. اگرچه، هر دستورالعمل برای کامل شدن همچنان نیاز به همان مدت زمان قبلی دارد (کماکان چهار مرحله وجود دارد)، اما پردازشگر به صورت کلی، دستورالعمل‌ها را بسیار سریع تر کامل می‌کند. معماری ریسک با جدا کردن هر مرحله از پردازش دستورالعمل به‌صورت تر و تمیز، و یکسان کردن زمان پردازش هر کدام از آنها، موجب کوچکتر شدن و ساده‌تر شدن خط لوله می‌شود. پردازنده به شکلی شبیه یک مسیر
شدن خط لوله می‌شود. پردازنده به شکلی شبیه یک مسیر سرهم‌بندی کار می‌کند. بدین صورت که دستورالعمل‌ها از یک طرف وارد می‌شوند و نتایج از طرف دیگر خارج می‌شوند. به دلیل کاهش پیچیدگی خط لوله مرسوم RISC، می‌توان هستهٔ خط لولهٔ و حافظه نهان دستورالعملی را در یک دای به تنهایی جا داد. این دای در یک طراحی CISC، فقط می‌تواند هستهٔ مذکور را به تنهایی جا دهد. این وضعیت، دلیل حقیقی سریع تر بودن RISC است. طراحی‌های ابتدایی نظیر، اسپارک و میپس معمولاً بیش از ۱۰ برابر سریع تر از روش‌های CISC اینتل و موتورولا، با سرعت ساعت
تر از روش‌های CISC اینتل و موتورولا، با سرعت ساعت یکسان و هزینه یکسان، اجرا می‌شدند.خط لوله‌ها، به هیچ وجه، محدود به طراحی‌های RISC نیستند. در سال ۱۹۸۶، بهترین پیاده‌سازی VAX، کهVAX 8800 نام داشت، نوعی طراحی با خط لوله بسیار زیاد بود که اندکی پیش از اولین طراحی‌های تجاری میپس و اسپارک تولید شد. در حال حاضر، اکثر پردازنده‌های جدید (حتی پردازنده‌های نهفته) دارای خط لوله هستند. پردازنده‌های ریز کدگذاری شده و بدون خط لوله، فقط در پردازنده‌های نهفته‌ای که محدودیت بسیار زیادی از نظر مساحت دارند، دیده می‌شوند.
بسیار زیادی از نظر مساحت دارند، دیده می‌شوند. ماشین‌های CISC بزرگ، از VAX 8800 گرفته تا پنتیوم ۴ و Athlon جدید، هم با ریزکد و هم با خط لوله پیاده‌سازی شده‌اند. بهبود در خط لوله و حافظه نهان، دو مزیت مهم ریز معماری بودند، که باعث شدند عملکرد پردازنده همزمان با پیشرفت تکنولوژی مداری که روی آن پیاده‌سازی می‌شوند، افزایش یابد. حافظه نهان. مدت زمان زیادی طول نکشید، قبل از اینکه پیشرفت در تولید چیپ، این امکان را فراهم آورد تا مداربندی حتی بیشتری روی دای قرار گیرد، و طراحان شروع به یافتن راه حل‌هایی برای استفاده
و طراحان شروع به یافتن راه حل‌هایی برای استفاده از آن شدند. یکی از رایج‌ترین این‌ها، اضافه کردن مقادیر فزاینده‌ای از حافظه نهان (cache) روی دای بود. به‌طور ساده می‌توان گفت، حافظه نهان یک حافظه بسیار سریع است و قابل دسترسی در چند سیکل اندک می‌باشد، این در حالی است که دسترسی به حافظه اصلی نیاز به سیکل‌های زیادی دارد. پردازنده دارای یک کنترل کنندهٔ حافظهٔ نهان است که خواندن و نوشتن در کش را به شکل خودکار درمی‌آورد. اگر دادهٔ مورد نظر در کش وجود داشته باشد، به سادگی نمایان می‌شود، در حالی که اگر وجود نداشته
سادگی نمایان می‌شود، در حالی که اگر وجود نداشته باشد، پردازنده معطل می‌ماند تا زمانی که کنترل کنندهٔ حافظه نهان آن را به داخل خود بخواند.طراحی‌های RISC در اواسط تا اواخر دههٔ ۱۹۸۰ شروع به اضافه کردن حافظه نهان کردند، که معمولاً فقط ۴ کیلوبایت حجم داشت. این عدد در طی زمان افزایش یافت و پردازنده‌های معمول در حال حاضر دارای حداقل ۵۱۲ کیلوبایت حافظهٔ نهان هستند، و پردازنده‌های قوی تر دارای ۱، ۲، یا حتی ۴، ۶، ۸ یا ۱۲ مگابایت حافظهٔ نهان هستند که در سطوح مختلفی از سلسله مراتب حافظه، سازماندهی می‌شوند. در صحبت
از سلسله مراتب حافظه، سازماندهی می‌شوند. در صحبت کلی، هر قدر مقدار کش بیشتر باشد، عملکرد بیشتر می‌شود که دلیل آن کاهش معطلی است.حافظه‌های نهان و خط لوله‌ها مکمل خوبی برای هم هستند. پیش از این، معنی زیادی نداشت که خط لوله ای درست کنیم که سریعتر از مدت تأخیر دسترسی به حافظهٔ خارج از چیپ باشد. به‌کارگیری حافظه نهان روی چیپ، به این معنی بود که خط لوله می‌توانست با سرعتی معادل با تأخیر دسترسی به حافظه نهان، که زمان بسیار کمتری است، اجرا شود. این وضعیت موجب شد تا فرکانس‌های اجرایی پردازنده‌ها با سرعت بسیار
شد تا فرکانس‌های اجرایی پردازنده‌ها با سرعت بسیار بیشتری از فرکانس اجرایی حافظهٔ خارج از چیپ، افزایش یابد. پیش‌بینی انشعاب. یک مانع در برابر دسترسی به عملکردهای بالاتر از طریق موازی سازی در سطح دستورالعمل، معطلی‌ها و شستشوهای خط لوله به دلیل انشعابات است. به‌طور معمول، به صورت تأخیری در خط لوله مشخص می‌شود که آیا یک انشعاب شرطی، عملی خواهد شد یا خیر؛ زیرا انشعابات شرطی بستگی به نتایجی دارند که از یک رجیستر می‌آیند. از زمانیکه کدگشای دستورالعمل پردازنده متوجه می‌شود که با یک دستورالعمل انشعاب شرطی مواجهه
می‌شود که با یک دستورالعمل انشعاب شرطی مواجهه شده‌است، تا زمانیکه مقدار رجیستر تصمیم گیرنده، قابل خواندن می‌شود، خط لوله باید یا برای چندین چرخه معطل بماند، یا اینکه اگر نخواهد معطل بماند و انشعاب را انتخاب کند، آنگاه این امکان وجود دارد تا شسته شود. با افزایش سرعت‌های ساعت، عمق خط لوله نیز افزایش می‌یابد و برخی پردازنده‌های جدید ممکن است دارای ۲۰ مرحله یا حتی بیشتر باشند. به‌طور متوسط، در هر پنج اجرای دستورالعمل، یک انشعاب وجود دارد؛ بنابراین، بدون هرگونه مداخله ای دیگر، این مقدار، زمان زیادی از معطلی
مداخله ای دیگر، این مقدار، زمان زیادی از معطلی محسوب می‌شود. تکنیک‌هایی نظیر پیش‌بینی انشعاب و اجرای حدسی، برای کاهش عوارض انشعاب استفاده می‌شوند. پیش‌بینی انشعاب به این معنی است که سخت‌افزار بر اساس آموزه‌های قبلی، حدس می‌زند که آیا یک انشعاب خاص اجرا خواهد شد یا خیر. در واقعیت یک مسیر از انشعاب، در مقایسه با مسیر دیگر، بیشتر فراخوان می‌شود. طراحی‌های جدید، دارای سیستم‌های پیش‌بینی آماری پیچیده‌تری هستند، که از نتایج پیش‌بینی‌های قبلی، برای پیش‌بینی بعدی با دقت بیشتر استفاده می‌کنند. این حدس‌ها باعث