This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:multiasm:cs:chapter_3_3 [2024/09/27 20:47] – pczekalski | en:multiasm:cs:chapter_3_3 [2025/12/02 08:57] (current) – ktokarz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======Components of Processor: Registers, ALU, Bus Control, Instruction Decoder | + | ====== |
| + | |||
| + | It is not only the whole computer that can have a different architecture. This also touches processors. There are two main internal processor architectures: | ||
| + | |||
| + | Complex instructions mean that a typical single CISC processor instruction performs more operations during its execution than a typical RISC instruction. The CISC processors also implement more sophisticated addressing modes. This means that if we want to implement an algorithm, we can use fewer CISC instructions compared to more RISC instructions. Of course, it comes with the price of a more sophisticated construction of a 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 RISC, the compiler (or assembler programmer) does more work during the implementation phase. | ||
| + | |||
| + | The most visible distinguishing features between RISC and CISC architectures to a programmer lie in the general-purpose registers and instruction operands. Typically, in CISC, the number of registers is smaller than in RISC. Additionally, | ||
| + | < | ||
| + | operation arg1, arg2 ; Example: arg1 = arg1 + arg2 | ||
| + | </ | ||
| + | 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 processors, three-argument instructions are present: | ||
| + | < | ||
| + | operation arg1, arg2, arg3 ; Example: arg3 = arg1 + arg2 | ||
| + | </ | ||
| + | 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. | ||
| + | The table {{ref> | ||
| + | |||
| + | <table ciscrisc> | ||
| + | < | ||
| + | ^ Feature | ||
| + | | Instructions | ||
| + | | Registers | ||
| + | | Number of registers | ||
| + | | Calculations | ||
| + | | Addressing modes | Complex | ||
| + | | Non destroying instructions | ||
| + | | Examples of processors | ||
| + | </ | ||
| + | |||
| + | 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, | ||
| + | A simple instruction can be converted directly into a single microoperation. Complex instructions are often implemented as sequences of microoperations called microcodes. | ||