What is Microprocessor? Design, Types, Pros, Cons & More

5
69

What is Microprocessor?

A microprocessor refers to the processor or CPU that comes with millions of small transistors, registers, accumulator, and diodes.

It also contains the ALU and a control unit that controls the flow of data and performs the arithmetical and logical operations respectively.

In simple words, a microprocessor is the logic chip mounted on a single Integrated Circuit which forms the central unit of the computer system.

KEY TAKEAWAYS

  • A microprocessor is classified on the basis of the number of instructions processed, the size, clock speed and the number of bits used.
  • It comes with advanced architectural design to perform vital tasks such as addition, subtraction, logical operations, inter-processing, I/O management, and device communication.
  • These microprocessors follow a simple principle of fetch, decode and execute while operating.
  • There is a primary and secondary memory in the microprocessors that come in different types such as CISC and RISC, EPIC and Superscalar, and more.

Understanding Microprocessor

What is Microprocessor

In a computer, the central unit is the microprocessor. This actually refers to the single IC or Integrated Circuit on which the CPU is built.

Factors for Classification

The classification of the microprocessors is usually done on the basis of a few specific factors such as:

  • The number of instructions they are able to process in a given period of time
  • Their size
  • Their respective clock speed which is usually measured in Megahertz and denoted as MHz and
  • The number of bits used in each instruction.

Tasks Performed

A microprocessor is mainly built on a silicon microchip and is more advanced in architectural design which helps it to perform several tasks which includes and are not limited to:

  • Addition and subtraction
  • Inter-processing
  • Device communication
  • Input and output management and more.

Working Process

The working process of the microprocessors typically follows three specific steps. These are:

  • Fetch – This process involves searching the information that is usually stored in the storage.
  • Decode – This process involves understating the instruction so that it can be assigned further. The ALU also registers the data in the interim at this stage.
  • Execute – This is the process that involves carrying out the instructions as received and assigned, and to send it in binary form to the output port.

Generations

The microprocessor has come a long way and has evolved significantly.

Their evolution also helps in categorizing them into different groups. Here is the brief history of their evolution.

First Generation:

The microprocessors of this era are usually called the 4-bit microprocessors.

The first generation of microprocessors came into existence in 1971-1972 and was introduced by Stanley Mazor & Ted Hoff forIntel Corporation. Since these were 4-bit microprocessors, these were named Intel 4004 or Intel 4040.

These were processors on a single chip and could perform tasks including simple arithmetic and logical operations like addition, subtraction, Boolean OR and Boolean AND with a clock speed of 740 KHz.

There were about 2300 transistors, 16 pins, and could process 60K instructions per second.

Second Generation:

The second generation microprocessors were called the 8-bit microprocessors and were introduced by Intel in 1972-1973.

These processors could perform arithmetic and logical operations in 8-bit words and therefore were called Intel 8008.

The 8008 could handle 50K instructions per second at a clock speed of 500 KHz.

The other versions were more improved and introduced as 8080, 8085 and more.

The 8080, introduced in 1974 came with a clock speed of 2 MHz and could handle 60K instructions per second.

The transistors of this transistor literally performed at a speed which was 10 times higher in comparison to that of Intel 8008.

The 8085 microprocessor, on the other hand, was introduced in 1976 and came with 6500 transistors, a clock speed of 3 MHz, 40 pins, and could handle 769230 instructions per second.

Third Generation:

Referred to as 16-bit microprocessors, Intel introduced them in 1978 as Intel 8086, Zilog Z800 and 80286.

These microprocessors could perform just like a minicomputer with a clock speed varying between 4 MHz and 10 MHz usually of the 29000 transistors that could handle 2.5 million instructions per second using just 40 pins.

Further, in 1982, 80186 and 80188 microprocessors were invented that came with a clock speed of 6 MHz.

The 80286 microprocessor also came into existence after that with a clock speed of 8 MHz, 134000 transistors, 68 pins and could handle as many as 4 million instructions per second.

Fourth Generation:

The 4th generation microprocessors are called 32-bit microprocessors and there were several companies that produced them.

However, the most significant one among all is the 80386 of Intel which was introduced in 1986.

This processor came with a clock speed ranging between 16 MHz and 33 MHz and with 275000 transistors and 132 pins.

This year also saw the release of the Intel 80486 microprocessor that had a clock speed ranging between 16 MHz and 100 MHz, a total of 1.2 million transistors and 168 pins.

Fifth Generation:

The 5th generation microprocessors came into existence in 1995 and the current microprocessors belong to this generation.

These microprocessors are called 64-bit microprocessors.

This era saw the release of 80856, Intel Pentium, Intel Pentium Pro and other microprocessors that allowed multiprocessing in a single system.

The core 2 microprocessor was invented by Intel in 2006 with a clock speed ranging between 1.2 GHz to 3 GHz.

These processors had as many as 291 million transistors.

Then there were the Core i3, Core i5, and Core i7 microprocessors with clock speeds ranging between 2 GHz and 3+ GHz.

Other 64-bit processors were also improved in this period such as Celeron, dual-core, quad-core, and octa-core processors.

At present there aren’t any mainstream 128-bit microprocessors available because it is still a long time to exhaust the 64-bit address space.

Being used at a steady rate of about 2 bits in every 3 years, only 48 bits of it has been used.

So, it will take some time for the 128-bit microprocessors to become mainstream.

Read Also:  What is IA-64 (Intel Architecture 64)? (Explained)

List of Different Microprocessors

What is Microprocessor

Here is the list of microprocessors manufactured by different companies in an alphabetical order.

The microprocessors developed and marketed by Adapteva are:

  • E16G301 and
  • E64G401.

The microprocessors developed and marketed by Ambric is:

  • Am2000.

The microprocessors developed and marketed by AMD are:

  • A10
  • A8
  • Am186
  • Am286
  • Am29000
  • Am29030
  • Am29035
  • Am29040
  • Am29050
  • Am386
  • Am486
  • Am5x86
  • Am8086
  • Am9080
  • Athlon
  • Athlon 64
  • Athlon 64 X2
  • Athlon II X4
  • Athlon MP
  • Athlon X2
  • Athlon X4
  • Athlon XP
  • Duron
  • K5
  • K6
  • K6-2
  • K6-2+
  • K6-III
  • K6-III+
  • Opteron
  • Phenom II X3
  • Phenom II X4
  • Phenom X3
  • Phenom X4
  • Sempron
  • Turion 64
  • Turion 64 X2
  • Ryzen 3
  • Ryzen 5
  • Ryzen 7
  • Ryzen 9 and
  • Ryzen Threadripper

The microprocessors developed and marketed by Atmel are:

  • AVR
  • AVR32 and
  • MARC4.

The microprocessors developed and marketed by Broadcom is:

  • Broadcom.

The microprocessors developed and marketed by Centaur Technology is:

  • WinChip.

The microprocessors developed and marketed by Clearspeed is:

  • CSX700.

The microprocessors developed and marketed by Cray Inc are:

  • MTA-2
  • Threadstorm and
  • Threadstorm4.

The microprocessors developed and marketed by Cypress Semiconductor is:

  • Cypress.

The microprocessors developed and marketed by Cyrix are:

  • 486DX
  • 486SLC
  • 5×86
  • 6×86 and
  • Cyrix III.

The microprocessors developed and marketed by Digital Equipment Corporation are:

  • Alpha 21064
  • Alpha 21064A
  • Alpha 21066A
  • Alpha 21164
  • Alpha 21164A
  • Alpha 21164PC
  • Alpha 21264
  • Alpha 21264A
  • Alpha 21264B
  • Alpha 21264C
  • Alpha 21364 and
  • StrongARM.

The microprocessors developed and marketed by Exponential Technology is:

  • X704.

The microprocessors developed and marketed by Fujitsu are:

  • microSPARC II
  • SPARC64 and
  • TurboSPARC.

The microprocessors developed and marketed by General Instrument are:

  • PIC
  • SBA and
  • Series 8000β€Žβ€Ž.

The microprocessors developed and marketed by HAL Computer Systems are:

  • SPARC64 and
  • SPARC64 II.

The microprocessors developed and marketed by Hitachi is:

  • harp-1.

The microprocessors developed and marketed by HP are:

  • PA-7000
  • PA-7100
  • PA-7100LC
  • PA-7150
  • PA-7200
  • PA-7300LC
  • PA-8000
  • PA-8200
  • PA-8500
  • PA-8600
  • PA-8700
  • PA-8700+
  • PA8800 and
  • PA8900.

The microprocessors developed and marketed by IBM are:

  • Power2
  • Power3
  • Power3-II
  • Power4+
  • Power5
  • Power6
  • Power7
  • PowerPC 7xx
  • PowerPC 970
  • PowerPC 602
  • PowerPC 603
  • PowerPC 620
  • PowerPC 630
  • PowerPC 601
  • PowerPC 601v
  • PowerPC 603e
  • PowerPC 603ev
  • PowerPC 604
  • PowerPC 604e
  • PowerPC 604ev
  • RS64 IV
  • RS64-II and
  • RS64-III.

The microprocessors developed and marketed by Intel are:

  • 4004
  • 4040
  • 8008
  • 80186
  • 80286
  • 80386 DX
  • 80486 DX
  • 80486 DX2
  • 80486 DX4
  • 8080
  • 8086
  • 8088
  • Atom
  • Celeron
  • Celeron D
  • Celeron M
  • Core 2 Duo
  • Core 2 Extreme
  • Core 2 Quad
  • Core 2 Quad Extreme
  • Core 2 Solo
  • Core Duo
  • Core i3
  • Core i5
  • Core i7
  • Core i7 Extreme
  • Core i9
  • Core Solo
  • EP80579
  • i860
  • i960
  • iAPX432
  • Itanium
  • Itanium 2
  • Pentium
  • Pentium 4
  • Pentium 4 EE
  • Pentium 4-M
  • Pentium D
  • Pentium EE
  • Pentium II
  • Pentium III
  • Pentium III Mobile
  • Pentium III Xeon
  • Pentium II Mobile
  • Pentium II Xeon
  • Pentium M
  • Pentium MMX
  • Pentium Pro
  • Quark and
  • Xeon.

The microprocessors developed and marketed by MediaTek is:

  • Hello.

The microprocessors developed and marketed by MIPS Technologies are:

  • 3520
  • 5900
  • 7000
  • 74K
  • R2000
  • R3000
  • R4000
  • R4200
  • R4300i
  • R4400
  • R6000
  • R8000 and
  • R10000.

The microprocessors developed and marketed by MOS Technology are:

  • 6502 and
  • 6510.

The microprocessors developed and marketed by Motorola are:

  • MC14500
  • 6800
  • 68000
  • 68010
  • 68020
  • 68030
  • 68040
  • 68060
  • 88000 and
  • PowerPC.

The microprocessors developed and marketed by National Semiconductor are:

  • IMP-4
  • IMP-8
  • IMP-16
  • COPS I
  • COPS II
  • MAPS and
  • NS32k.

The microprocessors developed and marketed by NexGen is:

  • Nx586.

The microprocessors developed and marketed by Phytium are:

  • FT-1200 and
  • FT-1500A.

The microprocessors developed and marketed by Qualcomm are:

  • MSM
  • MSM1
  • MSM2
  • MSM2300
  • MSM3000
  • MSM3100
  • MSM3300
  • MSM4500
  • MSM5000
  • MSM5105
  • MSM5100
  • MSM5200
  • MSM5500
  • MSM6xxx
  • MSM7xxx
  • Snapdragon
  • Snapdragon S1
  • Snapdragon S2
  • Snapdragon S3
  • Snapdragon S4
  • Snapdragon 200
  • Snapdragon 400
  • Snapdragon 600 and
  • Snapdragon 800.

The microprocessors developed and marketed by Quantum Effect Devices are:

  • R4600
  • R5000 and
  • RM7000.

The microprocessors developed and marketed by Rapport is:

  • Kilocore.

The microprocessors developed and marketed by Ross Technology is:

  • hyperSPARC.

The microprocessors developed and marketed by SGI are:

  • R12000
  • R12000A
  • R14000
  • R14000A
  • R16000
  • R16000A and
  • R18000.

The microprocessors developed and marketed by Sun Microsystems are:

  • microSPARC I
  • SuperSPARC I
  • SuperSPARC II
  • UltraSPARC
  • UltraSPARC II
  • UltraSPARC IIe
  • UltraSPARC IIi
  • UltraSPARC III Cu
  • UltraSPARC IIIi
  • UltraSPARC T1 and
  • UltraSPARC T2.

The microprocessors developed and marketed by Sunway or ShenWeiare:

  • SW-1
  • SW-2
  • SW1600 (SW-3) and
  • SW26010.

The microprocessors developed and marketed by Tesla (Czech) is:

  • MH 3000.

The microprocessors developed and marketed by Transmeta are:

  • Crusoe and
  • Efficeon.

The microprocessors developed and marketed by Western Design Center are:

  • WDC 65C02 and
  • WDC 65816.

The microprocessors developed and marketed by Western Digital are:

  • WD MCP-1600 and
  • WD CR1872.

The microprocessors developed and marketed by Zilog are:

  • Z80
  • Z8000 and
  • Z80000.

Basic Terms

There are a few basic terms that are used in microprocessors which are also good to know. These are:

  • Instruction Set – This refers to the set of commands that are understood by the microprocessor in machine language. It also refers to all of the probable instructions or subsets of instructions for the CPU to improve its performance in specific situations.
  • Bus – This refers to the set of conductors used to transmit data and address. It also controls the information sent to different elements of the microprocessor. There are usually three types of buses in a microprocessor namely, data bus, control bus, and address bus.
  • Instructions Per Cycle – Commonly referred to as IPC, this refers to the number of instructions executed by the processor in a single clock.
  • Clock Speed – This refers to the number of operations performed by the CPU per second and is usually expressed in Megahertz or Gigahertz. It is more commonly referred to as the Clock Rate.
  • Bandwidth – This refers to the number of bits processed by the CPU in a single instruction.
  • Word Length – This indicates the number of bits processed by the processor at a given time. For example, an 8-bit microprocessor at a time can process 8 -bit data. The type of microcomputer determines the world length which ranges from 4 bits to 64 bits.
  • Data Types – The microprocessor may support different types of data formats such as ASCII or American Standard Code for Information Interchange, binary, signed and unsigned numbers.
Read Also:  Core i7 and i9 Processors: 5 Differences

Characteristics

Ideally, there are three major characteristics of a microprocessor. These are:

  • Clock Speed
  • Word Size and
  • Instruction Set.

Design

The microprocessors come with several tiny components that work together to perform a given functions. These are:

  • The transistors
  • The registers and
  • Diodes.

The most important part of the microprocessor is the CPU of the Central Processing Unit. It processes data and instructions and also performs several calculations and other tasks.

The CPU is also called the main processor or central processor which comes with the following subparts:

  • The ALU or Arithmetic Logic Unit which performs the arithmetic and logical operations such as addition, subtraction, multiplication, division, greater than, less than and others on the data fed through the input devices or received from the memory
  • The CU or Control Unit which controls the data flow and instructions and manages the tasks executed by the CPU and
  • The register array which comprises registers such as B, C, D, E, H, L, and an accumulator and cats as memory areas to store input and calculation data, output results and more.

Some of the other parts of a microprocessor include a decoder which decodes the High Level Language instructions to Machine Language before passing them on to the CPU as well as an Instruction Register to store the instructions to be executed currently.

The microprocessor also comes with a bus architecture which helps in communication.

It is actually a collection of wires that use electric signals to transmit data and information.

Bus architecture consists of different types of buses as said above such as:

  • An address bus, which communicates address of given data and instructions
  • A data bus, which transfers data from one part to another and
  • A control bus, which manages the signals between the devices.

There is a memory as well in a microprocessor which also comes in different parts such as:

  • Primary Memory – This volatile internal memory stores data and instructions of the processor which is lost when the system is switched off. There are two types of primary memory namely, RAM or Random Access Memory and ROM or Read Only Memory.
  • Secondary Memory – This refers to the external non-volatile storage devices to store data permanently such as CD, DVD, and others.

Types of Microprocessors

There are different types of microprocessors available today though you may only find a few of them dominating the market.

CISC microprocessor:

The Complex Instruction Set Computer or CISC microprocessors help in simplifying the code and to make the instruction set shorter.

This reduces memory requirement.

The program size is reduced by using complicated addressing node which also reduces the memory cycle and execution time of a program.

The architecture of this processor includes special-purpose circuits that carry instructions at a very high speed. These instructions can be either very simple or very complex.

The complex instructions take longer time to be executed and are specified at the assembly language level. The compiler changes it from higher level to assembly.

The most significant benefits offered by the CISC microprocessors are reduced memory usage and time consumption.

It can perform several low-level operations such as loading from and storing into memory, an arithmetic operation by using very few registers and more.

A few examples of CISC microprocessors are:

  • Intel 386
  • Intel 486
  • Pentium
  • Pentium Pro
  • Pentium II
  • Pentium III
  • Motorola 68000
  • Motorola 68020
  • Motorola 68040 and more.

RISC microprocessor:

This is one of the major microprocessors that are considered to be an alternative to the CISC processors and come with simple instruction sets and addressing modes.

The RISC or Reduced Instruction Set Computer processors are faster and take less time to operate as they execute each instruction in only one clock cycle.

One of the special features of the RISC processors is that it allows increasing the register set by the users as well as the internal parallelism.

However, it usually has a fixed length of 32-bit of instruction.

The main downside of the RISC processors is that direct memory to memory transfer is not allowed and therefore it is hard to process complex addressing modes and instructions.

These processors are mainly used in modern electronic gadgets.

A few examples of RISC microprocessor are:

  • IBM RS6000
  • MC88100
  • DEC Alpha 21064
  • DEC Alpha 21164 and
  • DEC Alpha 21264.

EPIC microprocessor:

The EPIC or Explicitly Parallel Instruction Computing microprocessors use compilers to carry out instructions in parallel without needing to use higher clock frequencies.

The instruction is encoded into 128-bit bundles, each of which consists of 3 instructions encoded in 41 bits each along with a 5-bit template field such as the IA-64 or Intel Architecture-64.

Superscalar microprocessor:

These processors are fast enough to handle multiple tasks easily and produce the results without delay.

The superscalar microprocessors come with an extensive architecture structure that enables them to handle multiple instructions sets during a clock cycle.

There are several execution units in them that help in feeding different pipelines.

A few examples of superscalar microprocessors are:

  • Intel i960A
  • AMD29006 series
  • MC88100 and
  • MIPS R.

You will also get a few special function microprocessor variants based on their working operations. These are:

  • ASIC processor – The Application Specific Integrated Circuit microprocessors are designed to transmit protocols on handheld computers and are used across several industries such as communications, automotive, and more.
  • DSP – A short for Digital Signal Processor is also a special type of microprocessor that is typically built with MOS ICs or Metal Oxide Semiconductor Integrated Circuits to process digital signals as well as filter, measure and compress analog signals. The special memory helps it in controlling several data instructions. It is used in telecommunication, radar systems, digital image processing, mobile phones, speech recognition, and satellite technology.
  • SIMD processor – A short for Single Instruction, Multiple Data, the name of this microprocessor says it all. In this processor the Control Unit supervises a set of processing units and every processor is given the same instructions set from the CU but they work with different data in parallel. These processors are useful in multimedia applications helping in adjusting contrast of a digital image or volume of digital audio.
  • Symbolic processor – Mainly dealing with operations like algorithmic behavior, communication, and memory input-output, the symbolic processors are typically used in text retrieval, knowledge engineering, and machine intelligence.
  • Bit slice microprocessor – These processors use bit slicing technique to construct form modules of processors with lesser bit width to increase the word length. Each of these modules is of one-bit field or slice. These processors come with Arithmetic Logic Unit of 1, 2, 4, 8, or 16-bit control lines.
  • Transputer processors – A short for Transistor Computer, these processors are semiconductor based and come with integrated memory. These low-power, low-cost processors have serial communication lines supporting parallel computing.
  • Graphics processor – This refers to the Graphic Processor Unit or GPU which is a special electronic circuit that handles parallel processing of graphics and video rendering. These help in altering memory to speed up the creation of images in the frame incorporated for output and the parallel structure makes them so useful in the modern computing world. Usually mobile phones, embedded systems, personal computers, game stations, and workstations use GPUs.
Read Also:  What is Adder? Uses, Types, Pros, Cons & More

Features of Microprocessor

Some of the most significant features of the microprocessor are:

  • Low cost due to the IC or Integrated Circuit technology
  • High speed operation due to better architecture
  • Smaller size due to large scale integration technology
  • Versatile nature due to ability to use in several applications
  • Low power consumption due to Metal Oxide Semiconductor technology
  • Less heat generation due to the use of semiconductor technology
  • Reliability due to lower failure rate of the semiconductors and
  • Portability due to its small size.

Where are Microprocessors Used?

Due to the useful features as mentioned above, you will see microprocessors being used is several electronic devices which includes and are not limited to:

  • Mobile phones
  • Electronic and video games
  • Kitchen appliances
  • Automobile emission control devices
  • Timing devices
  • Home thermal controls
  • Calculators
  • Telephone switching systems and
  • Security systems.

You will also see microprocessors are used in several different devices used in the industries to monitor and do different things such as:

  • Operations
  • Temperature
  • Speed
  • Pressure
  • Alert or warning system on extreme conditions
  • Automating office work and business processes.

Microprocessors are also used to:

  • Simplify publishing activities
  • Expedite information exchange through satellite and telephone network and
  • Making innovative devices for entertainment and photography.

Moreover, the microprocessors are used in a lot of devices that are specifically used in military applications and also in space research.

In short, the microprocessors are found in almost any device you use today that helps in doing your home and office jobs in a much better and faster manner and also stay connected with the rest of the world.

Why is the Microprocessor Important?

A microprocessor is important because without it the computer will not be able to perform any task that you want it to.

It takes the data input and processes it by performing different arithmetic and logical operations to produce the desired output.

The microprocessor helps the computer add and subtract, multiply and divide, compare and transfer numbers from one place to another.

In short, it is the central part of the computer without which the system will be β€˜brain dead,’ with all puns intended.

Advantages

There are several benefits of using a microprocessor and it is all due to the design and functionality of these processors.

To be very specific, the use of microprocessors in the systems in an industry helps in a lot of ways such as:

  • Reducing operating cost
  • Optimizing control, monitoring, and money saving strategies
  • Ensuring uniformity in operations with automated processes
  • Improving responsiveness in product processing, specification and while making new additions
  • Incorporating better strategies to reduce product offset due to equipment failure
  • Improving plant safety
  • Improving communications between maintenance and operations managers and
  • Incorporating Relational Database Management and statistical strategies.

In general, the microprocessors in a computer helps in performing multiple tasks very fast because it helps in moving data very quickly between different memory locations and devices.

Disadvantages

Just like a coin has two faces, the microprocessors also come with some disadvantages.

Therefore, when you look at the flip side, the significant downsides of the microprocessors are:

  • Overheating if used continuously
  • Performance is dependent on the size of the data
  • Lack of floating point operations support
  • Bigger in size than the microcontrollers
  • Performance is based on machine language only
  • High overall cost and
  • Lack of any internal peripherals such as RAM, ROM and other I/O devices.

Most importantly, it is required to ensure that it does not come in contact with any other external devices.

Conclusion

Ideally, the microprocessors of today have really revolutionized modern computing.

And, thanks to this article, now you know what it is, how it works, as well as the specific reasons as to why it has become an integral part in the development process of everyday technology.

About Puja Chatterjee

AvatarPuja Chatterjee, a distinguished technical writer, boasts an extensive and nuanced understanding of computer technology. She is an esteemed graduate of the Bengal Institute of Management Studies (BIMS), where she honed her skills and knowledge in the tech domain. Over the span of more than 12 years, Puja has developed a deep expertise that encompasses not only technology writing, where she articulates complex technical concepts with clarity and precision, but also in the realm of client relationship management. Her experience in this area is characterized by her ability to effectively communicate and engage with clients, ensuring their needs are met with the highest level of professionalism and understanding of their technical requirements. Puja's career is marked by a commitment to excellence in both written communication within the tech industry and fostering strong, productive relationships with clients.

Previous articleWhat is Accelerated Graphics Port (AGP)? (Explained)
Next articleApplication Specific Integrated Circuit (ASIC) Explained
Puja Chatterjee
Puja Chatterjee, a distinguished technical writer, boasts an extensive and nuanced understanding of computer technology. She is an esteemed graduate of the Bengal Institute of Management Studies (BIMS), where she honed her skills and knowledge in the tech domain. Over the span of more than 12 years, Puja has developed a deep expertise that encompasses not only technology writing, where she articulates complex technical concepts with clarity and precision, but also in the realm of client relationship management. Her experience in this area is characterized by her ability to effectively communicate and engage with clients, ensuring their needs are met with the highest level of professionalism and understanding of their technical requirements. Puja's career is marked by a commitment to excellence in both written communication within the tech industry and fostering strong, productive relationships with clients.
5 Comments
Oldest
Newest
Inline Feedbacks
View all comments