Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:multiasm:cs:chapter_3_3 [2025/01/06 14:00] ktokarzen:multiasm:cs:chapter_3_3 [2025/12/02 08:57] (current) ktokarz
Line 1: Line 1:
 ====== CISC, RISC ====== ====== CISC, RISC ======
  
-It is not only the whole computer that can have a different architecture. This also touches processors. There are two main internal architectures of processors: CISC and RISC. CISC means Complex Instruction Set Computer while RISC stands for Reduced Instruction Set Computer. The naming difference can be a little confusing because it considers the instruction set to be complex or reduced. We can find CISC and RISC processors with similar number of instructions implemented. The difference is rather in the complexity of instructions not only the instruction set.+It is not only the whole computer that can have a different architecture. This also touches processors. There are two main internal processor architectures: CISC and RISC. CISC stands for Complex Instruction Set Computerwhile RISC stands for Reduced Instruction Set Computer. The naming difference can be a little confusing because it treats the instruction set as complex or reduced. We can find CISC and RISC processors with similar number of instructions implemented. The difference is rather in the complexity of instructionsnot just the instruction set.
  
-Complex instructions mean that the typical single instruction of a CISC processor makes more during its execution than typical RISC instruction. It also uses more sophisticated addressing. It means that if we want to make some algorithm we can use fewer CISC instructions in comparison to more RISC instructions. Of course, it comes with the price of a more sophisticated construction of CISC processor than RISC which influences the average execution time of a single instruction. As a result, the overall execution time can be similarbut in CISC more effort is done by the processor while in RISC more work is done by the compiler (or assembler programmer).+Complex instructions mean that typical single CISC processor instruction performs more operations during its execution than typical RISC instruction. The CISC processors also implement more sophisticated addressing modesThis means that if we want to implement an algorithmwe can use fewer CISC instructions compared to more RISC instructions. Of course, it comes with the price of a more sophisticated construction of CISC processor than RISC. The complexity of a circuit influences the average execution time of a single instruction. As a result, the CISC processor does more work during program execution, while in RISCthe compiler (or assembler programmer) does more work during the implementation phase
  
-Additionally, there are differences in the general-purpose registers. In CISC the number of registers is smaller than in RISC. Additionally, they are specialised. It means that not all operations can be done with the use of any register. For example in some CISC processors arithmetic calculations can be done only with the use of a special register called accumulator, while addressing of table element or using a pointer can be done with the use of a special index (or base) register. In RISC almost all registers can be used for any purpose like the mentioned calculations or addressing. In CISC processors instructions have usually two arguments having the form of+The most visible distinguishing features between RISC and CISC architectures to a programmer lie in the general-purpose registers and instruction operandsTypically, in CISCthe number of registers is smaller than in RISC. Additionally, they are specialised. It means that not all operations can be performed using any register. For examplein some CISC processorsarithmetic calculations can be done only with the use of a special register called the accumulator, while addressing of table element or using a pointer can be done with the use of a special index (or base) register. In RISCalmost all registers can be used for any purposelike the mentioned calculations or addressing. In CISC processorsinstructions usually have two arguments in the form of:
 <code> <code>
 operation arg1, arg2    ; Example: arg1 = arg1 + arg2 operation arg1, arg2    ; Example: arg1 = arg1 + arg2
 </code> </code>
-In such a situation //arg1// is one of a source and also a destination - place for the result. It destroys the original //arg1// value. In many RISC processors three argument instructions are present:+In such a situation//arg1// is one of the sources and also a destination - the place for the result. It destroys the original //arg1// value. In many RISC processorsthree-argument instructions are present:
 <code> <code>
 operation arg1, arg2, arg3 ; Example: arg3 = arg1 + arg2 operation arg1, arg2, arg3 ; Example: arg3 = arg1 + arg2
 </code> </code>
-In such an approach two arguments are the source and the third one is the destination - original arguments are preserved and can be used for further calculations.+In such an approachtwo arguments are the sourceand the third one is the destination - original arguments are preserved and can be used for further calculations.
 The table {{ref>ciscrisc}} summarises the difference between CISC and RISC processors.  The table {{ref>ciscrisc}} summarises the difference between CISC and RISC processors. 
  
Line 28: Line 28:
 </table> </table>
  
 +All these features make the RISC architecture more flexible, allowing the programmer or compiler to create code without unnecessary data transfer. The execution units of RISC processors can be simpler in construction, enabling higher operating frequencies and faster program execution. What is interesting is that the modern versions of popular CISC machines, such as Intel and AMD processors used in personal computers, internally translate CISC instructions into RISC microoperations, which are executed by execution units.
 +A simple instruction can be converted directly into a single microoperation. Complex instructions are often implemented as sequences of microoperations called microcodes.
en/multiasm/cs/chapter_3_3.1736172038.txt.gz · Last modified: 2025/01/06 14:00 by ktokarz
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0