คอมโมดอร์ REU
| ผู้ผลิต | คอมโมดอร์ บิสซิเนส แมชชีนส์ (CBM) |
|---|---|
| พิมพ์ | การขยายหน่วยความจำ |
| ปล่อยแล้ว | พ.ศ. 2529 |
| เลิกผลิตแล้ว | 1990 |
| ซีพียู | MOS 8726 REC (ตัวควบคุมการขยาย RAM) DMA ASIC |
| หน่วยความจำ |
|
| พื้นที่จัดเก็บ | ไอซี DRAM 4164 64kx1 หรือ 41256 256kx1 |
หน่วยขยาย RAM ของคอมโมดอร์ (REU)คือกลุ่ม ผลิตภัณฑ์หน่วยความจำเสริม ภายนอก
ในขณะที่เปิดตัวคอมพิวเตอร์บ้านCommodore 128 ได้มีการประกาศ REU สองรุ่นสำหรับรุ่นนั้น ได้แก่ REU 1700 (128 KB ) และ REU 1750 ( 512 KB ) ต่อมา Commodore ได้แนะนำรุ่นที่สามสำหรับรุ่นCommodore 64 คือ REU 1764 ( 256 KB ) [ 1 ]
ความจำเป็นในการใช้ REU เกิดขึ้นเมื่อฝ่ายบริหารของคอมโมดอร์ตัดสินใจไม่ใช้เวอร์ชันสุดท้ายของหน่วยจัดการหน่วยความจำ แบบกำหนดเอง (MMU) ซึ่งจำกัดขนาดของหน่วยความจำ แม้ว่าจะมีการพูดคุยกันในเบื้องต้นเกี่ยวกับแผนผังหน่วยความจำที่ใหญ่กว่าก็ตาม วิศวกรที่เดินทางไปงานแสดงสินค้าอิเล็กทรอนิกส์สำหรับผู้บริโภค (CES) ปี 1985 ได้พบกับใบปลิวและป้ายโฆษณาที่ระบุขนาดหน่วยความจำที่ไม่ได้รับการสนับสนุนอีกต่อไป และในที่สุดผู้บริหารระดับสูงก็ถามว่าหน่วยความจำเพิ่มเติม (สูงสุด512 KB ) จะเสียบเข้า กับส่วนใด
เมื่อถึงงาน CES ปี 1985 ที่ชิคาโก วิศวกรสามารถแสดงลูกโลกหมุนได้เพื่อสาธิตการเข้าถึงหน่วยความจำโดยตรง (DMA)โดยหน่วย REU รุ่นใหม่
ฮาร์ดแวร์ REU ได้รับการออกแบบโดย Frank Palia และวงจรรวม ควบคุมการขยาย RAM (REC) เฉพาะทางได้ รับการออกแบบโดย Victor Andrade Fred Bowen และ Terry Ryan ได้ดัดแปลงKERNALและBASIC ของ C128 เพื่อรองรับ REU โดยตรง และ Hedley Davis ได้เขียนโปรแกรมสาธิตการหมุนลูกโลก ซึ่งเป็นการแสดงภาพเคลื่อนไหวที่น่าประทับใจในยุคกลางทศวรรษ 1980
คำอธิบายฮาร์ดแวร์

แม้ว่า C128 จะสามารถเข้าถึง RAM ได้มากกว่า64 KB ผ่าน การสลับแบงค์แต่หน่วยความจำภายใน REU สามารถเข้าถึงได้โดยการถ่ายโอนข้อมูล (STORE/LOAD/SWAP/COMPARE) ระหว่างหน่วยความจำหลักและหน่วยความจำ REU เท่านั้น นอกจากนี้ ภาษาBASIC 7.0 ในตัวของ C128 ยังมีคำสั่งสามคำสั่ง ได้แก่STASH, FETCH, และSWAPสำหรับการจัดเก็บและเรียกข้อมูลจาก REU
อย่างเป็นทางการแล้ว มีเพียงรุ่น 1700 และ 1750 เท่านั้นที่รองรับการใช้งานบน C128 ส่วนรุ่น 256 KBหรือ 1764 นั้นวางจำหน่ายสำหรับ C64 ในเวลาเดียวกัน โดยมีความแตกต่างกันเพียงเล็กน้อยระหว่างทั้งสามรุ่น แหล่งจ่ายไฟเดิมของ C64 ไม่สามารถรองรับภาระเพิ่มเติมของรุ่น 1764 ได้ ดังนั้นจึงมีการเพิ่มแหล่งจ่ายไฟ C64 ขนาด 2.5 แอมป์เข้ามาด้วย
รุ่น 1700 ใช้ ชิป DRAM ขนาด 4164 64kx1 จำนวน 16 ตัว รุ่น 1764 ใช้ชิป DRAM ขนาด 41256 256kx1 จำนวน 8 ตัว และรุ่น 1750 ใช้ชิป DRAM ขนาด 41256 จำนวน 16 ตัว
ในทางปฏิบัติ ความแตกต่างระหว่างรุ่น 1764 กับรุ่นก่อนหน้านั้นแทบไม่มีผลต่อความเข้ากันได้ และผู้คนก็ใช้งานรุ่น 1700 และ 1750 กับ C64 ได้สำเร็จ และใช้งานรุ่น 1764 กับ C128 ได้สำเร็จเช่นกัน แม้ว่าแหล่งจ่ายไฟมาตรฐานของ C64 จะไม่เพียงพอที่จะรองรับโหลดพลังงานของอุปกรณ์เหล่านั้นได้อย่างน่าเชื่อถือก็ตาม ตัวแทนจำหน่ายบางรายแยกขายรุ่น 1764 และแหล่งจ่ายไฟเพื่อขายแหล่งจ่ายไฟให้กับผู้ใช้ C64 และ/หรืออัปเกรดรุ่น 1764 เป็น512 KB
รุ่น REU 1750 สามารถปรับเปลี่ยนเพื่อรองรับหน่วยความจำได้สูงสุด 2MB โดยการติดตั้ง IC เพิ่มเติม 2 ตัวสำหรับสลับแบงค์ มีเพียงแหล่งที่มาเดียวของความไม่เข้ากันของซอฟต์แวร์ในการปรับเปลี่ยนนี้: ซอฟต์แวร์ที่ไม่ตั้งค่าบิตที่ $DF06 ให้มีค่าเดียวกันตลอดเวลา หรือตั้งค่าบิตเป็นแบงค์ขนาด 512 kb ที่ยังไม่ได้ติดตั้ง จะไม่ทำงาน[ 2 ]
ในช่วงปลายทศวรรษ 1980 เกิดภาวะขาดแคลน DRAM ทำให้หน่วยความจำรุ่น 1750 หายากและมีราคาแพง อย่างไรก็ตาม การอัพเกรดหน่วยความจำรุ่น 1700 หรือ 1764 ให้มีความจุ512 KB นั้นค่อนข้างง่าย บริษัทหลายแห่งจึงดำเนินการดังกล่าวในเชิงพาณิชย์ โดยอาจจำหน่ายหน่วยที่ได้รับการอัพเกรดแล้ว หรือทำการอัพเกรดหน่วยที่ลูกค้าจัดหามาให้
ในช่วงต้นทศวรรษ 1990 โครงการดัดแปลง ด้วยตนเองเพื่อเพิ่มความจุของ REU ให้เป็นหนึ่งเมกะไบต์หรือมากกว่านั้นได้ปรากฏขึ้นในบริการออนไลน์ต่างๆ
ความแตกต่างของโมเดล

แผงวงจรในช่วงทศวรรษ 1700 นั้นเหมือนกับแผงวงจรในช่วงทศวรรษ 1750 ทุกประการ และร่องรอยที่ทำเครื่องหมาย J1 บ่งบอกถึงขนาดของชิปที่ใช้ ในรุ่นปี 1750 และ 1764 ร่องรอยนี้ถูกตัดออกไป
ซีพียูรุ่น 1700 และ 1750 มีตัวต้านทานอยู่ที่ตำแหน่ง R4 ซึ่งตามคำกล่าวของเฟรด โบเวน วิศวกรของคอมโมดอร์ ตัวต้านทานนี้ช่วยชดเชยความแตกต่างของจังหวะเวลาเล็กน้อยในพอร์ตขยายบนซีพียู C64 และ C128 ส่วนรุ่น 1764 ไม่มีตัวต้านทานนั้น โบเวนและวิศวกรคนอื่นๆ ของ CBM แนะนำว่าไม่ควรใช้รุ่น 1764 กับซีพียู C128 เว้นแต่จะเพิ่มตัวต้านทานเข้าไป หรือใช้รุ่น 1700/1750 กับซีพียู C64 เว้นแต่จะถอดตัวต้านทานออก
สามารถตรวจสอบการมีอยู่ของชิป 1750 ได้โดยการอ่านบิตที่ 4 ของที่อยู่หน่วยความจำ ซึ่งจะเป็น 1 สำหรับชิป 1750 และเป็น 0 สำหรับชิป 1700 หรือ 1764 อย่างไรก็ตาม วิธีการนี้ไม่สามารถแยกแยะความแตกต่างระหว่างชิป 1700 และ 1764 ได้ เพื่อแก้ปัญหานี้ โปรแกรมเมอร์จึงเขียนข้อมูลลงใน RAM ของ REU แล้วอ่านข้อมูลจาก RAM นั้นอีกครั้ง เพื่อหาปริมาณหน่วยความจำที่ติดตั้งอยู่ $DF00
การสนับสนุนซอฟต์แวร์ REU
ซอฟต์แวร์จำนวนน้อยเท่านั้นที่ใช้ REU เช่นเดียวกับผลิตภัณฑ์เสริมอื่นๆ จากCommodoreฐานผู้ใช้งานที่ค่อนข้างน้อยเมื่อเทียบกับจำนวน C64 และ C128 จำนวนมาก ทำให้ผู้พัฒนาซอฟต์แวร์ลังเลที่จะลงทุนเวลาและความพยายามมากนักในการสนับสนุน REU การขาดการสนับสนุนเชิงพาณิชย์ทำให้ยอดขายต่ำกว่าที่ควรจะเป็น เนื่องจากความเร็วสูงเมื่อเทียบกับฟลอปปี้ไดรฟ์ของ Commodore หรือแม้แต่ฮาร์ดไดรฟ์ที่มีจำหน่ายทั่วไป REU จึงได้รับการสนับสนุนใน ชุมชน BBS ของ Commodore โปรแกรมต่างๆ เช่นColor64จำเป็นต้องใช้ REU เพื่อลดเวลาในการโหลดเมื่อสลับระหว่างส่วนต่างๆ ของ BBS [ 3 ]
หน่วย REU มาพร้อมกับซอฟต์แวร์ที่ใช้หน่วยความจำเพิ่มเติมเป็นดิสก์ RAMแต่ความเข้ากันได้ของดิสก์ RAM กับซอฟต์แวร์เชิงพาณิชย์นั้นแตกต่างกันไป เนื่องจากซอฟต์แวร์เชิงพาณิชย์บางตัวพึ่งพาคุณสมบัติเฉพาะของ ไดรฟ์ฟลอปปี้ Commodore 1541 เป็นอย่างมาก นอกจากนี้ โปรแกรมเชิงพาณิชย์หลายโปรแกรมยังเขียนทับพื้นที่หน่วยความจำที่ซอฟต์แวร์ดิสก์ RAM ครอบครองอยู่โดยตรง
ระบบปฏิบัติการ GEOS มีการรองรับ REU ในฐานะดิสก์ RAM ในตัว เช่นเดียวกับ CP/Mเวอร์ชันของ C128 และโปรแกรมคัดลอกดิสก์บางโปรแกรมใช้ REU เพื่ออำนวยความสะดวกในการคัดลอกความเร็วสูงด้วยไดรฟ์ดิสก์เพียงตัวเดียว GEOSและโปรแกรมอื่นๆ ยังใช้ REU สำหรับการถ่ายโอนหน่วยความจำอย่างรวดเร็วภายในหน่วยความจำหลัก ของเครื่องโฮสต์ โดยการจัดเก็บบล็อกหน่วยความจำลงใน REU แล้วดึงกลับมายังตำแหน่งอื่น ด้วยวิธีนี้ เฉพาะข้อมูลที่จะถ่ายโอนจริงเท่านั้นที่ต้องเดินทางบนบัสข้อมูล ของเครื่อง — ซึ่งแตกต่างจากวิธีการปกติที่ CPUของคอมพิวเตอร์ทำการถ่ายโอน ทำให้ใช้ความจุของบัสอย่างน้อยสามในสี่ไปกับการดึงคำสั่งและเพียงหนึ่งในสี่หรือน้อยกว่านั้นสำหรับข้อมูลเพย์โหลด
ดูเพิ่มเติม
- ซูเปอร์ 1750 โคลน
- จีโอแรม
- ครีเอทีฟ ไมโคร ดีไซน์ส์RAMLink
- หน่วยความจำ Creative Micro Designs 2 MB REU ( 1750 XL )
ลิงก์ภายนอก
- REU เกมและยูทิลิตี้
- เอกสารประกอบการเขียนโปรแกรม REU
- ซอร์สโค้ดของ RAMDOS โปรแกรมสำหรับดิสก์ RAM ของหน่วยประมวลผลขยาย RAM ของคอมโมดอร์
- การเขียนโปรแกรม REU - โดย Robin Harbron