Top Qs
Timeline
Chat
Perspective
Processor (computing)
Electrical component for processing data From Wikipedia, the free encyclopedia
Remove ads
In computing and computer science, a processor or processing unit is an electrical component (digital circuit) that performs operations on an external data source, usually memory or some other data stream.[1] The term is frequently used to refer to the central processing unit (CPU), the main processor in a system. It can also refer to other specialized processors such as graphics processing units (GPU), quantum processing units (QPU), and digital signal processors (DSP). The design and development of a processor is intricate and time-consuming because it requires defining both its functional requirements (operations it must perform) and its non-functional requirements (the physical and performance constraints).[2]
Remove ads
History
Summarize
Perspective
The word "processor" has been applied to computers since at least the early 1950’s.[3] Early computers utilized complex arrays of vacuum tubes. These early computers were large, expensive, and power intensive, limiting their use to large organizations. The Ferranti Mark 1 represents one of the earliest processors in the modern sense, as the first general-purpose computer capable of storing programs.[4]
The invention of the transistor brought about rapid innovation in the computer industry.[5] Transistors enabled computer processors to be denser and more power efficient, reducing the size of computers from rooms to something that could fit on a desk. Processors began to increase in processing power by a factor of two every year as transistors shrunk in size and more could be incorporated in a single computer, an observation known as Moore's law. The first transistors used in computing were millimeters across, now modern transistors can be produced at less than 5nm.[6]
The first discrete processor comparable to modern devices was the Intel 4004. The 4004 combined all of the logic circuits required by a computer into a single processor. Sold as a single, discrete chip for general use, it brought computing power to consumer devices such as digital calculators and pinball machines. Modern processors have followed its format, utilizing discretely packaged computer chips with external memory and I/O.
Remove ads
Design
Summarize
Perspective
When designing a processor, the non-functional and functional requirements must be established before the design can be applied to hardware or software systems. Many functional requirements are selected from a set of basic instructions or common algorithms used within processing chips. Although a variety of tools are employed to aid processor development, the overall design process remains time-consuming because of the numerous intricacies involved.
The non-functional requirements of a processor refer to its materialistic components. For example, the processor’s silicon area, pin count, and power and energy consumption all affect the design. The cost of manufacturing the processor and its retail price affect those components.[2]
The functional requirements of a processor are its operations and operating environment. The operations are the set of instructions that the processor follows in order to execute its main function. Operations are written using different sets of algorithms, with varying operands. The time a processor spends running, the type of memory subsystem connected to the processor, and the input/output (I/O) are all examples of operating environments. These environments impact how the operations within the functional requirements are written.[2]
Profiling algorithms helps determine critical details within an algorithm that affect its optimality. Profiling between the prototype code and existing processor designs develops understanding of algorithmic applications. Algorithms within existing processors are usually built to optimize slightly different main functions, so not all operations used in this reference may be needed in the prototype design. If the developer relies solely on the reference, the final operating code may be inefficient.[2]
The organizational architecture of a processor refers to the ordered set of basic instructions that allows the processor to complete its task. There are numerous ways the instructions can be organized in order to achieve a certain goal, but the efficiency of the code will vary. Using kernel operations, automated performance estimators, or simulator generators can help the developer determine the most efficient organizational architecture for the processor.[2]
When the final prototype of the processor is created, it is implemented into different hardwares and softwares. Hardware implementation requires high-level modeling such as converting functional blocks into a hardware description language and arranging the functional blocks on the processor chip to optimize its performance and area. Software implementation is the hardest part of the design process. This process requires debugging hardware and software issues that prevent the processor to run cohesively within the software.[2]
Remove ads
Types
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads