Półsumator

Tu piszemy wiadomość, jeżeli zadanie domowe sprawia kłopot
i szybko potrzebujemy pomocy w rozwiązaniu.
ODPOWIEDZ
Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 11 lip 2014, 19:42

To jest ogólny schemat sumatora odejmującego.
Załączniki
Sumator odejmujący.jpg

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 11 lip 2014, 19:51

Tyle to znalazlem w google ;) Taki sam schemat umiescilem na 5-ej stronie tego tematu. ;) Jestem początkujacy nie wiem jak to podłączyć do mojego sumatora. Na 5-ej stronie jest też jak probuje to zrobić i nie wiem jaki robię błąd.

Awatar użytkownika
Artyliusz
Użytkownik
Posty: 305
Rejestracja: 06 sty 2013, 14:10
Lokalizacja: Z Polski
Kontakt:

Post autor: Artyliusz » 11 lip 2014, 21:28

diooda pisze:
kayron pisze:Odejmowanie to dodawanie liczb ujemnych, to oznacza że trzeba je zapisać w kodzie U1 lub U2.
To już rozumiem. Poćwiczę sobie jeszcze.
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
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.
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ąć. :P Za pomocą bramki Ex-OR możesz maskować bity, które chcesz zanegować z 111 i tak:
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.

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 11 lip 2014, 22:09

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ś:

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)
o co tu chodzi ma być 7-4 a w bitach robisz: 111(7) - 011(3)

a tutaj:
Artyliusz pisze: Od tego oddzielamy MSB => 1 | 100(3) i mamy nasz wynik. :)
100(3)
a to nie (4) ma być? czy może jest to zanegowane 3 bo już nie rozumiem?

Awatar użytkownika
Artyliusz
Użytkownik
Posty: 305
Rejestracja: 06 sty 2013, 14:10
Lokalizacja: Z Polski
Kontakt:

Post autor: Artyliusz » 12 lip 2014, 0:53

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! :P

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ęć. :P 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. :-)

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 13 lip 2014, 15:08

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

Awatar użytkownika
Artyliusz
Użytkownik
Posty: 305
Rejestracja: 06 sty 2013, 14:10
Lokalizacja: Z Polski
Kontakt:

Post autor: Artyliusz » 13 lip 2014, 21:14

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.
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. ;)

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 14 lip 2014, 0:58

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. ;)
Byłoby łatwiej gdybym działał na bramkach a że to są przekaźniki to nie wiem.

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
Screen Shot 2014-07-14 at 01.52.10.png (17.11 KiB) Przejrzano 14298 razy

Awatar użytkownika
Artyliusz
Użytkownik
Posty: 305
Rejestracja: 06 sty 2013, 14:10
Lokalizacja: Z Polski
Kontakt:

Post autor: Artyliusz » 14 lip 2014, 1:22

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?
1. Tak, dobrze.
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.

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 14 lip 2014, 7:36

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.
trochę nie zrozumiałem tego co napisałeś ale sumator już zatwierdziliśmy pare miesięcy temu.

doprowadziłem zasilanie do We X
czy tak ma to być?
Załączniki
Screen Shot 2014-07-14 at 08.31.47.png
Screen Shot 2014-07-14 at 08.31.47.png (18.26 KiB) Przejrzano 14283 razy

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 18 lip 2014, 9:29

Pomocy!!! już tracę nadzieję że kiedykolwiek zobaczę na żywo tranzystor ;)

Awatar użytkownika
Artyliusz
Użytkownik
Posty: 305
Rejestracja: 06 sty 2013, 14:10
Lokalizacja: Z Polski
Kontakt:

Post autor: Artyliusz » 22 lip 2014, 22:18

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ć. :P

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 22 lip 2014, 22:32

niestety to nie działa.
po włączeniu A na sumatorze z XOR (post wyżej) nie ma masy tak jak na pierwotnym sumatorze. Brakuje tego co zaznaczyłem niebieską linią.
Załączniki
Screen Shot 2014-07-22 at 23.26.21.png
Screen Shot 2014-07-22 at 23.26.21.png (13.44 KiB) Przejrzano 14152 razy

Awatar użytkownika
diooda
-
Posty: 68
Rejestracja: 26 mar 2014, 12:23
Lokalizacja: Otwock

Post autor: diooda » 25 lip 2014, 9:29

prosze skończmy to ....:))))))

kolega w szlafroku mówi o czymś takim jak na obrazku:
Załączniki
Screen Shot 2014-07-25 at 10.31.44.png
Screen Shot 2014-07-25 at 10.31.44.png (32.26 KiB) Przejrzano 14108 razy

ODPOWIEDZ