Computer Organization & Architecture Lecture 24 CISC and RISC
Introduction to Vector Processing Array Processing SIMD Array Processors
By the end of the session, we will be able to: Differentiate between RISC and CISC in computer architectures Analyze how RISC and CISC affect CPU performance Explain the role of multicore processors in Intel and AMD CPUs Session Objectives
RISC and CISC CPU Performance Multicore Processor: Intel, AMD
When it comes to computer architecture, two major categories dominate the landscape: Reduced Instruction Set Architecture (RISC) and Complex Instruction Set Architecture (CISC).
The core concept behind RISC is to simplify hardware by employing an instruction set comprising a few basic operations for loading, evaluating, and storing data. For instance, a load command is used for data loading, and a store command is used for data storage. Characteristics of RISC Simpler instructions, resulting in straightforward instruction decoding. Instructions typically fit within a single word in size. Execution of each instruction takes just one clock cycle. Incorporates more general-purpose registers. Utilizes simple addressing modes. Supports fewer data types. Facilitates pipelining for improved performance. Reduced Instruction Set Architecture (RISC)
Main Memory : This is where the program instructions and data reside. The CPU fetches instructions from the main memory during program execution. Instruction Cache : The instruction cache stores frequently used instructions, reducing the need to access the slower main memory. Data Latches : These represent registers or storage locations for data manipulation within the CPU. Data can be loaded into registers for processing. Data Path : The data path consists of various functional units and pathways for executing arithmetic and logic operations on data stored in the data latches. Hardwired Control : The hardwired control unit generates control signals to manage the execution of instructions. It coordinates the flow of data and instructions within the CPU. RISC Architecture
Advantages of RISC Simplicity : RISC processors employ a compact set of basic instructions, making them easier to decode and execute quickly. Speed: The streamlined instruction set allows RISC processors to execute instructions faster than their CISC counterparts. Lower Power Consumption : RISC processors are known for their lower power consumption. Disadvantages of RISC More Instructions Required: Complex tasks demand more instructions on RISC processors compared to CISC processors. Increased Memory Usage: Accommodating the additional instructions for complex tasks requires more memory. Higher Manufacturing Costs: Developing and manufacturing RISC processors can be costlier than CISC processors. Reduced Instruction Set Architecture (RISC)
CISC, in contrast, is characterized by a single instruction that performs a multitude of functions, encompassing data loading, evaluation, and storage. For instance, a single multiplication command can load, evaluate, and store data, making it complex by design. Characteristics of CISC Complex instructions that require intricate instruction decoding. Instructions are often larger than one word in size. Some instructions may take more than one clock cycle to execute. Fewer general-purpose registers, as many operations are performed in memory. Complex addressing modes. Support for a wide range of data types. Complex Instruction Set Architecture (CISC)
Main Memory : This is where program instructions and data are stored, and the CPU fetches both instructions and data during execution. Cache : The cache stores frequently used data and instructions to speed up access times. Data Latches : These represent registers or storage locations for data manipulation within the CPU. Instruction and Data Path : It contains functional units and pathways to execute complex instructions, ALU and various registers. Microprogram Control Unit : It interprets complex instructions and generates microcode. Control Unit : It manages the execution of complex instructions, generating control signals for the entire CPU. CISC Architecture
Advantages of CISC Reduced Code Size: CISC processors utilize complex instructions that can execute multiple operations, leading to a reduction in the amount of code required to accomplish tasks. Improved Memory Efficiency: CISC instructions are more memory-efficient when handling complex tasks. Wide Usage and Software Availability: CISC processors have been in use for an extended period, resulting in a larger user base and a wealth of available software. Disadvantages of CISC Slower Execution: The complexity of CISC instructions leads to longer execution times, primarily due to increased decoding requirements. More Complex Design: The intricacy of CISC instruction sets makes designing and manufacturing CISC processors more challenging. Higher Power Consumption: CISC processors consume more power compared to RISC. Complex Instruction Set Architecture (CISC)
Lecture 24 Activity 1 Time for an activity.
RISC and CISC CPU Performance Multicore Processor: Intel, AMD
Both approaches try to increase the CPU performance RISC : Reduce the cycles per instruction at the cost of the number of instructions per program. CISC : The CISC approach attempts to minimize the number of instructions per program but at the cost of an increase in the number of cycles per instruction. Previously, when programming was conducted using assembly language, a need arose to make instructions more versatile. This need emerged because programming in assembly was laborious and prone to errors. As a result, the CISC architecture evolved. However, with the rise in the dependency on high-level languages, the reliance on assembly language diminished, and the RISC architecture prevailed. CPU Performance
Example: Let's consider the task of adding two 8-bit numbers: CISC approach In this approach, a single command or instruction, such as 'ADD,' is used to perform the task. RISC approach In the RISC approach, the programmer writes a sequence of instructions. First, they load the data into registers, then they apply the suitable operator, and finally, they store the result in the desired location. This division of the 'add' operation into distinct parts—load, operate, and store—results in RISC programs that are longer and require more memory for storage. However, they require fewer transistors due to the use of less complex commands. CPU Performance
RISC vs CISC: Difference Table CPU Performance RISC CISC Focus on software Focus on hardware Uses only Hardwired control unit Uses both hardwired and microprogrammed control unit Transistors are used for more registers Transistors are used for storing complex instructions Fixed sized instructions Variable sized instructions Can perform only Register to Register Can perform REG to REG or REG to MEM or MEM to MEM Requires more number of registers Requires less number of registers It consumes low power It consumes high power It is highly pipelined It is less pipelined It requires more RAM It requires less RAM
Introduction to Vector Processing CPU Performance Multicore Processor: Intel, AMD
Multicore processors are used in a wide range of computing devices, from desktop and laptop computers to servers and mobile devices.
By having multiple cores on a single chip, multicore processors can significantly enhance performance, reduce power consumption, and improve multitasking capabilities compared to single-core processors.
Intel Intel Corporation, headquartered in Santa Clara, California, is one of the world's leading semiconductor manufacturers. They are renowned for producing a wide range of processors for various computing platforms, including desktops, laptops, servers, and data centers. Intel's processors, such as the Core series for consumers and Xeon for servers, have been popular choices in the computing industry. AMD Advanced Micro Devices (AMD), headquartered in Santa Clara, California, is another prominent semiconductor manufacturer known for producing processors and other computing hardware. AMD is a direct competitor to Intel and has gained popularity for its Ryzen series of processors, which are known for offering competitive performance and value. Multicore Processor: Intel, AMD
Focus on Software vs Focus on Hardware Intel: Intel designs its processors with an emphasis on optimizing hardware components to achieve high performance. Intel processors can efficiently run a wide range of software, but their designs prioritize hardware efficiency. AMD: AMD processors are designed to provide competitive performance with an emphasis on software compatibility. This approach ensures that AMD processors can work seamlessly with a variety of software applications. Multicore Processor: Intel, AMD
Control Unit Type Intel: Intel processors predominantly use hardwired control units. Hardwired control units are known for their efficiency and speed in executing instructions. They are a key component of the processor responsible for managing the execution of instructions. AMD: AMD processors may use both hardwired and microprogrammed control units. Microprogramming allows for more flexibility in handling complex instructions and can aid in improving software compatibility. Multicore Processor: Intel, AMD
Transistors Usage Intel: Intel processors may use transistors primarily for implementing a larger number of registers. More registers can enhance the processor's ability to store and manipulate data efficiently. AMD: AMD processors may use transistors for more complex instructions. This can help in executing a wider range of instructions efficiently, which can be advantageous in certain software scenarios. Multicore Processor: Intel, AMD
Clock Cycle and Instruction Execution Intel: Intel processors are designed to execute many instructions in a single clock cycle. AMD: AMD processors may require more than one clock cycle to execute an instruction. Addressing Modes Intel: Intel processors often provide a simpler and more limited set of addressing modes. AMD: AMD processors may support a more complex and varied set of addressing modes. These modes can provide greater flexibility for software developers. Multicore Processor: Intel, AMD
Pipelining Intel: Intel processors are often highly pipelined. Pipelining is a technique that allows for the concurrent execution of multiple instructions, improving overall processing speed. AMD: AMD processors may have less aggressive pipelining, which can affect their processing efficiency. RAM Requirements Intel: Intel processors may require more RAM for optimal performance. AMD: AMD processors typically require less RAM, making them suitable for systems with limited memory capacity. Multicore Processor: Intel, AMD
Real-Life Applications of Intel Multicore Processors Business and Office Productivity High-Performance Laptops High-Performance Servers Real-Time Financial Trading High-End Gaming Desktops Real-Life Applications of AMD Multicore Processors Consumer-Level Desktops Mid-Range Laptops Home Theater PCs (HTPCs) HPC and Scientific Computing Affordable Gaming PCs Embedded Systems and IoT Multicore Processor: Intel, AMD
Lecture 24 Activity 2 Time for an activity.
Introduction to Vector Processing CPU Performance Multicore Processor - Intel, AMD