A microprocessor (CPU or Central Processing Unit*) is a digital and analog information processing device, the main part of the system's hardware control, and at the same time the main instrument capable of performing arithmetic and logical operations written using machine code.
The CPU* has several main functions - transferring data between RAM and other PC components, synchronizing information on external and internal drives, organizing multi-threaded and multi-program work in an uninterrupted mode, decrypting machine code, synchronizing numbers in different registers. And although the listed functions are difficult to translate into “everyman language”, it is worth remembering the following - “Central processing unit” is the most important element of any personal computer.
And another amazing fact to note: for all those years of development of microprocessors, no alternative was found to them. Even modern new products from Intel, which cope with the load a thousand times faster than all competitors from the distant past, and home chips, faster in speed than all the computers that were based on the Apollo spacecraft that conquered the Moon, still remain processors with the same tasks and goals...
Purpose and scope of microprocessors
Functionally, the microprocessor is designed to solve the following tasks:
- Step-by-step reading and decryption of commands from main and RAM memory, registers and external device adapters.
- Processing requests when servicing personal computer components.
- Synchronization of data on data storage devices.
- Generation of control signals for PC nodes and blocks.
In addition, it is important to understand exactly what parts any processor consists of:
- A device for processing arithmetic, logical and any other numeric, symbolic operations that appear during interaction with a computer.
- A center for managing and coordinating the interaction of various PC components (we’re talking about everything at once - RAM, connected keyboards and mice, USB controllers, headphones, etc.).
- Microprocessor memory, responsible for sequential storage of various data, actions and commands, to increase the speed of information processing and directly save time (why calculate the same example twice if the answer is already stored in a pre-prepared cell?).
- Interface system - the ability to interact with the processor through input-output systems.
CISC architecture
Complex Instruction Set Computer - complex instructions for a computer. The characteristics of a microprocessor with this architecture are as follows:
- They have a large number of commands that differ in their functionality, length and format.
- Various addressing systems are used.
- There is a complex command encoding.
What are microprocessors of this architecture? These are complex devices whose main emphasis is on functionality.
Development history: the first microprocessor
Transistors, electromechanical relays, cores, vacuum tubes - the first processors that diligently performed simple arithmetic and logical operations appeared back in 1940, but remained unreliable, bulky, and inapplicable in everyday conditions (the main purpose was government developments, large and growing turnover of processing companies) – too much energy release, uncontrolled heat transfer, low data processing speed. I couldn’t even dream of using such chips at home, if only because of the lack of free space. Installing a computer with a microprocessor in one of the rooms would only be possible in a palace.
Over time, everything changed. In 1970, Edward Hoff, who represented the largest department for the development of components for electronic computers, presented to Intel executives an integrated circuit that performed the same functions as computer chips, but with a small nuance - Edward's board fit in the hand, processed 4 bits of information per second (competitors provided much more power - up to 32 bits simultaneously), and cost a thousand times less.
The first calculators were equipped with Edward Hoff's 4004 processor, which went on sale in early 1971. From this moment, as is commonly believed, the era of new processors began that changed the world.
Further, the history of the development of microprocessors moved in the following way:
- April 1, 1974. Intel is again shocking the interested public - the 8080 model with 6 thousand transistors on a tiny circuit appeared on closed shelves, the memory capacity was increased to 64 kilobytes, problems with energy consumption were solved, and heat transfer was almost zero. A little later, the 8086 chip appeared, which laid the foundation for the bit capacity of modern computers.
- October 1985. Intel is in the spotlight again, with an even more unexpected new product - Model i 32-bit architecture, new memory management capabilities, increased power, a clock speed of 16 MHz and an overall performance of 6 Mips - the world could not even imagine how quickly things were changing the capabilities of those antediluvian computers that suddenly had the ability to work with 4 GB of RAM and carry out thousands of arithmetic operations in just a few seconds. But there are even more discoveries ahead!
- Autumn 1989. The i80486DX microprocessor, which fits 1.2 million transistors on a tiny board, as well as a coprocessor and cache memory, which made it possible to increase the current performance of the computer by intermediately storing some data, numbers, commands and actions. Overall performance increased to 16.5 Mips. The clock frequency has increased to 16 MHz.
- Beginning of 1991. The appearance of the i80486SX is a regular increase in capacity, and the developers from Intel have been thinking long and hard about introducing the emerging chips into laptops and other portable devices. The result is different versions of processors designed for changing (sometimes computing, sometimes control) needs. All experiments ended with the appearance of the 2nd generation of MP (like the i486DX2), supporting a new technology for distributing power between two different cores of the central system.
- March 1995. The world is getting acquainted with the Intel Pentium for the first time; the supply of chips in stores for ordinary users is just around the corner. Capacities were increased to the possible (for those years) limit - 1 billion Mips.
Then supplies of multi-core processors appeared, then Xeon and Intel Core appeared, and then a new star lit up on the world market - AMD modular processors. Since then (namely since 2007), there has been a continuous war between the two companies for the attention of users.
At the moment, it is impossible to even roughly describe the state of the MP market - Intel Core introduces new microprocessor architectures (Coffee Lake, Skylake, Haswell, Kaby Lake) almost every year, and at the same time changes the names of the processor family (Intel Core i3, i5, i7, i9). AMD tries to surprise with low prices and impressive overclocking capabilities. And who is the leader in such chaos is still unclear.
MISC architecture
Multipurpose Instruction Set Computer - multipurpose instructions for controlling a computer. It is an attempt to combine the advantages of CISC and RISC. Here the element base is assembled from separate parts (which are often combined in one housing):
- Main part. Based on RISC architecture.
- Expandable part. It contains the connected firmware control ROM.
The system itself acquires CISC properties. So, the main teams here work on the basis provided by RISC. At the same time, there is an extension that “creates” firmware. The RISC basis executes all its instructions in one clock cycle. And the extension uses a complex set of commands. Thanks to the presence of ROM, the disadvantage of RISC is eliminated that when the operation code is compiled from a high-level language, it is already decrypted and open to the programmer. This is what microprocessors are, and these are the properties they should have from the point of view of the given architecture of their construction.
Types of microprocessors
Both modern and long-known MPs can be easily divided into four parts:
- CISC is a universal architecture that appeared in 1980. An extended list of commands is supported, simple operations take quite a long time to complete, but there are no problems with complex ones due to multitasking.
- RISC is an alternative to the first option with truncated memory. Each process is divided into small teams when executed.
- VLIW , which supports multiple computing devices at once, and performs operations in parallel to ensure maximum performance.
- MISC is a clever architecture that allows you to put different commands into one large cell. As a result, during one cycle of operation, the central processor reads all written commands at once.
Principle of address formation
Let's set the task to form a 20-bit address (addr20), providing access to 220 = 1M bytes of memory, using two 16-bit registers. Each of the 16-bit registers provides access to 216 cells or 64K bytes of memory. Therefore, we will allocate a segment with a capacity of 64K bytes in 1M byte of memory with the condition that the least significant digit of its hexadecimal code of the starting address is equal to zero, i.e. the address code has the form XXXX0
h, where X = 0 or 1, h is the hexadecimal code designation. We will select one of the registers as a segment selector (sel), the other as an offset register (offset). Let's represent the address as the sum addr20 = 1 6 x sel +offset =XXXX0h +YYYYh.
From the expression it follows that by changing the contents of the selector (ХХХХ h) and the offset register (YYYYh) from 0000 h to FFFFh, 164x164 combinations of addresses can be obtained. However, among them there are the same codes. The total number of memory cells with different addresses is 220 – 24 + 216.
In Fig. 2.2.4, and shows how you can provide access to memory with a number of cells of 220 (or a capacity of 1 M bytes when using single-byte cells).
Processors use segment registers (CS code registers, SS stack registers, DS data registers, and an additional ES register) as selectors, which can be thought of as segment pointers, and general purpose registers (IP program counter, SP stack pointer, SP stack pointer) as offset registers. base pointer BP and auto-incremental SI and auto-decremental DI addressing registers). The following register pairs are possible:
CS<—>IP,
SS<—>SP,
DS<—>BP,
DS<—>SI,
ES<—>DI. In Fig. 2.2.4, b shows as an example the implementation of the addressing principle using a pair
SS <—>SP.
Features of Russian microprocessors
From 1998 to this day, it has been developing microprocessors in the domestic segment. The results are impressive - stable production of RISC systems, introduction of the Elbrus series into military-defense complexes, space stations and classified bases for data transmission with the maximum level of encryption. The merits are serious, although to many ordinary people such “successes” seem ridiculous, against the backdrop of global giants like Intel and AMD.
Yes, the achievements are not the same, but the goals are completely different, right? Elbrus can hardly be regarded as a gaming chip capable of running all modern entertainment in maximum quality - it is, first of all, a system for ultra-fast data processing (primarily for military purposes) in field and even extreme conditions.
History of the development of processors from Russia:
- 1998 . The first SPARC model with a frequency of 80 MHz.
- year 2001 . Adjusting the SPARC model, increasing power, reducing energy consumption, working on the third version of the processor with a frequency of 500 MHz.
- 2004 . Introduced E2K, a new generation processor capable of operating in almost any environment.
- 2005 year . The appearance of the first samples of Elbrus, experiments and a look into the future - many years of struggle for world leadership in the field of modern technologies lie ahead...
RISC architecture
Reduced Instruction Set Computer - homogeneous instructions for a computer. The characteristics of a microprocessor with this architecture are as follows:
- Uses a simplified type of command system: they all have the same format with simple encoding. Data is moved from RAM to the microprocessor register and vice versa using load instructions.
- Despite their high performance, these microprocessors may have a relatively low clock speed and a lower degree of VLSI integration.
- Commands produce less load on RAM.
- But debugging programs on RISC is much more difficult than on CISC.
- It is impossible to use the same programs with CISC.
16-bit microcontrollers
In addition to the increased bit capacity of the processed data, 16-bit microcontrollers are characterized by:
- higher productivity;
- an expanded system of commands and addressing methods;
- increased set of registers and addressable memory volume;
- the ability to expand the memory capacity of programs and data up to several megabytes by connecting external memory chips;
- software compatibility with 8-bit microcontrollers and other features.
The main areas of application are complex industrial automation, telecommunications equipment, medical and measuring equipment.
32-bit microcontrollers
32-bit microcontrollers are designed for use in control systems for complex industrial automation objects (complex production automation tools, robotic devices, motors, etc.), in instrumentation equipment, telecommunications equipment and other complex devices. 32-bit microcontrollers contain:
- high-performance CISC or RISC processor, comparable in its capabilities to low-end models of general-purpose microprocessors. For example, Intel microcontrollers use an i386 processor, and Motorola microcontrollers use a 680x0 processor. The introduction of these processors into microcontrollers makes it possible to use in the corresponding control systems a huge amount of application and system software that was previously created for the corresponding personal computers. Some types of microcontrollers contain multiple execution pipelines forming a superscalar structure;
- internal command memory with a capacity of up to tens of kilobytes and data memory with a capacity of up to several kilobytes;
- means for connecting external memory up to 16 MB and higher;
- a set of complex peripheral devices - a time processor, a communication processor, a serial exchange module and a number of others. The internal structure of these microcontrollers implements Princeton or Harvard architecture.
Digital Signal Processors
This class of specialized microprocessors is designed to digitally process incoming analog signals in real time. The architecture of digital signal processors (DSPs) is focused on quickly executing a sequence of multiplication-addition operations with the accumulation of an intermediate result in an accumulator register, which is due to the peculiarities of analog signal processing algorithms. Therefore, the instruction set of these processors contains special MAC (Multiplication with Accumulation) instructions that implement these operations.
The value of a digitized analog signal can be represented as a fixed-point number or a floating-point number. In accordance with this, DSPs are divided into two classes:
- on processors that process fixed-point numbers. This class includes simpler and cheaper DSPs that typically process 16- or 24-bit operands represented as proper fractions. However, the limited bit capacity in some cases does not allow ensuring the necessary accuracy of the results;
- on processors that process floating point numbers. Processors in this class perform calculations on 32- and 40-bit operands and provide higher accuracy results.
To improve performance when performing specific signal processing operations, most DSPs implement a Harvard architecture using separate buses for transmitting addresses, commands, and data. Some features have also found application in a number of DSPs
VLIW architecture , which is characterized by the combination of several operations in one command. This combination ensures that existing data is processed and new data is simultaneously loaded into the executive pipeline for subsequent processing.
Media processors
This type of processor is designed for processing audio signals, graphics, video images, as well as for solving a number of communication problems in multimedia computers, game consoles, household appliances, etc.
Hardware support for operations with new data types typical for processing video and audio information is provided by universal processors with a multimedia instruction set extension: Pentium MMX, UltraSPARC, Cyrix 6x86MX (M2), AMD-K6, etc. However, when multimedia operations dominate over traditional numerical operations, the use of multimedia microprocessors gives greater effect. Their architecture is a kind of hybrid of architectural solutions for signal and general-purpose processors. The companies MicroUnity (Mediaprocessor processor), Philips (TriMedia), Chromatic Research (Mpact Media Engine), etc. are engaged in the production of media processors.