VIA C3
The VIA C3 is a family of x86-32 central processing units for low cost personal computers designed by Centaur Technology and sold by VIA Technologies. The different CPU cores are built following the design methodology of Centaur Technology.
In addition to a standard x86-32 implementation, VIA C3 CPUs contain an undocumented AIS feature which may unintentionally allow for privilege escalation.
Cores
Samuel 2 and Ezra cores
VIA Cyrix III was renamed VIA C3 with the switch to the advanced "Samuel 2" core. The addition of an on-die L2 cache improved performance somewhat. As it was not built upon Cyrix technology at all, the new name was just a logical step. To improve power consumption and reduce manufacturing costs, Samuel 2 was produced with 150 nm process technology.The VIA C3 processor continued an emphasis on minimizing power consumption with the next die shrink to a mixed 130/150 nm process. "Ezra" and "Ezra-T" were only new revisions of the "Samuel 2" core with some minor modifications to the bus protocol of "Ezra-T" to match compatibility with Intel's Pentium III "Tualatin" cores. VIA enjoyed the lowest power usage in the x86 CPU market for several years. Performance, however, fell behind due to the lack of improvements to the design.
Uniquely, the retail C3 CPU shipped inside a decorative tin.
Nehemiah cores
The "Nehemiah" was a major core revision. At the time, VIA's marketing efforts did not fully reflect the changes that had taken place. The company addressed numerous design shortcomings of the older cores, including the half-speed FPU. The number of pipeline stages was increased from 12 to 16, to allow for continued increases in clock speed. Additionally, it implemented the cmov instruction, making it a 686-class processor. The Linux kernel refers to this core as the C3-2. It also removes 3DNow! instructions in favour of implementing SSE. However, it was still based upon the aging Socket 370, running the single data rate front-side bus at just 133 MHz.Because the embedded system marketplace prefers low-power, low-cost CPU designs, VIA began targeting this segment more aggressively because the C3 fit those traits rather well. Centaur Technology concentrated on adding features attractive to the embedded marketplace. An example built into the first "Nehemiah" core were the twin hardware random number generators.
The "Nehemiah+" revision brought a few more advancements, including a high-performance AES encryption engine along with a notably small ball grid array chip package the size of a US 1 cent coin. At the time VIA also boosted the FSB to 200 MHz and introduced new chipsets such as the CN400 to support it. The new 200 MHz FSB chips are only available in BGA packages, as they are not compatible with existing Socket 370 motherboards.
When this architecture was marketed it was often referred to as the "VIA C5".
Design methodology
[Image:VIA C3 sub notebook.jpg|right|thumb|A sub-notebook utilising a VIA Nehemiah C3 processor]While slower than x86 CPUs being sold by AMD and Intel, both in absolute terms and on a clock-for-clock basis, VIA's chips were much smaller, cheaper to manufacture, and lower power. This made them highly attractive in the embedded marketplace.
This also enabled VIA to continue to scale the frequencies of their chips with each manufacturing process die shrink, while competitive products from Intel encountered severe thermal management issues, although the later Intel Core generation of chips were substantially cooler.
C3
- Because memory performance is the limiting factor in many benchmarks, VIA processors implement large primary caches, large TLBs, and aggressive prefetching, among other enhancements. While these features are not unique to VIA, memory access optimization is one area where they have not dropped features to save die space.
- Clock frequency is in general terms favored over increasing instructions per cycle. Complex features such as out-of-order instruction execution are deliberately not implemented, because they impact the ability to increase the clock rate, require a lot of extra die space and power, and have little impact on performance in several common application scenarios.
- The pipeline is arranged to provide one-clock execution of the heavily used register–memory and memory–register forms of x86 instructions. Several frequently used instructions require fewer pipeline clocks than on other x86 processors.
- Infrequently used x86 instructions are implemented in microcode and emulated. This saves die space and reduces power consumption. The impact upon the majority of real-world application scenarios is minimized.
- These design guidelines are derivative from the original RISC advocates, who stated a smaller set of instructions, better optimized, would deliver faster overall CPU performance. As it makes heavy use of memory operands, both as source and destination, the C3 design itself cannot qualify as RISC however.