Forth http://fforum.winglion.ru/ |
|
Цифровая схемотехника и архитектура компьютера http://fforum.winglion.ru/viewtopic.php?f=29&t=3054 |
Страница 2 из 2 |
Автор: | _KROL [ Пн авг 21, 2017 22:21 ] | ||
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера | ||
Вот. В этом файле вроде всё правильно(правда использую ещё 2 элемента: и, или).
|
Автор: | JNAD [ Пн авг 21, 2017 23:51 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
как мне кажется значение входа shamt 2:0 должно сдвигать регистр на ту величину, которая задана на shamt, например если на входе shamt значение 111 то число должно сдвинуться на 7 разрядов. |
Автор: | Hishnik [ Вт авг 22, 2017 00:23 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
JNAD писал(а): как мне кажется значение входа shamt 2:0 должно сдвигать регистр на ту величину, которая задана на shamt, например если на входе shamt значение 111 то число должно сдвинуться на 7 разрядов. Именно так. Еще подсказка: сдвинуть число на произвольное количество разрядов можно, комбинируя сдвиги на 1, 2, 4 и т.д. разрядов. В каждом случае можно выбирать "сдвиг на 0 (т.е. нет сдвига) или сдвиг на N". |
Автор: | JNAD [ Вт авг 22, 2017 00:28 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
объясните мне вот эту фразу, пожалуйста: В каждом случае можно выбирать "сдвиг на 0 (т.е. нет сдвига) или сдвиг на N". |
Автор: | Hishnik [ Вт авг 22, 2017 01:02 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
Если выбор из двух альтернатив, то ведь достаточно мультиплексора 2:1? Теперь сдвиговый регистр с однобитным сдвигом можно построить так: для каждого из 8 разрядов берем либо одноименный, либо соседний. Тогда получится, что сдвиг происходит или на 0, или на 1 разряд. Таким образом, заняли 8 мультиплексоров. Теперь у нас осталось еще два набора по 8 мультиплексоров... и еще два бита управления сдвигом. |
Автор: | Ethereal [ Вт авг 22, 2017 16:33 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
Изложим схему по фортовски : Код: VARIABLE x0 VARIABLE x1 VARIABLE x2 VARIABLE x3 \ входные биты
VARIABLE x4 VARIABLE x5 VARIABLE x6 VARIABLE x7 VARIABLE m0 VARIABLE m1 VARIABLE m2 VARIABLE m3 \ промежуточные биты VARIABLE m4 VARIABLE m5 VARIABLE m6 VARIABLE m7 VARIABLE n0 VARIABLE n1 VARIABLE n2 VARIABLE n3 \ промежуточные биты VARIABLE n4 VARIABLE n5 VARIABLE n6 VARIABLE n7 VARIABLE y0 VARIABLE y1 VARIABLE y2 VARIABLE y3 \ выходные биты VARIABLE y4 VARIABLE y5 VARIABLE y6 VARIABLE y7 5 CONSTANT shift \ на вход 1 0 1 0 0 1 0 1 x0 ! x1 ! x2 ! x3 ! x4 ! x5 ! x6 ! x7 ! \ подано : MULTIPLEX ( x0 x1 flag -- y ) IF SWAP THEN DROP ; \ мультиплексор 2x1 x0 @ 0 shift 1 AND MULTIPLEX m0 ! x1 @ x0 @ shift 1 AND MULTIPLEX m1 ! x2 @ x1 @ shift 1 AND MULTIPLEX m2 ! x3 @ x2 @ shift 1 AND MULTIPLEX m3 ! x4 @ x3 @ shift 1 AND MULTIPLEX m4 ! x5 @ x4 @ shift 1 AND MULTIPLEX m5 ! x6 @ x5 @ shift 1 AND MULTIPLEX m6 ! x7 @ x6 @ shift 1 AND MULTIPLEX m7 ! m0 @ 0 shift 2 AND MULTIPLEX n0 ! m1 @ 0 shift 2 AND MULTIPLEX n1 ! m2 @ m0 @ shift 2 AND MULTIPLEX n2 ! m3 @ m1 @ shift 2 AND MULTIPLEX n3 ! m4 @ m2 @ shift 2 AND MULTIPLEX n4 ! m5 @ m3 @ shift 2 AND MULTIPLEX n5 ! m6 @ m4 @ shift 2 AND MULTIPLEX n6 ! m7 @ m5 @ shift 2 AND MULTIPLEX n7 ! n0 @ 0 shift 4 AND MULTIPLEX y0 ! n1 @ 0 shift 4 AND MULTIPLEX y1 ! n2 @ 0 shift 4 AND MULTIPLEX y2 ! n3 @ 0 shift 4 AND MULTIPLEX y3 ! n4 @ n0 @ shift 4 AND MULTIPLEX y4 ! n5 @ n1 @ shift 4 AND MULTIPLEX y5 ! n6 @ n2 @ shift 4 AND MULTIPLEX y6 ! n7 @ n3 @ shift 4 AND MULTIPLEX y7 ! y7 @ . y6 @ . y5 @ . y4 @ . y3 @ . y2 @ . y1 @ . y0 @ . BYE |
Автор: | JNAD [ Сб авг 26, 2017 21:48 ] | ||
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера | ||
кажется вот так.
|
Автор: | _KROL [ Сб авг 26, 2017 22:04 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
Да. Ты прав. Это я тупой) |
Автор: | JNAD [ Сб авг 26, 2017 22:09 ] |
Заголовок сообщения: | Re: Цифровая схемотехника и архитектура компьютера |
_KROL не, благодаря тебе и Hishnik, ну и еще одному человеку) удалось решить эту задачу. так что это совместный проект))) |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |