ฉันจะระบุ CPU ที่ MacBook ใช้ได้อย่างไร


28

ฉันต้องการระบุซีพียูที่ใช้สมุดบันทึกนี้ในแง่ของชื่อรหัสเช่น "Ivy Bridge" และ "Haswell" โลโก้ Apple เล็กน้อยที่มุมบนซ้ายแสดงข้อมูลบางอย่าง แต่ไม่ใช่


2
ถึงตอนนี้ยังไม่มีคำตอบใดบอกฉันว่าโปรเซสเซอร์ของฉันคืออะไรนอกเหนือจากหมายเลขรหัส แม้แต่การค้นหาโปรเซสเซอร์ที่ Intel ก็ไม่ได้ให้ 'ตระกูล' มีเพียง Mactracker & Everymac เท่านั้นที่มีการคาดเดาและอาจเป็น 5 หรือ 5 เพราะCPU จริงของฉันไม่เคยขายใน Mac เครื่องใหม่ - Intel (R) Xeon® CPU X5690 @ 3.47GHz
Tetsujin

2
@Tetsujin: google x5690 wikipediaและคุณจะเห็นว่ามันเป็นซีพียูWestmere microarchitecture (ตายหดตัวของ Nehalem ด้วยประสิทธิภาพที่เหมือนกัน แต่ได้เพิ่มคำสั่งใหม่ของ AES และไม่มีการเพิ่มทวีคูณสำหรับ crypto)
Peter Cordes

2
@PeterCordes - แน่นอน ฉันไม่จริงรู้ว่ามันเป็นเครื่อง Westmere แต่จุดหลักของผมก็ไม่มีคำตอบที่เพื่อให้ห่างไกลจะบอกฉันว่าไม่มีเล็ก ๆ น้อย ๆ ของ Google-Fu ของตัวเองจึงไม่จริงตอบคำถามของ OP ต่อ se
Tetsujin

1
@Tetsujin: จุดดี; นี่เป็นหนึ่งในกรณีที่คนที่รู้คำตอบลืมว่าไม่ชัดเจนสำหรับคนที่ไม่ทราบ ฉันเพิ่มคำตอบที่ครอบคลุมขั้นตอนที่ 2
Peter Cordes

& คำตอบที่ยอดเยี่ยมมันเกินไป
Tetsujin

คำตอบ:


39

ก่อนอื่นคุณจะไม่ได้รับชื่อ microarchitecture ของโปรเซสเซอร์ (Broadwell, Sandy Lake, Ivy Bridge, ฯลฯ ) เพราะนี่ไม่ใช่รูปแบบการสร้างแบรนด์ที่โดดเด่นสำหรับโปรเซสเซอร์ Intel ตรงกันข้ามกับ Apple ฝ่ายการตลาดเลือกที่จะทำการตลาดชื่อรหัสของระบบปฏิบัติการ (Mavericks, Yosemite, El Capitan) อย่างแข็งขัน มันเป็นแบบแผนการตลาดไม่ใช่แบบทางเทคนิค

สำหรับรายการโปรเซสเซอร์ Intel ทั้งหมดและชื่อรหัสสถาปัตยกรรมและรายละเอียดรายการ List ของ Intel Microprocessorsมีหน้าดี

ดังนั้นเพื่อตอบคำถามนี้ฉันจะให้สามวิธีในการค้นหา CPU ที่คุณมีสองวิธีแรกที่ควรจะดีสำหรับผู้ใช้ส่วนใหญ่และวิธีที่สามที่คุณสามารถกำหนดหมายเลข microarchitectureเพื่อให้คุณดู ขึ้นบนเว็บไซต์สนับสนุนของ Intel คุณสามารถ "ข้าม" ไปยังส่วนที่เกี่ยวข้องกับคุณ

  1. เกี่ยวกับ Mac นี้ (ข้อมูล CPU ทั่วไป)
  2. ผู้สร้างระบบ (ข้อมูล CPU ทั่วไป)
  3. เทอร์มินัล (ข้อมูล CPU โดยละเอียด)


เกี่ยวกับ Mac เครื่องนี้

คลิกที่สัญลักษณ์ 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

11
จากตัวเลือกทั้งหมดที่คุณให้ไว้มีเพียงวิธีการเทอร์มินัลเท่านั้นที่จะบอกสถาปัตยกรรมตามที่ร้องขอในคำถามได้เว้นแต่ว่าฉันขาดอะไรไป
บ๊อบ

3
@ บ๊อบถ้าฉันไม่พบบางสิ่งฉันไม่สามารถมองเห็นสถาปัตยกรรมในตัวเลือกใดก็ได้ (ยกเว้นที่ark.intel.comสามารถบอกได้ว่าหลังจากค้นหาi7-3770)
Num Lock

4
@NumLock โอ้ไม่ต้องมีชื่อสถาปัตยกรรม (ฉันไม่คิดว่า CPU จะรายงานชื่อรหัสจริงดังนั้นระบบปฏิบัติการจะต้องเก็บฐานข้อมูลที่ทันสมัย ​​... ) หมายเลขรุ่นนั้นเพียงพอที่จะระบุสถาปัตยกรรมได้อย่างง่ายดายและไม่ซ้ำกันดังนั้น IMO จึงนับ แต่ตัวเลือกที่ไม่ใช่เทอร์มินัลที่นี่ไม่ได้ระบุหมายเลขรุ่นด้วยซ้ำ พยายามเดาว่าซีพียูตัวใดที่เป็น (และประสิทธิภาพ, ประสิทธิภาพ, ฯลฯ ) โดยการนับจำนวนหลักและความเร็วสัญญาณนาฬิกา (มันเป็นนาฬิกาพื้นฐานหรือเทอร์โบเร่งความเร็วสูงสุด?) ไม่ถูกต้องและโดยทั่วไปแล้วเป็นความคิดที่ไม่ดี
บ๊อบ

1
ตัวเลือกเทอร์มินัลเป็นสิ่งเดียวที่มีประโยชน์ในคำตอบนี้ ถ้าฉันถามใครว่า CPU กำลังทดสอบอะไรอยู่และพวกเขาบอกว่า "Core i7" สิ่งที่ฉันรู้ก็คือ Nehalem (2008) หรือใหม่กว่า มีความแตกต่างอย่างมากระหว่าง Nehalem และ Sandybridge และความแตกต่างที่สำคัญจาก SnB ถึง Haswell to Skylake คุณควรลบตัวเลือกอื่น ๆ เพื่อไม่สนับสนุนให้ผู้คนตอบคำถามที่ไร้ประโยชน์เมื่อผู้คนถามพวกเขาว่าสถาปัตยกรรมซีพียูของพวกเขามีอะไรบ้าง หมายเลขรุ่นนั้นยอดเยี่ยมมากเพราะคุณสามารถบอกได้ทันทีจากตัวเลขตัวแรกว่า microarch คืออะไรหรือ google สำหรับรายละเอียดทั้งหมด
Peter Cordes

4
คุณยังคงแนะนำวิธีการที่ไร้ประโยชน์สองวิธีที่ไม่ได้บอกหมายเลขรุ่นเพียง "i7" เท่านั้นและคุณแนะนำวิธีนั้นก่อน คุณไม่ชัดเจนว่าทางเทอร์มินัลเป็นสิ่งเดียวที่ให้คุณตอบคำถามของ OP สิ่งที่ "เกี่ยวกับ" และ "ผู้สร้างโปรไฟล์ระบบ" ดูเหมือนจะเสียเวลาเปล่า ลูกศรสีแดงชี้ไปที่ "ข้อมูลโปรเซสเซอร์" แสดงว่า "Core i7" เป็นคำตอบที่ถูกต้องสำหรับคำถาม "ฉันมีสถาปัตยกรรมแบบไมโครอะไร" มันแย่มากที่ไม่มีวิธี GUI ที่ให้คำตอบที่น่าพอใจ แต่ไม่มี
Peter Cordes

10

เปิด 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
ทำให้สงบลง

5

ซีพียูมีสตริงหมายเลขรุ่นของตัวเองสร้างขึ้นใน. ซอฟแวร์สามารถทำงานการเรียนการสอนที่มีพารามิเตอร์ที่เหมาะสมในการคัดลอกสตริงเข้าไปลงทะเบียน สตริงจะคล้าย " " คุณสามารถรับได้จากบรรทัดคำสั่งด้วยCPUIDIntel(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 อย่างไรก็ตามผู้ที่ไม่ได้ใช้ชื่อรหัส)

  • i3 / i5 / i7 xxx ( 3 หลัก ) คือNehalemหรือWestmere (ประสิทธิภาพเหมือนกันดังนั้นจึงไม่สำคัญ)
  • i3 / i5 / i7 2 xxx หรือ Xeon E3 / E5 XXXX v1คือSandybridge (SnB)
  • i3 / i5 / i7 3 xxx หรือ Xeon E3 / E5 XXXX v2คือIvyBridge (IvB)
  • i3 / i5 / i7 4 xxx หรือ Xeon E3 / E5 XXXX v3คือHaswell (HSW)
  • i3 / i5 / i7 5 xxx หรือ Xeon E3 / E5 XXXX v4คือBroadwell (BDW)
  • i3 / i5 / i7 6 xxx หรือ Xeon E3 / E5 XXXX v5คือSkylake (SKL)

มีรูปแบบ "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ซึ่งฉันได้ขยาย / ปรับปรุงจำนวนมากในปีที่ผ่านมา


1
นอกจากนี้ยังมีมากขึ้น (เก่าเล็กน้อย) ข้อมูลที่นี่ คุณอาจจะได้รับตระกูล / รุ่น / ก้าวตัวเลขด้วยsysctlแต่ฉันไม่มี Mac ให้ลอง
บ๊อบ

2

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 (ไม่ใช่โปรแกรมเมอร์)?
บ๊อบ

@Bob: IDK ฉันไม่มีแม้แต่ Mac! ฉันมาที่นี่จากแถบด้านข้าง "คำถามเครือข่ายร้อนแรง" โปรแกรม Unix จำนวนมากมีการแจกจ่ายในรูปแบบซอร์สดังนั้นบางคนจะมีคอมไพเลอร์ C บน Mac แม้ว่าคุณจะไม่ได้โปรแกรมเลยหรือไม่ได้อยู่ใน C. ) อย่างไรก็ตามคำตอบนี้ส่วนใหญ่จะเน้นไปที่คนที่ใช้ gcc หรือส่งเสียงดังกราวบน Mac เป็นประจำ แต่ไม่ใช่ผู้เชี่ยวชาญด้านฮาร์ดแวร์ของ Intel เป็นไปได้ที่จะเป็นโปรแกรมเมอร์โดยไม่ต้องมีฮาร์ดแวร์เกินบรรยาย
Peter Cordes

ฉันคิดว่าclangจะใช้ได้หลังจากติดตั้ง xcode แล้วเท่านั้น สิ่งที่น่าประหลาดใจก็เพียงพอที่จะใช้clangแทนclang-3.5
Anthony Kong

1

ในเมนู Apple (ด้านบนซ้ายของหน้าจอ) เลือก About This Mac จากนั้นมองหาปุ่มที่ระบุว่าข้อมูลเพิ่มเติมมันจะเปิดหน้าต่างที่มีทุกอย่างเกี่ยวกับ mac รวมถึงหมายเลขรุ่น (ตัวอย่างเช่น MacBook Pro 12.3) จากนั้นใช้แอป MacTracker ที่กล่าวถึงข้างต้นหรือเพียงค้นหาชื่อมดคุณจะได้รับข้อมูลนั้น .


1

ไปที่หนึ่งในไซต์อัปเกรด Mac แล้วป้อนหมายเลขซีเรียล / หมายเลขรุ่นของคุณจาก About this Mac

ตัวอย่างhttp://www.everymac.com/ultimate-mac-lookup/

ใส่หมายเลขซีเรียล

ป้อนข้อมูล Catpcha

คุณจะได้รับรายละเอียดสรุป

คลิกที่รายละเอียดของ Mac ที่สมบูรณ์

และมันจะบอกรายละเอียดของชิป (22nm Haswell i5 4250U) รวมทั้งการเปรียบเทียบกับรุ่นก่อนหน้าและรุ่นถัดไป


1

วิธีที่ดีที่สุดที่ฉันค้นพบเพื่อค้นหาข้อมูลเกี่ยวกับ CPU ของคุณในคอมพิวเตอร์ Apple คือการเรียกใช้ยูทิลิตี้ MacCPUID โดย Intel คุณสามารถค้นหาได้ที่นี่


0

มีแอป iOS และ Mac เรียกว่าเป็นMactracker มันแสดงข้อมูลต่าง ๆ เกี่ยวกับ Macs


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