Procesory (dzielenie) (Dawid)

0

Dzień dobry. Próbuję zrozumieć jak procesory wykonują dzielenie. Gdyby było wykonywane jakieś działanie to byłaby wykorzystywana pamięć. Oto jakbym pomnożył (1323 * 8745):
pomnożył wszystko, podopisywał 0, tyle ile trzeba i dodanie tych działań (one byłyby w pamięci). To działanie byłoby proste:

  • 3 * 5 (to będzie w pamięci) = 15, trzeba do ogólnej sumy dodać 15,
  • 2 * 5 (to będzie w pamięci, ale procesor dopisze jedno 0) = 100, trzeba do ogólnej sumy dodać 100,
  • 3 * 5 (to będzie w pamięci, ale procesor dopisze dwa 0) = 1500, trzeba do ogólnej sumy dodać 1500,
  • 1 * 5 (to będzie w pamięci, ale procesor dopisze trzy 0) = 5000, trzeba do ogólnej sumy dodać 5000,
  • 3 * 4 (to będzie w pamięci, ale procesor dopisze jedno 0) = 120, trzeba do ogólnej sumy dodać 120,
  • 2 * 4 (to będzie w pamięci, ale procesor dopisze dwa 0) = 800, trzeba do ogólnej sumy dodać 800,
  • 3 * 4 (to będzie w pamięci, ale procesor dopisze trzy 0 = 12000, trzeba do ogólnej sumy dodać 12000,
  • 1 * 4 (to będzie w pamięci, ale procesor dopisze cztery 0) = 40000, trzeba do ogólnej sumy dodać 40000,
  • 3 * 7 (ro będzie w pamięci, ale procesor dopisze dwa 0) = 2100, trzeba do ogólnej sumy dodać 2100,
  • 2 * 7 (to będzie w pamięci, procesor dopisze trzy 0) = 14000, trzeba do ogólnej sumy dodać 14000,
  • 3 * 7 (to będzie w pamięci, procesor dopisze cztery 0) = 210000, trzeba do ogólnej sumy dodać 210000,
  • 1 * 7 (to będzie w pamięci, procesor dopisze pięć 0) = 700000, trzeba do ogólnej sumy dodać 700000,
  • 3 * 8 (to będzie w pamięci, procesor dopisze trzy 0) = 24000, trzeba do ogólnej sumy dodać 24000,
  • 2 * 8 (to będzie w pamięci, procesor dopisze cztery 0) = 160000, trzeba do ogólnej sumy dodać 160000,
  • 3 * 8 (to będzie w pamięci, procesor dopisze pięć 0) = 2400000, trzeba do ogólnej sumy dodać 2400000,
  • 1 * 8 (to będzie w pamięci, procesor dopisze sześć 0) = 8000000, trzeba do ogólnej sumy dodać 8000000.
    Ten wynik to 11569635. Jest dobry. Sprawdzałem 2 razy. Jednak spróbowałem dzielenie. Nie wiem jak byłoby wykonywane w pamięci (częściowo).
4

Pytasz się o dzielenie, a potem piszesz o mnożeniu

Oto jakbym pomnożył (1323 * 8745):

Fajnie, ale komputer nie działa na liczbach o podstawie 10

Ogólnie komputer ma coś takiego jak rejestry. W starych komputerach rejestry do obliczeń były 8 bitowe (to tak jakbyś miał liczby zapisane w systemie o podstawie 256), potem 16 bitowe, potem 32, a teraz 64 bitowe.
Znaczy to że komputer potrafi wziąć liczbę z zakresu od 0 do 2 od potęgi 64 - 1 ((2^64)-1) i pomnożyć ją w jednym kroku bez rozpisywania

0

Dobra, dzięki. A, moim zdaniem, te działania powinny być zapisywane w systemie 01, a liczone w dziesiętnym albo podobnym (byłaby mniejsza moc komputerowa wymagana, wykorzystywalibyśmy pamięć). Jeśli się tak nie da, to trudno.

2

Dać to się da, istniały i być może dalej istnieją komputery dziesiętne, ale poziom komplikacji układów potrzebnych do trzymania i przetwarzania dziesięciu stanów jest daleko większy od dwustanowych.

0

@Shaddran weź zainstaluj sobie jakieś MultiSim albo inny symulator układów elektronicznych i spróbuj poskładać układ który by coś takiego realizował i myśle że zrozumiesz wtedy czemu robi się to binarnie ;)

0

Na studiach uczyliśmy się algorytmu Booth'a do mnożenia liczb binarnych: https://en.m.wikipedia.org/wiki/Booth%27s_multiplication_algorithm

0

Ale ja ostatnio chyba spałem, bo nic nie pamiętam. A gdy śpię to nic nie pamiętam. I byłem w szpitalu. Bo ponoć próbowałem samobójstwa. Chyba to był ktoś inny. A ja wtedy spałem. I chyba śniły mi się procesory. Nie wiedziałem jak działają procesory. Bo wydawało mi się, żeby wykorzystać pamięć. Komputer wiedziałby co wynoszą działania. Ale trochę pomyślałem. I wymyśliłem jak je ulepszyć. Wszystko będzie liczone binarnie. Ale komputer będzie te działania robił z pamięci (niby te działania będą dziesiętne, ale będą zapisane binarnie, a komputer będzie robił je w pamięci, byłyby prostsze). Chyba ulepszyłem procesory.
EDIT1: Zrozumiałem jak robić dzielenie (muszą być wykorzystywane wszystkie liczby, a procesor wpisze przecinek, wszystko będzie w pamięci. Nie sprawdzałem tego, ale chyba wiem). Za jakiś czas tu napiszę. Można zamknąć

1 użytkowników online, w tym zalogowanych: 0, gości: 1