580 likes | 709 Views
บทที่ 1. บทนำ จากศูนย์ถึงหนึ่ง. Digital System Engineering. บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน. การออกแบบวงจรหรือระบบขนาดใหญ่ๆ มนุษย์ไม่มีความสามารถหรือมีเครื่องมือที่มีประสิทธิภาพมากพอที่จะมาใช้คำนวณหรือพิจารณารายละเอียดได้ทุกอย่างได้
E N D
บทที่ 1. บทนำ จากศูนย์ถึงหนึ่ง Digital System Engineering
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน • การออกแบบวงจรหรือระบบขนาดใหญ่ๆ มนุษย์ไม่มีความสามารถหรือมีเครื่องมือที่มีประสิทธิภาพมากพอที่จะมาใช้คำนวณหรือพิจารณารายละเอียดได้ทุกอย่างได้ • ตัวอย่างเช่น จำนวนทรานซิสเตอร์ใน CPU Core i7 ของบริษัท Intel มีทั้งหมด 731 ล้านตัวในการออกแบบ CPU วิศวกรไม่สามารถที่จะคำนวณหาขนาดของกระแส หรือผลตอบสนองความถี่ของวงจรทรานซิสเตอร์ทุกตัวใน Core i7 พร้อมกันได้ เนื่องจากมีความยุ่งยากและซับซ้อนมากเกินไป • ดังนั้นในการออกแบบวงจรหรือระบบขนาดใหญ่ เราจำเป็นจะต้องพัฒนาวิธีหรือเทคนิคที่ใช้ลดความซับซ้อนให้น้อยลง โดยที่ยังคงความสามารถในการออกแบบระบบขนาดใหญ่ให้ทำงานได้อย่างถูกต้องและเชื่อถือได้
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน • เทคนิคที่นิยมใช้กัน คือการแบ่งระดับการคำนวณหรือการวิเคราะห์ออกเป็นลำดับชั้น โดยที่ชั้นที่อยู่ด้านล่างจะเป็นชั้นของการคำนวณหรือวิเคราะห์ในรายละเอียด ส่วนชั้นที่อยู่ด้านบนก็จะเป็นการนำเอาผลลัพธ์ของการคำนวณหรือการวิเคราะห์ไปใช้งาน • การแบ่งการวิเคราะห์หรือการคำนวณเป็นลำดับชั้นลักษณะนี้มีข้อดีคือเป็นการซ่อนรายละเอียดที่ยุ่งยากซับซ้อนไว้ในชั้นระดับล่าง ทำให้การออกแบบวงจรหรือระบบในระดับที่สูงขึ้นมีความซับซ้อนน้อยลง • การซ่อนรายละเอียดที่ยุ่งยากซับซ้อนไว้ในชั้นระดับล่างนี้เราเรียกว่า ระดับชั้นนามธรรม (Abstraction)
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน • ระดับชั้นนามธรรมในการออกแบบระบบ Digital สามารถแบ่งออกเป็นทั้งหมด 9 ระดับชั้น • โดยเริ่มจากชั้นล่างสุดคือชั้นฟิสิกส์ซึ่งเป็นการวิเคราะห์พฤติกรรมต่างๆของโฮลและอิเล็กตรอน ในสารกึ่งตัวนำ ไปจนถึงชั้นบนสุดคือการเขียนโปรแกรมประยุกต์ในคอมพิวเตอร์ • การแบ่งเป็นระดับชั้นนามธรรมทำให้โปรแกรมเมอร์สามารถที่จะเขียนโปรแกรมประยุกต์ได้โดยที่ไม่จำเป็นต้องมีความรู้เกี่ยวกับทฤษฎีสารกึ่งตัวนำแม้แต่น้อย
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน • ในทางกลับกันวิศวกรหรือนักฟิสิกส์ก็สามารถที่จะออกแบบทรานซิสเตอร์หรือ MOSFET ตัวใหม่ที่ทำงานได้เร็วมากขึ้น หรือใช้พลังงานน้อยลง โดยไม่ต้องไปสนใจว่าจะทรานซิสเตอร์หรือ MOSFET ที่ออกแบบจะถูกนำไปใช้กับคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ Windows หรือ Mac OS X
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนPhysics Abstraction • ในระดับฟิสิกส์เราสามารถอธิบายพฤติกรรมต่างๆของโฮลและอิเล็กตรอนโดยใช้ทฤษฎีของ Quantum และสมการของ Maxwell
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนDevice Abstraction • เราสามารถอธิบายการทำงานของอุปกรณ์ต่างๆเช่น Diode หรือ Transistor จากความสัมพันธ์ระหว่างแรงดันและกระแสที่ขาต่างๆของอุปกรณ์
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนAnalog Circuit Abstraction • เราสามารถนำเอาอุปกรณ์ต่างๆมาเชื่อมต่อเข้าด้วยกันให้กลายเป็นวงจร • การทำงานของวงจรอนาลอกสามารถดูได้จากความสัมพันธ์ระหว่างสัญญาณ Input และ Output เช่นค่าอัตราขยายแรงดัน
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนDigital Circuit Abstraction • เราสามารถนำวงจรอนาลอกมาสร้างเป็นโลจิกเกตต่างๆเช่น NOT, AND, และ OR gate • การทำงานของโลจิกเกตต่างๆสามารถดูได้จากตาราง Truth Table
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อน ความแตกต่างระหว่างสัญญาณ Analog และ Digital สัญญาณ Analog เป็นสัญญาณที่มีความต่อเนื่อง (Continuous) ทั้งในแกนเวลาและแอมปลิจูด สัญญาณ Digital เป็นสัญญาณที่มีความไม่ต่อเนื่อง (Discrete) ทั้งในแกนเวลาและแอมปลิจูด
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนLogic Abstraction • ในระดับโลจิก เป็นการนำเอาโลจิกเกตต่างๆมาต่อรวมกันให้กลายเป็นวงจรโลจิกแบบง่ายๆเช่นวงจร Adder, ALU, หรือ Memory • เราสามารถศึกษาการทำงานของวงจรโลจิกได้จาก Timing Diagram หรือ Truth Table
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนMicroarchitecture Abstraction • ในระดับ Microarchitectureเป็นการนำเอาวงจรโลจิกมาต่อรวมกันเพื่อให้สามารถทำงานตามคำสั่ง Assembly ได้ • วงจรโลจิกพื้นฐานที่อยู่ใน Microarchitectureมีดังนี้ • Register ทำหน้าที่เก็บข้อมูลชั่วคราว Register สำคัญที่จำเป็นต้องมีคือ • Accumulator ทำหน้าที่เก็บข้อมูลชั่วคราวในระหว่างการประมวลผล
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนMicroarchitecture Abstraction • Program Counter เป็น Register ที่ชี้ตำแหน่งของหน่วยความจำที่ใช้เก็บคำสั่งถัดไป • Arithmetic Logic Unit ทำหน้าที่คำนวณแบบง่ายๆเช่นการบวก, ลบ. OR หรือ AND • นอกจากวงจรโลจิกต่างๆแล้ว ยังจำเป็นต้องมี Data Path หรือ Bus เพื่อทำหน้าที่เป็นเส้นทางการส่งข้อมูล
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนArchitecture Abstraction • ระดับ Architecture เป็นการอธิบายระบบคอมพิวเตอร์ในมุมมองของ Programmer • ตัวอย่างเช่นสถาปัตยกรรม IA-32 ของบริษัท Intel มีดังต่อไปนี้ • สามารถทำงานได้ทั้งหมด 4 โหมดคือ • Protected Mode • Virtual-8086 Mode • Real Address Mode • System Management Mode
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนArchitecture Abstraction • สามารถอ้างหน่วยความจำได้ถึง 4 GB • Register • General-Purpose Registers • Specialized Uses • Segment Registers • Instruction Pointer • EFLAGS Register
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนArchitecture Abstraction • Control Flag • Status Flag • Floating Point Unit (FPU) เป็นData Register พิเศษที่ทำให้สามารถคำนวณแบบ Floating Point ที่รวดเร็ว
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนArchitecture Abstraction • Register อื่นๆ เช่น • 64 bits Registers ที่ใช้งานกับคำสั่งกลุ่ม MMX • 128 bits XMM Registers เพื่อใช้กับคำสั่งชนิด Single-Instruction, Multiple-Data (SIMD)
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนArchitecture vsMicroarchitecture • จากข้อกำหนดต่างๆในระดับชั้น Architecture วิศวกรสามารถนำไปออกแบบ Microarchitectureได้อย่างหลากหลาย • ตัวอย่างเช่นวิศวกรของบริษัท Intel สามารถออกแบบ Micro-architecture จากสถาปัตยกรรม IA-32 กลายเป็น CPU ตระกูล Pentium ต่างๆ
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนOperating System และ Application Abstraction • สำหรับระบบคอมพิวเตอร์ นอกจากวงจรดิจิตอลหรือ Hardware แล้ว สิ่งที่ขาดไม่ได้คือ Software ที่ใช้ควบคุมการทำงาน • ในมุมมองของ Software ระดับชั้นที่อยู่ด้านล่างสุดคือโปรแกรมปฏิบัติการ (OS) • หน้าที่ของ OS คือบริหาร, จัดการ และควบคุมการติดต่อกับ Hardware ทำให้โปรแกรมเมอร์ที่เขียนโปรแกรมประยุกต์ สามารถที่จะเขียนหรืออ่านข้อมูลจากฮาร์ดดิส หรือพิมพ์ภาพออกไปที่พรินเตอร์ ได้โดยไม่จำเป็นต้องเข้าใจการทำงานของฮาร์ดดิสหรือพรินเตอร์เลยแม้แต่น้อย
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนDiscipline • Discipline หมายถึงข้อบังคับของการออกแบบระดับนามธรรมในชั้นล่างเพื่อให้ระดับนามธรรมในชั้นบนสามารถทำงานหรือมีผลผลิตที่ดียิ่งขึ้น เช่น • Digital Discipline (ข้อบังคับดิจิตอล) • วงจรดิจิตอลทำงานกับสัญญาณแบบไม่ต่อเนื่องทำให้สามารถออกแบบได้ง่ายกว่าวงจรอนาลอก • ดังนั้นการนำเอาวงจรดิจิตอลมาเชื่อมต่อกันให้กลายเป็นระบบใหญ่ที่มีความซับซ้อนสูงทำได้ง่ายกว่า
บทที่ 1.2 ศิลปะของการบริหารความซับซ้อนThree – Y’s • การออกแบบระบบที่มีความซับซ้อนมากๆ นอกจากจะต้องใช้หลักการของการแบ่งระดับนามธรรม และข้อบังคับแล้วยังต้องใช้หลักการอีก 3 อย่างคือ • Hierarchy คือการแบ่งระบบออกเป็นโมดูลต่างๆ จากนั้นจึงแบ่งแต่ละโมดูลให้เป็นโมดูลย่อยต่อไปอีก เพื่อให้ได้โมดูลย่อยที่มีความเรียบง่ายมากยิ่งขึ้น • Modularity แต่ละโมดูลจะต้องถูกออกแบบอย่างดีที่สุดเพื่อให้สามารถทำงานได้อย่างถูกต้องเพื่อลดปัญหาของการนำไปใช้งาน และออกแบบวิธีการเชื่อมต่อกับโมดูลอื่นๆเพื่อให้สามารถนำเอาโมดูลทั้งหมดมาเชื่อมต่อกันเป็นระบบใหญ่ • Regularity ในระบบใหญ่ๆมักจะประกอบด้วยโมดูลจำนวนมากที่มีการทำงานคล้ายๆกัน และโมดูลเหล่านี้มักถูกนำไปใช้งานหลายครั้ง ดังนั้นเพื่อเป็นการลดเวลาในการออกแบบระบบขนาดใหญ่ จึงควรออกแบบและใช้งานโมดูลร่วม (Common Module) ที่สามารถนำไปใช้งานได้หลายครั้ง
บทที่ 1.3 นามธรรมเชิงดิจิตอล • ตัวแปรทางฟิสิกส์ส่วนใหญ่เช่นความดัน, ความร้อน มักมีค่าที่ต่อเนื่อง • ในทางตรงกันข้ามระบบ Digital เป็นระบบที่แสดงข่าวสารโดยใช้ตัวแปรค่าไม่ต่อเนื่อง (Discrete Valued Variable) • ตัวแปรชนิดค่าไม่ต่อเนื่องสามารถแสดงค่าหรือข้อมูลได้ในจำนวนจำกัดเช่น • ตัวแปรค่าไม่ต่อเนื่องขนาด 1 bit สามารถแสดงค่าหรือข้อมูลได้เพียง 2 ค่าเท่านั้นคือ 0 หรือ 1, ถูก หรือ ผิด, ซ้าย หรือ ขวา
บทที่ 1.3 นามธรรมเชิงดิจิตอล • ถ้าต้องการแสดงสีรุ้งที่มี 7 สีจะต้องใช้ตัวแปรค่าไม่ต่อเนื่องขนาดอย่างน้อย 3 bit • ถ้าต้องการแสดงตัวเลข 0 ถึง 9 จะต้องใช้ตัวแปรค่าไม่ต่อเนื่องขนาดอย่างน้อย 4 bit คือ 0000 = 0, 0001 = 1, 0010 = 2, 0011 = 3, 0100 = 4, 0101 = 5, 0110 = 6, 0111 = 7, 1000 = 8, 1001 = 9
บทที่ 1.3 นามธรรมเชิงดิจิตอล • จากตัวอย่างจะเห็นว่าถ้าต้องการแสดงค่า N ค่า จะต้องใช้ตัวแปรค่าไม่ต่อเนื่องที่มีจำนวนบิทมากกว่าหรือเท่ากับที่จำเป็นต้องใช้เสมอ ตัวอย่างเช่นการแสดงตัวเลข 0-9 จำนวน 10 ค่า แต่ต้องใช้ตัวแปรค่าไม่ต่อเนื่องขนาด 4 บิทซึ่งสามารถแสดงค่าได้ทั้งหมด 16 ค่า • จำนวนบิทที่แท้จริงที่ใช้สำหรับแสดงค่า N ค่าเราจะเรียกว่าปริมาณข่าวสาร (information) สามารถคำนวณได้จาก
บทที่ 1.3 นามธรรมเชิงดิจิตอล • ตัวอย่างด้านบนแสดงข้อดีของการใช้นามธรรมดิจิตอลนั่นคือตัวแปรค่าไม่ต่อเนื่องสามารถนำไปใช้แสดงค่าทางฟิสิกส์ต่างๆเช่นความร้อนหรือสี หรือข่าวสารต่างๆเช่นตัวเลข 0-9 • และเนื่องจากตัวแปรค่าไม่ต่อเนื่องสามารถแสดงในรูปของเลขฐาน 2 หรือโลจิก 0 และ 1 จำนวนหลายๆบิทเรียงต่อกัน • จากเหตุผลทั้ง 2 ข้อ เราจึงสามารถออกแบบระบบคอมพิวเตอร์เพื่อใช้คำนวณตัวเลข, เก็บข้อมูลอุณหภูมิของผู้ป่วยในโรงพยาบาล หรือสีของรถที่ผลิตจากโรงงาน
บทที่ 1.4 ระบบตัวเลขระบบเลขฐาน 10 • เลขฐาน 10 แต่ละหลักมีค่าได้ตั้งแต่ 0 ถึง 9 • เลขฐาน 10 N หลัก สามารถแสดงค่าได้ตั้งแต่ 0 ถึง 10N-1
บทที่ 1.4 ระบบตัวเลขระบบเลขฐาน 2 • เลขฐาน 2 เป็นระบบที่แต่ละหลักมีค่า 0 หรือ 1 • เลขฐาน 2 N หลักสามารถแสดงค่าได้ตั้งแต่ 0 ถึง 2N-1
บทที่ 1.4 ระบบตัวเลขระบบเลขฐาน 2
บทที่ 1.4 ระบบตัวเลขระบบเลขฐาน 16 • เลขฐาน 16 แต่ละหลักใช้แสดงเลขฐาน 2 จำนวน 4 bit ดังนั้นเลขฐาน 16 แต่ละหลักจะสามารถแสดงค่าได้ตั้งแต่ 0 ถึง 15
บทที่ 1.4 ระบบตัวเลขBytes, Nibbles, และอื่นๆ • ตัวเลขในระบบดิจิตอลมักประกอบด้วยเลขฐาน 2 จำนวนหลายบิท เช่น ตัวเลขขนาด 8 bit, 16 bit หรือ 32 bit • ชื่อที่ใช้เรียกเลขฐาน 2 ขนาดต่างๆมีดังนี้ • 4 bit – Nibble • 8 bit – Byte • word หมายถึงขนาดของเลขฐาน 2 ที่ Microprocessor ถูกออกแบบมาให้ประมวลผลในแต่ละคำสั่ง ตัวอย่างเช่น MCS51 ถูกออกแบบมาให้แต่ละคำสั่งสามารถประมวลผลเลขฐาน 2 ขนาด 8 bit ส่วน Pentium ถูกอออกแบบมาให้ประมวลผลเลขฐาน 2 ขนาด 32 bit
บทที่ 1.4 ระบบตัวเลขBytes, Nibbles, และอื่นๆ • ในระบบตัวเลขทุกระบบ หลักที่อยู่ด้านขวามือสุดจะเป็นหลักที่มีความสำคัญน้อยที่สุด (Least Significant) เนื่องจากถ้าการบันทึกหรือประมวลผลค่าในหลักนี้เกิดการผิดพลาด จะส่งผลให้ค่าทั้งหมดเกิดการผิดพลาดไม่มาก เช่น ค่า 103910บันทึกเป็น 103710ค่าความผิดพลาดคือ 210 • ส่วนหลักที่อยู่ด้านซ้ายมือสุดจะเป็นหลักที่มีความสำคัญมากที่สุดเนื่องจากถ้ามีการผิดพลาดที่หลักนี้จะทำให้เกิดความผิดพลาดมากที่สุดเช่น ค่า 103910บันทึกเป็น 303910ค่าความผิดพลาดคือ 200010
บทที่ 1.4 ระบบตัวเลขการบวกเลขฐาน 2 • การบวกเลขฐาน 2 คล้ายกับการบวกเลขฐาน 10 แต่ง่ายกว่าเนื่องจากแต่ละหลักมีค่าได้เพียง 0 หรือ 1 เท่านั้น • เนื่องจากระบบดิจิตอลทุกระบบถูกออกแบบมาให้สามารถประมวลผลเลขฐาน 2 ที่ขนาดตายตัว ยกตัวอย่างเช่น MCS51 ถูกออกแบบมาให้ประมวผลเลขฐาน 2 ขนาด 8 bit แต่ในบางครั้งการบวกเลขฐาน 2 อาจจะทำให้ได้ค่าผลลัพธ์ที่มีจำนวนบิทมากกว่าที่ระบบดิจิตอลสามารถรับได้ เราจะเรียกว่าการเกิด Over Flow เราสามารถตรวจสอบการเกิด Over Flow ได้โดยการตรวจสอบตัวทดที่ออกมาจาก MSB
บทที่ 1.4 ระบบตัวเลขเลขฐาน 2 แบบคิดเครื่องหมาย • เลขฐาน 2 แบบคิดเครื่องหมาย หมายถึงเลขฐาน 2 ที่สามารถใช้แสดงเลขจำนวนเต็มบวก และเลขจำนวนเต็มลบ • เลขฐาน 2 แบบคิดเครื่องหมายที่นิยมใช้กันมีอยู่ 2 แบบคือ • Sign/Magnitude Number เป็นระบบที่ใช้ MSB เป็นเครื่องหมาย และใช้ N-1 bit ที่เหลือเป็นค่าปกติ ตัวอย่างเช่น และ • ข้อเสียของระบบนี้คือมี 0 อยู่ 2 ค่าคือ 00002=+010และ 10002=-010และไม่สามารถนำมาใช้ในการบวกลบเลขฐาน 2 แบบปกติได้เช่น
บทที่ 1.4 ระบบตัวเลขเลขฐาน 2 แบบคิดเครื่องหมาย • 2’s Complement Number เป็นมีการคิดค่าคล้ายกับระบบเลขฐาน 2 แบบไม่คิดเครื่องหมาย เพียงแต่ค่าของ MSB จะต้องคูณด้วย -2N-1 • ตัวอย่างเช่น • การแปลง 2’s complement มี 2 ขั้นตอนคือ การกลับบิท และการบวก 1 • การบวกเลข 2’s complement สามารถบวกได้แบบปกติคือ
บทที่ 1.4 ระบบตัวเลขเลขฐาน 2 แบบคิดเครื่องหมาย • ในกรณีของการบวกเลข 2’s complement ตัวทดจาก MSB ไม่ได้เกี่ยวข้องกับการเกิด Over Flow • ระบบเลข 2’s Complement ขนาด N bit สามารถแสดงค่าได้ระหว่าง -2N-1ถึง 2N-1-1 • ระบบเลข 2’s complement สามารถเกิด Over Flow ได้เช่นกันเช่น • เราสามารถตรวจสอบการเกิด Over Flow ของ 2’s Complement ได้โดยการ XOR กับตัวทดของบิทMSB กับบิทMSB-1 1 XOR 0 = 1 เกิด Over Flow
บทที่ 1.5 โลจิกเกต • คุณสมบัติทางอนาลอกของ Buffer คือทำหน้าที่เป็นตัวขับกระแสให้กับภาค Output ไปยังมอเตอร์หรือ รีเลย์ เป็นต้น หรือทำหน้าที่เป็นตัวจ่ายโลจิกให้กับ Input ของโลจิกเกตหลายๆตัว จุดประสงค์เพื่อให้ค่าโลจิกสามารถเปลี่ยนได้รวดเร็วขึ้น
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลSupply Voltage • ทิศทางการพัฒนาระบบดิจิตอลจะพยายามลดแรงดันไฟเลี้ยง VDDให้น้อยลงเรื่อยๆ เพื่อลดอัตราการใช้พลังงาน ตัวอย่างเช่นถ้าลดแรงดันไฟเลี้ยงจาก 5V ลงเหลือ 3.3V จะทำให้อัตราการใช้พลังงานลดลง 60% (อัตราการใช้พลังงานแปรผันตรงกับกำลัง 2 ของไฟเลี้ยง)
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลLogic Level • ระดับแรงดันของโลจิก 0 และ 1 จะขึ้นกับแรงดันไฟเลี้ยง โดยมีรายละเอียดดังต่อไปนี้ • VOL หมายถึงระดับแรงดันไฟสูงสุดทางด้าน Output สำหรับโลจิก 0 • VOH หมายถงระดับแรงดันไฟต่ำสุดทางด้าน Output สำหรับโลจิก 1 • VIL หมายถึงระดับแรงดันไฟสูงสุดทางด้าน Input สำหรับโลจิก 0 • VIH หมายถึงระดับแรงดันไฟต่ำสุดทางด้าน Input สำหรับโลจิก 1 • Forbidden Zone หมายถึงช่วงของแรงดันที่บอกไม่ได้ว่าเป็นโลจิก 0 หรือ 1 เป็นช่วงต้องห้ามของระบบดิจิตอล
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลNoise Margin • วงจรดิจิตอลจะมีความทนทานต่อสัญญาณรบกวนได้สูงกว่าวงจรอนาลอก ตัวอย่างเช่น ถ้าสัญญาณโลจิก 0 ที่ป้อนให้กับโลจิกเกตถูกรบกวนทำให้ระดับแรงดันเกิดการเปลี่ยนแปลง แต่ถ้าการเปลี่ยนแปลงของแรงดันมีค่าไม่เกินค่า VIL สัญญาณโลจิกยังคงถูกมองว่าเป็นโลจิก 0 • ดังนั้นสัญญาณรบกวนที่สามารถรบกวนวงจรดิจิตอลได้จะต้องมีขนาดใหญ่มาก • ขนาดสัญญาณรบกวนที่สามารถรบกวนวงจรดิจิตอลได้ในกรณีที่แย่ที่สุด เราเรียกว่า Noise Margin • NML=VIL-VOL • NMH=VOH-VIH
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลDC Transfer Characteristics • DC Transfer Characteristics หมายถึงความสัมพันธ์ระหว่างแรงดันทางด้าน Input (V(A)) และ Output (V(Y)) • ตัวอย่างเช่นแรงดัน Output ของ NOT gate ในอุดมคติจะมีการเปลี่ยนแปลงค่าเมื่อแรงดัน Input มีค่าเท่ากับ VDD/2 • โดยที่ V(Y) = 0 ถ้า V(A) มีค่ามากกว่า VDD/2 • และ V(Y) = VDDถ้า V(A) มีค่าน้อยกว่า VDD/2
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลDC Transfer Characteristics • แต่ในทางปฏิบัติแรงดันด้าน Output มีการเปลี่ยนแปลงแบบไม่ทันทีทันใด • ถ้า V(A)=0 จะทำให้ V(Y) = VDD • และเมื่อ V(A) มีค่าเพิ่มขึ้นจะทำให้ V(Y) มีค่าค่อยๆลดลง • V(Y) จะลดลงเหลือ 0 เมื่อ V(A) เท่ากับ VDD • นอกจากนี้จุดศูนย์กลางของการเปลี่ยนแปลงอาจจะไม่ได้อยู่ที่ V(A) = VDD/2ดังนั้นจึงเป็นเรื่องยากที่จะกำหนดแรงดันของโลจิก
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลDC Transfer Characteristics • จุดที่ดีที่สุดในการกำหนดค่าโลจิกคือจุดที่ความชันของ DC Transfer Characteristics dV(Y)/dV(A) มีค่าเท่ากับ -1 • เราเรียก 2 จุดนี้ว่าจุด Unity Gain การเลือก 2 จุดนี้จะทำให้ได้ค่า Noise Margin สูงสุด • โดยที่จุดแรกเป็นจุดที่ใช้กำหนดค่า VILและ VOH • ส่วนจุดที่ 2 คือจุดที่ใช้กำหนดค่า VIHและ VOL
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลStatic Discipline • Static Discipline หมายถึงกฎเกณฑ์ที่ป้องกันไม่ให้สัญญาณ Input ตกอยู่ใน Forbidden Zone • หรือหมายความว่าถ้าเราป้อนสัญญาณ Input ที่ถูกต้องแล้ว (สัญญาณ Input ไม่อยู่ใน Forbidden Zone) อุปกรณ์ทุกตัวในวงจรจะต้องให้สัญญาณ Output ที่ถูกต้องด้วยเช่นกัน (สัญญาณ Output ต้องไม่อยู่ใน Forbidden Zone) • ข้อดีของกฎเกณฑ์นี้คือทำให้การออกแบบระบบดิจิตอลทำได้ง่ายและมีความทนทานสูง
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลStatic Discipline • เพื่อป้องกันความผิดพลาด โลจิกเกตจะถูกแบ่งออกเป็น Logic Family ต่างๆ โดยที่โลจิกเกตที่อยู่ใน Logic Family เดียวกันจะถูกออกแบบมาให้เป็นไปตามกฎเกณฑ์ของ Static Discipline • ในการออกแบบระบบดิจิตอลเราควรจะเลือกใช้โลจิกเกตที่อยู่ใน Logic Family เดียวกัน
บทที่ 1.6 ภายใต้นามธรรมเชิงดิจิตอลStatic Discipline • ในกรณีที่จำเป็นจะต้องเลือกใช้โลจิกเกตที่อยู่ต่าง Logic Family กันจำเป็นจะต้องทำการตรวจสอบว่า โลจิกเกตที่อยู่ต่าง Family กันนั้นมีความเข้ากันได้ (Compatibility) หรือไม่
บทที่ 1.7 CMOS Transistor • ระบบคอมพิวเตอร์สมัยใหม่มี Transistor เป็นอุปกรณ์พื้นฐาน • Transistor ทำหน้าที่เป็นสวิทช์อิเล็กทรอนิกส์ในการ เปิดหรือปิด แรงดันหรือกระแส ของวงจรภายใน • Transistor ที่นิยมใช้ในปัจจุบันมีอยู่ 2 ชนิดคือ Bipolar Transistor และ Metal-Oxide-Semiconductor Field Effect Transistor (MOSFET)
บทที่ 1.7 CMOS Transistorn-MOS และ p-MOS Transistors • MOSFET เปรียบเสมือนกับสวิทซ์ที่ถูกควบคุมโดยแรงดันของขา Gate • แรงดันของขา Gate จะสร้างสนามไฟฟ้าเพื่อไป เปิด/ปิด การเชื่อมต่อระหว่างขา Source และ Drain
บทที่ 1.7 CMOS Transistorn-MOS และ p-MOS Transistors พิจารณาการทำงานของ n-MOS • โดยปกติชั้น Substrate ของ n-MOS จะต่ออยู่กับกราวด์ • จากนั้นจึงต่อขา Gate กับกราวด์เช่นกัน • เนื่องจากแรงดันของขา Source และ Drain มีค่าเป็นบวก ดังนั้นจึงทำให้ Diode ที่อยู่ระหว่าง Source กับ Substrate หรือ Drain กับ Substrate เป็น Reverse Bias ดังนั้นจึงไม่มีกระแสไหลผ่าน Source และ Drain จึงเปรียบเสมือนกับเป็นการปิดสวิทซ์
บทที่ 1.7 CMOS Transistorn-MOS และ p-MOS Transistors จากนั้นจึงพิจารณาในกรณีที่ขา Gate ต่อกับ VDD • เมื่อแรงดันขา Gate เป็นบวกเทียบกับชั้น Substrate จะทำให้เกิดสนามไฟฟ้าขึ้น โดยที่ประจุบวกจะอยู่ที่ชั้นของ Gate และประจุลบจะอยู่ที่ชั้นของ Substrate • ถ้าแรงดันที่ป้อนให้กับ Gate มีค่ามากพอจะทำให้เกิดประจุลบจำนวนมากอยู่ใต้ชั้นของ Gate ทำให้บริเวณของ Substrate ที่อยู่ใต้ Gate เกิดเป็น n-type เราจะเรียกบริเวณดังกล่าวว่า Channel