Karh09 10

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 пъти.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License