LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > 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


Reply
  Search this Thread
Old 09-24-2009, 06:23 AM   #1
paszczak000
LQ Newbie
 
Registered: Sep 2009
Posts: 2

Rep: Reputation: 1
address sizes in cpuinfo


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?
 
Old 09-24-2009, 07:08 AM   #2
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
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.
 
1 members found this post helpful.
Old 09-24-2009, 07:33 AM   #3
paszczak000
LQ Newbie
 
Registered: Sep 2009
Posts: 2

Original Poster
Rep: Reputation: 1
johnsfine, thanks! I understand everything!
 
  


Reply

Tags
cpuinfo, flags



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
/proc/cpuinfo flag lm Henry_1 Linux - General 8 05-23-2019 06:15 PM
define different physical sizes on Multiple Monitors of different sizes MasterC Linux - Desktop 2 03-18-2008 04:24 PM
Proc/CpuInfo sipsipi Linux - Software 4 03-03-2006 11:42 AM
/proc/cpuinfo oops! feta Linux - Hardware 2 11-08-2004 10:16 PM
/proc/cpuinfo embsupafly Linux - General 3 12-29-2003 06:54 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 10:19 PM.

Main Menu
Advertisement
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
Twitter: @linuxquestions
Open Source Consulting | Domain Registration