A QUICK OVERVIEW OF PDP-8 ARCHITECTURE ธนวัฒน์ แซ่เอียบ
Memory หน่วยความจำของ PDP-8 มีทั้งหมด 4096 word แต่ละ word มีขนาด 12 บิต คำนวณได้จากจำนวนบิตที่ใช้เป็น address มีขนาด 12 บิตด้วยเช่นกันจึงสามารถชี้ตำแหน่งหน่วยความจำได้ทั้งหมด 212 = 4096 location แต่ละ location ที่พื้นที่จัดเก็บเท่ากับ 12 บิต หรือ 1 word ลำดับบิตใน word เรียงจากซ้ายไปขวา (0-11) บิตตำแหน่งที่ 0 เป็น most significant bit (มีค่ามากที่สุดคือ 212=4096)
Memory หน่วยความจำแบ่งออกเป็น 32 pages แต่ละ pages มี 128 word จำนวนบิต 12 บิตถูกแบ่งออกเป็น 2 ส่วน ส่วนแรกเป็นจำนวน page ขนาด 5 บิต (25=32) บิตตำแหน่งที่ 0 ถึง 4 ส่วนที่สองเป็นตำแหน่งภายใน page นั้นเรียกว่า offset ขนาด 7 บิต (27=128) บิตตำแหน่งที่ 5 ถึง 12 page offset
Memory 0-12710 12810-25510 396710-409510 Page 0 สงวนไว้จัดเก็บข้อมูล 00000 0000000 00000 1111111 00001 0000000 00001 1111111 11111 0000000 11111 1111111 Page 0 สงวนไว้จัดเก็บข้อมูล Page 1 จุดเริ่มของคำสั่ง (instruction) อาจใช้จัดเก็บข้อมูลก็ได้ Page 31 Page สุดท้ายของคำสั่ง
Memory ตัวอย่าง address ที่ 02008 = 0000100000002 ส่วนที่เป็น page คือ 000012 =110 ส่วนที่เป็น offset คือ 00000002 =010 เหตุผลที่มีการแบ่งออกเป็น page และ offset เพื่อเป็นรูปแบบในการอ้างถึงหน่วยความจำ (memory reference) ข้อดี สามารถเปลี่ยนข้อมูลส่วนที่เป็น page เป็น opcode ได้ และถ้า opcode นั้นตามด้วย location สามารถอ้างถึง location เพื่อดึงค่าที่เก็บอยู่ใน page นั้นได้ ซึ่งใช้บิตในการอ้างถึงตำแหน่งเพียง 7 บิตเท่านั้น (ไม่ต้องใช้บิตทั้ง 12 บิต) (ในกรณีข้าม page จะมีรูปแบบที่ต่างออกไป)
Register accumulator(AC) 1 ตัวขนาด 12 บิตและมี link register (L) ขนาด 1 บิตไว้ทดค่าจากการคำนวณของ accumulator Multiply-quotient register (MQ) ขนาด 12 บิตใช้สำหรับการคูณและการหาร Program counter (PC) ขนาด 12 บิตซึ่งจัดเก็บตำแหน่งถัดไปของคำสั่งที่จะถูกปฏิบัติงาน Instruction register(IR) ขนาด 3 บิต Memory address register (MAR) ขนาด 12 บิต Memory Data(Buffer) register (MDR) ขนาด 12 บิต CPU ใช้ MAR และ MDR ในการเข้าถึงหน่วยความจำจากการระบุตำแหน่งและการะบุค่าเพื่อเขียนหรืออ่าน
Register Special purpose register (SR) ขนาด 12 บิตใช้สำหรับนำเข้าข้อมูลโดยตรงจาก console ของ PDP-8 Console ของ PDP-8
Register L AC SR MQ IR MDR MAR ? PC address content
Instruction page offset Memory reference
Instruction
Instruction
Instruction
ที่มา BRIAN J. SHELBURNE, A PDP-8 Emulator Program, Wittenberg University