Multicore Computers
Multicore Computers
A multicore processor is an integrated circuit that has two or more processor cores
attached for enhanced performance and reduced power consumption. These
processors also enable more efficient simultaneous processing of multiple tasks,
such as with parallel processing and multithreading. A dual core setup is similar to
having multiple, separate processors installed on a computer. However, because
the two processors are plugged into the same socket, the connection between them
is faster.
The use of multicore processors or microprocessors is one approach to boost
processor performance without exceeding the practical limitations of
semiconductor design and fabrication. Using multicores also ensure safe operation
in areas such as heat generation.
In addition to the multiple cores, contemporary multicore chips also include L2
cache and, in some cases, L3 cache. The individual cores can execute multiple
instructions in parallel, increasing the performance of software which is written to
take advantage of the unique architecture.
The improvement in performance gained by the use of a multi-core processor
depends very much on the software algorithms used and their implementation. In
the best case, so-called embarrassingly parallel problems may realize speedup
factors near the number of cores.
However, for some purposes, there’s an upper practical limit to how many cores
yield improvements relative to the cost of adding them. Every process, however, is
governed by a primary thread that can only occupy a single core. Thus, the relative
speed of a program like a game or a video renderer is hard-limited to the capability
of the core that the primary thread consumes.
Architecture of multicore computers
The architecture of multicore processors enables communication between all
available cores to ensure that the processing tasks are divided and assigned
accurately. At the time of task completion, the processed data from each core is
delivered back to the mother board by means of a single shared gateway. This
technique significantly enhances performance compared to a single core processor
of similar speed. Multicore technology is very effective in challenging tasks and
applications, such as encoding.
Cache organization
RISC
A Reduced Instruction Set Computer is a type of microprocessor architecture that
utilizes a small, highly-optimized set of instructions rather than the highly-
specialized set of instructions typically found in other architectures. RISC is an
alternative to the Complex Instruction Set Computing (CISC) architecture and is
often considered the most efficient CPU architecture technology available today.
With RISC, a central processing unit (CPU) implements the processor design
principle of simplified instructions that can do less but can execute more rapidly.
The result is improved performance. A key RISC feature is that it allows
developers to increase the register set and increase internal parallelism by
increasing the number of parallel threads executed by the CPU and increasing the
speed of the CPU's executing instructions. ARM, or “Advanced RISC Machine” is
a specific family of instruction set architecture that’s based on reduced instruction
set architecture developed by Arm Ltd. Processors based on this architecture are
common in smartphones, tablets, laptops, gaming consoles and desktops, as well as
a growing number of other intelligent devices.
RISC systems use hard-wired code with a simple instruction set that needs a less
costly CPU than a CISC device. RISC processors are used in smartphones, printers,
tablets and devices that do a specific set of repeatable activities. RISC CPU
technology is increasingly popular in data center systems because of their
performance and ease of use.
Characteristics of RISC
Simpler instruction, hence simple instruction decoding.
Instruction comes undersize of one word.
Instruction takes a single clock cycle to get executed.
More general-purpose registers.
Simple Addressing Modes.
Fewer Data types.
A pipeline can be achieved.
Advantages of RISC
Simpler instructions: RISC processors use a smaller set of simple
instructions, which makes them easier to decode and execute quickly. This
results in faster processing times.
Faster execution: Because RISC processors have a simpler instruction set,
they can execute instructions faster than CISC processors.
Lower power consumption: RISC processors consume less power than CISC
processors, making them ideal for portable devices.
Disadvantages of RISC
More instructions required: RISC processors require more instructions to
perform complex tasks than CISC processors.
Increased memory usage: RISC processors require more memory to store the
additional instructions needed to perform complex tasks.
Higher cost: Developing and manufacturing RISC processors can be more
expensive than CISC processors.
Examples of RISC architectures:
ARM: ARM (Advanced RISC Machine) is a widely used RISC architecture. It is
known for its energy efficiency and is commonly found in mobile devices,
embedded systems, and microcontrollers. ARM processors are used in popular
devices such as smartphones, tablets, and smartwatches.
MIPS: MIPS (Microprocessor without Interlocked Pipeline Stages) is another
well-known RISC architecture. It has been used in various applications, including
embedded systems, networking devices, and gaming consoles. MIPS processors
are known for their simplicity and high performance.
PowerPC: PowerPC is a RISC architecture that was originally developed by IBM,
Motorola, and Apple. It has been used in a variety of systems, including personal
computers, game consoles, and high-performance computing. PowerPC processors
have been used in Apple Macintosh computers in the past.
SPARC: SPARC (Scalable Processor Architecture) is a RISC architecture
developed by Oracle Corporation. It has been primarily used in servers and high-
performance computing systems. SPARC processors are known for their
scalability and support for multi-threading.
The design philosophy of CISC processors is to build the complexity into the CPU,
so the computing process would not be so taxing on the software and other
hardware components. This allows CISC processors to tackle complex workloads
very quickly and efficiently, and they can benefit from a technique known
as multithreading.
In addition to the inherent benefits of CISC, x86 processors enjoy a complete and
comprehensive software and hardware ecosystem, thanks in part to Intel and
AMD's long years of investing in PC. While the champion of the RISC
architecture, the ARM processor, has been making inroads into the server market,
x86 is still ubiquitous in today's server rooms and IT infrastructure. Innovative new
techniques, such as liquid cooling and immersion cooling, have been invented to
help deal with the relatively high power consumption and heat dissipation of CISC
machines.
Instruction Set Complexity: CISC architectures are known for their complex
instruction sets, which typically include a wide range of instructions with varying
formats and functionalities. These instructions can perform operations such as
arithmetic calculations, memory access, data movement, logic operations, and
control flow. The complexity of the instruction set allows programmers to
accomplish tasks with fewer instructions, potentially reducing the overall code size
and development time.
Memory Access: CISC architectures typically provide instructions that allow direct
memory access. These instructions can load data from memory into registers or
store data from registers into memory. Additionally, CISC architectures often
support memory access instructions that enable efficient manipulation of data
structures, such as strings or arrays, by providing operations lik
Characteristics of CISC
Complex instruction, hence complex instruction decoding.
Instructions are larger than one-word size.
Instruction may take more than a single clock cycle to get executed.
Less number of general-purpose registers as operations get performed in
memory itself.
Complex Addressing Modes.
More Data types.
Advantages of CISC
Reduced code size: CISC processors use complex instructions that can
perform multiple operations, reducing the amount of code needed to perform
a task.
More memory efficient: Because CISC instructions are more complex, they
require fewer instructions to perform complex tasks, which can result in
more memory-efficient code.
Widely used: CISC processors have been in use for a longer time than RISC
processors, so they have a larger user base and more available software.
Disadvantages of CISC
Slower execution: CISC processors take longer to execute instructions
because they have more complex instructions and need more time to decode
them.
More complex design: CISC processors have more complex instruction sets,
which makes them more difficult to design and manufacture.
Higher power consumption: CISC processors consume more power than
RISC processors because of their more complex instruction sets.
Examples of CISC architectures:
x86: The x86 architecture, developed by Intel and AMD, is one of the most widely
used CISC architectures. It powers most personal computers and servers today. x86
processors support a wide range of instructions and have evolved over several
generations, including the Intel 8086, 80286, 80386, Pentium, and the modern Intel
Core series.
Motorola 68k: The Motorola 68k architecture, also known as the Motorola 68000,
was a popular CISC architecture used in personal computers and workstations in
the 1980s and early 1990s. It was used in early Apple Macintosh computers and
Atari ST machines.
VAX: The VAX (Virtual Address extension) architecture was developed by
Digital Equipment Corporation (DEC) and was widely used in minicomputers and
mainframes during the 1970s and 1980s. VAX processors supported a rich
instruction set, including complex operations such as string manipulation and
decimal arithmetic.
IBM System/360 and z/Architecture: IBM's System/360 and its successor, the
z/Architecture, are examples of CISC architectures used in mainframe computers.
These architectures support a broad range of instructions and provide extensive
hardware support for virtualization, security, and transaction processing.