https://i.imgur.com/Gti3rhk.jpg
Mój CPU wygląda już coraz sensowniej. Już obsługuje instrukcje MOV, MVI, ADD, SUB, INC, DEC, HLT (to wszystko bazuje troszkę na zestawie instrukcji Intela 8080). Zrezygnowałem z mnożenia, bo boję się, że mi miejsca nie wystarczy na Spartanie.
Na płytce z FPGA zielone ledziki wskazują na stan magistrali danych, dip switch pozwala wybrać rejestr, którego stan w danej chwili jest pokazywany na ledach pod ledami ze stanem program countera.
Po lewej różne ledy od statusu procka (LCK - taki gówno-debouncing przycisków, FTC - flaga fetch, że już pobrał instrukcję/dane, EXE - flaga, że wykonał już daną instrukcję, flaga HLT - że procesor się zatrzymał, INS - czy obecny bajt na magistrali to dane czy instrukcja, ZF - zero flag).
Obecnie pracuję nad jumpami, żeby w końcu był kompletny w sensie Turinga xD
Wgl to wkurwiają mnie trochę nuworysze, co tam srają wypierdami, że uu dynamiczne typowanie to zło, hurr durr tylko statyczne typowanie xD Jeszcze niektórzy wgl piszą takie bzdury, że w Pythonie np. powinni wprowadzić przymusowe statyczne typy i dynamicznie typowane języki to się nie nadają do większych projektów. Pizdy takie, co za nich wszystko kompilator musi sprawdzać, a jakby napisali hello worlda w C to i tak by najebali 5 segfaultów i mieliby wycieki pamięci.
@ajdajzler: no co jak co, ale list comprehensions to jest złoto. Do pętli też nie wiem, co masz, przecież dużo wygodniej się iteruje po elementach kolekcji niż po indeksach. Co do dynamicznego typowania, to naprawdę nie jestem w stanie wskazać, kiedy mi ostatnio sprawiło jakiś problem, a piszę głównie w pytongu. Piszę też dużo w C i diametralnie różne są to języki i oba są zajebiste i nie widzę za bardzo sensu jebania po tym, że jeden jest dynamiczny i ma w kurwę dynamicznych feature'ów, a drugi jest małą nakładką na asemblera i wszystko trzeba w nim robić ręcznie. Oba się bardzo ładnie uzupełniają. Potrzebujesz ścisłej kontroli typów? Wybierz inny język xD
Wgl to wkurwiają mnie trochę nuworysze, co tam srają wypierdami, że uu dynamiczne typowanie to zło, hurr durr tylko statyczne typowanie xD Jeszcze niektórzy wgl piszą takie bzdury, że w Pythonie np. powinni wprowadzić przymusowe statyczne typy i dynamicznie typowane języki to się nie nadają do większych projektów. Pizdy takie, co za nich wszystko kompilator musi sprawdzać, a jakby napisali hello worlda w C to i tak by najebali 5 segfaultów i mieliby wycieki pamięci.
Ech, robiłem swój 8-bitowy procesor w verilogu na 4 rejestry, bo nie stać mnie na FPGA większe niż 1400 LUT i nawet całkiem nieźle mi to szło, a tu już siódma i do roboty trzeba iść, eh. Pewnie dopiero w weekend do tego wrócę. Jeszcze, żeby te schujałe środowiska do programowania tego były na cokolwiek innego niż windows. Brak otwartej platformy do syntezy to jest ból. Coś tam niby jest, ale i tak każdy producent ma swoje gówniane toolchainy rodem z jakiegoś borlanda.
Ech, robiłem swój 8-bitowy procesor w verilogu na 4 rejestry, bo nie stać mnie na FPGA większe niż 1400 LUT i nawet całkiem nieźle mi to szło, a tu już siódma i do roboty trzeba iść, eh. Pewnie dopiero w weekend do tego wrócę. Jeszcze, żeby te schujałe środowiska do programowania tego były na cokolwiek innego niż windows. Brak otwartej platformy do syntezy to jest ból. Coś tam niby jest, ale i tak każdy producent ma swoje gówniane toolchainy rodem z jakiegoś borlanda.
@sens: heh w sumie to 6-7 rejestrów, bo jeszcze jest program counter i dojdą flagi i być może stack pointer przecież.
Ech, robiłem swój 8-bitowy procesor w verilogu na 4 rejestry, bo nie stać mnie na FPGA większe niż 1400 LUT i nawet całkiem nieźle mi to szło, a tu już siódma i do roboty trzeba iść, eh. Pewnie dopiero w weekend do tego wrócę. Jeszcze, żeby te schujałe środowiska do programowania tego były na cokolwiek innego niż windows. Brak otwartej platformy do syntezy to jest ból. Coś tam niby jest, ale i tak każdy producent ma swoje gówniane toolchainy rodem z jakiegoś borlanda.
@sens: żeby było śmiesznej RAM symuluję mikrokontrolerem. Znalazłem jakieś antyczne kości, które teoretycznie by pasowały do tego projektu, ale są na 5V i byłoby więcej pierdolenia niż pożytku, bo na mcu mogę sobie od razu coś tam wrzucić, a tu musiałbym wymyślić sposób na ładowanie programu do pamięci, co i tak pewnie skończyłoby się użyciem mikrokontrolera.
Ech, robiłem swój 8-bitowy procesor w verilogu na 4 rejestry, bo nie stać mnie na FPGA większe niż 1400 LUT i nawet całkiem nieźle mi to szło, a tu już siódma i do roboty trzeba iść, eh. Pewnie dopiero w weekend do tego wrócę. Jeszcze, żeby te schujałe środowiska do programowania tego były na cokolwiek innego niż windows. Brak otwartej platformy do syntezy to jest ból. Coś tam niby jest, ale i tak każdy producent ma swoje gówniane toolchainy rodem z jakiegoś borlanda.
Jedno, co mnie wkurwia w macbookach to te zajebane porty usb-c. W sensie same w sobie nie są złe - są dwustronne, ładnie się wklikują, tylko kurde mało co ma taką wtyczkę, więc muszę używać przejściówek. A ponieważ nie widzi mi się płacić 160 zł za dobrą przejściówkę, to kupiłem sobie 4 za jakieś 15 zł. No i one się ruszają, wcale się ładnie nie wklikują, już jedna mi się wygięła, eh.
To były dwa ciężkie tygodnie. Był raport do napisania. W poniedziałek okazało się, że ASAP jest jeszcze jeden do piątku hehe. Raporty na kilkadziesiąt stron, zbieranie danych, robienie wykresów, kończenie bibliotek na ostatnią chwilę, siedzenie nad jakimiś gównianymi bugami z wypranym mózgiem o 2. w nocy, żeby zdążyć. Ale już tylko dwa wykresy do końca. Jeden raport już został pozytywnie przyjęty, drugi zaraz skończę :)
jezu to naprwadę tak jest że w polsce normą jest przepracowywanie ponad etat?
@ajdajzler: dziś w pracy byłem 3 godziny i realnie robiłem coś pożytecznego może przez 1,5. Zwykle siedzę w biurze koło sześciu, więc jestem w stanie psychicznie znieść taki zapierdol raz na pół roku.
Z tym że podejrzewam, że to mocno zależy od firmy i zakładam, że w większości jednak trzeba odjebać te 8 godzin dziennie, a w niektórych się robi jakieś chore nadgodziny.
To były dwa ciężkie tygodnie. Był raport do napisania. W poniedziałek okazało się, że ASAP jest jeszcze jeden do piątku hehe. Raporty na kilkadziesiąt stron, zbieranie danych, robienie wykresów, kończenie bibliotek na ostatnią chwilę, siedzenie nad jakimiś gównianymi bugami z wypranym mózgiem o 2. w nocy, żeby zdążyć. Ale już tylko dwa wykresy do końca. Jeden raport już został pozytywnie przyjęty, drugi zaraz skończę :)