Nano Hash - криптовалюты, майнинг, программирование

Как бы я реализовал 1-битную операцию slt в ALU? (МИПС)

Это домашнее задание, поэтому я ищу не ответ, а руководство. В инструкциях говорится: «Как бы вы реализовали 1-битную операцию slt в АЛУ? Опишите свое решение, используя только И, ИЛИ и НЕ. Нет необходимости изображать логические схемы, просто четко опишите процесс со всеми возможными входными данными, выходы и логическое выражение, представляющее SLT».

Уже...

Я думаю о том, чтобы A и B были 32-битными входами в ALU. Я также думал о том, чтобы взять два дополнения к B. Затем я бы сложил A и B вместе. Если вывод отличается от отрицательного, вернуть 0. На мой взгляд, это звучит так, будто я реализовал 1-битную операцию slt. Но как мне показать «если результат отрицательный, возврат 1», используя только И, ИЛИ и НЕ?

25.02.2014

  • Хотел опубликовать это как ответ. 26.02.2014

Ответы:


1

В вашем случае предположим, что старший бит является битом знака. Маскируйте результат, выполняя И с 1 ‹‹ 31, чтобы проверить бит знака. Если вы хотите вернуть 1 или 0, вы можете использовать другую операцию НЕ для результата маскирования, а затем И с 1 и вернуть это.

Пример:

Если результат отрицательный, вы получаете (в битах) 1......., тогда НЕ из этого даст вам 0111111..... и, наконец, последнее И даст вам 000....1, что является желаемым результатом.

25.02.2014

2

Руководство: Нарисуйте таблицу истинности для инструкции.


Ответ: Таблица истинности для 1-битной инструкции ALU.

A  B  Q
0  0  0  //A=B no!
0  1  1  //A<B yes!
1  0  0  //A>B no!
1  1  0  //A=B no!

Q(выход) устанавливается высоким, только если A‹ B.

Следовательно, Q=A'B. (или Q=~A&B в Verilog)

15.05.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..