LinuxQuestions.org
Go Job Hunting at the LQ Job Marketplace
Go Back   LinuxQuestions.org > Forums > Linux > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Tags used in this thread
Popular LQ Tags , , ,

Reply
 
Thread Tools
Old 09-24-2009, 07:23 AM   #1
paszczak000
LQ Newbie
 
Registered: Sep 2009
Posts: 2
Thanked: 0
address sizes in cpuinfo


[Log in to get rid of this advertisement]
Hi
I look into /proc/cpunifo and get some information.

Code:
processor       : 15
vendor_id       : GenuineIntel
cpu family      : 15
model           : 6
model name      :                   Intel(R) Xeon(TM) CPU 3.33GHz
stepping        : 8
cpu MHz         : 3336.307
cache size      : 16384 KB
physical id     : 13
siblings        : 4
core id         : 27
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm pni monitor ds_cpl est tm2 cid cx16 xtpr lahf_lm
bogomips        : 6671.26
clflush size    : 64
cache_alignment : 128
address sizes   : 40 bits physical, 48 bits virtual
power management:
This CPU has lm flag, which means that this is 64bit CPU. But what mean address sizes? Why it is 40 bits physical, 48 bits virtual?
windows_xp_2003 paszczak000 is offline  
Tag This Post , , ,
Reply With Quote
Old 09-24-2009, 08:08 AM   #2
johnsfine
Senior Member
 
Registered: Dec 2007
Posts: 1,683
Thanked: 182
Quote:
Originally Posted by paszczak000 View Post
This CPU has lm flag, which means that this is 64bit CPU. But what mean address sizes? Why it is 40 bits physical, 48 bits virtual?
Every x86 and x86_64 CPU has an address translation system that translates virtual addresses into physical addresses.

The virtual addresses are the ones programs actually use (they are the numerical values of pointer variables in the program).

The physical addresses are the ones the CPU sends to the memory controller to generate the signals needed to select specific memory locations.

Each process has its own translation tables, so a pointer in one process with identical value to a pointer in another process doesn't normally point to the same physical memory.

The older x86 architecture has a translation design that translates a 32 bit virtual address to a 32 bit physical address.

Newer x86 architecture also supports a translation (called PAE) that translates 32 bit virtual to 36 bit physical.

The x86_64 architecture has 48 bit virtual addresses. Pointers take 64 bits, but the top 17 bits of any 64 bit pointer are required to be identical (all 17 zeros or all 17 ones) so 16 of those 17 bits are redundant.

The x86_64 address translation takes in 48 bit virtual addresses on all models. But the number of physical addresses generated varies by model of CPU chip.

The architecture has an upper limit on the number of physical address bits. I think that is 52, but I'm not sure I remember correctly. But since no one will be using that much physical ram before current CPU models are obsolete, CPU chips don't actually support that much. They support various numbers of physical address bits from 36 up. 40, which you have, is pretty typical.
linux johnsfine is offline     Reply With Quote
Thanked by:
Old 09-24-2009, 08:33 AM   #3
paszczak000
LQ Newbie
 
Registered: Sep 2009
Posts: 2
Thanked: 0

Original Poster
johnsfine, thanks! I understand everything!
windows_xp_2003 paszczak000 is offline     Reply With Quote

Reply

Bookmarks


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
define different physical sizes on Multiple Monitors of different sizes MasterC Linux - Desktop 2 03-18-2008 05:24 PM
/proc/cpuinfo flag lm Henry_1 Linux - General 7 11-16-2007 12:37 AM
Proc/CpuInfo sipsipi Linux - Software 4 03-03-2006 12:42 PM
/proc/cpuinfo oops! feta Linux - Hardware 2 11-08-2004 11:16 PM
/proc/cpuinfo embsupafly Linux - General 3 12-29-2003 07:54 AM


All times are GMT -5. The time now is 12:22 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
RSS2  LQ Podcast
RSS2  LQ Radio
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: @linuxquestions
Open Source Consulting | Domain Registration