Windows users vulnerable to Meltdown/Spectre until at least January 9, 2018

Security-conscious Windows users attempting to protect themselves against Meltdown and Spectre attacks in the wild are being met with a deceptive “Your device is up to date” message — but they’re not yet protected.

In the days following the disclosure of CPU cache attacks Meltdown and Spectre, hardware, kernel, and software developers have rushed to provide security updates for their respective devices and platforms in an (ongoing) effort to secure their users against the wide-ranging (and not yet fully understood/internalized) side-channel vulnerabilities disclosed a few days ago on the 3rd of January, 2018.

For those that aren’t up to date on these attacks – stop now, and read this excellent LWN article on Meltdown and Spectre; if you’re so inclined, you can even have a look at the original Google Project Zero article where it all started.1

Continue reading

  1. While the latter is more technical in nature, programming-inclined readers in the audience may find it to actually be easier to grok with its more definite and concrete approach, vs the somewhat abstract nature of pretty much all the other coverage out there. 

Will AMD’s Ryzen finally bring SHA extensions to Intel’s CPUs?

If you have any skin invested in the high-performance computing game, you’ve almost certainly heard of the likes of MMX and SSE, the original “extensions” to the x86 assembly instruction set that provided task-specific performance-optimized instructions that let developers take advantage of specific hardware extensions to quickly perform tasks that previously required extra steps in software to compute. If you haven’t, here’s a quick briefer.

The “basic” instructions supported by PCs are known as the “x86 assembly language” and is the lowest level of code available for writing software that runs on a “regular PC,” originally developed by Intel and adopted by other players in the CPU game (including AMD and the now-defunct Via CPUs). All PCs from the original Intel 8086 way back in 1978 to modern, multi-core behemoths support this language, and code written in or compiled for x86 can (in theory) run on any machine from 1978 onwards.

Continue reading

Intel C++ Compiler 12??

Microsoft Visual Studio 2010 has been officially released for 3 months now (to the day), and to be pedantic, it has also been available in beta form since October 2008. Its bugs not withstanding, Visual Studio 2010 been a pretty successful hit. Besides the huge improvements to the .NET language and platform, big on the list of features for C++ developers is basic support for C++0x (the next standard version of C++, with lots of new & revolutionary features) and plenty of IDE enhancements. Intel’s C++ Compiler is the industry-standard with regards to performance and optimizations, still doesn’t support Visual Studio 2010 or C++0x.

As numerous postings on the Intel forums indicate, a plethora of users are in pressing need of an update to the Intel C++ Compiler. Questions on the matter are brushed-off, with short and rather-useless replies such as:

“This question has been discussed several times recently. The first such integration would come in a beta version of icc 12.0, which hasn’t yet been announced.”

Continue reading

The ARM, the PPC, the x86, and the iPad…

Hot on the heels of the iPad release comes news that Apple has just (very likely) purchased another processor design firm (via EDN).  Intrinsity, the chip design company in question, is a designer of RISC-based CPUs and is rumored to have had something to do with the design of Apple’s new A4 processor. The A4 is Apple’s key ingredient for a smooth user experience in the much-hyped iPad.

Those keeping track of Apple’s purchases will remember that, almost exactly 2 years ago to the day, Apple bought California-based CPU designer PA Semiconductors. However, PA Semi specializes in PowerPC-based designs – a platform that Apple abandoned almost 5 years ago now. But Apple’s most recent acquisition is directly applicable to its current needs in the hardware market, and in particular, its forays into the ARM market. In the official iPad video, Apple engineers and executives discuss their need for a custom CPU in order to let them dictate where the ooomph and power will go, and to what purposes the transistors will be biased.

With all these buyouts and different chipsets in question, it’s easy to get confused. So what is the difference between the ARM, the PPC, and the x86, and where does it matter?

Continue reading

Overclocking the Conroe

So you Want to Overclock that Conroe?

Intel [[INTC]] finally has its new line of Conroe processors out, and no matter who or where you ask, they’ve done quite a good job with them. On the other side of the court AMD is readying its own AM2 line for release, with the FX-64 promising quite a punch.. While we haven’t been lucky enough to receive prototypes of either of these two product lines, our product analysts have been hard at work studying the reviews conducted by other big names in the hardware review industry. As such, this isn’t a review, rather it’s more of an analysis of these next generation CPUs, the technology behind them, and what it means for overclockers and bleeding-edge enthusiasts today.

Continue reading

Hyper-Threading: The Most Useful CPU Innovation

HT stands for Hyper-Threading, and does not stand for hyper transport (something entirely different by AMD)

Hyper-Threading (HT) is a technology developed by Intel that makes a single processor show up as two different processors to the Operating System. In reality there is only one core, but the unused processor cycles represent a ‘logical processor.’ In an HT CPU, a single process (not HT optimized) can at most use up 99% of the resources, thus always leaving a 1% gap for all other applications. Its not as small as it sounds, since, the OS sees TWO CPUs, it thinks that you have a 100% used CPU and a 0% used CPU, no matter what the number really is (Windows will show 50%). In this way, other applications that only need a bit of CPU are not too adversely affected.

If you are running an HT optimized thread, like Adobe Photoshop CS2, there are certain commands that need to be done as soon as possible on the same priority.

For example, I tell you to find out if 1+1 is equal to 2+1. You need to evaluate 1+1 and 2+1, one after the other normally, then execute a compare. A HT optimized app will tell one ‘CPU’ to do 1+1, and the other to do ‘2+1’, then compare.

The scenario above is useless, because each of those commands only takes picoseconds to evaluate. But if they were more and more complex expressions, then functions, then algorithms, you can see the benefit.

Most apps are not HT optimized. Therefore, you can think of HT optimized apps as working in the same way as two non-HT optimized CPU-intensive apps running simultaneously.