-
Announcement
Collapse
No announcement yet.
New Tigerlake CPU (Willow Cove Microarchitect) Update from CES 2020
Collapse
X
-
Originally posted by ssk View Postก่อนจะมาพูดแบบนี้นะครับ คุณควรเครีย
เรื่อง fuse state ในประโยคที่คุณยกมา จาก wikichip ที่คุณใช้อ้างอิงว่าตอบผมก่อนครับ
ตาม diagram ของ skylake ก็ในเมื่อ wikichip
บอกว่าได้ คุณจะมาบอกว่าไม่ได้ ได้ยังไงครับ
และช่วยตอบด้วยว่า
1. คำสั่ง avx512 มันจะมุดเข้า FMA-256 bits ยังไงก่อนดีกว่าครับ
2. ถ้า ไม่อยู่ใน fuse state มันจะมุดได้มั้ย?
Dedicade ส่วน dedicade นะครับ
นี่คุยเรื่อง fuse state อย่าเอามาปนกันครับ
1 . คำสั่ง AVX 512 เมื่อ Decode แล้วก็จะเข้าสู่ Unified Scheduler ของ SKYLAKE X
จากนั้นตัวคำสั่งก็จะทำการ Fused การทำงาน Port 0 และ 1 เพื่อรับชุดคำสั่งและข้อมูลเข้า
ทำการประมวลผล ตัว Port 0 และ 1 มีขนาด รีจิสเตอร์กว้าง 256 bit เมื่อทำการ Fused
เข้าก็จะได้รีจิสเตอร์กว้าง 512 bit ที่สามารถรับคำสั่ง AVX512 และข้อมูลขนาด 512-bit
ได้พอดี แต่เนื่องจากว่าคำสั่ง AVX512 นั้นต้องการรีจิสเตอร์ทั้งหมด 32 ชุดในการทำงานคือ
ZMM0-31
ดังนั้น Intel จึงได้เพิ่มรีจิสเตอร์พิเศษ 256-bit เข้ามาให้ CPU Skylake X
Cascade Lake และ CPU รุ่นใหม่กว่านี้เช่น Icelake Tigerlake ขึ้นไปอีก 16 ชุดสำหรับ
พอร์ต 0 และ 1 นอกเหนือจาก Skylake Client ปกติ เมื่อทำงานกับคำสั่ง AVX512
แล้วผลลัพธ์ก็จะส่งไปเก็บไว้ใน Port 4 ในภาพไดอะแกรมที่ได้รับการขยายความกว้าง
Databus เป็น 512-bit ไว้รับผลลัพธ์ในการประมวลผลข้อมูล 512-bit ชุดที่ 1 ก่อนจะส่ง
ออกไปสู่ L1 data cache L2 และ L3 cache ตามลำดับ
นอกจากที่กล่าวมาแล้วใน Skylake X ขึ้นไป Intel ยังได้เพิ่ม AVX512 Unit อีกชุด
ที่ไม่ต้อง Fused การทำงานแบบข้างบนที่กล่าวมาใน Port ที่ 5 ในไดอะแกรม ที่ได้รับ
การขยายความกว้าง Databus เป็น 512 bit และมีรีติสเตอร์ ZMM0-31 อีกชุดรอไว้แล้ว
เพื่อรองรับการประมวลผล AVX512 อีก 1 คำสั่งขนานไปกับชุดแรกที่เกิดจากการ Fused
Port 0 และ 1 ครับ นี่คือที่มาของ FMA512 Unit 2 ชุดใน Data Sheet
คุณก็จะเห็นได้ว่า Skylake X ขึ้นไป CPU Intel สามารถประมวลผลข้อมูลในลักษณะขนาน
ได้ทั้ง X64/MMX/SSE/AVX/AVX2 และ AVX512 ได้อย่างสบาย ไม่ต้องรอแบบที่คุณเข้าใจ
แต่ในส่วน Ryzen นั้นอาจจะตรงกันข้าม เพราะ FPU Pipeline ในภาพที่คุณได้เห็นจะแบ่ง
การทำงานเป็น 2 ชนิดคือ FADD (การบวกลบทศนิยม เลขยกกำลัง Log) และ FMAC
(การคูณ หาร สแควร์รูท ตรีโกณมิติ) ชนิดละ 2 pipe ชนิด FADD กว้าง 128 bit ใน
ขณะที่ FMAC กว้าง 128/256(ZEN2) bit
ถ้าเจอกับคำสั่ง FMA3 เช่น a x (b+c) =? เข้าไป ฝั่ง Intel สามารถประมวลผลได้
เลย 2 คำสั่งต่อรอบสัญญานนาฬิกา ส่วน AMD ต้องรอผลลัพธ์จากแต่ละ pipe แล้วจึง
นำมารวมกันอีก
นี่แหละคือความแตกต่าง และที่ผมกล่าวว่า สถาปัตยกรรม Intel เหนือกว่ามาก
2. ไม่ต้องมุดใดๆ เลยครับ ผมอธิบายให้คุณเห็นแล้วไงครับ ว่า Instruction Windows
ของ Skylake Microarchitect ขึ้นไปกว้าง 64 Byte หรือ 512-bit อยู่แล้ว คุณสามารถ
จะเลือกประมวลได้ทั้งรูปแบบการ Fused Port 0+1 หรือส่งเข้า Port 5 ตรงๆ เลยก็ได้
มีจำนวนรีจิสเตอร์เหลือเฟือ 1 Core ของ Skylake X ขึ้นไป คุณมึ 64 ชุด 512-bit ครับ
ก็ลองดูคร่าวๆ ตามหลัก More Core ของคุณว่า 18 Core 28 Core 56 Core จะขนาดไหน
นะครับ
โอเคนะครับผม
Comment
-
Originally posted by ssk View Postข้อ 2 อ่านดีๆครับ ว่า ถ้า ไม่อยู่ใน fuse state มันจะมุดได้มั้ย?
ถ้าไม่ FUSE ทั้งก้อน 512 BITS มันจะเข้าได้ยังไงครับ คือ FUSE AVX-512 มุดได้น่ะถูก
แต่ถ้าไม่ FUSE มันจะมุดยังไงครับ ในเมื่อเค้าเขียนว่าต้อง FUSE ก่อน ถึงจะมุดได้ครับ
ถ้ามุดตรงๆมันก็ต้อง AVX 256 สิครับ ถูกมั้ย?
โปรแกรมเมอร์ที่ฉลาด ถ้าไปตรงๆ ได้จะมาย่อเพื่อมุดทำไมครับ คุณเข้าใจ instruction windows wide ไหมตกลง?
นี่ Skylake นะครับ ไม่ใช่ Ryzen ถึงจะต้องมุด
อ่านที่ผมอธิบายดีๆ คุณจะประมวลคำสั่ง AVX512 หรือ AVX256 ล่ะ ตกลง
Comment
-
ถ้าจะประมวลผล AVX512 แสดงว่าคุณจะทำงานกับข้อมูลชนิด 512-bit
ประตูทางเข้า 512-bit คุณก็ส่งทั้ง คำสั่งและข้อมูลเข้าไปตรงๆ เลยพ่อหนุ่ม
จะมาย่อลงเหมือน Ryzen 256-bit 2 ชุดให้เกิด Latency แบบในภาพนี้
ไปเพื่ออะไร?
Latency PXET/PDEP (ns) Lower is better
Instructions Windows Wide 64Byte performance (SKL/KBL/CFL/CML) VS ZEN(Pinnacle ridge/Matisse) 32Byte wide
เอาแค่หอมปากหอมคอน้อ ยิ่งลงลึก เดี๋ยวจะมีคนขาย Ryzen อาม่าทิ้งกันหมด
Comment
-
มุดทำไมล่ะครับ ในเมื่อ instruction Windows กว้าง 512-bit จะมุดเพื่อ?
โปรแกรมเมอร์ที่ฉลาด ถ้าไปตรงๆ ได้จะมาย่อเพื่อมุดทำไมครับ คุณเข้าใจ instruction windows wide ไหมตกลง?
นี่ Skylake นะครับ ไม่ใช่ Ryzen ถึงจะต้องมุด
อ่านที่ผมอธิบายดีๆ คุณจะประมวลคำสั่ง AVX512 หรือ AVX256 ล่ะ ตกลง
- เดิม Port 0 กับ 1 ถ้าไม่ FUSE ประตูมันจะเป็น 2.5 เมตร+2.5 เมตร ที่ยังมีเสากลางถูกมั้ย?
- ของกว้าง 5 เมตร มันจะเข้าไม่ได้เพราะติดเสากลาง ถูกมั้ย?
- มันจึงต้อง Fuse เพื่อเอาเสากลางออก ถึงจะเอาของกว้าง 5 เมตร เข้าไปได้ ถูกมั้ย?
นี่คือจุดมุ่งหมายที่ถามครับ
Comment
-
Originally posted by ssk View Postผมเพิ่งเห็น คือผมจะบอกว่า
- เดิม Port 0 กับ 1 ถ้าไม่ FUSE ประตูมันจะเป็น 2.5 เมตร+2.5 เมตร ที่ยังมีเสากลางถูกมั้ย?
- ของกว้าง 5 เมตร มันจะเข้าไม่ได้เพราะติดเสากลาง ถูกมั้ย?
- มันจึงต้อง Fuse เพื่อเอาเสากลางออก ถึงจะเอาของกว้าง 5 เมตร เข้าไปได้ ถูกมั้ย?
นี่คือจุดมุ่งหมายที่ถามครับ
และเพิ่มเติมให้อีกนิดนึง เห็นคุณมีพื้นฐานด้านการใช้ VM Emulated กว่าใคร ผมอยากให้คุณสังเกตเห็นอะไร
บางอย่าง ในสมัยก่อนคำสั่ง MMX 3DNOW SSE นั่นจะมีเพียงรีจิสเตอร์ 8 ชุดเท่าๆ กัน กับ IA32 X86 ใช่ไหม
ในช่วงนั้น พอมายุค AVX2 มีการเพิ่มจำนวนเป็น 16 ชุด กว้าง 256 bit และตามด้วยยุค AVX512 เพิ่มเข้ามา
เป็น 64 ชุดกว้าง 512 bit
การจะรัน Emulator ใดๆ ถ้า Hardware ที่คุณใช้มีทรัพยากรเหนือกว่า มันย่อมทำได้ง่ายและมีประสิทธิภาพ
สูงกว่าการที่คุณจะรัน Emulator ที่เรียกใช้ทรัพยากรสูงกว่า ระบบ Hardware ที่คุณมีนะ ดูกรณี Ryzen 3
ของคุณกับ Sisoft นั่นละเป็นตัวอย่าง
และผมยินดีที่คุณเริ่มเข้าใจสิ่งที่ผมพยายามจะสื่อให้คุณและเพื่อนที่ใช้ AMD ทราบอย่างเป็นมิตร มิได้มุ่งจะ
กล่าวตำหนิหรือดูถูกดูแคลนผู้ใช้ AMD แต่อย่างใดLast edited by Comlow; 1 Feb 2020, 10:42:43.
Comment
-
อันนี้ผมบ่นครับ
คือผมพยายามพูดให้เข้าใจง่ายๆ แล้วยังมีคนบ่นว่าฟังแล้วไม่เข้าใจเเลยครับ
ผมจึงไม่อยากไปยุ่ง ไปคุยอะไรที่มันอลังการดาวล้านดวง
- แบบความเทพของชุดคำสั่ง
- ไครมันจะใช้ ใช้กันทั่วโลก หรือ ทั่วจักรวาล ตั้งแต่อดีตกาล ยันอณาคต
- ไครมันจะมาแย่งซื้ออะไรไคร
- ไครอยากลองของใหม่ ไครนิยมสะสมของโบราณ
- ไครเป็นสาวก กำลังหนุนไคร
- ไครจะแทงเข่า ตีศอก ได้คะแนนยก 1-2-3 เท่าไหร่
นี่มันไม่ได้เกี่ยวกับผมนะ คือผมสนใจจะคุยแต่เรื่องที่ผมจะคุยอ่ะ....................................
ผมก็หลีก ผมก็เลี่ยงจะ ไม่เอาไม่พูด และ ไม่ตอบเรื่องพวกนั้นน่ะครับ เดี๋ยวมันจะใหลออกนอกเรื่องไป
มันจะประมานนี้แหละครับ
Comment
Comment