สถาปัตยกรรมคอมพิวเตอร์
โปรเซสเซอร์กำลังทำอะไรระหว่างคำสั่งหนึ่งกับคำสั่งถัดไป
สำหรับคนที่อ่านภาษา C ออกและได้เจอมุมมองเรื่องหน่วยความจำของระบบปฏิบัติการมาแล้ว และตอนนี้อยากได้ชั้นที่อยู่ใต้มัน: คำสั่งถูกเข้ารหัสอย่างไร ฮาร์ดแวร์ทำงานหลายคำสั่งพร้อมกันอย่างไร และทำไมอัลกอริทึมเดียวกันถึงเร็วต่างกันได้เป็นสิบเท่าขึ้นกับวิธีที่มันแตะหน่วยความจำ คอร์สนี้สมมติว่าคุณมีเชลล์แบบยูนิกซ์ที่ใช้งานได้ และตั้งแต่คอร์ส C เป็นต้นไปสมมติว่ามีคอมไพเลอร์ C กับ make ด้วย ถ้ายังไม่มี — หรือไม่เคยเปิดเทอร์มินัลมาก่อน — คอร์ส "ตั้งต้นให้พร้อม" ติดตั้งและยืนยันทั้งหมดนั้นให้ก่อน และเนื้อหาตรงนี้ไม่ได้เล่าซ้ำ
ตัวอย่างโครงสร้างคอร์ส
เมื่อจบคอร์ส คุณจะทำอะไรได้บ้าง
- ถอดรหัสคำสั่งเครื่องจริงออกเป็นช่องต่าง ๆ ด้วยมือได้
- อธิบายได้ว่าสายพานซ้อนอะไรเหลื่อมกัน และอะไรที่หยุดมัน
- ให้เหตุผลเรื่องราคาของกิ่งในแง่ของการทำนาย แทนที่จะเป็นจำนวนคำสั่ง
- อธิบายการพลาดแคชในแง่ของรูปแบบการเข้าถึงที่ทำให้เกิดมัน
- เขียนลูปใหม่ให้รันเร็วขึ้นอย่างวัดได้ โดยไม่เปลี่ยนสิ่งที่มันคำนวณ
- อ่านสเปกของหน่วยความจำแล้วบอกได้ว่ามันบอกอะไรและไม่บอกอะไร
ก่อนเริ่มเรียน
แผนการเรียน
ภาษาไทยพร้อมสำหรับทุกขั้นการเรียน.
นี่คือเส้นทางการเรียนทั้งหมด แต่ละบทต่อยอดจากบทก่อนหน้า และด่านบังคับคือจุดที่คุณได้แสดงสิ่งที่ทำได้จริง.
- 01
สัญญาระหว่างฮาร์ดแวร์กับซอฟต์แวร์
บทเรียน · 16 นาที
- 02
สองปรัชญา และอะไรที่รอดมาจริง
บทเรียน · 17 นาที
ต่อยอดจาก: สัญญาระหว่างฮาร์ดแวร์กับซอฟต์แวร์
- 03
คำสั่งกลายเป็นบิตได้อย่างไร
บทเรียน · 18 นาที
ต่อยอดจาก: สัญญาระหว่างฮาร์ดแวร์กับซอฟต์แวร์
- 04
อ่านรูปแบบคำสั่งของ RISC-V
บทเรียน · 19 นาที
ต่อยอดจาก: คำสั่งกลายเป็นบิตได้อย่างไร
- 05
คำสั่งเรียกชื่อข้อมูลของมันอย่างไร
บทเรียน · 17 นาที
ต่อยอดจาก: อ่านรูปแบบคำสั่งของ RISC-V
- 06
มีแค่สองคำสั่งที่แตะหน่วยความจำ
บทเรียน · 17 นาที
ต่อยอดจาก: อ่านรูปแบบคำสั่งของ RISC-V
- 07
ถอดรหัสการเรียกฟังก์ชันจริงด้วยมือ
ด่านบังคับ · 20 นาที
ต่อยอดจาก: มีแค่สองคำสั่งที่แตะหน่วยความจำ
- 08
เส้นทางที่คำสั่งหนึ่งเดินผ่านฮาร์ดแวร์
บทเรียน · 19 นาที
ต่อยอดจาก: มีแค่สองคำสั่งที่แตะหน่วยความจำ
- 09
อะไรบอกแต่ละส่วนว่าต้องทำอะไร
บทเรียน · 18 นาที
ต่อยอดจาก: เส้นทางที่คำสั่งหนึ่งเดินผ่านฮาร์ดแวร์
- 10
รอบสัญญาณนาฬิกาต่อคำสั่ง และทำไมมันสำคัญ
บทเรียน · 18 นาที
ต่อยอดจาก: เส้นทางที่คำสั่งหนึ่งเดินผ่านฮาร์ดแวร์
- 11
ซ้อนคำสั่งเหลื่อมกันเพื่อทำให้เสร็จมากขึ้น
บทเรียน · 19 นาที
ต่อยอดจาก: รอบสัญญาณนาฬิกาต่อคำสั่ง และทำไมมันสำคัญ
- 12
สองคำถามที่ต่างกันเรื่องความเร็ว
บทเรียน · 17 นาที
ต่อยอดจาก: ซ้อนคำสั่งเหลื่อมกันเพื่อทำให้เสร็จมากขึ้น
- 13
เมื่อคำสั่งต้องการผลลัพธ์ที่ยังไม่พร้อม
บทเรียน · 19 นาที
ต่อยอดจาก: ซ้อนคำสั่งเหลื่อมกันเพื่อทำให้เสร็จมากขึ้น
- 14
อันตรายเดียวที่การส่งต่อค่ากำจัดไม่ได้
บทเรียน · 17 นาที
ต่อยอดจาก: เมื่อคำสั่งต้องการผลลัพธ์ที่ยังไม่พร้อม
- 15
บทรวบยอด: วัดว่าการเดาผิดมีราคาเท่าไร
ด่านบังคับ · 21 นาที
ต่อยอดจาก: เมื่อคำสั่งต้องการผลลัพธ์ที่ยังไม่พร้อม
- 16
ทำไมโปรแกรมเดียวกันถึงเร็วบนข้อมูลเล็กและช้าบนข้อมูลใหญ่
บทเรียน · 18 นาที
ต่อยอดจาก: สองคำถามที่ต่างกันเรื่องความเร็ว
- 17
ก้อนหนึ่งได้รับอนุญาตให้อยู่ตรงไหน
บทเรียน · 19 นาที
ต่อยอดจาก: ทำไมโปรแกรมเดียวกันถึงเร็วบนข้อมูลเล็กและช้าบนข้อมูลใหญ่
- 18
เกิดอะไรขึ้นเมื่อโดน เมื่อพลาด และเมื่อเขียน
บทเรียน · 18 นาที
ต่อยอดจาก: ก้อนหนึ่งได้รับอนุญาตให้อยู่ตรงไหน
- 19
บทรวบยอด: ทำให้งานเดิมเร็วขึ้นห้าสิบเท่า
ด่านบังคับ · 22 นาที
ต่อยอดจาก: เกิดอะไรขึ้นเมื่อโดน เมื่อพลาด และเมื่อเขียน
- 20
หน่วยความจำคืออะไรจริง ๆ และทำไมมันถึงช้า
บทเรียน · 17 นาที
ต่อยอดจาก: เกิดอะไรขึ้นเมื่อโดน เมื่อพลาด และเมื่อเขียน
- 21
ทำไมหน่วยความจำถึงกว้างขึ้นแต่ไม่ได้ใกล้ขึ้น
บทเรียน · 15 นาที
ต่อยอดจาก: หน่วยความจำคืออะไรจริง ๆ และทำไมมันถึงช้า
- 22
เมื่อหน่วยความจำคือทรัพยากรที่ต้องใช้ร่วมกัน
บทเรียน · 17 นาที
ต่อยอดจาก: หน่วยความจำคืออะไรจริง ๆ และทำไมมันถึงช้า
เริ่มเรียนด้วยบัญชี CYBERSKILLS เมื่อเปิดให้ใช้งาน
บัญชี CYBERSKILLS จะเก็บความก้าวหน้าและผลจากด่านบังคับไว้ด้วยกัน ระหว่างนี้ คุณใช้แผนการเรียนนี้เลือกเส้นทางที่ตรงกับเป้าหมายได้.
ดูตัวอย่างคอร์สทั้งหมด