ฉันต้องการระบุซีพียูที่ใช้สมุดบันทึกนี้ในแง่ของชื่อรหัสเช่น "Ivy Bridge" และ "Haswell" โลโก้ Apple เล็กน้อยที่มุมบนซ้ายแสดงข้อมูลบางอย่าง แต่ไม่ใช่
ฉันต้องการระบุซีพียูที่ใช้สมุดบันทึกนี้ในแง่ของชื่อรหัสเช่น "Ivy Bridge" และ "Haswell" โลโก้ Apple เล็กน้อยที่มุมบนซ้ายแสดงข้อมูลบางอย่าง แต่ไม่ใช่
คำตอบ:
ก่อนอื่นคุณจะไม่ได้รับชื่อ microarchitecture ของโปรเซสเซอร์ (Broadwell, Sandy Lake, Ivy Bridge, ฯลฯ ) เพราะนี่ไม่ใช่รูปแบบการสร้างแบรนด์ที่โดดเด่นสำหรับโปรเซสเซอร์ Intel ตรงกันข้ามกับ Apple ฝ่ายการตลาดเลือกที่จะทำการตลาดชื่อรหัสของระบบปฏิบัติการ (Mavericks, Yosemite, El Capitan) อย่างแข็งขัน มันเป็นแบบแผนการตลาดไม่ใช่แบบทางเทคนิค
สำหรับรายการโปรเซสเซอร์ Intel ทั้งหมดและชื่อรหัสสถาปัตยกรรมและรายละเอียดรายการ List ของ Intel Microprocessorsมีหน้าดี
ดังนั้นเพื่อตอบคำถามนี้ฉันจะให้สามวิธีในการค้นหา CPU ที่คุณมีสองวิธีแรกที่ควรจะดีสำหรับผู้ใช้ส่วนใหญ่และวิธีที่สามที่คุณสามารถกำหนดหมายเลข microarchitectureเพื่อให้คุณดู ขึ้นบนเว็บไซต์สนับสนุนของ Intel คุณสามารถ "ข้าม" ไปยังส่วนที่เกี่ยวข้องกับคุณ
คลิกที่สัญลักษณ์ Apple ที่ด้านบนของหน้าจอเลือกเกี่ยวกับ Mac นี้
คุณจะได้รับหน้าจอที่ให้ภาพรวมของระบบของคุณ โปรเซสเซอร์ของคุณจะอยู่ที่นี่
เมื่อคลิกที่ปุ่มทำเครื่องหมายรายงานระบบ ... (ลูกศรสีเขียว) คุณจะได้รับโปรไฟล์ที่สมบูรณ์ของระบบของคุณ ในหน้าแรกมันจะให้ข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับเครื่องของคุณรวมถึงข้อมูลโปรเซสเซอร์
ฉันเป็นแฟนตัวยงของเทอร์มินัลโดยทั่วไป ทุกอย่างที่คุณเห็นใน GUI ใน OS X สามารถเข้าถึงได้รวดเร็วและแม่นยำยิ่งขึ้นผ่านบรรทัดคำสั่ง IMHO
ในการรับโมเดล CPU ที่แน่นอนรวมถึงหมายเลข microarchitecture ใน Terminal ให้ดำเนินการคำสั่งต่อไปนี้:
sysctl -n machdep.cpu.brand_string
คุณจะได้รับโปรเซสเซอร์ที่แน่นอนที่คุณใช้ ตัวอย่างเช่นบน iMac ของฉันคำสั่งข้างต้นตอบสนองด้วย:
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
จากนั้นคุณสามารถค้นหาi7-3770และดึงชื่อรหัสและสเปคได้
สำหรับการอ้างอิงคุณสามารถใช้คำสั่ง Terminal:
system_profiler SPHardwareDataType
และรับผลลัพธ์ที่ดูเหมือนหน้าจอที่ฉันโพสต์ในส่วนที่สองSystem Profiler :
Hardware Overview:
Model Name: iMac
Model Identifier: iMac13,2
Processor Name: Intel Core i7
Processor Speed: 3.4 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 32 GB
Boot ROM Version: IM131.010A.B09
SMC Version (system): 2.11f14
Serial Number (system): XXXXXXXXXXXXXXXXXXX
Hardware UUID: XXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
(เครดิตถึง dante12 ด้านล่าง)
ดังนั้นถ้าคุณจำเป็นต้องใช้ CPU ของคุณหรือมากกว่าปกติของคุณรุ่น Identifierคุณสามารถใช้คำสั่งเดียวกันควบคู่กับgrep
system_profiler SPHardwareDataType | grep Identifier
มันตอบกลับด้วย
Model Identifier: iMac13,2
ark.intel.com
สามารถบอกได้ว่าหลังจากค้นหาi7-3770
)
เปิด Terminal และพิมพ์หรือคัดลอกและวางคำสั่งต่อไปนี้
system_profiler SPHardwareDataType | grep Processor
หรือ
system_profiler SPHardwareDataType
หรือ
sysctl -n machdep.cpu.brand_string
sysctl -a | grep cpu
นอกจากนี้ฉันได้พบสคริปต์ที่ดีในGithub (ด้วย @ rbanffy ):
open http://www.google.com/?q=$(sysctl -n machdep.cpu.brand_string
| awk '{FS=" " ; print $2 "+" $3 "+" $4}')+site:ark.intel.com
$ sysctl -a | grep \.features\: | fmt -w 48
คำสั่งช่วยฉันสำหรับการส่งออกธง CPU
ซีพียูมีสตริงหมายเลขรุ่นของตัวเองสร้างขึ้นใน. ซอฟแวร์สามารถทำงานการเรียนการสอนที่มีพารามิเตอร์ที่เหมาะสมในการคัดลอกสตริงเข้าไปลงทะเบียน สตริงจะคล้าย " " คุณสามารถรับได้จากบรรทัดคำสั่งด้วยCPUID
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
sysctl -n machdep.cpu.brand_string
จริง ๆ แล้วฉันไม่รู้จัก OS X ฉันกำลังตอบคำถามนี้ในฐานะคนที่มักจะผิดหวังจากตัวเลขมาตรฐานในคำตอบ SO ที่ไม่ได้กล่าวถึงฮาร์ดแวร์ บน Linux มี distros บางรุ่นlscpu
และ / หรือx86info
แต่ไม่มีการถอดรหัสหมายเลขรุ่นลงในชื่อรหัสของ Intel ตัวเลขเป็นไปตามรูปแบบดังนั้นจึงค่อนข้างง่ายในการถอดรหัส (ดูด้านล่าง)
ไม่มีคำตอบที่มีอยู่ได้กล่าวถึงวิธีการ GUI ใด ๆ ที่ให้หมายเลขรุ่น วิธีการ GUI ทั้งหมดแสดงให้คุณเห็นว่า "Core i7" ซึ่งไม่มีที่ไหนใกล้เพียงพอ กรุณาอย่าบอกคนที่คุณมี "ซึ่งเป็น Core i7 ที่" เพราะเวลาที่เพิ่งเสียของทุกคน
"i7" อาจเป็นอะไรก็ได้ตั้งแต่ Nehalem ถึง Skylake มีความแตกต่างอย่างมากระหว่าง Nehalem และ Sandybridge และความแตกต่างที่สำคัญจาก SnB ถึง Haswell to Skylake
หากมีคนถามคุณว่า microarchitecture ที่คุณใช้เป็นเกณฑ์มาตรฐานของคุณสตริงของรุ่นนั้นคือคำตอบที่ยอดเยี่ยมที่มีข้อมูลมากกว่าชื่อ microarchitecture ดังนั้นเพียงคัดลอกและวางมัน (เช่น "i7-3770 CPU @ 3.40GHz")
คนส่วนใหญ่ที่ถามคุณว่าจะรู้วิธีถอดรหัสหมายเลขรุ่นดังนั้นอย่ารู้สึกว่าคุณต้องสรุปหรือค้นหามัน ฉันค่อนข้างจะมีคนคัดลอก / วางหมายเลขรุ่นที่แน่นอนเนื่องจากฉันสามารถ google เพื่อค้นหารายละเอียดเช่นขนาดแคช ( http://ark.intel.com/มีหน้าสำหรับแต่ละรุ่นและที่มักจะปรากฏในผลการค้นหาของ Google อย่างไรก็ตามผู้ที่ไม่ได้ใช้ชื่อรหัส)
มีรูปแบบ "Pentium" และ "Celeron" ของแต่ละไมโครอาร์คิเทคเจอร์ แต่มีการปิดการใช้งาน AVX เพื่อให้ผู้คนใช้มันสำหรับเครื่องที่มีงบประมาณ จำกัด เท่านั้น
ซีพียู "i7 Extreme" เป็นข้อยกเว้นสำหรับสิ่งนี้ เช่น i7-5960X ยังคงเป็น Haswell แต่เป็น 8 core (16 hyperthreads) พร้อมหน่วยความจำแบบ quad-channel IDK ถ้า Apple ขายเครื่องใด ๆ ที่มี CPU เช่นนั้น
Wikipedia มีตารางหมายเลขรุ่นที่ยอดเยี่ยมสำหรับแต่ละไมโคร เช่นคุณสามารถ google x5690 wikipediaได้อย่างรวดเร็วพบว่า Xeon X5690 เป็นโปรเซสเซอร์สถาปัตยกรรม Westmere
ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับความแตกต่างระหว่างท่อของสถาปัตยกรรมย่อต่างๆดูบทความเช่นนี้Ars Technica หนึ่งที่เกี่ยวกับ Haswell แม้แต่บทความ Wikipedia ก็ไม่เลว
สำหรับจุดซีพียูสถาปัตยกรรมทางเทคนิคเพิ่มเติมในมุมมองเห็นเดวิดมะยมที่ยอดเยี่ยมของแซนดีบริดจ์และHaswell writeups
microarchitecture PDF ของ Agner Fogนั้นยอดเยี่ยมถ้าคุณกำลังวิเคราะห์ / ปรับภาษาแอสเซมบลี (หรือคอมไพเลอร์เอาท์พุท) เช่นพยายามทำให้รู้สึกถึงเคาน์เตอร์ที่สมบูรณ์แบบ
คู่มือการเพิ่มประสิทธิภาพของ Intel และ AMD ยังมีรายละเอียดสถาปัตยกรรมขนาดเล็ก แต่ไม่ได้อธิบายคำแนะนำการเพิ่มประสิทธิภาพ asm ของพวกเขาเสมอไปพร้อมกับการวิเคราะห์ว่า microar Architecture ทำงานอย่างไร นี่คือเหตุผลที่ฉันชอบคู่มือของ Agner Fog
ดูStackoverflow x86 tag wikiซึ่งฉันได้ขยาย / ปรับปรุงจำนวนมากในปีที่ผ่านมา
sysctl
แต่ฉันไม่มี Mac ให้ลอง
gcc หรือ clang -march=native
สามารถพิมพ์ชื่อรหัสให้คุณได้เนื่องจากชื่อของตัวเลือกการปรับแต่งนั้นตรงกับชื่อรหัส uarch ของ Intel (เช่น-march=sandybridge
) สำหรับ AMD: -march=bdver2
= Piledriver = Bulldozer รุ่น 2
clang-3.5 -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'target-cpu \w*'
พิมพ์บนระบบ Linux Core2 ของฉัน: target-cpu core2
. ฉันคิดว่ามันจะทำสิ่งที่คล้ายกันใน OS X
gcc -v -xc /dev/null -O3 -march=native -o- -E 2>&1 | grep -o 'arch=\w*'
พิมพ์บนระบบ Linux Core2 ของฉัน:
arch=native
arch=core2 <----- This one
arch=native
คำสั่งนี้รวบรวม/dev/null
เป็น C ( -xc
) gcc
/ clang
-v prints its internal commands as it runs them, with full command line args. Even with
-E (preprocessor-only), the
-xc option leads gcc to pass the full set of
-march = อะไรก็ได้ -mmmx -msse2 ... `ตัวเลือก
grep -o
พิมพ์เฉพาะส่วนที่ตรงกันของบรรทัดที่ตรงกัน \w*
ตรงกับ 0 หรือมากกว่าตัวอักษรคำ
คุณต้องการ clang หรือ gcc รุ่นใหม่ที่เพียงพอเพื่อรับรู้ไมโครสถาปัตยกรรมของ CPU ของคุณและจับคู่มันกับชื่อรหัส gcc รุ่นเก่าจะพิมพ์อะไรบางอย่างเหมือนกัน-march=core2
สำหรับ Haswell และ-mtune=intel
หรืออะไรก็ตาม
อีกวิธีที่คล้ายกันคือการกรองเอาต์พุต asm จาก gcc's -fverbose-asm
ซึ่งรวมถึงตัวเลือกการเพิ่มประสิทธิภาพเป็นความคิดเห็น ฉันไม่รู้จักเสียงดังกราวที่เทียบเท่ากับสิ่งนี้
gcc -xc /dev/null -O3 -fverbose-asm -march=native -o- -S | grep -o 'arch=\w*'
arch=core2
การทำงานบนระบบ Haswell นี้: ดูตัวอย่างนี้บนGodbolt คอมไพเลอร์ Explorer ที่ หมายเหตุ-march=haswell
ในการส่งออก
gcc
หรือclang
สิ่งที่คาดว่าจะพบใน Mac (ไม่ใช่โปรแกรมเมอร์)?
clang
จะใช้ได้หลังจากติดตั้ง xcode แล้วเท่านั้น สิ่งที่น่าประหลาดใจก็เพียงพอที่จะใช้clang
แทนclang-3.5
ในเมนู Apple (ด้านบนซ้ายของหน้าจอ) เลือก About This Mac จากนั้นมองหาปุ่มที่ระบุว่าข้อมูลเพิ่มเติมมันจะเปิดหน้าต่างที่มีทุกอย่างเกี่ยวกับ mac รวมถึงหมายเลขรุ่น (ตัวอย่างเช่น MacBook Pro 12.3) จากนั้นใช้แอป MacTracker ที่กล่าวถึงข้างต้นหรือเพียงค้นหาชื่อมดคุณจะได้รับข้อมูลนั้น .
ไปที่หนึ่งในไซต์อัปเกรด Mac แล้วป้อนหมายเลขซีเรียล / หมายเลขรุ่นของคุณจาก About this Mac
ตัวอย่างhttp://www.everymac.com/ultimate-mac-lookup/
ใส่หมายเลขซีเรียล
ป้อนข้อมูล Catpcha
คุณจะได้รับรายละเอียดสรุป
คลิกที่รายละเอียดของ Mac ที่สมบูรณ์
และมันจะบอกรายละเอียดของชิป (22nm Haswell i5 4250U) รวมทั้งการเปรียบเทียบกับรุ่นก่อนหน้าและรุ่นถัดไป