Dove e quando viene eseguito il firmware di un dispositivo?

3

Il firmware di un dispositivo viene eseguito nel dispositivo o nel controller del dispositivo?

Quando viene eseguito il firmware di un dispositivo? Funziona se e solo se la cpu invia comandi e / o dati al controller del dispositivo?

Ad esempio,

  • per un disco rigido e il suo controller e firmware, il suo firmware funziona nel suo controller e se e solo se la CPU legge / scrive sul disco rigido?

  • per un adattatore wireless e il suo firmware, funziona il firmware se e solo se il computer è connesso o connesso a Internet senza fili?

  • per BIOS, è il firmware per il sistema informatico. Funziona nella CPU? Funziona ancora dopo l'avvio completo del sistema operativo?

Grazie.

Non penso che la domanda collegata riguardi il firmware.

    
posta Tim 21.03.2015 - 20:51
fonte

2 risposte

6

Does firmware of a device run in the device or the device's controller?

When does firmware of a device run? Does it run if and only if the cpu sends commands and/or data to the device's controller?

Dipende in modo entito dal dispositivo e non è né / né.

Ad esempio, la tua unità disco SATA di varietà da giardino ha uno o più processori a sé stanti e gran parte del firmware dell'unità disco viene eseguita su quelli. Tra le altre cose, i processori del disco rigido controllano costantemente il disco per eventuali errori e, quando richiesto, segnalano alle CPU host. Questa tecnologia si chiama Self-Monitoring, Analysis and Reporting Technology ( SMART ).

I dispositivi possono anche avere Option ROM che contengono il codice di supporto per il dispositivo che può essere eseguito dalle CPU dell'host.

For BIOS, is it firmware for the bare computer system. Does it run in the cpu? Does it still run after the OS fully started?

Sì, funziona sulla CPU del computer, ma ho l'impressione che pensi che funzioni in un contesto di esecuzione separato. In realtà è solo una libreria di codice che il sistema operativo può chiamare se necessario per eseguire una sorta di IO di basso livello (BIOS sta per sistema di input / output di base). Il sistema operativo può o non può ignorare il BIOS se ha qualche libreria alternativa di codice per lo stesso compito.

Il firmware è in realtà solo un tipo di archiviazione. Può contenere codice per l'utilizzo da parte di una CPU host, può contenere codice per i controller di periferica integrati o può contenere solo dati.

    
risposta data 21.03.2015 - 22:50
fonte
1

Penso che tu stia trattando il firmware separatamente dal software. Il firmware è diverso dal software applicativo memorizzato e viene sempre eseguito una volta acceso il dispositivo. Ecco perché si chiama ware (ditta). Ora per la tua domanda sul funzionamento del firmware della dose. sì, ogni firmware verrà eseguito sul suo controller dedicato.

For a hard drive and its controller and firmware, does its firmware run in its controller and if and only if the cpu reads/writes to the hard drive?

SÌ, verrà eseguito sul proprio controller.Ma il firmware verrà eseguito continuamente fino all'accensione. Potrebbe essere in attesa in un ciclo infinito finché non riceve il comando dalla CPU.

For a wireless adapter and its firmware, does its firmware run if and only if the computer is connecting or connected to the wireless internet?

Ancora una volta come detto sopra il firmware verrà eseguito non appena il controller è acceso. Può fare alcune determinate azioni specificate sugli eventi ricevuti.

for BIOS, is it firmware for the bare computer system. Does it run in the cpu? Does it still run after the OS fully started?

In caso di BIOS il firmware è memorizzato su BIOS ma verrà eseguito sulla CPU. Un piccolo firmware chiamato come bootstrap loader caricherà il firmware del BIOS nella RAM e la CPU inizierà l'esecuzione fino al caricamento del sistema operativo.

    
risposta data 25.04.2016 - 16:54
fonte

Leggi altre domande sui tag