PDA

View Full Version : فرکانس پردازنده بر روی سیستم عامل CE



hamid1tarkesh
یک شنبه 22 شهریور 1388, 13:23 عصر
با سلام

من با Windows CE 6.0 R2 کار می کنم. و OS Image ایجاد شده را توسط شبکه بر روی CEPC مورد نظر انقال میدم .
این CEPC دارای یک پردازنده Intel p4 1.8GHZ هست.

ویندوز ce بدون هیچ مشکلی بالا می یاد. حالا به کمک MFC دو تا برنامه نوشتم که کد توابعش دقیقا یکی هست. یکی برای ویندوز XP و یکی برای CE که فرکانس پردازنده را توسط دستور QueryPerformanceFrequency بر می گردونه.

اما فرکانسی که بر می گرده بر روی این سیستم عامل ها به صورت زیر هست

for windows xp : 3,579,545
for windows ce : 1,193,180

تقریبا ویندوز ce با 1/3 سرعت پردازنده کار می کنه . دلیل این اتفاق چیه ؟

از کمکتون ممنونم

reza6384
یک شنبه 22 شهریور 1388, 17:42 عصر
سلام دوست عزیز.

سوالتون خیلی تخصصی و از لحاظ سطحی سطح پایین سیستم هست.

اما به نظر من دلیل این اتفاق اینه که فرکانس بالاتر در Win XP به خاطر Kernel مربوط به Windows XP هست ، شبیه ساز بار زیادی از سیستم میگیره.

البته اگر سوالتون رو درست متوجه شده باشم.

لطفا یه توضیح هم راجع به QueryPerformanceFrequency بدین. و یه کم هم راجع به CE PC بیشتر توضیح بدین.

hamid1tarkesh
شنبه 28 شهریور 1388, 09:27 صبح
سلام
من جواب این سوال در فروم ماکروسافت گرفتم. و برای استفاده دیگر دوستان اینجا قرارش می دم. موفق باشید

The standard X86 architecture used a timer chip (8253 or 8254) which was
clocked by a 1,193,180 MHz crystal.
The Timer 0 was loaded with 0x1000 so it triggers IRQ0 every ~54 ms.
Nowadays the chipset emulates the 8254
timer. Probably your chipset (which XP recognize ) has an enhanced 8254
timer with which can be configured to use a
faster clock (3,579,545 ~= 3*1,193,180); I imagine that in XP Timer 0 will
be programmed with 0x3000 so it maintains
the classical 54 ms IRQ0 period. Windows CE used the standard x86 approch
so it uses the standard clock