Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Intel Core for a C programmer

Tags:

c

cpu

hardware

First Question From a C programmer's point of view, what are the differences between Intel Core processors and their AMD equivalents ?

Related Second Question I think that there are some instructions that differentiate between the Intel Core from the other processors and vis-versa. How important are those instructions ? Are they being taken into account by compilers ? Would performances be better if there was some special Intel compiler only for the Core family ?

like image 610
tarek Avatar asked May 23 '09 11:05

tarek


1 Answers

  1. If you are programming user-level code and most driver code, there aren't many differences (one exception is the availability of certain instruction sets - which may differ for different processors, see below). If you are writing kernel code dealing with CPU-specific features (profiling using internal counters, memory management, power management, virtualization), the architectures differ in implementation, sometimes greatly.

  2. Most compilers do not automatically take advantage of SSE instructions. However, most do provide SSE-based intrinsics, which will allow you to write SSE-aware code. The subset of all SSE levels available differs for each processor architecture and maker.

See this page for instruction listings. Follow the links to see which architectures the specific instructions are supported on. Also, read the Intel and AMD architecture development manuals for exact details about support and implementation of any and all instruction sets.

like image 116
ASk Avatar answered Sep 20 '22 18:09

ASk