OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 29.03.2024, 14:55

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 66 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5  Další
Autor Zpráva
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 05.02.2020, 21:31 
Offline
Kecálek

Registrován: 28.10.2016, 21:03
Příspěvky: 122
Has thanked: 13 times
Been thanked: 50 times
Možná se s tím opravdu bude lépe pracovat ve formě tabulky, tak ještě jednou přikládám vygenerovaná data v jiném formátu. Každá funkce je jeden sloupec a tak je možné sloupce libovolně přehazovat a nakonec zkopírovat za sebe (kopírovat/vložit) a vytvořit si tak jeden sloupec s obsahem paměti.

Přikládám ve formátu OpenDocument Spreadsheet.

S tím a=b je tam nejspíš nějaké nedorozumění, nebo nevím. Já to psal pro informaci, že v těch datech už je flag spočítaný, a má svou hodnotu při funkci a-b nebo b-a, nebo i a^b. Je to bit 5 (počítáno od 0). Bit 4 je carry. Takže, v čem je to obcházení? Pro instrukci podmíněného skoku, když dvě hodnoty jsou stejné, by to snad mohlo stačit. Ale třeba jsem to jen nepochopil.


Přílohy:
eprom-excel.ods [21.35 KiB]
422 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 05.02.2020, 22:36 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
prostě další výstup, tedy D6 bude v L u všech kombinací kdy se a=b, flag se nastaví hned po naloudování a,b bez nutnosti předchozího a-b

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 05.02.2020, 23:18 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
microlan píše:
D6 bude v L u všech kombinací kdy se a=b
Nemělo by to být H? Takhle by to signalizovalo a<>b.

Kdybys těch vstupních bitů měl 14, nebo dva brouky (pro logické a aritmetické funkce), dala by se do toho "naklonovat" ta 74181 úplně jednoduše.

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 06.02.2020, 06:13 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Jasně, H. Příznaky nejsou negované. Spletl jsem to s /CS-elektama. 74181 nepotřebuji klonovat, nevím, jestli z toho něco někdy slepím, ale idea je niblák s MHB6561 s baterkou.

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 06.02.2020, 09:46 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Stačí větší paměť, 27C128 a máš tam 74181 celou :)
Ale 74181 má mnoho funkcí, které prakticky nepoužiješ a co by jsi potřeboval třeba nemá.
Takhle si tam nageneruješ jen co budeš potřebovat.
Ještě mě napadá 74HC283 doplněná logickýma funkcema v GAL22V10.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 06.02.2020, 10:02 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Citace:
Takhle si tam nageneruješ jen co budeš potřebovat.


No, právě. A není to předem limitující faktor, dá se to během vývoje jednoduše změnit

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 06.02.2020, 22:30 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Technický dotaz: SBC má být A - B - C nebo A - B - /C ?
Viz ta 74181 (na Wikipedii je to blbě).
Nebo jinak se zeptám. Před ADC nastavuješ Carry na 0. A před SBC ho nastavuješ také na 0 nebo na 1?

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 06.02.2020, 23:34 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2063
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Keď je nastavený C, tak sa výsledok s SBC zníži o jedna (skrátka sa odpočíta C). Aspoň tak je to v príručke Z80. Takže keď C=0, potom SBC funguje rovnako ako SUB.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 09:23 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Citace:
Možná se s tím opravdu bude lépe pracovat ve formě tabulky


To je řešení! Dokonce i já jsem pochopil ten geniální postup.

//Ještě tam tak dokomponovat a=b a a>b na d6 a d7

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 13:23 
Offline
Kecálek

Registrován: 28.10.2016, 21:03
Příspěvky: 122
Has thanked: 13 times
Been thanked: 50 times
Citace:
nejen zrychlí, ale taky zkrátí kód v 256B adresním prostoru
Já se rád poučím. Zkrácení kódu mě zajímá. Jaký kód tedy bude bez dostupného a=b a jaký kratší kód bude s dostupným a=b příznakem?

Přiznávám, že jsem vlastní procesor nikdy nestavěl. Ale vím, jak funguje instrukční sada procesorů typu Z80 nebo LR35902. Tam, když chci porovnání A=B, tak vykonám instrukci sub B a výsledek mám v Z flagu. Když budu chtít podmíněný skok, tak vykonám jr z, addr. I když bych si vymyslel novou intrukci jako "jr addr if A=B", která by obojí udělala dohromady, tak pořád je to jedna instrukce, která do ALU pošle najednou dva vstupy a selektor funkce je A-B, přečte flag Z a provede skok. Nemusí se nic nastavovat předem, udělá se to během té instrukce.

A také v tomto vlákně zmíněná 74181 má ten příznak A=B jen u funkce odčítání (a xor, tj. je to zero flag s jiným jménem).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 13:33 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2063
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Prečo SUB B, keď Z80 má priamo inštrukciu CP? Keď A=B, nastaví sa Z, keď A<B, nastaví na C. V podstate rovnaký princíp ako SUB, ale nemení A ani B, iba nastavuje flagy. Samozrejme pokiaľ by každá funkcia nastavila ešte flag A=B (teraz neviem či je vhodné porovnávať pred alebo po vykonaní inštrukcie), mohlo by to skrátiť program.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 13:54 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
LD a, 1
LD b, 1
JP EQ, xxxx

//Zde je navíc výhoda, že "a" zůstane beze změny, což by v dolním programu možná znamenalo nějaké obnovení "a"



LD a, 1
LD b, 1
SUB a, b
JP Z, XXXX

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 14:40 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Ještě jsou 2 funkce volné, tak inc a, dec a

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 14:43 
Offline
Kecálek

Registrován: 28.10.2016, 21:03
Příspěvky: 122
Has thanked: 13 times
Been thanked: 50 times
Citace:
LD a, 1
LD b, 1
JP EQ, xxxx
Instrukce JP EQ přeci může do ALU nastavit operaci A-B, i když se výsledek z ALU nikam neuloží. Nebo jinak, jakou operaci ALU tedy instrukce JP EQ vybírá? Na vstupu do ALU EPROM přeci musí něco vždy být, abych mohl číst nějaký výstup z ALU.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Obsah EPROM pro 4bit ALU
PříspěvekNapsal: 07.02.2020, 14:58 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 16.03.2017, 11:36
Příspěvky: 1493
Bydliště: Kósek vod Brna
Has thanked: 101 times
Been thanked: 112 times
Citace:
Instrukce JP EQ přeci může do ALU nastavit operaci A-B


To jistě, ale prodlužuje to mikrokód a složitost seqenceru.

Citace:
jakou operaci ALU tedy instrukce JP EQ vybírá?


Žádnou operaci, jen testne flag eq

//Vzhledem k malému počtu kombinací 4b niblu, bude většina intrukcí dvouniblová

např.

0001 XXXX ALU operace
0010 XXXX AAAA AAAA skokové instrukce
0011 XXXX LD instrukce8
0100 I I I I LD A, I instrukce

atd

_________________
TEMS-49, PMI-80, rep. MK14, ZX81, ZXspectrum+, TI58, MZ-800


Naposledy upravil microlan dne 07.02.2020, 15:11, celkově upraveno 3

Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 66 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 3 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz