Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-06-2008, 19:59   #1
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
divisioni binarie

Non è esattamente un discorso di programmazione, più che altro sarebbe un'implementazione di divisore binario con 3 bit di dividendo e divisore.
Ovviamente l'output sono sia quoziente che resto.
Io le operazioni le ho fatte e vengono, ma il risultato in alcune soluzioni non ha alcun senso... aiutatemi please
Il problema che ho è questo:
supponendo che io abbia una divisione
Codice:
001 / 110
avrei come risultato
Codice:
000
con
Codice:
001
di resto, perchè da verifica
Codice:
DIVIDENDO = DIVISORE x RISULTATO + RESTO
...

ma di consequenza, qualsiasi operazione con dividendo < divisore ha come risultato
Codice:
000
con resto = dividendo?
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2008, 20:36   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Be', direi proprio di sì... Cosa stai facendo, un circuito combinatorio?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2008, 21:44   #3
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Esattamente, sto implementando un circuito per una calcolatrice binaria con operandi a 4 bit.
Addizione/sottrazione e moltiplicazione sono operazioni banali, il problema viene nella divisione...

Comunque la prima parte dell'errore è stata trovata... in realtà dovrei ottenere come risultato anche i numeri dopo la virgola, invece di ottenere quoziente più resto... Ho buttato giù una tabellina riassuntiva dei risultati e degli scarti dal valore corretto, ha operandi a 3 bit perchè a 4 veniva troppo lunga e non c'avevo voglia

Codice:
OP1	OP2	RISULTATO	DECIM.	SCARTO
----------------------------------------------
001	001	001.0000	1	0
001	010	000.1000	0.5	0
001	011	000.0101	0.3333	0.0208
001	100	000.0100	0.25	0
001	101	000.0011	0.2	0.0125
001	110	000.0010	0.1667	0.0417
001	111	000.0010	0.1428	0.0178
----------------------------------------------
010	001	010.0000	2	0
010	010	001.0000	1	0
010	011	000.1010	0.6667	0.0417
010	100	000.1000	0.5	0
010	101	000.0110	0.4	0.025
010	110	000.0101	0.3333	0.0208
010	111	000.0100	0.2857	0.0375
----------------------------------------------
011	001	011.0000	3	0
011	010	001.1000	1.5	0
011	011	001.0000	1	0
011	100	000.1100	0.75	0
011	101	000.1001	0.6	0.0375
011	110	000.1000	0.5	0
011	111	000.0110	0.4286	0.0536
----------------------------------------------
100	001	100.0000	4	0
100	010	010.0000	2	0
100	011	001.0101	1.333	0.0208
100	100	001.0000	1	0
100	101	000.1100	0.8	0.05
100	110	000.1010	0.6667	0.0417
100	111	000.1001	0.5714	0.0089
----------------------------------------------
101	001	101.0000	5	0
101	010	010.1000	2.5	0
101	011	001.1010	1.6667	0.0417
101	100	001.0100	1.25	0
101	101	001.0000	1	0
101	110	000.1101	0.8333	0.0208
101	111	000.1011	0.7143	0.0268
----------------------------------------------
110	001	110.0000	6	0
110	010	011.0000	3	0
110	011	010.0000	2	0
110	100	001.1000	1.5	0
110	101	001.0011	1.2	0.0125
110	110	001.0000	1	0
110	111	000.1101	0.8571	0.0446
----------------------------------------------
111	001	111.0000	7	0
111	010	011.1000	3.5	0
111	011	010.0101	2.3333	0.0208
111	100	001.1100	1.75	0
111	101	001.0110	1.4	0.025
111	110	001.0010	1.1667	0.0417
111	111	001.0000	1	0
----------------------------------------------
Il circuito ha come output 9 display a segmenti (Uno per il segno nella sottrazione, gli altri 8 per i valori binari)... Di conseguenza nella divisione invece di avere come risultato 4 display per il quoziente e 4 per il resto devo usare 8 display per il risultato, 4 sopra la virgola e 4 sotto...
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2008, 21:51   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Donbabbeo Guarda i messaggi
Ho buttato giù una tabellina riassuntiva dei risultati e degli scarti dal valore corretto, ha operandi a 3 bit perchè a 4 veniva troppo lunga e non c'avevo voglia
In effetti uscirebbe un tabellone enorme, hai fatto bene a tralasciarlo...
In caso di divisione per zero invece che risultato dai? Vedo che l'hai omesso dai possibili input.

Ma una curiosità: lo stai facendo per hobby/studio o è una cosa più seria? Perché se è la seconda, non ho certo l'esperienza per permettermi anche solo di consigliarti...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!

Ultima modifica di DanieleC88 : 29-06-2008 alle 21:55.
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-06-2008, 01:50   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da Donbabbeo Guarda i messaggi
ma di consequenza, qualsiasi operazione con dividendo < divisore ha come risultato
Codice:
000
con resto = dividendo?
Certo.
E' cosi' in qualsiasi base (giustamente i risultati delle operazioni sono indipendenti dalla base)

45/60 = 0 resto 45
5/9 = 0 resto 5
3/4 = 0 resto 3

Quote:
Esattamente, sto implementando un circuito per una calcolatrice binaria con operandi a 4 bit.
Comunque, se devi fare il calcolo della divisione in circuito combinatorio, ti consiglio di fare proprio l'algoritmo della divisione.
Ripassa quello che ci veniva insegnato alle elementari. Quello della calcolatrice e' identico, se non che e' in base 2 (che e' ancora piu' semplice della base 10).
Ovviamente la strada di memorizzarsi tutte le possibili combinazioni funziona... ma solo fino ad un certo punto.
Se invece di 3 bit fosse a 16 bit, dovresti memorizzare 4GB di dati, per la sola divisione a 16bit.
Pensa la 32bit...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 30-06-2008, 01:57   #6
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non serve effettivamente memorizzare quei dati, ma avendo un circuito che presenta 8 bit in input sugli ingressi (4+4 dei due operandi) puoi farti un bel tabellone e poi implementare un circuito che codifichi le funzioni booleane di tutti e 8 i bit da presentare in output... ma non so fino a che punto convenga un lavoraccio così.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-06-2008, 12:30   #7
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Difatti la tabella era solo per avere un'idea di base sui vari risultati e capire bene o male come dovevo comportarmi.
In realtà come ho detto la divisione l'ho già implementata, ma i risultati han poco senso.

dividendo/(valore > dividendo) da come risultato sempre 0 e resto dividendo, che sebbene voi diciate sia corretto è in ogni caso un risultato poco significativo... Se io faccio 1/2 ed 1/3 i risultati sono diversi, mentre io ottengo il medesimo risultato.

Ho pensato perciò di ottenere 4 bit di risultato intero e 4 bit di risultato dopo la virgola, così da ottenere un risultato significativo e diverso per ogni divisione.

Qualche idea? E' meglio lasciar perdere? Come potrei impostare il circuito?
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 30-06-2008, 12:34   #8
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da Donbabbeo Guarda i messaggi
Difatti la tabella era solo per avere un'idea di base sui vari risultati e capire bene o male come dovevo comportarmi.
In realtà come ho detto la divisione l'ho già implementata, ma i risultati han poco senso.

dividendo/(valore > dividendo) da come risultato sempre 0 e resto dividendo, che sebbene voi diciate sia corretto è in ogni caso un risultato poco significativo... Se io faccio 1/2 ed 1/3 i risultati sono diversi, mentre io ottengo il medesimo risultato.

Ho pensato perciò di ottenere 4 bit di risultato intero e 4 bit di risultato dopo la virgola, così da ottenere un risultato significativo e diverso per ogni divisione.

Qualche idea? E' meglio lasciar perdere? Come potrei impostare il circuito?
1/2 e 1/3 danno entrambi 0, se si considera la matematica degli interi.
Se invece vuoi le virgole, allora di nuovo ti consiglio di studiare l'algoritmo della divisione delle elementari, che e' quello usato anche dai nostri processori.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 30-06-2008, 13:03   #9
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Comincio a capirci qualcosa... In pratica io avrei implementato (senza neanche saperlo ) la divisione Euclidea...

Ho reinventato la divisione

A parte gli scherzi, proverò ad implementare la divisione trasformando il risultato in numero reale, ma non credo di fare in tempo per la consegna...

Proverò a contattare il professore e sentire un suo parere.

In ogni caso ogni consiglio è bene accetto e grazie ad entrambi
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 19:38   #10
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Potreste semplificarmi questa equazione? Sono un caprone

ABC+AB'C'D'+A'B'CD'+A'BC'+BD = E

vorrei utilizzare pure xor, nor xnor o quello che è, non sono stato capace io
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 19:58   #11
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non credo sia ulteriormente semplificabile, non mi sembra che ci siano termini a distanza di Hamming unitaria.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 20:57   #12
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Grazie mille, ho già implementato tutto, ma risulta un pò complessa da decifrare
So che quello che ho fatto "dovrebbe" permettermi di calcolare la sottrazione su singolo bit, ma sebbene sia corretto non mi tornano i conti
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 01-07-2008, 21:36   #13
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
E allora non è corretto.
Il problema è che se ti scappa una connessione sbagliata salta tutto.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 14:30   #14
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
scemo scemo scemo
Ehm... era tutto corretto quello che avevo già fatto, se non fosse che avevo invertito gli ingressi due volte e quindi alla fine tornava, ma prendendoli singolarmente non tornavano i conti
Comunque finito, consegnato e ricevuto i complimenti dal professore per il bel lavoro.



Volevo uppare lo schema qua, ma non posso allegarlo perchè troppo pesante, casomai qualcuno fosse interessato ( ) mi invii un pvt che glielo mando.

PS: grazie dell'aiuto ad entrambi
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Windows 11, 8 GB di RAM non sono pi&ugra...
Octopus Energy ritira la tariffa Flex Mu...
Disegnare la superconduttività co...
Il razzo spaziale NASA SLS per la missio...
Il drone NASA Dragonfly ha volato per la...
GTA 6, preload dal 10 novembre: servono ...
The Elder Scrolls VI: Sentinel, Bethesda...
Un doppio disco di detriti attorno a una...
Windows 11: risolta la disattivazione fo...
42AI, l'intelligenza artificiale anticip...
Windows 11 26H2 gira con appena 128 MB d...
GPT-6.2 Astra compare in Codex, Claude F...
Record assoluto per Linux 7.4: quasi mez...
Datacenter “standard” esonerato dalla va...
Occhio ai consumi: nuovi limiti condivis...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v