Architektura procesorów Intel

Pokonywanie barier przepustowości identyfikowanych na danym etapie rozwoju systemu komputerowego powoduje pojawienie się nowych ograniczeń które wcześniej nie miały takiego znaczenia. We wczesnych fazach rozwoju mikroprocesorów podstawowym ograniczeniem przepustowości była szybkość procesora. Szybki rozwój technologii wytwarzania układów scalonych wielkiej skali integracji oraz równie szybkie zwiększenie częstotliwości taktowania procesorów spowodowało pojawienie się ograniczeniem przepustowości przez stosunkowo długi czas dostępu do pamięci. Zjawisko to zostało nazwane barierą przepustowości pamięci. Problem współpracy szybkiego procesora z wolną pamięcią rozwiązywano dwojako: • godząc się na zwolnienie szybkości przetwarzania przez dostosowanie szybkości transferów na magistrali do szybkości pamięci, zamiast jak to było wcześniej do szybkości procesora, • przez funkcjonalne i fizyczne rozdzielenie wolnych przesłań na magistrali od szybkich wewnętrznych operacji procesora. Pierwszy sposób po, na wydłużaniu cykli dostępu do pamięci poprzez dodanie cykli typu „Wait” podczas, których procesor nie wykonuje obliczeń. Drugi sposób jest skutkiem obserwacji, że w cyklach wewnętrznych procesor nie komunikuje się z magistralą. Można zatem poprzez odseparowanie jednostki wykonawczej od modułu sprzęgu z magistralą, równolegle z przetwarzaniem pobierać kody kolejnych rozkazów. Rozwiązanie takie wymusza także wyposażenie procesora w bufor kolejki rozkazów sprzężony z modułem sprzęgu z magistralą. Bufor ten pełni funkcję podręcznej antycypowanej pamięci rozkazów (look-ahead cache). Rozmiar bufora jest dostosowany do formatu rozkazów (1 – 15 bajtów) i rozmiaru magistrali danych.