วิธีรับข้อมูลเกี่ยวกับคำขนาดที่อยู่ขนาดบัสที่อยู่ขนาดบัสข้อมูลและขนาดบัสคำสั่ง


12

ฉันสงสัยว่าจะรับข้อมูลเกี่ยวกับสิ่งต่อไปนี้จากบรรทัดคำสั่งใน Linux:

  • word (เช่นขนาดที่ CPU สามารถประมวลผลได้ในคราวเดียวซึ่งอาจไม่เป็นความลึกบิตของระบบปฏิบัติการ)
  • ขนาดที่อยู่ (เช่นจำนวนบิตในที่อยู่จริง)
  • ขนาดบัสที่อยู่ (ไม่แน่ใจว่าเป็นขนาดเดียวกับที่อยู่ตามคำจำกัดความ แต่ฉันคิดว่ามันแตกต่างกันและอาจไม่เห็นด้วย)
  • ขนาดบัสข้อมูล
  • ขนาดการเรียนการสอน?

หลายคนไม่ได้กำหนดไว้อย่างดี (มีมากกว่าหนึ่งบัสและพวกเขาไม่ได้มีขนาดเท่ากัน) แม้จะมีสิ่งต่าง ๆ เช่น“ ขนาดคำของ CPU” ไม่ได้กำหนดไว้อย่างชัดเจน CPU บางตัว (เช่น CPU ของพีซีทั้งหมด) มีขนาดคำที่หลากหลาย
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


9

ทำcat /proc/cpuinfoและดูผลลัพธ์:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Genuine Intel(R) CPU           U4100  @ 1.30GHz
stepping        : 10
cpu MHz         : 1200.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm
bogomips        : 2593.48
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

ข้อมูลจำนวนมากที่คุณต้องการสามารถสรุปได้จากสิ่งนี้


ขอบคุณ! (1) เกี่ยวกับขนาดที่อยู่จริงเป็นไปได้หรือไม่ที่มันอาจไม่ใช่ขนาดบัสที่อยู่? (2) มันถูกต้องหรือไม่ที่เอาท์พุทไม่ได้ให้คำ CPU?
ทิม

@Tim ผลลัพธ์ให้ขนาด CPU word ในทางที่เป็นความลับ: i386 CPU ทั้งหมดสามารถทำได้ 8, 16 และ 32 และlmค่าสถานะบ่งชี้ CPU amd64 เช่น CPU สามารถทำ 64 ขนาดคำสำหรับเลขคณิตเลขจำนวนเต็มเหมือนกับ สำหรับที่อยู่ในตระกูล CPU นี้ (เว้นแต่คุณจะนับการลงทะเบียนเซกเมนต์ แต่นั่นเป็นเรื่องอื่นทั้งหมด)
Gilles 'หยุดความชั่วร้าย'

@Gilles: ขอบคุณ! (1) lm หมายถึงอะไรอย่างแท้จริง? (2) คุณหมายถึงอะไรโดย "ถ้าคุณไม่นับการลงทะเบียนกลุ่ม"
ทิม

@Tim ชื่อแฟล็ก CPU มีแนวโน้มที่จะคลุมเครือและบางครั้งไม่ถูกต้องเนื่องจากชื่อแฟล็กถูกตัดสินก่อนฟังก์ชันที่แน่นอน ลองดูรายการฟีเจอร์ของ Linux x86 CPU ; lmคือ "โหมดยาว" การลงทะเบียนส่วนจะดีที่สุดสำหรับนักประวัติศาสตร์พีซี (ไม่มีระบบปฏิบัติการที่ทันสมัยใช้); แต่PAEซึ่งเพิ่มขนาดที่อยู่เป็น 36 บิตบนแพลตฟอร์ม 686 ได้รับการสนับสนุนโดยพีซีระบบปฏิบัติการรุ่นใหม่ที่สำคัญที่สุด
Gilles 'หยุดความชั่วร้าย'

address sizesไม่ได้อยู่บน ARM อย่างน่าเสียดาย
Ciro Santilli 冠状病毒审查六四事件法轮功

17
  1. getconf WORD_BIT
  2. getconf LONG_BIT (ขนาดของจำนวนเต็มแบบยาว)
  3. arch

ตัวอย่างเช่นในระบบ Fedora 14 x64:

% uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

% getconf WORD_BIT
32

% getconf LONG_BIT
64

% arch
x86_64
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.