Półsumator
Jednak chyba nie rozumiesz jak to zrobić. Masz do czynienia z przekaźnikami, a na przekaźnikach jest metoda jak przeprowadzać takie operacje. Kayron bardzo dobrze zauważył, że to jest tak samo dodawanie.diooda pisze:To już rozumiem. Poćwiczę sobie jeszcze.kayron pisze:Odejmowanie to dodawanie liczb ujemnych, to oznacza że trzeba je zapisać w kodzie U1 lub U2.
Chciałbym jednak wrócić do schematu.
przykładowo: na moim sumatorze na A ustawiamy liczbę 3 na B też 3 mamy wynik sumy 6
po przełączeniu wyłącznika "odejmowania" (o który mi chodzi) wynik bedzie zero.
Jeśli ustawimy na A liczbe 3 a na B np: 1 otrzymamy wynik 4
po przełączeniu wyłącznika "odejmowania" otrzymamy liczbę 2
z matematyką jescze sobie radzę natomiast z prawidłowym podłączeniem XOR już nie.
Proszę o podpowiedź jak to zrobic.
dzięki
Należałoby jeden operand, najlepiej ten mniejszy, zanegować i dodać do niego jeden. Podam to na przykładzie: 7-3=4
111(7) - 011(3)
Negujemy mniejszą z nich, czyli 3 => 011 ~ 100(4)
Następnie dodajemy 1 do niej => 100 + 1 = 101(5)
Otrzymujemy => 111(7) + 101(5) = 1100(12)
Od tego oddzielamy MSB => 1 | 100(4) i mamy nasz wynik.
Oczywiście znów jak Kayron słusznie zauważył przy wynikach ujemnych MSB posłuży jako nasz "znak".
Teraz wiesz jak to ma wyglądać na przekaźnikach i de facto do tego robiłeś EX-OR, a nie aby przez magiczny przełącznik odjąć.
maskując 011 z 111
0 | 1 = 1
1 | 1 = 0
1 | 1 = 0
I to właśnie się wykorzystuje na przekaźnikach.
Teraz moim zdaniem w przypadku 7-4 byś musiał najpierw wysłać na bramkę Ex-OR cyfrę 4 i maskować ją z 111, aby ją zanegować bit po bicie i wynik ten wysyłać do pamięci. Następnie na wejście podać 1 i dodać to co w pamięci. Do tego wyniku dodać 7. Oczywiście można pokombinować z pamięcią to i owo.
Jak widzisz jest to dość zawiłe i brzmi trudno do zrealizowania.
Ostatnio zmieniony 12 lip 2014, 0:19 przez Artyliusz, łącznie zmieniany 1 raz.
i to jest jedyne rozwiązanie?
a ten wyłącznik na tym filmie: http://youtu.be/lI_AYd7fZHM ?
nie wyglada na tak skomplikowane jak pisałeś.
Przy 2 bitowym sumatorze pamięć musiala by mieć wiecej niż 10 przekaźników. w tym pudełku od gościa z szlafrokiem nie widać aż tylu przekaźników.
no i mam zagwostke z tym co napisałeś:
a tutaj:
a ten wyłącznik na tym filmie: http://youtu.be/lI_AYd7fZHM ?
nie wyglada na tak skomplikowane jak pisałeś.
Przy 2 bitowym sumatorze pamięć musiala by mieć wiecej niż 10 przekaźników. w tym pudełku od gościa z szlafrokiem nie widać aż tylu przekaźników.
no i mam zagwostke z tym co napisałeś:
o co tu chodzi ma być 7-4 a w bitach robisz: 111(7) - 011(3)Artyliusz pisze:
Należałoby jeden operand, najlepiej ten mniejszy, zanegować i dodać do niego jeden. Podam to na przykładzie: 7-4=3
111(7) - 011(3)
a tutaj:
Artyliusz pisze: Od tego oddzielamy MSB => 1 | 100(3) i mamy nasz wynik.
a to nie (4) ma być? czy może jest to zanegowane 3 bo już nie rozumiem?100(3)
Już poprawiłem przykład na 7-3.
Wybacz, ale tak wyszło jak zacząłem pisać miałem w głowie pierwszą wersję, a w międzyczasie prowadziłem konwersację i zrobiłem odwrotnie. W każdym bądź razie binarnie dobrze było. Dobrze, że czuwasz!
Z tą pamięcią to się trochę rozpisywałem i to byłoby do bardziej zaawansowanej maszyny z programowaniem. Jednakże naprawdę nie wygląda to tak skomplikowanie tak jak napisałeś właśnie. Podany przeze mnie sposób liczenia jest właśnie stosowany w ALU na przekaźnikach (i nie tylko).
Na filmiku on robi tak jak napisałem, ale pomijając pamięć.
Chociaż on mówi, że to odrębny układ.
Ten przełącznik to nie jest "odejmowanie", ale wtedy (po przełączeniu) on podaje na jedno z wejść bramki EX-OR stale jedynki i w ten sposób maskuje bity na wejściu B co daje ich negację. Kiedy nie jest przełączony na "odejmowanie" to jest na jednym wejściu zero, a jak pamiętasz z tablicy prawdy bramki EX-OR to bit, który jest przyrównany do zera się nie zmienia, a więc to co idzie wtedy z B przechodzi dalej bez zmian.
Wybacz, ale tak wyszło jak zacząłem pisać miałem w głowie pierwszą wersję, a w międzyczasie prowadziłem konwersację i zrobiłem odwrotnie. W każdym bądź razie binarnie dobrze było. Dobrze, że czuwasz!
Z tą pamięcią to się trochę rozpisywałem i to byłoby do bardziej zaawansowanej maszyny z programowaniem. Jednakże naprawdę nie wygląda to tak skomplikowanie tak jak napisałeś właśnie. Podany przeze mnie sposób liczenia jest właśnie stosowany w ALU na przekaźnikach (i nie tylko).
Na filmiku on robi tak jak napisałem, ale pomijając pamięć.
Ten przełącznik to nie jest "odejmowanie", ale wtedy (po przełączeniu) on podaje na jedno z wejść bramki EX-OR stale jedynki i w ten sposób maskuje bity na wejściu B co daje ich negację. Kiedy nie jest przełączony na "odejmowanie" to jest na jednym wejściu zero, a jak pamiętasz z tablicy prawdy bramki EX-OR to bit, który jest przyrównany do zera się nie zmienia, a więc to co idzie wtedy z B przechodzi dalej bez zmian.
Tu jest kilka przykładów, które można wykonać na 2 bitowym sumatorze. Niestety spędziłem cały dzień na zbudowaniu symualcji podlaczenia xor do mojego sumatora i nic. Zatrzymałem sie na tym samym co na 5 stronie tego tematu. Prosze o gotowiec. Poddaje się.
Oto przykłady:
1-1=0
01 - 01
01 + 10 negacja
01 + 11 = 1| 00
2-1=1
010 - 001
010 + 110 negacja
010 + 111 = 1| 001
3-1=2
011 - 001
011 + 110 negacja
011 + 111 = 1 | 010
2-2=0
010 - 010
010 + 101 negacja
010 + 110 = 1| 000
3-2=1
011 - 010
011 + 101 negacja
011 + 110 = 1 | 001
3-3=0
011 - 011
011 + 100 negacja
011 + 101 = 1 | 000
Oto przykłady:
1-1=0
01 - 01
01 + 10 negacja
01 + 11 = 1| 00
2-1=1
010 - 001
010 + 110 negacja
010 + 111 = 1| 001
3-1=2
011 - 001
011 + 110 negacja
011 + 111 = 1 | 010
2-2=0
010 - 010
010 + 101 negacja
010 + 110 = 1| 000
3-2=1
011 - 010
011 + 101 negacja
011 + 110 = 1 | 001
3-3=0
011 - 011
011 + 100 negacja
011 + 101 = 1 | 000
No to jeszcze raz skoro nie rozumiesz.Artyliusz pisze:Ten przełącznik to nie jest "odejmowanie", ale wtedy (po przełączeniu) on podaje na jedno z wejść bramki EX-OR stale jedynki i w ten sposób maskuje bity na wejściu B co daje ich negację. Kiedy nie jest przełączony na "odejmowanie" to jest na jednym wejściu zero, a jak pamiętasz z tablicy prawdy bramki EX-OR to bit, który jest przyrównany do zera się nie zmienia, a więc to co idzie wtedy z B przechodzi dalej bez zmian.
Masz bramkę Ex-OR. Ma ona dwa wejścia. Wejście B i wejście O (jak odejmowanie). Czyli wejście B wpinasz szeregowo w obwód sumatora linii B. Wejście O podłączasz pod przełącznik, który przełącza między 0, a napięciem. Wyjście idzie dalej na sumator, bo szeregowo.
Magia.
Byłoby łatwiej gdybym działał na bramkach a że to są przekaźniki to nie wiem.Artyliusz pisze: No to jeszcze raz skoro nie rozumiesz.
Masz bramkę Ex-OR. Ma ona dwa wejścia. Wejście B i wejście O (jak odejmowanie). Czyli wejście B wpinasz szeregowo w obwód sumatora linii B. Wejście O podłączasz pod przełącznik, który przełącza między 0, a napięciem. Wyjście idzie dalej na sumator, bo szeregowo.
Magia.
1. Rozumiem że sam układ ex-or jest dobrze zrealizowany? czy tak?
2. czy wejścia We B i We O to zasilanie do przekaźników?
3. co z wejściem, które nazwałem We X?
4. czy linia B to po wyłaczniku prowadzi do ex-or? tak jak teraz?
- Załączniki
-
- Screen Shot 2014-07-14 at 01.52.10.png (17.11 KiB) Przejrzano 14295 razy
1. Tak, dobrze.diooda pisze:1. Rozumiem że sam układ ex-or jest dobrze zrealizowany? czy tak?
2. czy wejścia We B i We O to zasilanie do przekaźników?
3. co z wejściem, które nazwałem We X?
4. czy linia B to po wyłaczniku prowadzi do ex-or? tak jak teraz?
2. Zgadza się. Wejścia bramek na przekaźnikach to chyba prawie zawsze obwody cewek.
3. Powinno to być zasilanie.
4. Prowadzi. Jakbyś przeanalizował działanie układu to zauważysz, że po wciśnięciu B przełączy się styk i będzie prowadził napięcie z "wej. X" (zasilanie) dalej an sumator. Tak jakby po prostu przekaźnika nie było, a istniało połączenie bezpośrednie.
Już mi oczy wysiadają, bo późna pora, ale czy przekaźnik pomocniczy od sumatora (ten dolny jednostykowy), o którego pierwszy zawadza obwód "C0", nie jest jego cewka czasem zasilana wyłącznie przez masę? Nie widzę, żeby przez jego cewkę mogło jakoś płynąć napięcie, aby przełączyły się styki.
trochę nie zrozumiałem tego co napisałeś ale sumator już zatwierdziliśmy pare miesięcy temu.Artyliusz pisze: Już mi oczy wysiadają, bo późna pora, ale czy przekaźnik pomocniczy od sumatora (ten dolny jednostykowy), o którego pierwszy zawadza obwód "C0", nie jest jego cewka czasem zasilana wyłącznie przez masę? Nie widzę, żeby przez jego cewkę mogło jakoś płynąć napięcie, aby przełączyły się styki.
doprowadziłem zasilanie do We X
czy tak ma to być?
- Załączniki
-
- Screen Shot 2014-07-14 at 08.31.47.png (18.26 KiB) Przejrzano 14280 razy
Wygląda na dobrze.
Teraz musisz tylko dodać "1" do tego wszystkiego. Widziałem rozwiązanie, że dokładano "jedynkę" podciągając dodatkowy styk z zasilaniem do styku przechodzącego "na krzyż" od dołu do góry tej bramki. Czyli dolna linia łącząca te przekaźniki.
Chociaż nie wiem czy to działało.
Musisz kombinować. Zresztą jak sumator już potrafisz robić.
Teraz musisz tylko dodać "1" do tego wszystkiego. Widziałem rozwiązanie, że dokładano "jedynkę" podciągając dodatkowy styk z zasilaniem do styku przechodzącego "na krzyż" od dołu do góry tej bramki. Czyli dolna linia łącząca te przekaźniki.
Chociaż nie wiem czy to działało.
Musisz kombinować. Zresztą jak sumator już potrafisz robić.