พอร์ตอินพุต-เอาท์พุต


        อุปกรณ์ภายนอกที่ต้องการส่งถ่ายข้อมูลกับซีพียู จะต้องใช้ไอซีพอร์ต (Port) เป็นตัวกลางในการส่งผ่านข้อมูล โดยพอร์ตจะทำหน้าที่เป็นช่องทางผ่านของข้อมูลที่จะเข้ามายังซีพียู หรือข้อมูลที่จะส่งออกจากซีพียู เหตุที่เราไม่ทำการต่ออุปกรณ์ภายนอกเข้ากับ Z80 โดยตรงเนื่องจากสาเหตุหลัก 3 ประการ คือ
               1.) ระดับสัญญาณของอุปกรณ์ภายนอกอาจไม่เหมาะสมกับ Z80
               2.) อุปกรณ์ภายนอกอาจดึงกระแสจาก Z80 จนอาจทำให้สัญญาณของระบบผิดพลาด
               3.) การส่งข้อมูลออก ถ้าอุปกรณ์ภายนอกไม่มีการเก็บข้อมูลไว้ จะทำให้ Z80 ต้องค้างสถานะข้อมูลให้เก็บอุปกรณ์ภายนอกตลอดเวลา จนไม่สามารถทำงานอื่นได้

        ลักษณะของพอร์ตจะมี 2 ชนิด คือ พอร์ตอินพุต และ พอร์ตเอาท์พุต

รูปแสดงพอร์ตอินพุต และ พอร์ตเอาท์พุต

        พอร์ตอินพุต คือ ช่องทางสำหรับนำข้อมูลจากอุปกรณ์ภายนอกเข้ามายังซีพียู
        พอร์ตเอาท์พุต คือ ช่องทางสำหรับนำข้อมูลออกมาซีพียู เพื่อส่งไปให้อุปกรณ์ภายนอกโดยการส่งถ่ายข้อมูลระหว่างพอร์ตกับอุปกรณ์ภายนอกมี 2 ระบบ คือ
               1.) แบบขนาน คือการส่งผ่านข้อมูลหลายบิตพร้อมกันในคราวเดียว ซึ่งจะส่งข้อมูลได้รวดเร็วแต่ต้องใช้สายส่งข้อมูลหลายเส้น
               2.) แบบอนุกรม เป็นการส่งผ่านข้อมูลทีละบิตเรียงกันไป จึงส่งข้อมูลได้ช้ากว่าแต่จะใช้สายส่งข้อมูลน้อยกว่าแบบขนาน

รูปแสดงการส่งข้อมูลแบบขนานและแบบอนุกรม

        ลักษณะของพอร์ตอินพุตและพอร์ตเอาท์พุต ที่ส่งข้อมูลแบบขนานเท่านั้น ไอซีที่นิยมใช้เป็นพอร์ตอินพุตคือ ไอซีบัพเฟอร์แบบ 3 สถานะ (Tri State Buffer) เช่น ไอซี 74LS244 และ 74LS45 ซึ่งภายในจะประกอบด้วยบัพเฟอร์จำนวน 8 ตัวเพื่อรองรับอินพุต 8 ช่องสัญญาณ การทำงานของพอร์ตอินพุตคือเมื่อพอร์ตไม่ถูกเลือกให้ทำงาน ไอซีพอร์ตจะอยู่ในสถานะความต้านทานสูง (High impedance) เสมือนว่าไม่ได้ต่อเข้ากับระบบ ซึ่งเรียกว่าสภาวะลอยตัว (Floating) เมื่อมีสัญญาณเลือกพอร์ตมากระตุ้นให้ทำงาน พอร์ตจึงเชื่อมต่อเข้ากับบัสข้อมูลของระบบ โดยส่งข้อมูลออกมาที่บัสข้อมูลและซีพียูจะอ่านข้อมูลเข้าไป จุดเด่นของการใช้บัพเฟอร์เป็นพอร์ตอินพุต คือ บัพเฟอร์จะเปรียบเสมือนกันชนระหว่างอุปกรณ์อินพุตกับระบบของ Z80 ทำให้สัญญาณทั้ง 2 ด้านไม่กระทบกัน สัญญาณในระบบคอมพิวเตอร์จึงไม่เกิดความผิดพลาด สำหรับลักษณะของไอซี 74LS44 และ 74LS245 จะเป็นดังรูป

รูปแสดงขาใช้งานของไอซีพอร์ตอินพุต 74LS244 และ 74LS245

        จากรูป จะเห็นว่าไอซีพอร์ต 74LS244 จะมีช่องต่อข้อมูล 2 ชุด คือ ชุดที่ 1 ประกอบด้วยขา 1A1 ถึง 1A4 เป็นด้านอินพุตและขา 1Y1 ถึง 1Y4 เป็นด้านเอาท์พุต โดยมีขา 1G เป็นขาควบคุมการปล่อยสัญญาณ ชุดที่ 2 ประกอบด้วยขา 2A1 ถึง 2A4 เป็นด้านอินพุต และ ขา 2Y1 ถึง 2Y4 เป็นด้านเอาท์พุต โดยมีขา 2G เป็นขาควบคุมการปล่อยสัญญาณ
        ส่วนไอซี 74LS245 จะมีขาเพียงชุดเดียว และควบคุมการส่งข้อมูลทั้ง 8 บิตด้วยขา G ไอซี 74LS245 จะสามารถควบคุมการส่งข้อมูลได้ 2 ทิศทางโดยใช้ขา DIR เป็นตัวกำหนดทิศทางถ้าให้ขา DIR มีสถานะเป็นลอจิก 0 จะเป็นการส่งข้อมูล จาก A ไป B แต่ถ้ากำหนดให้ขา DIR มี สถานะลอจิก 1 จะเป็นการส่งข้อมูลจาก B ไป A
        สำหรับไอซีที่ใช้เป็นพอร์ตเอาท์พุตพื้นฐาน คือ D ฟลิปฟลอป ซึ่งเก็บสถานะข้อมูลได้โดยไอซีที่นิยมใช้คือ เบอร์ 74LS373 และ 74LS374 ดังรูป

รูปแสดงขาใช้งานของไอซีพอร์ตอินพุต 75LS373 และ 74LS374

        ไอซี 74LS373 จะเป็น D-FlipFlop แบบ 3 สถานะจำนวน 8 ตัว (Octal Tri State FlipFlop)มีขา D0-D7 เป็นขาอินพุตและขา Q0-Q7 เป็นขาเอาท์พุต โดยจะใช้ขา OC เป็นขาควบคุมการเก็บข้อมูล (Output Collect) และขา G เป็นขาอีนาเบิล ส่วนไอซี 74LS374 จะมีโครงสร้างภายในและการทำงาน เช่นเดียวกับ 74LS373 เพียงแต่จะใช้สัญญาณนาฬิกา CLK ในการกำหนดการเก็บข้อมูล สำหรับการทำงานของไอซีกับระบบคือ เมื่อมีสัญญาณเลือกพอร์ตเข้ามาที่ขา OC และขา G จะทำให้ข้อมูลบนบัสข้อมูลที่ต่อเข้ากับขา D0-D7 ถูกเก็บค่าไว้ที่เอาท์พุต Q0-Q7 ของ ฟลิปฟลอปและถูกส่งไปยังอุปกรณ์ภายนอกที่ต่ออยู่ โดยสถานะของข้อมูลที่ส่งออกไปจะมีสถานะค้างไว้ตลอดไม่ว่าหลังจากนั้นข้อมูลที่บัสข้อมูลที่ต่อกับขาอินพุต D0-D7 จะเปลี่ยนแปลงเช่นไร และจะเปลี่ยนแปลงค่าใหม่ก็ต่อเมื่อมีสัญญาณมากระตุ้นพอร์ตให้เก็บค่าอีกครั้ง