280 likes | 489 Views
หน่วยประมวลผลกลาง CPU. CPU. Address bus. ROM. RAM. Input. Output. Data bus. RD. WR. RD. I/O. RD. I/O. WR. Control bus. โครงสร้างหลักของระบบคอมพิวเตอร์. โครงสร้างพื้นฐานของซีพียู. Clock. Timing and Control unit. Program Counter (PC). A0. Reset. Address reg. MER. MEW.
E N D
CPU Address bus ROM RAM Input Output Data bus RD WR RD I/O RD I/O WR Control bus โครงสร้างหลักของระบบคอมพิวเตอร์
โครงสร้างพื้นฐานของซีพียูโครงสร้างพื้นฐานของซีพียู Clock Timing and Control unit Program Counter (PC) A0 Reset Address reg MER MEW A15 IOR ALU IOW D0 accumulator Status register D7 Register Instruction decode Instruction reg
คณิตศาสตร์ Jump Internal data conditional unconditional Logic External data Subroutine การหมุน/เลื่อนข้อมูล conditional unconditional ชนิดของคำสั่งที่ใช้กับซีพียู Instruction Transfer data instruction Arithmetic and Logic instruction Branch and control instruction
ตัวอย่างคำสั่ง AT89c51 PIC18F458
เฟตซ์ไบต์คำสั่ง จากหน่วยความจำ Fetch cycle ถอดรหัสไบต์คำสั่ง No No คำสั่งชนิด 1 ไบต์ คำสั่งชนิด 2 ไบต์ Yes Yes เพิ่มค่า program counter ขึ้น 1 และเฟตซ์ค่าโอเปอแรนด์ เพิ่มค่า program counter ขึ้น 1 และเฟตซ์ค่าโอเปอแรนด์ execute cycle ขั้นตอนในการประมวลผลของซีพียู เริ่มต้น เพิ่มค่า program counter ขึ้น 1 และเฟตซ์ค่าโอเปอแรนด์ เพิ่มค่า program counter ขึ้น 1 ปฏิบัติตามคำสั่ง
อุปกรณ์ อินพุต #E001H 0 1 0 1 1 0 1 0 การประยุกต์ใช้ซีพียู (ตัวอย่างการควบคุมหลอดไฟ) CPU Address bus Memory อุปกรณ์ เอาต์พุต #E002H Data bus MEMR IOR IOW
อ่านข้อมูลจาก อุปกรณ์อินพุต #E001H 1’scomplement ข้อมูลที่อ่านเข้ามาได้ ส่งข้อมูลออก อุปกรณ์เอาต์พุต #E002H Flowchart เริ่มต้น
Control Bus 9 0 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 1 Address bus Program Counter Control Unit 01 00 00 0000 MEMR Instruction Decoder 0 0 Instruction Register Data bus 90
Control Bus 00 03 E0 01 การอ่านข้อมูล Operand คำสั่งที่ 1 Address bus Program Counter Control Unit 00 01 0001 MEMR Instruction Decoder Data Register 00 00 9 0 Instruction Register Data bus E0 01
Control Bus E0 01 การปฏิบัติตาม คำสั่งที่ 1 ( MOV DPTR,#E001H ) Address bus Program Counter Control Unit 00 03 Data Pointer Register 00 00 Instruction Decoder Data Register E0 01 9 0 Instruction Register Data bus
Control Bus E0 01 E 0 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 2 Address bus Program Counter Control Unit 04 00 03 0003 MEMR Data Pointer Register 00 00 Instruction Decoder Data Register E0 01 9 0 Instruction Register Data bus E0
Control Bus 5 A การปฏิบัติตาม คำสั่งที่ 2 ( MOVX A,@DPTR ) Address bus Program Counter อุปกรณ์ อินพุต #E001H Control Unit 00 04 E001 IOR 0 Data Pointer Register 1 0 E0 01 Instruction Decoder 1 1 0 1 0 Data Register Accumulator E0 01 E 0 0 0 Instruction Register Data bus 5AH
00 05 Control Bus F 4 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 3 Address bus Program Counter Control Unit 00 04 0004 MEMR Data Pointer Register E0 01 Instruction Decoder Data Register Accumulator E0 01 E 0 5 A Instruction Register Data bus F4
Control Bus การปฏิบัติตาม คำสั่งที่ 3 ( CPL A ) Address bus Program Counter Control Unit 00 05 Instruction Decoder ALU Accumulator F 4 5 A Instruction Register Data bus
Control Bus A 5 การปฏิบัติตาม คำสั่งที่ 3 ( CPL A ) Address bus Program Counter Control Unit 00 05 Instruction Decoder ALU Accumulator F 4 5 A Instruction Register Data bus
00 06 Control Bus Accumulator A 5 9 0 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 4 Address bus Program Counter Control Unit 00 05 0005 MEMR Data Pointer Register E0 01 Instruction Decoder Data Register E0 01 F 4 Instruction Register Data bus 90
Control Bus Accumulator A 5 E0 02 การอ่านข้อมูล Operand คำสั่งที่ 4 Address bus Program Counter Control Unit 00 06 0006 MEMR Instruction Decoder Data Register E0 01 9 0 Instruction Register Data bus E0 02
Control Bus Accumulator A 5 E0 02 การปฏิบัติตาม คำสั่งที่ 4 ( MOV DPTR,#E002H ) Address bus Program Counter Control Unit 00 08 00 06 Data Pointer Register E0 01 Instruction Decoder Data Register E0 02 9 0 Instruction Register Data bus
Control Bus Accumulator A 5 9 0 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 5 Address bus Program Counter Control Unit 00 08 0008 MEMR Data Pointer Register E0 02 Instruction Decoder Data Register E0 02 F 0 Instruction Register Data bus F0
00 09 Control Bus Accumulator A 5 การปฏิบัติตาม คำสั่งที่ 5 ( MOV A,@DPTR ) Address bus Program Counter Control Unit อุปกรณ์ เอาต์พุต #E002H 00 08 E002 IOW Data Pointer Register E0 02 Instruction Decoder Data Register E0 02 F 0 Instruction Register Data bus A5
Control Bus Accumulator A 5 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 6 Address bus Program Counter Control Unit 00 0A 00 09 0009 MEMR Data Pointer Register E0 02 Instruction Decoder Data Register F 0 E0 02 0 2 Instruction Register Data bus 20
Control Bus Accumulator A 5 การอ่านข้อมูล Operand คำสั่งที่ 6 Address bus Program Counter Control Unit 00 0A 000A MEMR Data Pointer Register E0 02 Instruction Decoder Data Register 00 E0 00 02 0 2 Instruction Register Data bus 0000
Control Bus Accumulator A 5 การปฏิบัติตาม คำสั่งที่ 6 ( LJMP 0000H ) Address bus Program Counter Control Unit 00 0A 00 00 Data Pointer Register E0 02 Instruction Decoder Data Register 00 00 0 2 Instruction Register Data bus
Control Bus Accumulator A 5 การอ่านและตรวจสอบข้อมูล คำสั่งที่ 1 Address bus Program Counter Control Unit 00 00 Data Pointer Register E0 02 Instruction Decoder Data Register 00 00 0 2 Instruction Register Data bus