Leave a comment

panchul February 5 2022, 21:00:08 UTC
Почитал MMIX по ссылке в википедии. Да уж, сразу видно что Кнут программист, а не микроархитект. Он скрестил 256-регистров от AMD 29K с регистровыми окнами SPARC и регистрами для каждой подпрограммы.

У такого дизайна будет хреновый тайминг с еще более хреновым энергопотреблением, а для Out-of-order он вообще не взлетит из-за сложности реализации конфликтов в конвейере. Поэтому-то его никто и не реализовал в чипе.

*** MMIX is a big-endian 64-bit reduced instruction set computer (RISC), with 256 64-bit general-purpose registers ... The local register stack provides each subroutine with its own rL local registers, designated by $0 through $(rL − 1). Whenever a subroutine is called, a number of local registers are pushed down the stack (by shifting the start of the window). The arguments of the called subroutine are left in the remaining local registers. When a subroutine finishes it pops the previously pushed registers. Because the internal stack can contain only a finite number of registers, it may be necessary to store a part of the stack in memory.[4] This is implemented with the special registers rO and rS which record which part of the local register stack is in memory and which part is still in local physical registers. The register stack provides for fast subroutine linkage. ***

Reply


Leave a comment

Up