TBH Мне трудно понять схемы логических элементов, потому что я еще не полностью понял низкоуровневое электронное оборудование и то, как все это работает.
У меня был небольшой опыт изучения основных логических вентилей, и после просмотра нескольких видеороликов и долгих размышлений я могу понять это в течение нескольких минут, прежде чем оно ускользнет.
Но потом я увидел несколько примеров «логических вентилей», «реализованных» в программном обеспечении, и стало гораздо понятнее, что происходит. Например, здесь.
Затем я даже смог пойти дальше и понять, как работает полный сумматор. , как в здесь:
function fullAdder(a,b,c){
return {
c:or(and(xor(a,b),c), and(a,b)), // C is the carry
s:xor(xor(a,b),c) // S is the sum
};
}
Это довольно просто по сравнению с логическими схемами.
Теперь я хотел бы понять, как умножение и division реализованы в логических вентилях, таких как x86 MUL.
function MUL(a,b){
return {
...
};
}
Я действительно не знаю, с чего начать, кроме как посвятить серьезное время изучению схемы умножителя и попытке перевести ее, возможно, в реализацию вентиля И-НЕ, используя приведенные выше примеры. Интересно, может ли тот, кто это уже знает, продемонстрировать реализацию в JavaScript.
c:or(and(a, b), and(a, c), and(b, c))
/c:nand(nand(a, b), nand(a, c), nand(b, c))
- person greybeard   schedule 04.03.2019I would like to understand how [division is] implemented in logic gates
удачи. - person greybeard   schedule 04.03.2019