กลับไปหน้าบทความ

อ่าน 6 นาที

รีจิสเตอร์โปรเซสเซอร์

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

รีจิสเตอร์โปรเซสเซอร์

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

รีจิสเตอร์ของโปรเซสเซอร์คือตำแหน่งจัดเก็บข้อมูลที่เข้าถึงได้อย่างรวดเร็วซึ่งพร้อมใช้งานสำหรับโปรเซสเซอร์ ของ คอมพิวเตอร์[ 1 ] โดยทั่วไปรีจิสเตอร์ประกอบด้วยหน่วย จัดเก็บข้อมูลความเร็วสูงจำนวนเล็กน้อยแม้ว่ารีจิสเตอร์บางตัวจะมีฟังก์ชันฮาร์ดแวร์เฉพาะ และอาจเป็นแบบอ่านอย่างเดียวหรือเขียนอย่างเดียว ในสถาปัตยกรรมคอมพิวเตอร์รีจิสเตอร์มักจะถูกระบุโดยกลไกอื่นที่ไม่ใช่หน่วยความจำหลักแต่ในบางกรณีอาจได้รับการกำหนดที่อยู่หน่วยความจำเช่น DEC PDP-10 , ICT 1900 [ 2 ]

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

รีจิสเตอร์ของโปรเซสเซอร์โดยปกติจะอยู่บนสุดของลำดับชั้นหน่วยความจำและเป็นวิธีที่เร็วที่สุดในการเข้าถึงข้อมูล คำว่า "รีจิสเตอร์" โดยทั่วไปหมายถึงเฉพาะกลุ่มของรีจิสเตอร์ที่ถูกเข้ารหัสโดยตรงเป็นส่วนหนึ่งของคำสั่ง ตามที่กำหนดโดยชุดคำสั่งอย่างไรก็ตาม ซีพียูประสิทธิภาพสูงในปัจจุบันมักจะมีรีจิสเตอร์ "เชิงสถาปัตยกรรม" เหล่านี้ซ้ำกัน เพื่อปรับปรุงประสิทธิภาพผ่านการเปลี่ยนชื่อรีจิสเตอร์ทำให้สามารถ ประมวลผล แบบขนานและแบบคาดการณ์ได้ การออกแบบ x86สมัยใหม่ได้นำเทคนิคเหล่านี้มาใช้ประมาณปี 1995 พร้อมกับการเปิดตัวPentium Pro , Cyrix 6x86 , Nx586และAMD K5

เมื่อโปรแกรมคอมพิวเตอร์เข้าถึงข้อมูลเดียวกันซ้ำๆ กัน เราเรียกว่าหลักความใกล้เคียงของการอ้างอิง (locality of reference ) การเก็บค่าที่ใช้บ่อยไว้ในรีจิสเตอร์มีความสำคัญต่อประสิทธิภาพของโปรแกรมการจัดสรรรีจิสเตอร์นั้นทำได้โดยคอมไพเลอร์ใน ขั้นตอน การสร้างโค้ดหรือโดยโปรแกรมเมอร์ ภาษาแอสเซมบลี ด้วยตนเอง

ขนาด

โดยปกติแล้ว รีจิสเตอร์จะวัดจากจำนวนบิตที่สามารถเก็บได้ เช่นรีจิสเตอร์8 บิต , 32 บิต , 64 บิต , 128 บิตหรือมากกว่านั้น ในชุดคำสั่ง บางชุด รี จิสเตอร์สามารถทำงานในโหมดต่างๆ ได้ โดยแบ่งหน่วยความจำจัดเก็บออกเป็นส่วนย่อยๆ (เช่น 32 บิต เป็น 4 ส่วนย่อย 8 บิต) ซึ่งสามารถโหลดและประมวลผลข้อมูลหลายชุด (เวกเตอร์ หรืออาร์เรย์ข้อมูลหนึ่งมิติ ) พร้อมกันได้ โดยทั่วไปแล้วจะทำได้โดยการเพิ่มรีจิสเตอร์พิเศษที่แมปหน่วยความจำของรีจิสเตอร์เหล่านั้นไปยังรีจิสเตอร์ขนาดใหญ่กว่า โปรเซสเซอร์ที่มีความสามารถในการประมวลผลคำสั่งเดียวกับข้อมูลหลายชุดเรียกว่าโปรเซสเซอร์เวกเตอร์

ประเภท

รีจิสเตอร์ Intel 8086
1 91 81 71 61 51 41 31 21 11 00 90 80 70 60 50 40 30 20 10 0(ตำแหน่งบิต)
รีจิสเตอร์หลัก
  เอเอช อัล ขวาน
0 0 0 0 บีเอช บีแอล บีเอ็กซ์
  ซีเอช ซีแอล เอ็กซ์ซี
  ดีเอช ดีแอล ดีเอ็กซ์
ดัชนีลงทะเบียน
0 0 0 0 ไอเอสดัชนีแหล่ง ที่มา
0 0 0 0 ดีไอ ดัชนีปลายทาง​​
0 0 0 0 บีพี ตัวชี้ฐาน
0 0 0 0 เอสพีตัวชี้แต็
ตัวนับโปรแกรม
0 0 0 0 ไอพีตัวชี้คำแนะนำ
รีจิสเตอร์เซ็กเมนต์
ซีเอส 0 0 0 0 ส่วนของรหัส​
ดีเอส 0 0 0 0 เซ็กเมนต์ข้อมูล
อีเอส 0 0 0 0 เซเมนต์ พิเศษ
เอสเอส 0 0 0 0 เซกเมนต์S ซ้อน
ทะเบียนสถานะ
  - - - - โอดีฉันทีเอส- เอ- พี- ซีธง

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

รีจิสเตอร์ฮาร์ดแวร์ก็คล้ายกัน แต่จะอยู่นอกซีพียู

ในสถาปัตยกรรมบางแบบ (เช่นSPARCและMIPS ) รีจิสเตอร์ตัวแรกหรือตัวสุดท้ายในไฟล์รีจิสเตอร์ จำนวนเต็ม เป็นรีจิสเตอร์เสมือนกล่าวคือ มันถูกกำหนดค่าตายตัวให้ส่งค่าศูนย์กลับมาเสมอเมื่ออ่าน (ส่วนใหญ่เพื่อลดความซับซ้อนของโหมดการจัดทำดัชนี) และไม่สามารถเขียนทับได้ ในAlphaก็มีการใช้หลักการนี้กับไฟล์รีจิสเตอร์จำนวนทศนิยมด้วยเช่นกัน ผลก็คือ ไฟล์รีจิสเตอร์มักจะระบุจำนวนรีจิสเตอร์มากกว่าจำนวนรีจิสเตอร์ที่ใช้งานได้จริงหนึ่งตัว ตัวอย่างเช่น ระบุ 32 รีจิสเตอร์ ในขณะที่มีเพียง 31 รีจิสเตอร์เท่านั้นที่ตรงตามคำจำกัดความของรีจิสเตอร์ข้างต้น

ตัวอย่าง

ตารางต่อไปนี้แสดงจำนวนรีจิสเตอร์ในสถาปัตยกรรม CPU หลักๆ หลายแบบ แม้ว่าสถาปัตยกรรมทั้งหมดที่ระบุไว้ด้านล่างจะแตกต่างกัน แต่เกือบทั้งหมดก็มีโครงสร้างพื้นฐานที่เรียกว่าสถาปัตยกรรมฟอน นอยมันน์ ซึ่งเสนอโดย จอห์น ฟอน นอยมันน์นักคณิตศาสตร์ ชาวฮังการี-อเมริกันนอกจากนี้ยังเป็นที่น่าสังเกตว่าจำนวนรีจิสเตอร์บนGPUนั้นสูงกว่าบน CPU มาก

การใช้งาน

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

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Processor_register&oldid=1358843596 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รีจิสเตอร์โปรเซสเซอร์

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

ขนาด

โดยปกติแล้ว รีจิสเตอร์จะวัดจากจำนวน บิต ที่สามารถเก็บได้ เช่น รี จิสเตอร์ 8 บิต , 32 บิต , 64 บิต , 128 บิต หรือมากกว่านั้น ใน ชุดคำสั่ง บางชุด รี จิ สเตอร์สามารถทำงานในโหมดต่างๆ ได้ โดยแบ่งหน่วยความจำจัดเก็บออกเป็นส่วนย่อยๆ (เช่น 32 บิต เป็น 4 ส่วนย่อย 8...

ประเภท

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

ตัวอย่าง

ตารางต่อไปนี้แสดงจำนวนรีจิสเตอร์ในสถาปัตยกรรม CPU หลักๆ หลายแบบ แม้ว่าสถาปัตยกรรมทั้งหมดที่ระบุไว้ด้านล่างจะแตกต่างกัน แต่เกือบทั้งหมดก็มีโครงสร้างพื้นฐานที่เรียกว่า สถาปัตยกรรมฟอน นอยมันน์ ซึ่งเสนอโดย จอห์น ฟอน นอยมันน์ นักคณิตศาสตร์...