Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Dec 15, 2019 11:39 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 198 posts ]  Go to page Previous 15 6 7 8 914 Next
Author Message
PostPosted: Tue Mar 01, 2016 8:10 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
https://habrahabr.ru/post/278281/

https://habrahabr.ru/company/intel/blog/243385/

https://habrahabr.ru/company/intel/blog/220203/

https://habrahabr.ru/company/intel/blog/220851/


Top
   
PostPosted: Tue Mar 08, 2016 6:10 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
The link to wiki http://wiki.kolibrios.org/wiki/Google_S ... CPUID_tool about this GSOC project

I'm one of GSOC mentors for this project.

Short introduction for students

Some problems of this project:
1) it is considered a low priority project by our team;
2) it was in almost unmaintained mode for 8-9 years and a lot of new processors were shipped duruing that time, which are incorrectly detected by application. The strange thing - new vendors appears, like those guys, who produce Vortex86;
3) vendor's documentation changed in the same period, sometimes radically, and code, written 10 years ago, don't work for some new processors, namely Intel;
4) here are several versions of application, some of them were dropped as buggy, others due to imcomplete implementation etc. Three maintance tasks student should do since the time of selection and until the intermediate check (I don't want to talk now about the test task, some first stages of work and logging of progress at our wiki or your site): 1) make a version, what have all the features of those different versions; 2) find or create a database of processors and add it to our wiki; 3) find or create a database of CPUID subcommands for main vendors from manuals, specifications, datasheets, news etc and add it to our wiki.
5) some useful code, written by Serge and yogev_ezra, exists in kernel of KolibriOS, which should be used somehow in CPUID.


Top
   
PostPosted: Tue Mar 08, 2016 6:45 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
History and versions of application:

I maintained this project in 2004-2007, but in 2007 the leader of KolibriOS team, nicknamed "diamond", made an optimization of application (he uses other version of compiler, than me) and I cannot compile his version... So I made a fork from previous version before optimization. It incorporated a lot of new features, but was unstable. I published it as beta and it wasn't accepted in SVN.

Here was a request to update application in 2013, so I added detection of new vendor, some fixes and some features from beta to SVN's version. This version is at SVN now http://websvn.kolibrios.org/listing.php ... Ftrunk%2F& .

But in general, this version incorrectly behaves on new PC (shipped from Intel since around 2006 and even worse changes come in 2009). The problem is that it misdetects modern processors as a very old ones and don't detect cache size.

I made an unpublished version in 2014, which was intended to correct misdetection of modern Intel's processors. In works, but I added new codename for my PC only.

So, we have a 3 versions:
1. SVN http://websvn.kolibrios.org/listing.php ... 27c3ba5f56 - some features from beta
2. unpublished, based on SVN. Contains detection of Extended model's for Intel processor and a tiny (exactly 1) database of codenames. I'll put it on the forum a bit later.
3. beta from 2007 - a lot of stuff, which was not included in the trunk yet...


Top
   
PostPosted: Tue Mar 08, 2016 9:30 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Beta from 2007 http://coolthemes.narod.ru/files/cpuid226pre.zip ( viewtopic.php?f=42&t=594&start=45 )


Wildwest wrote:

I made an unpublished version in 2014, which was intended to correct misdetection of modern Intel's processors. In works, but I added new codename for my PC only.


well, let's mark this version as 2.29. Attached version is for local compilation, for svn it must be corrected. It's based on svn revision from 27 October 2013.


Attachments:
cpuid229.zip [127.8 KiB]
Downloaded 120 times
Top
   
PostPosted: Thu Mar 10, 2016 11:04 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
About CPUID instruction http://sandpile.org/x86/cpuid.htm - maybe outdated.

Kind of CPU database http://forums.steampowered.com/forums/s ... p?t=448202

The etalon software is CPU-Z http://www.cpuid.com/softwares/cpu-z.html

Source code http://crystalmark.info/download/archive/CrystalCPUID/ for old versions of nice app http://crystalmark.info/software/Crysta ... dex-e.html

Others apps should be checked also http://sourceforge.net/projects/i-nex/ , http://rpmfind.net/linux/rpm2html/searc ... uery=cpuid and http://alternativeto.net/software/i-nex ... opensource


Top
   
PostPosted: Thu Mar 10, 2016 11:34 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Test task for students (choose one of them):

1. Current state - we have detection of multipliers for very old CPUs, so the detection on new CPUs will give meaningless results. Test task - disable detection of multipliers for CPUs, released since 2008, but don't disable it for old CPU.

2. Current state - we have a test of performance, running in the second window (go to it by clicking on "Press for more" button). Test task - you should make a visualization of performance of current CPU and several others CPU. For example - CPU from 2004 performed RSA encoding at speed 20 KB/sec ( http://coolthemes.narod.ru/files.html ) and the modern CPU should work faster. The type of visualisation should be proposed and discussed in this topic. The reason - people don't understand that this test is doing, so a clarification of phrase should be done also... Maybe we need some rating of PCs.

3. Current state - dream of Mario79 (one of the founders of KolibriOS). Test task - save results of detection in txt file. You can check out PCIDEV app and see how it was done there.

I'll add another test tasks, if here is would be more interested students.


Top
   
PostPosted: Fri Mar 11, 2016 12:13 am 
Offline
KSoC/GSoC Student

Joined: Fri Mar 04, 2016 6:06 pm
Posts: 30
Hi,
For the 2nd task, what we really want is to convert 20 KB/sec to "running at __ speed", if something is slower than 20 KB/sec than output a string according to that?

Is that right?


Top
   
PostPosted: Fri Mar 11, 2016 9:22 am 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Visualization means some graphical interpretation of results, e.g. chart, diagram, histogram or something like that. The phrase should be longer, than now, and include "RSA encoding speed". Well, 99,999% of people don't know what is RSA... So, put all of your creativity in making software being not only working correctly, but also being comprehensible.


Top
   
PostPosted: Sun Mar 13, 2016 7:30 am 
Offline
KSoC/GSoC Student

Joined: Fri Mar 04, 2016 6:06 pm
Posts: 30
Hi,
I was working on test-task1 and I have attached my changed file multipli.inc. I am still trying to copy my compiled program to disc where I am having some difficulty setting up loop device. I will attach the final version for multipli.inc, once I am done testing.

For multiplic.inc, I understand the problem is when we are comparing "cmp byte[f],6". All the model numbers which has family number = 0x06 gives similar results which is wrong. Therefore, I added comparison for model number (Following this chart here: https://software.intel.com/en-us/articl ... ly-numbers) and added label: newCPU.

Logic: Every time we have family number = 0x06 and model number = new CPU released since 2008, it goes to label newCPU and returns from there without executing anything.

Can you check the code and let me know if that's right not?

I appreciate your help.
Thank you.


Attachments:
multipli.inc [4.81 KiB]
Downloaded 100 times
Top
   
PostPosted: Sun Mar 13, 2016 12:05 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Hi, i will check it on my real CPU. By the way, for testing purposes (checking how branching is going on) you can disable detection of some parameters (family, model and the others), hardcode these parameters in application and check how application works on "desired CPU".


Top
   
PostPosted: Sun Mar 13, 2016 10:10 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
I'm in process of testing various versions, so here are some screenshots/photos

CPU-Z


Attachments:
cpuz.png
cpuz.png [ 37.16 KiB | Viewed 3425 times ]
Top
   
PostPosted: Sun Mar 13, 2016 10:18 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
version 2.28 latest SVN revision

As you can see it features false codename, false multiplier and no caches


Attachments:
228.png
228.png [ 560.34 KiB | Viewed 3423 times ]
Top
   
PostPosted: Sun Mar 13, 2016 10:37 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
version 2.29 from this topic

As you can see, it features correct codename, which is a result of using extended model for detection - string 824 in cpuid.asm. If it uses standart model as in case of version 2.28, it will go to string 742.

The stange thing is that performance test shows 84 and at previous version it was 74...


Attachments:
229.png
229.png [ 555.93 KiB | Viewed 3423 times ]
Top
   
PostPosted: Sun Mar 13, 2016 11:04 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Version 2.29 with replaced mupltipli.inc from your post. It don't work and I think that you can fix your code quickly. The performance test shows 76...


Attachments:
229task.png
229task.png [ 567.64 KiB | Viewed 3419 times ]
Top
   
PostPosted: Mon Mar 14, 2016 10:54 pm 
Offline
KSoC/GSoC Student

Joined: Fri Mar 04, 2016 6:06 pm
Posts: 30
Okay thank you for checking it. I will make changes to mulipli.inc and will submit the final version.

Also, my university started from today, but I will send my proposal as soon as possible. Would you be able to check it and let me know if i need to make any changes?


Thank you.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 198 posts ]  Go to page Previous 15 6 7 8 914 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited