Hardware FPGA DPS-8M Mainframe and FNP Project

We’re excited to announce an ambitious long-term project, currently in the early stages, to implement as much of the DPS‑8/M mainframe architecture as possible using one (or more) FPGAs — with the ability to run the full Multics operating system — is now underway, led by Dean S. Anderson.

In the early 1980s, Dean started as a computer operator at Gelco on a large Honeywell Series‑60 ∕ Level‑66 dual processor mainframe (eventually converted to a four processor DPS‑8) running GCOS‑3. Over time, he worked his way through Gelco’s Production Control and Special Projects groups writing programs to automate the Computer Operations Department. This included writing GCOS‑3 kernel modifications for special handling of tapes.

In 1985, Dean went to Honeywell Underseas Systems Division where he coordinated PBX installations as well as wiring for both broadband and Ethernet networks. He also wrote a lot of software in C for automating factory floor operations and board assembly, and worked on other large projects, including networking a significant number of Level 6 minicomputers.

Currently, Dean is a Principal Software Architect for Tabula Rasa Healthcare.

As a member of the DPS8M Development Team, Dean authored the ‘punutil’ utility for punched card manipulation and conversion. Additionally, Dean made important contributions to the DPS8M Simulator, specifically in the areas of magnetic tape and unit record equipment (e․g․ card reader, card punch, printer) handling, as well as automated testing.

The following is Dean’s update on the ongoing work.

Background



In November of 2021, I was looking for a long-term hobby project, and I was seeing a lot of different work happening on FPGA implementations of historic minicomputers and mainframes such as the IBM System/360.

I had already been working with the awesome DPS8M Simulator and Multics for some time, since I have a history as an operator/programmer/system programmer on Honeywell “Large Systems” mainframes running GCOS‑3 (Level‑66 & DPS‑8).

While there are quite a few people working on IBM S/360 and CDC simulation and emulation, there is unfortunately little being done for our favorite 36‑bit GE Large Systems / Honeywell / Bull 600/6000‑series systems. Since I’ve always been interested in FPGA development (and previously played around with it a bit), I decided my long-term hobby project would be to implement the complete DPS‑8/M distributed processing mainframe architecture in one or more FPGAs.

I expect this to be a very long project as I currently work a regular job and I’m at least several years from retirement. I also have a few health issues that can slow me down at times. For anyone expecting a fully working FPGA emulation of the DPS‑8/M in the very near future, don’t hold your breath just yet!

Initial Project Direction



After some discussion, I decided that first implementing the FNP (Front-end Network Processor) component, specifically, the DATANET 355 (or DN355), also known as the DN6632 (denoting it’s 32 KW of memory), would be the ideal starting point. These systems have a simpler 18‑bit processor than the primary 36‑bit DPS‑8/M CPU, and would provide a suitable way to learn Verilog.

As the FNP CPU can be thought of as a simplified “half a DPS‑8 CPU”, while also having similarities to the central system (including an IOM, Input/Output Multiplexer) in a simplified form, the experience gained working on this component should be transferable to the system as a whole.

Front-end Network Processor (FNP)

Front-end Network Processor (FNP)

Enter Charles Anthony — a truly awesome programmer who did amazing work on the DPS8M Simulator — who already had a partial FNP simulation, coded in C99. This code originated from the DPS8M Simulator, but was abandoned in favor of a simpler (yet more robust and better performing) FNP emulation; that is, a native reimplementation, handling the commands sent to/from the FNP from the DPS‑8 directly, instead of simulating the instruction set of the 18‑bit FNP CPU and running the genuine MCS (Multics Communication System) software on it.

Charles suggested that he complete this FNP simulation software to aid in the development of the FPGA system. However, we soon discovered that MCS had grown, and no longer supported the original DN355 FNP, but only the later DN6661/DN6670/DN6678 models, that is, those equipped with more than 32 KWords of memory.

We changed our designs to target this system. This was not a major change, but it meant the software simulation (and the FPGA, eventually) needed to implement the memory paging unit that allows the processor to access memory over the 32 KW boundary.

The FNP simulation software, DATANET6600, is now available and mostly complete (lacking a complete IOM implementation), and has been essential in the development of the FNP FPGA.

FPGA Project Details



Charles proposed selecting an FPGA that incorporated an onboard ARM CPU core. This approach would allow us to begin with the DPS8M Simulator software running on the ARM core, and gradually replace sections of the software code with Verilog FPGA implementations until all elements have been transitioned from the ARM to the FPGA.

This resulted in the need for a requirements definition for the target development board to use. I had already explored and experimented with boards from Digilent (Nexys series) and Terasic (DE series).

Ultimately, I decided on the Terasic DE series.

The Terasic DE series was selected for the following reasons:

  • It uses FPGAs that support development using Intel Quartus Prime, a very nice IDE for FPGA development, which includes a free version that is adequate for our needs.

  • There are three very good development boards in the DE‑10 series: the DE10‑Standard, DE10‑Lite, and DE10‑Nano. I especially liked the DE10‑Nano since it has a history with the MiSTER project, emulating a large number of microprocessors, classic computers, and arcade games.

  • The DE10‑Standard and DE10‑Nano boards in the series are offered with ARM-based hardware processors.

  • I already owned a DE10‑Lite board for evaluation and used it to complete a tutorial on Verilog.

While the DE10‑Standard can be used to support development, because there is no explicit need for the ARM core in the finished DN6678 FNP simulation, and because I feel that the DE10‑Nano simply won’t be enough to support a fully featured mainframe alone, I decided to target the DE10‑Lite for the FNP (as well as the mass storage, tape, and unit record processor) components. With the FNP handled, (hopefully) two complete DPS‑8/M CPUs will be able to be simulated using one DE10–Nano (along with a 12 MWord SCU and an IOM).

This way an entire Honeywell / Bull Distributed Processing System mainframe can be assembled from these components.

DN6678 FPGA Development Status



Where do things stand currently?

  • DN6678 CPU
    • The CPU simulation executes all but 2 of the 98 instructions:
      • One of these instructions is not used by the Multics FNP code (MCS), and,
      • the other requires a more complete IOM implementation before it can be implemented.
  • Paged RAM
    • The paged RAM is implemented in Block RAM on the FPGA and provides 64 KWords (18 bit words) of storage.
    • There is a working implementation of the paging unit, but, when working with the IOM implementation, there are a few issues which will require some restructuring to handle things like mailbox reads/writes from/to the IOM boards.
      • This has resulted in an MMU (Memory Management Unit) design to overcome these issues that must be implemented.
  • IOM
    • The IOM in this design contains the simulation for various plug-in boards.
    • While some of the concepts of the plug-in boards will be simulated, the actual population of these boards will be fairly fixed and require re-working of the Verilog code to change what boards are present.
      • This is due to the fact that we will not need to provide hundreds of serial ports to run a large number of terminals.
    • The IOM Central is partially implemented as well as the elapsed and interval timers.
  • Interrupt Controller
    • The IOM in this design also contains the Interrupt Controller which is fully implemented.



— Dean S. Anderson

Note: This article have been indexed to our site. We do not claim legitimacy, ownership or copyright of any of the content above. To see the article at original source Click Here

Related Posts
Jaké problémy Dying Light 2 mají pro vývojáře prioritu? thumbnail

Jaké problémy Dying Light 2 mají pro vývojáře prioritu?

No u mě je to více zabugovanější než jsem měl Cyberpunk, kde to spíše byly jen grafické glitche, které pobavili. U DL2 jsem už párkrát musel znovu načíst save. Několikrát jsem skočil na zombíky s cílem do nich kopnout, ale místo toho jsem nad nimi lítal. Vřískači, nebo jak se jim v češtině říká (btw…
Read More
Apple Watch Series 7 พร้อมให้สั่งซื้อได้ตั้งแต่วันศุกร์ที่ 8 ตุลาคม และจะเริ่มวางจำหน่ายในร้านค้าในเร็วๆ นี้ thumbnail

Apple Watch Series 7 พร้อมให้สั่งซื้อได้ตั้งแต่วันศุกร์ที่ 8 ตุลาคม และจะเริ่มวางจำหน่ายในร้านค้าในเร็วๆ นี้

Apple Watch Series 7 มาพร้อมจอภาพที่ใหญ่และล้ำหน้าขึ้น ทนทานและชาร์จได้ไวขึ้น ตัวเรือนอะลูมิเนียมสีใหม่ และ watchOS 8 Apple Watch Series 7 พร้อมจอภาพที่ใหญ่ขึ้นและล้ำหน้ายิ่งขึ้น พร้อมให้สั่งซื้อได้ตั้งแต่วันศุกร์ที่ 8 ตุลาคม เป็นต้นไป วันนี้ Apple ประกาศความพร้อมในการวางจำหน่าย Apple Watch Series 7 ที่มาพร้อมจอภาพ Apple Watch ที่ใหญ่และล้ำหน้าที่สุดเท่าที่เคยมีมา และจอภาพ Retina แบบติดตลอดที่ได้รับการออกแบบทางวิศวกรรมขึ้นมาใหม่ให้มีพื้นที่หน้าจอเพิ่มขึ้นและขอบที่แคบลงอย่างเห็นได้ชัด โดยลูกค้าสามารถสั่งซื้อได้ตั้งแต่วันศุกร์ที่ 8 ตุลาคม เวลา 19.00 น. เป็นต้นไป และจะเริ่มวางจำหน่ายในร้านค้าในเร็วๆ นี้ ดีไซน์ของ Apple Watch Series 7 ได้รับการปรับแต่งให้สวยงามขึ้นด้วยขอบที่โค้งมนและดูนุ่มนวลกว่าเดิม พร้อมจอภาพที่มีการหักเหแสงที่บริเวณขอบอย่างเป็นเอกลักษณ์ ซึ่งทำให้หน้าปัดแบบเต็มหน้าจอและแอปต่างๆ ดูกลมกลืนเป็นหนึ่งเดียวกับความโค้งมนของตัวเรือน ขอบที่แคบลงของ Apple Watch Series 7 มีความหนาเพียง…
Read More
The Redmi Note 11 Pro will have support for 120W charging thumbnail

The Redmi Note 11 Pro will have support for 120W charging

08.10.2021 17:21 | Mobile Rane glasine, koje se tiču Redmi Note 11 serije, ukazuju na to da bi premijum Pro ili Pro Max model mogao imati podršku za 120W brzo punjenje baterije.Informaciju je objavio pouzdani dojavljivač Digital Chat Station, i ovo su prve informacije kada je u pitanju Redmi Note 11 serija. To bi predstavljalo…
Read More
MKBHD kollar in Samsung Galaxy S22 Ultra thumbnail

MKBHD kollar in Samsung Galaxy S22 Ultra

Hur hållbar är Samsung Galaxy S22? by Rasmus Hellmyrs 13 februari, 2022, 0:28 En video har nyligen laddats upp där man tagit reda på hur hållbar Samsung Galaxy S22 är. Det kan ni... Samsung Galaxy Tab S8- serien går inte längre att boka i USA by Rasmus Hellmyrs 12 februari, 2022, 20:45 För någon vecka…
Read More
Index Of News
Total
0
Share