2010-03-01 27 views
6

Jeśli rozumiem te dwa artykuły, architekturę Intel, co jest najniższym poziomem, przeszła do korzystania z instrukcji RISC, zamiast tradycyjnego instrukcji CISC ustawić, że Intel jest znana:Czy chipy x86/x64 nadal używają mikroprogramowania?

http://www.hardwaresecrets.com/article/235/4

http://www.tomshardware.com/reviews/intel,264-6.html

Jeśli tak, to czy mikroukłady x86/x64 są nadal mikroprogramowane, czy używają sterowania przewodowego jak tradycyjne układy RISC? Zgaduję, że nadal jest mikroprogramowany, ale chciał zweryfikować.

+0

To zależy od konkretnego układu. x86/x64 to ogromna klasa układów. –

+0

@Adam, artykuł odnosi się do chipów, które są procesorami Intel i szóstej generacji, co oznacza Pentium Pro i nowsze, zgodnie z tym: http://e-articles.info/e/a/title/Intel-P6- (686) -Six-Generation-Processors/ –

Odpowiedz

4

Mikrokod jest używany przez długi czas, jeśli o nim mowa. Tak więc nie wiem o czym jest artykuł HardwareSecrets, chyba że Intel buduje teraz procesory RISC na procesorach CISC.

Nawet artykuł w HardwareSecrets nazywa je Mikroinstrukcjami. Ziemniak, potahto.

http://en.wikipedia.org/wiki/Microcode

+0

Tak, miałem na myśli mikrokod. – Sajee

2

Na nowoczesnych procesorów x86, większość instrukcje wykonać bez microcode (*), ale niektóre skomplikowane lub rzadko wykonywane z nich nie korzysta mikrokodu.

(*) Nie należy mylić z mikroprzedsiębiorstwami - w procesorach x86 poza procesami, instrukcje x86 są zazwyczaj dekodowane w co najmniej jednej mikrooperacji, które następnie są ustawiane w kolejce do wykonania (sans microcode!) W rurociąg wykonawczy poza kolejnością.

Warto również zauważyć, że nowoczesne procesory x86 mają możliwość łatania/aktualizowania mikrokodu w celu naprawienia erraty w terenie.

3

Właśnie znalazłem odpowiedź. Odniesienie do "ORGANIZACJI SYSTEMÓW KOMPUTEROWYCH" autorstwa Andrew Tanenbauma, strona 54 do strony 59. Chipy Intela są oparte na CISC, a wszystkie układy oparte na CISC mają interpreter (mikrokod), który dzieli złożone instrukcje na małe kroki. Wcześniej wszystkie chipy zawierały mikroprogram. nie istniał żaden termin CISC, dopóki koncepcja RISC nie została wprowadzona przez Davida Pattersona i Carlo Sequin w 1980 roku. RISC oznacza skrócony zbiór instrukcji. W dzisiejszych czasach rozmiar zestawu instrukcji nie ma znaczenia. w projektowaniu RISC liczy się prostota instrukcji, ale nazwa "zredukowana". Projektowanie RISC polega na szybkim wydawaniu coraz to prostych instrukcji. jak długo trwało wydawanie rozkazów mniej niż ile można rozpocząć na sekundę. Zaletą używania szybszego procesora ROM w porównaniu z wolniejszą pamięcią główną w projekcie CISC jest brak równie szybkiej pamięci głównej. RISC jest zdecydowanie lepszy niż wydajność CISC. dlaczego producent mikroprocesorów Intel nie przeprowadził się do RISC? z dwóch powodów. Przede wszystkim istnieje kwestia kompatybilności wstecznej i miliardy dolarów zainwestowały firmy w oprogramowanie dla linii intel. po drugie, Intel mógłby wykorzystać pomysł RISC w swoich chipach CISC. począwszy od 486, procesory Intel zawierają rdzeń RISC, który wykonuje najprostsze i najczęstsze instrukcje w jednym cyklu ścieżki danych, podczas interpretowania bardziej skomplikowanych instrukcji w zwykły sposób CISC. Sądzę, że Intel pobierał powierzchownie podejście hybrydowe, aby zachować twarz/sławę/dobrą wolę na rynku zgodnie z postępem technologicznym. Brałbym intel chipy tylko w oparciu o CISC.

+0

Odpowiedź? Jest dużo szumu na temat tego, jak RISC jest szybszy lub lepszy od CISC i myślę, że Intel chciał, aby ich żetony pojawiały się RISChety, aby zarobić na hype. Mimo to, chipy x86 były w stanie wykonywać pewne instrukcje w jednym cyklu zegara (lub szybciej) przez pewien czas, więc funkcja "RISC" nie jest wyłącznie dla RISC. Instrukcje RISC nie działają również w jednym cyklu zegara. AMD rozszerzyło x86 na inne terytorium RISC - większy plik rejestru - dodając rejestry R8 do R15 do tradycyjnych rejestrów x86. Ponadto nawet procesory RISC twierdzą, że są "zgodne z poprzednimi wersjami". –

1

Obecne procesory x86 nadal używają mikrokodu, ponieważ zestaw instrukcji x86 jest bardzo złożony w stosunku do typowych procesorów RISC. Jest to prawdą przynajmniej dla niektórych instrukcji.

Wewnętrznie złożone instrukcje są podzielone na proste instrukcje podobne do RISC, które są następnie przetwarzane przez wyrafinowany rdzeń podobny do RISC. Instrukcje podobne do RISC są czasami ponownie zamawiane lub wykonywane równolegle.

0

Typowymi przykładami mikrokodowanych instrukcji są dzielenie i mnożenie. Dotyczy to zarówno CISC, jak i RISC. Po prostu nie warto wdrażać podziału sprzętu, biorąc pod uwagę, jak (stosunkowo) rzadko jest on używany. Multiplikacje są znacznie łatwiejsze do wdrożenia, ale są również mikro-kodowane, choć oczywiście nie w tym samym stopniu. Zgodnie z tym dokumentem Instruction Latencies and Throughput for ... x86 Processors latencje dla mul i div dla procesora K10 to 5 i 77 lub 15,4X. Dla intel SBR (?) Odpowiednie wartości to 4 i 92 lub 23X. Dodatkowym wglądem w ich względną złożoność jest ich odpowiednia przepustowość: na K10 mnożenie co drugi cykl zegara może być podtrzymywane (2,5 - 5/2 - w operacji jednocześnie), ale podtrzymuje tylko jeden podział co 77. cykl zegara (tak samo jak opóźnienie dzielenia) .

Inne przykłady to sh? D (shift? Double) i bs? (skanowanie bitowe?).