Intel ISA Extensions

How to multiply __m128 by a scaler?

I am just starting to work with the SSE intrinsic functions. Is there a better way to mupltiply a vector V by a scalar A than what I am doing below?

I would like to do the following u = u + (v*1.5 - vold*0.5)*delta_t;

where u, v, and vold are a vector with x, y, z, coordinates represented in a __m128.

Is there a better way to do this than to create the a, b and c values as I do in the below code? I am running on an Intel i7 computer so any options would be appreciated.

#include "stdafx.h"

CPU Serial Enable Support on Intel Processor

As per the intel documents the CPU Intel III onwards does contain the CPU Serial number.

I have tried most of the things and on multiple PC's could not able to read the serial

with EAX =3 and CPUID instruction on all PCs the CPUID is disabled ie EAX =1 and CPUID

and the EDX 18 the bit is always "0".

Does any body have any Idea how to enable the cpu serial ?

About the override of core frequency

In the datasheet of Intel CoreTM i7 Processor Extreme Edition and Intel CoreTM i7 Processor(2.4 Processor Clocking (BCLK_DP, BCLK_DN)), it says that we can override the processor core frequency setting using software. This permits operation at lower core frequencies than the factory set maximum core frequency. But I do not know how to override. Could you please tell me? vy changing the multiplier? Thanks

Why only CS, IP and EFLAGS are saved while interrupt??

I am new to assembly programming. I was reading about 386 Interrupt. I came to know that only CS, IP and EFLAGS are saved as a part of interrupt, they pop back when we have iret. But I am wondering, why they didnt save all the visible registers, segments register etc.,???

Please excuse me, if I understood something wrong.

Thanks for your effort in helping me...

E8400 with Gigabyte G41M-ES2L Motherboard

I have an E8400 with Gigabyte G41M-ES2L Motherboard I have tried to load window xp (preferred OS)on it and I get a message that there is not enough memory and windows has stopped installation. I then tried to load Windows Vista Home Basic and it worked but then after only 2 - 5 days it would crash and come back up with Windows has encountered a serious error. Then after a day or 2 it would crash and not even come up in Safe Mode. I would then reload Vista and it would repeat the same process. What is wrong? I have downloaded all the Windows Updates.

[smp] Initialization


I am working on implement the multiprocessor capability into MaRTE RTOS. I have read Intel Software Developer's Manual and other guides.

Currently I know that I have to send an INIT IPI and two STARTUP IPI that will be handled at 0x000VV000 where VV is a vector from the IPI message (from B.4.2 Using STARTUP IPI, Multiprocessor Specification v1.4) to wake up secondary processors (APs).

I would like to know how to allocate code in that address.

Problem with SSE2 code


I have a problem with a SSE2 code, that I can`t resolve. The piece of code is this:

asm("movupd xmm1, [xp]");xp+=2;
asm("movupd xmm0 , [yp]");yp+=2;

asm("addpd xmm1, xmm0\n");

asm("movupd [yp], xmm1\n");

"yp" at this moment becomes null so I think this is "addpd"s fault because if "addpd" instruction is commented, yp keeps the reference.
Somebody knows about this? I`ve been with this for several hours and I can`t see it.

Thanks in advance!!! :)

AVX-ready 3D application just released

As part of the normal update ofa web-based 3D application,we have includedan AVX path intoday's official release, since after extensive validation it proved stable (well within SDE at least). The application is based on a pure software renderer and fall back to SSE if no AVX hardware/emulator is found.

You can try it here:

Subscribe to Intel ISA Extensions