{"id":87136,"date":"2020-07-04T01:42:40","date_gmt":"2020-07-03T23:42:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy"},"modified":"2020-07-04T01:42:40","modified_gmt":"2020-07-03T23:42:40","slug":"simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","title":{"rendered":"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nella seconda parte dell'articolo sui simulatori di sistemi informatici, continuer\u00f2 a parlare in modo semplice dei simulatori informatici, in particolare della simulazione su piattaforma completa, con cui gli utenti comuni si imbattano pi\u00f9 spesso, nonch\u00e9 del modello a tacchi e delle tracce, che sono pi\u00f9 comuni nei circoli degli sviluppatori. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce\" src=\"\/wp-content\/uploads\/2020\/07\/dbc7767cd563ce01b6145ac2e872d4c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">prima parte<\/a><\/noindex> Ho parlato di cosa siano i simulatori in generale, e dei livelli di modellazione. Ora, sulla base di queste conoscenze, propongo di immergerci un po' pi\u00f9 a fondo e discutere della simulazione su piattaforma completa, di come costruire le tracce, cosa fare con esse e della microarchitettura a tacchi. <\/p>\n<h3>Il simulatore su piattaforma completa (full platform simulator), o 'Uno nel campo non \u00e8 un guerriero' <\/h3>\n<p>\nSe \u00e8 necessario esplorare il funzionamento di un singolo dispositivo specifico, come una scheda di rete, o scrivere un firmware o un driver per quel dispositivo, \u00e8 possibile modellare separatamente tale dispositivo. Tuttavia, utilizzarlo scollegato dal resto dell'infrastruttura non \u00e8 molto comodo. Per avviare il driver corrispondente sar\u00e0 necessario un processore centrale, memoria, accesso al bus per la trasmissione dei dati e altro. Inoltre, per far funzionare il driver \u00e8 necessaria un sistema operativo (OS) e uno stack di rete. Inoltre, potrebbe essere necessario un generatore di pacchetti separato e un server di ricezione delle risposte. <\/p>\n<p>Il simulatore su piattaforma completa crea un ambiente per eseguire l'intero stack software, che include tutto, dal BIOS e dal bootloader fino al sistema operativo stesso e ai suoi vari sottosistemi, come lo stesso stack di rete, i driver e le applicazioni di livello utente. A tal fine, sono modelli software della maggior parte dei dispositivi del computer: processore e memoria, disco, dispositivi di input\/output (tastiera, mouse, display), nonch\u00e9 la gi\u00e0 citata scheda di rete. <\/p>\n<p>Di seguito \u00e8 riportato il diagramma a blocchi del chipset x58 di Intel. In un simulatore computerizzato a piena piattaforma basato su questo chipset, \u00e8 necessaria l'implementazione della maggior parte dei dispositivi elencati, compresi quelli all'interno dell'IOH (Input\/Output Hub) e dell'ICH (Input\/Output Controller Hub), che non sono disegnati in dettaglio nel diagramma a blocchi. Tuttavia, come dimostra l'esperienza, ci sono molti dispositivi che non vengono utilizzati dal software che intendiamo eseguire. Non \u00e8 necessario creare modelli di tali dispositivi. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce\" src=\"\/wp-content\/uploads\/2020\/07\/3f62e2e7792ce06026c767146fed9912.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSpesso i simulatori a piena piattaforma vengono implementati a livello di istruzioni del processore (ISA, vedi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/504086\/\">l'articolo precedente<\/a><\/noindex>). Questo consente di creare relativamente rapidamente e a basso costo il simulatore stesso. Il livello ISA \u00e8 inoltre vantaggioso perch\u00e9 rimane pi\u00f9 o meno costante, a differenza del livello API\/ABI che cambia pi\u00f9 frequentemente. Inoltre, un'implementazione a livello di istruzioni consente di eseguire il cosiddetto software binario non modificato, cio\u00e8 eseguire codice gi\u00e0 compilato senza alcuna modifica, proprio come viene utilizzato sull'hardware reale. In altre parole, \u00e8 possibile creare una copia ( <\/p>\n<h3>Le prestazioni dei simulatori <\/h3>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce\" src=\"\/wp-content\/uploads\/2020\/07\/870ef9d5e311044059ace05571d607ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome accennato poc'anzi, l'intero processo di simulazione dell'intero sistema, cio\u00e8 di tutti i suoi dispositivi, \u00e8 piuttosto lento. Se poi si implementa tutto a un livello davvero dettagliato, ad esempio a livello microarchitetturale o logico, l'esecuzione diventa estremamente lenta. Tuttavia, il livello di istruzioni rappresenta una scelta adeguata e consente a sistemi operativi e programmi di funzionare a velocit\u00e0 sufficienti per un'interazione confortevole da parte dell'utente. <\/p>\n<p>Qui \u00e8 pertinente affrontare il tema delle prestazioni dei simulatori. Solitamente vengono misurate in IPS (istruzioni al secondo), pi\u00f9 precisamente in MIPS (milioni di IPS), cio\u00e8 nel numero di istruzioni del processore eseguite dal simulatore in un secondo. Allo stesso tempo, la velocit\u00e0 di simulazione dipende anche dalle prestazioni del sistema su cui avviene la simulazione. Pertanto, forse \u00e8 pi\u00f9 corretto parlare di \u00abriduzione della velocit\u00e0\u00bb (slowdown) del simulatore rispetto al sistema originale. <\/p>\n<p>I simulator full-platform pi\u00f9 comuni disponibili sul mercato, come QEMU, VirtualBox o VmWare Workstation, offrono buone prestazioni. Per l'utente potrebbe anche non essere evidente che il lavoro avviene in un simulatore. Questo accade grazie alla speciale funzionalit\u00e0 di virtualizzazione implementata nei processori, agli algoritmi di traduzione binaria e ad altri aspetti interessanti. Questa \u00e8 un'argomento per un articolo separato, ma in breve, la virtualizzazione \u00e8 la capacit\u00e0 hardware dei moderni processori che consente ai simulatori di non simulare le istruzioni, ma di eseguirle direttamente su un processore reale, se ovviamente le architetture del simulatore e del processore sono simili. La traduzione binaria consiste nella conversione del codice di macchina guest in codice di macchina host e nella successiva esecuzione su un processore reale. Di conseguenza, la simulazione \u00e8 solo leggermente pi\u00f9 lenta, circa 5-10 volte, e spesso funziona alla stessa velocit\u00e0 di un sistema reale. Anche se molti fattori influiscono su questo. Ad esempio, se desideriamo simulare un sistema con diverse decine di processori, la velocit\u00e0 diminuir\u00e0 immediatamente di tale fattore. D'altro canto, simulatori come Simics nelle ultime versioni supportano l'hardware host multiprocessore e parallelizzano efficacemente i core simulati sui core del processore reale. <\/p>\n<p>Parlando della velocit\u00e0 della simulazione microarchitetturale, questa \u00e8 generalmente pi\u00f9 lenta di diversi ordini di grandezza, circa 1000-10000 volte, rispetto all'esecuzione su un computer normale senza simulazione. Le implementazioni a livello di elementi logici sono ancora pi\u00f9 lente di diversi ordini di grandezza. Pertanto, come emulatore a questo livello, si utilizzano le FPGA, il che consente di aumentare notevolmente le prestazioni. <\/p>\n<p>Il grafico sottostante mostra la dipendenza approssimativa della velocit\u00e0 di simulazione dalla complessit\u00e0 del modello. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce\" src=\"\/wp-content\/uploads\/2020\/07\/72189338a6a0c78554118f180a297813.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Simulazione no. di cicli <\/h3>\n<p>\nNonostante la bassa velocit\u00e0 di esecuzione, i simulatori microarchitettonici sono abbastanza diffusi. La modellazione dei blocchi interni del processore \u00e8 necessaria per simulare con precisione il tempo di esecuzione di ogni istruzione. Qui potrebbe sorgere un malinteso: perch\u00e9 non programmare semplicemente il tempo di esecuzione per ogni istruzione? Ma un tale simulatore sarebbe molto impreciso, poich\u00e9 il tempo di esecuzione della stessa istruzione pu\u00f2 variare da chiamata a chiamata. <\/p>\n<p>Un esempio semplice \u00e8 l'istruzione di accesso alla memoria. Se la cella di memoria richiesta \u00e8 disponibile nella cache, il tempo di esecuzione sar\u00e0 minimo. Se l'informazione non \u00e8 presente nella cache (\"cache miss\"), ci\u00f2 aumenter\u00e0 notevolmente il tempo di esecuzione dell'istruzione. Pertanto, \u00e8 necessaria una modellazione della cache per una simulazione precisa. Tuttavia, non ci si limita solo al modello della cache. Il processore non aspetter\u00e0 semplicemente di ricevere i dati dalla memoria se non sono presenti nella cache. Invece, inizier\u00e0 a eseguire le istruzioni successive, selezionando quelle che non dipendono dal risultato della lettura dalla memoria. Questa \u00e8 chiamata esecuzione \"fuori ordine\" (OOO, out of order execution), necessaria per minimizzare il tempo di inattivit\u00e0 del processore. Tenere conto di tutto questo nel calcolo del tempo di esecuzione delle istruzioni richiede la modellazione dei blocchi corrispondenti del processore. Tra queste istruzioni, eseguite mentre si attende il risultato della lettura dalla memoria, pu\u00f2 comparire un'operazione di salto condizionale. Se il risultato della condizione non \u00e8 noto al momento, il processore non interrompe l'esecuzione, ma fa un \"supposizione\", esegue il salto corrispondente e continua a eseguire preventivamente le istruzioni dal punto del salto. Questo blocco, chiamato branch predictor, deve essere implementato anche nel simulatore microarchitettonico. <\/p>\n<p>L'immagine sottostante mostra i principali blocchi del processore; non \u00e8 necessario conoscerla, \u00e8 fornita solo per illustrare la complessit\u00e0 dell'implementazione microarchitettonica. <\/p>\n<p><img decoding=\"async\" alt=\"Simulatori di sistemi informatici: il simulatore multipiattaforma ben noto e simulatori meno conosciuti come potak e tracce\" src=\"\/wp-content\/uploads\/2020\/07\/1248d47017346153a233d4c895635569.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl funzionamento di tutti questi blocchi in un processore reale \u00e8 sincronizzato attraverso segnali di clock speciali, e lo stesso avviene nel modello. Un simulatore di microarchitettura di questo tipo \u00e8 chiamato simulatore a ciclo (cycle accurate). Il suo scopo principale \u00e8 prevedere con precisione le prestazioni del processore in fase di sviluppo e\/o calcolare il tempo di esecuzione di un programma specifico, ad esempio, di un benchmark. Se i valori sono inferiori a quelli necessari, sar\u00e0 necessario rivedere gli algoritmi e i blocchi del processore o ottimizzare il programma. <\/p>\n<p>Come mostrato sopra, la simulazione a ciclo \u00e8 molto lenta, pertanto viene utilizzata solo per l'analisi di specifici aspetti del funzionamento del programma, dove \u00e8 necessario conoscere la reale velocit\u00e0 di esecuzione e valutare le prestazioni future del dispositivo, il cui prototipo \u00e8 in fase di simulazione. <\/p>\n<p>Per simulare il restante tempo di esecuzione del programma viene utilizzato un simulatore funzionale. Come avviene realmente questo utilizzo combinato? Inizialmente si avvia il simulatore funzionale, sul quale viene caricato il sistema operativo e tutto il necessario per avviare il programma in analisi. Infatti, non ci interessa n\u00e9 il sistema operativo n\u00e9 le fasi iniziali di avvio del programma, la sua configurazione e altro. Tuttavia, non possiamo neppure saltare queste parti e passare direttamente all'esecuzione del programma a met\u00e0. Pertanto, tutte queste fasi preliminari vengono elaborate sul simulatore funzionale. Dopo che il programma \u00e8 stato eseguito fino al momento di nostro interesse, ci sono due opzioni. Possiamo sostituire il modello con uno a ciclo e continuare l'esecuzione. La modalit\u00e0 di simulazione in cui viene utilizzato il codice eseguibile (ovvero i normali file di programma compilati) \u00e8 chiamata simulazione in esecuzione (execution driven simulation). Questa \u00e8 la forma di simulazione pi\u00f9 comune. \u00c8 possibile anche un altro approccio: la simulazione basata su tracce (trace driven simulation). <\/p>\n<h3>Simulazione basata su tracce <\/h3>\n<p>\nConsiste in due fasi. Utilizzando un simulatore funzionale o un sistema reale, le azioni del programma vengono registrate e scritte in un file di log. Questo log \u00e8 chiamato traccia (trace). A seconda di ci\u00f2 che viene analizzato, la traccia pu\u00f2 includere istruzioni eseguibili, indirizzi di memoria, numeri di porta, informazioni sulle interruzioni. <\/p>\n<p>Il passo successivo \u00e8 la \"riproduzione\" della traccia, quando il simulatore a ciclo di clock legge la traccia ed esegue tutte le istruzioni in essa registrate. Alla fine otteniamo il tempo di esecuzione di questo pezzo di programma, cos\u00ec come varie caratteristiche di questo processo, come la percentuale di colpi nella cache. <\/p>\n<p>Una caratteristica importante del lavoro con le tracce \u00e8 la determinazione, il che significa che, eseguendo la simulazione nel modo descritto sopra, riproduciamo la stessa sequenza di azioni ogni volta. Questo ci consente, modificando i parametri del modello (dimensioni della cache, dei buffer e delle code) e utilizzando diversi algoritmi interni o configurandoli, di esplorare come un determinato parametro influisce sulle prestazioni del sistema e quale opzione offre i risultati migliori. Tutto questo pu\u00f2 essere fatto con il modello prototipo del dispositivo prima della creazione del prototipo hardware reale. <\/p>\n<p>La complessit\u00e0 di questo approccio risiede nella necessit\u00e0 di un'esecuzione preliminare dell'applicazione e nella raccolta della traccia, nonch\u00e9 nelle enormi dimensioni del file di traccia. Tra i vantaggi c'\u00e8 il fatto che \u00e8 sufficiente modellare solo la parte del dispositivo o della piattaforma di interesse, mentre la simulazione di esecuzione richiede normalmente il modello completo. <\/p>\n<p>Quindi, in questo articolo abbiamo esaminato le caratteristiche della simulazione a piattaforma completa, abbiamo parlato della velocit\u00e0 delle implementazioni a diversi livelli, simulazione a ciclo di clock e tracce. Nel prossimo articolo descriver\u00f2 i principali scenari di utilizzo dei simulatori, sia per scopi personali che dal punto di vista dello sviluppo nelle grandi aziende.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/auriga\/blog\/509294\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0442\u0440\u0430\u0441\u0441\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87137,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0438 \u0442\u0440\u0430\u0441\u0441\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-03T23:42:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-03T23:42:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Simulatori di sistemi informatici: il ben noto simulatore a piattaforma completa e i simulatori a ciclo di clock e di traccia sconosciuti a molti | ProHoster","description":"Nella seconda parte dell'articolo sui simulatori di sistemi informatici continuer\u00f2 a parlare in modo semplice e chiaro sui simulatori informatici, in particolare sulla simulazione a piattaforma completa, con cui ci si imbatte pi\u00f9 frequentemente.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0438 \u0442\u0440\u0430\u0441\u0441\u044b | ProHoster","og:description":"\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043f\u043e\u043b\u043d\u043e\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/simulyatory-kompyuternyh-sistem-vsem-znakomyj-polnoplatformennyj-simulyator-i-nikomu-neizvestnye-potaktovyj-i-trassy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-03T23:42:40+00:00","article:modified_time":"2020-07-03T23:42:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87136","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:57:25","updated":"2022-09-27 17:57:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/87136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=87136"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/87136\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/87137"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=87136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=87136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=87136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}