10. RISC и CISC концепция.
страницата се нуждае от дописване/преглеждане
Първите компютри са имали малък брой операции. С времето той се увеличава, респективно се увеличава сложността на процесора. Стига се до машини с няколкостотин инструкции (дори и такива с над 400 - например архитектурата на компютрите VAX, похвалени от доцента като връх на сладоледа в това отношение). Най-късите инструкции са дълги 1B, най-дългите - 160+B (една инструкция в един набор).
Наборът инструкции оказва влияние върху сложността на компилатора. При повече инструкции е по-лесно за компилаторите да превеждат код на машинен език. Също така, при голям набор инструкции става доста лесно и продуктивно (след подходяща квалификация) да се пише на машинен език.
CISC
Технологията CISC (Complex Instruction Set Computer) е свързана с традиционните процесори, при които се поддържат множество инструкции, изпълнявани за различно време. Това време е в зависимост от типа на инструкцията, дължината, метода за адресиране на операндите и пр. В някои процесори изчисляването на резултата става на части поради разликата между дължината на реалните операнди и размера на входовете на АЛУ.
Като правило в традиционният CISC-процесор инструкцията се реализира като група от няколко байта в паметта, като управлението се извършва от микропрограмно устройство. Последното извлича конкретна микропрограма, съответстваща на изпълняваната инструкция, след което реализира последователност от действия - елементарни операции, определяни от включените в микропрограмата микроинструкции. Тази последователност се нарича “вътрешен цикъл”. Така всяка инструкция се изпълнява за различен брой стъпки (тактове) в зависимост от броя на микроинструкциите в тази микропрограма.
Процесорната организация традиционно се описва чрез т.нар. програмен модел, който обединява програмно-достъпните регистри от структурата. Техният състав и предназначение са различни за различните модели процесори, а дължината им зависи от дължината на машинната дума. Типични CISC процесорни модели, намерили своето приложение при изграждане на универсални и специализирани процесори, са тези с акумулатор (служебен регистър за временно съхраняване на данни), със стек (вид организация на безадресна памет), с разширена група от регистри с общо предназначение и др.
RISC
Технологията RISC (Reduced Instruction Set Computer) е развита в началото на 80-те години като алтернатива на универсалните процесори с микропрограмна архитектура и разширен състав на системата от инструкции. RISC-процесорите работят с ограничено множество от инструкции и се характеризират със следното:
- броят на инструкциите и различните видове адресиране на операндите са намалени (ограничени са до най-необходимите) и са въведени явни команди за зареждане и запис (Load/Store архитектура) на регистрите;
- използват се прости инструкции с еднаква дължина, равна на дължината на машинната дума и общ формат (определя еднакъв и минимален брой тактове за изпълнение на инструкциите);
- операциите са от тип регистър-регистър с триадресна структура от типа (R1)+(R2) R3, които се изпълняват за един машинен такт (това налага голям брой регистри);
- премахва се микропрограмното управление (използва се твърда логика за всяка инструкция);
- комуникациите с паметта са на основата на инструкции за зареждане и съхраняване на данни;
- избегнати са закъсненията при преходи;
- възможност за изпълнение на 1,5 команди на такт чрез прилагане на конвейеризация на микро ниво и вградена кеш-памет (cache).
При RISC-процесорите се търси ефективно натоварване (запълване) на вътрешния конвейер, което води до по-висока производителност. За целта управляващото програмно осигуряване трябва да поддържа ефективна конвейеризация на RISC-инструкциите, което се подпомага от опростеното предварително извличане и изпълнение. Равномерните по дължина инструкции водят до увеличено запълване на конвейера и оптимално използване на регистровата памет на процесора.
Разлики между RISC и CISC процесори
| RISC | CISC | |
|---|---|---|
| брой цикли на процесора за 1 инструкция | моноцикъл - инструкциите се изпълняват за 1 цикъл на процесора. Операндите и резултата са в регистрите | мултицикъл - всяка инструкция отнема повече от 1 такт на процесора |
| хардуерно/софтуерно управление | хардуерно управление - всички инструкции са реализирани на хардуерно ниво - т.е в интегрални схеми | всяка сложна инструкция е микропрограма, записана в процесора |
| връзка с паметта | само load/store операциите работят с паметта. Всички сметки минават през регистрите | има по-сложни инструкции за адресиране от вид M-R и M-M |
| дължина на инструкциите | фиксирана дължина на инструкциите (пр. 4B) | променлива дължина на инструкциите |
| режими на работа на CPU | малко режими на работа на процесора | много режими на работа на процесора |
Идеята за RISC идва от учени в университета в Бъркли. Те публикуват манифест за това какво представлява RISC-машината. Няма определен манифест, по който да се определя дали една архитектура е CISC, счита се че тя е такава, когато не е RISC. RISC – фактора определя колко пъти са по-бързи RISC машините – между 2.7 и 3.7 пъти.





