สถาปัตยกรรมของ CPU

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

  • สื่อสารกับอุปกรณ์ต่อพ่วง
  • ให้สัญญาณเวลา
  • กระแสข้อมูลโดยตรง
  • ทำงานคอมพิวเตอร์ตามที่ระบุโดยคำแนะนำในหน่วยความจำ

ไมโครโปรเซสเซอร์ 8085

ไมโครโปรเซสเซอร์ 8085 เป็นไมโครโปรเซสเซอร์ 8 บิตสำหรับใช้งานทั่วไปซึ่งสามารถรองรับหน่วยความจำ 64k โปรเซสเซอร์นี้มีพินสี่สิบพินต้องการแหล่งจ่ายไฟเดี่ยว +5 V และนาฬิกาเฟสเดียว 3 MHz

แผนภาพบล็อก

ALU

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

แผนภาพบล็อก

ตัวสะสม

เป็นการลงทะเบียน 8 บิตที่เป็นส่วนหนึ่งของ ALU รีจิสเตอร์นี้ใช้เพื่อจัดเก็บข้อมูล 8 บิตและในการดำเนินการทางคณิตศาสตร์และตรรกะ ผลลัพธ์ของการทำงานจะถูกเก็บไว้ในตัวสะสม

แผนภาพ

ธง

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

  • S (Sign) flag- หลังจากการดำเนินการของการคำนวณทางคณิตศาสตร์ถ้าบิต D 7ของผลลัพธ์เป็น 1 จะมีการตั้งค่าสถานะเครื่องหมาย ใช้สำหรับลงชื่อหมายเลข ในไบต์ที่กำหนดถ้า D 7เป็น 1 หมายถึงจำนวนลบ ถ้าเป็นศูนย์หมายความว่าเป็นจำนวนบวก

  • Z (Zero) flag - ตั้งค่าสถานะเป็นศูนย์หากผลการดำเนินการ ALU เป็น 0

  • AC (Auxiliary Carry) flag- ในการคำนวณทางคณิตศาสตร์เมื่อพกพาถูกสร้างขึ้นโดยตัวเลข D3 และส่งต่อไปยังหลัก D 4จะมีการตั้งค่าสถานะ AC แฟล็กนี้ใช้เฉพาะการดำเนินการ BCD ภายในเท่านั้น

  • P (Parity) flag- หลังจากการคำนวณทางคณิตศาสตร์หรือลอจิกหากผลลัพธ์มีจำนวน 1 คู่ค่าสถานะจะถูกตั้งค่า หากมีเลขคี่ 1s แฟล็กจะถูกรีเซ็ต

  • C (Carry) flag - หากผลการดำเนินการทางคณิตศาสตร์อยู่ในการดำเนินการแฟล็กพกพาจะถูกตั้งค่ามิฉะนั้นจะถูกรีเซ็ต

ส่วนลงทะเบียน

โดยพื้นฐานแล้วเป็นอุปกรณ์จัดเก็บข้อมูลและถ่ายโอนข้อมูลจากรีจิสเตอร์โดยใช้คำแนะนำ

  • Stack Pointer (SP)- ตัวชี้สแต็กยังเป็นรีจิสเตอร์ 16 บิตซึ่งใช้เป็นตัวชี้หน่วยความจำ ชี้ไปที่ตำแหน่งหน่วยความจำในหน่วยความจำอ่าน / เขียนที่เรียกว่าสแต็ก ในระหว่างการทำงานของโปรแกรมข้อมูลบางครั้งจะถูกเก็บไว้ในสแต็ก จุดเริ่มต้นของสแต็กถูกกำหนดโดยการโหลดแอดเดรส 16 บิตในตัวชี้สแต็ก

  • Program Counter (PC)- การลงทะเบียน 16 บิตนี้เกี่ยวข้องกับการดำเนินการที่สี่เพื่อจัดลำดับการดำเนินการของคำสั่ง รีจิสเตอร์นี้ยังเป็นตัวชี้หน่วยความจำ ตำแหน่งหน่วยความจำมีที่อยู่ 16 บิต ใช้เพื่อจัดเก็บที่อยู่การดำเนินการ ฟังก์ชันของตัวนับโปรแกรมคือการชี้ไปยังที่อยู่หน่วยความจำที่จะดึงข้อมูลไบต์ถัดไป

  • Storage registers- รีจิสเตอร์เหล่านี้เก็บข้อมูล 8 บิตระหว่างการทำงานของโปรแกรม รีจิสเตอร์เหล่านี้ถูกระบุว่าเป็น B, C, D, E, H, L ซึ่งสามารถรวมกันเป็นคู่รีจิสเตอร์ BC, DE และ HL เพื่อดำเนินการ 16 บิต

ส่วนเวลาและการควบคุม

หน่วยนี้มีหน้าที่ในการซิงโครไนซ์การทำงานของไมโครโปรเซสเซอร์ตามพัลส์นาฬิกาและสร้างสัญญาณควบคุมซึ่งจำเป็นสำหรับการสื่อสารที่ราบรื่นระหว่างไมโครโปรเซสเซอร์และอุปกรณ์ต่อพ่วง สัญญาณ RD bar และ WR bar เป็นซิงโครนัสพัลส์ซึ่งระบุว่าข้อมูลมีอยู่บนบัสข้อมูลหรือไม่ หน่วยควบคุมมีหน้าที่ควบคุมการไหลของข้อมูลระหว่างไมโครโปรเซสเซอร์หน่วยความจำและอุปกรณ์ต่อพ่วง

แผนภาพ PIN

สัญญาณทั้งหมดสามารถแบ่งออกเป็นหกกลุ่ม

SN กลุ่ม คำอธิบาย
1 Address bus

ไมโครโปรเซสเซอร์ 8085 มีสายสัญญาณ 8 สาย A 15 - A 8ซึ่งเป็นแบบทิศทางเดียวและใช้เป็นบัสแอดเดรสลำดับสูง

2 Data bus

สายสัญญาณ AD7 - AD0 เป็นแบบสองทิศทางสำหรับวัตถุประสงค์คู่ ใช้เป็นบัสที่อยู่ลำดับต่ำเช่นเดียวกับบัสข้อมูล

3 Control signal and Status signal

สัญญาณควบคุม

RD bar- เป็นสัญญาณควบคุมการอ่าน (ใช้งานต่ำ) หากมีการใช้งานหน่วยความจำจะอ่านข้อมูล

WR bar- เป็นสัญญาณควบคุมการเขียน (แอคทีฟต่ำ) จะทำงานเมื่อเขียนลงในหน่วยความจำที่เลือก

สัญญาณสถานะ

ALU (Address Latch Enable)- เมื่อ ALU สูง ไมโครโปรเซสเซอร์ 8085 ใช้แอดเดรสบัส เมื่อ ALU อยู่ในระดับต่ำ ไมโครโปรเซสเซอร์ 8085 ใช้บัสข้อมูล

IO/M bar- นี่คือสัญญาณสถานะที่ใช้เพื่อแยกความแตกต่างระหว่างการทำงานของ i / o และหน่วยความจำ เมื่อสูงแสดงว่ามีการทำงานของ i / o และเมื่อต่ำแสดงว่ามีการทำงานของหน่วยความจำ

S1 and S0 - สัญญาณสถานะเหล่านี้คล้ายกับ i / o และแถบหน่วยความจำสามารถระบุการทำงานต่างๆได้ แต่มักไม่ค่อยใช้ในระบบขนาดเล็ก

4 Power supply and frequency signal

Vcc - แหล่งจ่ายไฟ + 5v

Vss - การอ้างอิงภาคพื้นดิน

X, X- คริสตัลเชื่อมต่อที่หมุดทั้งสองนี้ ความถี่ถูกหารภายในด้วยระบบปฏิบัติการสองระบบที่ 3-MHz คริสตัลควรมีความถี่ 6-MHz

CLK out - สัญญาณนี้สามารถใช้เป็นนาฬิการะบบสำหรับอุปกรณ์อื่น ๆ

5 Externally initiated signal

INTR (i/p) - รบกวนขอ

INTA bar (o/p) - ใช้เป็นรับทราบการขัดจังหวะ

TRAP (i/p) - นี่คือการขัดจังหวะแบบไม่ปิดบังและมีลำดับความสำคัญสูงสุด

HOLD (i/p) - ใช้เพื่อเก็บโปรแกรมเรียกใช้งาน

HLDA (o/p) - รับทราบ

READY (i/p) - สัญญาณนี้ใช้เพื่อหน่วงรอบการอ่านหรือเขียนไมโครโปรเซสเซอร์จนกว่าอุปกรณ์ต่อพ่วงที่ตอบสนองช้าจะพร้อมที่จะรับหรือส่งข้อมูล

RESET IN bar - เมื่อสัญญาณบนพินนี้ลดลงตัวนับโปรแกรมจะถูกตั้งค่าเป็นศูนย์บัสจะระบุไว้สามตัวและ MPU จะถูกรีเซ็ต

RESET OUT- สัญญาณนี้บ่งชี้ว่า MPU กำลังถูกรีเซ็ต สัญญาณสามารถใช้เพื่อรีเซ็ตอุปกรณ์อื่น ๆ

RST 7.5, RST 6.5, RST 5.5 (Request interrupt)- ใช้เพื่อถ่ายโอนการควบคุมโปรแกรมไปยังตำแหน่งหน่วยความจำเฉพาะ มีลำดับความสำคัญสูงกว่าการขัดจังหวะ INTR

6 Serial I/O ports

ไมโครโปรเซสเซอร์ 8085 มีสัญญาณสองสัญญาณเพื่อใช้ข้อมูลอินพุตอนุกรมการส่งข้อมูลแบบอนุกรมและข้อมูลเอาต์พุตแบบอนุกรม

รูปแบบคำสั่ง

แต่ละคำสั่งจะแสดงด้วยลำดับของบิตภายในคอมพิวเตอร์ คำสั่งแบ่งออกเป็นกลุ่มของบิตที่เรียกว่าฟิลด์ วิธีแสดงคำสั่งเรียกว่ารูปแบบคำสั่ง โดยปกติจะแสดงในรูปแบบของกล่องสี่เหลี่ยม รูปแบบคำสั่งอาจเป็นประเภทต่อไปนี้

รูปแบบคำสั่งตัวแปร

นี่คือรูปแบบคำสั่งซึ่งความยาวของคำสั่งจะแตกต่างกันไปตามตัวระบุ opcode และที่อยู่ ตัวอย่างเช่นคำสั่ง VAX จะแตกต่างกันระหว่าง 1 ถึง 53 ไบต์ในขณะที่คำสั่ง X86 แตกต่างกันระหว่าง 1 ถึง 17 ไบต์

รูปแบบ

ความได้เปรียบ

รูปแบบเหล่านี้มีความหนาแน่นของโค้ดที่ดี

ข้อเสียเปรียบ

รูปแบบคำสั่งเหล่านี้ยากต่อการถอดรหัสและไปป์ไลน์

รูปแบบคำสั่งคงที่

ในรูปแบบคำสั่งประเภทนี้คำแนะนำทั้งหมดมีขนาดเท่ากัน ตัวอย่างเช่น MIPS, Power PC, Alpha, ARM

รูปแบบ

ความได้เปรียบ

ง่ายต่อการถอดรหัสและไปป์ไลน์

ข้อเสียเปรียบ

ไม่มีความหนาแน่นของรหัสที่ดี

รูปแบบคำสั่งแบบไฮบริด

ในรูปแบบคำสั่งประเภทนี้เรามีความยาวหลายรูปแบบที่ระบุโดย opcode ตัวอย่างเช่น IBM 360/70, MIPS 16, Thumb

รูปแบบ

ความได้เปรียบ

การประนีประนอมระหว่างความหนาแน่นของรหัสและคำสั่งของประเภทเหล่านี้ง่ายต่อการถอดรหัส

โหมดที่อยู่

โหมดการกำหนดแอดเดรสให้วิธีต่างๆในการเข้าถึงแอดเดรสไปยังข้อมูลที่กำหนดให้กับโปรเซสเซอร์ ข้อมูลที่ดำเนินการจะถูกเก็บไว้ในตำแหน่งหน่วยความจำคำสั่งแต่ละคำสั่งต้องการข้อมูลบางอย่างที่ต้องใช้งาน มีเทคนิคต่างๆในการระบุที่อยู่ของข้อมูล เทคนิคเหล่านี้เรียกว่า Addressing Modes

  • Direct addressing mode- ในโหมดการกำหนดแอดเดรสโดยตรงแอดเดรสของตัวถูกดำเนินการจะได้รับในคำสั่งและข้อมูลจะมีอยู่ในตำแหน่งหน่วยความจำซึ่งระบุไว้ในคำแนะนำ เราจะย้ายข้อมูลนี้ไปยังตำแหน่งที่ต้องการ

  • Indirect addressing mode- ในโหมดการกำหนดแอดเดรสทางอ้อมคำสั่งจะระบุรีจิสเตอร์ที่มีที่อยู่ของตัวถูกดำเนินการ ทั้งแรมภายในและแรมภายนอกสามารถเข้าถึงได้ผ่านโหมดกำหนดแอดเดรสทางอ้อม

  • Immediate addressing mode- ในโหมดกำหนดแอดเดรสทันทีข้อมูลโดยตรงจะได้รับในตัวถูกดำเนินการซึ่งย้ายข้อมูลในตัวสะสม มันเร็วมาก

  • Relative addressing mode- ในโหมดที่อยู่สัมพัทธ์แอดเดรสที่มีประสิทธิผลจะถูกกำหนดโดยโหมดดัชนีโดยใช้ตัวนับโปรแกรมแทนการลงทะเบียนตัวประมวลผลเอนกประสงค์ โหมดนี้เรียกว่าโหมดที่อยู่สัมพัทธ์

  • Index addressing mode- ในโหมดดัชนีแอดเดรสแอดเดรสที่มีประสิทธิภาพของตัวถูกดำเนินการจะถูกสร้างขึ้นโดยการเพิ่มค่าเนื้อหาให้กับเนื้อหาของรีจิสเตอร์ โหมดนี้เรียกว่าโหมดที่อยู่ดัชนี