ฮาร์แวร์และซอฟแวร์

องค์ประกอบฮาร์ดแวร์พื้นฐาน

หน่วยประมวลผล: การควบคุมการทำงานของเครื่องคอมพิวเตอร์และดำเนินการ
ฟังก์ชั่นการประมวลผลข้อมูล

  • มักจะหมายถึง CPU (Central Processing Unit) เมื่อมีเพียงหนึ่งหน่วยประมวลผล
  • หน่วยความจำ: ข้อมูลร้านค้าและโปรแกรมโดยทั่วไปแล้วจะมีความผันผวน
  • มักจะหมายถึงหน่วยความจำจริงหรือหลัก
  • I / O ตัวควบคุม (หรือโมดูล I / O): ย้ายข้อมูลระหว่างคอมพิวเตอร์และสภาพแวดล้อมภายนอก (เช่นดิสก์แป้นพิมพ์จอแสดงผลระบบเครือข่าย)
  • รถบัสระบบ: ให้การติดต่อสื่อสารระหว่างโปรเซสเซอร์
  • หน่วยความจำและ I / O ควบคุม

Processor


  • โมเดลพื้นฐาน
  • ดึงการเรียนการสอนการถอดรหัส การดำเนินการ
  • โปรแกรมที่จะดำเนินการโดยหน่วยประมวลผลประกอบด้วยชุดของคำสั่งที่เก็บไว้ในหน่วยความจำ
  • ซีพียูแตกต่างกันมีการเรียนการสอนที่แตกต่างกันชุด
  • โหมดการทำงาน
  • โหมดเคอร์เนล: ทั้งหมด (ขั้นพื้นฐานและสิทธิพิเศษ) ที่มีคำแนะนำ
  • ตัวอย่างของคำสั่งที่ได้รับการยกเว้น: I / O คำแนะนำการป้องกันหน่วยความจำการเรียนการสอนหยุด
  • โหมดผู้ใช้: เซต (ขั้นพื้นฐานเท่านั้น) ที่มีอยู่ของคำแนะนำ
  • ลงทะเบียน: หน่วยความจำความเร็วสูงที่ตั้งอยู่บนการประมวลผล
  • โปรแกรมเคาน์เตอร์ (PC): มีอยู่หน่วยความจำการเรียนการสอนต่อไปที่จะเรียก
  • สมัครสมาชิกการเรียนการสอน (IR): เก็บการเรียนการสอนในปัจจุบันมีการดำเนินการหรือการถอดรหัส
  • Stack Pointer (SP): คะแนนไปด้านบนของสแต็คในปัจจุบันในหน่วยความจำ
  • สถานะโปรแกรมโปรแกรม Word (PSW): มีรหัสบิตสภาพ
  • ตั้งโดยการเรียนการสอนการเปรียบเทียบความสำคัญ CPU, โหมด (ผู้ใช้หรือเคอร์เนล) และบิตควบคุมอื่น ๆ อีกมากมาย
  • ลงทะเบียนที่เกี่ยวข้องกับการจัดการหน่วยความจำ
  • ลงทะเบียนทั่วไปที่ใช้ในการถือตัวแปรและผลชั่วคราว

The Fetch-Decode-Execute Algorithm

PC = ;
IR = memory[PC];
haltFlag = CLEAR;
while (haltFlag not SET during execution)
{
PC = PC+1;
decode(IR)
execute(IR);
IR = memory[PC];
}

I/O Controller


  • ทะเบียนควบคุม
  • CPU เขียนคำสั่งในการควบคุมลงทะเบียน
  • ทะเบียนสถานะ
  •  CPU สามารถตรวจสอบสถานะของการดำเนินการโดยการตรวจสอบ (อ่าน) ลงทะเบียนสถานะซึ่งถือสถานะปัจจุบันข้อมูล:
  • หากทั้งสองไม่ว่างและทำจะถูกตั้งค่าเป็น 0 คนขับสามารถวางคำสั่งในการลงทะเบียนการควบคุม
  • การปรากฏตัวของใหม่ I / O ที่ทำให้เกิดคำสั่งควบคุมการตั้งค่าสถานะไม่ว่างที่จะที่ 1 และที่จะเริ่มต้น
  • การดำเนินงาน
  • เมื่อการดำเนินการได้เสร็จสิ้นการควบคุมล้างธงยุ่งและตั้งธงทำ
  • ข้อมูลการลงทะเบียน
  • ข้อมูล / จากระบบบัสเป็น buffered ในทะเบียนเหล่านี้
  • วิธีสื่อสารกับ CPU ลงทะเบียนเหล่านี้หรือไม่
  • I / O หมายเลขพอร์ต
  • ฉันหน่วยความจำแมป / O
  • ไฮบริด

I/O Port Number


  • ทะเบียนควบคุมที่ได้รับมอบหมายในแต่ละที่ไม่ซ้ำกันของ I / O หมายเลขพอร์ต (8/16 จำนวนเต็มบิต)
  • พิเศษ I / O คำแนะนำ (เช่นในและนอก) จะต้อง
  • ใน REG, PORT
  • OUT PORT, REG
  • ช่องว่างที่อยู่แยกออกจากกัน
  • ใน R0, 4 และ MOV R0 4 จะแตกต่างกันอย่างสิ้นเชิง

Memory-Mapped I/O


  • แผนที่ทั้งหมดลงทะเบียนเข้าควบคุมพื้นที่หน่วยความจำ
  • ปกติจะอยู่ที่ด้านบนของพื้นที่ที่อยู่
  • ลงทะเบียนแต่ละครั้งจะถูกกำหนดที่อยู่หน่วยความจำที่ไม่ซ้ำกันเช่น 0xFF10


  • การเรียนการสอนทุกคนว่าหน่วยความจำ canreference ยังสามารถอ้างอิงการลงทะเบียนการควบคุม

Hybrid


  • โครงการไฮบริด
  • แมปหน่วยความจำบัฟเฟอร์ข้อมูล I / O
  • เฉพาะกิจพอร์ต I / O สำหรับการลงทะเบียนการควบคุม
  • ตัวอย่าง: Pentium
  • สำรองอยู่ที่ 640K 1 ล้านสำหรับบัฟเฟอร์ข้อมูลอุปกรณ์ที่นอกเหนือไปจากพอร์ต I / O 0 ถึง 64K
















I/O Communication Techniques

Programmed I/O

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

Interrupt-Driven I/O

  • ในกรณีนี้คอมพิวเตอร์อนุญาตให้โมดูล I / O เพื่อขัดจังหวะซีพียู
  • ไดร์เวอร์บอกควบคุมสิ่งที่ต้องทำโดยการเขียนของอุปกรณ์ควบคุม registers.The จากนั้นก็เริ่มอุปกรณ์
  • เสร็จสิ้นการควบคุมการอ่าน / เขียนแล้วส่งสัญญาณควบคุมการขัดจังหวะ
  • หากควบคุมการขัดจังหวะสามารถยอมรับขัดจังหวะมันบอก CPU
  • ควบคุมขัดจังหวะทำให้จำนวนของอุปกรณ์บนรถบัสของ CPU อ่านมัน
  • การตรวจสอบ CPU สัญญาณขัดจังหวะในตอนท้ายของการเรียนการสอนที่วงรอบ
  • หลังจากที่การเรียนการสอนในปัจจุบันได้รับการประมวลผล แต่ก่อนการเรียนการสอนต่อไปคือ "ความจริง" จากหน่วยความจำ
  • หากไม่มีการขัดจังหวะเรียกคำสั่งถัดไปสำหรับโปรแกรมในปัจจุบัน
  • หากขัดจังหวะอยู่ระหว่างการพิจารณาระงับการดำเนินการของปัจจุบันโปรแกรมและดำเนินการจัดการขัดจังหวะ
  • จัดการขัดจังหวะเป็นโปรแกรมที่กำหนดลักษณะของการที่ขัดขวางการดำเนินการและการกระทำสิ่งที่มีความจำเป็น
  • ทำให้ข้อมูลที่พวกเขามีความจำเป็น (ถ้ามี)
  • หลังจากที่ให้บริการการขัดจังหวะการดำเนินการดำเนินการต่อที่บันทึกไว้จุดของโปรแกรมขัดจังหวะ


•อีกครั้ง CPU จัดการการถ่ายโอนข้อมูล

Interrupt Handler
ควบคุมการถ่ายโอนขัดจังหวะรถยกขัดจังหวะโดยทั่วไปผ่านการ interrupt vector ,ซึ่งมีอยู่ทั้งหมด
ขั้นตอนการให้บริการ
สถาปัตยกรรมขัดจังหวะต้องบันทึกอยู่ของขัดจังหวะที่คำแนะนำ.
มันจะต้องบันทึกเนื้อหาลงทะเบียนของโปรแกรมเพื่อขัดจังหวะว่าโปรแกรมขัดจังหวะสามารถกลับมาจากจุดของการหยุดชะงัก
การขัดจังหวะที่เข้ามาใช้งานไม่ได้ในขณะที่การขัดจังหวะอีกจะถูกการประมวลผลเพื่อป้องกันไม่ให้สูญเสียการขัดจังหวะ

Simple Interrupt Processing

Hardware

ควบคุมอุปกรณ์หรือฮาร์ดแวร์ของระบบอื่น ๆปัญหาinterrupt(issues an interrupt)
  |
 V

เสร็จสิ้นการประมวลผลการดำเนินการ(finishesexecution)ของปัจจุบันคำแนะนำ
 |
V
ประมวลผลสัญญาณการรับทราบ(acknowledgment)การขัดขวาง
 |
V
ประมวลผลผลักดันให้ PSWและเครื่องพีซีเข้ามาในระบบสแต็ค(PSW and PC onto system stack)

 |
V
หลดประมวลผลใหม่ค่าเครื่องคอมพิวเตอร์บนพื้นฐานของขัดขวาง(loads new PC)

 |
V
Software

 |
V

บันทึกที่เหลือลงทะเบียน(Save the remainder registers)

 |
V
ขัดจังหวะกระบวนการ (Process interrupt)

 |
V
การคืนค่าลงทะเบียน(Restore the registers)
 |
V
Restore PSW เก่าและเครื่องคอมพิวเตอร์(Restore old PSW and PC)

Atomic Mode Transfer   (อะตอมโหมดการถ่ายโอน)

  • ในการขัดจังหวะ (x86)
ประหยัดชี้สแต็คในปัจจุบัน
ประหยัดโปรแกรมเคาน์เตอร์ปัจจุบัน
ประหยัดคำประมวลผลสถานะปัจจุบัน (รหัสเงื่อนไข)
เปลี่ยนไปเป็นสแตกเคอร์เนล; ใส่ SP, PC, PSW ในกอง
สลับไปโหมดเคอร์เนล
เวกเตอร์ผ่านโต๊ะขัดจังหวะ
จัดการขัดจังหวะบันทึกลงทะเบียนมันอาจบังคับ

At End of Handler(ในตอนท้ายของตัวจัดการ)
  • จัดการคืนค่าลงทะเบียนที่บันทึกไว้
  • อะตอมกลับไปขัดจังหวะกระบวนการ /thread
การคืนค่าโปรแกรมเคาน์เตอร์
การคืนค่าสแต็คโปรแกรม
การคืนค่าสถานะคำประมวลผล / รหัสสภาพ
สลับไปที่โหมดผู้ใช้

Direct Memory Access (DMA)

  • CPU ตั้งค่าตัวควบคุม DMA (ตัวควบคุมที่แยกต่างหากหรือรวมอยู่ในคอนโทรลเลอร์ I / O) และช่วยให้มันไป
จำนวนไบต์ในการถ่ายโอน
อุปกรณ์และที่อยู่ที่เกี่ยวข้องและทิศทาง
  • ควบคุม DMA โอนบล็อกของข้อมูลโดยตรงไปยังหรือจากหน่วยความจำ (โดยไม่ต้องผ่าน CPU)
  • ขัดจังหวะจะถูกส่งเมื่อบล็อกทั้งหมดได้รับการถ่ายโอน
  • ซีพียูที่มีส่วนเกี่ยวข้องเท่านั้นที่จุดเริ่มต้นและจุดสิ้นสุดของโอน
  • ซีพียูเป็นอิสระในการดำเนินการอื่น ๆ ในระหว่างการถ่ายโอนข้อมูล
DMA Transfer Modes(โหมดการถ่ายโอน DMA )

  • คำที่เวลา (รอบขโมย)
ควบคุม DMA ได้มารถบัสรับส่งคำหนึ่งและ
ออกรถบัส
 CPU รอรถบัสหากข้อมูลที่ถ่ายโอน
วงจรขโมย: ขโมยรอบรถเป็นครั้งคราวจาก CPU ครั้งใน
ในขณะที่
  • Burst mode
 DMA ถือรถบัสจนชุดของการถ่ายโอนที่สมบูรณ์
มีประสิทธิภาพมากขึ้นนับตั้งแต่การซื้อรถต้องใช้เวลา
บล็อก CPU จากการใช้รถบัสเป็นเวลาที่สำคัญ

สรุป:เทคนิคการสื่อสาร I / O 

                                                        ไม่มี Interrupts                ใช้ Interrupts

I / O ไปยังหน่วยความจำ             
โอนผ่าน                                          Programmed I/O             Interrupt-driven I/O
หน่วยประมวลผล

โดยตรง 
I / O 
- เพื่อ - 


การถ่ายโอนหน่วยความจำ                                                      

DMA

Multiprogramming

  • Interrupts มีประสิทธิภาพส่วนใหญ่
เมื่อโปรแกรมต้องรอ I / O การทำงานให้เสร็จสมบูรณ์และ
เมื่อ CPU เดียวจะใช้ร่วมกันระหว่างหลายโปรแกรม (เช่น CPU มีมากกว่าหนึ่งโปรแกรมที่จะดำเนินการ)
  • เพราะ CPU สามารถสลับไปรันโปรแกรมอีกเมื่อโปรแกรมรอผลมาจากการดำเนินการ I / O

Multiple Interrupts

สองวิธีสามารถนำไปจัดการกับหลาย ๆ ขัดจังหวะ
  • วิธีที่ 1: การสั่งซื้อต่อเนื่อง
ปิดการใช้งานขัดจังหวะในขณะที่การขัดจังหวะจะถูกประมวลผล
  • วิธีที่ 2: ความคาดหวัง
ลำดับความสำคัญของการใช้งานที่แตกต่างระหว่างการขัดจังหวะ

Sequential Order

  • ประมวลผลสัญญาณไม่สนใจคำขอขัดจังหวะใหม่ ๆ
  • Interrupts ยังคงอยู่ระหว่างการพิจารณาจนกว่าหน่วยประมวลผลจะช่วยให้การขัดจังหวะ
  • ประจำหลังจากจัดการขัดจังหวะเสร็จสิ้นการตรวจสอบประมวลผลสำหรับการขัดจังหวะเพิ่มเติม

Priorities

  • ขัดจังหวะความสำคัญที่สูงขึ้นทำให้เกิดการลดความสำคัญขัดจังหวะที่จะรอ
  • สาเหตุลำดับความสำคัญต่ำกว่าจัดการขัดจังหวะที่จะถูกขัดจังหวะ
  • ตัวอย่าง: เมื่อมาถึงการป้อนข้อมูลจากสายการสื่อสารจะต้องมีการดูดซึมได้อย่างรวดเร็วเพื่อให้มีที่ว่างสำหรับการป้อนข้อมูลเพิ่มเติม

ลำดับหน่วยความจำ

  • ต้องการ: ขนาดใหญ่มากอย่างรวดเร็วหน่วยความจำราคาถูกมาก
  • ปัญหา: หน่วยความจำได้อย่างรวดเร็วมีราคาแพง
  •  Solution: สร้างลำดับชั้นของหน่วยความจำและย้ายข้อมูลระหว่างระดับที่จะสร้างภาพลวงตาของหน่วยความจำขนาดใหญ่และรวดเร็ว
            ลำดับชั้นของหน่วยความจำที่ปิรามิดของระดับหน่วยความจำที่แตกต่างกันซึ่งแต่ละระดับที่ต่ำกว่ามี:
          -ลดต้นทุนต่อบิต
          -ความจุขนาดใหญ่
          -เวลาในการเข้าถึงช้าลง


วิธีการทำงานลำดับหน่วยความจำ?

  • เมื่อเข้าถึงหน่วยความจำเป็นสิ่งจำเป็นที่มองหามันอยู่ในระดับที่เร็วที่สุดของหน่วยความจำ
  • ถ้าเป็นที่นั่น - ตีเราจะทำ
  • ถ้ามันไม่ได้มี - พลาดเกิดขึ้น
         มองหารายการในระดับที่ต่ำกว่าต่อไป; ทำซ้ำจนกว่าตีเกิดขึ้น
  • นำบล็อกจากระดับที่ตีเกิดขึ้นและการปรับปรุงทุกระดับเหนือ (เปลี่ยนบล็อกในกรณีที่จำเป็นอื่น)
  •  ตัวอย่าง: เวลาในการเข้าถึงในระดับ 1 (หน่วยความจำได้อย่างรวดเร็ว) เป็น 1; เวลาในการเข้าถึงในระดับ 2 (หน่วยความจำช้า) เป็น 100; อัตราส่วนตี (ความถี่ที่คุณหารายการในหน่วยความจำได้อย่างรวดเร็ว) เป็น 98%
  • T1 = เวลาในการเข้าถึงอย่างรวดเร็วหน่วยความจำ
  • T2 เวลาในการเข้าถึง = ช้าหน่วยความจำ
  • T2 T1 >>
  • เมื่ออัตราการตีอยู่ใกล้กับ 1เวลาการเข้าถึงโดยเฉลี่ยอยู่ที่ใกล้กับ T1
  • ลองดูที่ตัวอย่าง -หน่วยความจำแคช

Cache Memory

  • ความเร็วของ CPU เร็วกว่าหน่วยความจำความเร็ว
  • เพื่อเพิ่มความเร็วของหน่วยความจำแคชขนาดเล็กของหน่วยความจำที่มีราคาแพง แต่อย่างรวดเร็วถูกนำมาใช้
  • มันจะมองไม่เห็นระบบปฏิบัติการและโปรแกรมของผู้ใช้ แต่มีปฏิสัมพันธ์กับฮาร์ดแวร์จัดการหน่วยความจำอื่น ๆ
  • การตรวจสอบครั้งแรกของ CPU ถ้าอ้าง word ที่อยู่ในแคช
  • ถ้าไม่ได้พบในแคช block ของหน่วยความจำที่มีคำว่าจะถูกย้ายไปยังแคช
  • ถิ่นของการอ้างอิงใช้ที่นี่: ยกตัวอย่างเช่นครั้งหนึ่งเคยเป็นวงที่มีการป้อนมีการเข้าถึงบ่อยชุดเล็ก ๆ ของคำแนะนำก็มีแนวโน้มว่าคำพูดที่ใกล้เคียงจะได้รับการอ้างถึงบ่อยครั้งในอนาคตอันใกล้
  • ดังนั้นอัตราการตีจะใกล้เคียงกับ 1 แม้สำหรับแคชขนาดเล็ก

ทำไมผลงานลำดับหน่วยความจำ?


  • อ้างอิงถึงหน่วยความจำที่ไม่สุ่ม: พวกเขามีแนวโน้มเป็น:
ภาษาท้องถิ่นตำแหน่ง (ถ้าคุณเข้าเยี่ยมชมสถานที่ที่มีแนวโน้มที่จะเยี่ยมชม
เพื่อนบ้าน)
ภาษาท้องถิ่นชั่วคราว (ถ้าคุณเข้าเยี่ยมชมสถานที่ที่มีแนวโน้มที่จะเยี่ยมชม
อีกครั้ง)
  • ลำดับชั้นของการทำงานเพราะถิ่นที่อยู่ของอ้างอิงนี้

การพัฒนาโปรแกรม

Address Translation

ในครั้งเก่าโหลดแทนที่ญาติที่อยู่กับคนทางกายภาพที่เวลาในการโหลด



0 ความคิดเห็น: แสดงความคิดเห็น