Pagina 2 di 2

Re: [cpu] lato programmatore , cosa è visibile?

Inviato: giovedì 30 luglio 2015, 18:11
da toni00c
thece [url=http://forum.ubuntu-it.org/viewtopic.php?p=4786354#p4786354][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Spero di aver (minimamente) chiarito qualcosa.
Direi che siamo andati in OT, per ritornare alla domanda originale
toni00c [url=http://forum.ubuntu-it.org/viewtopic.php?p=4785817#p4785817][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: ... sapete dirmi com'è possibile sapere con certezza per una specifica cpu il suo set istruzioni e i registri visibili al programmatore?
La risposta è si, basta cercare in Rete e le specifiche delle istruzioni e relative estensioni si trovano. Dovrebbero essere informazioni pubbliche, altrimenti come si riuscirebbe a costruire i compilatori? Immagino che (esempio) Intel voglia assolutamente nascondere i dettagli con cui costruisce le proprie CPU, ma non le istruzioni per usarle. Il suo businness è vendere CPU, o no?
Banalmente prova a fare una ricerca in Rete con "intel x86 instruction set reference". Cosa??? ... preferisci l'architettura ARMv6? ;)
la mia cpu ha lo stesso set di istruzioni delle altre generazioni di cpu intel? es di un P4 ?

Re: [cpu] lato programmatore , cosa è visibile?

Inviato: giovedì 30 luglio 2015, 18:13
da Claudio_F
la mia cpu ha lo stesso set di istruzioni delle altre generazioni di cpu intel? es di un P4 ?
Vi è un set di istruzioni/registri base comune e retrocompatibile fino alle CPU 8088 a 8/16 bit, più istruzioni e registri che di generazione in generazione hanno ampliato questo set base (ma anche modalità di indirizzamento e funzionamento, ad esempio il protected mode introdotto con l'80186).


Darren ha scritto:si, ma scusami se insisto... questo software assemblatore sarà stato creato da qualcuno??
In principio erano gli interruttori (ok, stabiliamo che l'anno zero dei "personal computer" sia il 1975 con la nascita dei primi microprocessori). Si scrivevano in memoria le istruzioni binarie tramite interruttori, ogni interruttore un bit (vedi Altair 8800 o Imsai 8080). I mini programmi scritti in questo modo sono serviti per poter usare tastiere al posto degli interruttori, salvare dati e programmi su schede/nastro perforati o nastro magnetico, comandare stampanti e uscite video (fondamentalmente un abbozzo di quelli che poi sono diventati i servizi del BIOS dei moderni PC che si incaricano del controllo diretto dell'hardware). Con queste "comodità" si è potuto scrivere nuovo software più complesso in modo più veloce, in primis assemblatori che semplicemente convertono file testuali assembly in file binari direttamente eseguibili dall'hardware. I primissimi assemblatori probabilmente erano scritti su carta con sequenze binarie (o le equivalenti esadecimali/ottali) ricorrendo all'assemblaggio manuale (come in questo esempio per Z80) e successivamente caricati in macchina (interruttori/pannello/tastiera). A questo punto si innesca un circolo virtuoso, ogni strumento software prodotto permette di costruire nuovi software migliori e in minore tempo basandosi sul lavoro precedente. Al giorno d'oggi paradossalmente per scrivere un assemblatore non è neppure necessario saper programmare in assembly, basta usare un qualsiasi linguaggio di alto livello e avere le tabelle di conversione istruzione mnemonica <-> sequenza binaria.

Re: CPU lato programmatore: cosa è visibile?

Inviato: giovedì 30 luglio 2015, 21:44
da Jhack
https://it.wikipedia.org/wiki/Pipeline_dati

anche qui spiega qualcosina sul funzionamento

Re: [cpu] lato programmatore , cosa è visibile?

Inviato: venerdì 31 luglio 2015, 8:15
da toni00c
Claudio_F [url=http://forum.ubuntu-it.org/viewtopic.php?p=4786394#p4786394][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
la mia cpu ha lo stesso set di istruzioni delle altre generazioni di cpu intel? es di un P4 ?
Vi è un set di istruzioni/registri base comune e retrocompatibile fino alle CPU 8088 a 8/16 bit, più istruzioni e registri che di generazione in generazione hanno ampliato questo set base (ma anche modalità di indirizzamento e funzionamento, ad esempio il protected mode introdotto con l'80186).
infatti era questa la mia "preoccupazione" ; probabilmente è stata introdotta qualche istruzione in più ottimizzata per l'architettura nuova

Re: CPU lato programmatore: cosa è visibile?

Inviato: venerdì 31 luglio 2015, 9:10
da Jhack
ne vengono introdotte ogni 2x3 di istruzioni via via che escono nuove cpu.

per esempio con haswell sono state introdotte le avx2. le prime avx invece con sandy bridge.

https://it.wikipedia.org/wiki/Advanced_Vector_Extension

Re: CPU lato programmatore: cosa è visibile?

Inviato: venerdì 31 luglio 2015, 12:56
da Toshio
toni00c ha scritto:ho un intel I3m 350 : non riesco a trovare dettagli nel web
Ciao toni00c
Niente dettagli? :D Da questa pagina http://ark.intel.com/it/products/43529/Intel-Core-i3-350M-Processor-3M-Cache-2_26-GHz Vai al link del Datasheet. In quella pagina sotto Previous generation Intel® Core™ processor family", socket lga1156 , Intel ® CoreTM i5-600, i3-500 DesktopProcessor Series, Intel ® Pentium ®Desktop Processor 6000 Series Ci sono i pdf, belli corposi :sisi: .