Memory & I/O Mapping (Z80)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter 2 Process Pisit Nakjai.
Advertisements

 เครือข่ายคอมพิวเตอร์  การที่ระบบเครือข่ายมีบทบาทและ ความสำคัญเพิ่มขึ้น เพราะไมโครคอมพิวเตอร์ได้รับ การใช้งานอย่างแพร่หลาย จึงเกิดความต้องการที่จะ.
จัดทำโดย น. ส. ดวงกมล งามอยู่เจริญ เลขที่ 8 น. ส. ณัชชา เชื้อตา เลขที่ 6 เตรียมบริหารธุรกิจปี 1.
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
วัตถุประสงค์ 1. แสดงรายการของโปรแกรม ที่และสถานการทำงานของ โปรแกรม 2. แสดงรายการบริการที่มี บน ระบบปฏิบัติการ 3. แสดงกราฟการใช้ ตัว ประมวลผล 4. แสดงกราฟการทำงานการ.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
สิ่งที่ได้จากการ เรียนรู้ วิชาโปรแกรมประยุกต์. เสนอ อาจารย์ สมร ตาระ พันธ์
รูปร่างของเครือข่ายคอมพิวเตอร์
ซอฟต์แวร์และการเลือกใช้
องค์ประกอบของคอมพิวเตอร์
การรักษาความปลอดภัยข้อมูลขั้นพื้นฐาน
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
โปรแกรมสต๊อกสินค้า และ โปรแกรมขายหน้าร้าน Nanosoft Smart INV.NET วิชาโปรแกรมสำเร็จรูปและการ ประยุกต์ใช้งาน อ. วิสุตร์ เพชรรัตน์
เตชิษฐ์ เรือง ไพศาล.  คอมพิวเตอร์เป็นอุปกรณ์ไฟฟ้าที่ใช้ไฟฟ้า กระแสตรงทำงาน  ข้อมูลภายในเป็นข้อมูลดิจิตอล  …..  แทนข้อมูลเหล่านี้ด้วยแรงดันไฟฟ้า.
บทที่ 2 โครงสร้างและหน้าที่ การทำงาน ของระบบคอมพิวเตอร์
บทที่ 5 ระบบหน่วยความจำ. หน่วยความจำเป็นแหล่งจัดเก็บข้อมูล และ เป็นพื้นที่ที่ใช้สำหรับประมวลผล หน่วยความจำหลัก (RAM) ต้องทำงาน ด้วยการใช้กระแสไฟฟ้าเลี้ยงตลอดเวลา.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
Input Output อุปกรณ์คอมพิวเตอร์ เสนอ อ. อภิเดช จิตมุ่ง โดย นางสาว ผกาวดี ช่วงชุณส่อง เลขที่ 43 นางสาว ธนาภรณ์ คำเรือง เลขที่ 39 นางสาว ณัฐวรรณ ห่วงกลาง.
คำสั่งควบคุมการทำงาน
Project Management by Gantt Chart & PERT Diagram
วิชาเทคโนโลยีสารสนเทศเพื่อชีวิต
Material requirements planning (MRP) systems
Microcontroller (PIC + Example)
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
การจัดการโปรเซส T.Kunlaya Charoenmongkonvilai
SR Latch SR Latch ต้องรอ negative edge เพื่อให้ Q = D Y = D Q = Y.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part3.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
IP-Addressing and Subneting
องค์ประกอบและเทคนิคการทำงาน
ระบบคอมพิวเตอร์และสถาปัตยกรรม
IP-Addressing and Subneting
การประยุกต์ Logic Gates ภาค 2
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การพัฒนาการใช้งานในระบบเว็บ
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
การบริหารโครงการ Project Management
เรียนรู้การใช้งานโปรแกรม เพื่อจำลองระบบไมโครคอนโทรลเลอร์
คุณลักษณะของสัญญาณไฟฟ้าแบบต่าง ๆ
อาจารย์อภิพงศ์ ปิงยศ บทที่ 4 : สื่อกลางส่งข้อมูลและการมัลติเพล็กซ์ (Transmission Media and Multiplexing) Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
การบัญชีต้นทุนช่วง (Process Costing).
บทที่ 1 โครงสร้างคอมพิวเตอร์พื้นฐาน
กลุ่มคำและประโยค ภาษาไทย ม. ๓
ประเภทแผ่นโปร่งใส (แผ่นใส) รายวิชา ออปแอมป์และลิเนียร์ไอซี
Interrupt & Timer.
Basic Input Output System
Introduction to Microprocessors
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
State Table ตารางสถานะ ปรับปรุง 18 เมษายน 2562
SMS News Distribute Service
บทที่7 ทฤษฎีกราฟเบื้องต้น
Data storage II Introduction to Computer Science ( )
บทที่ 3 : รูปแบบการเชื่อมต่อเครือข่ายและส่วนประกอบของเครือข่ายท้องถิ่น (Topologies and LAN Components) Part1.
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
การจัดบล๊อคและบัฟเฟอร์ (Blocking and Buffering)
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
บทที่ 5 พัลส์เทคนิค
ระบบการส่งต่อข้อมูลอาการไม่พึงประสงค์จากการแพ้ยา
I/O Interfacing :: x86, ISA Bus
เมนูหลัก ส่วนประกอบของคอมพิวเตอร์ ผลการเรียนรู้ที่คาดหวัง
การวิเคราะห์สถานะคงตัวของ วงจรที่ใช้คลื่นรูปไซน์
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

Memory & I/O Mapping (Z80)

การเชื่อมต่อหน่วยความจำและอุปกรณ์ต่อพ่วงกับ Microprocessor การออกแบบวงจรสำหรับเชื่อมต่อหน่วยความจำและอุปกรณ์ต่อพ่วงเข้ากับ ไมโครโปรเซสเซอร์ จำเป็นต้องพิจารณาถึงทรัพยากรต่างๆที่ระบบ ไมโครคอมพิวเตอร์ต้องการ และคุณสมบัติต่างๆของไมโครโปรเซสเซอร์, หน่วยความจำ และอุปกรณ์ต่อพ่วง

การเชื่อมต่อหน่วยความจำและอุปกรณ์ต่อพ่วงกับ Microprocessor การพิจารณาทรัพยากรของระบบไมโครคอมพิวเตอร์ ขนาดของหน่วยความจำ ROM ที่ใช้ในการเก็บโปรแกรม และค่าคง ต่างๆ ขนาดของหน่วยความจำ RAM ที่ใช้เก็บตัวแปรหรือข้อมูลใน ระหว่างที่ไมโครโปรเซสเซอร์กำลังคำนวณ ขนาดของหน่วยความเช่น Flash Memory หรือ RAM ที่มี แบตเตอรี่แบ็คอัพ ที่ใช้ในการเก็บข้อมูลแบบถาวรหรือเป็นเวลานาน จำนวนของอุปกรณ์ต่อพ่วง

การเชื่อมต่อหน่วยความจำและอุปกรณ์ต่อพ่วงกับ Microprocessor คุณสมบัติที่จำเป็นต้องพิจารณาในการออกแบบวงจรเชื่อมต่อ สถาปัตยกรรมของการออกแบบไมโครโปรเซสเซอร์ ขนาดและชนิดของ Address Bus และ Data Bus หน้าที่ของสัญญาณ Control แต่ละเส้น ชนิดของหน่วยความจำ (EPROM, SRAM, DRAM) Timing Diagram ของสัญญาณ Address Bus, Data Bus และ Control Bus ของไมโครโปรเซสเซอร์, หน่วยความจำ และอุปกรณ์ต่อพ่วง วิธีการที่ไมโครโปรเซสเซอร์ใช้ในการควบคุมการทำงานของอุปกรณ์ ต่อพ่วงแต่ละตัว

สถาปัตยกรรมแบบ Von Neumann เป็นการออกแบบไมโครโปรเซสเซอร์ให้มี Address Bus, Data Bus และ Control Bus เพียงแค่ 1 ชุด สำหรับใช้ติดต่อกับ Program Memory, Data Memory และอุปกรณ์ต่อพ่วง ดังนั้นจึงมีหน่วยความจำเพียง 1 ชุดสำหรับใช้เก็บ Program Memory และ Data Memory

สถาปัตยกรรมแบบ Von Neumann Control Unit สามารถ Fetch ภาษาเครื่องและข้อมูลด้วยวิธี เดียวกัน ทำให้สามารถออกแบบ Control Unit ได้ง่ายและราคาถูก โปรแกรมเมอร์จำเป็นต้องบริหารหน่วยความจำด้วยตนเอง เช่นต้องป้องกัน ไม่ให้มีการเซฟข้อมูลลงไปในบริเวณที่ใช้เก็บโปรแกรม เพราะจะทำให้ โปรแกรมเกิดความเสียหายอย่างถาวร ไม่สามารถออกแบบ CPU ให้สามารถทำงานหลายคำสั่งได้พร้อมกัน การทำงานแบบขนาน เป็นการจำลองการทำงานโดยโปรแกรมปฏิบัติการ (Operation System) ไม่ใช่การทำงานแบบขนานที่แท้จริง

สถาปัตยกรรมแบบ Harvard เป็นการออกแบบไมโครโปรเซสเซอร์ให้มี Address Bus, Data Bus และ Control Bus 2 ชุด สำหรับใช้ติดต่อ กับ Program Memory, Data Memory ดังนั้นหน่วยความจำสำหรับ Program Memory และ Data Memory ถูกแยกออกจากกัน

สถาปัตยกรรมแบบ Harvard CPU สามารถ Fetch ภาษาเครื่องกับข้อมูลแบบขนานได้ สามารถออกแบบ CPU ให้สามารถทำงานหลายคำสั่งได้พร้อมกัน (Pipeline) สามารถออกแบบให้แต่ละ Cell ที่ใช้เก็บข้อมูลของ Data Memory และ Program Memory มีขนาดไม่เท่ากันได้ เช่น Data Memory มี ขนาด 8 bit แต่ให้ Program Memory มีขนาด 14 bit เป็นต้น Control Unit มีความซับซ้อนและมีราคาแพง การออกแบบระบบไมโครคอมพิวเตอร์ที่ใช้ไมโครโปรเซสเซอร์แบบ Harvard สิ้นเปลืองค่าใช้จ่ายและใช้เวลานาน

EPROM 27xxx ขา ชื่อ หน้าที่ A (xxx/8)-A 0 Address Bus Data Bus ส่งข้อมูลกลับไปให้ไมโครโปรเซสเซอร์ /CE, /EP Chip Enable เป็นขาที่ใช้กระตุ้นให้ EPROM ทำงาน โลจิก 1 ทำให้ EPROM หยุดการทำงาน เข้าสู่ Sleep Mode หรือ Power Down Mode โลจิก 0 ทำให้ EPROM ทำงาน

EPROM 27xxx ขา ชื่อ หน้าที่ /OE, /G Output Enable เป็นขาที่ใช้กระตุ้นให้ Data Bus ทำงาน โลจิก 1 ทำให้ Data Bus ไม่ทำงาน โลจิก 0 ทำให้ Data Bus ทำงาน /PGM, Vpp Program Strobe ใช้ในการป้อนข้อมูลลงใน EPROM

EPROM 27xxx เบอร์ Address Bus ขนาด 2716 A10A0 2 kByte 2732 A11A0 2764 A12A0 8 kByte 27128 A13A0 16 kByte 27256 A14A0 32 kByte 27512 A15A0 64 kByte 27010 A16A0 128 kByte 27020 A17A0 256 kByte

EPROM 27xxx Read Mode ข้อมูลจะถูกส่งออกไปที่ Data Bus หลังจากที่ /G=0, /EP=0 และ สัญญาณของ Address Bus เสถียรแล้วเป็นเวลา tAVQV, tGLQV หรือ tELQV ขึ้นกับเวลาอันไหนช้าที่สุด

EPROM 27xxx Read Mode Access Time หมายถึงเวลาตั้งแต่ ROM ได้รับสัญญาณ /EP จนถึงตอนที่ข้อมูลถูกส่งออกมาที่ Data Bus ซึ่งมีค่าเวลาเท่ากับ tAVQV หรือ tELQV

EPROM 27xxx Deselect Mode เมื่อ /G=1 จะทำให้ Data Bus ของ EPROM เป็น Hi-Z ไม่ขึ้นกับ ขา /EP หรือ Address Bus ใช้ในกรณีที่ต้องการขยายขนาดของหน่วยความจำโดยการเชื่อมต่อ EPROM หรือ RAM หลายตัวลงใน Data Bus เดียวกัน

EPROM 27xxx Standby Mode (Power Down) เมื่อ /EP=1 จะหยุดการทำงาน และ Data Bus เป็น Hi-Z โดยไม่ ขึ้นกับสัญญาณของ /G และ Address Bus EPROM จะใช้ไฟเพียง 25% จากการใช้งานปกติเมื่ออยู่ใน Stand Mode Vcc และ Vpp ยังคงต้องเท่ากับ 5 V เมื่ออยู่ใน Standby Mode

EPROM 27xxx การป้อนข้อมูลลงใน EPROM ทุกบิทของ EPROM จะเท่ากับ 1 เมื่อยังไม่มีการป้อนข้อมูลลงใน EPROM การป้อนข้อมูลลงใน EPROM หมายถึงการทำให้บิทที่ต้องการเป็น 0 เริ่มจากการส่งค่า Address และ Data เข้าไปที่ Address Bus และ Data Bus ของ EPROM ป้อนแรงดันไฟ 25 V ไปที่ขา Vpp จากนั้นจึงป้อน /G=1 และ /EP=0

EPROM 27xxx การป้อนข้อมูลลงใน EPROM เมื่อสัญญาณของ Address Bus และ Data Bus เสถียรแล้วให้ ป้อน Pulse ความกว้างประมาณ 45ms ถึง 55ms ออกไปที่ขา /EP (ข้อควรระวัง EPROM อาจเสียหายได้ถ้าป้อน Pulse มากกว่า 1 ครั้ง หรือ Pulse ของ /EP กว้างกว่า 55ms) เราสามารถตรวจสอบความถูกต้องของข้อมูลที่ป้อนให้กับ EPROM โดยการอ่านข้อมูลออกจาก EPROM หลังจากการป้อนข้อมูลแล้ว Vpp = 25V ในระหว่างการป้อนข้อมูลลงใน EPROM Vpp = 5V ในระหว่างการใช้งาน EPROM

EPROM 27xxx Timing Diagram ของการป้อนข้อมูลลงใน EPROM

SRAM 6264 ขา ชื่อ หน้าที่ /CE1 Chip Enable 1 ทำงานร่วมกับ /CE1 ถ้าต้องการอ่านหรือเขียน SRAM จะต้องให้ /CE1=0 และ CE2=1 /OE, /WE Output Enable, Write Enable /OE ทำงานร่วมกับ /WE /OE=0, /WE=1 อ่านข้อมูล /OE=1, /WE=0 เขียนข้อมูล /OE=1, /WE=1 ไม่อ่านหรือเขียนข้อมูล

SRAM 6264 Read Cycle แบบที่ 1 กำหนดให้ /OE=0, /CE1=0, CE2=1 ตลอดเวลา และต้องให้ /WE=1 เมื่อต้องการอ่านข้อมูล ข้อมูลจะถูกส่งออกมาที่ Data Bus หลังจากที่สัญญาณ Address เสถียรเป็นเวลา tAA (Access Time)

SRAM 6264 Read Cycle แบบที่ 2 กำหนดให้ /OE=0, /CE1=0, CE2=1, /WE=1 เมื่อต้องการอ่านข้อมูล เท่านั้น Data Bus จะเป็น Hi-Z ถ้า /OE=1 หรือ /CE1=1 หรือ /WE=0 Access Time = tACE หรือ tDOE ขึ้นกับว่าเวลาใดมาถึงช้าที่สุด

SRAM 6264 Write Cycle แบบที่ 1 (ควบคุมโดย /WE) /WE =0 ถูกใช้เป็นสัญญาณเขียนข้อมูล โดยที่ต้องให้ /CE1=0, CE2=1, /OE=1 ก่อนจะให้ /WE=0 เป็นเวลา tSA สัญญาณ Address จะต้องเสถียรก่อน หรือพร้อมกับ /CE1=0 /WE=0 เป็นเวลาอย่างน้อย tPWE Data Bus จะเป็น Hi-Z ถ้า /OE=1 หรือ /CE1=1 หรือ /WE=0

SRAM 6264 Write Cycle แบบที่ 2 (ควบคุมโดย /CE1)

Z80 Z80 เป็น CPU ที่ผลิตโดยบริษัท Zilog มีสถาปัตยกรรมแบบ Von Neuman คือ Program Memory กับ Data Memory ใช้ Data Bus กับ Address Bus ร่วมกัน มี Data Bus ขนาด 8 Bit Address Bus ขนาด 16 Bit สามารถ ติดต่อหน่วยความจำได้สูงสุด 64 kByte

Z80 A15-A0 (Address Bus) เป็นสายสัญญาณที่ใช้ส่ง Address ไปให้กับ หน่วยความจำ และอุปกรณ์ต่อพ่วง D7-D0 (Data Bus) เป็นสายสัญญาณที่ใช้รับส่งข้อมูลระหว่าง Z80 กับ หน่วยความจำ และอุปกรณ์ต่อพ่วง /MREQ (Memory Request) เป็นสัญญาณที่ Z80 ส่งออกมาเมื่อ ต้องการอ่านหรือเขียนหน่วยความจำ /MREQ ใช้งานร่วมกับสายสัญญาณ A15-A0 ทำให้ Z80 สามารถติดต่อหน่วยความจำได้ไม่เกิน 64 kByte /IORQ (Input Output Request) เป็นสัญญาณที่ Z80 ส่งออกมา เมื่อต้องการอ่านหรือเขียนอุปกรณ์ต่อพ่วง /IORQ ใช้งานร่วมกับสายสัญญาณ A7-A0 ทำให้ Z80 สามารถติดต่อกับอุปกรณ์ต่อพ่วงได้ไม่เกิน 256 อุปกรณ์

Z80 /RD (Read) เป็นสัญญาณที่ถูกส่งออกมาเมื่อ Z80 ต้องการอ่านข้อมูล จากหน่วยความจำ หรืออุปกรณ์ต่อพ่วง /WR (WR) เป็นสัญญาณที่ถูกส่งออกมาเมื่อ Z80 ต้องการเขียนข้อมูล ลงหน่วยความจำ หรืออุปกรณ์ต่อพ่วง /M1 (Machine Cycle One) เป็นสัญญาณที่ถูกส่งออกร่วมกับ /MREQ เพื่อบอกว่า Machine Cycle ปัจจุบันเป็นการ Fetch คำสั่ง หรือถ้าส่งออกมาร่วมกับ /IORQ ใช้เป็นสัญญาณตอบรับสัญญาณ Interrupt (Interrupt Acknowledge)

Z80 /RFSH (Refresh) เป็นสัญญาณที่ใช้ร่วมกับ /MREQ เพื่อใช้บอก ว่า A7-A0 ถูกใช้เป็น Address ของหน่วยความจำ DRAM ที่จะถูก Refresh /HALT (Halt) เป็นสัญญาณที่บอกว่า Z80 กำลังหยุดการทำงาน (ทำ คำสั่ง NOP) และกำลังรอสัญญาณ Interrupt แบบ Nonmaskable หรือแบบ Maskable /WAIT (Wait) เป็นสัญาณที่ส่งมาจากหน่วยความจำหรืออุปกรณ์ต่อ พ่วงเพื่อบอก Z80 ว่ายังไม่พร้อมที่จะรับส่งข้อมูล Z80 จะอยู่ในสถานะ Wait จนกว่า /WAIT จะเปลี่ยนเป็นโลจิก 1

Z80 /INT (Interrupt Request) เป็นสัญญาณที่อุปกรณ์ต่อพ่วงส่งมา ให้ Z80 เพื่อบอกว่าต้องการติดต่อด้วย Z80 มีสิทธิที่จะตอบรับหรือไม่ ตอบรับสัญญาณ /INT ถ้าตอบรับสัญญาณ Z80 จะต้องหยุดการทำงาน ของโปรแกรมที่กำลังทำอยู่ แล้วข้ามไปทำงานของโปรแกรม Interrupt /NMI (Nonmaskable Interrupt) เป็นสัญญาณ Interrupt ที่ Z80 ไม่สามารถปฏิเสธได้ Z80 จะตรวจสอบ /NMI ทุกครั้งที่ทำงานจบหนึ่งคำสั่ง และจะกระโดดไปทำงานที่ Address 0066H ทันทีที่ตรวจสอบพบ /NMI

Z80 /BUSREQ (Bus Request) เป็นขาของ Z80 ที่ใช้รับสัญญาณขอใช้ Address Bus, Data Bus และสายสัญญาณควบคุม /MREQ, /IORQ, /RD และ /WR จากอุปกรณ์ต่อพ่วง Z80 จะตรวจสอบสัญญาณ /BUSREQ ทุก ครั้งที่จบ Machine Cycle และสัญญาณ /BUSREQ มี Priority สูงกว่า สัญญาณ /NMI ถ้าอุปกรณ์ต่อพ่วงส่งสัญญาณ /BUSREQ มาพร้อมกับ /NMI Z80 หรือส่ง /BUSREQ มาขณะที่ Z80 กำลังทำตามโปรแกรมของ /NMI Z80 จะเลือกตอบรับสัญญาณ /BUSREQ ก่อน /BUSACK (Bus Acknowledge) หลังจากที่ Z80 ได้เปลี่ยนสถานะของ Address Bus, Data Bus และสายสัญญาณควบคุมทั้ง 4 ให้เป็น Hi-Z เรียบร้อยแล้ว Z80 จะส่งสัญญาณ /BUSACK กลับไปให้กับอุปกรณ์ต่อพ่วง จากนั้น อุปกรณ์ต่อพ่วงสามารถที่จะใช้ Address Bus, Data Bus และสายสัญญาณ ควบคุมทั้ง 4 ในการรับส่งข้อมูลระหว่างอุปกรณ์ต่อพ่วงด้วยกันได้โดยไม่ทำอันตรายกับ Z80

Z80 /RESET (Reset) เป็นสัญญาณที่ถูกส่งมาจากวงจร Reset เพื่อ กระตุ้นให้ Z80 เริ่มต้นทำงาน

Z80 การทำงาน 1 คำสั่ง (Instruction Cycle) ของ Z80 ประกอบด้วย ลำดับของการทำงานพื้นฐานที่เรียกว่า Machine Cycle จำนวนหนึ่ง 1 Machine Cycle ใช้เวลา 3-6 Clock ตัวอย่างเช่น 1 คำสั่งอาจประกอบด้วย Machine Cycle ของการ Fetch คำสั่ง (Opcode Fetch) การอ่านหน่วยความจำ และการ เขียนหน่วยความจำ เป็นต้น

Z80 Timing Diagram ของการ Opcode Fetch Z80 ส่งค่า Address จาก PC ออกมา ในช่วง Ton ของ T1 Z80 ส่ง /MREQ = 0 และ /RD = 0 ไป ให้หน่วยความจำในช่วง Toff ของ T1 จะต้องออกแบบ PCB เพื่อทำให้สัญญาณที่ ขา Address ของหน่วยความจำเสถียรก่อน Falling Edge ของ /MREQ เพื่อใช้ Falling Edge ของ /MREQ เป็นตัวสร้าง Chip Enable ของหน่วยความจำ

Z80 Z80 อ่านค่าจาก Data Bus ก่อนถึงจังหวะ Rising Edge ของ T3 จะต้องส่ง /WAIT=1 ไปให้ Z80 ในช่วงนี้ Z80 ส่ง /RD=1 และ /MREQ=1 ตอน Rising Edge ของ T3 ดังนั้นจะต้องเลือกหน่วยความจำที่มีค่า Access Time น้อยกว่า 1.5 Clock ของ Z80 เพื่อให้ข้อมูลส่งไปให้ Z80 ทันเวลาที่ Z80 อ่านข้อมูล หรือไม่เช่นนั้นจะต้องมีวงจร สร้างสัญญาณ /WAIT=0 เพื่อบอกให้ Z80 รอจนกว่า ROM หรือ RAM ส่งข้อมูล ออกมา

Z80 Z80 จะ Decode และ Execute ในช่วง T3 และ T4 ในกรณีที่เลือกใช้ DRAM เป็นหน่วยความจำ ตัวเก็บประจุของ DRAM มีการรั่วไหลของ กระแสตลอดเวลา ซึ่งทำให้ข้อมูลที่เก็บอยู่สูญ หายได้ ถ้าไม่มีการ Refresh ข้อมูล โดยการ อ่านค่าออกจากตัวเก็บประจุตัวนั้น Z80 จะส่ง /RFSH=0 ตอน Ton ของ T3 และส่งค่า A7-A0 ของ Address ที่ต้องการ Refresh ออกมาในช่วง T3 และ T4

Z80 ดังนั้นจะต้องออกแบบวงจร Refresh โดยใช้สัญญาณ /MREQ และ /RFSH ร่วมกับ Address ที่ถูกส่งออกมาในช่วง T3 และ T4

Z80 Timing Diagram ของการอ่านเขียน หน่วยความจำ Machine Cycle ของการอ่านเขียน หน่วยความจำจะใช้เวลา 3 Clock ยกเว้น ที่ได้รับสัญญาณ /WAIT = 0 ในกรณีของการอ่านข้อมูล การทำงานจะ เป็นแบบเดียวกับ Opcode Fetch คือ /RD=0 และ /MREQ=0 ถูกส่งมาตอน Toff ของ T1 และข้อมูลจะถูกอ่านก่อน Rising Edge ของ T3

Z80 ในกรณีของการเขียนข้อมูล /MREQ=0 ถูกส่งมาหลังจากที่สัญญาณของ Address Bus เสถียรแล้ว ดังนั้นจึง สามารถใช้ /MREQ เป็นสัญญาณ Chip Enable ของ RAM ได้ /WR=0 ถูกส่งมาหลังจากที่สัญญาณของ Data Bus เสถียรแล้ว ดังนั้นจึงสามารถ ใช้ /WR เป็นสัญญาณ R/W Pulse ของ RAM ได้

ตัวอย่างการต่อ EPROM 2716 แบบที่ 1 ใช้ /MREQ และ /RD ถูกใช้เป็น /CE และ /OE ของ หน่วยความจำ ข้อดีของวงจรนี้คือ ประหยัดพลังงาน เนื่องจากหน่วยความจำ จะเริ่มต้นทำงานเมื่อ ได้รับ /MREQ

ตัวอย่างการต่อ EPROM 2716 แบบที่ 1 ข้อเสียคือ หน่วยความจำส่งข้อมูล ออกได้ช้าเพราะ Access Time = TELQV

ตัวอย่างการต่อ EPROM 2716 แบบที่ 2 /CE ต่อลงกราวด์ ดังนั้นหน่วยความจำ ทำงานตลอดเวลา ทำ ให้สิ้นเปลืองพลังงาน ใช้ /MREQ OR /RD เป็น /OE ของ หน่วยความจำ

ตัวอย่างการต่อ EPROM 2716 แบบที่ 2 ข้อดีคือหน่วยความจำ ส่งข้อมูลออกมาได้เร็ว เนื่องจาก Access Time = TGLQV

การเชื่อมต่อหน่วยความจำหลายตัว ระบบไมโครคอมพิวเตอร์ทุกระบบจำเป็นต้องต่อกับหน่วยความจำมากกว่า 2 ตัวขึ้นไปเข้ากับไมโครโปรเซสเซอร์ เช่น ต่อกับ ROM อย่างน้อย 1 ตัวเพื่อใช้เก็บโปรแกรมควบคุมการทำงาน ต่อกับ RAM อย่างน้อย 1 ตัวเพื่อใช้เก็บข้อมูลและตัวแปรต่างๆ การต่อหน่วยความจำหลายตัวเข้ากับไมโครโปรเซสเซอร์มีขั้นตอนดังนี้ ออกแบบ Memory Map ออกแบบวงจรเชื่อมต่อเพื่อให้เป็นไปตาม Memory Map

Z80

Z80

ตัวอย่างการทำ Memory Map ต้องการ EPROM ขนาด 8 kByte เพื่อเก็บโปรแกรม 2764 x 1 ต้องการ SRAM ขนาด 8 kByte เพื่อเก็บข้อมูลและตัวแปร 6264 x 1

ตัวอย่างการทำ Memory 8 kByte = 819210 = 2000H 2000H-3FFFH 0111 1111 1111 1111 : 0010 0000 0000 0000 ต่อกับ 6264 ตัวที่ 1 0000H-1FFFH 0001 1111 1111 1111  0000 0000 0000 0000 ต่อกับ 2764

ตัวอย่างการทำ Memory จากตาราง Memory Map พบว่า A12-A0 ของ Z80 ใช้ต่อกับ Address Bus ของหน่วยความจำ A13 ของ Z80 ใช้กำหนดหน่วยความจำที่ต้องการติดต่อ A13 = 0 หมายถึงต้องการติดต่อ 2764 A13 = 1 หมายถึงต้องการติดต่อ 6264 A15-A14 ของ Z80 ไม่จำเป็นต้องใช้งาน

Z80 Timing Diagram ของการเชื่อมต่อ กับอุปกรณ์ต่อพ่วง /IORQ=0, /RD=0, /WR=1 เป็น สัญญาณบอกว่า Z80 ต้องการอ่านข้อมูล จากอุปกรณ์ต่อพ่วง (Input Port) /IORQ=0, /RD=1, /WR=0 เป็น สัญญาณบอกว่า Z80 ต้องการเขียนข้อมูล ลงในอุปกรณ์ต่อพ่วง (Output Port)

Z80

Z80 การเชื่อมต่อกับอุปกรณ์ภายนอก Input Port เป็นทางเข้าของสัญญาณ จาก Input Device สู่ Data BUS แล้วเข้าไปยัง Microprocessor จากที่ Input Port นี้ จะต้องเชื่อมต่อเข้ากับ Data BUS มันจึงจะต้องมีคุณสมบัติ ที่เป็น Tri-State ได้ Input Port นี้จะ สามารถสร้างได้จาก Buffer ที่มี Output เป็นแบบ Tri-State (74LS244) Output Port เป็นทางออกของข้อมูลจากระบบ Microcomputer คุณสมบัติที่สาคัญของ Output Port คือ มันจะสามารถคงค่า ของข้อมูล ที่ส่งมา จาก CPU ได้ นั้นก็คือ ตัว Output Port จะทาตัวเหมือนกับ Register มันจึง สามารถสร้างโดยใช้ D-FF (74LS374)

การต่อ Input Port

การต่อ Output Port