On Thu, 7 Aug 2025, Paul Koning wrote: > >>> I believe the ancestry of Alpha is a bit different, given that it was > >>> DEC's third generation RISC design, after the R&D one-off Titan (1982, > >>> see https://bitsavers.org/pdf/dec/tech_reports/WRL-86-1.pdf) and the > >>> canceled PRISM (spring 1985, > >>> https://bitsavers.org/pdf/dec/prism/memos/850528_NONVAX.pdf which > >>> mentions Titan and Berkeley but not MIPS as inspiration). > >> > >> Well, the similarity of the ISA is striking, unlike with say the ARM or > >> POWER ISAs, and the timeline and the use of MIPS processors in DEC systems > >> makes it hard to believe there was no influence. That does not preclude > >> other inspirations and it's worth noting that a key architectural mistake > >> was avoided (learnt from?), that is the lack of pipeline interlocking. > > I don't think of them as all that similar, apart from the inherent > similarity of RISC architectures generally. For example, it avoided the > horrors of the delay slot. And it had some odd decisions, like the > initial lack of unaligned load/store and the omission of the divide > instruction.
Pipeline interlocks removed delay slots; by that time the MIPS ISA got rid of some of them already as well, as people quickly realised they were not the best idea (the most recent MIPS ISA revision is I believe fully interlocked). Then MIPS unaligned memory access instructions (LWL/LWR, SWL/SWR, etc.) were covered by a patent, so naturally DEC wanted to avoid them and came up with a different approach. There was also the notable lack of byte and word memory access instructions in the initial ISA. I find all these minor ISA design decisions though. The key concepts clearly borrowed from the MIPS ISA were: a hardwired zero register and the dependency on that for the completeness of the ALU operations provided, the lack of condition codes and the use of general registers instead for conditional branches, and the overall feel of the instruction set, including but not limited to the 6-bit major opcode encoded in bits 31:26 of the instruction word and the placement of the 5-bit register operand fields. Maciej
