A central processing unit (CPU)—also called a central processor or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry,[1] and specialized coprocessors such as graphics processing units (GPUs).
The form, design, and implementation of CPUs have changed over time, but their fundamental operation remains almost unchanged. Principal components of a CPU include the arithmetic–logic unit (ALU) that performs arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that orchestrates the fetching (from memory), decoding and execution (of instructions) by directing the coordinated operations of the ALU, registers, and other components.
Most modern CPUs are implemented on integrated circuit (IC) microprocessors, with one or more CPUs on a single IC chip. Microprocessor chips with multiple CPUs are multi-core processors. The individual physical CPUs, processor cores, can also be multithreaded to create additional virtual or logical CPUs.[2]
An IC that contains a CPU may also contain memory, peripheral interfaces, and other components of a computer; such integrated devices are variously called microcontrollers or systems on a chip (SoC).
Array processors or vector processors have multiple processors that operate in parallel, with no unit considered central. Virtual CPUs are an abstraction of dynamically aggregated computational resources.[3]
History[edit]
Early computers such as the ENIAC had to be physically rewired to perform different tasks, which caused these machines to be called «fixed-program computers».[4] The «central processing unit» term has been in use since as early as 1955.[5][6] Since the term «CPU» is generally defined as a device for software (computer program) execution, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer.
The idea of a stored-program computer had been already present in the design of J. Presper Eckert and John William Mauchly’s ENIAC, but was initially omitted so that it could be finished sooner.[7] On June 30, 1945, before ENIAC was made, mathematician John von Neumann distributed a paper entitled First Draft of a Report on the EDVAC. It was the outline of a stored-program computer that would eventually be completed in August 1949.[8] EDVAC was designed to perform a certain number of instructions (or operations) of various types. Significantly, the programs written for EDVAC were to be stored in high-speed computer memory rather than specified by the physical wiring of the computer.[9] This overcame a severe limitation of ENIAC, which was the considerable time and effort required to reconfigure the computer to perform a new task.[10] With von Neumann’s design, the program that EDVAC ran could be changed simply by changing the contents of the memory. EDVAC was not the first stored-program computer; the Manchester Baby, which was a small-scale experimental stored-program computer, ran its first program on 21 June 1948[11] and the Manchester Mark 1 ran its first program during the night of 16–17 June 1949.[12]
Early CPUs were custom designs used as part of a larger and sometimes distinctive computer.[13] However, this method of designing custom CPUs for a particular application has largely given way to the development of multi-purpose processors produced in large quantities. This standardization began in the era of discrete transistor mainframes and minicomputers, and has rapidly accelerated with the popularization of the integrated circuit (IC). The IC has allowed increasingly complex CPUs to be designed and manufactured to tolerances on the order of nanometers.[14] Both the miniaturization and standardization of CPUs have increased the presence of digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in electronic devices ranging from automobiles[15] to cellphones,[16] and sometimes even in toys.[17][18]
While von Neumann is most often credited with the design of the stored-program computer because of his design of EDVAC, and the design became known as the von Neumann architecture, others before him, such as Konrad Zuse, had suggested and implemented similar ideas.[19] The so-called Harvard architecture of the Harvard Mark I, which was completed before EDVAC,[20][21] also used a stored-program design using punched paper tape rather than electronic memory.[22] The key difference between the von Neumann and Harvard architectures is that the latter separates the storage and treatment of CPU instructions and data, while the former uses the same memory space for both.[23] Most modern CPUs are primarily von Neumann in design, but CPUs with the Harvard architecture are seen as well, especially in embedded applications; for instance, the Atmel AVR microcontrollers are Harvard-architecture processors.[24]
Relays and vacuum tubes (thermionic tubes) were commonly used as switching elements;[25][26] a useful computer requires thousands or tens of thousands of switching devices. The overall speed of a system is dependent on the speed of the switches. Vacuum-tube computers such as EDVAC tended to average eight hours between failures, whereas relay computers—such as the slower but earlier Harvard Mark I—failed very rarely.[6] In the end, tube-based CPUs became dominant because the significant speed advantages afforded generally outweighed the reliability problems. Most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs. Clock signal frequencies ranging from 100 kHz to 4 MHz were very common at this time, limited largely by the speed of the switching devices they were built with.[27]
Transistor CPUs[edit]
The design complexity of CPUs increased as various technologies facilitated the building of smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorized CPUs during the 1950s and 1960s no longer had to be built out of bulky, unreliable, and fragile switching elements, like vacuum tubes and relays.[28] With this improvement, more complex and reliable CPUs were built onto one or several printed circuit boards containing discrete (individual) components.
In 1964, IBM introduced its IBM System/360 computer architecture that was used in a series of computers capable of running the same programs with different speeds and performances.[29] This was significant at a time when most electronic computers were incompatible with one another, even those made by the same manufacturer. To facilitate this improvement, IBM used the concept of a microprogram (often called «microcode»), which still sees widespread usage in modern CPUs.[30] The System/360 architecture was so popular that it dominated the mainframe computer market for decades and left a legacy that is still continued by similar modern computers like the IBM zSeries.[31][32] In 1965, Digital Equipment Corporation (DEC) introduced another influential computer aimed at the scientific and research markets—the PDP-8.[33]
Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay.[34] The increased reliability and dramatically increased speed of the switching elements, which were almost exclusively transistors by this time; CPU clock rates in the tens of megahertz were easily obtained during this period.[35] Additionally, while discrete transistor and IC CPUs were in heavy usage, new high-performance designs like single instruction, multiple data (SIMD) vector processors began to appear.[36] These early experimental designs later gave rise to the era of specialized supercomputers like those made by Cray Inc and Fujitsu Ltd.[36]
Small-scale integration CPUs[edit]
During this period, a method of manufacturing many interconnected transistors in a compact space was developed. The integrated circuit (IC) allowed a large number of transistors to be manufactured on a single semiconductor-based die, or «chip». At first, only very basic non-specialized digital circuits such as NOR gates were miniaturized into ICs.[37] CPUs based on these «building block» ICs are generally referred to as «small-scale integration» (SSI) devices. SSI ICs, such as the ones used in the Apollo Guidance Computer, usually contained up to a few dozen transistors. To build an entire CPU out of SSI ICs required thousands of individual chips, but still consumed much less space and power than earlier discrete transistor designs.[38]
IBM’s System/370, follow-on to the System/360, used SSI ICs rather than Solid Logic Technology discrete-transistor modules.[39][40] DEC’s PDP-8/I and KI10 PDP-10 also switched from the individual transistors used by the PDP-8 and PDP-10 to SSI ICs,[41] and their extremely popular PDP-11 line was originally built with SSI ICs, but was eventually implemented with LSI components once these became practical.
Large-scale integration CPUs[edit]
Lee Boysel published influential articles, including a 1967 «manifesto», which described how to build the equivalent of a 32-bit mainframe computer from a relatively small number of large-scale integration circuits (LSI).[42][43] The only way to build LSI chips, which are chips with a hundred or more gates, was to build them using a metal–oxide–semiconductor (MOS) semiconductor manufacturing process (either PMOS logic, NMOS logic, or CMOS logic). However, some companies continued to build processors out of bipolar transistor–transistor logic (TTL) chips because bipolar junction transistors were faster than MOS chips up until the 1970s (a few companies such as Datapoint continued to build processors out of TTL chips until the early 1980s).[43] In the 1960s, MOS ICs were slower and initially considered useful only in applications that required low power.[44][45] Following the development of silicon-gate MOS technology by Federico Faggin at Fairchild Semiconductor in 1968, MOS ICs largely replaced bipolar TTL as the standard chip technology in the early 1970s.[46]
As the microelectronic technology advanced, an increasing number of transistors were placed on ICs, decreasing the number of individual ICs needed for a complete CPU. MSI and LSI ICs increased transistor counts to hundreds, and then thousands. By 1968, the number of ICs required to build a complete CPU had been reduced to 24 ICs of eight different types, with each IC containing roughly 1000 MOSFETs.[47] In stark contrast with its SSI and MSI predecessors, the first LSI implementation of the PDP-11 contained a CPU composed of only four LSI integrated circuits.[48]
Microprocessors[edit]
Since microprocessors were first introduced they have almost completely overtaken all other central processing unit implementation methods. The first commercially available microprocessor, made in 1971, was the Intel 4004, and the first widely used microprocessor, made in 1974, was the Intel 8080. Mainframe and minicomputer manufacturers of the time launched proprietary IC development programs to upgrade their older computer architectures, and eventually produced instruction set compatible microprocessors that were backward-compatible with their older hardware and software. Combined with the advent and eventual success of the ubiquitous personal computer, the term CPU is now applied almost exclusively[a] to microprocessors. Several CPUs (denoted cores) can be combined in a single processing chip.[49]
Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits (ICs) on one or more circuit boards.[50] Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one.[51] The overall smaller CPU size, as a result of being implemented on a single die, means faster switching time because of physical factors like decreased gate parasitic capacitance.[52][53] This has allowed synchronous microprocessors to have clock rates ranging from tens of megahertz to several gigahertz. Additionally, the ability to construct exceedingly small transistors on an IC has increased the complexity and number of transistors in a single CPU many fold. This widely observed trend is described by Moore’s law, which had proven to be a fairly accurate predictor of the growth of CPU (and other IC) complexity until 2016.[54][55]
While the complexity, size, construction and general form of CPUs have changed enormously since 1950,[56] the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines.[57][b] As Moore’s law no longer holds, concerns have arisen about the limits of integrated circuit transistor technology. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant.[59][60] These newer concerns are among the many factors causing researchers to investigate new methods of computing such as the quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model.
Operation[edit]
The fundamental operation of most CPUs, regardless of the physical form they take, is to execute a sequence of stored instructions that is called a program. The instructions to be executed are kept in some kind of computer memory. Nearly all CPUs follow the fetch, decode and execute steps in their operation, which are collectively known as the instruction cycle.
After the execution of an instruction, the entire process repeats, with the next instruction cycle normally fetching the next-in-sequence instruction because of the incremented value in the program counter. If a jump instruction was executed, the program counter will be modified to contain the address of the instruction that was jumped to and program execution continues normally. In more complex CPUs, multiple instructions can be fetched, decoded and executed simultaneously. This section describes what is generally referred to as the «classic RISC pipeline», which is quite common among the simple CPUs used in many electronic devices (often called microcontrollers). It largely ignores the important role of CPU cache, and therefore the access stage of the pipeline.
Some instructions manipulate the program counter rather than producing result data directly; such instructions are generally called «jumps» and facilitate program behavior like loops, conditional program execution (through the use of a conditional jump), and existence of functions.[c] In some processors, some other instructions change the state of bits in a «flags» register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, in such processors a «compare» instruction evaluates two values and sets or clears bits in the flags register to indicate which one is greater or whether they are equal; one of these flags could then be used by a later jump instruction to determine program flow.
Fetch[edit]
Fetch involves retrieving an instruction (which is represented by a number or sequence of numbers) from program memory. The instruction’s location (address) in program memory is determined by the program counter (PC; called the «instruction pointer» in Intel x86 microprocessors), which stores a number that identifies the address of the next instruction to be fetched. After an instruction is fetched, the PC is incremented by the length of the instruction so that it will contain the address of the next instruction in the sequence.[d] Often, the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned. This issue is largely addressed in modern processors by caches and pipeline architectures (see below).
Decode[edit]
The instruction that the CPU fetches from memory determines what the CPU will do. In the decode step, performed by binary decoder circuitry known as the instruction decoder, the instruction is converted into signals that control other parts of the CPU.
The way in which the instruction is interpreted is defined by the CPU’s instruction set architecture (ISA).[e] Often, one group of bits (that is, a «field») within the instruction, called the opcode, indicates which operation is to be performed, while the remaining fields usually provide supplemental information required for the operation, such as the operands. Those operands may be specified as a constant value (called an immediate value), or as the location of a value that may be a processor register or a memory address, as determined by some addressing mode.
In some CPU designs the instruction decoder is implemented as a hardwired, unchangeable binary decoder circuit. In others, a microprogram is used to translate instructions into sets of CPU configuration signals that are applied sequentially over multiple clock pulses. In some cases the memory that stores the microprogram is rewritable, making it possible to change the way in which the CPU decodes instructions.
Execute[edit]
After the fetch and decode steps, the execute step is performed. Depending on the CPU architecture, this may consist of a single action or a sequence of actions. During each action, control signals electrically enable or disable various parts of the CPU so they can perform all or part of the desired operation. The action is then completed, typically in response to a clock pulse. Very often the results are written to an internal CPU register for quick access by subsequent instructions. In other cases results may be written to slower, but less expensive and higher capacity main memory.
For example, if an instruction that performs addition is to be executed, registers containing operands (numbers to be summed) are activated, as are the parts of the arithmetic logic unit (ALU) that perform addition. When the clock pulse occurs, the operands flow from the source registers into the ALU, and the sum appears at its output. On subsequent clock pulses, other components are enabled (and disabled) to move the output (the sum of the operation) to storage (e.g., a register or memory). If the resulting sum is too large (i.e., it is larger than the ALU’s output word size), an arithmetic overflow flag will be set, influencing the next operation.
Structure and implementation[edit]
Hardwired into a CPU’s circuitry is a set of basic operations it can perform, called an instruction set. Such operations may involve, for example, adding or subtracting two numbers, comparing two numbers, or jumping to a different part of a program. Each instruction is represented by a unique combination of bits, known as the machine language opcode. While processing an instruction, the CPU decodes the opcode (via a binary decoder) into control signals, which orchestrate the behavior of the CPU. A complete machine language instruction consists of an opcode and, in many cases, additional bits that specify arguments for the operation (for example, the numbers to be summed in the case of an addition operation). Going up the complexity scale, a machine language program is a collection of machine language instructions that the CPU executes.
The actual mathematical operation for each instruction is performed by a combinational logic circuit within the CPU’s processor known as the arithmetic–logic unit or ALU. In general, a CPU executes an instruction by fetching it from memory, using its ALU to perform an operation, and then storing the result to memory. Besides the instructions for integer mathematics and logic operations, various other machine instructions exist, such as those for loading data from memory and storing it back, branching operations, and mathematical operations on floating-point numbers performed by the CPU’s floating-point unit (FPU).[61]
Control unit[edit]
The control unit (CU) is a component of the CPU that directs the operation of the processor. It tells the computer’s memory, arithmetic and logic unit and input and output devices how to respond to the instructions that have been sent to the processor.
It directs the operation of the other units by providing timing and control signals. Most computer resources are managed by the CU. It directs the flow of data between the CPU and the other devices. John von Neumann included the control unit as part of the von Neumann architecture. In modern computer designs, the control unit is typically an internal part of the CPU with its overall role and operation unchanged since its introduction.[62]
Arithmetic logic unit[edit]
The arithmetic logic unit (ALU) is a digital circuit within the processor that performs integer arithmetic and bitwise logic operations. The inputs to the ALU are the data words to be operated on (called operands), status information from previous operations, and a code from the control unit indicating which operation to perform. Depending on the instruction being executed, the operands may come from internal CPU registers, external memory, or constants generated by the ALU itself.
When all input signals have settled and propagated through the ALU circuitry, the result of the performed operation appears at the ALU’s outputs. The result consists of both a data word, which may be stored in a register or memory, and status information that is typically stored in a special, internal CPU register reserved for this purpose.
Address generation unit[edit]
The address generation unit (AGU), sometimes also called the address computation unit (ACU),[63] is an execution unit inside the CPU that calculates addresses used by the CPU to access main memory. By having address calculations handled by separate circuitry that operates in parallel with the rest of the CPU, the number of CPU cycles required for executing various machine instructions can be reduced, bringing performance improvements.
While performing various operations, CPUs need to calculate memory addresses required for fetching data from the memory; for example, in-memory positions of array elements must be calculated before the CPU can fetch the data from actual memory locations. Those address-generation calculations involve different integer arithmetic operations, such as addition, subtraction, modulo operations, or bit shifts. Often, calculating a memory address involves more than one general-purpose machine instruction, which do not necessarily decode and execute quickly. By incorporating an AGU into a CPU design, together with introducing specialized instructions that use the AGU, various address-generation calculations can be offloaded from the rest of the CPU, and can often be executed quickly in a single CPU cycle.
Capabilities of an AGU depend on a particular CPU and its architecture. Thus, some AGUs implement and expose more address-calculation operations, while some also include more advanced specialized instructions that can operate on multiple operands at a time. Some CPU architectures include multiple AGUs so more than one address-calculation operation can be executed simultaneously, which brings further performance improvements due to the superscalar nature of advanced CPU designs. For example, Intel incorporates multiple AGUs into its Sandy Bridge and Haswell microarchitectures, which increase bandwidth of the CPU memory subsystem by allowing multiple memory-access instructions to be executed in parallel.
Memory management unit (MMU)[edit]
Many microprocessors (in smartphones and desktop, laptop, server computers) have a memory management unit, translating logical addresses into physical RAM addresses, providing memory protection and paging abilities, useful for virtual memory. Simpler processors, especially microcontrollers, usually don’t include an MMU.
Cache[edit]
A CPU cache[64] is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory. A cache is a smaller, faster memory, closer to a processor core, which stores copies of the data from frequently used main memory locations. Most CPUs have different independent caches, including instruction and data caches, where the data cache is usually organized as a hierarchy of more cache levels (L1, L2, L3, L4, etc.).
All modern (fast) CPUs (with few specialized exceptions[f]) have multiple levels of CPU caches. The first CPUs that used a cache had only one level of cache; unlike later level 1 caches, it was not split into L1d (for data) and L1i (for instructions). Almost all current CPUs with caches have a split L1 cache. They also have L2 caches and, for larger processors, L3 caches as well. The L2 cache is usually not split and acts as a common repository for the already split L1 cache. Every core of a multi-core processor has a dedicated L2 cache and is usually not shared between the cores. The L3 cache, and higher-level caches, are shared between the cores and are not split. An L4 cache is currently uncommon, and is generally on dynamic random-access memory (DRAM), rather than on static random-access memory (SRAM), on a separate die or chip. That was also the case historically with L1, while bigger chips have allowed integration of it and generally all cache levels, with the possible exception of the last level. Each extra level of cache tends to be bigger and be optimized differently.
Other types of caches exist (that are not counted towards the «cache size» of the most important caches mentioned above), such as the translation lookaside buffer (TLB) that is part of the memory management unit (MMU) that most CPUs have.
Caches are generally sized in powers of two: 2, 8, 16 etc. KiB or MiB (for larger non-L1) sizes, although the IBM z13 has a 96 KiB L1 instruction cache.[65]
Clock rate[edit]
Most CPUs are synchronous circuits, which means they employ a clock signal to pace their sequential operations. The clock signal is produced by an external oscillator circuit that generates a consistent number of pulses each second in the form of a periodic square wave. The frequency of the clock pulses determines the rate at which a CPU executes instructions and, consequently, the faster the clock, the more instructions the CPU will execute each second.
To ensure proper operation of the CPU, the clock period is longer than the maximum time needed for all signals to propagate (move) through the CPU. In setting the clock period to a value well above the worst-case propagation delay, it is possible to design the entire CPU and the way it moves data around the «edges» of the rising and falling clock signal. This has the advantage of simplifying the CPU significantly, both from a design perspective and a component-count perspective. However, it also carries the disadvantage that the entire CPU must wait on its slowest elements, even though some portions of it are much faster. This limitation has largely been compensated for by various methods of increasing CPU parallelism (see below).
However, architectural improvements alone do not solve all of the drawbacks of globally synchronous CPUs. For example, a clock signal is subject to the delays of any other electrical signal. Higher clock rates in increasingly complex CPUs make it more difficult to keep the clock signal in phase (synchronized) throughout the entire unit. This has led many modern CPUs to require multiple identical clock signals to be provided to avoid delaying a single signal significantly enough to cause the CPU to malfunction. Another major issue, as clock rates increase dramatically, is the amount of heat that is dissipated by the CPU. The constantly changing clock causes many components to switch regardless of whether they are being used at that time. In general, a component that is switching uses more energy than an element in a static state. Therefore, as clock rate increases, so does energy consumption, causing the CPU to require more heat dissipation in the form of CPU cooling solutions.
One method of dealing with the switching of unneeded components is called clock gating, which involves turning off the clock signal to unneeded components (effectively disabling them). However, this is often regarded as difficult to implement and therefore does not see common usage outside of very low-power designs. One notable recent CPU design that uses extensive clock gating is the IBM PowerPC-based Xenon used in the Xbox 360; that way, power requirements of the Xbox 360 are greatly reduced.[66]
Clockless CPUs[edit]
Another method of addressing some of the problems with a global clock signal is the removal of the clock signal altogether. While removing the global clock signal makes the design process considerably more complex in many ways, asynchronous (or clockless) designs carry marked advantages in power consumption and heat dissipation in comparison with similar synchronous designs. While somewhat uncommon, entire asynchronous CPUs have been built without using a global clock signal. Two notable examples of this are the ARM compliant AMULET and the MIPS R3000 compatible MiniMIPS.[67]
Rather than totally removing the clock signal, some CPU designs allow certain portions of the device to be asynchronous, such as using asynchronous ALUs in conjunction with superscalar pipelining to achieve some arithmetic performance gains. While it is not altogether clear whether totally asynchronous designs can perform at a comparable or better level than their synchronous counterparts, it is evident that they do at least excel in simpler math operations. This, combined with their excellent power consumption and heat dissipation properties, makes them very suitable for embedded computers.[68]
Voltage regulator module[edit]
Many modern CPUs have a die-integrated power managing module which regulates on-demand voltage supply to the CPU circuitry allowing it to keep balance between performance and power consumption.
Integer range[edit]
Every CPU represents numerical values in a specific way. For example, some early digital computers represented numbers as familiar decimal (base 10) numeral system values, and others have employed more unusual representations such as ternary (base three). Nearly all modern CPUs represent numbers in binary form, with each digit being represented by some two-valued physical quantity such as a «high» or «low» voltage.[g]
Related to numeric representation is the size and precision of integer numbers that a CPU can represent. In the case of a binary CPU, this is measured by the number of bits (significant digits of a binary encoded integer) that the CPU can process in one operation, which is commonly called word size, bit width, data path width, integer precision, or integer size. A CPU’s integer size determines the range of integer values it can directly operate on.[h] For example, an 8-bit CPU can directly manipulate integers represented by eight bits, which have a range of 256 (28) discrete integer values.
Integer range can also affect the number of memory locations the CPU can directly address (an address is an integer value representing a specific memory location). For example, if a binary CPU uses 32 bits to represent a memory address then it can directly address 232 memory locations. To circumvent this limitation and for various other reasons, some CPUs use mechanisms (such as bank switching) that allow additional memory to be addressed.
CPUs with larger word sizes require more circuitry and consequently are physically larger, cost more and consume more power (and therefore generate more heat). As a result, smaller 4- or 8-bit microcontrollers are commonly used in modern applications even though CPUs with much larger word sizes (such as 16, 32, 64, even 128-bit) are available. When higher performance is required, however, the benefits of a larger word size (larger data ranges and address spaces) may outweigh the disadvantages. A CPU can have internal data paths shorter than the word size to reduce size and cost. For example, even though the IBM System/360 instruction set architecture was a 32-bit instruction set, the System/360 Model 30 and Model 40 had 8-bit data paths in the arithmetic logical unit, so that a 32-bit add required four cycles, one for each 8 bits of the operands, and, even though the Motorola 68000 series instruction set was a 32-bit instruction set, the Motorola 68000 and Motorola 68010 had 16-bit data paths in the arithmetic logical unit, so that a 32-bit add required two cycles.
To gain some of the advantages afforded by both lower and higher bit lengths, many instruction sets have different bit widths for integer and floating-point data, allowing CPUs implementing that instruction set to have different bit widths for different portions of the device. For example, the IBM System/360 instruction set was primarily 32 bit, but supported 64-bit floating-point values to facilitate greater accuracy and range in floating-point numbers.[30] The System/360 Model 65 had an 8-bit adder for decimal and fixed-point binary arithmetic and a 60-bit adder for floating-point arithmetic.[69] Many later CPU designs use similar mixed bit width, especially when the processor is meant for general-purpose usage where a reasonable balance of integer and floating-point capability is required.
Parallelism[edit]
The description of the basic operation of a CPU offered in the previous section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and executes one instruction on one or two pieces of data at a time, that is less than one instruction per clock cycle (IPC < 1).
This process gives rise to an inherent inefficiency in subscalar CPUs. Since only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the next instruction. As a result, the subscalar CPU gets «hung up» on instructions which take more than one clock cycle to complete execution. Even adding a second execution unit (see below) does not improve performance much; rather than one pathway being hung up, now two pathways are hung up and the number of unused transistors is increased. This design, wherein the CPU’s execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instruction per clock cycle, IPC = 1). However, the performance is nearly always subscalar (less than one instruction per clock cycle, IPC < 1).
Attempts to achieve scalar and better performance have resulted in a variety of design methodologies that cause the CPU to behave less linearly and more in parallel. When referring to parallelism in CPUs, two terms are generally used to classify these design techniques:
- instruction-level parallelism (ILP), which seeks to increase the rate at which instructions are executed within a CPU (that is, to increase the use of on-die execution resources);
- task-level parallelism (TLP), which purposes to increase the number of threads or processes that a CPU can execute simultaneously.
Each methodology differs both in the ways in which they are implemented, as well as the relative effectiveness they afford in increasing the CPU’s performance for an application.[i]
Instruction-level parallelism[edit]
One of the simplest methods for increased parallelism is to begin the first steps of instruction fetching and decoding before the prior instruction finishes executing. This is a technique known as instruction pipelining, and is used in almost all modern general-purpose CPUs. Pipelining allows multiple instruction to be executed at a time by breaking the execution pathway into discrete stages. This separation can be compared to an assembly line, in which an instruction is made more complete at each stage until it exits the execution pipeline and is retired.
Pipelining does, however, introduce the possibility for a situation where the result of the previous operation is needed to complete the next operation; a condition often termed data dependency conflict. Therefore pipelined processors must check for these sorts of conditions and delay a portion of the pipeline if necessary. A pipelined processor can become very nearly scalar, inhibited only by pipeline stalls (an instruction spending more than one clock cycle in a stage).
Improvements in instruction pipelining led to further decreases in the idle time of CPU components. Designs that are said to be superscalar include a long instruction pipeline and multiple identical execution units, such as load–store units, arithmetic–logic units, floating-point units and address generation units.[70] In a superscalar pipeline, instructions are read and passed to a dispatcher, which decides whether or not the instructions can be executed in parallel (simultaneously). If so, they are dispatched to execution units, resulting in their simultaneous execution. In general, the number of instructions that a superscalar CPU will complete in a cycle is dependent on the number of instructions it is able to dispatch simultaneously to execution units.
Most of the difficulty in the design of a superscalar CPU architecture lies in creating an effective dispatcher. The dispatcher needs to be able to quickly determine whether instructions can be executed in parallel, as well as dispatch them in such a way as to keep as many execution units busy as possible. This requires that the instruction pipeline is filled as often as possible and requires significant amounts of CPU cache. It also makes hazard-avoiding techniques like branch prediction, speculative execution, register renaming, out-of-order execution and transactional memory crucial to maintaining high levels of performance. By attempting to predict which branch (or path) a conditional instruction will take, the CPU can minimize the number of times that the entire pipeline must wait until a conditional instruction is completed. Speculative execution often provides modest performance increases by executing portions of code that may not be needed after a conditional operation completes. Out-of-order execution somewhat rearranges the order in which instructions are executed to reduce delays due to data dependencies. Also in case of single instruction stream, multiple data stream—a case when a lot of data from the same type has to be processed—, modern processors can disable parts of the pipeline so that when a single instruction is executed many times, the CPU skips the fetch and decode phases and thus greatly increases performance on certain occasions, especially in highly monotonous program engines such as video creation software and photo processing.
When just a fraction of the CPU is superscalar, the part that is not suffers a performance penalty due to scheduling stalls. The Intel P5 Pentium had two superscalar ALUs which could accept one instruction per clock cycle each, but its FPU could not. Thus the P5 was integer superscalar but not floating point superscalar. Intel’s successor to the P5 architecture, P6, added superscalar abilities to its floating-point features.
Simple pipelining and superscalar design increase a CPU’s ILP by allowing it to execute instructions at rates surpassing one instruction per clock cycle. Most modern CPU designs are at least somewhat superscalar, and nearly all general purpose CPUs designed in the last decade are superscalar. In later years some of the emphasis in designing high-ILP computers has been moved out of the CPU’s hardware and into its software interface, or instruction set architecture (ISA). The strategy of the very long instruction word (VLIW) causes some ILP to become implied directly by the software, reducing the CPU’s work in boosting ILP and thereby reducing design complexity.
Task-level parallelism[edit]
Another strategy of achieving performance is to execute multiple threads or processes in parallel. This area of research is known as parallel computing.[71] In Flynn’s taxonomy, this strategy is known as multiple instruction stream, multiple data stream (MIMD).[72]
One technology used for this purpose was multiprocessing (MP).[73] The initial flavor of this technology is known as symmetric multiprocessing (SMP), where a small number of CPUs share a coherent view of their memory system. In this scheme, each CPU has additional hardware to maintain a constantly up-to-date view of memory. By avoiding stale views of memory, the CPUs can cooperate on the same program and programs can migrate from one CPU to another. To increase the number of cooperating CPUs beyond a handful, schemes such as non-uniform memory access (NUMA) and directory-based coherence protocols were introduced in the 1990s. SMP systems are limited to a small number of CPUs while NUMA systems have been built with thousands of processors. Initially, multiprocessing was built using multiple discrete CPUs and boards to implement the interconnect between the processors. When the processors and their interconnect are all implemented on a single chip, the technology is known as chip-level multiprocessing (CMP) and the single chip as a multi-core processor.
It was later recognized that finer-grain parallelism existed with a single program. A single program might have several threads (or functions) that could be executed separately or in parallel. Some of the earliest examples of this technology implemented input/output processing such as direct memory access as a separate thread from the computation thread. A more general approach to this technology was introduced in the 1970s when systems were designed to run multiple computation threads in parallel. This technology is known as multi-threading (MT). This approach is considered more cost-effective than multiprocessing, as only a small number of components within a CPU is replicated to support MT as opposed to the entire CPU in the case of MP. In MT, the execution units and the memory system including the caches are shared among multiple threads. The downside of MT is that the hardware support for multithreading is more visible to software than that of MP and thus supervisor software like operating systems have to undergo larger changes to support MT. One type of MT that was implemented is known as temporal multithreading, where one thread is executed until it is stalled waiting for data to return from external memory. In this scheme, the CPU would then quickly context switch to another thread which is ready to run, the switch often done in one CPU clock cycle, such as the UltraSPARC T1. Another type of MT is simultaneous multithreading, where instructions from multiple threads are executed in parallel within one CPU clock cycle.
For several decades from the 1970s to early 2000s, the focus in designing high performance general purpose CPUs was largely on achieving high ILP through technologies such as pipelining, caches, superscalar execution, out-of-order execution, etc. This trend culminated in large, power-hungry CPUs such as the Intel Pentium 4. By the early 2000s, CPU designers were thwarted from achieving higher performance from ILP techniques due to the growing disparity between CPU operating frequencies and main memory operating frequencies as well as escalating CPU power dissipation owing to more esoteric ILP techniques.
CPU designers then borrowed ideas from commercial computing markets such as transaction processing, where the aggregate performance of multiple programs, also known as throughput computing, was more important than the performance of a single thread or process.
This reversal of emphasis is evidenced by the proliferation of dual and more core processor designs and notably, Intel’s newer designs resembling its less superscalar P6 architecture. Late designs in several processor families exhibit CMP, including the x86-64 Opteron and Athlon 64 X2, the SPARC UltraSPARC T1, IBM POWER4 and POWER5, as well as several video game console CPUs like the Xbox 360’s triple-core PowerPC design, and the PlayStation 3’s 7-core Cell microprocessor.
Data parallelism[edit]
A less common but increasingly important paradigm of processors (and indeed, computing in general) deals with data parallelism. The processors discussed earlier are all referred to as some type of scalar device.[j] As the name implies, vector processors deal with multiple pieces of data in the context of one instruction. This contrasts with scalar processors, which deal with one piece of data for every instruction. Using Flynn’s taxonomy, these two schemes of dealing with data are generally referred to as single instruction stream, multiple data stream (SIMD) and single instruction stream, single data stream (SISD), respectively. The great utility in creating processors that deal with vectors of data lies in optimizing tasks that tend to require the same operation (for example, a sum or a dot product) to be performed on a large set of data. Some classic examples of these types of tasks include multimedia applications (images, video and sound), as well as many types of scientific and engineering tasks. Whereas a scalar processor must complete the entire process of fetching, decoding and executing each instruction and value in a set of data, a vector processor can perform a single operation on a comparatively large set of data with one instruction. This is only possible when the application tends to require many steps which apply one operation to a large set of data.
Most early vector processors, such as the Cray-1, were associated almost exclusively with scientific research and cryptography applications. However, as multimedia has largely shifted to digital media, the need for some form of SIMD in general-purpose processors has become significant. Shortly after inclusion of floating-point units started to become commonplace in general-purpose processors, specifications for and implementations of SIMD execution units also began to appear for general-purpose processors.[when?] Some of these early SIMD specifications – like HP’s Multimedia Acceleration eXtensions (MAX) and Intel’s MMX – were integer-only. This proved to be a significant impediment for some software developers, since many of the applications that benefit from SIMD primarily deal with floating-point numbers. Progressively, developers refined and remade these early designs into some of the common modern SIMD specifications, which are usually associated with one instruction set architecture (ISA). Some notable modern examples include Intel’s Streaming SIMD Extensions (SSE) and the PowerPC-related AltiVec (also known as VMX).[k]
Hardware performance counter[edit]
Many modern architectures (including embedded ones) often include hardware performance counters (HPC), which enables low-level (instruction-level) collection, benchmarking, debugging or analysis of running software metrics.[74][75] HPC may also be used to discover and analyze unusual or suspicious activity of the software, such as return-oriented programming (ROP) or sigreturn-oriented programming (SROP) exploits etc.[76] This is usually done by software-security teams to assess and find malicious binary programs.
Many major vendors (such as IBM, Intel, AMD, and Arm etc.) provide software interfaces (usually written in C/C++) that can be used to collected data from CPUs registers in order to get metrics.[77] Operating system vendors also provide software like perf
(Linux) to record, benchmark, or trace CPU events running kernels and applications.
Virtual CPUs[edit]
This section needs expansion. You can help by adding to it. (September 2016) |
Cloud computing can involve subdividing CPU operation into virtual central processing units[78] (vCPUs[79]).
A host is the virtual equivalent of a physical machine, on which a virtual system is operating.[80] When there are several physical machines operating in tandem and managed as a whole, the grouped computing and memory resources form a cluster. In some systems, it is possible to dynamically add and remove from a cluster. Resources available at a host and cluster level can be partitioned out into resources pools with fine granularity.
Performance[edit]
The performance or speed of a processor depends on, among many other factors, the clock rate (generally given in multiples of hertz) and the instructions per clock (IPC), which together are the factors for the instructions per second (IPS) that the CPU can perform.[81]
Many reported IPS values have represented «peak» execution rates on artificial instruction sequences with few branches, whereas realistic workloads consist of a mix of instructions and applications, some of which take longer to execute than others. The performance of the memory hierarchy also greatly affects processor performance, an issue barely considered in MIPS calculations. Because of these problems, various standardized tests, often called «benchmarks» for this purpose—such as SPECint—have been developed to attempt to measure the real effective performance in commonly used applications.
Processing performance of computers is increased by using multi-core processors, which essentially is plugging two or more individual processors (called cores in this sense) into one integrated circuit.[82] Ideally, a dual core processor would be nearly twice as powerful as a single core processor. In practice, the performance gain is far smaller, only about 50%, due to imperfect software algorithms and implementation.[83] Increasing the number of cores in a processor (i.e. dual-core, quad-core, etc.) increases the workload that can be handled. This means that the processor can now handle numerous asynchronous events, interrupts, etc. which can take a toll on the CPU when overwhelmed. These cores can be thought of as different floors in a processing plant, with each floor handling a different task. Sometimes, these cores will handle the same tasks as cores adjacent to them if a single core is not enough to handle the information.
Due to specific capabilities of modern CPUs, such as simultaneous multithreading and uncore, which involve sharing of actual CPU resources while aiming at increased utilization, monitoring performance levels and hardware use gradually became a more complex task.[84] As a response, some CPUs implement additional hardware logic that monitors actual use of various parts of a CPU and provides various counters accessible to software; an example is Intel’s Performance Counter Monitor technology.[2]
See also[edit]
- Addressing mode
- AMD Accelerated Processing Unit
- Complex instruction set computer
- Computer bus
- Computer engineering
- CPU core voltage
- CPU socket
- Data processing unit
- Digital signal processor
- Graphics processing unit
- Comparison of instruction set architectures
- Protection ring
- Reduced instruction set computer
- Stream processing
- True Performance Index
- Tensor Processing Unit
- Wait state
Notes[edit]
- ^ Integrated circuits are now used to implement all CPUs, except for a few machines designed to withstand large electromagnetic pulses, say from a nuclear weapon.
- ^ The so-called «von Neumann» memo expounded the idea of stored programs,[58] which for example may be stored on punched cards, paper tape, or magnetic tape.
- ^ Some early computers, like the Harvard Mark I, did not support any kind of «jump» instruction, effectively limiting the complexity of the programs they could run. It is largely for this reason that these computers are often not considered to contain a proper CPU, despite their close similarity to stored-program computers.
- ^ Since the program counter counts memory addresses and not instructions, it is incremented by the number of memory units that the instruction word contains. In the case of simple fixed-length instruction word ISAs, this is always the same number. For example, a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by four (except in the case of jumps). ISAs that use variable-length instruction words increment the PC by the number of memory words corresponding to the last instruction’s length.
- ^ Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a classification of the «type» of CPU. For example, a «PowerPC CPU» uses some variant of the PowerPC ISA. A system can execute a different ISA by running an emulator.
- ^ A few specialized CPUs, accelerators or microcontrollers do not have a cache. To be fast, if needed/wanted, they still have an on-chip scratchpad memory that has a similar function, while software managed. In e.g. microcontrollers it can be better for hard real-time use, to have that or at least no cache, as with one level of memory latencies of loads are predictable.
- ^ The physical concept of voltage is an analog one by nature, practically having an infinite range of possible values. For the purpose of physical representation of binary numbers, two specific ranges of voltages are defined, one for logic ‘0’ and another for logic ‘1’. These ranges are dictated by design considerations such as noise margins and characteristics of the devices used to create the CPU.
- ^ While a CPU’s integer size sets a limit on integer ranges, this can (and often is) overcome using a combination of software and hardware techniques. By using additional memory, software can represent integers many magnitudes larger than the CPU can. Sometimes the CPU’s instruction set will even facilitate operations on integers larger than it can natively represent by providing instructions to make large integer arithmetic relatively quick. This method of dealing with large integers is slower than utilizing a CPU with higher integer size, but is a reasonable trade-off in cases where natively supporting the full integer range needed would be cost-prohibitive. See Arbitrary-precision arithmetic for more details on purely software-supported arbitrary-sized integers.
- ^ Neither ILP nor TLP is inherently superior over the other; they are simply different means by which to increase CPU parallelism. As such, they both have advantages and disadvantages, which are often determined by the type of software that the processor is intended to run. High-TLP CPUs are often used in applications that lend themselves well to being split up into numerous smaller applications, so-called «embarrassingly parallel problems». Frequently, a computational problem that can be solved quickly with high TLP design strategies like symmetric multiprocessing takes significantly more time on high ILP devices like superscalar CPUs, and vice versa.
- ^ Earlier the term scalar was used to compare the IPC count afforded by various ILP methods. Here the term is used in the strictly mathematical sense to contrast with vectors. See scalar (mathematics) and vector (geometric).
- ^ Although SSE/SSE2/SSE3 have superseded MMX in Intel’s general-purpose processors, later IA-32 designs still support MMX. This is usually done by providing most of the MMX functionality with the same hardware that supports the much more expansive SSE instruction sets.
References[edit]
- ^ Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. p. 12. ISBN 978-0471027164.
- ^ a b Thomas Willhalm; Roman Dementiev; Patrick Fay (December 18, 2014). «Intel Performance Counter Monitor – A better way to measure CPU utilization». software.intel.com. Archived from the original on February 22, 2017. Retrieved February 17, 2015.
- ^ Liebowitz, Kusek, Spies, Matt, Christopher, Rynardt (2014). VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads. Wiley. p. 68. ISBN 978-1-118-00819-5.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ^ Regan, Gerard (2008). A Brief History of Computing. Springer. p. 66. ISBN 978-1848000834. Retrieved 26 November 2014.
- ^ Weik, Martin H. (1955). «A Survey of Domestic Electronic Digital Computing Systems». Ballistic Research Laboratory. Archived from the original on 2021-01-26. Retrieved 2020-11-15.
- ^ a b Weik, Martin H. (1961). «A Third Survey of Domestic Electronic Digital Computing Systems». Ballistic Research Laboratory. Archived from the original on 2017-09-11. Retrieved 2005-12-16.
- ^ «Bit By Bit». Haverford College. Archived from the original on October 13, 2012. Retrieved August 1, 2015.
- ^ «First Draft of a Report on the EDVAC» (PDF). Moore School of Electrical Engineering, University of Pennsylvania. 1945. Archived (PDF) from the original on 2021-03-09. Retrieved 2018-03-31.
- ^ Stanford University. «The Modern History of Computing». The Stanford Encyclopedia of Philosophy. Archived from the original on March 3, 2017. Retrieved September 25, 2015.
- ^ «ENIAC’s Birthday». The MIT Press. February 9, 2016. Archived from the original on October 17, 2018. Retrieved October 17, 2018.
- ^ Enticknap, Nicholas (Summer 1998), «Computing’s Golden Jubilee», Resurrection, The Computer Conservation Society (20), ISSN 0958-7403, archived from the original on 17 March 2019, retrieved 26 June 2019
- ^ «The Manchester Mark 1». The University of Manchester. Archived from the original on January 25, 2015. Retrieved September 25, 2015.
- ^ «The First Generation». Computer History Museum. Archived from the original on November 22, 2016. Retrieved September 29, 2015.
- ^ «The History of the Integrated Circuit». Nobelprize.org. Archived from the original on May 22, 2022. Retrieved July 17, 2022.
- ^ Turley, Jim (11 August 2003). «Motoring with microprocessors». Embedded. Archived from the original on 14 October 2022. Retrieved December 26, 2022.
- ^ «Mobile Processor Guide – Summer 2013». Android Authority. 2013-06-25. Archived from the original on 2015-11-17. Retrieved November 15, 2015.
- ^ «Section 250: Microprocessors and Toys: An Introduction to Computing Systems». The University of Michigan. Archived from the original on April 13, 2021. Retrieved October 9, 2018.
- ^ «ARM946 Processor». ARM. Archived from the original on 17 November 2015.
- ^ «Konrad Zuse». Computer History Museum. Archived from the original on October 3, 2016. Retrieved September 29, 2015.
- ^ «Timeline of Computer History: Computers». Computer History Museum. Archived from the original on December 29, 2017. Retrieved November 21, 2015.
- ^ White, Stephen. «A Brief History of Computing — First Generation Computers». Archived from the original on January 2, 2018. Retrieved November 21, 2015.
- ^ «Harvard University Mark — Paper Tape Punch Unit». Computer History Museum. Archived from the original on November 22, 2015. Retrieved November 21, 2015.
- ^ «What is the difference between a von Neumann architecture and a Harvard architecture?». ARM. Archived from the original on November 18, 2015. Retrieved November 22, 2015.
- ^ «Advanced Architecture Optimizes the Atmel AVR CPU». Atmel. Archived from the original on November 14, 2015. Retrieved November 22, 2015.
- ^ «Switches, transistors and relays». BBC. Archived from the original on 5 December 2016.
- ^ «Introducing the Vacuum Transistor: A Device Made of Nothing». IEEE Spectrum. 2014-06-23. Archived from the original on 2018-03-23. Retrieved 27 January 2019.
- ^ What Is Computer Performance?. The National Academies Press. 2011. doi:10.17226/12980. ISBN 978-0-309-15951-7. Archived from the original on June 5, 2016. Retrieved May 16, 2016.
- ^ «1953: Transistorized Computers Emerge». Computer History Museum. Archived from the original on June 1, 2016. Retrieved June 3, 2016.
- ^ «IBM System/360 Dates and Characteristics». IBM. 2003-01-23. Archived from the original on 2017-11-21. Retrieved 2016-01-13.
- ^ a b Amdahl, G. M.; Blaauw, G. A.; Brooks, F. P. Jr. (April 1964). «Architecture of the IBM System/360». IBM Journal of Research and Development. IBM. 8 (2): 87–101. doi:10.1147/rd.82.0087. ISSN 0018-8646.
- ^ Brodkin, John (7 April 2014). «50 years ago, IBM created mainframe that helped send men to the Moon». Ars Technica. Archived from the original on 8 April 2016. Retrieved 9 April 2016.
- ^ Clarke, Gavin. «Why won’t you DIE? IBM’s S/360 and its legacy at 50». The Register. Archived from the original on 24 April 2016. Retrieved 9 April 2016.
- ^ «Online PDP-8 Home Page, Run a PDP-8». PDP8. Archived from the original on August 11, 2015. Retrieved September 25, 2015.
- ^ «Transistors, Relays, and Controlling High-Current Loads». New York University. ITP Physical Computing. Archived from the original on 21 April 2016. Retrieved 9 April 2016.
- ^ Lilly, Paul (2009-04-14). «A Brief History of CPUs: 31 Awesome Years of x86». PC Gamer. Archived from the original on 2016-06-13. Retrieved June 15, 2016.
- ^ a b Patterson, David A.; Hennessy, John L.; Larus, James R. (1999). Computer Organization and Design: the Hardware/Software Interface (2. ed., 3rd print. ed.). San Francisco: Kaufmann. p. 751. ISBN 978-1558604285.
- ^ «1962: Aerospace systems are first the applications for ICs in computers». Computer History Museum. Archived from the original on October 5, 2018. Retrieved October 9, 2018.
- ^ «The integrated circuits in the Apollo manned lunar landing program». National Aeronautics and Space Administration. Archived from the original on July 21, 2019. Retrieved October 9, 2018.
- ^ «System/370 Announcement». IBM Archives. 2003-01-23. Archived from the original on 2018-08-20. Retrieved October 25, 2017.
- ^ «System/370 Model 155 (Continued)». IBM Archives. 2003-01-23. Archived from the original on 2016-07-20. Retrieved October 25, 2017.
- ^ «Models and Options». The Digital Equipment Corporation PDP-8. Archived from the original on June 26, 2018. Retrieved June 15, 2018.
- ^ Ross Knox Bassett (2007). To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology. The Johns Hopkins University Press. pp. 127–128, 256, and 314. ISBN 978-0-8018-6809-2.
- ^ a b Shirriff, Ken. «The Texas Instruments TMX 1795: the first, forgotten microprocessor». Archived from the original on 2021-01-26.
- ^ «Speed & Power in Logic Families». Archived from the original on 2017-07-26. Retrieved 2017-08-02..
- ^ Stonham, T. J. (1996). Digital Logic Techniques: Principles and Practice. Taylor & Francis. p. 174. ISBN 9780412549700.
- ^ «1968: Silicon Gate Technology Developed for ICs». Computer History Museum. Archived from the original on 2020-07-29. Retrieved 2019-08-16.
- ^ Booher, R. K. (1968). MOS GP Computer (PDF). International Workshop on Managing Requirements Knowledge. AFIPS. p. 877. doi:10.1109/AFIPS.1968.126. Archived (PDF) from the original on 2017-07-14.
- ^ «LSI-11 Module Descriptions» (PDF). LSI-11, PDP-11/03 user’s manual (2nd ed.). Maynard, Massachusetts: Digital Equipment Corporation. November 1975. pp. 4–3. Archived (PDF) from the original on 2021-10-10. Retrieved 2015-02-20.
- ^ Bigelow, Stephen J. (March 2022). «What is a multicore processor and how does it work?». TechTarget. Archived from the original on July 11, 2022. Retrieved July 17, 2022.
- ^ Richard Birkby. «A Brief History of the Microprocessor». computermuseum.li. Archived from the original on September 23, 2015. Retrieved October 13, 2015.
- ^ Osborne, Adam (1980). An Introduction to Microcomputers. Vol. 1: Basic Concepts (2nd ed.). Berkeley, California: Osborne-McGraw Hill. ISBN 978-0-931988-34-9.
- ^ Zhislina, Victoria (2014-02-19). «Why has CPU frequency ceased to grow?». Intel. Archived from the original on 2017-06-21. Retrieved October 14, 2015.
- ^ «MOS Transistor — Electrical Engineering & Computer Science» (PDF). University of California. Archived (PDF) from the original on 2022-10-09. Retrieved October 14, 2015.
- ^ Simonite, Tom. «Moore’s Law Is Dead. Now What?». MIT Technology Review. Archived from the original on 2018-08-22. Retrieved 2018-08-24.
- ^ «Excerpts from A Conversation with Gordon Moore: Moore’s Law» (PDF). Intel. 2005. Archived from the original (PDF) on 2012-10-29. Retrieved 2012-07-25.
- ^ «A detailed history of the processor». Tech Junkie. 15 December 2016. Archived from the original on 14 August 2019. Retrieved 14 August 2019.
- ^ Eigenmann, Rudolf; Lilja, David (1998). «Von Neumann Computers». Wiley Encyclopedia of Electrical and Electronics Engineering. doi:10.1002/047134608X.W1704. ISBN 047134608X. S2CID 8197337.
- ^ Aspray, William (September 1990). «The stored program concept». IEEE Spectrum. Vol. 27, no. 9. p. 51. doi:10.1109/6.58457.
- ^ Saraswat, Krishna. «Trends in Integrated Circuits Technology» (PDF). Archived (PDF) from the original on 2022-10-09. Retrieved June 15, 2018.
- ^ «Electromigration». Middle East Technical University. Archived from the original on July 31, 2017. Retrieved June 15, 2018.
- ^ Ian Wienand (September 3, 2013). «Computer Science from the Bottom Up, Chapter 3. Computer Architecture» (PDF). bottomupcs.com. Archived (PDF) from the original on February 6, 2016. Retrieved January 7, 2015.
- ^ «Introduction of Control Unit and its Design». GeeksforGeeks. 2018-09-24. Archived from the original on 2021-01-15. Retrieved 2021-01-12.
- ^ Cornelis Van Berkel; Patrick Meuwissen (January 12, 2006). «Address generation unit for a processor (US 2006010255 A1 patent application)». google.com. Archived from the original on April 18, 2016. Retrieved December 8, 2014.[verification needed]
- ^ Gabriel Torres (September 12, 2007). «How The Cache Memory Works». Hardware Secrets. Archived from the original on August 1, 2020. Retrieved August 29, 2019.
- ^ «IBM z13 and IBM z13s Technical Introduction» (PDF). IBM. March 2016. p. 20. Archived (PDF) from the original on 2022-10-09.[verification needed]
- ^ Brown, Jeffery (2005). «Application-customized CPU design». IBM developerWorks. Archived from the original on 2006-02-12. Retrieved 2005-12-17.
- ^ Martin, A.J.; Nystrom, M.; Wong, C.G. (November 2003). «Three generations of asynchronous microprocessors». IEEE Design & Test of Computers. 20 (6): 9–17. doi:10.1109/MDT.2003.1246159. ISSN 0740-7475. S2CID 15164301. Archived from the original on 2021-12-03. Retrieved 2022-01-05.
- ^ Garside, J. D.; Furber, S. B.; Chung, S-H (1999). «AMULET3 Revealed». University of Manchester Computer Science Department. Archived from the original on December 10, 2005.
- ^ IBM System/360 Model 65 Functional Characteristics (PDF). IBM. September 1968. pp. 8–9. A22-6884-3. Archived (PDF) from the original on 2022-10-09.
- ^ Huynh, Jack (2003). «The AMD Athlon XP Processor with 512KB L2 Cache» (PDF). University of Illinois, Urbana-Champaign. pp. 6–11. Archived from the original (PDF) on 2007-11-28. Retrieved 2007-10-06.
- ^ Gottlieb, Allan; Almasi, George S. (1989). Highly parallel computing. Redwood City, Calif.: Benjamin/Cummings. ISBN 978-0-8053-0177-9. Archived from the original on 2018-11-07. Retrieved 2016-04-25.
- ^ Flynn, M. J. (September 1972). «Some Computer Organizations and Their Effectiveness». IEEE Trans. Comput. C-21 (9): 948–960. doi:10.1109/TC.1972.5009071. S2CID 18573685.
- ^ Lu, N.-P.; Chung, C.-P. (1998). «Parallelism exploitation in superscalar multiprocessing». IEE Proceedings — Computers and Digital Techniques. Institution of Electrical Engineers. 145 (4): 255. doi:10.1049/ip-cdt:19981955.
- ^ Uhsadel, Leif; Georges, Andy; Verbauwhede, Ingrid (August 2008). Exploiting Hardware Performance Counters. 2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography. pp. 59–67. doi:10.1109/FDTC.2008.19. ISBN 978-0-7695-3314-8. S2CID 1897883. Archived from the original on 2021-12-30. Retrieved 2021-12-30.
- ^ Rohou, Erven (September 2012). Tiptop: Hardware Performance Counters for the Masses. 2012 41st International Conference on Parallel Processing Workshops. pp. 404–413. doi:10.1109/ICPPW.2012.58. ISBN 978-1-4673-2509-7. S2CID 16160098. Archived from the original on 2021-12-30. Retrieved 2021-12-30.
- ^ Herath, Nishad; Fogh, Anders (2015). «CPU Hardware Performance Counters for Security» (PDF). USA: Black Hat. Archived (PDF) from the original on 2015-09-05.
- ^ DeRose, Luiz A. (2001), Sakellariou, Rizos; Gurd, John; Freeman, Len; Keane, John (eds.), «The Hardware Performance Monitor Toolkit», Euro-Par 2001 Parallel Processing, Lecture Notes in Computer Science, Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 2150, pp. 122–132, doi:10.1007/3-540-44681-8_19, ISBN 978-3-540-42495-6, archived from the original on 2023-03-01, retrieved 2021-12-30
- ^
Anjum, Bushra; Perros, Harry G. (2015). «1: Partitioning the End-to-End QoS Budget to Domains». Bandwidth Allocation for Video Under Quality of Service Constraints. Focus Series. John Wiley & Sons. p. 3. ISBN 9781848217461. Retrieved 2016-09-21.[…] in cloud computing where multiple software components run in a virtual environment on the same blade, one component per virtual machine (VM). Each VM is allocated a virtual central processing unit […] which is a fraction of the blade’s CPU.
- ^
Fifield, Tom; Fleming, Diane; Gentle, Anne; Hochstein, Lorin; Proulx, Jonathan; Toews, Everett; Topjian, Joe (2014). «Glossary». OpenStack Operations Guide. Beijing: O’Reilly Media, Inc. p. 286. ISBN 9781491906309. Retrieved 2016-09-20.Virtual Central Processing Unit (vCPU)[:] Subdivides physical CPUs. Instances can then use those divisions.
- ^ «VMware Infrastructure Architecture Overview- White Paper» (PDF). VMware. 2006. Archived (PDF) from the original on 2022-10-09.
- ^ «CPU Frequency». CPU World Glossary. CPU World. 25 March 2008. Archived from the original on 9 February 2010. Retrieved 1 January 2010.
- ^ «What is (a) multi-core processor?». Data Center Definitions. SearchDataCenter.com. Archived from the original on 5 August 2010. Retrieved 8 August 2016.
- ^ «Quad Core Vs. Dual Core». 8 April 2010. Archived from the original on 4 July 2019. Retrieved 7 November 2019.
- ^ Tegtmeier, Martin. «CPU utilization of multi-threaded architectures explained». Oracle. Archived from the original on July 18, 2022. Retrieved July 17, 2022.
External links[edit]
- How Microprocessors Work at HowStuffWorks.
- 25 Microchips that shook the world – an article by the Institute of Electrical and Electronics Engineers.
Запрос «ЦП» перенаправляется сюда; см. также другие значения.
Intel Celeron 1100 Socket 370 в корпусе FC-PGA2, вид снизу
Intel Celeron 1100 Socket 370 в корпусе FC-PGA2, вид сверху
Центра́льный проце́ссор (ЦП; также центральное процессорное устройство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Изначально термин центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде.
Главными характеристиками ЦПУ являются: тактовая частота, производительность, энергопотребление, нормы литографического процесса используемого при производстве (для микропроцессоров) и архитектура.
Ранние ЦП создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦП с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах, мобильных телефонах и даже в детских игрушках. Чаще всего они представлены микроконтроллерами, где помимо вычислительного устройства на кристалле расположены дополнительные компоненты (память программ и данных, интерфейсы, порты ввода/вывода, таймеры и др.). Современные вычислительные возможности микроконтроллера сравнимы с процессорами персональных ЭВМ десятилетней давности, а чаще даже значительно превосходят их показатели.
Содержание
- 1 История
- 1.1 Перспективы
- 2 Архитектура фон Неймана
- 2.1 Конвейерная архитектура
- 2.2 Суперскалярная архитектура
- 2.3 CISC-процессоры
- 2.4 RISC-процессоры
- 2.5 MISC-процессоры
- 2.6 VLIW-процессоры
- 2.7 Многоядерные процессоры
- 2.8 Кэширование
- 3 Гарвардская архитектура
- 4 Параллельная архитектура
- 4.1 Цифровые сигнальные процессоры
- 5 Процесс изготовления
- 5.1 Энергопотребление процессоров
- 5.2 Тепловыделение процессоров и отвод тепла
- 5.3 Измерение и отображение температуры микропроцессора
- 6 Производители
- 6.1 СССР/Россия
- 6.2 Китай
- 6.3 Япония
- 7 Определение модели
- 8 См. также
- 9 Примечания
- 10 Литература
- 11 Ссылки
История
История развития производства процессоров полностью соответствует истории развития технологии производства прочих электронных компонентов и схем.
Первым этапом, затронувшим период с 1940-х по конец 1950-х годов, было создание процессоров с использованием электромеханических реле, ферритовых сердечников (устройств памяти) и вакуумных ламп. Они устанавливались в специальные разъёмы на модулях, собранных в стойки. Большое количество таких стоек, соединённых проводниками, в сумме представляли процессор. Отличительной особенностью была низкая надёжность, низкое быстродействие и большое тепловыделение.
Вторым этапом, с середины 1950-х до середины 1960-х, стало внедрение транзисторов. Транзисторы монтировались уже на близкие к современным по виду платам, устанавливаемым в стойки. Как и ранее, в среднем процессор состоял из нескольких таких стоек. Возросло быстродействие, повысилась надёжность, уменьшилось энергопотребление.
Третьим этапом, наступившим в середине 1960-х годов, стало использование микросхем. Первоначально использовались микросхемы низкой степени интеграции, содержащие простые транзисторные и резисторные сборки, затем по мере развития технологии стали использоваться микросхемы, реализующие отдельные элементы цифровой схемотехники (сначала элементарные ключи и логические элементы, затем более сложные элементы — элементарные регистры, счётчики, сумматоры), позднее появились микросхемы, содержащие функциональные блоки процессора — микропрограммное устройство, арифметическо-логическое устройство, регистры, устройства работы с шинами данных и команд.
Четвёртым этапом, в начале 1970-х годов, стало создание, благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем, соответственно), микропроцессора — микросхемы, на кристалле которой физически были расположены все основные элементы и блоки процессора. Фирма Intel в 1971 году создала первый в мире 4-разрядный микропроцессор 4004, предназначенный для использования в микрокалькуляторах. Постепенно практически все процессоры стали выпускаться в формате микропроцессоров. Исключением долгое время оставались только малосерийные процессоры, аппаратно оптимизированные для решения специальных задач (например, суперкомпьютеры или процессоры для решения ряда военных задач), либо процессоры, к которым предъявлялись особые требования по надёжности, быстродействию или защите от электромагнитных импульсов и ионизирующей радиации. Постепенно, с удешевлением и распространением современных технологий, эти процессоры также начинают изготавливаться в формате микропроцессора.
Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 1980-х годов микропроцессоры вытеснили своих старших собратьев. Тем не менее, центральные процессорные устройства некоторых суперкомпьютеров даже сегодня представляют собой сложные комплексы, построенные на основе микросхем большой и сверхбольшой степени интеграции.
Переход к микропроцессорам позволил потом создать персональные компьютеры, которые проникли почти в каждый дом.
Первым общедоступным микропроцессором был 4-разрядный Intel 4004, представленный 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 92,6 кГц[1] и стоил 300 долл.
Далее его сменили 8-разрядный Intel 8080 и 16-разрядный 8086, заложившие основы архитектуры всех современных настольных процессоров. Из-за распространённости 8-разрядных модулей памяти был выпущен дешевый 8088, упрощенная версия 8086, с 8-разрядной шиной памяти.
Затем проследовала его модификация 80186.
В процессоре 80286 появился защищённый режим с 24-битной адресацией, позволявший использовать до 16 Мб памяти.
Процессор Intel 80386 появился в 1985 году и привнёс улучшенный защищённый режим, 32-битную адресацию, позволившую использовать до 4 Гб оперативной памяти и поддержку механизма виртуальной памяти. Эта линейка процессоров построена на регистровой вычислительной модели.
Параллельно развиваются микропроцессоры, взявшие за основу стековую вычислительную модель.
За годы существования микропроцессоров было разработано множество различных их архитектур. Многие из них (в дополненном и усовершенствованном виде) используются и поныне. Например Intel x86, развившаяся вначале в 32-битную IA-32, а позже в 64-битную x86-64 (которая у Intel называется EM64T). Процессоры архитектуры x86 вначале использовались только в персональных компьютерах компании IBM (IBM PC), но в настоящее время всё более активно используются во всех областях компьютерной индустрии, от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, POWER, SPARC, PA-RISC, MIPS (RISC-архитектуры) и IA-64 (EPIC-архитектура).
В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5×5×0,3 см), вставляющегося в ZIF-сокет (AMD) или на подпруживающую конструкцию — LGA (Intel). Особенностью разъёма LGA является то, что выводы перенесены с корпуса процессора на сам разъём — socket, находящийся на материнской плате. Большая часть современных процессоров реализована в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов.
Перспективы
В ближайшие 10-20 лет, скорее всего, изменится материальная часть процессоров ввиду того, что технологический процесс достигнет физических пределов производства. Возможно, это будут:
- Оптические компьютеры — в которых вместо электрических сигналов обработке подвергаются потоки света (фотоны, а не электроны).
- Квантовые компьютеры, работа которых всецело базируется на квантовых эффектах. В настоящее время ведутся работы над созданием рабочих версий квантовых процессоров.
- Молекулярные компьютеры — вычислительные системы, использующие вычислительные возможности молекул (преимущественно, органических). Молекулярными компьютерами используется идея вычислительных возможностей расположения атомов в пространстве.
Архитектура фон Неймана
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки данных, изобретённого[источник не указан 507 дней] Джоном фон Нейманом.
Дж. фон Нейман придумал[источник не указан 507 дней] схему постройки компьютера в 1946 году.
Отличительной особенностью архитектуры фон Неймана является то, что инструкции и данные хранятся в одной и той же памяти.
В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Например, для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов.
Этапы цикла выполнения:
- Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса и отдаёт памяти команду чтения.
- Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных и сообщает о готовности.
- Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её.
- Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды.
Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм работы процессора. Очерёдность считывания команд изменяется в случае, если процессор считывает команду перехода, — тогда адрес следующей команды может оказаться другим. Другим примером изменения процесса может служить случай получения команды остановка или переключение в режим обработки прерывания.
Команды центрального процессора являются самым нижним уровнем управления компьютером, поэтому выполнение каждой команды неизбежно и безусловно. Не производится никакой проверки на допустимость выполняемых действий, в частности, не проверяется возможная потеря ценных данных. Чтобы компьютер выполнял только допустимые действия, команды должны быть соответствующим образом организованы в виде необходимой программы.
Скорость перехода от одного этапа цикла к другому определяется тактовым генератором. Тактовый генератор вырабатывает импульсы, служащие ритмом для центрального процессора. Частота тактовых импульсов называется тактовой частотой.
Конвейерная архитектура
Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифровка команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:
- получение и декодирование инструкции,
- адресация и выборка операнда из ОЗУ,
- выполнение арифметических операций,
- сохранение результата операции.
После освобождения -й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в ступеней займёт единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды будет получаться через каждую единицу времени.
Действительно, при отсутствии конвейера выполнение команды займёт единиц времени (так как для выполнения команды по-прежнему необходимо выполнять выборку, дешифровку и т. д.), и для исполнения команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения команд понадобится всего лишь единиц времени.
Факторы, снижающие эффективность конвейера:
- Простой конвейера, когда некоторые ступени не используются (например, адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами).
- Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд — out-of-order execution).
- Очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).
Некоторые современные процессоры имеют более 30 ступеней в конвейере, что повышает производительность процессора, но, однако, приводит к увеличению длительности простоя (например, в случае ошибки в предсказании условного перехода). Не существует единого мнения по поводу оптимальной длины конвейера: различные программы могут иметь существенно различные требования.
Суперскалярная архитектура
Способность выполнения нескольких машинных инструкций за один такт процессора путем увеличения числа исполнительных устройств. Появление этой технологии привело к существенному увеличению производительности, в то же время существует определенный предел роста числа исполнительных устройств, при превышении которого производительность практически перестает расти, а исполнительные устройства простаивают. Частичным решением этой проблемы являются, например, технология Hyper-threading.
CISC-процессоры
Complex instruction set computer — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC являются микропроцессоры семейства x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд: в начале процесса исполнения сложные команды разбиваются на более простые микрооперации (МОП), исполняемые RISC-ядром).
RISC-процессоры
Reduced instruction set computer — вычисления с упрощённым набором команд (в литературе слово reduced нередко ошибочно переводят как «сокращённый»). Архитектура процессоров, построенная на основе упрощённого набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).
Упрощение набора команд призвано сократить конвейер, что позволяет избежать задержек на операциях условных и безусловных переходов. Однородный набор регистров упрощает работу компилятора при оптимизации исполняемого программного кода. Кроме того, RISC-процессоры отличаются меньшим энергопотреблением и тепловыделением.
Среди первых реализаций этой архитектуры были процессоры MIPS, PowerPC, SPARC, Alpha, PA-RISC. В мобильных устройствах широко используются ARM-процессоры.
MISC-процессоры
Minimum instruction set computer — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC-процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20-30 команд).
VLIW-процессоры
Very long instruction word — сверхдлинное командное слово. Архитектура процессоров с явно выраженным параллелизмом вычислений, заложенным в систему команд процессора. Являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является то, что для них загрузкой исполнительных устройств занимается часть процессора (планировщик), на что отводится достаточно малое время, в то время как загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени (качество загрузки и, соответственно, производительность теоретически должны быть выше). Примером VLIW-процессора является Intel Itanium.
Многоядерные процессоры
Информация в этой статье или некоторых её разделах устарела.
Вы можете помочь проекту, обновив её и убрав после этого данный шаблон. |
Содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах).
Процессоры, предназначенные для работы одной копии операционной системы на нескольких ядрах, представляют собой высокоинтегрированную реализацию мультипроцессорности.
Первым многоядерным микропроцессором стал POWER4 от IBM, появившийся в 2001 году и имевший два ядра.
В октябре 2004 года Sun Microsystems выпустила двухъядерный процессор UltraSPARC IV, который состоял из двух модифицированных ядер UltraSPARC III. В начале 2005 был создан двухъядерный UltraSPARC IV+.
14 ноября 2005 года Sun выпустила восьмиядерный UltraSPARC T1, каждое ядро которого выполняло 4 потока.
5 января 2006 года Intel представила первый двухъядерный процессор на одном кристале Core Duo, для мобильной платформы.
В ноябре 2006 года вышел первый четырёхъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном корпусе. Потомком этого процессора стал Intel Core 2 Quad на ядре Yorkfield (45 нм), архитектурно схожем с Kentsfield но имеющем больший объём кэша и рабочие частоты.
В октябре 2007 года в продаже появились восьмиядерные UltraSPARC T2, каждое ядро выполняло 8 потоков.
10 сентября 2007 года были выпущены в продажу нативные (в виде одного кристалла) четырёхъядерные процессоры для серверов AMD Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barcelona.[2] 19 ноября 2007 года вышел в продажу четырёхъядерный процессор для домашних компьютеров AMD Phenom.[3] Эти процессоры реализуют новую микроархитектуру K8L (K10).
Компания AMD пошла по собственному пути, изготовляя четырёхъядерные процессоры единым кристаллом (в отличие от Intel, первые четырёхъядерные процессоры которой представляют собой фактически склейку двух двухъядерных кристаллов). Несмотря на всю прогрессивность подобного подхода первый «четырёхъядерник» фирмы, получивший название AMD Phenom X4, получился не слишком удачным. Его отставание от современных ему процессоров конкурента составляло от 5 до 30 и более процентов в зависимости от модели и конкретных задач[источник не указан 1184 дня].
К 1-2 кварталу 2009 года обе компании обновили свои линейки четырёхъядерных процессоров. Intel представила семейство Core i7, состоящее из трёх моделей, работающих на разных частотах. Основными изюминками данного процессора является использование трёхканального контроллера памяти (типа DDR3) и технологии эмулирования восьми ядер (полезно для некоторых специфических задач). Кроме того, благодаря общей оптимизации архитектуры удалось значительно повысить производительность процессора во многих типах задач. Слабой стороной платформы, использующей Core i7, является её чрезмерная стоимость, так как для установки данного процессора необходима дорогая материнская плата на чипсете Intel X58 и трёхканальный набор памяти типа DDR3, также имеющий на данный момент высокую стоимость.
Компания AMD в свою очередь представила линейку процессоров Phenom II X4. При её разработке компания учла свои ошибки: был увеличен объём кэша (по сравнению с первым поколением Phenom), процессоры стали изготавливаться по 45-нм техпроцессу (это, соответственно, позволило снизить тепловыделение и значительно повысить рабочие частоты). В целом, AMD Phenom II X4 по производительности стоит вровень с процессорами Intel предыдущего поколения (ядро Yorkfield) и весьма значительно отстаёт от Intel Core i7[источник не указан 1193 дня]. С выходом 6-ядерного процессора AMD Phenom II X6 Black Thuban 1090T ситуация немного изменилась в пользу AMD.
На данный момент[когда?] массово доступны процессоры с 2, 3, 4 и 6 ядрами, а также 2, 3 и 4-модульные процессоры AMD поколения Bulldozer. В серверном сегменте также доступны 8-ядерные процессоры Xeon и Nehalem (Intel) и 12-ядерные Opteron (AMD).[4]
Кэширование
Кэширование — это использование дополнительной быстродействующей памяти (кэша, англ. cache) для хранения копий блоков информации из основной (оперативной) памяти, вероятность обращения к которым в ближайшее время велика.
Различают кэши 1-, 2- и 3-го уровней (обозначаются L1, L2 и L3 — от Level 1, Level 2 и Level 3). Кэш 1-го уровня имеет наименьшую латентность (время доступа), но малый размер, кроме того, кэши первого уровня часто делаются многопортовыми. Так, процессоры AMD K8 умели производить одновременно 64-битные запись и чтение, либо два 64-битных чтения за такт, AMD K8L может производить два 128-битных чтения или записи в любой комбинации. Процессоры Intel Core 2 могут производить 128-битные запись и чтение за такт. Кэш 2-го уровня обычно имеет значительно большую латентность доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.
Гарвардская архитектура
Гарвардская архитектура отличается от архитектуры фон Неймана тем, что программный код и данные хранятся в разной памяти. В такой архитектуре невозможны многие методы программирования (например, программа не может во время выполнения менять свой код; невозможно динамически перераспределять память между программным кодом и данными); зато гарвардская архитектура позволяет более эффективно выполнять работу в случае ограниченных ресурсов, поэтому она часто применяется во встраиваемых системах.
Параллельная архитектура
Архитектура фон Неймана обладает тем недостатком, что она последовательная. Какой бы огромный массив данных ни требовалось обработать, каждый его байт должен будет пройти через центральный процессор, даже если над всеми байтами требуется провести одну и ту же операцию. Этот эффект называется узким горлышком фон Неймана.
Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров, которые называются параллельными. Параллельные процессоры используются в суперкомпьютерах.
Возможными вариантами параллельной архитектуры могут служить (по классификации Флинна):
- SISD — один поток команд, один поток данных;
- SIMD — один поток команд, много потоков данных;
- MISD — много потоков команд, один поток данных;
- MIMD — много потоков команд, много потоков данных.
Цифровые сигнальные процессоры
Для цифровой обработки сигналов, особенно при ограниченном времени обработки, применяют специализированные высокопроизводительные сигнальные микропроцессоры (DSP) с параллельной архитектурой.
Процесс изготовления
Первоначально перед разработчиками ставится техническое задание, исходя из которого принимается решение о том, какова будет архитектура будущего процессора, его внутреннее устройство, технология изготовления. Перед различными группами ставится задача разработки соответствующих функциональных блоков процессора, обеспечения их взаимодействия, электромагнитной совместимости. В связи с тем, что процессор фактически является цифровым автоматом, полностью отвечающим принципам булевой алгебры, с помощью специализированного программного обеспечения, работающего на другом компьютере, строится виртуальная модель будущего процессора. На ней проводится тестирование процессора, исполнение элементарных команд, значительных объёмов кода, отрабатывается взаимодействие различных блоков устройства, ведётся оптимизация, ищутся неизбежные при проекте такого уровня ошибки.
После этого из цифровых базовых матричных кристаллов и микросхем, содержащих элементарные функциональные блоки цифровой электроники, строится физическая модель процессора, на которой проверяются электрические и временные характеристики процессора, тестируется архитектура процессора, продолжается исправление найденных ошибок, уточняются вопросы электромагнитной совместимости (например, при практически рядовой тактовой частоте в 10 ГГц отрезки проводника длиной в 7 мм уже работают как излучающие или принимающие антенны).
Затем начинается этап совместной работы инженеров-схемотехников и инженеров-технологов, которые с помощью специализированного программного обеспечения преобразуют электрическую схему, содержащую архитектуру процессора, в топологию кристалла. Современные системы автоматического проектирования позволяют, в общем случае, из электрической схемы напрямую получить пакет трафаретов для создания масок. На этом этапе технологи пытаются реализовать технические решения, заложенные схемотехниками, с учётом имеющейся технологии. Этот этап является одним из самых долгих и сложных в разработке и иногда требует компромиссов со стороны схемотехников по отказу от некоторых архитектурных решений. Следует отметить, что ряд производителей заказных микросхем (foundry) предлагает разработчикам (дизайн-центру или fabless) компромиссное решение, при котором на этапе конструирования процессора используются представленные ими стандартизованные в соответствии с имеющейся технологией библиотеки элементов и блоков (Standard cell). Это вводит ряд ограничений на архитектурные решения, зато этап технологической подгонки фактически сводится к игре в конструктор «Лего». В общем случае, изготовленные по индивидуальным проектам микропроцессоры являются более быстрыми по сравнению с процессорами, созданными на основании имеющихся библиотек.
Следующим, после этапа проектирования, является создание прототипа кристалла микропроцессора. При изготовлении современных сверхбольших интегральных схем используется метод литографии. При этом, на подложку будущего микропроцессора (тонкий круг из монокристаллического кремния, либо сапфира) через специальные маски, содержащие прорези, поочерёдно наносятся слои проводников, изоляторов и полупроводников. Соответствующие вещества испаряются в вакууме и осаждаются сквозь отверстия маски на кристалле процессора. Иногда используется травление, когда агрессивная жидкость разъедает не защищённые маской участки кристалла. Одновременно на подложке формируется порядка сотни процессорных кристаллов. В результате появляется сложная многослойная структура, содержащая от сотен тысяч до миллиардов транзисторов. В зависимости от подключения транзистор работает в микросхеме как транзистор, резистор, диод или конденсатор. Создание этих элементов на микросхеме отдельно, в общем случае, не выгодно. После окончания процедуры литографии подложка распиливается на элементарные кристаллы. К сформированным на них контактным площадкам (из золота) припаиваются тонкие золотые проводники, являющиеся переходниками к контактным площадкам корпуса микросхемы. Далее, в общем случае, крепится теплоотвод кристалла и крышка микросхемы.
Затем начинается этап тестирования прототипа процессора, когда проверяется его соответствие заданным характеристикам, ищутся оставшиеся незамеченными ошибки. Только после этого микропроцессор запускается в производство. Но даже во время производства идёт постоянная оптимизация процессора, связанная с совершенствованием технологии, новыми конструкторскими решениями, обнаружением ошибок.
Следует отметить, что параллельно с разработкой универсальных микропроцессоров, разрабатываются наборы периферийных схем ЭВМ, которые будут использоваться с микропроцессором и на основе которых создаются материнские платы. Разработка микропроцессорного набора (чипсета, англ. chipset) представляет задачу, не менее сложную, чем создание собственно микросхемы микропроцессора.
В последние несколько лет наметилась тенденция переноса части компонентов чипсета (контроллер памяти, контроллер шины PCI Express) в состав процессора (подробнее см.: Система на кристалле).
Энергопотребление процессоров
С технологией изготовления процессора тесно связано и его энергопотребление.
Первые процессоры архитектуры x86 потребляли мизерное (по современным меркам) количество энергии, составляющее доли ватта. Увеличение количества транзисторов и повышение тактовой частоты процессоров привело к существенному росту данного параметра. Наиболее производительные модели требуют до 130 и более ватт. Несущественный на первых порах фактор энергопотребления, сейчас оказывает серьёзное влияние на эволюцию процессоров:
- совершенствование технологии производства для уменьшения потребления, поиск новых материалов для снижения токов утечки, понижение напряжения питания ядра процессора;
- появление сокетов (разъемов для процессоров) с большим числом контактов (более 1000), большинство которых предназначено для питания процессора. Так у процессоров для популярного сокета LGA775 число контактов основного питания составляет 464 штуки (около 60 % от общего количества);
- изменение компоновки процессоров. Кристалл процессора переместился с внутренней на внешнюю сторону, для лучшего отвода тепла к радиатору системы охлаждения;
- интеграция в кристалл температурных датчиков и системы защиты от перегрева, снижающей частоту процессора или вообще останавливающей его при недопустимом увеличении температуры;
- появление в новейших процессорах интеллектуальных систем, динамически меняющих напряжение питания, частоту отдельных блоков и ядер процессора, и отключающих не используемые блоки и ядра;
- появление энергосберегающих режимов для «засыпания» процессора, при низкой нагрузке.
Тепловыделение процессоров и отвод тепла
Для теплоотвода от микропроцессоров применяются пассивные радиаторы и активные кулеры.
Измерение и отображение температуры микропроцессора
Для измерения температуры микропроцессора, обычно внутри микропроцессора, в области центра крышки микропроцессора устанавливается датчик температуры микропроцессора. В микропроцессорах Intel датчик температуры — термодиод или транзистор с замкнутыми коллектором и базой в качестве термодиода, в микропроцессорах AMD — терморезистор.
Производители
Наиболее популярные процессоры сегодня производят фирмы Intel, AMD и IBM.
Большинство процессоров, используемых в настоящее время, являются Intel-совместимыми, то есть имеют набор инструкций и интерфейсы программирования, сходные с используемыми в процессорах компании Intel.
Среди процессоров от Intel: 8086, i286, i386, i486, Pentium, Pentium II, Pentium III, Celeron (упрощённый вариант Pentium), Pentium 4, Core 2 Quad, Core i3, Core i5, Core i7, Xeon (серия процессоров для серверов), Itanium, Atom (серия процессоров для встраиваемой техники) и др. AMD имеет в своей линейке процессоры архитектуры x86 (аналоги 80386 и 80486, семейство K6 и семейство K7 — Athlon, Duron, Sempron) и x86-64 (Athlon 64, Athlon 64 X2, Phenom, Opteron и др.). Процессоры IBM (POWER6, POWER7, Xenon, PowerPC) используются в суперкомпьютерах, в видеоприставках 7-го поколения, встраиваемой технике; ранее использовались в компьютерах фирмы Apple.
По данным компании IDC, по итогам 2009 г.на рынке микропроцессоров для настольных ПК, ноутбуков и серверов доля корпорации Intel составила 79,7 %, доля AMD — 20,1 %.[5]
Доли по годам:
Год | Intel | AMD | Другие |
2007 | 78,9 % | 13,1 % | 8,0 % |
2008 | 80,4 % | 19,3 % | 0,3 % |
2009 | 79,7 % | 20,1 % | 0,2 % |
2010 | 80,8 % | 18,9 % | 0,3 % |
2011[6] | 83,7 % | 10,2 % | 6,1 % |
СССР/Россия
Основная статья: Российские микропроцессоры
В советское время одним из самых востребованных из-за его непосредственной простоты и понятности, стал задействованный в учебных целях МПК КР580 — набор микросхем, копия набора микросхем Intel 82xx. Использовался в отечественных компьютерах, таких как Радио 86РК, ЮТ-88, Микроша и т. д.
Разработкой микропроцессоров в России занимаются ЗАО «МЦСТ», НИИСИ РАН и ЗАО «ПКК Миландр». Также разработку специализированных микропроцессоров, ориентированных на создание нейронных систем и цифровую обработку сигналов, ведут НТЦ «Модуль» и ГУП НПЦ «ЭЛВИС». Ряд серий микропроцессоров также производит ОАО «Ангстрем».
НИИСИ разрабатывает процессоры серии Комдив на основе архитектуры MIPS. Техпроцесс — 0,5 мкм, 0,3 мкм; КНИ.
- КОМДИВ32 (англ.), 1890ВМ1Т, в том числе в варианте КОМДИВ32-С (5890ВЕ1Т), стойком к воздействию факторов космического пространства (ионизирующему излучению)
- КОМДИВ64 (англ.), КОМДИВ64-СМП
- Арифметический сопроцессор КОМДИВ128
ЗАО ПКК Миландр разрабатывает 16-разрядный процессор цифровой обработки сигналов и 2-ядерный процессор:
- 2011 год, 1967ВЦ1Т[7] — 16-разрядный процессор цифровой обработки сигналов, частота 50 МГц, КМОП 0,35 мкм
- 2011 год, 1901ВЦ1Т — 2-ядерный процессор, DSP (100 МГц) и RISC (100 МГц), КМОП 0,18 мкм
НТЦ «Модуль» разработал и предлагает микропроцессоры семейства NeuroMatrix:[8]
- 1998 год, 1879ВМ1 (NM6403) — высокопроизводительный специализированный микропроцессор цифровой обработки сигналов с векторно-конвейерной VLIW/SIMD архитектурой. Технология изготовления — КМОП 0,5 мкм, частота 40 МГц.
- 2007 год, 1879ВМ2 (NM6404) — модификация 1879ВМ1 с увеличенной до 80 МГц тактовой частотой и 2Мбитным ОЗУ, размещённым на кристалле процессора. Технология изготовления — 0,25 мкм КМОП.
- 2009 год, 1879ВМ4 (NM6405) — высокопроизводительный процессор цифровой обработки сигналов с векторно-конвейерной VLIW/SIMD архитектурой на базе запатентованного 64-разрядного процессорного ядра NeuroMatrix. Технология изготовления — 0,25 мкм КМОП, тактовая частота 150 МГц.
- СБИС 1879ВМ3 — программируемый микроконтроллер с ЦАП и АЦП. Частота выборок до 600 МГц (АЦП) и до 300 МГц (ЦАП). Максимальная тактовая частота 150 МГц.[9]
ГУП НПЦ ЭЛВИС разрабатывает и производит микропроцессоры серии «Мультикор»[10], отличительной особенностью которых является несимметричная многоядерность. При этом физически в одной микросхеме содержатся одно CPU RISC-ядро с архитектурой MIPS32, выполняющее функции центрального процессора системы, и одно или более ядер специализированного процессора-акселератора для цифровой обработки сигналов с плавающей/фиксированной точкой ELcore-xx (ELcore = Elvees’s core), основанного на «гарвардской» архитектуре. CPU-ядро является ведущим в конфигурации микросхемы и выполняет основную программу. Для CPU-ядра обеспечен доступ к ресурсам DSP-ядра, являющегося ведомым по отношению к CPU-ядру. CPU микросхемы поддерживает ядро ОС Linux 2.6.19 или ОС жесткого реального времени QNX 6.3 (Neutrino).
- 2004 год, 1892ВМ3Т (MC-12) — однокристальная микропроцессорная система с двумя ядрами. Центральный процессор — MIPS32, сигнальный сопроцессор — SISD ядро ELcore-14. Технология изготовления — КМОП 250 нм, частота 80 МГц. Пиковая производительность 240 MFLOPs (32 бита).
- 2004 год, 1892ВМ2Я (MC-24) — однокристальная микропроцессорная система с двумя ядрами. Центральный процессор — MIPS32, сигнальный сопроцессор — SIMD ядро ELcore-24. Технология изготовления — КМОП 250 нм, частота 80 МГц. Пиковая производительность 480 MFLOPs (32 бита).
- 2006 год, 1892ВМ5Я (MC-0226) — однокристальная микропроцессорная система с тремя ядрами. Центральный процессор — MIPS32, 2 сигнальных сопроцессора — MIMD ядро ELcore-26. Технология изготовления — КМОП 250 нм, частота 100 МГц. Пиковая производительность 1200 MFLOPs (32 бита).
- 2008 год, NVCom-01 («Навиком») — однокристальная микропроцессорная система с тремя ядрами. Центральный процессор — MIPS32, 2 сигнальных сопроцессора — MIMD DSP-кластер DELCore-30 (Dual ELVEES Core). Технология изготовления — КМОП 130 нм, частота 300 МГц. Пиковая производительность 3600 MFLOPs (32 бита). Разработан в качестве телекоммуникационного микропроцессора, содержит встроенную функцию 48-канальной ГЛОНАСС/GPS навигации.
- 2012 год, «Навиком-02T» — однокристальная микропроцессорная система с тремя ядрами. Архитектура микропроцессора — трёхъядерная гетерогенная. Ведущий процессор — MIPS32, сигнальныЙ сопроцессор — MIMD-типа на базе ядер из библиотеки платформы «МУЛЬТИКОР», программируемое ядро сигнального процессора, организованного как двухпроцессорный кластер DSP с плавающей и фиксированной точкой, дополненный многоканальным коррелятором для ГЛОНАСС/GPS-навигации. DSP-кластер следующего поколения имеет ряд новых возможностей, в том числе: набор графических команд; аппаратный ускоритель кодера Хаффмана; возможность отработки DSP внешних прерываний; возможность доступа DSP-ядер к внешнему адресному пространству; гибкая граница программной памяти кластера DSP; прерывания от исключительных ситуаций при операциях с числами с плавающей запятой. Технология изготовления — КМОП 130 нм, частота 250 МГц. Пиковая производительность — 4000 MFLOPs (32 бита) и 24000 MOPs в формате фиксированной точки int8. Имеет пониженную потребляемую мощность.
В качестве перспективного проекта НПЦ ЭЛВИС представлен MC-0428 — процессор MultiForce — однокристальная микропроцессорная система с одним центральным процессором и четырьмя специализированными ядрами. Технология изготовления — КМОП 130 нм, частота — до 340 МГц. Пиковая производительность ожидается не менее 8000 MFLOPs (32 бита).
ОАО «Ангстрем» производит (не разрабатывает) следующие серии микропроцессоров:
- 1839 — 32-разрядный VAX-11/750-совместимый микропроцессорный комплект из 6 микросхем. Технология изготовления — КМОП, тактовая частота 10 МГц.
- 1836ВМ3 — 16-разрядный LSI-11/23-совместимый микропроцессор. Программно совместим с PDP-11 фирмы DEC. Технология изготовления — КМОП, тактовая частота 16 МГц.
- 1806ВМ2 — 16-разрядный LSI/2-совместимый микропроцессор. Программно совместим с LCI-11 фирмы DEC.Технология изготовления — КМОП, тактовая частота 5 МГц.
- Л1876ВМ1 32-разрядный RISC микропроцессор. Технология изготовления — КМОП, тактовая частота 25 МГц.
Из собственных разработок Ангстрема можно отметить однокристальную 8-разрядную RISC микроЭВМ Тесей.
Компанией МЦСТ разработано и внедрено в производство семейство универсальных SPARC-совместимых RISC-микропроцессоров с проектными нормами 90, 130 и 350 нм и частотами от 150 до 1000 МГц (подробнее см. статью о серии — МЦСТ-R и о вычислительных комплексах на их основе Эльбрус-90микро). Также разработан VLIW-процессор Эльбрус с оригинальной архитектурой ELBRUS, используется в комплексах Эльбрус-3М1). Прошел государственные испытания и рекомендован к производству новый процессор Эльбрус-2С+ отличающийся от процессора Эльбрус тем, что содержит два ядра на архитектуре VLIW и четыре ядра DSP (Elcore-09). Основные потребители российских микропроцессоров — предприятия ВПК.
Китай
- Семейство Loongson (Godson)
- Семейство ShenWei (SW)
Япония
- NEC VR (MIPS, 64 bit)
- Hitachi VR (RISC)[11]
Определение модели
В Linux определить модель и параметры установленного процессора, не открывая корпуса, можно прочитав файл /proc/cpuinfo.
В операционных системах Windows узнать модель установленного процессора, тактовую частоту, количество ядер и т. д. можно, например, через программу dxdiag.
См. также
- Сопроцессор
- Криптопроцессор
- Аппаратная платформа компьютера
Примечания
- ↑ 4004 datasheet (в документе говорится, что цикл инструкции длится 10,8 микросекунд, а в рекламных материалах Intel — 108 кГц)
- ↑ AMD Barcelona уже в продаже
- ↑ AMD Phenom: тесты настоящего четырёхъядерного процессора
- ↑ AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100 overclockers.ua
- ↑ CNews 2010 AMD «откусила» долю рынка у Intel
- ↑ Intel укрепляет позиции на процессорном рынке — Бизнес — Исследования рынка — Компьюлента
- ↑ 1967ВЦ1Т − Миландр
- ↑ Информация о микропроцессорах производства НТЦ Модуль
- ↑ НТЦ «Модуль»
- ↑ Информация о микропроцессорах производства ГУП НТЦ Элвис
- ↑ Made-in-Japan Microprocessors May 1997
Литература
- Скотт Мюллер. Модернизация и ремонт ПК = Upgrading and Repairing PCs. — 17-е изд. — М.: Вильямс, 2007. — С. 59—241. — ISBN 0-7897-3404-4
Ссылки
- Краткая история процессоров: 31 год из жизни архитектуры х86
- Правительство обнулило пошлины на процессоры 18 сентября 2007
- Крис Касперски. RISC vs. CISC
- Процессор энциклопедия Алфёрова
- Сравнение производительности процессоров (http://www.cpubenchmark.net)
- Сравнение производительности мобильных процессоров (www.notebookcheck-ru.com)
- Исследование эффективности ALU и FPU процессоров разных поколений от TestLabs.kz
Технологии цифровых процессоров | |||||||||
---|---|---|---|---|---|---|---|---|---|
Архитектура |
CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская 8 бит · 16 бит · 32 бит · 64 бит · 128 бит |
||||||||
Параллелизм |
|
||||||||
Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер | ||||||||
Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) | ||||||||
Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения |
Компоненты персонального компьютера | |
---|---|
Системный блок |
Блок питания • Охлаждение • Материнская плата • Процессор • Шины • Видеокарта • Звуковая карта • Сетевая плата |
Память |
Оперативная память • Запоминающее устройство с произвольным доступом |
Носители и дисководы |
Жёсткий диск • Твердотельный накопитель (Флеш-память • USB-флеш) • Оптический привод (CD • DVD • BD) • НГМД (Дискета) • Стример • Кардридер |
Вывод |
Динамик • Монитор • Принтер • Графопостроитель (плоттер) |
Ввод |
Клавиатура • Мышь • Трекбол • TrackPoint • Тачпад • Сенсорный экран • Цифровая ручка • Световое перо • Графический планшет • Микрофон • Сканер • Веб-камера |
Игры |
Джойстик • Руль • Штурвал • Педали • Пистолет • Paddle • Геймпад • Дэнспад • Трекер |
Прочее |
Модем • ТВ-тюнер • Сетевой фильтр • ИБП |
Микроконтроллеры | |||||||
---|---|---|---|---|---|---|---|
Архитектура |
|
||||||
Производители | Analog Devices • Atmel • Silabs • Freescale • Fujitsu • Holtek • Hynix • Infineon • Intel • Microchip • Maxim • Parallax • NXP Semiconductors • Renesas • Texas Instruments • Toshiba • Ubicom • Zilog • Cypress | ||||||
Компоненты | Регистр • Процессор • SRAM • EEPROM • Флеш-память • Кварцевый резонатор • Кварцевый генератор • RC-генератор • Корпус | ||||||
Периферия | Таймер • АЦП • ЦАП • Компаратор • ШИМ-контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer | ||||||
Интерфейсы | CAN • UART • USB • SPI • I²C • Ethernet • 1-Wire | ||||||
ОС | FreeRTOS • μClinux • BeRTOS • ChibiOS/RT • eCos • RTEMS • Unison • MicroC/OS-II • Nucleus | ||||||
Программирование | JTAG • C2 • Программатор • Ассемблер • Прерывание • MPLAB • AVR Studio • MCStudio |
Курс лекций
по дисциплине «Информатика»
Разработчики
Максимова О.Г., преподаватель.
Максимова А.В., студент.
Содержание
3 Средства
информационных и коммуникационных технологий
3.1 Архитектура
компьютеров
Основные характеристики
компьютеров
Многообразие компьютеров
Многообразие внешних
устройств, подключаемых к компьютеру
Виды программного
обеспечения компьютеров
3.2 Компьютерные
сети
Объединение компьютеров в локальную сеть
Для чего нужны компьютерных сети?
Организация работы
пользователей в локальных вычислительных сетях
3.3 Безопасность,
гигиена, эргономика, ресурсосбережение
Безопасность при работе
с компьютерной техникой
Санитарно-гигиенические
нормы
Требования к рабочему
месту.
Эргономика рабочего
места.
Ресурсосбережение при
работе с компьютером.
3 Средства информационных и
коммуникационных технологий
3.1 Архитектура
компьютеров
Основные характеристики компьютеров
Архитектура компьютера – это его устройство и
принципы взаимодействия его основных элементов – логических узлов, среди
которых основными являются
–
процессор,
–
внутренняя память (основная и оперативная),
–
внешняя память
–
устройства ввода-вывода информации (периферийные).
Каждый логический узел компьютера выполняет
свои функции.
Центральный процессор[1] — электронный блок либо интегральная схема, исполняющая машинные
инструкции (код программ), главная часть аппаратного обеспечения компьютера или
программируемого логического контроллера. Иногда называют микропроцессором или
просто процессором.
Рисунок 1 – Процессор
Функции процессора
–
обработка данных (выполнение над ними
арифметических и логических операций);
–
управление всеми остальными устройствами
компьютера.
Характеристики процессора:
–
Тактовая частота (в МГц, ГГц) и подразумевает под
собой количество тактов (вычислений) в секунду.
–
Частота шины – тактовая частота (в МГц), с которой
происходит обмен данными между процессором и системной шиной материнской платы.
–
Множитель – коэффициент умножения, на основании
которого производится расчет конечной тактовой частоты процессора, методом
умножения частоты шины на коэффициент (множитель).
–
Разрядность (32/64 bit) — максимальное количество
бит информации, которые процессор может обрабатывать и передавать одновременно.
–
Кэш-память первого уровня, L1 — это блок
высокоскоростной памяти, который расположен на ядре процессора, в него
помещаются данные из оперативной памяти. Сохранение основных команд в кэше L1
повышает быстродействие процессора, так как обработка данных из кэша происходит
быстрее, чем при непосредственном взаимодействии с ОЗУ.
–
Кэш-память второго уровня, L2 — это блок
высокоскоростной памяти, выполняющий те же функции, что и кэш L1, однако
имеющий более низкую скорость и больший объем.
–
Кэш-память третьего уровня обычно присутствует в
серверных процессорах или специальных линейках для настольных ПК.
–
Ядро – определяет большинство параметров
центрального процессора: тип сокета, диапазон рабочих частот и частоту работы
FSB. характеризуется следующими параметрами:
·
Техпроцесс Масштаб технологии (мкм), которая
определяет размеры полупроводниковых элементов, составляющих основу внутренних
цепей процессора.
·
Напряжение, которое необходимо процессору для
работы и характеризует энергопотребление.
·
Тепловыделение – мощность (Вт), которую должна
отводить система охлаждения, чтобы обеспечить нормальную работу процессора.
·
Тип сокета – то есть разъём для установки
процессора на материнской плате.
Оперативная память[2] или оперативное запоминающее устройство (ОЗУ) — энергозависимая часть
системы компьютерной памяти, в которой во время работы компьютера хранится
выполняемый машинный код (программы), а также входные, выходные и промежуточные
данные, обрабатываемые процессором.
Рисунок 2 – Оперативная память
Функции оперативной памяти:
–
прием информации от других устройств;
–
запоминание информации;
–
передача информации по запросу в другие устройства
компьютера.
Характеристики оперативной памяти:
–
форм-фактор (размер);
–
тип DDR — 1, 2, 3, 4;
–
тайминги – длительность импульсов и пауз обновления
ячеек памяти;
–
тактовая частота оперативной памяти — частота в МГц
(количество импульсов в секунду), с которой работает оперативная память;
–
тактовая частота шины — частота канала, по которому
идёт обмен данными между оперативной памятью и процессором;
–
пропускная способность — это сколько за секунду
времени может быть «пропущено» данных через плату оперативной памяти;
–
объём;
–
напряжение.
Жёсткий диск, винчестер (накопитель на жёстких
магнитных дисках, или НЖМД)[3] — запоминающее устройство
произвольного доступа, основанное на принципе магнитной записи.
Винчестер является основным накопителем данных
в большинстве компьютеров. Именно на жёсткий диск устанавливается операционная
система или другое программное обеспечение.
Рисунок 3 – Жёсткий диск
Характеристики жёстких дисков:
–
форм-фактор;
–
объём;
–
скорость вращения шпинделя;
–
исполнение геометрии;
–
интерфейс подключения;
–
объём буфера;
–
наработка на отказ;
–
среднее время ожидания;
–
энергопотребление и тепловыделение.
Видеокарта[4]— устройство, преобразующее
графический образ, хранящийся как содержимое памяти компьютера (или самого
адаптера), в форму, пригодную для дальнейшего вывода на экран монитора.
Рисунок 4 – Видеокарта
Характеристики видеокарт:
–
тип подключения;
–
предназначение;
–
производитель видеопроцессора (GPU);
–
частота GPU, МГц;
–
количество занимаемых слотов на материнской плате;
–
тип видеопамяти;
–
объем видеопамяти, ГБ;
–
тактовая частота видеопамяти, МГц;
–
шина обмена данными с памятью, бит;
–
низкопрофильные карты;
–
тип охлаждения;
–
поддержка SLI и CrossFire;
–
поддержка разных версий DirectX;
–
видеовыходы;
–
необходимость дополнительного питания.
В основе архитектуры современных ЭВМ
лежит магистрально-модульный принцип (рис. 26), который позволяет
комплектовать нужную конфигурацию и производить необходимую модернизацию. Он
опирается на шинный принцип обмена информацией между модулями
Рисунок 5 – Магистрально-модульный принцип
построения компьютера
Системная шина или магистраль компьютера
включает в себя три многоразрядные шины:
–
шину данных – для передачи
различных данных между устройствами компьютера;
–
шину адреса – для адресации пересылаемых
данных, то есть для определения их местоположения в памяти или в устройствах
ввода/вывода;
–
шину управления, которая включает
в себя управляющие сигналы, которые служат для временного согласования работы
различных устройств компьютера, для определения направления передачи данных,
для определения форматов передаваемых данных и т. д.
Основой построения модульного устройства компьютера
является материнская (или системная) плата[5] — печатная плата, которая содержит основную часть устройства (рис. 6).
Рисунок 6 – Материнская плата
На системной (материнской) плате размещаются:
–
микропроцессор;
–
математический сопроцессор;
–
генератор тактовых импульсов;
–
микросхемы памяти;
–
контроллеры внешних устройств;
–
звуковая и видеокарты;
–
таймер.
Многообразие компьютеров
В настоящее время рынок персональных
компьютеров представлен огромным количеством моделей различных конфигураций.
Основными факторами, влияющими на дальнейшее развитие компьютерной индустрии,
станет снижение цен, появление в этом сегменте рынка все большего числа
производителей. Компьютерный бизнес — одна из самых динамично развивающихся
сфер как российской, так и мировой экономики.
Также положительную динамику рынка
персональных компьютеров связывают с глобальной «мобилизацией» потребителей.
Сегодня все больше рядовых пользователей переходят с громоздких настольных
машин на портативные ПК — например, ноутбуки и нетбуки. Немудрено, что при
таком невероятном многообразии компьютеров пользователю практически невозможно
выбрать персональный компьютер самостоятельно.
Существует различные системы классификации
ЭВМ:
–
по производительности и быстродействию;
–
по назначению;
–
по уровню специализации;
–
по типу используемого процессора;
–
по особенностям архитектуры;
–
по размерам.
Рассмотрим одну из таких классификаций.
1. Персональные компьютеры
1.1 Стационарные компьютеры. Занимают
постоянное место, например, компьютерный стол. Обладают большими
вычислительными мощностями чем переносные гаджеты. Выделим основные виды
подобных устройств:
–
Десктопы. Самые мощные и производительные
персональные компьютеры, основным компонентом которого является системный блок,
занимающий постоянное место. К блоку подключаются периферийные устройства –
клавиатура, мышь, монитор и прочее. Такое устройство является модульным, то
есть отдельные его части подлежат замене, что позволяет постоянно обновлять и
улучшать показатели работы компьютера.
–
Неттопы. По сути это те же десктопы, но они
обладают меньшими габаритами и более экономным энергопотреблением. Их
производительность меньше, но для некоторых задач она не настолько важна, а вот
отсутствие шума для некоторых покупателей является приоритетом. Такой девайс
занимает меньше места и его значительно проще разместить в домашних или офисных
условиях, что также имеет высокую ценность в некоторых ситуациях.
–
Моноблоки. У данного вида стационарных ПК
отсутствует видимый системный блок – все его компоненты размещены в мониторе,
который так же служит корпусом для комплектующих. Такие устройства обладают
высокой эстетичностью и меньшими требованиями к наличию свободного места, а
топовые моноблоки практически не уступают по характеристикам привычным
десктопам.
1.2. Портативные компьютеры – переносные
персональные компьютеры, имеют высокие требования к мобильности конструкции и
ее весу, способны работать в автономном режиме, для увеличения которого производители
зачастую жертвуют производительностью системы. Этот вид ПК классифицируют
следующим образом:
–
Ноутбуки – переносные компьютеры, оснащенные
батареей, которая позволяет устройство работать без подключения к электрической
сети. В одном корпусе такого гаджета одновременно находятся все необходимые
элементы – монитор, клавиатура, процессор и прочая начинка.
–
Нетбуки – это компактные ноутбуки, которые приносят
производительность в жертву легкости веса и упрощения мобильности, они отлично
подходят для тех, кто любит работать не только за определенным рабочим местом,
но и буквально где придется – в поезде, кафе или библиотеке.
–
Планшеты – нечто среднее между смартфонами и
ноутбуками. Обладают довольной большой диагональю экрана порядка 10 дюймов,
весят заметно меньше ноутбуков. Управляются посредством сенсорного дисплея,
хотя, например, планшетные ноутбуки обладают полноценной клавиатурой.
–
Карманные компьютеры и смартфоны. Форм-фактор КПК
был крайне популярен на заре нулевых, когда мобильные телефоны еще не
предоставляли широких возможностей. Пришедшие на смену КПК смартфоны
проигрывают в производительности более тяжелым и мощным ноутбукам, зато они
имеют неоспоримое достоинство – они умещаются в карман и их всегда можно иметь
под рукой.
2. Вычислительные серверы – благодаря таким компьютерам обеспечивается доступ к сетям, в том
числе и интернету. Все файлы и информация, которую пользователь видит на экране
монитора при веб-серфинге, хранится на таких серверах. Для таких компьютеров
огромную роль играет производительность, но есть и более важная характеристика
подобных систем – надежность. Вычислительные серверы должны без сбоев работать
весь срок своей службы. Такие типы компьютеров всегда имеют резервные копии
данных, что сказывается на общей концепции их архитектуры.
В основе такой аппаратуры лежит параллельная
обработка информации, потому серверы стали пионерами в развитии
многопроцессорности и многоядерности, которая сегодня используется уже
повсеместно.
3. Суперкомпьютеры –профессиональные машины с наиболее высокой на сегодняшний день
производительностью, они используются в научных лабораториях и крупном бизнесе.
Такое устройство представляет собой целый комплекс компьютерных устройств,
который может занимать огромные помещения. Каждый составной элемент подобной
махины отвечает за свою конкретную задачу, подобная структуризация и векторная
организация позволяют решать самые сложные проблемы, требующие невероятного
объема расчетов.
4. Другие виды – многие устройства, которые привычно воспринимаются опосредовано от
компьютерной составляющей, например, банкоматы или игровые приставки, также по
большому счету являются компьютерами. Бытовая техника тоже имеет в себе встроенные
компьютеры, ответственные за выполнение ряда функций. Роботы, которые
постепенно получают все большее распространение в нашей жизни, так же являются
компьютерными устройствами.
Многообразие внешних устройств,
подключаемых к компьютеру
Периферийные[6] (внешние) устройства персонального компьютера подключаются к его интерфейсам и
предназначены для выполнения вспомогательных операций. Благодаря этим
устройствам компьютерная система приобретает гибкость и универсальность.
По назначению периферийные устройства можно
подразделить на:
–
устройства ввода данных;
–
устройства вывода данных;
–
устройства хранения данных.
Виды
программного обеспечения компьютеров
Программное обеспечение (ПО, англ. software) – это совокупность программ, обеспечивающих
функционирование компьютеров и решение с их помощью задач предметных областей.
Программное обеспечение – неотъемлемая часть компьютерной системы, является
логическим продолжением технических средств и определяет сферу применения
компьютера.
ПО современных компьютеров включает множество
разнообразных программ, которые можно условно разделить на две группы:
1. Системное программное обеспечение
(системные программы);
2. Прикладное программное обеспечение
(прикладные программы);
Системное программное обеспечение – это программы, управляющие работой компьютера и выполняющие
различные вспомогательные функции, например, управление ресурсами компьютера,
создание копий информации, проверка работоспособности устройств компьютера,
выдача справочной информации о компьютере и др. Они предназначены для всех
категорий пользователей, используются для эффективной работы компьютера и
пользователя, а также эффективного выполнения прикладных программ.
Центральное место среди системных программ занимают операционные
системы (англ. operating systems).
Операционная система управляет работой
компьютера с момента включения до момента выключения питания. Она загружается
автоматически при включении компьютера, ведет диалог с пользователем,
осуществляет управление компьютером, его ресурсами (оперативной памятью,
дисковым пространством и т.д.), запускает другие программы на выполнение и
обеспечивает пользователю и программам удобный способ общения – интерфейс – с
устройствами компьютера. Другими словами, операционная система обеспечивает
функционирование и взаимосвязь всех компонентов компьютера, а также
предоставляет пользователю доступ к его аппаратным возможностям.
Сервисные системы расширяют
возможности ОС по обслуживанию системы, обеспечивают удобство работы
пользователя. К этой категории относят системы технического обслуживания,
программные оболочки и среды ОС, а также служебные программы.
Системы технического обслуживания – это совокупность программно-аппаратных средств ПК, которые выполняют
контроль, тестирование и диагностику и используются для проверки
функционирования устройств компьютера и обнаружения неисправностей в процессе
работы компьютера. Они являются инструментом специалистов по эксплуатации и
ремонту технических средств компьютера.
Служебные программы (утилиты, лат. utilitas – польза) – это вспомогательные программы,
предоставляющие пользователю ряд дополнительных услуг по реализации часто
выполняемых работ или же повышающие удобство и комфортность работы. К ним
относятся:
–
программы-упаковщики (архиваторы), которые
позволяют более плотно записывать информацию на дисках, а также объединять
копии нескольких файлов в один, так называемый, архивный файл (архив);
–
антивирусные программы, предназначенные для
предотвращения заражения компьютерными вирусами и ликвидации последствий
заражения;
–
программы оптимизации и контроля качества дискового
пространства;
–
программы восстановления информации,
форматирования, защиты данных;
–
драйверы – программы, расширяющие возможности
операционной системы по управлению устройствами ввода/вывода, оперативной
памятью и т.д. При подключении к компьютеру новых устройств необходимо
установить соответствующие драйверы;
–
коммуникационные программы, организующие обмен
информацией между компьютерами и др.
Прикладное программное обеспечение предназначено для решения задач пользователя. В его состав входят
прикладные программы пользователей и пакеты прикладных программ различного
назначения.
Прикладная программа пользователя – это любая
программа, способствующая решению какой-либо задачи в пределах данной
проблемной области. Прикладные программы могут использоваться либо автономно,
либо в составе программных комплексов или пакетов.
Пакеты прикладных программ – это специальным образом организованные программные комплексы,
рассчитанные на общее применение в определенной проблемной области и
дополненные соответствующей технической документацией.
Содержание:
ВВЕДЕНИЕ
Создание персонального компьютера (ПК) относится к одному из самых значительных изобретений прошлого столетия. С введением в массовую эксплуатацию компьютеров изменились процессы практически во всех сферах жизни общества: образовании, медицине, в промышленности и сельском хозяйстве, а также в деятельности целых государств. Практически все элементы международной коммуникации на данный момент зависят от компьютерного обеспечения, будь то торговля, банковское или даже военное дело. Все это говорит о том, что персональный компьютер является ядром полноценной жизни в информационном сообществе, а также успешной профессиональной деятельности человека. Сейчас нам трудно представить мир без возможности преобразования, обработки и передачи данных на таком уровне, который обеспечивают мощности современных ПК. Такие возможности компьютеров обусловлены развитием и совершенствованием их центральной части – процессора, способного совершать миллиарды операций в секунду.
Центральный процессор персонального компьютера – это электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть аппаратного обеспечения компьютера.
Так как процессор является центральным вычислительным элементом любого компьютера, вся работа используемых нами персональных компьютеров базируется на нём.
Таким образом, значение центрального процессора как главного устройства компьютера для современного человека крайне велико, что обуславливает выбор темы курсовой работы.
Объект курсовой работы – процессор персонального компьютера.
Предметом работы выступают характеристики процессора персонального компьютера: его назначение и выполняемые им функции, а также классификация процессоров в зависимости от конкретных характеристик.
Целью данной работы является изучение процессора персонального компьютера как основного его элемента.
Для достижения целей работы необходимо выполнить следующие задачи:
- Исследовать основные понятия, определяющие работу центрального процессора, его назначение;
- Определить функции, выполняемые процессором;
- Изучить основы устройства процессоров, принципы их работы, ключевые параметры и особенности;
- Описать основные характеристики процессоров;
- Составить классификацию современных процессоров.
Написание курсовой работы базируется на изучении теоретических учебных материалов, имеющихся в открытом доступе в сети Интернет и государственных библиотеках. В качестве основного источника информации был выбран энциклопедический систематизированный словарь-справочник «Введение в современные информационные и телекоммуникационные технологии в терминах и фактах» Феликса Семёновича Воройского. Выбор данного справочника обусловлен тем, что его структура и содержание позволяют систематизированно изучить необходимые материалы, касающиеся процессора персонального компьютера и получить полную и достоверную информацию о нём.
Выводы о надёжности источника и достоверности информации в нём можно сделать на основании следующих фактов:
- Справочник составлен кандидатом технических наук, профессором Ф.С. Воройским, ныне работающим в Государственной публичной научно-технической библиотеке России.
- Основной ресурс, в котором были опубликованы данные материалы – это Издательство физико-математической и технической литературы, ведущее научное академическое издательство, которое выпускает учебную литературу для ВУЗов, ВТУЗов и организаций дополнительного образования, а также научную и справочную литературу во всех областях физики и математики.
На основании данного справочника строилась логика работы и формировалась основная база знаний по предмету курсовой работы, необходимая для оценки также и других источников информации. Помимо словаря-справочника для формирования основных понятий и суждений относительно процессоров использовались следующие источники:
- Новейший самоучитель работы на компьютере авторов А. Алексеева, Г. Евсеева, В. Мураховского и С. Симоновича, дающий подробную информацию об аппаратном обеспечении персонального компьютера в целом и устройстве процессора в частности;
- Архитектура ЭВМ и вычислительных систем: учебное пособие для студентов учреждений среднего профессионального образования, обучающихся по группе специальностей «Автоматизация и управление» А.В. Кузина и С.А. Песковой.
ГЛАВА 1. ОБЩИЕ СВЕДЕНИЯ О ПРОЦЕССОРЕ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА
1.1 История создания
Впервые о процессорах стало известно в 1950-х годах. Они состояли из электромеханических реле, ферритовых сердечников и вакуумных ламп, которые устанавливались в модули, собранные в стойки. Большое количество таких стоек соединялось проводниками и представляло собой процессор того времени. Затем в качестве элементов процессора использовали электронные лампы и транзисторы, которые монтировались на платы, по виду уже близкие к современным.
Все компоненты отвечали за процесс вычисления и были очень массивными, так как процессоры создавались в виде уникальных составных частей для таких же уникальных и даже единственных в своём роде компьютерных систем. Позднее производители начали задумываться о переходе от узкоспециализированных процессоров к серийному изготовлению типовых классов многоцелевых процессорных устройств. Благодаря расположению элементов процессора на одной микросхеме можно было создать устройство, которое подходило бы для использования на самых разных видах оборудования, применяемых для совершения вычислительных процессов.
Идея была реализована в конце шестидесятых годов двадцатого века. Компания Busicom начала разработку своего нового настольного калькулятора, для чего она заказала 12 микросхем у компании Intel. Разработчики Intel увидели возможность значительно сэкономить на соединении нескольких микросхем в единое целое и в 1971 году создали первый в мире микропроцессор под названием Intel 4004[1], он изображён на рисунке 1.1. У него была способность совершать сразу шесть десятков тысяч операций всего за одну секунду.
Рисунок 1.1 – Первый в мире микропроцессор Intel 4004.
Первое официальное сообщение о создании микропроцессора появилось в 1972 г.
С середины 1980-х годов микропроцессоры стали значительно преобладать над прочими видами процессоров, вследствие чего данный термин всё чаще и чаще воспринимался просто как синоним слова «процессор». Однако, по своей сути это далеко не одно и то же, ведь даже сейчас центральные процессорные устройства некоторых суперкомпьютеров являются сложными комплексами больших и сверхбольших интегральных схем.
На момент создания первого микропроцессора ещё не было возможности использовать его для компьютеров, поскольку таковых попросту не существовало, сфера его применения ограничивалась терминалами и программируемыми калькуляторами. По это причине изначально понятие «центральное процессорное устройство» относилось к специализированному классу логических машин, которые были предназначены для реализации сложнейших трудоёмких компьютерных программ. Позднее, из-за соответствия этих задач функциям компьютерных процессоров того времени, это понятие было перенесено и на компьютеры.
Следующим шагом в развитии микропроцессоров стало создание в 1974 году Intel 8080. Новый 8-битный процессор содержал уже 6000 транзисторов и мог адресовать 64 Кбайт памяти[2]. Кроме того, это был первый микропроцессор, который мог делить числа. Именно он стал основой для создания первого персонального компьютера Altair 8800.
С течением времени структура, архитектура и исполнение самих процессоров много раз подвергались изменениям и доработкам, но основное его предназначение до сих пор остаётся прежним.
1.2 Назначение процессора и основные понятия, определяющие его работу
Процессор (центральное процессорное устройство – Central Processing Unit, CPU) – это основной рабочий компонент компьютера, который выполняет арифметические и логические операции, заданные программой[3]. Программа прописывается кодами операций — двоичными кодами, составленными из последовательностей нулей и единиц, и хранится в оперативном запоминающем устройстве компьютера (ОЗУ). Коды операций, в свою очередь, считываются и интерпретируются непосредственно процессором вычислительной машины.
Процессор управляет последовательностью вычислений и координирует работу всех остальных устройств компьютера. Другими словами, центральный процессор персонального компьютера (ПК) — это главная часть аппаратного обеспечения компьютера или другой специальной электронной вычислительной машины. Без команды, отданной процессором, не может быть произведена даже такая простая операция, как сложение двух чисел или запись одного мегабайта информации — все эти действия требуют немедленного обращения к ЦП[4].
Внешне он представляет собой небольшую пластину из полупроводникового материала, чаще всего кремния, с вмонтированной в неё интегральной схемой или так называемой микросхемой.
Один из современных микропроцессоров марки Intel представлен на рисунке 1.1.
Рисунок 1.1 – Современный центральный процессор персонального компьютера Intel.
Микросхема или чип — это электронное вычислительное устройство, обрабатывающее информацию, представленную в виде двоичного кода. Микросхемы работают на основе транзисторов — радиоэлектронных элементов, управляющих входящим электротоком[5]. Количество таких транзисторов в одном обычном чипе может достигать нескольких миллионов, вплоть до миллиарда. Размеры транзисторов диктует так называемый техпроцесс процессора — масштаб технологии, непосредственно определяющий размеры элементов, которые составляют основу внутреннего строения процессора.
Ядро, используемое в том или ином чипе – это часть процессора, выполняющая один поток команд. Оно определяет его производительность, энергопотребление и тактовую частоту. Процессоры, содержащие на одном кристалле или в одном корпусе несколько ядер, называются многоядерными[6].
1.3 Характеристики процессоров
Основными характеристиками центрального процессорного устройства являются:
- производительность;
- тактовая частота
- разрядность процессора;
- количество ядер;
- сокет (разъём);
- размерность технологического процесса;
- кэш-память процессора;
- встроенное графическое ядро;
- рабочая температура процессора;
Поочерёдно рассмотрим каждую характеристику.
1. Производительность
Производительность компьютера или, как её называют, вычислительная мощность характеризует быстроту исполнения некоторых операций на компьютере. Это интегральная характеристика, которая зависит от показателей частоты процессора, его разрядности, а так же особенностей архитектуры (наличия кэш-памяти и др.)[7]. Производительность нельзя вычислить, она определяется в процессе тестирования, т.е. определения скорости выполнения процессором определенных операций в какой-либо программной среде.
Как правило, она измеряется в так называемых «флопсах[8]» (англ. FLOPS — FLoating-point Operations Per Second), которые представляют собой количество операций с плавающей запятой за определённое количество времени, чаще всего в секунду, а также производными от неё.
2. Тактовая частота.
Данная характеристика представляет собой количество операций, которые может выполнить процессор за определённый промежуток времени, измеряется в Герцах. Один герц — это скорость, при которой одна операция выполняется за одну секунду, а скорость современного компьютера измеряется в гигагерцах. 1 ГГц – это скорость, с которой процессор выполняет миллион простых задач. Чем больше операций или тактов процессор выполняет за одну секунду, тем выше его производительность[9].Тактовая частота заметно сказывается на быстроте работы ПК, но это не единственная метрика, которая влияет на его производительность.
3. Разрядность процессора.
Разрядность — это конечное количество разрядов двоичного числа, над которым разово может производиться машинная операция передачи какой-либо информации. Таким образом, данный параметр определяет, какое количество бит информации обрабатывают регистры процессора за период одного такта. Разрядность процессора определяется разрядностью регистров, в которые помещаются обрабатываемые данные. Например, если регистр имеет размер 2 байта, то разрядность процессора равна 16(8*2); если 4 байта, то 32, если 8 байт, то 64. Сейчас общая масса выпускаемых процессоров представлена в двух вариантах архитектуры регистров: 32 и 64 бита[10], а подавляющее большинство мощных процессоров имеют разрядность в 64 бита и поддерживают от 4 гигабайт ОЗУ и выше[11]. Эта характеристика также является одной из главных.
4. Количество ядер;
Ядро представляет собой часть процессора, способную выполнять один поток команд. Ядра отличаются по размеру кэш памяти, частоте шины, технологии изготовления и т. д. С развитием технологий производства процессоров появилась возможность размещать в одном корпусе более одного ядра, что значительно увеличивает производительность ЦПУ и помогает выполнять несколько задач одновременно, а также использовать несколько ядер в работе программ. Многоядерные процессоры быстрее справляются с архивацией данных, декодированием видео, работой современных видеоигр и т.д. На данный момент доступны процессоры с 2, 3, 4, 6 и даже 8 и более ядрами, но большое их количество используется в серверных решениях и не требуется рядовому пользователю ПК.
5. Сокет (разъём)
Сокет или гнездовой разъем – это вариант крепления процессорного устройства к материнской плате. В широком смысле он представляет собой программный интерфейс для обеспечения обмена данными между процессами, абстрактный объект, представляющий конечную точку соединения. Каждый разъем допускает установку исключительно конкретного типа процессоров, поэтому нужно сверять сокет выбранного пользователем процессора с определённой материнской платой.
6. Размерность технологического процесса
Технологический процесс, упомянутый в первом разделе, определяет размеры основных составных элементов процессора — транзисторы. Частота работы кристалла определяется частотой переключений транзисторов. Чем тоньше используемый техпроцесс, тем больше процессор содержит транзисторов, меньше потребляет электроэнергии и меньше греется. Также во многом от техпроцесса зависит еще одна важная характеристика процессора – так называемый TDP. Termal Design Point — показатель, отображающий энергопотребление процессора, а также количество тепла, выделяемого им в процессе работы[12].
7. Кэш-память процессора
Кэш-память – это одна из главных характеристик центрального процессора, на которую необходимо обращать внимание при его выборе. Как упоминалось ранее, кэш используется для увеличения работы устройства в компьютере, путём создания буферной зоны, хранящей копию последнего массива данных, обработанного процессором[13]. Это дает возможность быстро выполнить схожую операцию в случае необходимости, без траты времени на обращение к общей памяти персонального компьютера, следовательно, чем больше объем кэш-памяти — тем лучше.
8. Встроенное графическое ядро
Процессор может быть оснащен графическим ядром, которое отвечает за показ изображения на дисплей монитора, тогда он также будет играть роль видеокарты. В последнее десятилетие встроенные видеокарты подобного типа хорошо оптимизированы: они качественно выполняют основные программы и подходят для большинства игр на средних и минимальных настройках. Для работы в офисных приложениях, выполнения поиска информации в интернете и просмотра высококачественных видео такой видеокарты вполне достаточно[14].
9. Рабочая температура процессора
Нормальная рабочая температура для любого процессора составляет до 45 ºC в режиме простоя и до 70 ºC при активной работе[15]. Данные значения сильно усреднены, так как в расчет не берется год производства процессора и используемые технологии. Диапазон рабочих температур процессора, в первую очередь, зависит от его архитектуры, а также от нагрузки на процессор и качество отвода тепла. На данную характеристику необходимо обращать внимание в целях защиты процессора от перегревания.
На основании изучения характеристик современных процессоров можно выделить наиболее важные из них. К ним относятся те характеристики, которые напрямую влияют на производительность процессора: тактовая частота, разрядность и особенности архитектуры – строение кэш-памяти и количество ядер процессора.
В первой главе были изложены общие сведения о процессоре персонального компьютера, который являет собой главную часть аппаратного обеспечения компьютера, выполняющую арифметические и логические операции в соответствии с машинным кодом. Мы выяснили, что в основе процессора лежит микросхема, состоящая из множества транзисторов, а ядро, используемое в микросхеме, влияет на производительность, энергопотребление и тактовую частоту процессора.
После изучения истории создания процессора и его назначения можно сделать вывод о многофункциональности данного устройства и возможности его применения не только в производстве персональных компьютеров, но и во многих других электронно-вычислительных машинах.
ГЛАВА 2. ФУНКЦИИ ПРОЦЕССОРА ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА И ЕГО СТРОЕНИЕ
2.1 Основные функции процессора и элементы, отвечающие за их выполнение
В масштабах персонального компьютера в целом можно выделить две основные функции центрального процессора:
1. Обработка данных в соответствии с прописанной программой;
2. Программное управление работой всех устройств компьютера.
Обработка команд всегда включает в себя две составляющие: операционную и операндную. Операционная составляющая указывает, что в конкретный момент должна выполнить компьютерная система, а операндная определяет аргумент операции, то есть то, над чем должен совершить операцию процессор.
Во время совершения операций все современные процессоры следуют четырём основным шагам, которые иногда также рассматриваются как функции процессора: «выборка», «декодирование», «выполнение» и «хранение» (англ. fetch, decode, execute, store)[16], которые в совокупности представляют собой цикл команд.
Для того, чтобы понять, каким образом выполняются функции процессора, необходимо рассмотреть его устройство со всеми составляющими элементами и распределение функциональных обязанностей между ними.
Функции процессора реализуются двумя основными его компонентами соответственно: арифметико-логическим устройством (АЛУ) и устройством управления (УУ) при использовании регистров процессорной памяти[17]. Вместе АЛУ и УУ образуют вычислительное ядро процессора, упомянутое в предыдущем разделе[18]. Принцип взаимодействия этих элементов можно понять благодаря упрощённой схеме процессора ПК, представленной на рисунке 2.1.
Рисунок 2.1 – Упрощённая схема процессора ПК.
Устройство управления руководит работой всех устройств компьютера, обеспечивая согласованность их функционирования, в соответствии с заданной программой. УУ извлекает последовательную команду из регистра команд, определяет, какие действия с данными необходимо совершить, после чего задает определённую последовательность действий выполнения поставленной задачи.
Арифметико-логическое устройство – это один из блоков процессора, который выполняет одну из главных функций процессора – обработку данных. АЛУ служит для выполнения арифметических и логических преобразований над данными, называемыми операндами.
Функционирование АЛУ регулируется устройством управления и в совокупности с ним логически образует собственно процессор ПК.
В состав «классических» систем АЛУ+УУ, как правило, входят регистры, сумматор и схемы управления.
Регистры — это внутренняя память процессора, состоящая из быстродействующих ячеек памяти. При использовании регистров процессор производит необходимые расчеты и сохраняет промежуточные результаты.
У каждого регистра есть определенное назначение, при этом существует несколько отдельных ценных регистров. Рассмотрим их по порядку.
1. Аккумулятор – это главный регистр процессора, большинство логических и арифметических операций осуществляется с его помощью. Любая из таких операций над двумя операндами предполагает размещение одного из них в аккумуляторе, а другого – в памяти или еще каком-либо регистре.
2. Сумматор – это регистр АЛУ, выполняющий процедуру сложения поступающих двоичных кодов и участвующий в выполнении каждой операции[19];
3. Счетчик команд – это регистр УУ, который отслеживает, какие инструкции процессор должен выполнить в следующий раз при обработке данных, он служит для автоматической выборки программы из каждых последовательных ячеек памяти. Говоря простым языком, счётчик команд сообщает процессору, из какой именно ячейки оперативной памяти считывать очередную команду. После извлечения из оперативной памяти данная команда помещается в ячейку — регистр команд.
4. Регистр команд – это регистр УУ, который предназначен для хранения кода команды на тот отрезок времени, который необходим для ее выполнения. Полученный после выполнения команды результат может быть переписан из регистра в ячейку ОЗУ.
Ранее упомянутая схема управления – это устройство, которое принимает управляющие сигналы от УУ и преобразует их в сигналы для управления работой регистров и сумматора АЛУ. Таким образом, главная функция схем управления – это декодирование команды, находящейся в регистре команд, посредством дешифратора команд, который в результате выдает сигналы, необходимые для выполнения команды. Можно сказать, что схемы управления – это маленький микропроцессор внутри микропроцессора[20].
Все перечисленные устройства процессора обмениваются между собой информацией при помощи внутренней шины данных – она соединяет между собой АЛУ и регистры, осуществляя передачу данных внутри процессора. Каждый функциональный блок процессора всегда подключен к ней, но может воспользоваться размещёнными там данными только после получения соответствующего сигнала от схем управления[21].
Перечисленные выше элементы считаются многими программистами минимальным набором, необходимым для функционирования процессора, но его деятельность невозможно представить без первичной памяти. К ней, как правило, относят постоянные и оперативные запоминающие устройства (ПЗУ и ОЗУ), а также кэш-память.
Постоянное запоминающее устройство (ПЗУ или ROM, англ.) – это энергонезависимая память, которая используется для хранения массива неизменяемых данных – программ начальной загрузки компьютера и тестирования его узлов. Энергонезависимость ПЗУ означает, что записанная в ней информация остаётся неизменной после выключения компьютера.
Оперативное запоминающее устройство (ОЗУ или RAM, англ.) – это энергозависимая память, предназначенная для хранения информации, изменяющейся в ходе выполнения процессором операций по ее обработке, используется как для чтения, так и для записи информации. Энергозависимость ОЗУ обусловлена использованием микросхем динамической и статической памяти, для которых сохранение бита информации означает сохранение электрического заряда[22].
Также современные процессоры имеют свою внутреннюю кэш-память. Она используется для уменьшения времени простоя процессора и подгружает информацию из ОЗУ. Непосредственно с ядром связана сверхбыстрая но самая маленькая L1, потом идет промежуточная L2, и на внешнем уровне находится большая по объему, но менее скоростная L3[23].
В общем случае обмен информацией между процессором и внутренней кэш-памятью производится из регистра в ячейку и обратно. Адрес ячейки, в которую направляется информация, передаваемая по шине данных, передается процессором по адресной шине.
Как мы видим на схеме, изображённой на рисунке 2.1, кэш-память процессора разделена на кэш данных и командную кэш-память. Такое разделение присутствует не везде, но используется для повышения скорости обмена информацией, касающейся инструкций. Оно основывается на предположении о том, что если инструкция была загружена из памяти, она, вероятно, будет использоваться снова. Для повышения производительности используется предварительно заданный шаблон доступа к командной кэш-памяти, который помогает обойти задержки, обеспечивая более быстрое и качественное выполнение инструкций[24].
Блок предварительной выборки и блок предварительной декодировки, изображённые на рисунке 2.1, относятся к подсистеме выборки команд. Блок предвыборки кодов осуществляет заполнение очереди команд, а блок предшифрации команд осуществляет саму предшифрацию, определяет тип и формат команд, выделяет поле, содержимое которого поступает в блок для вычисления линейного адреса. Другими словами, дешифратор отвечает за преобразование цифровых данных из памяти компьютера в поток сигналов, понятных процессору[25]. Команды, прошедшие этап выборки, хранятся в очереди команд[26].
2.2 Алгоритм работы процессора
В масштабах всего компьютера схему работы процессора можно описать следующим образом:
1. Используя данные с жесткого диска или из сети, процессор выполняет программу и выдает конечный результат в виде файла или картинки, отображаемой на мониторе;
2. В процессе выполнения программы процессор обеспечивает взаимодействие с устройствами ПК посредством операционной системы и определенных инструкций (драйверов).
Например, процессор производит сложные расчеты, занося промежуточные и конечные результаты в оперативную память, а также параллельно дает команды видеокарте визуализировать их.
Конкретно алгоритм обработки данных процессором основан на четырёх этапах, которые были рассмотрены во втором разделе: выборке, декодировании, выполнении и хранении.
Данные этапы подразделяются на более точные действия, и алгоритм включает уже следующие шаги:
1. Определение адреса команды[27].
Адрес команды хранится в регистре счетчике команд и, в случае линейного выполнения программы, после выполнения каждой команды счетчик команд увеличивает содержимое на количество слов команды. В случае безусловного перехода в счетчик команд записывается адрес перехода. В современных процессорах выборка команд производится целым блоком, который записывается во внутренний КЭШ команд. Команды выполняются конвейером команд, таким образом, что одновременно может выполняться несколько команд на разных ступенях конвейера. Специальное устройство предсказывает последовательность выполнения команд, и производится опережающее выполнение тех команд, операнды которых на данный момент определены. Если действительный порядок выполнения команд отличается от предсказанного, последовательность команд выгружается из конвейера и производится загрузка конвейера новой последовательностью команд.
2. Выборка адреса команды.
Для чтения блока команд из оперативной памяти процессор устанавливает адрес блока команд на шине адреса и производит выборку.
3. Выборка команды.
Блок сопряжения выполняет ввод блока команд через интерфейс с памятью. Блок команд запоминается в КЭШ команд.
4. Дешифрация команды[28].
Если команда состоит из нескольких слов, то в дешифратор кода команды передается только первое слово команды, которое содержит код операции и признаки адресации. В этом случае по первому слову определяется длина команды и выбор следующих слов происходит по мере необходимости. Процесс дешифрации может быть разделен на первичную и вторичную. Первичная дешифрация определяет тип команды, ее цель состоит в определении, к какой группе команд относится данная команда. Первичная дешифрация позволяет уменьшить объем алгоритма обработки программ за счет одинаковой обработки команд одного типа. Вторичная дешифрация выполняется на более поздних этапах, обычно после вычисления адресов операндов. Для команд арифметико-логической группы вторичная дешифрация может выполняться непосредственно в АЛУ;
5. Вычисление адресов операндов.
Если команда адресная, то на следующем этапе вычисляются адреса операндов. Вычисление адреса и выборка для каждого операнда чередуются. Адрес операнда, если он является адресом ячейки ОЗУ, помещается в регистр адреса памяти;
6. Выборка операндов.
Выборка операндов производится для большинства адресных команд арифметико-логической группы. Содержимое ячейки памяти вводится в процессор для выполнения операции в АЛУ процессора. Если операнды размещаются во внутренних регистрах процессора, то операция выполняется значительно быстрее, чем при извлечении данных из памяти. Данные из оперативной памяти извлекаются блоками, которые помещаются в КЭШ данных внутри процессора[29].
7. Исполнение операции.
На этой стадии, если это необходимо, производится вторичная дешифрация команды непосредственно в АЛУ, где и выполняется операция над подготовленными заранее операндами. Кроме арифметических или логических операций могут выполняться операции по пересылке операндов, в этом случае операнд извлекается из соответствующего регистра и пересылается на место операнда-приемника. Если выполняется команда безусловного перехода, то вычисленный адрес перехода записывается в регистр — счетчик команд. Команды вызова подпрограмм требуют запоминания состояния вычислительного процесса. Для этого используется сохранение данных в стеке (области памяти, предназначенной для записи данных в определенной последовательности и их последовательного извлечения). Для записи данных в стек и их извлечения из стека используется специальный адресный регистр, автоинкрементно изменяющий адрес. Указатель стека всегда указывает на следующую после последнего обращения к стеку ячейку памяти.
8. Запись результата.
После выполнения команды результат операции обычно помещается в регистр аккумулятор. Затем он должен быть записан в оперативную память и, если это необходимо, выведен на внешнее запоминающее устройство, на дисплей монитора или передано другому внешнему устройству. Ввод и вывод информации для освобождения центрального процессора производят специальные каналы ввода/вывода. При этом канал управляется процессором ввода/вывода, который анализирует ситуацию и осуществляет обмен[30].
Схематично и наглядно процесс обработки данных процессором изображён на рисунке 2.2.
Рисунок 2.2 – Схема рабочего цикла центрального процессора ПК.
Можно рассмотреть алгоритм обработки данных более подробно на примере фрагмента программы со сложением пары чисел. В данной программе задействован такой элемент, как сумматор, однако, он может не использоваться в устройстве определённых процессоров в зависимости от их архитектуры[31].
Итак, первая команда:
1. Устройство управления определяет, что находится в счетчике команд.
2. Двоичный код из соответствующей ячейки ОЗУ записывается в регистр команд. В процессе его декодирования устройство управления распознаёт команду вызова другой ячейки оперативной памяти в сумматор.
3. Номер ячейки — первого операнда (первого слагаемого) — записывается в регистр адреса.
4. Устройство управления считывает данные из оперативной памяти в сумматор, согласно регистру адреса.
К тому моменту, как выборка и выполнение первой команды закончились, значение в счётчике команд автоматически увеличивается на единицу.
Следующий цикл:
1. Устройство управления переписывает содержимое следующей ячейки оперативной памяти, на которую указывает счётчик команд, в регистр команд.
2. Это оказалась команда сложения сумматора с ячейкой оперативной памяти. Её адрес располагается в регистре адреса, который уже изменился в процессе декодирования команды сложения устройством управления.
3. Данные из оперативной памяти из ячейки, на которую указывает регистр адреса, считываются и складываются с сумматором. Результат остается в сумматоре.
Закончились выборка и выполнение второй команды. Получена сумма двух чисел, и она располагается в сумматоре, далее цикл может начинаться заново[32].
2.3 Классификация процессоров персонального компьютера
На основании характеристик процессоров, рассмотренных в предыдущих главах, а также на сновании дополнительных показателей, можно провести классификацию процессоров ПК.
Необходимо заметить, что классификация современных процессоров носит весьма условный характер, так как большинство удачных технических решений переносится с процессоров одного класса на другой, придавая им всё новые и новые свойства[33]. Однако, разделение процессоров по классам отражает принципы их построения и конструктивные особенности, что немаловажно.
Итак, классифицировать процессоры персонального компьютера можно:
1.По назначению
1.1 Универсальные
1.2 Специализированные
Универсальные микропроцессоры применяются для решения широкого спектра задач. Их эффективность мало зависит от специфики поставленной задачи, так как при их производстве используется большое количество передовых технологий и средств, как правило, они предназначены для управления дорогостоящими системами связи.
Специализация процессора, то есть его проблемная ориентация на ускоренное выполнение строго определенных функций позволяет увеличить эффективную производительность благодаря сужению круга решаемых задач[34]. Специализированные процессоры, в свою очередь, могут подразделяться на микроконтроллеры, которые используют для управления недорогими малогабаритными устройствами, и сигнальные процессоры, содержащие упрощённый набор команд[35].
2. По количеству выполняемых программ
2.1 Однопрограммные
2.2 Мультипрограммные
В однопрограммных микропроцессорах выполняется только одна программа, переход к выполнению другой программы происходит после завершения текущей[36]. В много- или мультипрограммных процессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль над состоянием и управлением большим числом источников или приемников информации.
3. По объёму набора инструкций
3.1CISC
3.2RISC
Complete Instruction Set Computer (CISC) – это процессоры с полным набором инструкций . Данный класс процессоров предоставляет широкие возможности для программирования, но, с другой стороны, сложная система команд затрудняет обработку инструкций и препятствует увеличению частоты процессора. Reduced Instruction Set Computer (RISC) – это процессоры с сокращенным набором инструкций . Простая система коротких инструкций позволяет быстро декодировать и выполнять их за минимальное время – в пределах 1 такта[37].
4.По числу больших интегральных схем (БИС)
4.1 Однокристалльные
4.2 Многокристалльные
4.3 Многокристалльные секционные
Однокристальные микропроцессоры получаются при реализации всех аппаратных средств процессора в виде одной БИС или СБИС (сверхбольшой интегральной схемы)[38]. По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются, но их возможности ограничены аппаратными ресурсами кристалла и корпуса. Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функционально законченные части и реализовать их в виде БИС (СБИС). Функциональная законченность БИС многокристального микропроцессора означает, что его части выполняют заранее определенные функции и могут работать автономно. Микропроцессорная секция – это БИС, предназначенная для обработки нескольких разрядов данных или выполнения определенных управляющих операций.[39].
5. По виду обрабатываемых сигналов
5.1 Цифровые
5.2 Аналоговые
Сами микропроцессоры представляют собой цифровые устройства, однако могут иметь встроенные аналого-цифровые и цифро-аналоговые преобразователи. Входные аналоговые сигналы в цифровой форме передаются в процессор через преобразователь, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. С архитектурной точки зрения такие микропроцессоры представляют собой аналоговые функциональные преобразователи сигналов и называются аналоговыми микропроцессорами. Аналоговый сигнал, преобразованный в цифровую форму, обрабатывается в реальном масштабе времени и передается на выход обычно в аналоговой форме через цифро-аналоговый преобразователь[40].
6. По характеру временной организации работы
6.1 Синхронные
6.2 Асинхронные
6.3 Комбинированные
В синхронных процессорах начало и конец выполнения операций задаются устройством управления. Время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов.
Асинхронные микропроцессоры позволяют начало выполнения каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции[41].
7. По организации структуры
7.1 Одномагистральные
7.2 Многомагистральные
В одномагистральных процессорах все устройства имеют одинаковый интерфейс и подключены к единой информационной магистрали, по которой передаются коды данных, адресов и управляющих сигналов. В многомагистральных устройства группами подключаются к своей информационной магистрали. Это позволяет осуществить одновременную передачу информационных сигналов по нескольким магистралям. Такая организация систем усложняет их конструкцию, однако увеличивает производительность.
8. В зависимости от функционального назначения (процессоры узкого назначения):
8.1 Арифметический процессор
8.2 Буферный процессор
8.3 Интерфейсный процессор
8.4 Лингвистический процессор
8.5 Процессор передачи данных
8.6 Терминальный процессор и др[42].
Буферный процессор — это процессор, реализующий промежуточную обработку данных, которыми обмениваются центральный процессор или центральная ЭВМ с устройствами ввода-вывода.
Лингвистический процессор – это компьютерная программа, которая каким-либо образом преобразует входной текст на естественном языке.
В этой главе мы описали основные функции процессора — обработку команд и управление узлами компьютера, перечислили основные элементы, составляющие устройство процессора, и осуществляющие действия, необходимые для его функционирования. Главными составляющими процессора являются арифметическое логическое устройство и устройство управления, совокупность которых образует ядро процессора.
Мы поэтапно рассмотрели основной алгоритм работы процессора персонального компьютера, на основе которого выполняются функции процессора. Также для лучшего понимания алгоритма была более подробно изучена операция выборки-выполнения, которую называют циклом выборки-выполнения, или машинным циклом.
Проведённая нами классификация процессоров даёт возможность наглядно представить разнообразие характеристик, функций и применений процессоров, что подчёркивает их универсальность и незаменимость в современной жизни.
ГЛАВА 3. АРХИТЕКТУРЫ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА
3.1 Архитектура фон Неймана
Большинство современных процессоров для персональных компьютеров, как правило, основаны на той или иной версии циклического процесса последовательной обработки информации, изобретенного Джоном фон Нейманом.
Рисунок 3.1 – Схематичное изображение процессора фон Неймана (память, УУ, АЛУ, аккумулятор, ввод/вывод)[43].
Циклический процесс обработки информации фон Неймана включает следующие этапы[44]:
- Процессор выставляет номер, который хранится в регистре счетчика команд на адресной шине, и дает памяти команду чтения[45];
- Выставленный номер является адресом для памяти. Память, получив адрес и команду чтения, выставляет содержимое, которое хранится по этому адресу на шине данных, и объявляет о готовности;
- Процессор получает номер от шины данных, интерпретирует его как команду (инструкцию) из командной системы и выполняет ее;
- Если последняя команда не нарушает последовательность, процессор увеличивает число, которое хранится в счетчике команд, на единицу (в предположении, что длина каждой команды равна единице). В результате там формируется адрес следующей команды;
- Цикл начинается заново с первого пункта.
Этот цикл выполняется стабильно, и его называют процессом, откуда и пошло название устройства[46].
Архитектура фон Неймана была построена в соответствии со следующими принципами:
1. Принцип однородности памяти.
Команды и данные хранятся в одной и той же памяти и различить их можно только по методу использования, то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему[47].
Такое строение памяти процессора позволяет производить над командами те же операции, что и над числами. Такой приём называют модификацией команд, но с позиций современного программирования он не приветствуется[48]. Причиной является то, что совместное использование шины для памяти программ и памяти данных приводит к узкому месту архитектуры фон Неймана[49], заключающееся в ограничении пропускной способности между процессором и памятью.
На схеме, изображённой на рисунке 3.2, показано расположение оперативной памяти (RAM) относительно центрального процессора персонального компьютера (CPU), при котором можно с лёгкостью заметить это «узкое место»[50].
Рисунок 3.2 – Представление оперативной памяти в соответствии с архитектурой фон Неймана.
Вследствие того, что память программ и память данных не могут быть доступны в один и тот промежуток времени, пропускная способность канала «процессор-память» существенно ограничивает скорость работы процессора — гораздо сильнее, чем если бы программы и данные хранились в разных местах[51].
Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат выполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык низкого уровня конкретной вычислительной машины[52].
2. Принцип двоичного кодирования.
Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов (двоичных цифр, битов) и разделяется на единицы, называемые словами.
3. Принцип адресности.
Структурно основная память состоит из пронумерованных ячеек, причём процессору в произвольный момент доступна любая из них. Двоичные коды разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, для доступа к ним используются номера соответствующих ячеек — адреса[53].
3. Принцип программного управления.
Все вычисления, которые предусматриваются алгоритмом решения задачи, должны быть представлены в виде программы, которая состоит из последовательности управляющих слов — команд. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена[54].
Первыми компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были[55]:
- Прототип — Манчестерская малая экспериментальная машина — Манчестерский университет, Великобритания, 21 июня 1948 года;
- EDSAC — Кембриджский университет,1949 год;
- BINAC — США, 1949 год;
К разновидностям архитектуры фон Неймана относятся конвейерная архитектура, суперскалярная архитектура, CISC- и RISC-архитектуры процессора.
Архитектура конвейера была введена в центральный процессор с целью его ускорения[56].
Обычно для выполнения каждой команды требуется выполнить некоторое количество одних и тех же операций, например: выбор команды ОЗУ, расшифровка команды, адресация операнда в ОЗУ, выбор операнда ОЗ, выполнение команды, регистрация результата в ОЗУ. Каждая из этих транзакций сравнивается с одним этапом конвейера. Появление этой технологии привело к существенному увеличению производительности за счёт возможности выполнения нескольких машинных команд за один тактовый период процессора.
Сравнительная схема последовательного и конвейерного процессоров представлена на рисунке 3.3.
Рисунок 3.3 – Схема последовательного процессора и процессора с конвейером команд.
Грубо говоря, конвейерная архитектура представляет собой несколько параллельно выполняемых действий за один такт[57]. Увеличение количества однообразных действий, выполняемых одновременно, позволяет повысить производительность процессора. В идеальном случае производительность процессора с N — ступенчатым конвейером команд в N раз больше производительности последовательного процессора, т.е. без конвейера команд[58]. Однако, существует определенный естественный предел роста числа исполнительных устройств, при превышении которого производительность процессора практически перестает расти, а исполнительные устройства простаивают.
3.2 Параллельная архитектура
Архитектура фон Неймана в любой своей форме имеет один недостаток, который состоит в её последовательности. Независимо от размеров массива данных, который требуется обработать, каждый его байт должен пройти через центральный процессор, даже если по всем байтам массива требуется выполнить одну и ту же операцию – это ранее упомянутое «узкое место» архитектуры фон Неймана.
Для решения этой проблемы были предложены альтернативные варианты архитектур процессоров, среди которых была классификация Флинна — одна из самых ранних и наиболее известных классификаций архитектур вычислительных систем. В основу классификации положено понятие потока — последовательности, под которой понимается последовательность данных или команд, обрабатываемых процессором.
Рассматривая число потоков данных и потоков команд, Флинн предложил рассматривать следующие классы архитектур: MIMD, SIMD, SISD, MISD.
Архитектура SISD (Single Instruction — Single Data) — «один поток команд, один поток данных». Это описание архитектуры компьютерной системы, подразумевающее исполнение одним процессором одного потока команд, который обрабатывает данные, хранящиеся в одной памяти.
Архитектура SIMD (Single Instruction — Multiple Data) — «один поток команд, много потоков данных» — архитектура, подразумевающая исполнение одной текущей команды несколькими процессорами. Эта команда выбирается из памяти центральным контроллером SIMD-системы, b работает над разными элементами данных. Для этого каждый процессор имеет ассоциированную с ним память, где хранятся массивы однородных данных.
Архитектура MISD (Multiple Instruction — Single Data) — «много потоков команд, один поток данных» – архитектура, в которой данные подаются на набор процессоров, каждый из которых исполняет свою программу их обработки. Подобная архитектура ещё никогда не была реализована.
Архитектура MIMD (Multiple Instructions — Multiple Data) — «много потоков команд, много потоков данных». В этой архитектуре набор процессоров независимо выполняет различные наборы команд, обрабатывающих различные наборы данных. Системы в архитектуре MIMD делятся на системы с распределённой памятью, к которым относятся кластеры и системы с совместно используемой памятью[59]. У этой классификации есть очевидные недостаток – данный класс очень перегружен, так как в него вошли все многопроцессорные системы. При этом они существенно отличаются по ряду признаков (числом процессоров, природе и топологией и видами связей между ними, способами организации памяти и технологиями программирования).
В данной главе мы рассмотрели две основные архитектуры процессора – последовательную архитектуру или архитектуру Джона фон Неймана, а также параллельную архитектуру, которая представляет собой многопроцессорную структуру, призванную ускорить функционирование процессора посредством параллельного выполнения нескольких операций. Были выявлены сильные и слабые стороны каждой из архитектур: замедление работы процессора из-за прохождения всей информации через канал «процессор-память» в архитектуре фон Неймана и невозможность реализации всех идей в параллельной архитектуре.
ЗАКЛЮЧЕНИЕ
Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического, и на данный момент широко распространено во всём мире. Наиболее значимым среди прочей вычислительной техники является персональный компьютер, прочно укоренившийся в повседневной жизни практически каждого городского жителя. Именно массовое производство и постоянное усовершенствование его главного функционального элемента – процессора – сделало персональный компьютер столь популярным.
В ходе данной курсовой работы мы изучили историю создания процессора персонального компьютера, основные понятия, определяющие его работу, и определили его назначение.
Центральный процессор (ЦП) – это центральное устройство компьютера, которое выполняет операции по обработке данных и управляет периферийными устройствами компьютера.
Также в данной работе были рассмотрены основные функции центрального процессора ПК, которые состоят в обработке данных в соответствии с прописанной программой и программном управлением работой всех устройств компьютера. Были перечислены функциональные элементы процессора, благодаря которым осуществляется работа алгоритма обработки данных: арифметико-логическое и управляющее устройства, которые вместе образуют ядро процессора, блок регистров, кэш-память процессора, схема управления и внутренняя шина данных.
Мы изучили характеристики процессоров, среди которых выявили наиболее значимые: производительность, которая основана на тактовой частоте, разрядности и количестве ядер процессора, а также особенностях архитектуры. На основании данных характеристик была составлена и изучена классификация процессоров, дающая представление о разнообразии характеристик и направлений применения процессоров.
СПИСОК ИСПОЛЬЗОВАНЫХ ИСТОЧНИКОВ
БИБЛИОГРАФИЯ
1 А. Алексеев, Г. Евсеев, В. Мураховский, С. Симонович. Новейший самоучитель работы на компьютере. – М.: Десс,1999.
URL: http://bookre.org/reader?file=522890&pg=4 (Дата обращения 12.02.2020)
2. Воройский Ф.С. Информатика. Энциклопедический словарь-справочник: введение в современные информационные и телекоммуникационные технологии в терминах и фактах. — М.: ФИЗМАТЛИТ, 2006.
URL: http://metodichka.x-pdf.ru/15informatika/215492-16-informatika-enciklopedicheskiy-sistematizirovanniy-slovar-spravochnik-vvedenie-sovremennie-informacionnie-telekommunikac.php (Дата обращения 12.02.2020)
3. Кузин А.В., Пескова С.А. Архитектура ЭВМ и вычислительных систем: учебное пособие для студентов учреждений среднего профессионального образования, обучающихся по группе специальностей «Автоматизация и управление» – М.: Инфра-М, 2006. – 350 с.
4. Каган Б.М. Электронные вычислительные машины и системы. Третье издание. М.: Энергоатомиздат, 1991. URL: http://bookre.org/reader?file=1238867&pg=10 (Дата обращения 12.02.2020)
5. Herman H. Goldstine. The Computer from Pascal to von Neumann. — Princeton University Press, 1980. — 365 p. — ISBN 9780691023670.
6. William Aspray. John von Neumann and the Origins of Modern Computing. — MIT Press, 1990. — 394 p. — ISBN 0262011212.
ИНТЕРНЕТ-РЕСУРСЫ
1. Устройство и основные характеристики процессора. URL: https://www.chaynikam.info/stat_cpu.html#harakteristiki
(Дата обращения 14.02.2020).
2. История разработки первого в мире микропроцессора. URL: https://masterok.livejournal.com/2822251.html (Дата обращения 12.02.2020)
3. Классификация микропроцессоров. URL:
https://textarchive.ru/c-2047099.html (Дата обращения 15.02.2020).
4. Лекция «Классификация микропроцессоров». URL:
http://mc-plc.ru/mps/klassifikaciya-mikroprocessorov.htm (Дата обращения 16.02.2020).
5. Микропроцессоры.
URL: https://www.e ope.ee/_download/euni_repository/file/2884/Kursus%20Mikroprotsessortehnika.zip/__10.html (Дата обращения 16.02.2020).
6. Классификация процессоров. URL:
https://studopedia.ru/4_4319_tema—klassifikatsiya-mikroprotsessorov.html
(Дата обращения 16.02.2020).
7. Центральный процессор – назначение и характеристики. URL: https://wi-tech.ru/protsessory/tsentralnyj/#i-2 (Дата обращения 14.02.2020).
8. PPT online/ Информационные технологии. Счёт в древнем мире. URL: https://en.ppt-online.org/257964 (Дата обращения 13.02.2020).
9. Студопедия/ Понятие машинной команды. URL: https://studopedia.ru/20_55696_ponyatie-mashinnoy-komandi-rol-adresnoy-chasti-komandi.html (Дата обращения 13.02.2020).
10. Процессоры. Что это такое. История развития. URL: https://pikabu.ru/story/protsessoryi_chto_yeto_takoe_istoriya_razvitiya_5584369 (Дата обращения 13.02.2020).
11. Что такое разрядность процессора. URL: https://compcpu.ru/stati/chto-takoe-razryadnost-processora-32-64/
(Дата обращения 14.02.2020).
12. О разрядности процессоров. URL:
https://www.ixbt.com/cpu/cpu-bitness.shtml (Дата обращения 14.02.2020).
13. Общие принципы организации и работы компьютеров. URL: http://book.kbsu.ru/theory/chapter2/1_2.html (Дата обращения 12.02.2020).
14. Микросхемы – кремниевое сердце электроники. URL: https://postnauka.ru/faq/154730 (Дата обращения 12.02.2020).
15. Что такое процессор. Ядро процессора. URL: https://mediapure.ru/matchast/chto-takoe-centralnyj-processor/ (Дата обращения 12.02.2020).
16. Юлия Абдулбарова. Что такое арифметико-логическое устройство. URL: https://www.syl.ru/author/47188 (Дата обращения 12.02.2020).
17. Как работает процессор: краткая суть функциональности CPU. URL: http://profi-user.ru/kak-rabotaet-cpu/ (Дата обращения 12.02.2020).
18. Арифметико-логическое устройство. URL: https://studopedia.ru/3_207166_arifmetiko-logicheskoe-ustroystvo.html (Дата обращения 12.02.2020).
19. Изучение элементов и систем автоматики , а также специального программного обеспечения// Лекция «Внутреннее строение микропроцессора» . URL: http://mc-plc.ru/mps/vnutrennee-stroenie-mikroprocessora.htm (Дата обращения 12.02.2020).
20. Большая Энциклопедия Нефти и Газа/Внутренняя шина. URL: https://www.ngpedia.ru/id603916p1.html (Дата обращения 12.02.2020).
21. Информатика и информационные технологии //Сравнительная характеристика ОЗУ и ПЗУ. URL:http://junior.ru/wwwexam/pamiat/pamiat4.htm (Дата обращения 12.02.2020).
22. Как работает процессор: краткая суть функциональности CPU. URL: http://profi-user.ru/kak-rabotaet-cpu/ (Дата обращения 12.02.2020).
23. Процессор. Подробное изложение. URL:http://www.gm4.ru/pril/shamardin2/cpupodr.html (Дата обращения 13.02.2020).
24. Принципы фон Неймана. URL: https://studopedia.ru/2_43061_printsipi-fon-neymana.html ( Дата обращения 13.02.2020).
25. Floating-Point Operations Per Second/ URL: https://en.wikichip.org/wiki/flops (Дата обращения 14.02.2020).
-
История разработки первого в мире микропроцессора. URL: https://masterok.livejournal.com/2822251.html (Дата обращения 12.02.2020) ↑
-
История появления и развития процессоров для компьютеров
https://domcomputer.ru/interesno-o-kompyuterah/istoriya-poyavleniya-i-razvitiya-protsessorov-dlya-kompyuterov.html (Дата обращения 12.02.2020) ↑
-
Воройский Ф.С. Информатика. Энциклопедический словарь-справочник: введение в современные информационные и телекоммуникационные технологии в терминах и фактах. — М.: ФИЗМАТЛИТ, 2006.
URL: http://metodichka.x-pdf.ru/15informatika/215492-16-informatika-enciklopedicheskiy-sistematizirovanniy-slovar-spravochnik-vvedenie-sovremennie-informacionnie-telekommunikac.php (Дата обращения 12.02.2020) ↑ -
Общие принципы организации и работы компьютеров. URL: http://book.kbsu.ru/theory/chapter2/1_2.html (Дата обращения 12.02.2020) ↑
-
Микросхемы – кремниевое сердце электроники. URL: https://postnauka.ru/faq/154730 (Дата обращения 12.02.2020) ↑
-
Что такое процессор. Ядро процессора. URL: https://mediapure.ru/matchast/chto-takoe-centralnyj-processor/ (Дата обращения 12.02.2020) ↑
-
Производительность процессора и характеристики его компонентов. URL: http://tehnopandaru.g-k2.ru/ru/lab/know/complect/proc/behaviour-cpu (Дата обращения 14.02.2020) ↑
-
Floating-Point Operations Per Second/ URL: https://en.wikichip.org/wiki/flops (Дата обращения 14.02.2020) ↑
-
Что такое тактовая частота процессора и на что она влияет. URL: https://comp-security.net/%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%82%D0%B0%D0%BA%D1%82%D0%BE%D0%B2%D0%B0%D1%8F-%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80/ (Дата обращения 14.02.2020) ↑
-
Что такое разрядность процессора. URL: https://compcpu.ru/stati/chto-takoe-razryadnost-processora-32-64/ (Дата обращения 14.02.2020) ↑
-
О разрядности процессоров. URL: https://www.ixbt.com/cpu/cpu-bitness.shtml (Дата обращения 14.02.2020) ↑
-
Устройство и основные характеристики процессора. URL: https://www.chaynikam.info/stat_cpu.html#harakteristiki (Дата обращения 14.02.2020) ↑
-
Центральный процессор – назначение и характеристики. URL: https://wi-tech.ru/protsessory/tsentralnyj/#i-2 (Дата обращения 14.02.2020) ↑
-
IT-World: Нужна ли видео-карта для работы. URL: https://www.it-world.ru/tech/admin/120195.html (Дата обращения 14.02.2020) ↑
-
Нормальная температура процессоров разных производителей. URL: https://lumpics.ru/normal-operating-temperature-processors-from-different-manufacturers/ (Дата обращения 14.02.2020) ↑
-
Scott McCartney. ENIAC: The Triumphs and Tragedies of the World’s First Computer. — Berkley Books, 2001. — 262 p. — ISBN 9780425176443 ↑
-
Юлия Абдулбарова. Что такое арифметико-логическое устройство. URL: https://www.syl.ru/author/47188 (Дата обращения 12.02.2020) ↑
-
Как работает процессор: краткая суть функциональности CPU. URL: http://profi-user.ru/kak-rabotaet-cpu/ (Дата обращения 12.02.2020) ↑
-
Арифметико-логическое устройство. URL: https://studopedia.ru/3_207166_arifmetiko-logicheskoe-ustroystvo.html (Дата обращения 12.02.2020) ↑
-
Изучение элементов и систем автоматики , а также специального программного обеспечения// Лекция «Внутреннее строение микропроцессора» . URL: http://mc-plc.ru/mps/vnutrennee-stroenie-mikroprocessora.htm
(Дата обращения 12.02.2020) ↑
-
Большая Энциклопедия Нефти и Газа/Внутренняя шина. URL: https://www.ngpedia.ru/id603916p1.html (Дата обращения 12.02.2020) ↑
-
Информатика и информационные технологии //Сравнительная характеристика ОЗУ и ПЗУ. URL:http://junior.ru/wwwexam/pamiat/pamiat4.htm (Дата обращения 12.02.2020) ↑
-
Как работает процессор: краткая суть функциональности CPU. URL: http://profi-user.ru/kak-rabotaet-cpu/ (Дата обращения 12.02.2020) ↑
-
Wikipedia/ Cache control instruction. URL: https://en.wikipedia.org/wiki/Cache_control_instruction
(Дата обращения 12.02.2020) ↑
-
Как работает процессор: краткая суть функциональности CPU. URL: http://profi-user.ru/kak-rabotaet-cpu/ (Дата обращения 12.02.2020) ↑
-
Структурная схема и регистры процессоров. URL: https://helpiks.org/6-83957.html (Дата обращения 12.02.2020) ↑
-
Примеры структур простейшего процессора. URL: https://studfile.net/preview/3644298/page:8/ (Дата обращения 12.02.2020) ↑
-
Примеры структур простейшего процессора. URL: https://studfile.net/preview/3644298/page:8/ (Дата обращения 11.02.2020) ↑
-
Примеры структур простейшего процессора. URL: https://studfile.net/preview/3644298/page:8/ (Дата обращения 12.02.2020) ↑
-
Примеры структур простейшего процессора. URL: https://studfile.net/preview/3644298/page:8/ (Дата обращения 12.02.2020) ↑
-
Процессор. Подробное изложение. URL:http://www.gm4.ru/pril/shamardin2/cpupodr.html (Дата обращения 13.02.2020) ↑
-
Процессор. Подробное изложение. URL:http://www.gm4.ru/pril/shamardin2/cpupodr.html (Дата обращения 13.02.2020) ↑
-
Классификация процессоров. URL: https://mylektsii.ru/13-46882.html (Дата обращения 16.02.2020) ↑
-
Основные сведения о процессоре. URL: http://samzan.ru/127070 (Дата обращения 16.02.2020) ↑
-
Лекция «Классификация микропроцессоров». URL:http://mc-plc.ru/mps/klassifikaciya-mikroprocessorov.htm (Дата обращения 16.02.2020) ↑
-
Микропроцессоры. URL: https://www.e-ope.ee/_download/euni_repository/file/2884/Kursus%20Mikroprotsessortehnika.zip/__10.html (Дата обращения 16.02.2020) ↑
-
Классификация процессоров. URL: https://studopedia.ru/4_4319_tema—klassifikatsiya-mikroprotsessorov.html (Дата обращения 16.02.2020) ↑
-
Классификация микропроцессоров. URL: https://textarchive.ru/c-2047099.html (Дата обращения 15.02.2020) ↑
-
Лекция «Классификация микропроцессоров». URL:http://mc-plc.ru/mps/klassifikaciya-mikroprocessorov.htm (Дата обращения 16.02.2020) ↑
-
Лекция «Классификация микропроцессоров». URL:http://mc-plc.ru/mps/klassifikaciya-mikroprocessorov.htm (Дата обращения 16.02.2020) ↑
-
Принцип программного управления. URL: https://vunivere.ru/work67660/page5 (Дата обращения 16.02.2020) ↑
-
Энциклопедический систематизированный словарь-справочник «Введение в современные информационные и телекоммуникационные технологии»
http://metodichka.x-pdf.ru/15informatika/215492-16-informatika-enciklopedicheskiy-sistematizirovanniy-slovar-spravochnik-vvedenie-sovremennie-informacionnie-telekommunikac.php (Дата обращения 17.02.2020) ↑
-
PPT online/ Информационные технологии. Счёт в древнем мире. URL: https://en.ppt-online.org/257964 (Дата обращения 13.02.2020) ↑
-
Студопедия/ Понятие машинной команды. URL: https://studopedia.ru/20_55696_ponyatie-mashinnoy-komandi-rol-adresnoy-chasti-komandi.html (Дата обращения 13.02.2020) ↑
-
Процессоры. Что это такое. История развития. URL: https://pikabu.ru/story/protsessoryi_chto_yeto_takoe_istoriya_razvitiya_5584369 (Дата обращения 13.02.2020) ↑
-
Central processor. URL: http://tadviser.com/index.php/Article:Central_processor ( Дата обращения 13.02.2020) ↑
-
Википедия/ Архитектура фон Неймана. URL: https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0 ( Дата обращения 13.02.2020) ↑
-
Принципы фон Неймана. URL: https://studopedia.ru/2_43061_printsipi-fon-neymana.html ( Дата обращения 13.02.2020) ↑
-
William Aspray. John von Neumann and the Origins of Modern Computing. — MIT Press, 1990. — 394 p. — ISBN 0262011212. ↑
-
Производительность подсистемы памяти. URL: https://overclockers.ru/lab/show/15271/Proizvoditelnost_podsistemy_pamyati (Дата обращения 13.02.2020) ↑
-
(Дата обращения 13.02.2020) ↑
-
Блог компании IBM/ Когнитивные вычисления. URL: https://habr.com/ru/company/ibm/blog/276855/ (Дата обращения 13.02.2020) ↑
-
Архитектура компьютера. Принципы фон Неймана. URL: https://interneturok.ru/lesson/informatika/8-klass/bkompyuter-kak-universalnoe-sredstvo-obrabotki-informaciib/arhitektura-kompyutera-printsipy-fon-neymana-logicheskie-uzly-kompyutera-vypolnenie-programmy (Дата обращения 13.02.2020) ↑
-
Вики/ Архитектура фон Неймана. URL: (Дата обращения 13.02.2020) https://wiki2.org/ru/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0 (Дата обращения 13.02.2020) ↑
-
William Aspray. John von Neumann and the Origins of Modern Computing. — MIT Press, 1990. — 394 p. — ISBN 0262011212. ↑
-
Яндекс/ Процессоры. Что это такое. История развития. URL: https://zen.yandex.ru/media/id/5d1ca973fd076900ae7cd57a/processory-chto-eto-takoe-istoriia-razvitiia-5d1cb5abb96ef500ae253049 (Дата обращения 13.02.2020) ↑
-
Хабр/ Немного о процессорах. URL: https://habr.com/ru/post/316520/ (Дата обращения 13.02.2020) ↑
-
Организация центральных процессоров. URL: http://bagdar.info/organizaciya-centralenih-processorov-cpu—central-processing-u.html (Дата обращения 13.02.2020) ↑
-
НОУ ИНТУИТ/ Лекция «Состояние и перспективы развития вычислительных систем и проектных технологий их создания». URL: https://www.intuit.ru/studies/courses/3456/698/lecture/14122?page=2 (Дата обращения 16.02.2020) ↑
- Теоретические аспекты формирования и поддержания корпоративной культуры
- Формирование группового поведения в организации (Характеристика объекта исследования)
- Понятие и виды наследования (Правовые основания открытия наследства)
- Состав правонарушения.
- Основные функции в системе менеджмента (Теоретические подходы к управлению)
- Повышение производительности труда в компании: совершенствование мотивации работников(Общие подходы к пониманию производительности труда персонала)
- Влияние процесса коммуникаций на эффективность управления организацией (СУЩНОСТЬ И ОСОБЕННОСТИ КОММУНИКАЦИЙ В ОРГАНИЗАЦИИ)
- Роль, принципы и назначение управленческого учета (Сущность и содержание управленческого учета)
- Анализ внешней и внутренней среды организации (Теоретические основы анализа внутренней и внешней среды организации)
- Управление процессом реализации изменений и нововведений АО «КомплектСервис»»
- Формы государственного устройства. (Унитарное передается государство: понятие и трем признаки)
- Налоговые регистры по НДФЛ (НОРМАТИВНОЕ РЕГУЛИРОВАНИЕ БУХГАЛТЕРСКОГО И НАЛОГОВОГО УЧЕТА ПО НДФЛ)
Запрос «ЦП» перенаправляется сюда; см. также другие значения.
Intel Celeron 1100 Socket 370 в корпусе FC-PGA2, вид снизу
Intel Celeron 1100 Socket 370 в корпусе FC-PGA2, вид сверху
Центра́льный проце́ссор (ЦП; также центральное процессорное устройство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Изначально термин центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде.
Главными характеристиками ЦПУ являются: тактовая частота, производительность, энергопотребление, нормы литографического процесса используемого при производстве (для микропроцессоров) и архитектура.
Ранние ЦП создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦП с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах, мобильных телефонах и даже в детских игрушках. Чаще всего они представлены микроконтроллерами, где помимо вычислительного устройства на кристалле расположены дополнительные компоненты (память программ и данных, интерфейсы, порты ввода/вывода, таймеры и др.). Современные вычислительные возможности микроконтроллера сравнимы с процессорами персональных ЭВМ десятилетней давности, а чаще даже значительно превосходят их показатели.
Содержание
- 1 История
- 1.1 Перспективы
- 2 Архитектура фон Неймана
- 2.1 Конвейерная архитектура
- 2.2 Суперскалярная архитектура
- 2.3 CISC-процессоры
- 2.4 RISC-процессоры
- 2.5 MISC-процессоры
- 2.6 VLIW-процессоры
- 2.7 Многоядерные процессоры
- 2.8 Кэширование
- 3 Гарвардская архитектура
- 4 Параллельная архитектура
- 4.1 Цифровые сигнальные процессоры
- 5 Процесс изготовления
- 5.1 Энергопотребление процессоров
- 5.2 Тепловыделение процессоров и отвод тепла
- 5.3 Измерение и отображение температуры микропроцессора
- 6 Производители
- 6.1 СССР/Россия
- 6.2 Китай
- 6.3 Япония
- 7 Определение модели
- 8 См. также
- 9 Примечания
- 10 Литература
- 11 Ссылки
История
История развития производства процессоров полностью соответствует истории развития технологии производства прочих электронных компонентов и схем.
Первым этапом, затронувшим период с 1940-х по конец 1950-х годов, было создание процессоров с использованием электромеханических реле, ферритовых сердечников (устройств памяти) и вакуумных ламп. Они устанавливались в специальные разъёмы на модулях, собранных в стойки. Большое количество таких стоек, соединённых проводниками, в сумме представляли процессор. Отличительной особенностью была низкая надёжность, низкое быстродействие и большое тепловыделение.
Вторым этапом, с середины 1950-х до середины 1960-х, стало внедрение транзисторов. Транзисторы монтировались уже на близкие к современным по виду платам, устанавливаемым в стойки. Как и ранее, в среднем процессор состоял из нескольких таких стоек. Возросло быстродействие, повысилась надёжность, уменьшилось энергопотребление.
Третьим этапом, наступившим в середине 1960-х годов, стало использование микросхем. Первоначально использовались микросхемы низкой степени интеграции, содержащие простые транзисторные и резисторные сборки, затем по мере развития технологии стали использоваться микросхемы, реализующие отдельные элементы цифровой схемотехники (сначала элементарные ключи и логические элементы, затем более сложные элементы — элементарные регистры, счётчики, сумматоры), позднее появились микросхемы, содержащие функциональные блоки процессора — микропрограммное устройство, арифметическо-логическое устройство, регистры, устройства работы с шинами данных и команд.
Четвёртым этапом, в начале 1970-х годов, стало создание, благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем, соответственно), микропроцессора — микросхемы, на кристалле которой физически были расположены все основные элементы и блоки процессора. Фирма Intel в 1971 году создала первый в мире 4-разрядный микропроцессор 4004, предназначенный для использования в микрокалькуляторах. Постепенно практически все процессоры стали выпускаться в формате микропроцессоров. Исключением долгое время оставались только малосерийные процессоры, аппаратно оптимизированные для решения специальных задач (например, суперкомпьютеры или процессоры для решения ряда военных задач), либо процессоры, к которым предъявлялись особые требования по надёжности, быстродействию или защите от электромагнитных импульсов и ионизирующей радиации. Постепенно, с удешевлением и распространением современных технологий, эти процессоры также начинают изготавливаться в формате микропроцессора.
Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 1980-х годов микропроцессоры вытеснили своих старших собратьев. Тем не менее, центральные процессорные устройства некоторых суперкомпьютеров даже сегодня представляют собой сложные комплексы, построенные на основе микросхем большой и сверхбольшой степени интеграции.
Переход к микропроцессорам позволил потом создать персональные компьютеры, которые проникли почти в каждый дом.
Первым общедоступным микропроцессором был 4-разрядный Intel 4004, представленный 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 92,6 кГц[1] и стоил 300 долл.
Далее его сменили 8-разрядный Intel 8080 и 16-разрядный 8086, заложившие основы архитектуры всех современных настольных процессоров. Из-за распространённости 8-разрядных модулей памяти был выпущен дешевый 8088, упрощенная версия 8086, с 8-разрядной шиной памяти.
Затем проследовала его модификация 80186.
В процессоре 80286 появился защищённый режим с 24-битной адресацией, позволявший использовать до 16 Мб памяти.
Процессор Intel 80386 появился в 1985 году и привнёс улучшенный защищённый режим, 32-битную адресацию, позволившую использовать до 4 Гб оперативной памяти и поддержку механизма виртуальной памяти. Эта линейка процессоров построена на регистровой вычислительной модели.
Параллельно развиваются микропроцессоры, взявшие за основу стековую вычислительную модель.
За годы существования микропроцессоров было разработано множество различных их архитектур. Многие из них (в дополненном и усовершенствованном виде) используются и поныне. Например Intel x86, развившаяся вначале в 32-битную IA-32, а позже в 64-битную x86-64 (которая у Intel называется EM64T). Процессоры архитектуры x86 вначале использовались только в персональных компьютерах компании IBM (IBM PC), но в настоящее время всё более активно используются во всех областях компьютерной индустрии, от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, POWER, SPARC, PA-RISC, MIPS (RISC-архитектуры) и IA-64 (EPIC-архитектура).
В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5×5×0,3 см), вставляющегося в ZIF-сокет (AMD) или на подпруживающую конструкцию — LGA (Intel). Особенностью разъёма LGA является то, что выводы перенесены с корпуса процессора на сам разъём — socket, находящийся на материнской плате. Большая часть современных процессоров реализована в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов.
Перспективы
В ближайшие 10-20 лет, скорее всего, изменится материальная часть процессоров ввиду того, что технологический процесс достигнет физических пределов производства. Возможно, это будут:
- Оптические компьютеры — в которых вместо электрических сигналов обработке подвергаются потоки света (фотоны, а не электроны).
- Квантовые компьютеры, работа которых всецело базируется на квантовых эффектах. В настоящее время ведутся работы над созданием рабочих версий квантовых процессоров.
- Молекулярные компьютеры — вычислительные системы, использующие вычислительные возможности молекул (преимущественно, органических). Молекулярными компьютерами используется идея вычислительных возможностей расположения атомов в пространстве.
Архитектура фон Неймана
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки данных, изобретённого[источник не указан 507 дней] Джоном фон Нейманом.
Дж. фон Нейман придумал[источник не указан 507 дней] схему постройки компьютера в 1946 году.
Отличительной особенностью архитектуры фон Неймана является то, что инструкции и данные хранятся в одной и той же памяти.
В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Например, для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов.
Этапы цикла выполнения:
- Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса и отдаёт памяти команду чтения.
- Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных и сообщает о готовности.
- Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её.
- Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды.
Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм работы процессора. Очерёдность считывания команд изменяется в случае, если процессор считывает команду перехода, — тогда адрес следующей команды может оказаться другим. Другим примером изменения процесса может служить случай получения команды остановка или переключение в режим обработки прерывания.
Команды центрального процессора являются самым нижним уровнем управления компьютером, поэтому выполнение каждой команды неизбежно и безусловно. Не производится никакой проверки на допустимость выполняемых действий, в частности, не проверяется возможная потеря ценных данных. Чтобы компьютер выполнял только допустимые действия, команды должны быть соответствующим образом организованы в виде необходимой программы.
Скорость перехода от одного этапа цикла к другому определяется тактовым генератором. Тактовый генератор вырабатывает импульсы, служащие ритмом для центрального процессора. Частота тактовых импульсов называется тактовой частотой.
Конвейерная архитектура
Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифровка команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:
- получение и декодирование инструкции,
- адресация и выборка операнда из ОЗУ,
- выполнение арифметических операций,
- сохранение результата операции.
После освобождения -й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в ступеней займёт единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды будет получаться через каждую единицу времени.
Действительно, при отсутствии конвейера выполнение команды займёт единиц времени (так как для выполнения команды по-прежнему необходимо выполнять выборку, дешифровку и т. д.), и для исполнения команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения команд понадобится всего лишь единиц времени.
Факторы, снижающие эффективность конвейера:
- Простой конвейера, когда некоторые ступени не используются (например, адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами).
- Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд — out-of-order execution).
- Очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).
Некоторые современные процессоры имеют более 30 ступеней в конвейере, что повышает производительность процессора, но, однако, приводит к увеличению длительности простоя (например, в случае ошибки в предсказании условного перехода). Не существует единого мнения по поводу оптимальной длины конвейера: различные программы могут иметь существенно различные требования.
Суперскалярная архитектура
Способность выполнения нескольких машинных инструкций за один такт процессора путем увеличения числа исполнительных устройств. Появление этой технологии привело к существенному увеличению производительности, в то же время существует определенный предел роста числа исполнительных устройств, при превышении которого производительность практически перестает расти, а исполнительные устройства простаивают. Частичным решением этой проблемы являются, например, технология Hyper-threading.
CISC-процессоры
Complex instruction set computer — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC являются микропроцессоры семейства x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд: в начале процесса исполнения сложные команды разбиваются на более простые микрооперации (МОП), исполняемые RISC-ядром).
RISC-процессоры
Reduced instruction set computer — вычисления с упрощённым набором команд (в литературе слово reduced нередко ошибочно переводят как «сокращённый»). Архитектура процессоров, построенная на основе упрощённого набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).
Упрощение набора команд призвано сократить конвейер, что позволяет избежать задержек на операциях условных и безусловных переходов. Однородный набор регистров упрощает работу компилятора при оптимизации исполняемого программного кода. Кроме того, RISC-процессоры отличаются меньшим энергопотреблением и тепловыделением.
Среди первых реализаций этой архитектуры были процессоры MIPS, PowerPC, SPARC, Alpha, PA-RISC. В мобильных устройствах широко используются ARM-процессоры.
MISC-процессоры
Minimum instruction set computer — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC-процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20-30 команд).
VLIW-процессоры
Very long instruction word — сверхдлинное командное слово. Архитектура процессоров с явно выраженным параллелизмом вычислений, заложенным в систему команд процессора. Являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является то, что для них загрузкой исполнительных устройств занимается часть процессора (планировщик), на что отводится достаточно малое время, в то время как загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени (качество загрузки и, соответственно, производительность теоретически должны быть выше). Примером VLIW-процессора является Intel Itanium.
Многоядерные процессоры
Информация в этой статье или некоторых её разделах устарела.
Вы можете помочь проекту, обновив её и убрав после этого данный шаблон. |
Содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах).
Процессоры, предназначенные для работы одной копии операционной системы на нескольких ядрах, представляют собой высокоинтегрированную реализацию мультипроцессорности.
Первым многоядерным микропроцессором стал POWER4 от IBM, появившийся в 2001 году и имевший два ядра.
В октябре 2004 года Sun Microsystems выпустила двухъядерный процессор UltraSPARC IV, который состоял из двух модифицированных ядер UltraSPARC III. В начале 2005 был создан двухъядерный UltraSPARC IV+.
14 ноября 2005 года Sun выпустила восьмиядерный UltraSPARC T1, каждое ядро которого выполняло 4 потока.
5 января 2006 года Intel представила первый двухъядерный процессор на одном кристале Core Duo, для мобильной платформы.
В ноябре 2006 года вышел первый четырёхъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном корпусе. Потомком этого процессора стал Intel Core 2 Quad на ядре Yorkfield (45 нм), архитектурно схожем с Kentsfield но имеющем больший объём кэша и рабочие частоты.
В октябре 2007 года в продаже появились восьмиядерные UltraSPARC T2, каждое ядро выполняло 8 потоков.
10 сентября 2007 года были выпущены в продажу нативные (в виде одного кристалла) четырёхъядерные процессоры для серверов AMD Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barcelona.[2] 19 ноября 2007 года вышел в продажу четырёхъядерный процессор для домашних компьютеров AMD Phenom.[3] Эти процессоры реализуют новую микроархитектуру K8L (K10).
Компания AMD пошла по собственному пути, изготовляя четырёхъядерные процессоры единым кристаллом (в отличие от Intel, первые четырёхъядерные процессоры которой представляют собой фактически склейку двух двухъядерных кристаллов). Несмотря на всю прогрессивность подобного подхода первый «четырёхъядерник» фирмы, получивший название AMD Phenom X4, получился не слишком удачным. Его отставание от современных ему процессоров конкурента составляло от 5 до 30 и более процентов в зависимости от модели и конкретных задач[источник не указан 1184 дня].
К 1-2 кварталу 2009 года обе компании обновили свои линейки четырёхъядерных процессоров. Intel представила семейство Core i7, состоящее из трёх моделей, работающих на разных частотах. Основными изюминками данного процессора является использование трёхканального контроллера памяти (типа DDR3) и технологии эмулирования восьми ядер (полезно для некоторых специфических задач). Кроме того, благодаря общей оптимизации архитектуры удалось значительно повысить производительность процессора во многих типах задач. Слабой стороной платформы, использующей Core i7, является её чрезмерная стоимость, так как для установки данного процессора необходима дорогая материнская плата на чипсете Intel X58 и трёхканальный набор памяти типа DDR3, также имеющий на данный момент высокую стоимость.
Компания AMD в свою очередь представила линейку процессоров Phenom II X4. При её разработке компания учла свои ошибки: был увеличен объём кэша (по сравнению с первым поколением Phenom), процессоры стали изготавливаться по 45-нм техпроцессу (это, соответственно, позволило снизить тепловыделение и значительно повысить рабочие частоты). В целом, AMD Phenom II X4 по производительности стоит вровень с процессорами Intel предыдущего поколения (ядро Yorkfield) и весьма значительно отстаёт от Intel Core i7[источник не указан 1193 дня]. С выходом 6-ядерного процессора AMD Phenom II X6 Black Thuban 1090T ситуация немного изменилась в пользу AMD.
На данный момент[когда?] массово доступны процессоры с 2, 3, 4 и 6 ядрами, а также 2, 3 и 4-модульные процессоры AMD поколения Bulldozer. В серверном сегменте также доступны 8-ядерные процессоры Xeon и Nehalem (Intel) и 12-ядерные Opteron (AMD).[4]
Кэширование
Кэширование — это использование дополнительной быстродействующей памяти (кэша, англ. cache) для хранения копий блоков информации из основной (оперативной) памяти, вероятность обращения к которым в ближайшее время велика.
Различают кэши 1-, 2- и 3-го уровней (обозначаются L1, L2 и L3 — от Level 1, Level 2 и Level 3). Кэш 1-го уровня имеет наименьшую латентность (время доступа), но малый размер, кроме того, кэши первого уровня часто делаются многопортовыми. Так, процессоры AMD K8 умели производить одновременно 64-битные запись и чтение, либо два 64-битных чтения за такт, AMD K8L может производить два 128-битных чтения или записи в любой комбинации. Процессоры Intel Core 2 могут производить 128-битные запись и чтение за такт. Кэш 2-го уровня обычно имеет значительно большую латентность доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.
Гарвардская архитектура
Гарвардская архитектура отличается от архитектуры фон Неймана тем, что программный код и данные хранятся в разной памяти. В такой архитектуре невозможны многие методы программирования (например, программа не может во время выполнения менять свой код; невозможно динамически перераспределять память между программным кодом и данными); зато гарвардская архитектура позволяет более эффективно выполнять работу в случае ограниченных ресурсов, поэтому она часто применяется во встраиваемых системах.
Параллельная архитектура
Архитектура фон Неймана обладает тем недостатком, что она последовательная. Какой бы огромный массив данных ни требовалось обработать, каждый его байт должен будет пройти через центральный процессор, даже если над всеми байтами требуется провести одну и ту же операцию. Этот эффект называется узким горлышком фон Неймана.
Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров, которые называются параллельными. Параллельные процессоры используются в суперкомпьютерах.
Возможными вариантами параллельной архитектуры могут служить (по классификации Флинна):
- SISD — один поток команд, один поток данных;
- SIMD — один поток команд, много потоков данных;
- MISD — много потоков команд, один поток данных;
- MIMD — много потоков команд, много потоков данных.
Цифровые сигнальные процессоры
Для цифровой обработки сигналов, особенно при ограниченном времени обработки, применяют специализированные высокопроизводительные сигнальные микропроцессоры (DSP) с параллельной архитектурой.
Процесс изготовления
Первоначально перед разработчиками ставится техническое задание, исходя из которого принимается решение о том, какова будет архитектура будущего процессора, его внутреннее устройство, технология изготовления. Перед различными группами ставится задача разработки соответствующих функциональных блоков процессора, обеспечения их взаимодействия, электромагнитной совместимости. В связи с тем, что процессор фактически является цифровым автоматом, полностью отвечающим принципам булевой алгебры, с помощью специализированного программного обеспечения, работающего на другом компьютере, строится виртуальная модель будущего процессора. На ней проводится тестирование процессора, исполнение элементарных команд, значительных объёмов кода, отрабатывается взаимодействие различных блоков устройства, ведётся оптимизация, ищутся неизбежные при проекте такого уровня ошибки.
После этого из цифровых базовых матричных кристаллов и микросхем, содержащих элементарные функциональные блоки цифровой электроники, строится физическая модель процессора, на которой проверяются электрические и временные характеристики процессора, тестируется архитектура процессора, продолжается исправление найденных ошибок, уточняются вопросы электромагнитной совместимости (например, при практически рядовой тактовой частоте в 10 ГГц отрезки проводника длиной в 7 мм уже работают как излучающие или принимающие антенны).
Затем начинается этап совместной работы инженеров-схемотехников и инженеров-технологов, которые с помощью специализированного программного обеспечения преобразуют электрическую схему, содержащую архитектуру процессора, в топологию кристалла. Современные системы автоматического проектирования позволяют, в общем случае, из электрической схемы напрямую получить пакет трафаретов для создания масок. На этом этапе технологи пытаются реализовать технические решения, заложенные схемотехниками, с учётом имеющейся технологии. Этот этап является одним из самых долгих и сложных в разработке и иногда требует компромиссов со стороны схемотехников по отказу от некоторых архитектурных решений. Следует отметить, что ряд производителей заказных микросхем (foundry) предлагает разработчикам (дизайн-центру или fabless) компромиссное решение, при котором на этапе конструирования процессора используются представленные ими стандартизованные в соответствии с имеющейся технологией библиотеки элементов и блоков (Standard cell). Это вводит ряд ограничений на архитектурные решения, зато этап технологической подгонки фактически сводится к игре в конструктор «Лего». В общем случае, изготовленные по индивидуальным проектам микропроцессоры являются более быстрыми по сравнению с процессорами, созданными на основании имеющихся библиотек.
Следующим, после этапа проектирования, является создание прототипа кристалла микропроцессора. При изготовлении современных сверхбольших интегральных схем используется метод литографии. При этом, на подложку будущего микропроцессора (тонкий круг из монокристаллического кремния, либо сапфира) через специальные маски, содержащие прорези, поочерёдно наносятся слои проводников, изоляторов и полупроводников. Соответствующие вещества испаряются в вакууме и осаждаются сквозь отверстия маски на кристалле процессора. Иногда используется травление, когда агрессивная жидкость разъедает не защищённые маской участки кристалла. Одновременно на подложке формируется порядка сотни процессорных кристаллов. В результате появляется сложная многослойная структура, содержащая от сотен тысяч до миллиардов транзисторов. В зависимости от подключения транзистор работает в микросхеме как транзистор, резистор, диод или конденсатор. Создание этих элементов на микросхеме отдельно, в общем случае, не выгодно. После окончания процедуры литографии подложка распиливается на элементарные кристаллы. К сформированным на них контактным площадкам (из золота) припаиваются тонкие золотые проводники, являющиеся переходниками к контактным площадкам корпуса микросхемы. Далее, в общем случае, крепится теплоотвод кристалла и крышка микросхемы.
Затем начинается этап тестирования прототипа процессора, когда проверяется его соответствие заданным характеристикам, ищутся оставшиеся незамеченными ошибки. Только после этого микропроцессор запускается в производство. Но даже во время производства идёт постоянная оптимизация процессора, связанная с совершенствованием технологии, новыми конструкторскими решениями, обнаружением ошибок.
Следует отметить, что параллельно с разработкой универсальных микропроцессоров, разрабатываются наборы периферийных схем ЭВМ, которые будут использоваться с микропроцессором и на основе которых создаются материнские платы. Разработка микропроцессорного набора (чипсета, англ. chipset) представляет задачу, не менее сложную, чем создание собственно микросхемы микропроцессора.
В последние несколько лет наметилась тенденция переноса части компонентов чипсета (контроллер памяти, контроллер шины PCI Express) в состав процессора (подробнее см.: Система на кристалле).
Энергопотребление процессоров
С технологией изготовления процессора тесно связано и его энергопотребление.
Первые процессоры архитектуры x86 потребляли мизерное (по современным меркам) количество энергии, составляющее доли ватта. Увеличение количества транзисторов и повышение тактовой частоты процессоров привело к существенному росту данного параметра. Наиболее производительные модели требуют до 130 и более ватт. Несущественный на первых порах фактор энергопотребления, сейчас оказывает серьёзное влияние на эволюцию процессоров:
- совершенствование технологии производства для уменьшения потребления, поиск новых материалов для снижения токов утечки, понижение напряжения питания ядра процессора;
- появление сокетов (разъемов для процессоров) с большим числом контактов (более 1000), большинство которых предназначено для питания процессора. Так у процессоров для популярного сокета LGA775 число контактов основного питания составляет 464 штуки (около 60 % от общего количества);
- изменение компоновки процессоров. Кристалл процессора переместился с внутренней на внешнюю сторону, для лучшего отвода тепла к радиатору системы охлаждения;
- интеграция в кристалл температурных датчиков и системы защиты от перегрева, снижающей частоту процессора или вообще останавливающей его при недопустимом увеличении температуры;
- появление в новейших процессорах интеллектуальных систем, динамически меняющих напряжение питания, частоту отдельных блоков и ядер процессора, и отключающих не используемые блоки и ядра;
- появление энергосберегающих режимов для «засыпания» процессора, при низкой нагрузке.
Тепловыделение процессоров и отвод тепла
Для теплоотвода от микропроцессоров применяются пассивные радиаторы и активные кулеры.
Измерение и отображение температуры микропроцессора
Для измерения температуры микропроцессора, обычно внутри микропроцессора, в области центра крышки микропроцессора устанавливается датчик температуры микропроцессора. В микропроцессорах Intel датчик температуры — термодиод или транзистор с замкнутыми коллектором и базой в качестве термодиода, в микропроцессорах AMD — терморезистор.
Производители
Наиболее популярные процессоры сегодня производят фирмы Intel, AMD и IBM.
Большинство процессоров, используемых в настоящее время, являются Intel-совместимыми, то есть имеют набор инструкций и интерфейсы программирования, сходные с используемыми в процессорах компании Intel.
Среди процессоров от Intel: 8086, i286, i386, i486, Pentium, Pentium II, Pentium III, Celeron (упрощённый вариант Pentium), Pentium 4, Core 2 Quad, Core i3, Core i5, Core i7, Xeon (серия процессоров для серверов), Itanium, Atom (серия процессоров для встраиваемой техники) и др. AMD имеет в своей линейке процессоры архитектуры x86 (аналоги 80386 и 80486, семейство K6 и семейство K7 — Athlon, Duron, Sempron) и x86-64 (Athlon 64, Athlon 64 X2, Phenom, Opteron и др.). Процессоры IBM (POWER6, POWER7, Xenon, PowerPC) используются в суперкомпьютерах, в видеоприставках 7-го поколения, встраиваемой технике; ранее использовались в компьютерах фирмы Apple.
По данным компании IDC, по итогам 2009 г.на рынке микропроцессоров для настольных ПК, ноутбуков и серверов доля корпорации Intel составила 79,7 %, доля AMD — 20,1 %.[5]
Доли по годам:
Год | Intel | AMD | Другие |
2007 | 78,9 % | 13,1 % | 8,0 % |
2008 | 80,4 % | 19,3 % | 0,3 % |
2009 | 79,7 % | 20,1 % | 0,2 % |
2010 | 80,8 % | 18,9 % | 0,3 % |
2011[6] | 83,7 % | 10,2 % | 6,1 % |
СССР/Россия
Основная статья: Российские микропроцессоры
В советское время одним из самых востребованных из-за его непосредственной простоты и понятности, стал задействованный в учебных целях МПК КР580 — набор микросхем, копия набора микросхем Intel 82xx. Использовался в отечественных компьютерах, таких как Радио 86РК, ЮТ-88, Микроша и т. д.
Разработкой микропроцессоров в России занимаются ЗАО «МЦСТ», НИИСИ РАН и ЗАО «ПКК Миландр». Также разработку специализированных микропроцессоров, ориентированных на создание нейронных систем и цифровую обработку сигналов, ведут НТЦ «Модуль» и ГУП НПЦ «ЭЛВИС». Ряд серий микропроцессоров также производит ОАО «Ангстрем».
НИИСИ разрабатывает процессоры серии Комдив на основе архитектуры MIPS. Техпроцесс — 0,5 мкм, 0,3 мкм; КНИ.
- КОМДИВ32 (англ.), 1890ВМ1Т, в том числе в варианте КОМДИВ32-С (5890ВЕ1Т), стойком к воздействию факторов космического пространства (ионизирующему излучению)
- КОМДИВ64 (англ.), КОМДИВ64-СМП
- Арифметический сопроцессор КОМДИВ128
ЗАО ПКК Миландр разрабатывает 16-разрядный процессор цифровой обработки сигналов и 2-ядерный процессор:
- 2011 год, 1967ВЦ1Т[7] — 16-разрядный процессор цифровой обработки сигналов, частота 50 МГц, КМОП 0,35 мкм
- 2011 год, 1901ВЦ1Т — 2-ядерный процессор, DSP (100 МГц) и RISC (100 МГц), КМОП 0,18 мкм
НТЦ «Модуль» разработал и предлагает микропроцессоры семейства NeuroMatrix:[8]
- 1998 год, 1879ВМ1 (NM6403) — высокопроизводительный специализированный микропроцессор цифровой обработки сигналов с векторно-конвейерной VLIW/SIMD архитектурой. Технология изготовления — КМОП 0,5 мкм, частота 40 МГц.
- 2007 год, 1879ВМ2 (NM6404) — модификация 1879ВМ1 с увеличенной до 80 МГц тактовой частотой и 2Мбитным ОЗУ, размещённым на кристалле процессора. Технология изготовления — 0,25 мкм КМОП.
- 2009 год, 1879ВМ4 (NM6405) — высокопроизводительный процессор цифровой обработки сигналов с векторно-конвейерной VLIW/SIMD архитектурой на базе запатентованного 64-разрядного процессорного ядра NeuroMatrix. Технология изготовления — 0,25 мкм КМОП, тактовая частота 150 МГц.
- СБИС 1879ВМ3 — программируемый микроконтроллер с ЦАП и АЦП. Частота выборок до 600 МГц (АЦП) и до 300 МГц (ЦАП). Максимальная тактовая частота 150 МГц.[9]
ГУП НПЦ ЭЛВИС разрабатывает и производит микропроцессоры серии «Мультикор»[10], отличительной особенностью которых является несимметричная многоядерность. При этом физически в одной микросхеме содержатся одно CPU RISC-ядро с архитектурой MIPS32, выполняющее функции центрального процессора системы, и одно или более ядер специализированного процессора-акселератора для цифровой обработки сигналов с плавающей/фиксированной точкой ELcore-xx (ELcore = Elvees’s core), основанного на «гарвардской» архитектуре. CPU-ядро является ведущим в конфигурации микросхемы и выполняет основную программу. Для CPU-ядра обеспечен доступ к ресурсам DSP-ядра, являющегося ведомым по отношению к CPU-ядру. CPU микросхемы поддерживает ядро ОС Linux 2.6.19 или ОС жесткого реального времени QNX 6.3 (Neutrino).
- 2004 год, 1892ВМ3Т (MC-12) — однокристальная микропроцессорная система с двумя ядрами. Центральный процессор — MIPS32, сигнальный сопроцессор — SISD ядро ELcore-14. Технология изготовления — КМОП 250 нм, частота 80 МГц. Пиковая производительность 240 MFLOPs (32 бита).
- 2004 год, 1892ВМ2Я (MC-24) — однокристальная микропроцессорная система с двумя ядрами. Центральный процессор — MIPS32, сигнальный сопроцессор — SIMD ядро ELcore-24. Технология изготовления — КМОП 250 нм, частота 80 МГц. Пиковая производительность 480 MFLOPs (32 бита).
- 2006 год, 1892ВМ5Я (MC-0226) — однокристальная микропроцессорная система с тремя ядрами. Центральный процессор — MIPS32, 2 сигнальных сопроцессора — MIMD ядро ELcore-26. Технология изготовления — КМОП 250 нм, частота 100 МГц. Пиковая производительность 1200 MFLOPs (32 бита).
- 2008 год, NVCom-01 («Навиком») — однокристальная микропроцессорная система с тремя ядрами. Центральный процессор — MIPS32, 2 сигнальных сопроцессора — MIMD DSP-кластер DELCore-30 (Dual ELVEES Core). Технология изготовления — КМОП 130 нм, частота 300 МГц. Пиковая производительность 3600 MFLOPs (32 бита). Разработан в качестве телекоммуникационного микропроцессора, содержит встроенную функцию 48-канальной ГЛОНАСС/GPS навигации.
- 2012 год, «Навиком-02T» — однокристальная микропроцессорная система с тремя ядрами. Архитектура микропроцессора — трёхъядерная гетерогенная. Ведущий процессор — MIPS32, сигнальныЙ сопроцессор — MIMD-типа на базе ядер из библиотеки платформы «МУЛЬТИКОР», программируемое ядро сигнального процессора, организованного как двухпроцессорный кластер DSP с плавающей и фиксированной точкой, дополненный многоканальным коррелятором для ГЛОНАСС/GPS-навигации. DSP-кластер следующего поколения имеет ряд новых возможностей, в том числе: набор графических команд; аппаратный ускоритель кодера Хаффмана; возможность отработки DSP внешних прерываний; возможность доступа DSP-ядер к внешнему адресному пространству; гибкая граница программной памяти кластера DSP; прерывания от исключительных ситуаций при операциях с числами с плавающей запятой. Технология изготовления — КМОП 130 нм, частота 250 МГц. Пиковая производительность — 4000 MFLOPs (32 бита) и 24000 MOPs в формате фиксированной точки int8. Имеет пониженную потребляемую мощность.
В качестве перспективного проекта НПЦ ЭЛВИС представлен MC-0428 — процессор MultiForce — однокристальная микропроцессорная система с одним центральным процессором и четырьмя специализированными ядрами. Технология изготовления — КМОП 130 нм, частота — до 340 МГц. Пиковая производительность ожидается не менее 8000 MFLOPs (32 бита).
ОАО «Ангстрем» производит (не разрабатывает) следующие серии микропроцессоров:
- 1839 — 32-разрядный VAX-11/750-совместимый микропроцессорный комплект из 6 микросхем. Технология изготовления — КМОП, тактовая частота 10 МГц.
- 1836ВМ3 — 16-разрядный LSI-11/23-совместимый микропроцессор. Программно совместим с PDP-11 фирмы DEC. Технология изготовления — КМОП, тактовая частота 16 МГц.
- 1806ВМ2 — 16-разрядный LSI/2-совместимый микропроцессор. Программно совместим с LCI-11 фирмы DEC.Технология изготовления — КМОП, тактовая частота 5 МГц.
- Л1876ВМ1 32-разрядный RISC микропроцессор. Технология изготовления — КМОП, тактовая частота 25 МГц.
Из собственных разработок Ангстрема можно отметить однокристальную 8-разрядную RISC микроЭВМ Тесей.
Компанией МЦСТ разработано и внедрено в производство семейство универсальных SPARC-совместимых RISC-микропроцессоров с проектными нормами 90, 130 и 350 нм и частотами от 150 до 1000 МГц (подробнее см. статью о серии — МЦСТ-R и о вычислительных комплексах на их основе Эльбрус-90микро). Также разработан VLIW-процессор Эльбрус с оригинальной архитектурой ELBRUS, используется в комплексах Эльбрус-3М1). Прошел государственные испытания и рекомендован к производству новый процессор Эльбрус-2С+ отличающийся от процессора Эльбрус тем, что содержит два ядра на архитектуре VLIW и четыре ядра DSP (Elcore-09). Основные потребители российских микропроцессоров — предприятия ВПК.
Китай
- Семейство Loongson (Godson)
- Семейство ShenWei (SW)
Япония
- NEC VR (MIPS, 64 bit)
- Hitachi VR (RISC)[11]
Определение модели
В Linux определить модель и параметры установленного процессора, не открывая корпуса, можно прочитав файл /proc/cpuinfo.
В операционных системах Windows узнать модель установленного процессора, тактовую частоту, количество ядер и т. д. можно, например, через программу dxdiag.
См. также
- Сопроцессор
- Криптопроцессор
- Аппаратная платформа компьютера
Примечания
- ↑ 4004 datasheet (в документе говорится, что цикл инструкции длится 10,8 микросекунд, а в рекламных материалах Intel — 108 кГц)
- ↑ AMD Barcelona уже в продаже
- ↑ AMD Phenom: тесты настоящего четырёхъядерного процессора
- ↑ AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100 overclockers.ua
- ↑ CNews 2010 AMD «откусила» долю рынка у Intel
- ↑ Intel укрепляет позиции на процессорном рынке — Бизнес — Исследования рынка — Компьюлента
- ↑ 1967ВЦ1Т − Миландр
- ↑ Информация о микропроцессорах производства НТЦ Модуль
- ↑ НТЦ «Модуль»
- ↑ Информация о микропроцессорах производства ГУП НТЦ Элвис
- ↑ Made-in-Japan Microprocessors May 1997
Литература
- Скотт Мюллер. Модернизация и ремонт ПК = Upgrading and Repairing PCs. — 17-е изд. — М.: Вильямс, 2007. — С. 59—241. — ISBN 0-7897-3404-4
Ссылки
- Краткая история процессоров: 31 год из жизни архитектуры х86
- Правительство обнулило пошлины на процессоры 18 сентября 2007
- Крис Касперски. RISC vs. CISC
- Процессор энциклопедия Алфёрова
- Сравнение производительности процессоров (http://www.cpubenchmark.net)
- Сравнение производительности мобильных процессоров (www.notebookcheck-ru.com)
- Исследование эффективности ALU и FPU процессоров разных поколений от TestLabs.kz
Технологии цифровых процессоров | |||||||||
---|---|---|---|---|---|---|---|---|---|
Архитектура |
CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская 8 бит · 16 бит · 32 бит · 64 бит · 128 бит |
||||||||
Параллелизм |
|
||||||||
Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер | ||||||||
Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) | ||||||||
Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения |
Компоненты персонального компьютера | |
---|---|
Системный блок |
Блок питания • Охлаждение • Материнская плата • Процессор • Шины • Видеокарта • Звуковая карта • Сетевая плата |
Память |
Оперативная память • Запоминающее устройство с произвольным доступом |
Носители и дисководы |
Жёсткий диск • Твердотельный накопитель (Флеш-память • USB-флеш) • Оптический привод (CD • DVD • BD) • НГМД (Дискета) • Стример • Кардридер |
Вывод |
Динамик • Монитор • Принтер • Графопостроитель (плоттер) |
Ввод |
Клавиатура • Мышь • Трекбол • TrackPoint • Тачпад • Сенсорный экран • Цифровая ручка • Световое перо • Графический планшет • Микрофон • Сканер • Веб-камера |
Игры |
Джойстик • Руль • Штурвал • Педали • Пистолет • Paddle • Геймпад • Дэнспад • Трекер |
Прочее |
Модем • ТВ-тюнер • Сетевой фильтр • ИБП |
Микроконтроллеры | |||||||
---|---|---|---|---|---|---|---|
Архитектура |
|
||||||
Производители | Analog Devices • Atmel • Silabs • Freescale • Fujitsu • Holtek • Hynix • Infineon • Intel • Microchip • Maxim • Parallax • NXP Semiconductors • Renesas • Texas Instruments • Toshiba • Ubicom • Zilog • Cypress | ||||||
Компоненты | Регистр • Процессор • SRAM • EEPROM • Флеш-память • Кварцевый резонатор • Кварцевый генератор • RC-генератор • Корпус | ||||||
Периферия | Таймер • АЦП • ЦАП • Компаратор • ШИМ-контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer | ||||||
Интерфейсы | CAN • UART • USB • SPI • I²C • Ethernet • 1-Wire | ||||||
ОС | FreeRTOS • μClinux • BeRTOS • ChibiOS/RT • eCos • RTEMS • Unison • MicroC/OS-II • Nucleus | ||||||
Программирование | JTAG • C2 • Программатор • Ассемблер • Прерывание • MPLAB • AVR Studio • MCStudio |
-
Настоящий материал опубликован пользователем Бычков Семён Михайлович. Инфоурок является
информационным посредником и предоставляет пользователям возможность размещать на сайте
методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них
сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайтЕсли Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с
сайта, Вы можете оставить жалобу на материал.Удалить материал
-
Автор материала
- На сайте: 5 лет и 10 месяцев
- Подписчики: 0
- Всего просмотров: 21495
-
Всего материалов:
8
Подарочные сертификаты
Новинка!
Выбрать сертификат
3.1. Базовая аппаратная конфигурация
3.1.1. Системный блок
3.1.2. Монитор
3.1.3. Клавиатура
3.1.4. Мышь
3.2. Внутренние устройства системного блока
3.2.1. Материнская плата
3.2.2. Жесткий диск
3.2.3. Дисковод гибких дисков
3.2.4. Дисковод компакт-дисков CD-ROM
3.2.5. Видеокарта (видеоадаптер)
3.2.6. Звуковая карта
3.3. Системы, расположенные на материнской плате
3.3.1. Оперативная память
3.3.2. Процессор
3.3.3. Микросхема ПЗУ и система ВIOS
3.3.4. Энергонезависимая память СМOS
3.3.5. Шинные интерфейсы материнской платы
3.3.6. Функции микропроцессорного комплекта (чипсета)
3.4. Периферийные устройства персонального компьютера
3.4.1. Устройства ввода знаковых данных
3.4.2. Устройства командного управления
3.4.3. Устройства ввода графических данных
3.4.4. Устройства вывода данных
3.4.5. Устройства хранения данных
3.4.6. Устройства обмена данными
3.1. Базовая аппаратная конфигурация
Персональный компьютер — универсальная техническая система. Его конфигурацию (состав оборудования) можно гибко изменять по мере необходимости. Тем не менее, существует понятие базовой конфигурации, которую считают типовой. В таком комплекте компьютер обычно поставляется. Понятие базовой конфигурации может меняться. В настоящее время в базовой конфигурации рассматривают четыре устройства (рис. 3.1):
- системный блок;
- монитор;
- клавиатуру;
- мышь.
Рис. 3.1. Базовая конфигурация компьютерной системы.
3.1.1. Системный блок
Системный блок представляет собой основной узел, внутри которого установлены наиболее важные компоненты. Устройства, находящиеся внутри системного блока, называют внутренними, а устройства, подключаемые к нему снаружи, называют внешними. Внешние дополнительные устройства, предназначенные для ввода, вывода и длительного хранения данных, также называют периферийными.
По внешнему виду системные блоки различаются формой корпуса. Корпуса персональных компьютеров выпускают в горизонтальном (desktop) и вертикальном (tower) исполнении. Корпуса, имеющие вертикальное исполнение, различают по габаритам: полноразмерный (big tower), среднеразмерный (midi tower) и малоразмерный (mini tower). Среди корпусов, имеющих горизонтальное исполнение, выделяют плоские и особо плоские (slim).
Кроме формы, для корпуса важен параметр, называемый форм-фактором. От него зависят требования к размещаемым устройствам. В настоящее время в основном используются корпуса двух форм-факторов: АТи АТХ. Форм-фактор корпуса должен быть обязательно согласован с форм-фактором главной (системной) платы компьютера, так называемой материнской платы.
Корпуса персональных компьютеров поставляются вместе с блоком питания и, таким образом, мощность блока питания также является одним из параметров корпуса. Для массовых моделей достаточной является мощность блока питания 200-250 Вт.
3.1.2. Монитор
Монитор — устройство визуального представления данных. Это не единственно возможное, но главное устройство вывода. Его основными потребительскими параметрами являются: размер и шаг маски экрана, максимальная частота регенерации изображения, класс защиты.
Размер монитора измеряется между противоположными углами трубки кинескопа по диагонали. Единица измерения — дюймы. Стандартные размеры: 14″; 15″; 17″; 19″; 20″; 21″. В настоящее время наиболее универсальными являются мониторы размером 15 и 17 дюймов, а для операций с графикой желательны мониторы размером 19-21 дюйм.
Изображение на экране монитора получается в результате облучения люминофорного покрытия остронаправленным пучком электронов, разогнанных в вакуумной колбе. Для получения цветного изображения люминофорное покрытие имеет точки или полоски трех типов, светящиеся красным, зеленым и синим цветом. Чтобы на экране все три луча сходились строго в одну точку и изображение было четким, перед люминофором ставят маску — панель с регулярно расположенными отверстиями или щелями. Часть мониторов оснащена маской из вертикальных проволочек, что усиливает яркость и насыщенность изображения. Чем меньше шаг между отверстиями или щелями (шаг маски), тем четче и точнее полученное изображение. Шаг маски измеряют в долях миллиметра. В настоящее время наиболее распространены мониторы с шагом маски 0,25-0,27 мм. Устаревшие мониторы могут иметь шаг до 0,43 мм, что негативно сказывается на органах зрения при работе с компьютером. Модели повышенной стоимости могут иметь значение менее 0,25 мм.
Частота регенерации (обновления) изображения показывает, сколько раз в течение секунды монитор может полностью сменить изображение (поэтому ее также называют частотой кадров). Этот параметр зависит не только от монитора, но и от свойств и настроек видеоадаптера, хотя предельные возможности определяет все-таки монитор.
Частоту регенерации изображения измеряют в герцах (Гц). Чем она выше, тем четче и устойчивее изображение, тем меньше утомление глаз, тем больше времени можно работать с компьютером непрерывно. При частоте регенерации порядка 60 Гц мелкое мерцание изображения заметно невооруженным глазом. Сегодня такое значение считается недопустимым. Минимальным считают значение 75 Гц, нормативным — 85 Гц и комфортным -100 Гц и более.
Класс защиты монитора определяется стандартом, которому соответствует монитор с точки зрения требований техники безопасности. В настоящее время общепризнанными считаются следующие международные стандарты: МРR-П, ТСО-92, ТСО-95, ТСО-99 (приведены в хронологическом порядке). Стандарт МРR-П ограничил уровни электромагнитного излучения пределами, безопасными для человека. В стандарте ТСО-92 эти нормы были сохранены, а в стандартах ТСО-95 и ТСО-99 ужесточены. Эргономические и экологические нормы впервые появились в стандарте ТСО-95, а стандарт TСО-99 установил самые жесткие нормы по параметрам, определяющим качество изображения (яркость, контрастность, мерцание, антибликовые свойства покрытия).
Большинством параметров изображения, полученного на экране монитора, можно управлять программно. Программные средства, предназначенные для этой цели, обычно входят в системный комплект программного обеспечения — мы рассмотрим их при изучении операционной системы компьютера.
3.1.3. Клавиатура
Клавиатура — клавишное устройство управления персональным компьютером. Служит для ввода алфавитно-цифровых (знаковых) данных, а также команд управления. Комбинация монитора и клавиатуры обеспечивает простейший интерфейс пользователя. С помощью клавиатуры управляют компьютерной системой, а с помощью монитора получают от нее отклик.
Принцип действия
Клавиатура относится к стандартным средствам персонального компьютера. Ее основные функции не нуждаются в поддержке специальными системными программами (драйверами). Необходимое программное обеспечение для начала работы с компьютером уже имеется в микросхеме ПЗУ в составе базовой системы ввода-вывода (ВIOS), и потому компьютер реагирует на нажатия клавиш сразу после включения.
Принцип действия клавиатуры заключается в следующем.
1. При нажатии на клавишу (или комбинацию клавиш) специальная микросхема, встроенная в клавиатуру, выдает так называемый скан-код.
2. Скан-код поступает в микросхему, выполняющую функции порта клавиатуры. (Порты — специальные аппаратно-логические устройства, отвечающие за связь процессора с другими устройствами.) Данная микросхема находится на основной плате компьютера внутри системного блока.
3. Порт клавиатуры выдает процессору прерывание с фиксированным номером. Для клавиатуры номер прерывания — 9 (Interrupt 9, Int 9).
4. Получив прерывание, процессор откладывает текущую работу и по номеру прерывания обращается в специальную область оперативной памяти, в которой находится так называемый вектор прерываний. Вектор прерываний — это список адресных данных с фиксированной длиной записи. Каждая запись содержит адрес программы, которая должна обслужить прерывание с номером, совпадающим с номером записи.
5. Определив адрес начала программы, обрабатывающей возникшее прерывание, процессор переходит к ее исполнению. Простейшая программа обработки клавиатурного прерывания “зашита” в микросхему ПЗУ, но программисты могут “подставить” вместо нее свою программу, если изменят данные в векторе прерываний.
6. Программа-обработчик прерывания направляет процессор к порту клавиатуры, где он находит скан-код, загружает его в свои регистры, потом под управлением обработчика определяет, какой код символа соответствует данному скан-коду.
7. Далее обработчик прерываний отправляет полученный код символа в небольшую область памяти, известную как буфер клавиатуры, и прекращает свою работу, известив об этом процессор.
8. Процессор прекращает обработку прерывания и возвращается к отложенной задаче.
9. Введенный символ хранится в буфере клавиатуры до тех пор, пока его не заберет оттуда та программа, для которой он и предназначался, например текстовый редактор или текстовый процессор. Если символы поступают в буфер чаще, чем забираются оттуда, наступает эффект переполнения буфера. В этом случае ввод новых символов на некоторое время прекращается. На практике в этот момент при нажатии на клавишу мы слышим предупреждающий звуковой сигнал и не наблюдаем ввода данных.
Состав клавиатуры
Стандартная клавиатура имеет более 100 клавиш, функционально распределенных на несколько частей (рис. 3.2)
Рис. 3.2. Структура стандартной клавиатуры
Алфавитно-ицфровые клавиши предназначены для ввода знаковой информации и команд, набираемых по буквам. Каждая клавиша может работать в нескольких режимах (регистрах) и, соответственно, может использоваться для ввода нескольких символов. Переключение между нижним регистром (для ввода строчных символов) и верхним регистром (для ввода прописных символов) выполняют удержанием клавиши Shift (нефиксированное переключение). При необходимости жестко переключить регистр используют клавишу Caps Lock (фиксированное переключение). Если клавиатура используется для ввода данных, абзац закрывают нажатием клавиши Enter. При этом автоматически начинается ввод текста с новой строки. Если клавиатуру используют для ввода команд, клавишей Enter завершают ввод команды и начинают ее исполнение.
Для разных языков существуют различные схемы закрепления символов национальных алфавитов за конкретными алфавитно-цифровыми клавишами. Такие схемы называются раскладками клавиатуры. Переключения между различными раскладками выполняются программным образом — это одна из функций операционной системы. Соответственно, способ переключения зависит от того, в какой операционной системе работает компьютер. Например, в системе Windows 98 для этой цели могут использоваться следующие комбинации: левая клавиша Аlt+Shift или Ctrl+Shift. При работе с другой операционной системой способ переключения можно установить по справочной системе той программы, которая выполняет переключение.
Общепринятые раскладки клавиатуры имеют свои корни в раскладках клавиатур пишущих машинок. Для персональных компьютеров IBM PC типовыми считаются раскладки (QWERTY (английская) и ЙЦУКЕНГ (русская). Раскладки принято именовать по символам, закрепленным за первыми клавишами верхней строки алфавитной группы.
Функциональные клавиши включают двенадцать клавиш (от F1 до F12), размещенных в верхней части клавиатуры. Функции, закрепленные за данными клавишами, зависят от свойств конкретной работающей в данный момент программы, а в некоторых случаях и от свойств операционной системы. Общепринятым для большинства программ является соглашение о том, что клавиша F1 вызывает справочную систему, в которой можно найти справку о действии прочих клавиш.
Служебные клавиши входят в состав алфавитно-цифровой клавиатуры. В связи с тем, что ими приходится пользоваться особенно часто, они имеют увеличенный размер. К ним относятся рассмотренные выше клавиши Shift и Enter, регистровые клавиши Alt и Ctrl (их используют в комбинации с другими клавишами для формирования команд), клавиша Tab (для ввода позиций табуляции при наборе текста), клавиша Esc (от английского слова Escape) для отказа от исполнения последней введенной команды и клавиша BackSpace для удаления только что введенных знаков (она находится над клавишей Enter и часто маркируется стрелкой, направленной влево).
Служебные клавиши Print Screen, Scroll Lock и Pause/Break размещаются справа от группы функциональных клавиш и выполняют специфические функции, зависящие от действующей операционной системы. Общепринятыми являются следующие действия:
Print Screen — печать текущего состояния экрана на принтере (для MS DOS) или сохранение его в специальной области оперативной памяти, называемой буфером обмена (для Windows).
Scroll Lock — переключение режима работы в некоторых (как правило, устаревших) программах.
Pause/Break — приостановка/прерывание текущего процесса.
Две группы клавиш управления курсором расположены справа от алфавитно-цифровой клавиатуры. Курсором называется экранный элемент, указывающий место ввода знаковой информации. Курсор используется при работе с программами, выполняющими ввод данных и команд с клавиатуры. Клавиши управления курсором позволяют управлять позицией ввода.
Четыре клавиши со стрелками выполняют смещение курсора в направлении, указанном стрелкой. Действие прочих клавиш описано ниже.
Page Up/Page Down — перевод курсора на одну страницу вверх или вниз. Понятие “страница” обычно относится к фрагменту документа, видимому на экране. В графических операционных системах (например Windows) этими клавишами выполняют “прокрутку” содержимого в текущем окне. Действие этих клавиш во многих программах может быть модифицировано с помощью служебных регистровых клавиш, в первую очередь Shift и Ctrl. Конкретный результат модификации зависит от конкретной программы и/или операционной системы.
Клавиши Home и End переводят курсор в начало или конец текущей строки, соответственно. Их действие также модифицируется регистровыми клавишами.
Традиционное назначение клавиши Insert состоит в переключении режима ввода данных (переключение между режимами вставки и замены). Если текстовый курсор находится внутри существующего текста, то в режиме вставки происходит ввод новых знаков без замены существующих символов (текст как бы раздвигается). В режиме замены новые знаки заменяют текст, имевшийся ранее в позиции ввода.
В современных программах действие клавиши Insert может быть иным. Конкретную информацию следует получить в справочной системе программы. Возможно, что действие этой клавиши является настраиваемым, — это также зависит от свойств конкретной программы.
Клавиша Delete предназначена для удаления знаков, находящихся справа от текущего положения курсора. При этом положение позиции ввода остается неизменным.
Замечание. Сравните действие клавиши Delete с действием служебной клавиши BackSpace. Последняя служит для удаления знаков, но при ее использовании позиция ввода смещается влево, и, соответственно, удаляются символы, находящиеся не справа, а слева от курсора.
Группа клавиш дополнительной панели дублирует действие цифровых и некоторых знаковых клавиш основной панели. Во многих случаях для использования этой группы клавиш следует предварительно включать клавишу-переключатель Num Lock (о состоянии переключателей Num Lock, Caps Lock и Scroll Lock можно судить по светодиодным индикаторам, обычно расположенным в правом верхнем углу клавиатуры).
Появление дополнительной цифровой клавиатуры относится к началу 80-х годов. В то время клавиатуры были относительно дорогостоящими устройствами. Первоначальное назначение дополнительной цифровой клавиатуры состояло в снижении износа алфавитно-цифровой клавиатуры при проведении расчетно-кассовых вычислений, а также при управлении компьютерными играми (при выключенном переключателе Num Lock клавиши дополнительной панели могут использоваться в качестве клавиш управления курсором).
В наши дни клавиатуры относят к малоценным быстроизнашивающимся устройствам и приспособлениям, и существенной необходимости оберегать их от износа нет. Тем не менее, за дополнительной клавиатурой сохраняется важная функция ввода символов, для которых известен расширенный код ASCII, но неизвестно закрепление за клавишей клавиатуры. Так, например, известно, что символ “§” (параграф) имеет код 0167, а символ “°” (угловой градус) имеет код 0176, но соответствующих им клавиш на клавиатуре нет. В таких случаях для их ввода используют дополнительную панель.
Порядок ввода символов по известному Alt-коду.
1. Нажать и удержать клавишу Alt.
2. Убедиться в том, что включен переключатель Num Lock.
3. Не отпуская клавиши Alt, набрать последовательно на дополнительной панели Alt-код вводимого символа, например: 0167.
4. Отпустить клавишу Alt. Символ, имеющий код 0167, появится на экране в позиции ввода.
Совет. Узнать Alt-коды произвольных символов можно с помощью программы Таблица символов, входящей в состав служебных приложений Windows (Пуск, Программы, Стандартные, Служебные, Таблица символов).
Настройка клавиатуры
Клавиатуры персональных компьютеров обладают свойством повтора знаков, которое используется для автоматизации процесса ввода. Оно состоит в том, что при длительном удержании клавиши начинается автоматический ввод связанного с ней кода. При этом настраиваемыми параметрами являются:
- интервал времени после нажатия, по истечении которого начнется автоматический повтор кода;
- темп повтора (количество знаков в секунду.
Средства настройки клавиатуры относятся к системным и обычно входят в состав операционной системы. Кроме параметров режима повтора настройке подлежат также используемые раскладки и органы управления, используемые для переключения раскладок.
3.1.4. Мышь
Мышь — устройство управления манипуляторного типа. Представляет собой плоскую коробочку с двумя-тремя кнопками, рис. 3.3. Перемещение мыши по плоской поверхности синхронизировано с перемещением графического объекта (указателя мыши) на экране монитора.
Рис. 3.3. Манипулятор мышь
Принцип действия
В отличие от рассмотренной ранее клавиатуры, мышь не является стандартным органом управления, и персональный компьютер не имеет для нее выделенного порта. Для мыши нет и постоянного выделенного прерывания, а базовые средства ввода и вывода (BIOS) компьютера, размещенные в постоянном запоминающем устройстве (ПЗУ), не содержат программных средств для обработки прерываний мыши.
В связи с этим в первый момент после включения компьютера мышь не работает. Она нуждается в поддержке специальной системной программы — драйвера мыши. Драйвер устанавливается либо при первом подключении мыши, либо при установке операционной системы компьютера. Хотя мышь и не имеет выделенного порта на материнской плате, для работы с ней используют один из стандартных портов, средства для работы с которыми имеются в составе BIOS. Драйвер мыши предназначен для интерпретации сигналов, поступающих через порт. Кроме того, он обеспечивает механизм передачи информации о положении и состоянии мыши операционной системе и работающим программам.
Компьютером управляют перемещением мыши по плоскости и кратковременными нажатиями правой и левой кнопок. (Эти нажатия называются щелчками) В отличие от клавиатуры мышь не может напрямую использоваться для ввода знаковой информации — ее принцип управления является событийным. Перемещения мыши и щелчки ее кнопок являются событиями с точки зрения ее программы-драйвера. Анализируя эти события, драйвер устанавливает, когда произошло событие и в каком месте экрана в этот момент находился указатель. Эти данные передаются в прикладную программу, с которой работает пользователь в данный момент. По ним программа может определить команду, которую имел в виду пользователь, и приступить к ее исполнению.
Комбинация монитора и мыши обеспечивает наиболее современный тип интерфейса пользователя, который называется графическим. Пользователь наблюдает на экране графические объекты и элементы управления. С помощью мыши он изменяет свойства объектов и приводит в действие элементы, управления компьютерной системой, а с помощью монитора получает от нее отклик в графическом виде.
Стандартная мышь имеет только две кнопки, хотя существуют нестандартные мыши с тремя кнопками или с двумя кнопками и одним вращающимся регулятором. Функции нестандартных органов управления определяются тем программным обеспечением, которое поставляется вместе с устройством.
К числу регулируемых параметров мыши относятся: чувствительность (выражает величину перемещения указателя на экране при заданном линейном перемещении мыши), функции левой и правой кнопок, а также чувствительность к двойному нажатию (максимальный интервал времени, при котором два щелчка кнопкой мыши расцениваются как один двойной щелчок). Программные средства, предназначенные для этих регулировок, обычно входят в системный комплект программного обеспечения.
3.2. Внутренние устройства системного блока
3.2.1. Материнская плата
Материнская плата — основная плата персонального компьютера. На ней размещаются:
- процессор — основная микросхема, выполняющая большинство математических и логических операций;
- микропроцессорный комплект (чипсет) — набор микросхем, управляющих работой внутренних устройств компьютера и определяющих основные функциональные возможности материнской платы;
- шины — наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера;
- оперативная память (оперативное запоминающее устройство, ОЗУ) — набор микросхем, предназначенных для временного хранения данных, когда компьютер включен;
- ПЗУ (постоянное запоминающее устройство) — микросхема, предназначенная для длительного хранения данных, в том числе и когда компьютер выключен;
- разъемы для подключения дополнительных устройств (слоты).
Внешний вид типовой материнской платы для процессора Pentium показан на рис. 3.4. Устройства, входящие в состав материнской платы, рассматриваются отдельно в разделе 3.3.
3.2.2. Жесткий диск
Жесткий диск — основное устройство для долговременного хранения больших объемов данных и программ. На самом деле это не один диск, а группа соосных дисков, имеющих магнитное покрытие и вращающихся с высокой скоростью. Таким образом, этот “диск” имеет не две поверхности, как должно быть у обычного плоского диска, а 2n поверхностей, где n — число отдельных дисков в группе.
Над каждой поверхностью располагается головка, предназначенная для чтения-записи данных. При высоких скоростях вращения дисков (90 об/с) в зазоре между головкой и поверхностью образуется аэродинамическая подушка, и головка парит над магнитной поверхностью на высоте, составляющей несколько тысячных долей миллиметра. При изменении силы тока, протекающего через головку, происходит изменение напряженности динамического магнитного поля в зазоре, что вызывает изменения в стационарном магнитном поле ферромагнитных частиц, образующих покрытие диска. Так осуществляется запись данных на магнитный диск.
Рис. 3.4. Типовая материнская плата
Операция считывания происходит в обратном порядке. Намагниченные частицы покрытия, проносящиеся на высокой скорости вблизи головки, наводят в ней ЭДС самоиндукции. Электромагнитные сигналы, возникающие при этом, усиливаются и передаются на обработку.
Управление работой жесткого диска выполняет специальное аппаратно-логическое устройство — контроллер жесткого диска. В прошлом оно представляло собой отдельную дочернюю плату, которую подключали к одному из свободных слотов материнской платы. В настоящее время функции контроллеров дисков выполняют микросхемы, входящие в микропроцессорный комплект (чипсет), хотя некоторые виды высокопроизводительных контроллеров жестких дисков по-прежнему поставляются на отдельной плате.
К основным параметрам жестких дисков относятся емкость и производительность. Емкость дисков зависит от технологии их изготовления. В настоящее время большинство производителей жестких дисков используют изобретенную компанией IBM технологию с использованием гигантского магниторезистивного эффекта (GMR — Giant Magnetic Resistance). Теоретический предел емкости одной пластины, исполненной по этой технологии, составляет порядка 20 Гбайт. В настоящее время достигнут технологический уровень 6,4 Гбайт на пластину, но развитие продолжается.
С другой стороны, производительность жестких дисков меньше зависит от технологии их изготовления. Сегодня все жесткие диски имеют очень высокий показатель скорости внутренней передачи данных (до 30-60 Мбайт/с), и потому их производительность в первую очередь зависит от характеристик интерфейса, с помощью которого они связаны с материнской платой. В зависимости от типа интерфейса разброс значений может быть очень большим: от нескольких Мбайт/с до 13-16 Мбайт/с для интерфейсов типа IDE; до 80 Мбайт/с для интерфейсов типа SCSI и от 50 Мбайт/с и более для наиболее современных интерфейсов типа IЕЕЕ 1394.
Кроме скорости передачи данных с производительностью диска напрямую связан параметр среднего времени доступа. Он определяет интервал времени, необходимый для поиска нужных данных, и зависит от скорости вращения диска. Для дисков, вращающихся с частотой 5400 об/мин, среднее время доступа составляет 9-10 мкс, для дисков с частотой 7200 об/мин — 7-8 мкс. Изделия более высокого уровня обеспечивают среднее время доступа к данным 5-6 мкс.
3.2.3. Дисковод гибких дисков
Информация на жестком диске может храниться годами, однако иногда требуется ее перенос с одного компьютера на другой. Несмотря на свое название, жесткий диск является весьма хрупким прибором, чувствительным к перегрузкам, ударам и толчкам. Теоретически, переносить информацию с одного рабочего места на другое путем переноса жесткого диска возможно, и в некоторых случаях так и поступают, но все-таки этот прием считается нетехнологичным, поскольку требует особой аккуратности и определенной квалификации.
Для оперативного переноса небольших объемов информации используют так называемые гибкие магнитные диски (дискеты), которые вставляют в специальный накопитель — дисковод. Приемное отверстие накопителя находится на лицевой панели системного блока. Правильное направление подачи гибкого диска отмечено стрелкой на его пластиковом кожухе.
Основными параметрами гибких дисков являются: технологический размер (измеряется в дюймах), плотность записи (измеряется в кратных единицах) и полная емкость.
В настоящее время в компьютерах используются гибкие диски размером 3,5 дюйма. Они имеют емкость 1440 Кбайт (1,4 Мбайт) и маркируются буквами HD (high density — высокая плотность).
С нижней стороны гибкий диск имеет центральную втулку, которая захватывается шпинделем дисковода и приводится во вращение. Магнитная поверхность прикрыта сдвигающейся шторкой для защиты от влаги, грязи и пыли. Если на гибком диске записаны ценные данные, его можно защитить от стирания и перезаписи, сдвинув защитную задвижку так, чтобы образовалось открытое отверстие. Для разрешения записи задвижку перемещают в обратную сторону и перекрывают отверстие. В некоторых случаях для безусловной защиты информации на диске задвижку выламывают физически, но и в этом случае разрешить запись на диск можно, если, например, заклеить образовавшееся отверстие тонкой полоской липкой ленты.
Гибкие диски считаются малонадежными носителями информации. Пыль, грязь, влага, температурные перепады и внешние электромагнитные поля очень часто становятся причиной частичной или полной утраты данных, хранившихся на гибком диске. Поэтому использовать гибкие диски в качестве основного средства хранения информации недопустимо. Их используют только для транспортировки информации или в качестве дополнительного (резервного) средства хранения.
3.2.4. Дисковод компакт-дисков CD-ROM
Аббревиатура CD-ROM (Compact Disc Read-Only Memory) переводится на русский язык как постоянное запоминающее устройство на основе компакт-диска. Принцип действия этого устройства состоит в считывании числовых данных с помощью лазерного луча, отражающегося от поверхности диска. Цифровая запись на компакт-диске отличается от записи на магнитных дисках очень высокой плотностью, и стандартный компакт-диск может хранить примерно 650 Мбайт данных.
Большие объемы данных характерны для мультимедийной информации (графика, музыка, видео), поэтому дисководы CD-ROM относят к аппаратным средствам мультимедиа. Программные продукты, распространяемые на лазерных дисках, называют мультимедийными изданиями. Сегодня мультимедийные издания завоевывают все более прочное место среди других традиционных видов изданий. Так, например, существуют книги, альбомы, энциклопедии и даже периодические издания (электронные журналы), выпускаемые на CD-ROM.
Основным недостатком стандартных дисководов CD-ROM является невозможность записи данных, но на рынке периферийных устройств существуют и устройства однократной записи CD-R (Compact Disc Recorder), и устройства многократной записи CD-RW.
Основным параметром дисководов CD-ROM является скорость чтения данных. Она измеряется в кратных долях. За единицу измерения принята скорость чтения в первых серийных образцах, составлявшая 150 Кбайт/с. Таким образом, дисковод с удвоенной скоростью чтения обеспечивает производительность 300 Кбайт/с, с учетверенной скоростью — 600 Кбайт/с и т. д. В настоящее время наибольшее распространение имеют устройства чтения CD-ROM с производительностью 32х-48х. Современные образцы устройств однократной записи имеют производительность 4х-8х, а устройств многократной записи — до 4х.
3.2.5. Видеокарта (видеоадаптер)
Совместно с монитором видеокарта образует видеоподсистему персонального компьютера. Видеокарта не всегда была компонентом ПК. На заре развития персональной вычислительной техники в общей области оперативной памяти существовала небольшая выделенная экранная область памяти, в которую процессор заносил данные об изображении. Специальный контроллер экрана считывал данные об яркости отдельных точек экрана из ячеек памяти этой области и в соответствии с ними управлял разверткой горизонтального луча электронной пушки монитора.
С переходом от черно-белых мониторов к цветным и с увеличением разрешения экрана (количества точек по вертикали и горизонтали) области видеопамяти стало недостаточно для хранения графических данных, а процессор перестал справляться с построением и обновлением изображения. Тогда и произошло выделение всех операций, связанных с управлением экраном, в отдельный блок, получивший название видеоадаптер. Физически видеоадаптер выполнен в виде отдельной дочерней платы, которая вставляется в один из слотов материнской платы и называется видеокартой. Видеоадаптер взял на себя функции видеоконтроллера, видеопроцессора и видеопамяти.
За время существования персональных компьютеров сменилось несколько стандартов видеоадаптеров: MDA (монохромный), CGA (4 цвета); EGA (16 цветов); VGA (256 цветов). В настоящее время применяются видеоадаптеры SVGA, обеспечивающие по выбору воспроизведение до 16,7 миллионов цветов с возможностью произвольного выбора разрешения экрана из стандартного ряда значений (640х480, 800х600, 1024х768, 1152х864; 1280х1024 точек и далее).
Разрешение экрана является одним из важнейших параметров видеоподсистемы. Чем оно выше, тем больше информации можно отобразить на экране, но тем меньше размер каждой отдельной точки и, тем самым, тем меньше видимый размер элементов изображения. Использование завышенного разрешения на мониторе малого размера приводит к тому, что элементы изображения становятся неразборчивыми и работа с документами и программами вызывает утомление органов зрения. Использование заниженного разрешения приводит к тому, что элементы изображения становятся крупными, но на экране их располагается очень мало. Если программа имеет сложную систему управления и большое число экранных элементов, они не полностью помещаются на экране. Это приводит к снижению производительности труда и неэффективной работе.
Таким образом, для каждого размера монитора существует свое оптимальное разрешение экрана, которое должен обеспечивать видеоадаптер (табл. 3.1).
Таблица 3.1. Разрешение экрана монитора
Размер монитора |
Оптимальное разрешение экрана |
14 дюймов |
640*480 |
15 дюймов |
800*600 |
17 дюймов |
1024*768 |
19 дюймов |
1280*1024 |
Большинство современных прикладных и развлекательных программ рассчитаны на работу с разрешением экрана 800х600 и более. Именно поэтому сегодня наиболее популярный размер мониторов составляет 15 дюймов.
Цветовое разрешение (глубина цвета) определяет количество различных оттенков, которые может принимать отдельная точка экрана. Максимально возможное цветовое разрешение зависит от свойств видеоадаптера и, в первую очередь, от количества установленной на нем видеопамяти. Кроме того, оно зависит и от установленного разрешения экрана. При высоком разрешении экрана на каждую точку изображения приходится отводить меньше места в видеопамяти, так что информация о цветах вынужденно оказывается более ограниченной.
В зависимости от заданного экранного разрешения и глубины цвета необходимый объем видеопамяти можно определить по следующей формуле:
где Р — необходимый объем памяти видеоадаптера;
m — горизонтальное разрешение экрана (точек);
n — вертикальное разрешение экрана (точек);
b — разрядность кодирования цвета (бит).
Минимальное требование по глубине цвета на сегодняшний день — 256 цветов, хотя большинство программ требуют не менее 65 тыс. цветов (режим High Color). Наиболее комфортная работа достигается при глубине цвета 16,7 млн цветов (режим True Color).
Работа в полноцветном режиме True Color с высоким экранным разрешением требует значительных размеров видеопамяти. Современные видеоадаптеры способны также выполнять функции обработки изображения, снижая нагрузку на центральный процессор ценой дополнительных затрат видеопамяти. Еще недавно типовыми считались видеоадаптеры с объемом памяти 2-4 Мбайт, но уже сегодня обычным считается объем 16 Мбайт.
Видеоускорение — одно из свойств видеоадаптера, которое заключается в том, что часть операций по построению изображений может происходить без выполнения математических вычислений в основном процессоре компьютера, а чисто аппаратным путем — преобразованием данных в микросхемах видеоускорителя. Видеоускорители могут входить в состав видеоадаптера (в таких случаях говорят о том, чтовидеокарта обладает функциями аппаратного ускорения), но могут поставляться в виде отдельной платы, устанавливаемой на материнской плате и подключаемой к видеоадаптеру.
Различают два типа видеоускорителей — ускорители плоской (2D) и трехмерной (3D) графики. Первые наиболее эффективны для работы с прикладными программами (обычно офисного применения) и оптимизированы для операционной системы Windows, а вторые ориентированы на работу мультимедийных развлекательных программ, в первую очередь компьютерных игр и профессиональных программ обработки трехмерной графики. Обычно в этих случаях используют разные математические принципы автоматизации графических операций, но существуют ускорители, обладающие функциями и двумерного, и трехмерного ускорения.
3.2.6. Звуковая карта
Звуковая карта явилась одним из наиболее поздних усовершенствований персонального компьютера. Она подключается к одному из слотов материнской платы в виде дочерней карты и выполняет вычислительные операции, связанные с обработкой звука, речи, музыки. Звук воспроизводится через внешние звуковые колонки, подключаемые к выходу звуковой карты. Специальный разъем позволяет отправить звуковой сигнал на внешний усилитель. Имеется также разъем для подключения микрофона, что позволяет записывать речь или музыку и сохранять их на жестком диске для последующей обработки и использования.
Основным параметром звуковой карты является разрядность, определяющая количество битов, используемых при преобразовании сигналов из аналоговой в цифровую форму и наоборот. Чем выше разрядность, тем меньше погрешность, связанная с оцифровкой, тем выше качество звучания. Минимальным требованием сегодняшнего дня являются 16 разрядов, а наибольшее распространение имеют 32-разрядные и 64-разрядные устройства.
В области воспроизведения звука наиболее сложно обстоит дело со стандартизацией. Отсутствие единых централизованных стандартов привело к тому, что ряд фирм, занимающихся выпуском звукового оборудования, де-факто ввели в широкое использование свои внутрифирменные стандарты. Так, например, во многих случаях стандартными считают устройства, совместимые с устройством Sound Blaster, торговая марка на которое принадлежит компании Creative Labs.
3.3.1. Оперативная память
Оперативная память (RAM — Random Access Memory) — это массив кристаллических ячеек, способных хранить данные. Существует много различных типов оперативной памяти, но с точки зрения физического принципа действия различают динамическую память (DRAM) и статическую память (SRAM).
Ячейки динамической памяти (DRAM) можно представить в виде микроконденсаторов, способных накапливать заряд на своих обкладках. Это наиболее распространенный и экономически доступный тип памяти. Недостатки этого типа связаны, во-первых, с тем, что как при заряде, так и при разряде конденсаторов неизбежны переходные процессы, то есть запись данных происходит сравнительно медленно. Второй важный недостаток связан с тем, что заряды ячеек имеют свойство рассеиваться в пространстве, причем весьма быстро. Если оперативную память постоянно не “подзаряжать”, утрата данных происходит через несколько сотых долей секунды. Для борьбы с этим явлением в компьютере происходит постоянная регенерация (освежение, подзарядка) ячеек оперативной памяти. Регенерация осуществляется несколько десятков раз в секунду и вызывает непроизводительный расход ресурсов вычислительной системы.
Ячейки статической памяти (SRAM) можно представить как электронные микроэлементы — триггеры, состоящие из нескольких транзисторов. В триггере хранится не заряд, а состояние (включен/выключен), поэтому этот тип памяти обеспечивает более высокое быстродействие, хотя технологически он сложнее и, соответственно, дороже.
Микросхемы динамической памяти используют в качестве основной оперативной памяти компьютера. Микросхемы статической памяти используют в качестве вспомогательной памяти (так называемой кэш-памяти), предназначенной для оптимизации работы процессора.
Каждая ячейка памяти имеет свой адрес, который выражается числом. В настоящее время в процессорах Intel Pentium и некоторых других принята 32-разрядная адресация, а это означает, что всего независимых адресов может быть 232. Таким образом, в современных компьютерах возможна непосредственная адресация к полю памяти размером 232 = 4 294 967 296 байт (4,3 Гбайт). Однако это отнюдь не означает, что именно столько оперативной памяти непременно должно быть в компьютере. Предельный размер поля оперативной памяти, установленной в компьютере, определяется микропроцессорным комплектом (чипсетом) материнской платы и обычно составляет несколько сот Мбайт.
Одна адресуемая ячейка содержит восемь двоичных ячеек, в которых можно сохранить 8 бит, то есть один байт данных. Таким образом, адрес любой ячейки памяти можно выразить четырьмя байтами.
Представление о том, сколько оперативной памяти должно быть в типовом компьютере, непрерывно меняется. В середине 80-х годов поле памяти размером 1 Мбайт казалось огромным, в начале 90-х годов достаточным считался объем 4 Мбайт, к середине 90-х годов он увеличился до 8 Мбайт, а затем и до 16 Мбайт. Сегодня типичным считается размер оперативной памяти 64-128 Мбайт, но очень скоро эта величина будет превышена в 2-4 раза даже для моделей массового потребления.
Оперативная память в компьютере размещается на стандартных панельках, называемых модулями. Модули оперативной памяти вставляют в соответствующие разъемы на материнской плате. Если к разъемам есть удобный доступ, то операцию можно выполнять своими руками. Если удобного доступа нет, может потребоваться неполная разборка узлов системного блока, и в таких случаях операцию поручают специалистам.
Конструктивно модули памяти имеют два исполнения — однорядные (SIMM-модули) и двухрядные (DIMM-модули). На компьютерах с процессорами Pentium однорядные модули можно применять только парами (количество разъемов для их установки на материнской плате всегда четное), а DIMM-модули можно устанавливать по одному. Многие модели материнских плат имеют разъемы как того, так и другого типа, но комбинировать на одной плате модули разных типов нельзя. На рис. 3.5 показаны SIMM-модули.
Основными характеристиками модулей оперативной памяти являются объем памяти и время доступа. SIMM-модули поставляются объемами 4, 8, 16, 32 Мбайт, а DIMM -модули — 16, 32, 64, 128 Мбайт и более. Время доступа показывает, сколько времени необходимо для обращения к ячейкам памяти — чем оно меньше, тем лучше. Время доступа измеряется в миллиардных долях секунды (наносекундах, нс). Типичное время доступа к оперативной памяти для SIMM-модулей — 50-70 нс. Для современных DIMM-модулей оно составляет 7-10 нс.
Рис. 3.5. Микросхема SIMM-модулей
3.3.2. Процессор
Процессор — основная микросхема компьютера, в которой и производятся все вычисления, рис. 3.6. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют регистрами. Важно также отметить, что данные, попавшие в некоторые регистры, рассматриваются не как данные, а как команды, управляющие обработкой данных в других регистрах. Среди регистров процессора есть и такие, которые в зависимости от своего содержания способны модифицировать исполнение команд. Таким образом, управляя засылкой данных в разные регистры процессора, можно управлять обработкой данных. На этом и основано исполнение программ.
Рис. 3.6. Микросхема процессора Pentium
С остальными устройствами компьютера, и в первую очередь с оперативной памятью, процессор связан несколькими группами проводников, называемых шинами. Основных шин три: шина данных, адресная шина и командная шина.
Адресная шина
У процессоров Intel Pentium (а именно они наиболее распространены в персональных компьютерах) адресная шина 32-разрядная, то есть состоит из 32 параллельных линий. В зависимости от того, есть напряжение на какой-то из линий или нет, говорят, что на этой линии выставлена единица или ноль. Комбинация из 32 нулей и единиц образует 32-разрядный адрес, указывающий на одну из ячеек оперативной памяти. К ней и подключается процессор для копирования данных из ячейки в один из своих регистров.
Шина данных
По этой шине происходит копирование данных из оперативной памяти в регистры процессора и обратно. В компьютерах, собранных на базе процессоров Intel Pentium, шина данных 64-разрядная, то есть состоит из 64 линий, по которым за один раз на обработку поступают сразу 8 байтов.
Шина команд
Для того чтобы процессор мог обрабатывать данные, ему нужны команды. Он должен знать, что следует сделать с теми байтами, которые хранятся в его регистрах. Эти команды поступают в процессор тоже из оперативной памяти, но не из тех областей, где хранятся массивы данных, а оттуда, где хранятся программы. Команды тоже представлены в виде байтов. Самые простые команды укладываются в один байт, однако есть и такие, для которых нужно два, три и более байтов. В большинстве современных процессоров шина команд 32-разрядная (например, в процессоре Intel Pentium), хотя существуют 64-разрядные процессоры и даже 128-разрядные.
Система команд процессора
В процессе работы процессор обслуживает данные, находящиеся в его регистрах, в поле оперативной памяти, а также данные, находящиеся во внешних портах процессора. Часть данных он интерпретирует непосредственно как данные, часть данных — как адресные данные, а часть — как команды. Совокупность всех возможных команд, которые может выполнить процессор над данными, образует так называемую систему команд процессора. Процессоры, относящиеся к одному семейству, имеют одинаковые или близкие системы команд. Процессоры, относящиеся к разным семействам, различаются по системе команд и невзаимозаменяемы.
Процессоры с расширенной и сокращенной системой команд
Чем шире набор системных команд процессора, тем сложнее его архитектура, тем длиннее формальная запись команды (в байтах), тем выше средняя продолжительность исполнения одной команды, измеренная в тактах работы процессора. Так, например, система команд процессоров Intel Pentium в настоящее время насчитывает более тысячи различных команд. Такие процессоры называют процессорами с расширенной системой команд — CISC-процессорами (CISC – Complex Instruction Set Computing).
В противоположность CISC-процессорам в середине 80-х годов появились процессоры архитектуры RISC с сокращенной системой команд (RISC – Reduced Instruction Set Computing). При такой архитектуре количество команд в системе намного меньше, и каждая из них выполняется намного быстрее. Таким образом, программы, состоящие из простейших команд, выполняются этими процессорами много быстрее. Оборотная сторона сокращенного набора команд состоит в том, что сложные операции приходится эмулировать далеко не эффективной последовательностью простейших команд сокращенного набора.
В результате конкуренции между двумя подходами к архитектуре процессоров сложилось следующее распределение их сфер применения:
- CISC-процессоры используют в универсальных вычислительных системах;
- RISC -процессоры используют в специализированных вычислительных системах или устройствах, ориентированных на выполнение единообразных операций.
Для персональных компьютеров платформы IBM PC долгое время выпускались только CISC-процессоры, к которым относятся и все процессоры семейства Intel Pentium. Однако в последнее время компания АМD приступила к выпуску процессоров семейства АМD-К6, в основе которых лежит внутреннее ядро, выполненное по RISC-архитектуре, и внешняя структура, выполненная по архитектуре CISC. Таким образом, сегодня появились процессоры, совместимые по системе команд с процессорами х86, но имеющие гибридную архитектуру.
Совместимость процессоров
Если два процессора имеют одинаковую систему команд, то они полностью совместимы на программном уровне. Это означает, что программа, написанная для одного процессора, может исполняться и другим процессором. Процессоры, имеющие разные системы команд, как правило, несовместимы или ограниченно совместимы на программном уровне.
Группы процессоров, имеющих ограниченную совместимость, рассматривают как семейства процессоров. Так, например, все процессоры Intel Pentium относятся к так называемому семейству х86. Родоначальником этого семейства был 16-разрядный процессор Intel 8086, на базе которого собиралась первая модель компьютера IBM PC. Впоследствии выпускались процессоры Intel 80286, Intel 80386, Intel 80486, Intel Pentium 60, 66, 75, 90, 100, 133; несколько моделей процессоров Intel Pentium ММХ, модели Intel Pentium Рro, Intel Pentium II, Intel Се1егоп, Intel Xeon, Intel Pentium
III и другие. Все эти модели, и не только они, а также многие модели процессоров компаний АМD и Cyrix относятся к семейству х86 и обладают совместимостью по принципу “сверху вниз”.
Принцип совместимости “сверху вниз” — это пример неполной совместимости, когда каждый новый процессор “понимает” все команды своих предшественников, но не наоборот. Это естественно, поскольку двадцать лет назад разработчики процессоров не могли предусмотреть систему команд, нужную для современных программ. Благодаря такой совместимости на современном компьютере можно выполнять любые программы, созданные в последние десятилетия для любого из предшествующих компьютеров, принадлежащего той же аппаратной платформе.
Основные параметры процессоров
Основными параметрами процессоров являются: рабочее напряжение, разрядность, рабочая тактовая частота, коэффициент внутреннего умножения тактовой частоты и размер кэш-памяти.
Рабочее напряжение процессора обеспечивает материнская плата, поэтому разным маркам процессоров соответствуют разные материнские платы (их надо выбирать совместно). По мере развития процессорной техники происходит постепенное понижение рабочего напряжения. Ранние модели процессоров х86 имели рабочее напряжение 5 В. С переходом к процессорам Intel Pentium оно было понижено до 3,3 В, а в настоящее время оно составляет менее 3 В. Причем ядро процессора питается пониженным напряжением 2,2 В. Понижение рабочего напряжения позволяет уменьшить расстояния между структурными элементами в кристалле процессора до десятитысячных долей миллиметра, не опасаясь электрического пробоя. Пропорционально квадрату напряжения уменьшается и тепловыделение в процессоре, а это позволяет увеличивать его производительность без угрозы перегрева.
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за один раз (за один такт). Первые процессоры х86 были 16-разрядными. Начиная с процессора 80386 они имеют 32-разрядную архитектуру. Современные процессоры семейства Intel Pentium остаются 32-разрядными, хотя и работают с 64-разрядной шиной данных (разрядность процессора определяется не разрядностью шины данных, а разрядностью командной шины).
В основе работы процессора лежит тот же тактовый принцип, что и в обычных часах. Исполнение каждой команды занимает определенное количество тактов. В настенных часах такты колебаний задает маятник; в ручных механических часах их задает пружинный маятник; в электронных часах для этого есть колебательный контур, задающий такты строго определенной частоты. В персональном компьютере тактовые импульсы задает одна из микросхем, входящая в микропроцессорный комплект (чипсет), расположенный на материнской плате. Чем выше частота тактов, поступающих на процессор, тем больше команд он может исполнить в единицу времени, тем выше его производительность. Первые процессоры х86 могли работать с частотой не выше 4,77 МГц, а сегодня рабочие частоты некоторых процессоров уже превосходят 500 миллионов тактов в секунду (500 МГц).
Тактовые сигналы процессор получает от материнской платы, которая, в отличие от процессора, представляет собой не кристалл кремния, а большой набор проводников и микросхем. По чисто физическим причинам материнская плата не может работать со столь высокими частотами, как процессор. Сегодня ее предел составляет 100-133 МГц. Для получения более высоких частот в процессоре происходит внутреннее умножение частоты на коэффициент 3; 3,5; 4; 4,5; 5 и более.
Обмен данными внутри процессора происходит в несколько раз быстрее, чем обмен с другими устройствами, например с оперативной памятью. Для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают буферную область — так называемую кэш-память. Это как бы “сверхоперативная память”. Когда процессору нужны данные, он сначала обращается в кэш-память, и только если там нужных данных нет, происходит его обращение в оперативную память. Принимая блок данных из оперативной памяти, процессор заносит его одновременно и в кэш-память. “Удачные” обращения в кэш-память называют попаданиями в кэш. Процент попаданий тем выше, чем больше размер кэш-памяти, поэтому высокопроизводительные процессоры комплектуют повышенным объемом кэш-памяти.
Нередко кэш-память распределяют по нескольким уровням. Кэш первого уровня выполняется в том же кристалле, что и сам процессор, и имеет объем порядка десятков Кбайт. Кэш второго уровня находится либо в кристалле процессора, либо в том же узле, что и процессор, хотя и исполняется на отдельном кристалле. Кэш-память первого и второго уровня работает на частоте, согласованной с частотой ядра процессора.
Кэш-память третьего уровня выполняют на быстродействующих микросхемах типа SRAM и размещают на материнской плате вблизи процессора. Ее объемы могут достигать нескольких Мбайт, но работает она на частоте материнской платы.
3.3.3. Микросхема ПЗУ и система ВIOS
В момент включения компьютера в его оперативной памяти нет ничего — ни данных, ни программ, поскольку оперативная память не может ничего хранить без подзарядки ячеек более сотых долей секунды, но процессору нужны команды, в том числе и в первый момент после включения.
Поэтому сразу после включения на адресной шине процессора выставляется стартовый адрес. Это происходит аппаратно, без участия программ (всегда одинаково). Процессор обращается по выставленному адресу за своей первой командой и далее начинает работать по программам.
Этот исходный адрес не может указывать на оперативную память, в которой пока ничего нет. Он указывает на другой тип памяти — постоянное запоминающее устройство (ПЗУ). Микросхема ПЗУ способна длительное время хранить информацию, даже когда компьютер выключен. Программы, находящиеся в ПЗУ, называют “зашитыми” — их записывают туда на этапе изготовления микросхемы.
Комплект программ, находящихся в ПЗУ, образует базовую систему ввода-вывода (BIOS – Basic Input Output System). Основное назначение программ этого пакета состоит в том, чтобы проверить состав и работоспособность компьютерной системы и обеспечить взаимодействие с клавиатурой, монитором, жестким диском и дисководом гибких дисков. Программы, входящие в BIOS, позволяют нам наблюдать на экране диагностические сообщения, сопровождающие запуск компьютера, а также вмешиваться в ход запуска с помощью клавиатуры.
3.3.4. Энергонезависимая память СМOS
Выше мы отметили, что работа таких стандартных устройств, как клавиатура, может обслуживаться программами, входящими в BIOS, но такими средствами нельзя обеспечить работу со всеми возможными устройствами. Так, например, изготовители BIOS абсолютно ничего не знают о параметрах наших жестких и гибких дисков, им не известны ни состав, ни свойства произвольной вычислительной системы. Для того чтобы начать работу с другим оборудованием, программы, входящие в состав BIOS, должны знать, где можно найти нужные параметры. По очевидным причинам их нельзя хранить ни в оперативной памяти, ни в постоянном запоминающем устройстве.
Специально для этого на материнской плате есть микросхема “энергонезависимой памяти”, по технологии изготовления называемая CMOS. От оперативной памяти она отличается тем, что ее содержимое не стирается во время выключения компьютера, а от ПЗУ она отличается тем, что данные в нее можно заносить и изменять самостоятельно, в соответствии с тем, какое оборудование входит в состав системы. Эта микросхема постоянно подпитывается от небольшой батарейки, расположенной на материнской плате. Заряда этой батарейки хватает на то, чтобы микросхема не теряла данные, даже если компьютер не будут включать несколько лет.
В микросхеме CMOS хранятся данные о гибких и жестких дисках, о процессоре, о некоторых других устройствах материнской платы. Тот факт, что компьютер четко отслеживает время и календарь (даже и в выключенном состоянии), тоже связан с тем, что показания системных часов постоянно хранятся (и изменяются) в CMOS.
Таким образом, программы, записанные в BIOS, считывают данные о составе оборудования компьютера из микросхемы CMOS, после чего они могут выполнить обращение к жесткому диску, а в случае необходимости и к гибкому, и передать управление тем программам, которые там записаны.
3.3.5. Шинные интерфейсы материнской платы
Связь между всеми собственными и подключаемыми устройствами материнской платы выполняют ее шины и логические устройства, размещенные в микросхемах микропроцессорного комплекта (чипсета). От архитектуры этих элементов во многом зависит производительность компьютера.
ISA
Историческим достижением компьютеров платформы IBM PC стало внедрение почти двадцать лет назад архитектуры, получившей статус промышленного стандарта ISA (Industry Standard Architecture). Она не только позволила связать все устройства системного блока между собой, но и обеспечила простое подключение новых устройств через стандартные разъемы (слоты). Пропускная способность шины, выполненной по такой архитектуре, составляет до 5,5 Мбайт/с, но, несмотря на низкую пропускную способность, эта шина продолжает использоваться в компьютерах для подключения сравнительно “медленных” внешних устройств, например звуковых карт и модемов.
EISA
Расширением стандарта ISA стал стандарт EISA (Extended ISA), отличающийся увеличенным разъемом и увеличенной производительностью (до 32 Мбайт/с). Как и ISA, в настоящее время данный стандарт считается устаревшим. После 2000 года выпуск материнских плат с разъемами ISA/EISA и устройств, подключаемых к ним, прекращается.
VLB
Название интерфейса переводится как локальная шина стандарта VESA (VESA Local Bus). Понятие “локальной шины” впервые появилось в конце 80-х годов. Оно связано тем, что при внедрении процессоров третьего и четвертого поколений (Intel 80386 и Intel 80486) частоты основной шины (в качестве основной использовалась шина ISA/EISA) стало недостаточно для обмена между процессором и оперативной памятью. Локальная шина, имеющая повышенную частоту, связала между собой процессор и память в обход основной шины. Впоследствии в эту шину “врезали” интерфейс для подключения видеоадаптера, который тоже требует повышенной пропускной способности, — так появился стандарт VLB, который позволил поднять тактовую частоту локальной шины до 50 МГц и обеспечил пиковую пропускную способность до 130 Мбайт/с.
Основным недостатком интерфейса VLB стало то, что предельная частота локальной шины и, соответственно, ее пропускная способность зависят от числа устройств, подключенных к шине. Так, например, при частоте 50 Мгц к шине может быть подключено только одно устройство (видеокарта). Для сравнения скажем, что при частоте 40 Мгц возможно подключение двух, а при частоте 33 Мгц — трех устройств.
PCI
Интерфейс PCI (Peripheral Component Interconnect — стандарт подключения внешних компонентов) был введен в персональных компьютерах, выполненных на базе процессоров Intel Pentium. По своей сути это тоже интерфейс локальной шины, связывающей процессор с оперативной памятью, в которую врезаны разъемы для подключения внешних устройств. Для связи с основной шиной компьютера (ISA/EISA) используются специальные интерфейсные преобразователи — мосты PCI (PCI Bridge). В современных компьютерах функции моста PCI выполняют микросхемы микропроцессорного комплекта (чипсета).
Данный интерфейс поддерживает частоту шины 33 МГц и обеспечивает пропускную способность 132 Мбайт/с. Последние версии интерфейса поддерживают частоту до 66 МГц и обеспечивают производительность 264 Мбайт/с для 32-разрядных данных и 528 Мбайт/с для 64-разрядных данных.
Важным нововведением, реализованным этим стандартом, стала поддержка так называемого режима plug-and-play, впоследствии оформившегося в промышленный стандарт на самоустанавливающиеся устройства. Его суть состоит в том, что после физического подключения внешнего устройства к разъему шины PCI происходит обмен данными между устройством и материнской платой, в результате которого устройство автоматически получает номер используемого прерывания, адрес порта подключения и номер канала прямого доступа к памяти.
Конфликты между устройствами за обладание одними и теми же ресурсами (номерами прерываний, адресами портов и каналами прямого доступа к памяти) вызывают массу проблем у пользователей при установке устройств, подключаемых к шине ISA. С появлением интерфейса PCI с оформлением стандарта plug-and-play появилась возможность выполнять установку новых устройств с помощью автоматических программных средств — эти функции во многом были возложены на операционную систему.
FSB
Шина PCI, появившаяся в компьютерах на базе процессоров Intel Pentium как локальная шина, предназначенная для связи процессора с оперативной памятью, недолго оставалась в этом качестве. Сегодня она используется только как шина для подключения внешних устройств, а для связи процессора и памяти, начиная с процессора Intel Pentium Pro используется специальная шина, получившая название Front Side Bus (FSB). Эта шина работает на очень высокой частоте 100-125 МГц. В настоящее время внедряются материнские платы с частотой шины FSB 133 МГц и ведутся разработки плат с частотой до 200 МГц. Частота шины FSB является одним из основных потребительских параметров — именно он и указывается в спецификации материнской платы. Пропускная способность шины FSB при частоте 100 МГц составляет порядка 800 Мбайт/с.
AGP
Видеоадаптер — устройство, требующее особенно высокой скорости передачи данных. Как при внедрении локальной шины VLB, так и при внедрении локальной шины PCI видеоадаптер всегда был первым устройством, “врезаемым” в новую шину. Сегодня параметры шины PCI уже не соответствуют требованиям видеоадаптеров, поэтому для них разработана отдельная шина, получившая название AGP (Advanced Graphic Port — усовершенствованный графический порт). Частота этой шины соответствует частоте шины PCI (33 МГц или 66 МГц), но она имеет много более высокую пропускную способность — до 1066 Мбайт/с (в режиме четырехкратного умножения).
PCMCIA
(Personal Computer Card International Association — стандарт между-народной ассоциации производителей плат памяти для персональных компьютеров). Этот стандарт определяет интерфейс подключения плоских карт памяти небольших размеров и используется в портативных персональных компьютерах.
USB
(Universal Serial Bus —универсальная последовательная магистраль). Это одно из последних нововведений в архитектурах материнских плат. Этот стандарт определяет способ взаимодействия компьютера с периферийным оборудованием. Он позволяет подключать до 256 различных устройств, имеющих последовательный интерфейс. Устройства могут включаться цепочками (каждое следующее устройство подключается к предыдущему). Производительность шины USB относительно невелика и составляет до 1,5 Мбит/с, но для таких устройств, как клавиатура, мышь, модем, джойстик и т. п., этого достаточно. Удобство шины состоит в том, что она практически исключает конфликты между различным оборудованием, позволяет подключать и отключать устройства в “горячем режиме” (не выключая компьютер) и позволяет объединять несколько компьютеров впростейшую локальную сеть без применения специального оборудования и программного обеспечения.
3.3.6. Функции микропроцессорного комплекта (чипсета)
Параметры микропроцессорного комплекта (чипсета) в наибольшей степени определяют свойства и функции материнской платы. В настоящее время большинство чипсетов материнских плат выпускаются на базе двух микросхем, получивших название “северный мост” и “южный мост”.
“Северный мост” управляет взаимосвязью четырех устройств: процессора, оперативной памяти, порта AGP и шины PCI. Поэтому его также называют четырехпортовым контроллером.
“Южный мост” называют также функциональным контроллером. Он выполняет функции контроллера жестких и гибких дисков, функции моста ISA — PCI, контроллера клавиатуры, мыши, шины USB и т. п.
3.4. Периферийные устройства персонального компьютера
Периферийные устройства персонального компьютера подключаются к его интерфейсам и предназначены для выполнения вспомогательных операций. Благодаря им компьютерная система приобретает гибкость и универсальность.
По назначению периферийные устройства можно подразделить на:
- устройства ввода данных;
- устройства вывода данных;
- устройства хранения данных;
- устройства обмена данными.
3.4.1. Устройства ввода знаковых данных
Специальные клавиатуры
Клавиатура является основным устройством ввода данных. Специальные клавиатуры предназначены для повышения эффективности процесса ввода данных. Это достигается путем изменения формы клавиатуры, раскладки ее клавиш или метода подключения к системному блоку.
Клавиатуры, имеющие специальную форму, рассчитанную с учетом требований эргономики, называют эргономичными клавиатурам. Их целесообразно применять на рабочих местах, предназначенных для ввода большого количества знаковой информации. Эргономичные клавиатуры не только повышают производительность наборщика и снижают общее утомление в течение рабочего дня, но и снижают вероятность и степень развития ряда заболеваний, например туннельного синдрома кистей рук и остеохондроза верхних отделов позвоночника.
Раскладка клавиш стандартных клавиатур далека от оптимальной. Она сохранилась со времен ранних образцов механических пишущих машин. В настоящее время существует техническая возможность изготовления клавиатур с оптимизированной раскладкой, и существуют образцы таких устройств (в частности, к ним относится клавиатура Дворака). Однако практическое внедрение клавиатур с нестандартной раскладкой находится под вопросом в связи с тем, что работе с ними надо учиться специально. На практике подобными клавиатурами оснащают только специализированные рабочие места.
По методу подключения к системному блоку различают проводные и беспроводные клавиатуры. Передача информации в беспроводных системах осуществляется инфракрасным лучом. Обычный радиус действия таких клавиатур составляет несколько метров. Источником сигнала является клавиатура.
3.4.2. Устройства командного управления
Специальные манипуляторы. Кроме обычной мыши существуют и другие типы манипуляторов, например: трекболы, пенмаусы, инфракрасные мыши.
Трекбол в отличие от мыши устанавливается стационарно, и его шарик приводится в движение ладонью руки. Преимущество трекбола состоит в том, что он не нуждается в гладкой рабочей поверхности, поэтому трекболы нашли широкое применение в портативных персональных компьютерах.
Пенмаус представляет собой аналог шариковой авторучки, на конце которой вместо пишущего узла установлен узел, регистрирующий величину перемещения.
Инфракрасная мышь отличается от обычной наличием устройства беспроводной связи с системным блоком.
Для компьютерных игр и в некоторых специализированных имитаторах применяют также манипуляторы рычажно-нажимного типа (джойстики) и аналогичные им штурвально-педальные устройства. Устройства этого типа подключаются к специальному порту, имеющемуся на звуковой карте, или к порту USB.
3.4.3. Устройства ввода графических данных
Для ввода графической информации используют сканеры, графические планшеты (дигитайзеры) и цифровые фотокамеры. Интересно отметить, что с помощью сканеров можно вводить и знаковую информацию. В этом случае исходный материал вводится в графическом виде, после чего обрабатывается специальными программными средствами (программами распознавания образов).
Планшетные сканеры
Планшетные сканеры предназначены для ввода графической информации с прозрачного или непрозрачного листового материала. Принцип действия этих устройств состоит в том, что луч света, отраженный от поверхности материала (или прошедший сквозь прозрачный материал), фиксируется специальными элементами, называемыми приборами с зарядовой связью (ПЗС). Обычно элементы ПЗС конструктивно оформляют в виде линейки, располагаемой по ширине исходного материала. Перемещение линейки относительно листа бумаги выполняется механическим протягиванием линейки при неподвижной установке листа или протягиванием листа при неподвижной установке линейки.
Основными потребительскими параметрами планшетных сканеров являются:
- разрешающая способность;
- производительность;
- динамический диапазон;
- максимальный размер сканируемого материала.
Разрешающая способность планшетного сканера зависит от плотности размещения приборов ПЗС на линейке, а также от точности механического позиционирования линейки при сканировании. Типичный показатель для офисного применения: 600-1200 dpi (dpi — dots per inch — количество точек на дюйм). Для профессионального применения характерны показатели 1200-3000 dpi.
Производительность сканера определяется продолжительностью сканирования листа бумаги стандартного формата и зависит как от совершенства механической части устройства, так и от типа интерфейса, использованного для сопряжения с компьютером.
Динамический диапазон определяется логарифмом отношения яркости наиболее светлых участков изображения к яркости наиболее темных участков. Типовой показатель для сканеров офисного применения составляет 1,8-2,0, а для сканеров профессионального применения — от 2,5 (для непрозрачных материалов) до 3,5 (для прозрачных материалов).
Ручные сканеры
Принцип действия ручных сканеров в основном соответствует планшетным. Разница заключается в том, что протягивание линейки ПЗС в данном случае выполняется вручную. Равномерность и точность сканирования при этом обеспечиваются неудовлетворительно, и разрешающая способность ручного сканера составляет 150-300 dpi.
Барабанные сканеры
В сканерах этого типа исходный материал закрепляется на цилиндрической поверхности барабана, вращающегося с высокой скоростью. Устройства этого типа обеспечивают наивысшее разрешение (2400-5000 dpi) благодаря применению не ПЗС, а фотоэлектронных умножителей. Их используют для сканирования исходных изображений, имеющих высокое качество, но недостаточные линейные размеры (фотонегативов, слайдов и т. п.)
Сканеры форм
Предназначены для ввода данных со стандартных форм, заполненных механически или “от руки”. Необходимость в этом возникает при проведении переписей населения, обработке результатов выборов и анализе анкетных данных.От сканеров форм не требуется высокой точности сканирования, но быстродействие играет повышенную роль и является основным потребительским параметром.
Штрих-сканеры
Эта разновидность ручных сканеров предназначена для ввода данных, закодированных в виде штрих-кода. Такие устройства имеют применение в розничной торговой сети.
Графические планшеты (дигитайзеры)
Эти устройства предназначены для ввода художественной графической информации. Существует несколько различных принципов действия графических планшетов, но в основе всех их лежит фиксация перемещения специального пера относительно планшета. Такие устройства удобны для художников и иллюстраторов, поскольку позволяют им создавать экранные изображения привычными приемами, наработанными для традиционных инструментов (карандаш, перо, кисть).
Цифровые фотокамеры
Как и сканеры, эти устройства воспринимают графические данные с помощью приборов с зарядовой связью, объединенных в прямоугольную матрицу. Основным параметром цифровых фотоаппаратов является разрешающая способность, которая напрямую связана с количеством ячеек ПЗС в матрице. Наилучшие потребительские модели в настоящее время имеют до 1 млн ячеек ПЗС и, соответственно, обеспечивают разрешение изображения до 800х 1200 точек. У профессиональных моделей эти параметры выше.
3.4.4. Устройства вывода данных
В качестве устройств вывода данных, дополнительных к монитору, используют печатающие устройства (принтеры), позволяющие получать копии документов на бумаге или прозрачном носителе. По принципу действия различают матричные, лазерные, светодиодные и струйные принтеры.
Матричные принтеры
Это простейшие печатающие устройства. Данные выводятся на бумагу в виде оттиска, образующегося при ударе цилиндрических стержней (“иголок”) через красящую ленту. Качество печати матричных принтеров напрямую зависит от количества иголок в печатающей головке. Наибольшее распространение имеют 9-игольчатые и 24-игольчатые матричные принтеры. Последние позволяют получать оттиски документов, не уступающие по качеству документам, исполненным на пишущей машинке.
Производительность работы матричных принтеров оценивают по количеству печатаемых знаков в секунду (cps — characters per second). Обычными режимами работы матричных принтеров являются: draft — режим черновой печати, normal — режим обычной печати и режим NLQ (Near Letter Quality), который обеспечивает качество печати, близкое к качеству пишущей машинки.
Лазерные принтеры
Лазерные принтеры обеспечивают высокое качество печати, не уступающее, а во многих случаях и превосходящее полиграфическое. Они отличаются также высокой скоростью печати, которая измеряется в страницах в минуту (ppm — page per minute). Как и в матричных принтерах, итоговое изображение формируется из отдельных точек.
Принцип действия лазерных принтеров следующий:
- в соответствии с поступающими данными лазерная головка испускает световые импульсы, которые отражаются от зеркала и попадают на поверхность светочувствительного барабана;
- горизонтальная развертка изображения выполняется вращением зеркала;
- участки поверхности светочувствительного барабана, получившие световой импульс, приобретают статический заряд;
- барабан при вращении проходит через контейнер, наполненный красящим составом (тонером), и тонер закрепляется на участках, имеющих статический заряд;
- в при дальнейшем вращении барабана происходит контакт его поверхности с бумажным листом, в результате чего происходит перенос тонера на бумагу;
- лист бумаги с нанесенным на него тонером протягивается через нагревательный элемент, в результате чего частицы тонера спекаются и закрепляются на бумаге.
К основным параметрам лазерных принтеров относятся:
- разрешающая способность, dpi (dots per inch — точек на дюйм);
- производительность (страниц в минуту);
- формат используемой бумаги;
- объем собственной оперативной памяти.
При выборе лазерного принтера необходимо также учитывать параметр стоимости оттиска, то есть стоимость расходных материалов для получения одного печатного листа стандартного формата А4. К расходным материалам относится тонер и барабан, который после печати определенного количества оттисков утрачивает свои свойства. В качестве единицы измерения используют цент на страницу (имеются в виду центы США). В настоящее время теоретический предел по этому показателю составляет порядка 1,0-1,5. На практике лазерные принтеры массового применения обеспечивают значения от 2,0 до 6,0.
Основное преимущество лазерных принтеров заключается в возможности получения высококачественных отпечатков. Модели среднего класса обеспечивают разрешение печати до 600 dpi, а профессиональные модели — до 1200 dpi.
Светодиодные принтеры
Принцип действия светодиодных принтеров похож на принцип действия лазерных принтеров. Разница заключается в том, что источником света является не лазерная головка, а линейка светодиодов. Поскольку эта линейка расположена по всей ширине печатаемой страницы, отпадает необходимость в механизме формирования горизонтальной развертки и вся конструкция получается проще, надежнее и дешевле. Типичная величина разрешения печати для светодиодных принтеров составляет порядка 600 dpi.
Струйные принтеры
В струйных печатающих устройствах изображение на бумаге формируется из пятен, образующихся при попадании капель красителя на бумагу. Выброс микрокапель красителя происходит под давлением, которое развивается впечатающей головке за счет парообразования. В некоторых моделях капля выбрсывается щелчком в результате пьезоэлектрического эффекта — этот метод позволяет обеспечить более стабильную форму капли, близкую к сферической.
Качество печати изображения во многом зависит от формы капли и ее размера, а также от характера впитывания жидкого красителя поверхностью бумаги. В этих условиях особую роль играют вязкостные свойства красителя и свойства бумаги.
К положительным свойствам струйных печатающих устройств следует отнести относительно небольшое количество движущихся механических частей и, соответственно, простоту и надежность механической части устройства и его относительно низкую стоимость. Основным недостатком, по сравнению с лазерными принтерами, является нестабильность получаемого разрешения, что ограничивает возможность их применения в черно-белой полутоновой печати.
В то же время, сегодня струйные принтеры нашли очень широкое применение в цветной печати. Благодаря простоте конструкции они намного превосходят цветные лазерные принтеры по показателю качество/цена. При разрешении выше 600 dpi они позволяют получать цветные оттиски, превосходящие по качеству цветные отпечатки, получаемые фотохимическими методами.
При выборе струйного принтера следует обязательно иметь виду параметр стоимости печати одного оттиска. При том, что цена струйных печатающих устройств заметно ниже, чем лазерных, стоимость печати одного оттиска на них может быть в несколько раз выше.
3.4.5. Устройства хранения данных
Необходимость во внешних устройствах хранения данных возникает в двух случаях:
- когда на вычислительной системе обрабатывается больше данных, чем можно разместить на базовом жестком диске;
- когда данные имеют повышенную ценность и необходимо выполнять регулярное резервное копирование на внешнее устройство (копирование данных на жестком диске не является резервным и только создает иллюзию безопасности).
В настоящее время для внешнего хранения данных используют несколько типов устройств, использующих магнитные или магнитооптические носители.
Стримеры
Стримеры — это накопители на магнитной ленте. Их отличает сравнительно низкая цена. К недостаткам стримеров относят малую производительность (она связана прежде всего с тем, что магнитная лента — это устройство последовательного доступа) и недостаточную надежность (кроме электромагнитных наводок, ленты стримеров испытывают повышенные механические нагрузки и могут физически выходить из строя).
Емкость магнитных кассет (картриджей) для стримеров составляет до нескольких сот Мбайт. Дальнейшее повышение емкости за счет повышения плотности записи снижает надежность хранения, а повышение емкости за счет увеличения длины ленты сдерживается низким временем доступа к данным.
ZIP-иакопители
ZIP-накопители выпускаются компанией Iomega, специализирующейся на создании внешних устройств для хранения данных. Устройство работает с дисковыми носителями, по размеру незначительно превышающими стандартные гибкие диски и имеющими емкость 100/250 Мбайт. ZIP-накопители выпускаются во внутреннем и внешнем исполнении. В первом случае их подключают к контроллеру жестких дисков материнской платы, а во втором — к стандартному параллельному порту, что негативно сказывается на скорости обмена данными.
Накопители JAZ
Этот тип накопителей, как и ZIP-накопители, выпускается компанией Iomega. По своим характеристикам JAZ2-носитель приближается к жестким дискам, но в отличие от них является сменным. В зависимости от модели накопителя на одном диске можно разместить 1 или 2 Гбайт данных,
Магнитооптические устройства
Эти устройства получили широкое распространение в компьютерных системах высокого уровня благодаря своей универсальности. С их помощью решаются задачи резервного копирования, обмена данными и их накопления. Однако достаточно высокая стоимость приводов и носителей не позволяет отнести их к устройствам массового спроса.
В этом секторе параллельно развиваются 5,25- и 3,5-дюймовые накопители, носители для которых отличаются в основном форм-фактором и емкостью. Последнее поколение носителей формата 5,25″ достигает емкости 5,2 Гбайт. Стандартная емкость для носителей 3,5″ — 640 Мбайт.
В формате 3,5″ недавно была разработана новая технология GIGAMO, обеспечивающая емкость носителей в 1,3 Гбайт, полностью совместимая сверху вниз с предыдущими стандартами. В перспективе ожидается появление накопителей и дисков форм-фактора 5,25″, поддерживающих технологию NFR (Near Field Recording), которая обеспечит емкость дисков до 20 Гбайт, а позднее и до 40 Гбайт.
3.4.6. Устройства обмена данными
Модем
Устройство, предназначенное для обмена информацией между удаленными компьютерами по каналам связи, принято называть модемом (МОдулятор + ДЕМодулятор). При этом под каналом связи понимают физические линии (проводные, оптоволоконные, кабельные, радиочастотные), способ их использования (коммутируемые и выделенные) и способ передачи данных (цифровые или аналоговые сигналы). В зависимости от типа канала связи устройства приема-передачи подразделяют на радиомодемы, кабельные модемы и прочие. Наиболее широкое применение нашли модемы, ориентированные на подключение к коммутируемым телефонным каналам связи.
Цифровые данные, поступающие в модем из компьютера, преобразуются в нем путем модуляции (по амплитуде, частоте, фазе) в соответствии с избранным стандартом (протоколом) и направляются в телефонную линию. Модем-приемник, понимающий данный протокол, осуществляет обратное преобразование (демодуляцию) и пересылает восстановленные цифровые данные в свой компьютер. Таким образом обеспечивается удаленная связь между компьютерами и обмен данными между ними.
К основным потребительским параметрам модемов относятся:
- производительность (бит/с);
- поддерживаемые протоколы связи и коррекции ошибок;
- шинный интерфейс, если модем внутренний (ISA или PCI).
От производительности модема зависит объем данных, передаваемых в единицу времени. От поддерживаемых протоколов зависит эффективность взаимодействия данного модема с сопредельными модемами (вероятность того, что они вступят во взаимодействие друг с другом при оптимальных настройках). От шинного интерфейса в настоящее время пока зависит только простота установки и настройки модема (в дальнейшем при общем совершенствовании каналов связи шинный интерфейс начнет оказывать влияние и на производительность).