View Full Version : Come costruire un computer
Salve a tutti.
Mi servirebbe una guida che spieghi in linea generale come costruire un computer: non come assemblarlo, proprio costruirlo. Ossia, come strutturare i collegamenti tra microprocessore e periferiche, bus della memoria, creazione del firmware, etc.
Ho provato a cercare con google ma non ho avuto molta fortuna, tutto quello che ho trovato verte su come assemblare personal computer... Avete qualche link da darmi? Meglio se in italiano, ma se proprio non c'è va bene anche in inglese... Grazie! ;)
Mmmmhhhh, forse un corso di sistemi operativi abbinato ad uno di architettura degli elaboratori potrebbero darti un po' di conoscenze a riguardo.
Io non conosco nessuna guida specifica.
mi interessa anche a me!!!
Mmmmhhhh, forse un corso di sistemi operativi abbinato ad uno di architettura degli elaboratori potrebbero darti un po' di conoscenze a riguardo.
Io non conosco nessuna guida specifica.
Mah, diciamo che l'aspetto elettronico non mi preoccupa, un po' ho fatto anche io dei corsi del genere anche se non finalizzati ai computer, un po' perchè ho un'idea più o meno come andrebbero fatti.
Quello che mi sfugge completamente è il discorso firmware... Ossia, io finora ho lavorato con microcontrollori, su cui ci ficchi il programma che hai scritto e pensano loro a tutto. Ma nel momento in cui devi costruire un sistema con un processore, io avrò una memoria su cui si trova il programma che deve eseguire, ma come faccio a dire al processore che, quando parte, deve andare a leggere su quel tal indirizzo quelle tali istruzioni?
Quello che mi sfugge completamente è il discorso firmware... Ossia, io finora ho lavorato con microcontrollori, su cui ci ficchi il programma che hai scritto e pensano loro a tutto. Ma nel momento in cui devi costruire un sistema con un processore, io avrò una memoria su cui si trova il programma che deve eseguire, ma come faccio a dire al processore che, quando parte, deve andare a leggere su quel tal indirizzo quelle tali istruzioni?
Non ho molta voglia di scrivere , quindi ... cut&paste :Prrr:
"Quando la macchina viene alimentata, viene attivato il segnale di
reset (lo stesso che talvolta è attivabile direttamente dall'utente
premendo un pulsante). In risposta al reset, il processore inizia ad
eseguire le istruzioni in un modo predeterminato nella CPU stessa. La
maggior parte dei processori moderni eseguono le istruzioni a partire
dall'indirizzo fisico 0, oppure caricano un puntatore a 32-bit da tale
indirizzo e lo usano come vettore del codice di avvio.
Il PC, invece, si comporta diversamente. In risposta al reset la CPU
si trasforma in un 8086, un processore a 16 bit che può indirizzare
solo 1MB di memoria, ed esegue le istruzioni all'indirizzo 0xffff0,
cioè appena sotto il limite di 1MB. In entrambi i casi, le prime
istruzioni eseguite dal processore risiedono su memoria non volatile,
spesso memoria cosiddetta "flash".
Nel caso del PC il codice di avvio è parte del famigerato BIOS, con
cui tutti abbiamo imparato a convivere; su altre macchine si può
trattare di "open firmware" o altro codice generico; sui sistemi
embedded spesso il codice eseguito al reset è direttamente il boot
loader, riprogrammabile tramite interfaccia JTAG o BDM."
http://scuola.linux.it/docs/linuxmagazine/rubini_39.html
Grazie :ave:
Hai mica per caso nella clipboard anche qualche indicazione su come scrivere quella parte di codice per un arm? :D
io alle superiori avevo un libro, si chiamava "Elaboratori, note di Hardware" dove era spiegato tutto il funzionamento a basso livello di un computer con processore 386 (bus, cpu, le operazione che eseguiva etc).
Se ti interessano altri dati stasera quando rientro posso darti qualche info in piu' ;)
io alle superiori avevo un libro, si chiamava "Elaboratori, note di Hardware" dove era spiegato tutto il funzionamento a basso livello di un computer con processore 386 (bus, cpu, le operazione che eseguiva etc).
Se ti interessano altri dati stasera quando rientro posso darti qualche info in piu' ;)
Sì grazie, mi faresti un grosso piacere ;)
Sì grazie, mi faresti un grosso piacere ;)
ok stasera ti posto qualche info in piu'! ;)
Grazie Morkar!
Certo che sei dappertutto, eh? Mi sorvegli? Stavi controllando se avevo aperto qualche discussione sulla moralità dello stato fuori dalle solite sezioni per depistarti? :sofico:
:D
No, sono l'unico a leggere la tua sign, dovresti ringraziarmi :O
:sofico:
Ma sì va' là, per questa volta potrei anche ringraziarti :O :D
Guarda però che ti tengo d'occhio eh, non mi scappi :Perfido: :D
Lucio Virzì
10-02-2006, 20:09
Si so farlo.
Ne ho costruito uno, un PLC basato sullo Z80, nel 1989.
Mentre nel 1994 ho progettato e realizzato una CPU Risc Parametrica a 16 bit, realizzata su gate array X4000 e testato su una board sperimentale realizzata da un altro gruppo.
LuVi
pietro84
10-02-2006, 21:41
mi interessa questo argomento,quindi mi iscrivo alla discussione :)
@gpc cerca su internet appunti di reti logiche,architettura dei calcolatori,macchine per l'elaborazione delle informazioni.
mi interessa questo argomento,quindi mi iscrivo alla discussione :)
@gpc cerca su internet appunti di reti logiche,architettura dei calcolatori,macchine per l'elaborazione delle informazioni.
Reti logiche no, ho già dato :D
Architettura dei calcolatori e macchine per l'elaborazione... ora vedo se riesco a reperire qualcosa... ma queste cose qui universitarie mi sa tanto che siano le solite mazzate teoriche da cui poi non riesci a tirare fuori un ragno dal buco, oppure è che dopo sette anni di ingegneria sono prevenuto? :p
pietro84
10-02-2006, 21:48
Si so farlo.
Ne ho costruito uno, un PLC basato sullo Z80, nel 1989.
Mentre nel 1994 ho progettato e realizzato una CPU Risc Parametrica a 16 bit, realizzata su gate array X4000 e testato su una board sperimentale realizzata da un altro gruppo.
LuVi
LuVi una curiosità: perchè hai realizzato da zero la CPU e non hai utilizzata una già in commercio?
pietro84
10-02-2006, 21:57
Reti logiche no, ho già dato :D
Architettura dei calcolatori e macchine per l'elaborazione... ora vedo se riesco a reperire qualcosa... ma queste cose qui universitarie mi sa tanto che siano le solite mazzate teoriche da cui poi non riesci a tirare fuori un ragno dal buco, oppure è che dopo sette anni di ingegneria sono prevenuto? :p
io al secondo anno feci "reti logiche e sistemi a microprocessore" e mi servi,per l'esame riuscii a progettare una USART.
ma cosa devi realizzare di preciso?
ps: le vacanze sono finite? :D
io al secondo anno feci "reti logiche e sistemi a microprocessore" e mi servi,per l'esame riuscii a progettare una USART.
ma cosa devi realizzare di preciso?
ps: le vacanze sono finite? :D
No, sono all'apice :D
Mi sto solo mettendo un po' (tanto) avanti, anche per curiosità personale.
Cosa dovrei realizzare? Una piattaforma hardware basata su un arm :stordita:
pietro84
10-02-2006, 22:21
No, sono all'apice :D
Mi sto solo mettendo un po' (tanto) avanti, anche per curiosità personale.
Cosa dovrei realizzare? Una piattaforma hardware basata su un arm :stordita:
beh alla specialistica di ing informatica e ing elettronica della mia facoltà c'è il corso di "macchine per l'elaborazione delle informazioni", che tratta in maniera specifica di VHDL,realizzazione di firmware ecc,insomma come progettare un sistema hardware a microprocessore. non so dirti di più perchè non lo frequento ancora. prova a cercare corsi simili... non penso che esistano dei tutorial veri e propri sull'argomento,visto che non è una cosa cosi immediata.
scusa per l'incredibile ritardo, mi era completamtne passato di mente! :eek:
cmq il libro di cui ti parlavo si chiama:
Microelaboratori
Note di Hardware
Giancarlo Baccolini - Carlo Offelli
Città Studi
codice isbn: 88 - 7005 - 558 - 2
Spero ti possa ancora servire.
Ciao
scusa per l'incredibile ritardo, mi era completamtne passato di mente! :eek:
cmq il libro di cui ti parlavo si chiama:
Microelaboratori
Note di Hardware
Giancarlo Baccolini - Carlo Offelli
Città Studi
codice isbn: 88 - 7005 - 558 - 2
Spero ti possa ancora servire.
Ciao
Non preoccuparti per il ritardo ;)
grazie!
Lucio Virzì
11-02-2006, 21:18
LuVi una curiosità: perchè hai realizzato da zero la CPU e non hai utilizzata una già in commercio?
Perchè era un progetto per il corso di microelettronica :)
LuVi
pietro84
11-02-2006, 23:33
Perchè era un progetto per il corso di microelettronica :)
LuVi
credevo che fosse per un corso di calcolatori elettronici più che altro, o per motivi di lavoro :)
:D
No, sono l'unico a leggere la tua sign, dovresti ringraziarmi :O
:sofico:
:asd:
La signature di gpc tira + di un pelo di f....sono qui pure io :D
VHDL
Ollallà.....VHDL :D
Nel caso ti servisse gpc.....
http://www.elet.polimi.it/upload/sami/VHDL_reference_manual.pdf
http://www.elet.polimi.it/upload/sami/VHDL_merged.pdf
:asd:
La signature di gpc tira + di un pelo di f....sono qui pure io :D
Ok, dopo che sei arrivato anche tu, parliamo un po' di stato laico, religione e filosofia? :D
Grazie per i link ;)
Anche io sono qui per la sign, non so fare un caxxo, posso restare comunque? :p
- CRL -
Anche io sono qui per la sign, non so fare un caxxo, posso restare comunque? :p
- CRL -
I moderatori sono sempre benvenuti :ave: :D
La sign tira :asd: (o era a patata ??? MBOH !!)
:D :D :D
Io ho fatto (quasi) da solo progettazione e realzzazione della IRDA del PC, se serve (anche se credo di essere quello che ci capisce di meno in queste cose ;) :D ) con qualche trigger di shmitt e i soliti 2n2222a x amplificare i segnali e pilotare i led IRDA .... nel caso tempo permettendo la posto
cià, cmq la cosa interessa pure me ....
P.S. BENEVOLO x luvi : sempre parlando di sign, ho visto ora la ignore list :rotfl: , può anche essere simpatica come cosa, ma unn'hai proprio niente da fare x star li ad aggiornarla tutti i giorni ???
Cià a tutti, io in ignore non ho nessuno, si può imparare da chiunque a questo mondo, al limite si sente da che campana viene una predica e si considera col giusto metro (IMHO).
Pace e patata, anzi :ave: Pigna ;)
Gyxx
innanzitutto complimenti per il progetto, anche se mi sembra un tantino ambizioso...
quello che non ho capito è il tipo di lavoro che deve fare questo computer...
qualcos tipo 286??
soprattutto buona fortuna perchè su google penso sia difficile trovare cose di questo livello...
in bocca al lupo!!! :lamer:
La sign tira :asd: (o era a patata ??? MBOH !!)
:D :D :D
Io ho fatto (quasi) da solo progettazione e realzzazione della IRDA del PC, se serve (anche se credo di essere quello che ci capisce di meno in queste cose ;) :D ) con qualche trigger di shmitt e i soliti 2n2222a x amplificare i segnali e pilotare i led IRDA .... nel caso tempo permettendo la posto
cià, cmq la cosa interessa pure me ....
Pace e patata, anzi :ave: Pigna ;)
Gyxx
Ciao Gyxx! Apprezzo il tentativo, ma non è quello di cui ho bisogno per ora :D
Hai visto la nuova moderatroce :D di Scienza e Tecnica chi è? :p
Ciao!
innanzitutto complimenti per il progetto, anche se mi sembra un tantino ambizioso...
quello che non ho capito è il tipo di lavoro che deve fare questo computer...
qualcos tipo 286??
No no, deve diventare una piattaforma hardware molto flessibile a cui poter collegare tutta una serie di periferiche... Praticamente ora chi me l'ha data da fare ha tutta una serie di applicazioni su microcontrollore e vuole che siano tutte trasferite su una piattaforma basata su cpu.
soprattutto buona fortuna perchè su google penso sia difficile trovare cose di questo livello...
in bocca al lupo!!! :lamer:
Su google non si trova niente... :(
Crepi il lupo :p
Sottoscrivo anch'io :)
Edit: magari da questo thread nasce il progetto "Computer dell'HWU forum" :)
Ciao Gyxx! Apprezzo il tentativo, ma non è quello di cui ho bisogno per ora :D
Hai visto la nuova moderatroce :D di Scienza e Tecnica chi è? :p
Ciao!
Visto ora dopo che me lo hai segnalato, ultimamente ho avuto pochissimo tempo (purtroppo :cry: ) x il forum ...
.... molto + che azzeccata : una persona che stimo moltissimo, con un ENORME esperienza e assolutamente super partes ;).... avete già aperto un 3D x le congratulazioni ????
Ciao, tempo permettendo seguirò cmq la discussione ;)
Gyxx
Visto ora dopo che me lo hai segnalato, ultimamente ho avuto pochissimo tempo (purtroppo :cry: ) x il forum ...
.... molto + che azzeccata : una persona che stimo moltissimo, con un ENORME esperienza e assolutamente super partes ;).... avete già aperto un 3D x le congratulazioni ????
Ciao, tempo permettendo seguirò cmq la discussione ;)
Gyxx
Sì che abbiam aperto, ma ha già chiuso, è cat-ti-vis-si-ma :eek: :D
jumpermax
05-03-2006, 12:22
Salve a tutti.
Mi servirebbe una guida che spieghi in linea generale come costruire un computer: non come assemblarlo, proprio costruirlo. Ossia, come strutturare i collegamenti tra microprocessore e periferiche, bus della memoria, creazione del firmware, etc.
Ho provato a cercare con google ma non ho avuto molta fortuna, tutto quello che ho trovato verte su come assemblare personal computer... Avete qualche link da darmi? Meglio se in italiano, ma se proprio non c'è va bene anche in inglese... Grazie! ;)
Io credo che si debba partire innanzitutto dal processore. Nel corso di calcolatori1 i testi di base erano proprio i manuali dei processori, dove venivano spiegate le temporizzazioni, le connessioni e via dicendo. Chiaro che un manuale di un 8086 è un conto, un manuale di un processore attuale è di qualche ordine di complessità superiore.
quindi se quello che intendi fare è
Una piattaforma hardware basata su un arm
direi che il primo passo è andare sul sito intel cercando i manuali che ti interessano oltre che i tool di sviluppo
http://developer.intel.com/design/pca/prodbref/252780.htm
imho comunque progettare un bios ex novo è un lavoro un tantino troppo lungo da poter fare da soli.
Mah, adesso vediamo quali saranno le richieste per questo progetto... Comunque spero che non me lo facciano fare da solo :D
Nonostante le accuse di BANANICIDA che mi hai lanciato su altri 3d :O stasera mi seno buono ;) :D ,e ti segnalo un ottimo sito e relativo forumme su cui si discute esclusivamente su come smanettare su bios di controller e di PC. Io mi ci ero iscritto 3-4 anni fa x scaricare tool e immagini di bios modificati x ottimizzare il mio PC, alcuni dei quali uso tuttora x farmi i bios personalizzati (metto le versioni che voglio dei controller on board abbinati alle parti che voglio dei moduli di overclock/controllo generico delle mobo).
http://www.biosmods.com/
Npon sarà certo l'unico, magari manco il + completo, ma magari ci trovi qualcosa di interessante anche x quel che ti serve ;) . Specie nei link.
Anche solo gli editor e le spiegazioni sui moduli dei bios dei PC moderni MHO meritano.
Cià
Gyxx
P.S. :Prrr:
Grazia Bananicida :D appena ho tempo guardo anche quello ;)
The Mountain King
27-03-2006, 18:53
Per quanto riguarda l'ARM, questo è il sito del mio corso all'università di Padova:
http://www.dei.unipd.it/corsi/ae1/web/_index.htm,
in particolare guarda il materiale per il laboratorio
http://www.dei.unipd.it/corsi/ae1/web/materiale.htm#Materiale_vario
e da lì puoi scaricare il PDF
http://www.dei.unipd.it/corsi/ae1/store/l01IntroduzioneARM.pdf
che penso ti sia utile. Per il BIOS.. boh?!? :confused:
Bye
Grazie, dopo me lo guardo...
Per ora ho mappato tutte le periferiche e buttato giù uno schema dei driver; al momento ho iniziato a creare il circuito, ma ho idea che al momento di scrivere il codice dovrò sbattere parecchio la testa contro il cosiddetto "Startup" in assembler dove si deve effettuare una prima configurazione delle periferiche più importanti del micro e la rimappatura della memoria. Oltre all'application note del micro usato (AT91M40008), non ho trovato nulla di utile che spieghi come fare questa parte di codice, e l'application note ha, diciamo così, qualche lacuna. Sapete dove trovare esempi spiegati e capibili?
In effetti è il programma di architettura degli elaboratori + qualcosa di sistemi operativi ;)
Per architettura questa è la Bibbia:
Andrew Tanenbaum. Structured Computer Organization - quinta edizione -
Per SO ci sono le ottime slides di un mio prof. basate sul Silberschatz, credo siano accessibili senza login:
http://www.di.unito.it/~gunetti/DIDATTICA/aa03/soelab/index.html
Buona lettura :D
di structured computer organization in italiano forse c'e' qualcosa nelle librerie
Andrew S. Tanenbaum - Architettura dei Computer, un approccio strutturato - Prentice Hall International proprio non è più possibile reperirlo me lha confermato anche il professore della mia facoltà.
un link da GG è questo
http://www.dsi.uniroma1.it/~arc1/
http://www.pcengines.ch/tinybios.htm
Bios Open... per x86.. ma magari ci tiri fuori qualcosa di buono.
x86 ricordo che è una delle tecnologie successive allo Z80 mi chiedo è una tecnologia ancora utilizzato nei processori pentium o la tecnologia dei pENTIUM è totalmente diversa dell x86
la domanda me la tengo calda da un pò di anni ma nn ho mai trovato il forum giusto dove chiederla
Grazie, dopo me lo guardo...
Per ora ho mappato tutte le periferiche e buttato giù uno schema dei driver; al momento ho iniziato a creare il circuito, ma ho idea che al momento di scrivere il codice dovrò sbattere parecchio la testa contro il cosiddetto "Startup" in assembler dove si deve effettuare una prima configurazione delle periferiche più importanti del micro e la rimappatura della memoria. Oltre all'application note del micro usato (AT91M40008), non ho trovato nulla di utile che spieghi come fare questa parte di codice, e l'application note ha, diciamo così, qualche lacuna. Sapete dove trovare esempi spiegati e capibili?
chat.tiscali.it #programmazione . è una chat ma talvolta c'e'
gente che sa dove indirizzarti per difficoltà di ogni tipo .altrimenti prova anche a consultarti con qualche docente/ricercatore universitario qualcuno è sempre molto disponibile a nuovi progetti visto che ..............................
(domanda ma solo a me su ebay nessuno risponde in privato quando faccio domande per acquisti?!?!?!?!?!!) a presto.
x86 ricordo che è una delle tecnologie successive allo Z80 mi chiedo è una tecnologia ancora utilizzato nei processori pentium o la tecnologia dei pENTIUM è totalmente diversa dell x86
x86 è una famiglia di processori inventata dalla Intel, che va dall'originale 8086 agli ultimi Core Duo :)
Lo Z80 non c'entra nulla. L'8086 deriva infatti dall'8080. Lo Z80, prodotto dalla Zilog, era un figlioccio "bastardo" dell'8080 in quanto progettato da uno degli ingegneri ex-Intel, ma non ha nulla a che vedere con l'8086.
Naturalmente ogni nuovo membro di una famiglia di processori è perfettamente compatibile a livello software con i precedenti (altrimenti che famiglia sarebbe???), basta vedere come il DOS funziona ancora benissimo (in realtà non funziona così bene, ma non è per colpa del processore). Ma naturalmente l'architettura interna dei processori dall'8086 al Pentium si è un tantino rivoluzionata, in effetti il Pentium è più simile ad un RISC (e in misura minore anche il 486 lo è).
Se stai parlando dell'architettura dell'intera macchina, allora il discorso è simile, solo che i PC derivano dall'IBM PC XT il quale, guarda caso, usava un processore Intel 8086 (per essere più precisi la versione economica, l'8088). Se avessero usato un Motorola 68000 o uno Zilog Z80 oggi la Intel non la conoscerebbe più nessuno :)
Mi sembra giusto aggiornavi un pochino... Praticamente ora sto scegliendo tutte le varie periferiche -ram, flash, aggeggi vari, etc- e creando la mappa della memoria, con tutti i registri e via andare. Sto creando il circuito e ho individuato un po' la procedura da seguire per far andare tutto l'accrocchio... Arriverà il momento in cui dovrò sbattere la testa contro lo "startup" in assembler, ma spero che sia il più avanti possibile :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.