สารบัญ:
วีดีโอ: ภาพรวมคอมพิวเตอร์ 8 บิตบนเขียงหั่นขนม: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
เป้าหมายของฉันสำหรับโครงการนี้คือการสร้างความเข้าใจที่ดีขึ้นเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์ การออกแบบฮาร์ดแวร์ และภาษาระดับแอสเซมบลี เมื่อเป็นรุ่นน้องในมหาวิทยาลัยที่กำลังศึกษาวิศวกรรมคอมพิวเตอร์ ฉันเพิ่งจบหลักสูตรเกี่ยวกับอิเล็กทรอนิกส์ ห้องปฏิบัติการแนะนำฉันเกี่ยวกับภาษาแอสเซมบลี และสถาปัตยกรรมฮาร์ดแวร์ ในการได้รับคำแนะนำเกี่ยวกับหัวข้อเหล่านี้ ฉันต้องการเพิ่มความเข้าใจในรายละเอียดปลีกย่อยในทั้งสามหลักสูตร และจะมีวิธีใดที่จะเรียนรู้ได้ดีไปกว่าการทำงานในโครงการ
ความตั้งใจเดิมของฉันคือการประกอบคอมพิวเตอร์ 8 บิตนี้อย่างเต็มที่โดยใช้วิดีโอบรรยายที่ให้ไว้ในช่อง YouTube ของ Ben Eater ซึ่งทำงานได้อย่างยอดเยี่ยมในการแบ่งขั้นตอนการออกแบบออกเป็นส่วนผสมที่ลงตัวของเนื้อหาที่ฉันพูดถึงและแง่มุมต่างๆ ที่ฉันยังไม่ได้ทำ เรียนรู้. เนื่องจากฉันมีความเข้าใจพื้นฐานเกี่ยวกับการออกแบบแบบผสมผสานและตรรกะทางอิเล็กทรอนิกส์ขั้นพื้นฐานแล้ว ฉันต้องการท้าทายตัวเองโดยพยายามออกแบบและสร้างชิ้นส่วนต่างๆ ของคอมพิวเตอร์หลังจากภาพรวมการออกแบบแล้ว แต่ไม่ได้ดูคำแนะนำในการสร้าง ตลอดโครงการ เป้าหมายของฉันคือการเรียนรู้และปรับปรุงความเข้าใจมากกว่าแค่สร้างสิ่งใหม่ ดังนั้นตลอดแต่ละขั้นตอนของโครงการ ฉันได้อ่านเล็กน้อยจากบทความออนไลน์และฟอรัมเกี่ยวกับสถาปัตยกรรมส่วนประกอบ และแบบแผนพื้นฐานที่ใช้สำหรับแต่ละส่วน ของพวกเขา.
ขั้นตอนที่ 1: ค้นคว้าไปพร้อมกัน
โครงการนี้ทำให้ฉันอ่านมากกว่าที่ฉันคาดไว้มาก แนวทางหลักประการหนึ่งของฉันสำหรับแต่ละองค์ประกอบคือการอ่านภาพรวมจากฟอรัมหรือบทความออนไลน์ ดูการบรรยายจากวิดีโอของ Eater และพยายามออกแบบส่วนของฉันเองก่อนสร้าง ทดสอบ และโดยส่วนใหญ่แล้วจำเป็นต้องตัดทิ้งเพื่อ แนวทางแนะนำเพิ่มเติมจากช่อง Eater ตัวอย่างนี้คือตอนที่ฉันกำลังสร้างส่วนประกอบ ALU ของพีซี เมื่อฉันดูวิดีโอการออกแบบ ฉันอ่านบทความเกี่ยวกับส่วนประกอบชิปที่มีฟังก์ชันการทำงานที่สูงขึ้นและทริกเกอร์อินพุตที่อนุญาตให้เปลี่ยนประเภทคำสั่งและแปลงอินพุตเป็นส่วนประกอบ 2 ส่วนภายใน อย่างไรก็ตาม ก่อนที่จะซื้อชิปที่ทำให้มันง่ายกว่านี้ ฉันได้ทบทวนแนวทางการออกแบบที่ Ben Eater พูดถึงในวิดีโอของเขาด้วยการผสมผสานของแอดเดอร์และลอจิกเกท XOR เพื่อเพิ่มฟังก์ชันการทำงานในโมดูล ALU โดยไม่ต้องใช้ชิปที่มีราคาสูงขึ้น สิ่งนี้ทำให้ฉันชื่นชมการใช้ตรรกะที่ไม่ต่อเนื่องและการนำไปใช้กับการออกแบบคอมพิวเตอร์ และเรียนรู้วิธีต่างๆ ในการสร้างส่วนประกอบต่างๆ ด้วยการรวมชิประดับล่างบนเขียงหั่นขนม ฉันยังได้เรียนรู้เกี่ยวกับลักษณะทางสถาปัตยกรรมที่สำคัญบางอย่างที่ใช้ใน ALU ซึ่งเพิ่มความเข้าใจของฉันเกี่ยวกับส่วนประกอบการดำเนินการนี้บนพีซี
องค์ประกอบสำคัญอีกประการหนึ่งที่ฉันได้เรียนรู้คือการใช้ตัวรับส่งสัญญาณหรือที่เรียกว่าบัฟเฟอร์ ก่อนที่จะเจาะลึกเข้าไปในโปรเจ็กต์ ฉันคิดว่าฉันเพียงแค่เปิดใช้งานและปิดใช้งานส่วนประกอบต่างๆ โดยใช้สัญญาณควบคุม แต่พบได้อย่างรวดเร็วในบทความต่างๆ ที่ต้องใช้บัฟเฟอร์เพื่อให้ทำงานสถาปัตยกรรมสไตล์ Von-Neuman นี้ได้อย่างถูกต้อง เนื่องจากคอมพิวเตอร์ใช้บัสที่ใช้ร่วมกันสำหรับข้อมูลเพื่อเดินทางระหว่างโมดูลต่างๆ บนพีซี การซิงโครไนซ์ของรอบจึงถูกกำหนดโดยนาฬิกา อย่างไรก็ตาม การอนุญาตให้จัดเก็บและโหลดเกิดขึ้นได้โดยไม่รบกวนข้อมูลที่มีอยู่บนบัส ฉันพบว่าตัวรับส่งสัญญาณมีความสำคัญต่อการทำหน้าที่เป็นเกท ซึ่งต้องใช้สัญญาณที่เปิดใช้งานเพื่อให้ข้อมูลไหลเข้าสู่บัสได้ทันท่วงที ความสามารถในการอ่านเข้าใจได้ไม่ยากนัก เนื่องจากสายไฟมักจะเก็บค่าไว้บนบัส แต่การใช้ค่าที่ถูกต้องหมายถึงการช่วยให้รีจิสเตอร์สามารถเก็บค่าใหม่ได้
ข้อสรุปสุดท้ายจากการวิจัยในโครงการนี้คือการทำความเข้าใจความแตกต่างของข้อมูลจำเพาะระหว่างชิปที่มีความคล้ายคลึงกัน บ่อยครั้งที่ฉันพบชิปที่มีค่า ID เดียวกัน แต่มีตัวอักษรอธิบายต่างกันเช่น LS และ HC สิ่งที่ฉันได้เรียนรู้คือไม่ใช่แค่การผลิตฉลากเท่านั้น แต่ยังรวมถึงข้อกำหนดด้านเวลาและกำลังของชิปด้วย โชคดีที่คอมพิวเตอร์ของฉันใช้ส่วนประกอบที่ค่อนข้างต่ำและมีความทนทานสูง ฉันไม่จำเป็นต้องกังวลเกี่ยวกับการจับคู่ข้อกำหนดหลายๆ อย่าง แต่ในการออกแบบระดับสูงขึ้น ฉันได้เรียนรู้ว่าสิ่งต่างๆ เช่น ความเร็วสัญญาณนาฬิกาและการดึงกำลังมีความสำคัญต่อความสำเร็จหรือความล้มเหลวของอิเล็กทรอนิกส์ ออกแบบ
ขั้นตอนที่ 2: พบความยากลำบาก
ในโครงการได้อย่างรวดเร็วพอสมควร ฉันสามารถออกแบบส่วนประกอบง่ายๆ เช่น นาฬิกาจับเวลาสำหรับกระบวนการซิงโครไนซ์ และสถาปัตยกรรมหน่วยความจำพื้นฐาน แต่จำเป็นต้องสั่งซื้อชิ้นส่วนควบคู่ไปกับภาคเรียนที่หนักหน่วงทำให้การจัดสรรเวลานอกของโครงการทำได้ยาก กำหนดการให้แล้วเสร็จ หลังจากความพ่ายแพ้ครั้งใหญ่ครั้งแรกของฉันจากการต้องรอถึงหนึ่งสัปดาห์กว่าชิ้นส่วนจะมาถึง ฉันก็เลยต้องเลี่ยงความล่าช้าเพิ่มเติมด้วยการสั่งซื้อชิ้นส่วนทั้งหมดที่ฉันคิดว่าจะต้องทำโปรเจ็กต์นี้ให้เสร็จ ซึ่งกลับกลายเป็นว่ามีประโยชน์เพราะฉันไม่ต้องเจอกับความล่าช้าอีกต่อไปจนกว่าจะเผยแพร่. หลังจากเรียนรู้วิธีพื้นฐานในการดีบักเช่นกัน ฉันเริ่มมองข้ามการประกอบบางอย่าง ซึ่งหมายถึงต้องย้อนกลับไปดูวิดีโออีกครั้งเพื่อตรวจหาข้อผิดพลาด ซึ่งมักจะนำไปสู่การแยกส่วนกระดานส่วนใหญ่ สิ่งนี้ไม่มีทางลัด ฉันได้เรียนรู้ถึงคุณค่าในการตรวจสอบความก้าวหน้าของคุณในการสร้างอุปกรณ์อิเล็กทรอนิกส์ใดๆ ด้วยการดีบักแต่ละบอร์ดไปพร้อมกัน ฉันสามารถดำเนินการต่อเพื่อรวมบอร์ดเหล่านั้นเข้าด้วยกันได้อย่างมั่นใจมากขึ้น จากนั้นการดีบักบอร์ดที่รวมกันก็ง่ายขึ้นมาก
ขั้นตอนที่ 3: ความสำเร็จและการไตร่ตรอง
โดยรวมแล้ว ฉันได้ทำนาฬิกา, opcode และตัวนับโปรแกรม, หน่วย ALU, การลงทะเบียน rs rt และ rd และ RAM เรียบร้อยแล้ว นอกจากจะต้องทำบัสและอุปกรณ์ต่อพ่วงให้แล้วเสร็จเพื่อที่จะทำโปรเจ็กต์นี้ให้เสร็จ ฉันยังได้เรียนรู้มากมายเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์ ซึ่งฉันหวังว่าจะได้เรียนวิชาเลือกปีสุดท้ายในหลักสูตรสถาปัตยกรรมคอมพิวเตอร์
M5 จัดหาเครื่องมือที่จำเป็นทั้งหมดให้ฉันทำงานในโครงการของฉัน และส่วนประกอบต่างๆ ก็ถูกจัดวางอย่างดีตามผนังชิ้นส่วน ดังนั้นฉันจึงรู้ตั้งแต่เนิ่นๆ เกี่ยวกับชิ้นส่วนที่ต้องสั่งซื้อและสิ่งที่จ่ายได้ ถ้านักเรียนคนอื่นทำโครงงานนี้ ฉันจะทราบแน่นอนว่าโครงการนี้ใช้เวลานานหากคุณพยายามทำความเข้าใจทุกสิ่งที่เกิดขึ้นบนคอมพิวเตอร์ ไม่ใช่เรื่องยาก แต่ต้องได้รับการดูแลหากคุณต้องการให้ทำงานสำเร็จ ฉันขอแนะนำอย่างยิ่งให้ไปที่เพลย์ลิสต์วิดีโอในช่อง YouTube ของ Ben Eater เพื่อทำความเข้าใจส่วนทั้งหมดที่คุณต้องใช้ เพื่อที่คุณจะได้ไม่เสียเวลาหากคุณไม่ได้วางแผนที่จะออกแบบแนวทางของคุณเอง เนื่องจากฉันซื้อชิ้นส่วนส่วนใหญ่มา ฉันจึงวางแผนที่จะนำสิ่งนี้ติดตัวไปด้วยเพื่อให้เสร็จตามเวลาของตัวเอง แต่คงจะดีถ้าจะยอมให้นักเรียนคนอื่นทำจนเสร็จ ซึ่งจะทำให้การออกแบบชิ้นส่วนที่เหลือมีแสงน้อย แต่เน้นที่ภาษาแอสเซมบลีมาก ซึ่งโชคดีที่ได้ทำงานในชั้นเรียนอื่น
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง