Спорът "assembler срещу C" няма абсолютно нищо общо с "CISC vs. RISC". А още по-глупаво е да се отъждествява CISC с x86. Така че не разбирам с какво може да не си съгласен, още повече като не знаеш assmbler.
Това, че x86 assembler-ът не става - ами така си е... Това че Intel са ударили на камък с друг опит - пак това не е доказателство за качествата на CISC по принцип.
Нормално е всеки компилатор (включително и C компилаторите) да генерира код, за който (условно казано, не съм чел статистика по въпроса) над 90% от инструкциите са едно малко подмножество, примерно 20-30% от CISC instruction set-а. Това не е защото компилаторите са глупави или ISA-та е раздута до безумие, а защото така работят нещата.
Това е точно така. А нещата работят така, защото езиците от високо ниво (C, Java и т. н.) такива инструкции си искат за обработка. Като имаш израз със събиране - ще използваш операции за събиране, естествено.
Но ако имаш CISC инструкции, които са добре подбрани и които са добре реализирани, то с тях нещата могат да много по-добре (и като скорост и като енергийна ефективност). За момента само на теория, защото програмирането на assembler не е смислен вариант за големи проекти. А създаването на специални езици и компилатори за съответния CISC не е невъзможно, но е трудно осъществимо. Освен това някак смисълът се губи в общия случай. Те на съвременния хардуер за масова употреба гледат да му сложат колкото се може по-смотан софтуер, за да трябва да купуваш след години новото устройство. Какъв е смисълът да оптимизираш хардуера тогава??? Практически никакъв.
Аналогия с това са човешките езици - има такива с много богат речник и такива, в които има далеч по-малко думи, но във всекидневната реч хората употребяват ексклузивно малък процент от речниковия запас.
Много добър пример. И тук веднага трябва да допълним. Тези човешки езици внезапно получават нуждата от огромно допълнение, ако на тях започнеш да описваш примерно математика. Появяват се някакви нови думи и съчетания, като например: квази-проективно многообразие, област на цялостност, ньотеров пръстен и какво ли още не. Същото е и с CISC. Ако ще го ползваш за софтуер за тестов редактор - тогава едни RISC инструкции ще са напълно достатъчни. Но ако ще трябва да е нещо по-сложно и доста специфично, то не че не може пак с прости думи, но ще стане просто много неефективно.