механический компьютер
Jul. 23rd, 2025 11:36 amПредположим, что мы (или некоторые инопланетяне без электроники) захотели построить механический компьютер. Какая система счисления будет наиболее эфективной для него (с точки зрения скорости или цены)? Ну и вообще, с позиции знаний об электронных компьютерах, какие трюки позволят поднять его производительность за недорого?
С одной стороны, двоичная система может сделать вещи быстрее, поскольку если цифры представлены некими колесиками как в арифмометре Феликс, то сложение каждого зарряда идет последовательным вращением колесика. Двоичная система может позволить меньше вращать, и экспоненциально амортизировать вращение. И на других системах, наверное, нереалистично реализовать быстрый перенос.
С другой стороны, большая проблема механических компьютеров - в инерции. Миниатюризация тут будет, наверное, еще более полезной, чем в электронных, но: в N-ричной системе счисления на операцию с каждым разрядом призодится один разгон и одно торможение, в которых теряется энергия. Чем больше значений N представимо в разряде, тем больше их амортизируется на один разгон-торможение, растет эффективость, и соответственно появляется возможность крутить быстрее.
С третьей стороны, память, даже быстродействующая, может оказаться сильно дешевле регистров (представьте себе стопку перфокарт против вала с колесиками). Поэтому, скажем, быстрое умножение приличного размера значений через ПЗУ может быть вполне реальным. И тут опять может вылезти баланс двоичного и не-двоичного.
С одной стороны, двоичная система может сделать вещи быстрее, поскольку если цифры представлены некими колесиками как в арифмометре Феликс, то сложение каждого зарряда идет последовательным вращением колесика. Двоичная система может позволить меньше вращать, и экспоненциально амортизировать вращение. И на других системах, наверное, нереалистично реализовать быстрый перенос.
С другой стороны, большая проблема механических компьютеров - в инерции. Миниатюризация тут будет, наверное, еще более полезной, чем в электронных, но: в N-ричной системе счисления на операцию с каждым разрядом призодится один разгон и одно торможение, в которых теряется энергия. Чем больше значений N представимо в разряде, тем больше их амортизируется на один разгон-торможение, растет эффективость, и соответственно появляется возможность крутить быстрее.
С третьей стороны, память, даже быстродействующая, может оказаться сильно дешевле регистров (представьте себе стопку перфокарт против вала с колесиками). Поэтому, скажем, быстрое умножение приличного размера значений через ПЗУ может быть вполне реальным. И тут опять может вылезти баланс двоичного и не-двоичного.