Цитата: opupendr от 06.08.2010 14:18:42
Собстно к теме топика, простите если я чего не понял ??? . Видимо есть некий однобитовый поток (ну например с сигмадельта АЦП) и его надо обработать. Очевидно что параллельно этому потоку надо создать поток инструкций что делать с каждым текущим битом. И что то мне подсказывает что одним битом тут не отделаешься. :)
Лично мне дело представляется так: инструментом объединения АЛУ и памяти могут служить ячейки памяти с приданными им логическими схемами (например, 4NAND). Поскольку интерфейсы тоже все однобитные, то типовой вычислительной схемой, на мой взгляд, будет связывание ячеек в сдвиговые регистры с обратными связями. Естественно, что нужно как-то коммутировать входы-выходы ячеек, а также обратные связи и источники тактирования. Т.е. на одну ячейку рабочей памяти будет приходиться, грубо говоря, десяток конфигурационных.
Предполагается, что массивы ячеек будут организованы примерно также, как это делается в FPGA: прямоугольные блоки ячеек разделены шинами, в узлах которых стоят межблочные коммуникаторы (внутри каждого прямоугольника -- внутриблочный коммутатор). Передавать состояния можно только тогда, когда они изменяются.
Для распределения ячеек необходимо как-то учитывать их текущий статус: занято-свободно (точнее, достаточно возвращать количество). Этим также может заниматься внутриблочный коммутатор. Отдельная тема -- начальная загрузка системы. Сюда же относится задача сборки мусора.
Следующий момент -- адресация ячеек памяти с точки зрения программиста. Вот она, на мой взгляд, не нужна. Адресовывать нужно только внешние интерфейсы.
В общем, продолжаю обозначать пунктиром.