Content deleted Content added
m typo |
mNo edit summary |
||
Line 8:
* Architecture is often defined as the set of machine attributes that a programmer should understand in order to successfully program the specific computer (i.e., being able to reason about what the program will do when executed). For example, part of the architecture are the instructions and the width of operands manipulated by them. Similarly, the frequency at which the system operates is not part of the architecture. This definition reveals the two main considerations for computer architects: (1) Design hardware that behaves as the programmers think it should. (2) Utilize existing implementation technologies (e.g., semiconductors) to build the best computer possible (best can be defined in many different ways as described in ''Design Goals''). The latter consideration is often referred to as microarchitecture.
The most common goals in a Computer Architecture revolve around the tradeoffs between cost and performance (i.e. speed), although other considerations, such as size, weight, and power consumption, may be a factor as well.
Line 26:
The general scheme of optimization is to find the costs of the different parts of the computer. In a balanced computer system, the data rate will be constant for all parts of the system, and cost will be allocated proportionally to assure this. The exact form of the computer system will depend on the constraints and goals it was optimized for.
==Notable
A very notable approach that potentially breaks the structural limits of conventional processing architectures is called [[Reconfigurable_Computing|Configurable Computing]]. Here the [[compiler]] creates code suitable for runtime reconfigurable [[FPGA|Field Programmable Gate Arrays]] in which during the scope of an [[OOP|Object]] the configurable logic represents the calculations to be performed. Since all Objects can potentially perform in parallel on [[Streaming_Data|streaming data]] this is the ultimate [[Parallel_processor|parallel processing architecture]]. (See http://www.jhdl.org/)
Configurable computing could be categorized under [[Computing_in_Memory|Computing in Memory]] which is inspired by the function of the neuronal brain, where the processor and the memory eventually cannot be distinguished from each other.
|