จากข่าว ซอร์สโค้ด bootloader สำหรับ iOS หลุด ซึ่งต่อมาแอปเปิลก็ยืนยันว่าเป็นของจริง
เว็บไซต์ Motherboard อ้างแหล่งข่าวใกล้ชิดกับผู้ปล่อยซอร์สโค้ด ระบุว่าผู้ที่นำโค้ดออกมาคือ "พนักงานระดับล่างของแอปเปิล" ที่เคยทำงานในสำนักงานใหญ่ในเมือง Cupertino เหตุการณ์เกิดขึ้นในปี 2016 โดยพนักงานคนนี้ได้รับการกระตุ้นจากเพื่อนฝูงในแวดวง jailbreak ให้แอบนำซอร์สโค้ดออกมา
ตามข่าวบอกว่าซอร์สโค้ดถูกนำออกมาจำนวนเยอะกว่าที่หลุดขึ้น GitHub มาก ตอนแรกโค้ดถูกแชร์กันเฉพาะในแวดวงเพื่อนฝูง 5 คน แต่ภายหลังก็ถูกกระจายออกไปมากกว่านั้น และสุดท้ายก็มีคนนำมาปล่อยต่อสาธารณะจนได้
ที่มา - Motherboard, ภาพจาก Apple Jobs
Comments
เกลือเป็นหนอน! ?
Motherbord > Motherboard
คุกๆ
ถ้า Hack Bootloader ได้ ก็อาจจะลง Android บน iPhone ได้หรือเปล่า ?
น่าจะช้าจนทำอะไรไม่ค่อยได้ เพราะ spec ต่ำ 555
ทดลองติดตั้ง 3 OS | Windows Ubuntu Android
ผมว่า iphone นี่สเปคค่อนข้างสูงอยู่ระดับนึงนะครับ
ถ้าตัวปัจจุบันนี่แรงระดับท็อปบนสุดเลยนะครับ
https://www.macthai.com/2017/12/25/iphone-x-win-performance-benchmark-google-pixel-2-samsung-galaxy-note-8/
เพราะ CPU ถูกปรับแต่งมาเพื่อ OS ครับ ผลทดสอบก็ทดสอบบน OS ที่ถูกปรับให้เข้ากับ CPU ที่ออกแบบไว้เฉพาะ
เพราะพอผลทดสอบเปิดโปรแกรมในyoutube ก็ไม่ไช่ว่าจะเร็วกว่าทุกโปรแกรม แล้วถ้าเปิดจำนวนมากก็จะเห็นว่า iphone จะถูกทิ้งห่างในหลายๆลิ้ง
สถาปัตยกรรมจริงๆก็คือ ARM เหมือนกันต่างกันที่มีการใส่หน่วยประมวลช่วยในเรื่องต่างๆที่ใช้กับ ios มากๆ ถ้าเอามาใช้จริงๆบน Android มีความเป็นไปได้ว่าจะช้า เพราะ android ทำมารองรับ ทุกๆ cpu และออกแบบมาต่างกันซึ่งโครงสร้างาที่ถูกออกแบบมาเฉพาะอาจจะไม่สามารถทำงานได้เร็วได้
apple ไม่ได้สร้างสถาปัตยกรรม CPU เองเพียงแต่ไปซื้อแบบแปลน CPU ของ arm มาทำต่อเพียงแต่ไม่ได้บอกว่าซื้อแปลนตัวใหนมาแบบแต่ก่อนที่appleก็เคยเปิด ซึ่งเห็นหลายๆคนเข้าใจว่าทำขึ้นมาใหม่ มันเป็นไปได้ยากที่บริษัทผลิตแปลน cpu จะยอมให้คนอื่นทำ cpu เลียนแบบสถาปัตยกรรมตัวเอง ซึ่งก็ไม่ต่างกับ cpu arm เจ้าอื่นที่ออกความสามารถมาแข่งกันแต่เขาก็ต้องสร้าง cpu ออกมาเพื่อรองรับทุกฟังชั่นการทำงาน
สถาปัตยกรรม(ชุดคำสั่ง)เป็น ARM เหมือนกันก็ไม่ใช่ว่าจะเหมือนกันครับ
ARM เป็นเพียงชุดคำสั่ง ส่วนสถาปัตยกรรมก็แล้วแต่ผู้ออกแบบ
Apple เลิกใช้ ARM แบบมาตรฐาน(Cortex) มานานแล้วครับ หันมาพัฒนา'เอง'หมดไม่ได้ซื้อแปลนจาก ARM ที่เหมือน ARM ก็แค่รองรับชุดคำสั่งที่เหมือนกันเท่านั้น (ARMv8‑A)
Qualcomm ก็เคยทำแบบนั้น แต่ตอนนี้กลับไปใช้แปลนจาก ARM คือ Cortex เหมือนเดิม อีกเจ้าที่ยังออกแบบสถาปัตยกรรมเองตอนนี้ก็คือ Samsung ครับ ตัว M3 มี reorder buffer ที่ใหญ่กว่า Intel CPU ไปแล้ว (228 > 224)
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
อ้างอิงจากใหนครับ พอดีผมไม่ทันข่าว และผมก็ไม่ได้บอกด้วยว่าเป็น Cortex ครับ แค่บอกว่าอยู่บนสถาปัตยกรรมARM
ที่ผมไม่คิดว่าจะจริงเพราะถ้าทำแบบนั้น arm เองจะได้อะไรเพราะ arm ก็พัฒสถาปัตยกรรมมาเรื่อยๆ และขายลายเซนรุ่นใหม่มาเรื่อยๆ ถ้าทำแค่ขายชุดคำสั่งก็น่าจะเป็นการซื้อ สิธิบัตรชุดคำสั่งมากกว่า แต่ไม่เคยเห็นข่าวเลยจริงๆ
และลิ้ง samsung CPU เองก็ไม่บอกว่าสร้างสถาปัตยกรรมขึ้นมาใหม่ แค่ custom arm ที่มีการเพิ่มปรับเปลี่ยนระบบบัสที่ใช้ในการประมวลผลชุดคำสั่งให้มี pipe line ที่ต่างออกไป และเพิ่มหน่วยช่วยประมวลผลคำสั่งต่างๆตามในบลอกครับถ้าเดาส่วนที่เป็นระบบชุดคำสั่งเดิมก็น่าจะเป็นสถาปัตยกรรม Arm สักรุ่นเอามาประยุกต์
ถ้าการสร้างสถาปัตยกรรมขึ้นมาใหม่และเรียนแบบแค่ชุดคำสั่งง่าย intel Atom คงไม่ตายเพราะ arm มั้งครับ
ลิ้งนั้นแหละครับ เค้าเรียก'ออกแบบ'สถาปัตยกรรมใหม่
พวกนี้เค้าออกแบบเองตั้งแต่ ALU/FPU/decode/branching/dispatch/buffer/decode-cache ครับ
ที่มาของ Apple ก็คือ Apple ใช้ CPU ที่ตัวเองออกแบบเองตั้งแต่ปี 2012 (Swift core) ครับ เป็น ARMv8‑A 'campatible' ตัวแรก
ARM ออก license ให้หลายแบบครับ license ที่แพงสุดคือ Architectural licensee ที่สามารถ'ออกแบบ'เองได้ โดยยังใช้ความ'เข้ากันได้'กับ ARM อยู่
ที่ผมใช้คำว่า'เข้ากันได้'เพราะภายในมันไม่จำเป็นต้องมีอะไรเหมือนกันเลยก็ได้ครับ แค่ front-end สามารถรับชุดคำสั่งได้ decode สามารถแปลชุดคำสั่งได้ก็จบ นอกนั้น จะ wide ขนาดไหน pipeline จะยาวขนาดไหน ALU/FPU จะใช้กี่ cycle จะมี Load/Store กี่ชุดไปออกแบบเองได้
ในขณะเดียวกันทาง Intel/AMD ไม่ได้เปิดให้ใช้ license ในลักษณะนี้ ถ้ามีขายพูดคร่าวๆก็คือเปลี่ยนชุด front-end ให้รับชุดคำสั่งกับ decode ให้แปลงชุดคำสั่งได้ก็จบ back-end ใช้ชุดเดียวกันก็ได้(ถ้าออกแบบมาดีพอ) อย่างการแปลง x86>ARM ที่ MS/Qualcomm ทำมันก็แค่เป็นการแปลงชุดคำสั่งจาก x86 -> ARMv8-A(AArch64) เท่านั้น
อันนี้คุณสามารถดูรายการ chip ที่เป็น ARMv8-A compatible ที่ผู้ผลิตออกแบบ(design)เองได้ที่นี่ครับ และรายการทั้งหมดที่นี่
ส่วน Atom ไม่ได้ตายเพราะตัวสถาปัตยกรรมครับ มันตายเพราะ'ไม่มีใครใช้'ไม่ใช่ว่าตัว CPU มันไม่ดี มันราคาแพง+GPU ช้า+supoort แย่+development ไม่ดี
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
ผมดูตามลิ้งก็อ่านได้ว่า Architectural licensees คือ สถาปัตยกรรม arm ที่ยอมให้เพิ่มลดส่วนต่างๆได้ตามต้องการโดยมีโครงสร้าง arm รุ่นปัจจุบันให้ ที่คุณว่าก็น่าจะโครงสร้างสำหรับ ARMv8-A มาให้เพื่อปรับแต่ง ผู้ผลิตจะได้โครงสร้างพื้นฐานของ arm รุ่นนั้นๆมา ผมคิดว่าถ้าเรียกว่าออกแบบสถาปัตยกรรมใหม่ก็ไม่ควรเรียก arm แล้วครับเพียงแต่รองรับชุดคำสั่ง
apple ทั้งที่มีทีมขนาดนี้แต่ทำยังยึดติดชุดคำสั่ง Arm ละครับนอกจากจะติดที่สถาปัตยกรรมที่สามารถประมวลผลได้เร็วและกินไฟน้อย
ส่วน ARMv8-A compatible ก็เป็นลิสชื่อที่ว่า cpu arm รุ่นใหนมีส่วนประกอบอะไรบ้าง และ cpu รุ่นใหนใครเป็นเจ้าของครับ
ส่วน swiff เขาก็บอกอยู่ว่าเป็น Custom arm ครับ ปรับแต่งมาจาก arm cortex a9
ส่วน atom ที่พูดมาถ้าผมจำไม่ผิดราคาถูก ยังจำได้เลยว่าราคาถูกมากใน Zenfone จะเห็นว่ารุ่นแรกถูกมากแต่ช้ากินไฟ Zenfone go เครื่องขนาดเล็กไม่สามารถไช้งานได้เท่ากับ cpu arm ที่เท่ากันเพราะด้วยโครงสร้างสถาปัตยกรรมมันกินไฟครับ
ส่วน atom เคยเห็นว่าน่าจะมีรุ่นที่ใช้ powerVR ด้วยไม่หน้าเกี่ยวกับ GPU เพราะหาซื้อมาใส่ได้ arm เองก็ไม่ต่างกัน สถาปัตยกรรมมันจริงๆไม่มี GPU อยู่แล้ว arm เลยขาย มะลิ เพิ่ม
ที่ผมยก atom เพราะการจะสร้าง cpu ใหมถ้าจะทำให้เร็วและกินไฟน้อยเหมือน ARM โดยที่ไม่อยู่บนสถาปัตยกรรมของ ARM มันเป็นไปได้ยากก็คงติดสิธิบัตร ARM หมด ถ้าจำไม่ผิดชุดคำสั่งบน arm เกือบทั้งหมดที่ทำงานคล้ายกันมีอยู่บน intel ต่างกันที่สถาปัตยกรรม
อันนั้นคุณคิดไปเองหรือว่ามี reference มาอีกทีครับ? ทำไมคุณ disregard งานที่คนอื่นๆทำมาได้ง่ายขนาดนั้นเพียงเพื่อจะบอกว่าความคิดตัวเองถูก
การที่เค้าต้องทำเป็น ARM compatible ไม่ใช่ว่าเค้าไม่ได้สร้าง CPU ใหม่ครับ แต่เค้าต้องการคงความเข้ากันได้ของ software ที่ไม่ต้องทำใหม่(ex. compiler)
คือถ้าคุณยังไม่เข้าใจลองอ่านภาพแรกบรรทัดที่ 3 จาก link นี้ครับ
และถ้ายังไม่เข้าใจอีก ผมก็คงไม่สามารถเปลี่ยนความคิดคุณได้ และคงไม่พิมพ์อะไรเพิ่มอีก แต่ผมคิดว่า'คนอื่น'ที่ไม่ใช่คุณคงจะเข้าใจดีครับว่าคำว่า from scratch แปลว่าอะไร
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
ผมก็อ่านมาตามเวปต่างๆแหละครับ ถ้าบอกว่าคงไว้ซอฟแวร์เดิมก็ทำเหมือน intel atom ก็ได้นิครับถ้าถึงขั้นสร้าง CPU ขึ้นมาเองได้จริงๆหรือ ซื้อแค่ไลเซนของ ชุดคำสั่ง ถึงอธิบายเรื่อง atom ไงครับว่ามันทำยากถึงทำก็ติดสิธบัตรโครงสร้างarmอยู่ดี และลิ้งที่คุณส่งมาถ้าอ่านทั้งหมดก็เป็นสิ่งที่เขาเพิ่มเติมเข้าไปในโครงสร้างสถาปัตยกรรม arm เดิม อ่านบรรทัดแรกๆเขาก็บอกอยู่ว่าสิ่งที่แตกต่างจาก arm ตัวอื่นๆคืออะไร แล้วลองไล่ลงมาเค้าก็บอกว่ามีอะไรเพิ่มเข้าไปบ้างส่วน from scratch จากที่อ่านหลายๆที่คือการยอมให้ปรับแต่งตั่งแต่เริ่มต้นไม่เหมือนพวก Core-tex Ax ,ที่ถูกกำหนดไปไล ดีโคดเดอ เท่าใหล่ เบนเท่าขนาดใหน เป็นต้นดูจากลิ้ง Comparison of ARMv8-A cores ที่คุณให้มาครับว่าพวกที่มาจาก arm เองจะฟิกพวกนี้
ครับ ถ้าตามที่คุณว่ามา AMD, Cyrix, etc. ก็เอาแปลนพิมพ์เขียวมาจาก Intel และ Intel ก็เอาแปลนพิมพ์เขียว x86_64 มาจาก AMD ครับ Intel ไม่ได้สร้าง Conroe, Nehalem, Bridges, Lakes เองแต่เอาแปลงพิมพ์เขียวมาจาก AMD ส่วน AMD ไม่ได้สร้าง K5s, K6s, Athlon เองแต่เอาพิมพ์เขียว x86 มาจาก Intel
เข้าใจแล้วครับ
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
นั่นไงครับ ทั้ง amd และ intel ต่างพยายามสร้างสถาปัตยกรรมโดยที่ไม่เลียนแบบกัน(เลียนแบบโดนฟ้องแน่)ในชุดคำสั่งเดียวกัน
แล้ว amd ก็ไม่สามารถสู้ intel ได้ จะซื้อสถาปัตยกรรมจาก intel มาก็ไม่ได้เหมือน apple ซื้อจาก arm เพราะซื้อมาก็เจ้ง
ตามสบายครับ
Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)
ครับจากลิ้งนี้ก็แสดงให้เห็นถึงการแชร์ชุดคำสั่งกันเพื่อความเข้ากันได้ของฮาดแวและซอฟแวร์ เพราะเขาไม่ได้บังคับแค่เจ้าเดียวosเดียวอย่างเดียวแบบ apple ซึ่งนี่แหละครับที่ผมว่าสร้างขึ้นมาใหม่บนชุดคำสั่งเดียวกัน (คอมเม้นบนถ้าอ่านดีๆผมตอบในมุมมองที่คุณประชดผม ซึงคงไม่มีใครไม่รู้ว่าamd กับintel คนละสถาปัตยกรรม ที่บอกว่า"คนละสถาปัตยกรรมแต่ชุดคำสั่งเดียวกัน") ซึ่งไม่มีความจำเป็นสำหรับ apple เลยที่จะออกแบบบนชุดคำสั่ง arm ทั้งๆที่สามารถ พอตแมพ CPU ที่ทำเองบน OS ที่ออกแบบได้ไม่ยากเย็น เหมือน cpu mips ที่พอตลง linux หรือ atom ที่พอตลง android จะต้องมาเสียเงินให้กับ arm ทำไม
Spec iPhone ตัวเลขต่ำ แต่ประสิทธิภาพสูงนะครับ
เหมือน CPU intel กับ AMD นั่นแหละครับ
ที่ราคาเดียวกัน ถ้าดูแต่ตัวเลข จะเหมือนAMD แรงกว่ามากๆ แต่เอาจริงๆ กินกันไม่ลงครับ เก่งกันคนละงาน
คนละงานนี่คืออะไรครับ เล่นเกมกับทำงาน?
แล้วใครบอกว่าค่ายนึงต้องเอาเล่นเกมอีกค่ายนึงต้องเอาทำงาน?
เขาทำมาให้ใช้งานทั้งสองอย่างนั่นแหละ อยู่ๆมีกลุ่มป่วยไปจัดให้เขาซะงั้น
ลองใจเย็นๆแล้วอ่านใหม่นะครับ ผมบอกว่า "เก่งกันคนละงาน" ไม่ได้บอกว่ามันใช้งานอีกฝั่งไม่ได้ซะหน่อย
AMD ให้ Core มาเยอะกว่า intel ในราคาเดียวกัน แต่แต่ละ Core ของ intel มันแรงกว่า AMD
ถ้าโปรแกรมเรียกใช้แค่ทีละ Core อันนี้แน่นอนว่าเห็นผลว่า intel ทำงานเสร็จเร็วกว่าแน่นอน
แต่ถ้าโปรแกรมนั้นเรียกใช้ได้หลาย Core หละ งานนี้ AMD ได้เปรียบ เพราะแม้ว่าแต่ละCore ของ intel จะแรงกว่า แต่มันก็ไม่ได้แรงกว่า แต่ละ Core ของ AMD แบบทิ้งเป็นทุ่ง
สรุปเป็นสมการง่ายๆก็คงประมาณว่า
1+1+1+1(AMD) ได้มากกว่า 1.5+1.5(intel) ละมั้งครับ
+1 อธิบายได้ดีมากครับ
ทำงาน Core เดียวนี่มีอะไรบ้างครับ ผมเห็นหลายคนยังหมกมุ่นกับคำว่าเล่นเกมใช้ Core เดียวทั้งๆที่เกมหลังๆออก Multicores กันหมดแล้ว
มันก็ multicore กันหมดนั่นล่ะ ก็อย่างที่ข้างบนอธิบายไป แต่ว่าโปรแกรมมันไม่ได้แบ่งงานประมวลผลเท่ากันทุกๆ core ง่ายแบบคิดสมการนิซิ
เกมส์บางตัวเขียนให้ใช้หัวเดียวคิดและทำอะไรหลายอย่างแต่แบ่งงานง่อยๆให้หัวอื่นๆไปทำ หากหัวแรกไม่แรงพอ หัวอื่นๆก็ช้าตามกันหมด
แต่ปัจจุบันนี้ผมว่า amd หัวเดี่ยวๆดีขึ้นเยอะเลยเชียร์ต่อไป นี่หากไม่ได้ amd กระตุ้นตลาด ป่านนี้ i5เจน8 คงยังมีแค่4หัว
ถ้าเป็น CPU Arm แต่ละสถาปัตยกรรมจะมีค่า DIMPS เป็นตัวคูณว่าทำได้กี่คำสั่งทดสอบต่อ Clock เพื่อเป็นการขายโครงสร้างใหม่ๆ ได้เรื่อยๆ และเป็นการสร้างมูลค่าและความแต่งต่างระหว่าง arm ราคาแพงกับถูก คนละประเด็นกับ Intel กับ AMD ครับ
ยกตัวอย่างรุ่นเก่าๆ ค่านี้จะประมาณ 1 ก็คือ 1hz สามารถประมวลผล 1 คำสั่ง ปัจจุบันน่าจะไปที่ประมาณ 4 หรือ 1hz ได้ 4 คำสั่ง ถ้า CPU ความเร็ว 2Ghz ก็ได้ 8000ล้านคำสั่งใน 1 วินาที ต่อ core
ซึ่ง arm รุ่นล่าสุดเหมือนกัน ตรงนี้จะไม่ต่างกันในแต่ละผู้ผลิตครับ ต่างกันแค่จะเพิ่มหน่วยประมลผลช่วยอะไรลงไปบน CPU เพิ่ม เช่นหน่วยประมวลผลในการแตกไฟล การประมวลผลภาพ รวมถึงระบบบัสภายในcpu ระหว่าง หน่วยประมวลผลหลัก ตัวช่วย และหน่วยความจำ เป็นต้น
แสดงว่า iOS กินสเปค ไม่ได้ optimize มาดีอย่างที่พูดกัน สมัยก่อนจะมีแต่คนบอกว่า iOS ไม่ต้องใช้สเปคแรงเหมือน Android มันกลับไปกลับมานะครับ
นั้นแหละครับ software Apple นี่เข้าขั้นห่วยแตกเลย
ผมเริ่มงงๆว่า ตกลง apple optimize OS มาดี ผลเทสเลยออกมาแรง หรือ CPU แรง optimize ห่วยผลเทสเลยออกมาดี อ่านไปอ่านมา กลายเป็น optimize ห่วย และ CPU ก็ห่วย แต่ผลเทสออกมาดี คือมันดูขัดๆ ตกลงผลเทสมายังไง อะไรดีกันแน่ครับ
แรมน้อยคงไม่เหมาะกับแอนดรอยด์
ช่างๆไม่รุ้อะไรบ้างเลย
เอะหรือจะบอกว่า สเปคเทียบกับราคา หุหุ
หืมมม... พนักงานระดับล่างสามารถเข้าถึง Source Code ได้ขนาดนี้เลย
ไม่ยืนยัน
น่าจะเป็นระดับล่างของทีมนี้มั้ง เพราะปรกติงานแบบนี้น่าจะร่วมด้วยช่วยยำแยก function อยู่บน SVN
ใช่ครับ
เพราะถ้าระดับสูงเค้าไม่มายุ่งอะไรกับ coding กันครับ
...แวะมาแซว
ฮาทั้งน้ำตา สาย dev
Oh......so true.
+1 กรรมกรคอมพิวเตอร์
ไอ้ที่เขียนๆ พุชๆ กันอยู่นี่ก็ระดับล่างหรือป่าวครับ ฮา