Выбрать главу

Мы ушли с аудитории, и несколько консультантов по дешифровке задал мне вопрос.

-Зачем столь мощный процессор и такая большая оперативная память? Я полагал, что для дешифровки потребуется малый компьютер. Нам нужно расшифровать Энигму как можно быстрее, нам не нужна такая супермашина, было бы достаточно варианта мини, что вы делаете за пару недель.

-Создать процессор здесь будет не так сложно, это неделя работы. Но вы заблуждаетесь, количество операций, что потребуется для дешифровки Энигмы очень велико, и оперативной памяти будет остро не хватать. Вы неверно оцениваете требуемое количество операций и памяти для дешифровки, на самом деле 256 килобайт будет очень мало. Из всех параметров, лишь скорость процессора является достаточной для данного вида работ. Менее мощный в плане памяти компьютер просто не сможет работать над задачей вовсе. Придётся выполнять множество операций в многозадачном режиме, и главное препятствие тут это нехватка оперативной памяти. Увы, до сих пор работы с особо малыми чипами ведутся почти вручную, с использованием крайне простой оснастки, так что всё не так радужно. А что касается сорока мегабайт постоянно памяти, то их может даже и не хватить. Но сделать восемь крупных устройств памяти не так сложно, самым большим препятствием является оперативная память. Одно могу сказать, я заложил в проект самый мощный компьютер из того, что мы сможем создать за три четыре месяца. К весне 1941ого года компьютер будет готов, и мне потребуется ещё около трёх месяцев на то, чтобы запрограммировать его и наладить систему взаимодействия данных, последнее не менее важно.

-Поясните?

-Калькуляторы прошлого не умеют находить нужную информацию кратким путём. Они обычно просто сканируют весь диск, пока не найдут то что надо, или вовсе считывают данные подряд с магнитной ленты. Работая с большими объёмами памяти в многозадачном режиме, нельзя пролистывать всю информацию целиком, требуется уметь находить нужную информацию, и в этой области я сильно продвинулся, но пока чисто теоретически.

-И как же вы решите этот вопрос?

-Я разбил каждый диск объёмом в 5 мегабайт на кластеры по 2 килобайта каждый. Итого на диске 2500 кластеров. А саму информацию я разбил на файлы, и разные файлы могут занимать разный объём, в том числе несколько кластеров. В заглавии диска находится контрольный кластер объёмом 8 килобайт, в нём имеется полный список файлов и кластеров. Программа не может в режиме онлайн отслеживать, где лежит каждый файл, но чётко может определить по номеру положение любого кластера. Это новая форма работы с массивом информации, без которой функционирование компьютера было бы невозможно. При этом, немного похожая система используется и для поиска информации в оперативной памяти, но там кластеры намного меньше, и объём одного кластера составляет восемь байт. В заглавии кэш памяти компьютера имеется 4х битный список всех ячеек оперативной памяти, и он настраивается заново при каждом включении компьютера. И этот процессор четырёхбитный. Недостатком данной системы является тот факт, что сколь бы не был мал размер операций, компьютер может работать только с ячейкой памяти не менее 8ми байт, обрабатывая её полностью, на что тратится лишняя оперативная память компьютера и операции. Это большой математический недостаток моей системы, избавиться от которого я не смог. Опираясь на этот список кластеров оперативной памяти, процессор ищет свободные ячейки, и знает где что происходит. При этом, заглавие оперативной памяти у процессора это очень сложное устройство и на работу с ним уходит от 5% до 75% мощности процессора, смотря какой тип операций выполняется. То есть четверть всей работы процессора это поиск где чего происходит, а не сама полезная работа, но без этого никак. При этом, данный конкретный процессор который я создам в принципе не способен увидеть более 256 килобайт оперативной памяти. В связи с чем, позже добавить оперативную память в этот компьютер будет нельзя, меньше 256 килобайт оперативной памяти можно, больше нельзя. Хотя если поменять размер ячейки оперативной памяти, увеличив её, например, до 16 байт и перенастроив процессор, тогда тот сможет увидеть 512 килобайт, но тогда придётся выбросить остальную оперативную память, что составляет 80% стоимости компьютера. При этом если бы процессор был сделан изначально как 8ми битный, он тратил бы больше системных ресурсов на поиск того же количества ячеек, из-за чего я постарался найти золотую середину между мощностью процессора, объёмом оперативной памяти, битами процессора и размером ячейки памяти. В будущем для обеспечения взаимозаменяемости компонентов надо будет стандартизировать размер ячейки оперативной памяти и структуру заглавия каждого процессора по поколениям, 4бит, 8бит и 16бит.