2012-10-25 6 views
25

Secondo Wikipedia, x86 è un progetto CISC, ma ho anche sentito/letto che si tratta di RISC. Cosa è corretto? Mi piacerebbe anche sapere perché è CISC o RISC. Cosa determina se un progetto è RISC o CISC? È solo il numero di istruzioni in linguaggio macchina di un microprocessore o ci sono altre caratteristiche che determinano l'architettura?x86 RISC o CISC?

+3

Non ho tempo per scrivere una risposta completa, ma sì, il set di istruzioni x86 grezzo l'architettura è CISC in superficie (molte istruzioni complesse che potrebbero essere sostituite da una serie di istruzioni più semplici). Ma sotto la cappa, in molte CPU x86, è simile a RISC - utilizza il microcodice per convertire istruzioni complesse in più semplici, e poi esegue quelle istruzioni più semplici. –

+3

Questa domanda è sull'argomento: * strumenti software comunemente usati dai programmatori (set di istruzioni) * problemi pratici, risolvibili che sono esclusivi dello sviluppo del software (capire le architetture dell'insieme di istruzioni) – nobar

risposta

33

x86 è un'architettura CISC. Il numero di istruzioni è un fattore importante come tutte le architetture di cisc con tutte le istruzioni in più. Inoltre, dato che le istruzioni sono complesse in cisc, possono essere completati> 1 ciclo, dove come in RISC dovrebbero essere a ciclo singolo. Le principali differenze si trovano qui:

+------------------------------+------------------------------+ 
| CISC       | RISC       | 
+------------------------------+------------------------------+ 
| Emphasis on hardware   | Emphasis on software   | 
| .       |        | 
| Includes multi-clock   | Single-clock,    | 
| complex instructions   | reduced instruction only  | 
| .       |        | 
| Memory-to-memory:   | Register to register:  | 
| "LOAD" and "STORE"   | "LOAD" and "STORE"   | 
| incorporated in instruction | are independent instructions | 
| .       |        | 
| Small code sizes,   | Low cycles per second,  | 
| high cycles per second  | large code sizes    | 
| .       |        | 
| Transistors used for storing | Spends more transistors  | 
| complex instructions   | on memory registers   | 
+------------------------------+------------------------------+ 

Per ulteriori ricerche consultare qui: http://www-cs-faculty.stanford.edu/~eroberts/courses/soco/projects/risc/risccisc/

+0

E se consideriamo che un x86 può eseguire diverse istruzioni per ciclo di clock, cosa abbiamo ottenuto? –

+0

Se siamo in grado di eseguire più istruzioni per ciclo, x86 avrà la possibilità di eseguire l'elaborazione parallela. – mikeswright49

+8

Il set di istruzioni x86 ** ** è CISC, ma (moderno) x86 ** architettura ** è RISC (interno) –

29

I primi anni '86 (8086/186/286/386) erano decisamente CISC.

Tuttavia, processori più recenti può essere considerata ibrida, con un RISC core

riferimento Ulteriori here