ЕИМ  СВЯТ - Списанието на Юнаците...
БРОЙ - 12 (октомври 2001)
Брой 12 (октомври 2001)  Начална страница
 
ЕИМ ФОРУМ
RISC и CISC (в частност нещо относно Alpha и x86...)
(тема, започната от TodProg)

Форумът на списание PC-CLUB Hardware+Software

TodProg23 септември 2001 16:52

------------
>процесорите от серията "Alpha"(типични представители на RISC процесорите)
>работеха с комплект от,струва ми се,над 150 инструкции(горе-долу колкото
>Intel 80486,който от своя страна е типичен представител на CISC
>процесорите).
^^^^^ - тема започната на общия форум, "AMD or Intel". 
Цитатът е от съобщение на root@HAL-9000.
-------------
  Серията Alpha 21064 се появява в началото на 90-те (1992), докато 486 е "типичен CISC процесор" за 1989 г... Освен това явно забравяш инструкциите на FPU-то, което в 486DX e вградено (чак през 1992 излиза SX). Инструкциите за изчисления с плаваща запетая на 387 са около 65 (мисля, че в 486 няма много нови команди на FPU-то, само е доста по-бързо). Т.е. общо се получават около 215-220 инструкции в 486 (а не 150)! Като прибавиш инстр. за работа със специалните регистри на Pentium, 57-те MMX, незнам колко са SSE, и още колко в SSE2 - в P4, значи Pentium-4 изпълнява над 2 пъти повече инстр. от Alpha 21064 (за него ли се отнасят 150-те, включваш и плаващата запетая, нали ?), което със сигурност е много повече дори от набора инстр. на съвременния Alpha 21264 (15 млн. транз. и "MVI" добавката). 1.7-те милиона транз. на 64 битовият Alpha-21064 с две АЛУта и FPU са два пъти по-малко от P54C (3.3 млн.), който е само 32 битов, но също притежава 2 АЛУта и 1 FPU. За да се създаде еквивалентен 64 битов CISC МП, с набора инстр. на P4 например (незнам почти нищо за Itanium), ще са необходими много над 15млн. транзистора. (на 21264), защото освен големият обем вградена СОП, която поглъща голяма площ от чипа :-), CISC процесорите изпълняват по-сложни инструкции от RISC (по принцип в RISC се програмите се пишат с много на брой, прости инструкции, които обаче се изпълняват по много едновременно).

root@HAL-9000 дата: 23 Септември 2001 19:57
  Идеята,свързана с понятието RISC,е RISC процесорите да имат много по-малко дори и от 100 инструкции(да не казвам около 20). Затова главното в примера,който съм дал,е,че първият процесор от серията "Alpha" има набор от 160 инструкции(не мога да ти кажа дали включват и тези за изчисленията с плаваща запетая,но пак са прекалено много;освен това няма смисъл да го сравняваш с Intel Pentium 4).Процесорът на Intel 80486 е даден само за сравнение, но дори и инструкциите му да са 220,то пак,ако процесорите от серията "Alpha" напълно отговаряха на класификацията си,то разликата между броя на инструкциите на всеки от двата вида процесори не би трябвало да е 60,а няколко пъти по 60.Затова и понятието RISC започва постепенно да губи значението си.
TodProg27 Септември 2001 16:27
  Извинявай, Hal-9000, RISC НЕ ЗНАЧИ ОГРАНИЧЕН брой инструкции, а НАМАЛЕН. По-малкият брой е спрямо CISC. Поне на мен не ми е известна спецификация, която да казва "RISC са такива процесори, чиито набор инструкции е под 100" :). В твоите спецификациите влиза R3000, 1988 г. използван в PSX ~60 инстр, но той е един от първите "официално признати" RISC МП. - с течение на времето, сложното някога, става просто, затова днешните RISC МП имат много по-сложна система инструкции от някои по-стари CISC, но не и от съвременните (P4,Athlon 4,Itanium,K8). Наборът инструкции на съвременните CISC процесори, е по-сложен от този на съвременните RISC (DEC Alpha,MIPS,SPARC...), както е било и преди 10 и преди 15 години (от тогава визирам R2000, сравнен с 386,68030, iAPX-432...).
  Леко отклонение - например 6502, създаден през 1975 г. има 56 инстр., сред които няма умножение, нито деление, нито за сравнение+размяна (всъщност има, но не е официална и нерабои на всеки МП ;) ) и т.н. 6800,8080 от същото време (и от същия клас като 6502 - 8 битови МП, 6502 е подобен на 6800, адресните изводи на ИС съвпадат) изпълняват по около 70 инстр. Абсолютният брой на инструкциите обаче, не прави от МП RISC. Сравни Z80 (1976) с 6502('75),8080('74) и 6800('74). Първият има гигантска система от 155 официални инструкции (+много неофициални, но работещи...) ! Z80 е най-сложният и притежаващ най-мощна система команди 8 битов процесор (но 6502 е 2 пъти по-бърз на еднаква тактова честота при изпълнение на простите инстр. :)) обаче, близо 3 пъти повечето му инстр. спрямо 6502, не правят от последния, 6800 или 8080 RISC процесори! Те са по-скоро CISC, защото са най-сложните 8 битови МП от времето си. (8 битовия CMOS RCA-1802/6.4MHz (по принцип тогавашните МП се правят по NMOS технология, измествайки по-бавната PMOS) от 1974 г., който някои наричат "RISC". При него, командите се записват в младшата част (4 бита) на думата (която е байт), т.е. наборът инструкции се състои от 16 команди :), а старшата част на байта (битове 4-7) избира регистър.)
  Понятието RISC, е загубило значението си от средата на 80-те - СКАЛАРЕН, но ОПРОСТЕН МП, с проста система от инструкции (само най-важните команди са включени, както е в 6502 :), но той не е RISC), заради опростеността си - по-евтин, по-бърз, но ПО-ТРУДЕН ЗА ПРОГРАМИРАНЕ, поради ОГРАНИЧЕНОСТТА на системата от инструкции. Днешните RISC процесори дават големи възможности за програмиране, защото имат много по-сложен и богат набор инстр. от своите "прадеди" (вкл. плаваща запетая), надминавайки в това отношение и по-стари CISC процесори. НО, сложните МП не остават по-назад - при K6-2 са над 300 инстр. (точен брой незнам :), MMX+3D-NOW!=57+21=78 ), в P4 трябва да извадиш 21, но да прибавиш броя на SSE и SSE2 (незнам дали Pentium-4 има и някакви допълнителни специални регистри (каквито въведе Pentium - за броене на циклите и др. подобни))... При сложността на днешните МП (много дълги конвейри, няколко нива вградена СОП с голям размер, много изпълнителни блокове и на АЛУто и на FPUто (много висок паралелизъм), предсказване на преходите, нелинейно изпълнение на инструкциите...) 100 инстр. значат МНОГО голяма разлика в сложността на два процесора.

Т.е. според мен :), RISC запазва значението си (т.е. намален брой инструкции), макар АБСОЛЮТНАТА стойност на броя инстр. при съвременните RISC процесори да "гони" старите CISC, защото новите CISC бягат от RISC ;)).


root@HAL-9000 дата: 27 Септември 2001 21:39
  Добре,съгласен съм с теб,не бях прав.Според мен няма защо повече да спорим,защото темата общо-взето е изчерпана.