Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Minimalistyczny komputer z ręczną obsługą danych

mi_ma 04 Dec 2014 20:37 7344 7
Altium Designer Computer Controls
  • Minimalistyczny komputer z ręczną obsługą danych

    Wśród projektów opartych na nowoczesnych procesorach i mikrokontrolerach pojawiają się czasami projekty inspirowane konstrukcjami z przeszłości, które dla wielu młodych czytelników są wręcz archaiczne. Poniżej przedstawiam projekt minikomputera, który pozwala wręcz na ręczne sterowanie komputerem, co dokładniej opiszę poniżej.
    Zeta to projekt minimalistycznego komputera zbudowanego w oparciu o mikroprocesor Zilog Z80. Komputer posiada 256 bajtów pamięci RAM a wprowadzanie danych do komputera jest możliwe poprzez dosłownie ręczną obsługę. Na frontowym panelu autor umieścił dwa rzędy przełączników odpowiedzialnych za adresowanie oraz ustawie przesyłanych danych. Oczywiście nikt nie musi być niesamowicie szybki, aby nadążać z przesyłaniem danych, ponieważ autor również taktowanie procesora pozostawił użytkownikowi wyprowadzając przycisk "clock" na obudowę. Zarówno dane wejściowe jak i wyjściowe reprezentowane są za pośrednictwem dwóch listw diod LED. Sama obudowa została wykonana z drewna, a na jej wierzchniej części zostały wypalone wszystkie obsługiwane instrukcje. Poniżej zamieszczam przykład realizowania przez komputer algorytmu Euklidesa.
    Projekt z pewnością niesie ze sobą pewne walory edukacyjne ponieważ pozwala na zaprezentowanie działania procesora od podstaw. Wielu młodym zapatrzonym w nowoczesne mikrokontrolery czy moduły Arduino pobawienie się takim projektem pomogłoby zrozumieć podstawy obsługi procesora, do czego zachęcam. Oglądając wnętrze komputera zauważamy, że całość zbudowana została w oparciu o płytkę uniwersalną i połączenia przewodowe, co pozwala na bardzo łatwe powielenie tego projektu.
    Aktualnie na stronie github znajdują się pliki niezbędne do wykonania własnej wersji. W przyszłości mają się też pojawić pliki wykonane w KiCad.
    Zachęcam do dyskusji na temat tego typu projektów.
    Jeżeli ktoś próbował pobawić się procesorem w podobny sposób, to może podzieli się na forum swoimi doświadczeniami. Być może ktoś ma pomysł na wykorzystanie tego projektu w inny sposób niż przedstawiony poniżej?
    Ofiaruję 200 punktów osobie, która przedstawi w ciągu najbliższego tygodnia najciekawszy pomysł.






    Minimalistyczny komputer z ręczną obsługą danych Minimalistyczny komputer z ręczną obsługą danych
    Minimalistyczny komputer z ręczną obsługą danych

    Źródło https://github.com/jmacarthur/zeta256

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    mi_ma
    Translator, editor
    Offline 
    Has specialization in: elektronika wojskowa
    mi_ma wrote 831 posts with rating 802. Live in city Wrocław. Been with us since 2006 year.
  • Altium Designer Computer Controls
  • #2
    Tomekkoko
    Level 15  
    Coś takiego było i chyba dalej jest na AGH w budynku D-8 na jednym z ostatnich pięter.
    Z tego co kojarzę to siedział tam jakiś procesor motoroli z rodziny Z80.
    Zestaw składał się z "szafy" do której wpinane były moduły z pamięcią, procesorem i peryferiami.
  • Altium Designer Computer Controls
  • #3
    ostrytomasz
    Level 23  
    Miałem zajęcia (na szczęście tylko godzinę) z tego typu układem. Przynosiło się listing maszynowy na półtorej strony, mozolnie wpisywało instrukcja po instrukcji. Z tego co widzę tutaj przynajmniej można odczytać zawartość pamięci - tam po błędzie przy wpisywaniu (o co jest całkiem łatwo, można np. zapomnieć wygenerować clock lub wygenerować podwójny gdy śledzi się zawartość kartki) trzeba było układ resetować. Męczące i nudne a efekt końcowy mało widowiskowy. Gdyby można było mnemoniki wprowadzać z użyciem np. portu równoległego komputera (nawet generując clock ręcznie) wartość edukacyjna by raczej nie ucierpiała.
  • #4
    LechU
    Level 14  
    Tomekkoko wrote:
    Z tego co kojarzę to siedział tam jakiś procesor motoroli z rodziny Z80.

    Motorola raczej produkowała mikroprocesory z rodziny MC...

    Np. taki MC6809 bił na głowę Z80 ale nie miał dobrego wsparcia i się szerzej nie przyjął.
  • #5
    gucio222
    Level 13  
    Projekt fajny i efektowny, ale edukacyjny raczej nie. Już widzę swoje dzieci wklepujące wartości binarne z przełączników. Dla mnie starego pryka co pisał programy na 8080 w assemblerze wypuszczając je na perforator taśmowy to robi wrażenie. Nie raz oglądałem dziurki tasiemki czy nie ma błędu w programie. Ale na szczęście te czasy minęły.
  • #6
    Pokrentz
    Level 22  
    Zasadniczo, to równie edukacyjny byłby... symulator takiego układu napisany na dzisiejszym sprzęcie. Albo nawet jako aplikacja webowa. I w ten sposób, niezbyt wielkim nakładem pracy można by sie pobawić do woli. Pomysł przyszedł mi po tym, jak kiedyś widziałem ćwiczenia z elektroniki układowej i cyfrowej prowadzone na symulatorach typu Spice czy Tina...
  • #7
    janchar
    Level 13  
    Swego czasu było coś takiego w "Radio Elektroniku" (miesięcznik z przed lat) jako układ do śledzenia cykli maszynowych. Dla tych co nie wiedzą, rozkaz procesora składa się z cykli.

    Zrobiło się kiedyś MIK xx

    Pisania programu i wklepywania było co nie miara. Szkoda tylko, że nie było wtedy internetu, gdyż żaden kolega nie wiedział o czym mówię.
    Stare czasy.
  • #8
    Gigantor
    Level 19  
    ostrytomasz wrote:
    Miałem zajęcia (na szczęście tylko godzinę) z tego typu układem. Przynosiło się listing maszynowy na półtorej strony, mozolnie wpisywało instrukcja po instrukcji. Z tego co widzę tutaj przynajmniej można odczytać zawartość pamięci - tam po błędzie przy wpisywaniu (o co jest całkiem łatwo, można np. zapomnieć wygenerować clock lub wygenerować podwójny gdy śledzi się zawartość kartki) trzeba było układ resetować. Męczące i nudne a efekt końcowy mało widowiskowy. Gdyby można było mnemoniki wprowadzać z użyciem np. portu równoległego komputera (nawet generując clock ręcznie) wartość edukacyjna by raczej nie ucierpiała.


    Miałem dokładnie to samo. Rozkazy i dane wprowadzało się za pomocą przycisków (takich srebrnych czopków - 8 bitów + "wyślij"). Jeden błąd w listingu czy wprowadzaniu i można było się pożegnać z pozytywną oceną. Prowadzący powtarzał, że będziemy tak długo zasuwać po tych czopkach, aż nam się odgniotki na palcach porobią. Bardzo lubiłem te zajęcia, dużo zapamiętałem i nauczyłem się.

    Pokrentz wrote:
    Zasadniczo, to równie edukacyjny byłby... symulator takiego układu napisany na dzisiejszym sprzęcie. Albo nawet jako aplikacja webowa. I w ten sposób, niezbyt wielkim nakładem pracy można by sie pobawić do woli. Pomysł przyszedł mi po tym, jak kiedyś widziałem ćwiczenia z elektroniki układowej i cyfrowej prowadzone na symulatorach typu Spice czy Tina...


    I to dokładnie wpisuję się w obecną tendencję na uczelniach (nie tylko w Polsce). Likwidować laboratoria, przerzucać wszystko, co się da na symulacje (jedna sala z komputerami jest dużo bardziej wydajna kosztowo niż specjalistyczne laboratorium). I potem mamy inżynierów, dla których połączenie więcej niż jednego miernika w układzie to problem nie do przejścia.

    Przykład z życia:
    Jeszcze do niedawna pewne zajęcia były w laboratorium - układ rzeczywisty, pomiary itd. Zlikwidowano laboratorium, bo "zasadniczo, to równie edukacyjny byłby" porządny skrypt w Matlabie. "I w ten sposób, niezbyt wielkim nakładem pracy można by sie pobawić do woli." (a nie tkwić w laboratorium). Stwierdzono jednak, że pisanie skryptów w Matlabie także jest przestarzałe i zaczęto stosować Symulinka. Który jest równie dydaktyczny, a nakład pracy mniejszy. Po co pisać skrypt, wpisywać dane "z palca", jak można suwać suwaczkami i patrzeć na wykresy. W ten piękny sposób zredukowano zajęcia wymagające nakładu pracy, uwagi i wiedzy do bezmózgiego miziania kursorem.

    Ja każdego dnia dziękuję za odciski na paluchach, chociaż kiedyś wydawało się to głupie.