From WikiChip
Editing microarchitecture

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 3: Line 3:
  
 
== Overview ==
 
== Overview ==
{{main|IC design flow}}
 
 
The [[instruction set architecture]] (ISA) can be seen as a high-level contract between the architect and the programmer. It sets out to define how the machine behaves with respect to correctness of program execution. The ISA, however, does not concern itself with the intimate details of how the machine gets it done. To some degree it can be seen as [[black box]] or a [[virtual machine]]. This is where the microarchitecture fills in the details. The microarchitecture describes exactly how the behavior described by the ISA is done. The microarchitecture defines how every single [[digital signal]] is routed around and manipulated to achieve the desired result. The design of a microarchitecture can range from a very simple to highly complex depending on the outcome the engineers hope to achieve.
 
The [[instruction set architecture]] (ISA) can be seen as a high-level contract between the architect and the programmer. It sets out to define how the machine behaves with respect to correctness of program execution. The ISA, however, does not concern itself with the intimate details of how the machine gets it done. To some degree it can be seen as [[black box]] or a [[virtual machine]]. This is where the microarchitecture fills in the details. The microarchitecture describes exactly how the behavior described by the ISA is done. The microarchitecture defines how every single [[digital signal]] is routed around and manipulated to achieve the desired result. The design of a microarchitecture can range from a very simple to highly complex depending on the outcome the engineers hope to achieve.
  
On a high level, the microarchitecture of a machine is often represented as a diagram or set of diagrams (typically in the form of [[block diagram]]s) that describes the relations and interconnections of the various microarchitectural elements. These elements can range from individual electronic components such as [[transistors]] and [[resistors]] to more complex units such as [[register file]]s and [[multipliers]] to complete elements such as [[arithmetic logic unit]]s (ALUs) and [[floating point unit]]s (FPUs). Each of those microarchitectural elements are in turn represented by detailed [[schematic]]s describing the interconnections of the [[logic gates]]. Finally, [[circuit diagram]]s are used to describe the connections of the transistors used to represent the logic gates schematic.
+
On a high level, the microarchitecture of a machine is often represented as a diagram or set of diagrams (typically in the form of [[block diagram]]s) that describes the relations and interconnections of the various microarchitectural elements. These elements can range from individual electronic components such as [[transistors]] and [[resistors]] to more complex units such as [[register file]]s and [[multipliers]] to complete elements such as [[arithmetic logic unit]]s (ALUs) and [[floating point unit]]s (FPUs). Each of those microarchitectural elements are in turn represented by detailed [[schematic]]s describing the interconnections of the [[logic gates]]. Finally, [[circuit diagram]]s are used to describe the connections of the transistors used to represent the logic gates schematic.  
 
 
Modern microarchitectures are described using [[synthesizable]] [[hardware description language|HDLs]] such as [[Verilog]] or [[VHDL]]. The description of the circuit is known as [[RTL design]]. [[Register Transfer Level]] (RTL) can be efficiently described using HDL. Final RTL designs are then passed over for verification and then [[synthesis]] - converting the RTL into optimized gate level [[netlist]]. Those optimized netlists are then either [[place & route|mapped]] onto [[programmable devices]] such as [[FPGA]]s or get converted into geometric representations in what's known as the physical design stage.
 
 
   
 
   
 
==See also==
 
==See also==

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)

Templates used on this page: