Говорят, что процессоры ВМ1 крайне легко объединяются в многопроцессорный компьютер. Почему бы не попробовать добавить еще один процессор в БК0010.
По команде программы можно было бы сбрасывать второй процессор (ну и задавать IP ему).
Говорят, что процессоры ВМ1 крайне легко объединяются в многопроцессорный компьютер. Почему бы не попробовать добавить еще один процессор в БК0010.
По команде программы можно было бы сбрасывать второй процессор (ну и задавать IP ему).
Последний раз редактировалось vinxru; 22.03.2012 в 01:07.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Главная проблема здесь в том, что все основные команды процессор ВМ1 выполняет со скоростью доступа к памяти. Поэтому прибавка быстродействия от второго процессора на типовых командах будет такой же, как и от функции предвыборки команд в процессоре ВМ2 - порядка 15%.
---------- Post added at 10:15 ---------- Previous post was at 10:10 ----------
Чтобы многопроцессорная система на процессорах типа ВМ ( т.е. таких, у которых почти всё время выполнения команды занимают циклы доступа к памяти ) могла быть эффективной - она должна быть многошинной, с возможностью переключать страницы памяти между шинами и "контроллером окна", таким, что содержимое окна доступно всем процессорам, но обращения к окну по чтению-записи не блокируют шины остальных процессоров.
Примерно так ( если не ошибаюсь ) взаимодействуют два процессора ВМ2 в УКНЦ.
Последний раз редактировалось Patron; 22.03.2012 в 11:18.
Понятно.
Значит процессор 8080 более предрасположен к многопроцессорной работе. Там можно 4 процессора вешать на одну шину и они не будут мешать друг другу. (Процессор выполняет обмен с шиной по перепаду тактового импульса. Если сдвинуть тактовые импульсы процессоров на 25% и поставить мультиплектор, то процессоры будут работать прозрачно друг для друга.)
Возможно так же можно сделать и на 1801ВМ1, но это уже будет совсем другой компьютер. Сложно слишком, что бы пробовать.
---------- Post added at 10:40 ---------- Previous post was at 10:38 ----------
Если я не ошибаюсь, доступ к общей видеопамяти разделен по времени. 25% времени к ней имеет право обращаться первый процессор, 50% времени второй процессор, а 25% времени происходит формирование видеосигнала.
Нет, не так. 50% на формирование экрана, а 50% на нужды обмена с памятью, причем вся память - это видеопамять, но - 1/3 видеопамяти находится в ОЗУ ПП, а 2/3 видеопамяти находится в ОЗУ ЦП, и каждый из процессоров может писать в свою часть видеопамяти независимо и одновременно с другим. А вот доступ ПП к ОЗУ ЦП, осуществляемый через регистровый механизм, очевидно, подтормаживает работу ЦП в этот момент.
1) ЦП 128 Кб 16 бит. При этом ЦП имеет доступ к только к половине из 128 Кб?
2) ПП 64 Кб 8 бит. При этом ПП имеет доступ только в половине из 64 Кб?
3) А бедный видеоадаптер, должен уметь асинхронно обращаться к шинам обоих процессоров? Причем шина первого 16-битная, а вторая 8-битная.
1) Напрямую да. К остальной части через регистры.
2) Напрямую да, к остальной части через гегистры. Кроме того, к окну, вместо части ПЗУ тоже напрямую, а к оставшейся части только на запись)
3) Шина ЦП 16-бит, шина ПП 16/8-бит, в зависимости от того, к какому устройству обращение. Если к ОЗУ, то 8 бит, если ПЗУ/Регистры, то 16-бит.
Наверное видеоадаптеров с более мудреной выборкой не существует в природе (если не считать современных PCIE/AGP)
Во-первых видеоадаптер не обращается к шинам обеих процессоров, не имеет он доступа ни туда, ни сюда. Имеет он только доступ к ОЗУ обоих процессоров, причем абсолютно ко всему.
И во-вторых - никакой он не бедный, одновременно он является арбитром доступа к ОЗУ и соответственно наивысший приоритет для доступа к нему, а контроллеры адресного пространства процессоров, являющиеся по совместительству и контроллерами ОЗУ своих банков, обращаются к ОЗУ только по разрешению со стороны видеоадаптера. Вот как-то так.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)