لوله کشی کامپیوتر
خط لوله کامپیوتری اولین بار توسط اینتل در تراشه 486 معرفی شد. نحوه عملکرد خط لوله مشابه خط مونتاژ صنعتی است. در داخل CPU، یک سری از واحدهای مدار با عملکردهای مجزا یک خط لوله پردازش دستورالعمل را تشکیل می دهند. یک دستور x86 به پنج یا شش مرحله تقسیم می شود که سپس به صورت متوالی توسط این واحدها اجرا می شوند. این امکان تکمیل یک دستورالعمل را در یک چرخه ساعت واحد CPU فراهم می کند و در نتیجه سرعت پردازش CPU را افزایش می دهد. در پردازنده کلاسیک پنتیوم، هر خط لوله عدد صحیح شامل چهار مرحله-پیش واکشی دستورالعمل، رمزگشایی، اجرا، و نوشتن-بازگشت-در حالی که خط لوله نقطه شناور{9}}شامل هشت مرحله است.
خط لوله یک فناوری کلیدی است که به طور گسترده در ریزپردازنده ها (CPU) استفاده می شود. روشی را که توسط آن دستورالعمل ها در CPU اجرا می شوند را توصیف می کند. برای درک خط لوله، ابتدا باید دستورالعمل ها و روند اجرای آنها را درک کرد.
دستورالعمل های کامپیوتری
دستورالعمل کامپیوتر مجموعه خاصی از داده های باینری است که به CPU می گوید چه کاری انجام دهد. اگر CPU به یک کارخانه تولیدی تشبیه شود، یک دستورالعمل مشابه سفارش مشتری است. مجموعهای از اقدامات را در "کارخانه" CPU انجام میدهد که در نهایت یک نتیجه محاسباتی-محصول نهایی را به همراه دارد. این در واقع چگونه کار می کند؟ اول، باید یک بخش برای دریافت سفارشات-واحد واکشی دستورالعمل CPU وجود داشته باشد. دوم، باید کارگاهی وجود داشته باشد تا دستورات-واحد اجرای دستورات CPU را انجام دهد. در یک کارخانه، تولید یک آیتم به چند مرحله تولید تقسیم می شود. به طور مشابه، یک دستورالعمل به یک سری از عملیات میکرو{6} مربوطه در CPU تبدیل می شود. تکمیل این ریز{8}}عملیات به صورت متوالی، اجرای کل دستورالعمل را تشکیل می دهد.
اجرای دستورالعمل
در CPUهای{0}پایین، اجرای دستور به صورت سریالی است. به عبارت ساده، یک دستورالعمل قبل از شروع بعدی تکمیل می شود. این مانند کارخانه فوق الذکر در روزهای اولیه خود است که فقط از یک کارگاه کوچک و یک مالک انحصاری تشکیل شده بود که به تنهایی کار می کرد: با دریافت یک سفارش، او به طور کامل مشغول انجام آن سفارش اول می شد و نمی توانست سفارش دوم را بپذیرد. بنابراین، چرخه دریافت و تکمیل سفارشها-یا واکشی و اجرای دستورالعملها{4}}یک فرآیند سریالی است. بعداً رئیس متوجه شد که گرفتن دستورات به زمان زیادی نیاز ندارد. با کمک یک دستیار، این دو می توانستند به طور مستقل کار کنند. این به رئیس اجازه میداد تا سفارش جدیدی را بپذیرد و همزمان محصولات قبلی را تکمیل کند. از نظر معماری CPU، این مربوط به جداسازی دستورالعمل-واحد واکشی از دستورالعمل-واحد اجرایی است. در نتیجه، CPU می تواند دستور بعدی را به صورت موازی در حین اجرای دستور فعلی دریافت کند. این نشان دهنده یک جهش کیفی در فناوری CPU بود که عملیات را از پردازش سریال به موازی تغییر داد و نمونه اولیه خط لوله دستورالعمل را ایجاد کرد.
هنگامی که CPU مرحله فوق را کامل کرد، چالش باقی مانده در افزایش قابلیت های پردازش موازی نهفته است. طراحان CPU با الهام گرفتن از خطوط مونتاژ کارخانه، اجرای یک دستورالعمل واحد را به چند مرحله مجزا تقسیم کردند-یا "میکرو{2}}دستورالعمل ها"-در نتیجه پیچیدگی دستورالعمل ها را به میزان قابل توجهی کاهش دادند، طراحی منطقی را ساده کردند و سرعت را افزایش دادند. در CPU هایی که از فناوری خط لوله استفاده می کنند، به محض اینکه یک دستورالعمل اولین "مرحله" خود را به پایان رساند، دستور بعدی بلافاصله وارد خط لوله می شود تا اجرا را آغاز کند. واضح است که این رویکرد خط لوله به چندین واحد اجرایی نیاز دارد-یک ویژگی پیادهسازی شده در تراشههای x86.
