O que significa a frase "O software pode substituir o hardware"?

90

Estudando o curso para iniciantes sobre interface de hardware / software e sistemas operacionais, muitas vezes surgem o tópico de se seria melhor substituir algumas peças de hardware por software e vice-versa. Não consigo fazer a conexão.

Gabriele Scarlatti
fonte
7
As CPUs de uso geral possuem conjuntos de instruções que lhes permitem executar operações lógicas arbitrárias. O software é compilado para um fluxo de comandos executados pelo conjunto de instruções da CPU. Este é um exemplo de como fazer coisas "em software". Por outro lado, um algoritmo de software pode ser executado diretamente "em hardware" por matrizes especializadas criadas de portas lógicas em silício.
Quimera
12
A "conexão" é que o software e o hardware executam, por diferentes meios, instruções lógicas.
Quimera
14
Significa exatamente o que diz. Software e hardware fazem coisas. Às vezes, você pode fazer coisas com software ou hardware, para escolher um. Então você se pergunta se seria melhor fazê-lo com o outro.
user253751
4
Obviamente, você não pode substituir todo o hardware por software - não faz sentido tentar criar um monitor, mouse ou teclado. (A menos que eles são os virtuais)
user253751
2
Considere que usamos Sistemas Operacionais (software) porque: 1) Escrever um SO diretamente no hardware exigiria um chip incrivelmente complexo, que custaria muito 2) O hardware não pode ser facilmente atualizado; portanto, o SO do hardware não recebe atualizações. Se um problema de segurança for encontrado, ele não poderá ser corrigido etc. etc.
Bakuriu

Respostas:

176

Eu acho que a conexão fundamental que falta outras respostas é a seguinte:

Dado um computador de uso geral (por exemplo, uma CPU), pode-se programá-lo para executar praticamente qualquer cálculo que definimos. No entanto, o hardware especializado pode ter um desempenho melhor ou não fornecer nenhum valor.

(esta resposta é focada no processamento da área de trabalho e usa exemplos desse domínio)

Substituindo software por hardware

Se você tem idade suficiente para se lembrar de jogos para PC em meados da década de 90, provavelmente se lembra de jogos FPS como o Quake . Começou sendo "renderizado por software", significando que a CPU executou os cálculos necessários para renderizar os gráficos. Enquanto isso, a CPU também precisava executar processamento de entrada, processamento de áudio, processamento de IA, etc. Isso era muito desgastante para os recursos da CPU. Além disso, o processamento gráfico não é adequado a uma CPU convencional (na época ou agora). Tende a ser uma tarefa muito altamente paralela, exigindo muito mais núcleos do que até uma CPU moderna de ponta (8).

Mudamos o processamento gráfico do software para o hardware: entre no 3dfx Voodoo e na Nvidia TNT (agora GeForce ). Essas eram placas gráficas especializadas que descarregavam o processamento da CPU para a GPU. Isso não apenas espalhou a carga de trabalho, fornecendo mais recursos de computação para a mesma quantidade de trabalho, como também as placas gráficas eram um hardware especializado que podia renderizar gráficos 3D muito mais rápido e com mais recursos do que a CPU.

Avanço rápido para a era moderna, e gráficos sem CPU são necessários na área de trabalho. Mesmo o sistema operacional não pode funcionar sem uma GPU. É tão importante que as CPUs realmente integrem as GPUs agora. 1

Substituindo Hardware por Software

Quando o DVD era novinho em folha, você podia instalar uma unidade de DVD no seu computador desktop. No entanto, as CPUs do dia não eram poderosas o suficiente para decodificar os fluxos de áudio e vídeo em DVD sem gaguejar. Inicialmente, era necessária uma placa PCI especializada para executar a decodificação. Era um hardware especializado, criado especificamente para decodificar o formato de DVD e nada mais. Muito parecido com os gráficos 3D, ele não apenas forneceu mais recursos de computação, como foi personalizado para a tarefa, facilitando a reprodução de DVD.

À medida que as CPUs se tornaram muito mais poderosas, tornou-se possível decodificar DVDs "em software", significando "em um computador de uso geral". Mesmo com um processador menos eficiente, ele tinha otimizações de velocidade e pipeline brutas suficientes para fazer com que a reprodução de DVD funcionasse de acordo com as expectativas dos usuários.

Agora, temos CPUs centenas ou até milhares de vezes mais poderosas 2 do que quando os DVDs foram lançados. Quando o Blu-ray apareceu, nunca precisávamos de hardware especializado, porque o hardware de uso geral era mais do que poderoso o suficiente para lidar com a tarefa.

Fazendo os dois

As modernas CPUs Intel têm instruções especializadas para codificação e decodificação H.264 . Isso faz parte de uma tendência em que as CPUs de uso geral estão ganhando funções especializadas, todas no mesmo chip. Não precisamos de uma placa PCI Express separada para decodificar o H.264 com eficiência, como nos DVDs desde o início, porque as CPUs contêm circuitos semelhantes.


1 GPU refere-se a um processador projetado especificamente para executar cálculos gráficos. As placas gráficas 2D mais antigas não eram GPUs: eram simplesmente buffers de quadros com DACs para conversar com o monitor. A diferença é que as GPUs contêm processadores especializados que se destacam em certos tipos de cálculos e, com o passar do tempo, agora são programáveis ​​(shaders). O hardware gráfico sempre continha os circuitos especializados necessários para converter os dados em um buffer de quadros em um formato que pode ser transmitido por um cabo (VGA, DVI, HDMI, DisplayPort) e entendido por um monitor. Isso é irrelevante para a discussão de descarregar os cálculos para hardware especializado.

2 O DVD-Video foi lançado em 1997, numa época em que o Pentium 2 também era recém-lançado. Era uma época em que as CPUs aumentavam rapidamente de potência: era possível considerar um novo computador P2 com um decodificador de DVD ou instalar um em um P1 um pouco mais antigo. Compare isso com o 6 Core i7 da geração moderna, usando a lista de MIPS da Wikipedia , e um CPU moderno está entre 590 e 1.690 vezes mais rápido. Isso se deve em parte à velocidade do clock, mas também à mudança para vários núcleos como padrão, bem como às CPUs modernas que fazem muito mais trabalho por núcleo por clock. Também relevante é que, à medida que a tecnologia avança, a Intel (que domina o mercado de desktops e servidores x86) adiciona instruções especializadas para ajudar a acelerar as operações que os usuários de desktops desejam realizar (por exemplo, decodificação de vídeo).


fonte
As placas gráficas 2D mais antigas não eram GPUs no sentido atual, mas o hardware especializado para funções gráficas estava muito presente. Um blitter pode copiar rapidamente grandes quantidades de memória de um local para outro, possivelmente usando alguma operação lógica simples para combiná-la com os dados no local de destino. Isso estava presente em cartões 2D típicos da era VGA / SVGA. Outros computadores possuíam outro hardware 2D especializado, como sprites de hardware em computadores domésticos e consoles de jogos dos anos 80 e 90.
Sebastian Redl
127

Estou surpreso que ninguém tenha mencionado ainda um dos exemplos mais flagrantes: rádio definido por software.

Se você pegasse um smartphone atual de volta no tempo cerca de 50 anos e o mostrasse a um engenheiro competente em meados da década de 1960, ele seria capaz de compreender a maior parte dele. Que um supercomputador pode ser reduzido a algo que cabe no seu bolso? Verifica. Que você pode ter o equivalente a uma televisão em cores de altíssima qualidade no pacote? Verifica. Que é muito mais rápido, tem muito mais armazenamento, etc., do que os computadores da época? Verifica. Esse software foi escrito que pode executar funções tão complexas? Verifica.

Mas diga ao engenheiro competente que, a propósito, este pacote contém um conjunto de transmissores e receptores sensíveis extremamente eficientes: um transceptor digital de espectro que pode transmitir e receber simultaneamente em vários canais, comunicando-se com uma torre de infraestrutura que pode estar a quilômetros de distância ; outro transceptor digital que comunica dados de alta velocidade com uma estação base em algum lugar do edifício; outro transceptor digital que se comunica com dispositivos vestíveis de baixa potência; e outro receptor que capta um sinal fraco de um satélite em órbita intermediária ... ele chamaria você de mentiroso.

Ele o chamaria de mentiroso porque sabe que receptores de alta sensibilidade não podem ser construídos sem uma infinidade de circuitos sintonizados, que filtram as estações vizinhas e selecionam o sinal de interesse. E que tais circuitos requerem peças com tamanhos definidos mais pela física do que pela tecnologia, como capacitores e indutores.

Você teria que explicar que em um rádio moderno, a maior parte disso é feita em software. Depois que o sinal recebido da antena é convertido para uma freqüência intermediária e amplificado um pouco, é então amostrado por um conversor analógico-digital; e o processamento subsequente ocorre em um processador de sinal digital. Todo esse ajuste, essa filtragem, que costumava exigir toneladas de hardware em um rádio high-end da velha escola, podem ser descritos na forma de equações matemáticas; e se isso puder ser feito, essas equações podem ser executadas em tempo real pelo DSP.

Acho que esse é um dos exemplos mais flagrantes de substituição de hardware por software. Como resultado, carregamos smartphones nos bolsos que, mesmo para um engenheiro competente da década de 1960, seriam semelhantes a um truque de mágica.

Comparada a isso, a ideia de que a lógica simples de um abridor de porta de garagem, uma balança de banheiro eletrônica ou um controle remoto de TV hoje em dia é implementada usando um microcontrolador e software de uso geral em vez de hardware personalizado parece quase trivial (e certamente seria muito mais compreensível para o hipotético engenheiro da década de 1960 do que o rádio definido por software.)

Viktor Toth
fonte
16
Resposta subestimada é subestimada. Embora eu tenha uma pequena formação em eletrônica e tenha construído alguns dispositivos de rádio, nunca soube que o ajuste de sinal era feito por software atualmente. Minha mente está enlouquecendo tentando imaginar exatamente como isso é feito.
Machado
5
@ Machado Se você fizer algum projeto eletrônico sério, rapidamente perceberá que são basicamente todas as equações matemáticas. A eletrônica física pode adicionar, subtrair, dividir, multiplicar, diferenciar, integrar etc. É apenas que, em vez de um capacitor físico para filtrar todo o ruído de baixa frequência, é feito em código. O sinal físico é "carregado" no software através de um pedaço especializado de hardware chamado conversor analógico para digital.
perfil completo de CHendrix
6
@Machado dspguide.com/pdfbook.htm Este livro tem muitos exemplos de pseudocódigo. É uma jóia.
brian_o
4
@ Machado Não se esqueça de pegar um rádio definido por software (por cerca de US $ 20) e começar a jogar com ele !
Michael Hampton
5
Só não diga ao cara da década de 1960 que você usa principalmente toda essa energia e recursos do computador; é para postar fotos de sua comida, Fluxo de gato vídeos e Pokémons caça ...
Baard Kopperud
42

Considere este circuito:

insira a descrição da imagem aqui

É um flip flop, também conhecido como multivibrador biestável. Pode ser substituído por este código:

static bool toggle;

if (toggle == true) 
{
    lblTop.BackColor = Color.Black;
    lblBottom.back Color = Color.Red;
}
else
{
    lblTop.BackColor = Color.Red;
    lblBottom.BackColor = Color.Black;
}
toggle = !toggle;
Robert Harvey
fonte
11
muito obrigado pela sua resposta e por corrigir a postagem! Você tem algum livro a sugerir para aprender um pouco mais sobre isso? Gabriele
Gabriele Scarlatti
11
verifique Código: O idioma oculto do hardware e software do computador . Ele cobre muito bem a transição de hardware para Sofware
Igor Milla
4
@igormilla Posso garantir sua sugestão. Atualmente, estou lendo o livro e é de longe o melhor livro sobre arquitetura de computadores que já li. Ele faz um excelente trabalho de explicar de forma clara e concisa cada conceito, sem colocar muito jargão técnico na garganta. Eu recomendo para quem quer uma compreensão mais profunda da relação entre hardware e software.
Christian Dean
11
@igormilla, bom achado! Felizmente para mim, está disponível como parte do Safari Books Online , para que eu possa começar a ler agora. :) (Lendo meu comentário novamente antes de postar: soa como um anúncio, mas sou apenas um cliente feliz. Não encontrei nenhum livro técnico recomendado no ano passado que não pudesse procurar imediatamente nem ler na íntegra online.)
Caractere curinga
29

Significa exatamente o que parece.

Um exemplo particularmente famoso é o Disk II Drive, projetado por Steve Wozniak para o Apple II:

A principal inovação foi tornar o controlador compacto usando software, enquanto os concorrentes dependiam de hardware. Como lembra Bill Fernandez, então técnico em eletrônica da Apple, "a principal vantagem do projeto [de Wozniak] [era] que ele usava apenas seis chips em vez dos 60 a 70 habituais.

Outro exemplo com o qual você provavelmente está mais familiarizado: Emuladores. Eles substituem conjuntos inteiros de hardware (e software) inteiramente no software. CPUs, vários chips de controle e até dispositivos de armazenamento.

Agora você não pode eliminar todo o hardware; eventualmente, você precisa de algo para executar o software. Mas, em geral, qualquer tarefa lógica que você pode implementar no hardware também pode ser implementada no software (o desempenho pode não ser idêntico, pode ser mais lento, mais rápido ou em situações diferentes, dependendo do hardware subjacente e da implementação).

8bittree
fonte
Então, a única coisa que você sempre precisa é de pelo menos um processador?
Gabriele Scarlatti
3
@GabrieleScarlatti Você precisará de um pouco mais, especificamente, os dispositivos de E / S precisam ser hardware (mas os controladores podem ser software!), E a memória precisa ser hardware. As conexões entre eles precisam ser de hardware, mas a lógica necessária é limitada. Fios simples se você tiver pinos suficientes, registradores de mudança um pouco menos simples ou dispositivos similares se você não tiver pinos suficientes.
precisa saber é o seguinte
Ahaha sim, eu fui um pouco aproximada demais, você pode sugerir um bom livro para aprender mais sobre isso? Muito obrigado pelas respostas!
Gabriele Scarlatti
11
A melhor resposta até agora neste tópico são "emuladores".
Machado
11
Não posso falar sobre esse assunto sem mencionar o Woz!
James R.
11

Outro campo em que isso é verdade são os sintetizadores.

Os primeiros sintetizadores eram hardware 100% analógico que gerava formas de onda diretamente e depois as modificava por meio de circuitos (filtros, amplificadores, etc.). Era possível sintetizar digitalmente o som, mas era necessário recursos de computação que as pessoas comuns não podiam pagar (um mainframe real e um hardware personalizado de conversor digital-analógico).

À medida que a fabricação de chips melhorava, os sintetizadores passavam de chips analógicos puros para sintetizadores controlados por sinais digitais, mas ainda geravam sinais analógicos, e depois para a síntese digital pura (reprodução de amostra, síntese FM , síntese aditiva verdadeira e assim por diante).

Atualmente, os processadores são baratos o suficiente e rápidos o suficiente para permitir que programadores criem versões para computador de sintetizadores analógicos clássicos que duplicam exatamente o comportamento dos circuitos originais simulando-os em tempo real - na verdade, telefones e tablets agora são capazes de rodar rápido o suficiente para execute essas recriações; o Korg iMS-20 é um exemplo.

Sintetizadores clássicos e novos estão disponíveis como plug-ins VST ou AU para programas de áudio digital, como Ableton Live, Logic ou Cubase, e fornecem acesso a sintetizadores a pessoas que, de outra forma, não teriam espaço ou dinheiro para poderem usar eles.

Edit: Neste ponto, também devo mencionar o VCVRack , que simula a síntese modular analógica em tempo real. Um passo à frente em tempos de renderização de várias horas por alguns segundos de música.

Joe McMahon
fonte
11
Um Atari 2600 de 1977 possui potência de CPU suficiente para gerar música de quatro vozes com uma faixa de cinco oitavas, mesmo deixando mais de 39% do tempo de CPU disponível para geração de exibição. As tabelas de pesquisa necessárias ocupariam mais da metade de um cartucho 4K (cerca de 2300 bytes), mas era possível que os cartuchos fossem maiores que 4K. Provavelmente não se poderia ter uma jogabilidade terrivelmente complicada enquanto tocava música, mas uma tela de título bastante colorida com um texto de rolagem seria uma possibilidade definitiva >:*3.
Supercat 9/16
Sim, eu deixei de fora cerca de 10? 20? anos de desenvolvimento para que minha resposta não se transformasse em romance. Muito bons pontos! Eu costumava ter algo chamado (Musicworks) [ thinkclassic.org/viewtopic.php?id=550] no meu Mac 512K que mal suportava quatro vozes.
Joe McMahon
O 68000 leva mais ciclos para executar cada instrução que o 6502, mas com a codificação adequada, uma síntese da tabela de ondas com quatro vozes deve ser bastante eficiente. Eu estimaria cerca de 240 ciclos / amostra com escala de amplitude usando uma tabela de 256 bytes para cada configuração de volume; eliminar a escala de amplitude reduziria esse tempo em 56 ciclos / amostra.
Supercat 9/12
7

Antigamente, o corte era bastante claro. A maioria das coisas que precisavam de execução rápida tiveram que ser implementadas em hardware. Tomemos, por exemplo, um multivibrador que gera uma frequência. Há pouco tempo, você precisava de alguns transistores, capacitores e, eventualmente, um quartzo para gerar uma frequência (fixa). Agora, existem microcontroladores baratos que custam apenas alguns centavos. Como são muito rápidos, você pode usá-los facilmente para criar um multivibrador. Além disso, você pode facilmente controlar via software qual frequência gerar onde antes era necessário soldar hardware diferente. Porém, passando por uma certa frequência (mas agora bastante alta), você ainda precisará de hardware puro. Como vê, existe uma linha entre os dois, mas a parte que você pode resolver com o software está crescendo (exponencialmente).

Editar Na verdade, “O software pode substituir o hardware” não está realmente correto. É apenas o fato de que o hardware ficou tão poderoso que você pode usá-lo para executar software que simula hardware. Portanto, em vez de alguns transistores simples, mas soldados estaticamente, você usa milhões de transistores que entendem software. Portanto, o termo deve ser "Hardware agora pode entender software".

qwerty_so
fonte
Para ser justo, porém, quase todos os microcontroladores possuem (pelo menos um) módulo PWM de uso geral, implementado em hardware. Portanto, raramente é feito para bitbang uma saída de frequência, usando o software em execução na CPU.
Lyndon White
@LyndonWhite Um PWM não é um multivibrador geral. Ele modulou a largura do pulso, que é um subconjunto de um gerador de frequência.
Qwerty_so
11
Na verdade, isso é verdade. Meu argumento foi que o PWM é, de longe, o tipo de sinal mais comum que se deseja gerar (com algum intervalo de ciclos de serviço) - e é por isso que os microprocessadores têm hardware especial para isso. Eu provavelmente colocaria o PWM vs bitbanging como um exemplo do oposto "o hardware pode substituir o software".
Lyndon Branco
@LyndonWhite Fiz uma edição na minha resposta.
Qwerty_so
5

Uma comparação entre o jogo de arcade Tank (por volta de 1976) e o jogo de console doméstico Combat (1977) fornece um bom exemplo de como o software poderia substituir o hardware até 40 anos atrás.

O jogo de arcade Tank (por volta de 1976) permitiu que dois jogadores dirigissem em torno de tanques e atirassem um contra o outro. Ele não incluía nenhum tipo de processador, mas possuía contadores de hardware para acompanhar as posições horizontal e vertical do feixe de elétrons, tanques e disparos, assim como as pontuações do jogador, ângulos de rotação e o tempo decorrido. Tinha lógica lógica para gerar os dados de bitmap associados às pontuações, às formas dos tanques dos jogadores e ao fundo.

O Sistema de Computador de Vídeo Atari 2600 (um console de jogos em casa por volta de 1977) incluía hardware para rastrear as posições horizontais (mas não verticais!) De dois objetos de bitmap e quatro geradores de pulso de largura variável, mantêm e cronometram um nível baixo de 20 bits - padrão de resolução de gráficos de campo de jogo, bem como dois padrões de 8 bits de alta resolução, cores de trava para os jogadores, plano de fundo e campo de jogo e detecta colisões entre os vários objetos. Ele também incluía um cronômetro programável de uso geral, mas o hardware tinha pouco além do acima. No entanto, mesmo que o hardware seja muito mais simples que o do jogo Tank, o cartucho Combat 2K ROM permite que o 2600 jogue o mesmo jogo básico, mas com muitos outros recursos (uma variedade de veículos e fundos, tiros saltitantes etc.) porque ele pode substituir a maior parte da máquina de arcade ' s hardware com software. É interessante notar que, embora o Atari 2600 seja provavelmente a segunda plataforma de hardware mais simples de qualquer sistema de videogame doméstico baseado em microprocessador vendido comercialmente, ele é tão bem projetado para facilitar a substituição de hardware por software que, quando programado corretamente, pode percorrer muitos seus concorrentes.

supercat
fonte
Passei muitas horas e quartos jogando Tank. Um amigo meu restaura esses consoles de jogos antigos e fiquei muito surpreso ao saber que é tudo hardware. Alguém passou muito tempo fazendo mapas de Karnaugh para torná-lo gerenciável. Replicá-lo no software é muito mais fácil e requer menos manutenção. Mesmo com asteróides. Mas nenhum deles acaba com a mesma sensação, a menos que você o replique exatamente, incluindo os controles do console. Além disso, os gráficos vetoriais simplesmente não têm a mesma aparência em telas raster, IMO.
SDsolar
@SDsolar: Lembro-me de ler uma planilha, publicada pela Atari, com alguns mods que um proprietário poderia fazer para ajustar vários aspectos da jogabilidade, acho que dois mods envolvidos segurando ativaram a trava para o ângulo de tiro do jogador (adicionando um "míssil guiado ") e talvez adicionar algo como um recurso de tanque invisível. Mudar o firmware exigiria equipamentos mais complicados, e alguns tipos de mods que seriam fáceis no hardware seriam impossíveis no firmware (por exemplo, se a posição do jogador usar um contador binário, fazer com que um jogador apareça duas vezes por linha de varredura é trivial).
Supercat 11/12
1

A frase "o software pode substituir o hardware" é um aviso para não tentar resolver problemas com o hardware, a menos que haja vantagens muito claras. O software é 10x-50x mais barato para desenvolver e quase infinitamente mais barato para produzir por unidade que o hardware. Fazer X no hardware não será uma solução vencedora, a menos que o X realmente não possa ser feito com eficiência no software.

DepressedDaniel
fonte
Não diminuí o voto, mas tenho certeza de que isso é impreciso.
J. Allan
@ JefréN. Trata-se apenas de comprar hardware, em vez de desenvolvê-lo.
DepressedDaniel
Você está certo; Entendi mal a intenção da pergunta. Você tem uma citação ou link para apoiar sua afirmação de que "o software é 10x-50x mais barato para desenvolver ... do que o hardware"? Eu estaria interessado em saber se isso é um valor aproximado ou se é uma declaração [aceita / confirmada]. (Sinto muito, você está triste, btw.; D) #
1174 J. Allan
Não fiz voto negativo, mas não posso votar porque nem sempre é verdade que o software é mais barato. Muitas vezes, pode ser muito mais caro. Além disso, considere o conceito de ASICs e FPGAs, onde o software é usado para criar um equivalente de hardware que pode ser executado mais rapidamente. Como a diferença final entre executáveis ​​e programas interpretados, mas mais ainda.
SDsolar
11
@SDsolar Não ouvi falar de um caso em que o mesmo recurso seja mais barato implementado em hardware do que em software. Se for possível fazer em software, será quase universalmente mais barato fazê-lo em software. Obviamente, por exemplo, um renderizador de software terá problemas de desempenho mais rapidamente quando comparado a uma placa de vídeo. Mas isso vai mais para a viabilidade de uma implementação de software para alcançar uma certa linha de base de desempenho.
DepressedDaniel
1

A nuance foi bem resolvida, mas acho que é possível a pedra de tropeço para o OP, pois é muito pouco possível substituir hardware por software. O 'hardware' invariavelmente envolve significativamente menos 'hardware' do que a solução 'software'.

A diferença é que a lógica de um processo / algoritmo / computação pode ser movida entre hardware e software. Muitos exemplos foram dados, então não vou elaborar.

ANone
fonte
-1

Nos primeiros computadores com memória virtual, era necessário alterar a tarefa após uma falha do TLB para carregar uma nova entrada de página. Um software do sistema operacional encontraria o processo correto e percorreria as tabelas da página, localizando a entrada correta e escrevendo-a de volta ao TLB. Antes de voltar ao processo original para continuar.

Agora, a maioria das CPUs usa hardware para fazer o processo, lendo a tabela de páginas, percorrendo as tabelas de páginas e atualizando o TLB.

Ambos os métodos precisam usar o software para lidar com falhas de página, mas, como o TLB perde muito mais do que o número de falhas de página, o caminho do hardware ainda supera o software.

Em geral, se você tiver um procedimento simples com o qual precisa lidar repetidamente, encontrará uma substituição de hardware. Se você tiver uma solução de hardware complexa com um fluxo de controle complicado, poderá simplificar o hardware usando o software.

Surt
fonte
-2

Existem muitos casos em que o software pode substituir o hardware e vice-versa.

Um exemplo clássico disso é uma tabela de pesquisa matemática. Em vez de calcular os resultados para expressões comuns a cada vez, eles são armazenados internamente no seu coprocessador matemático e simplesmente referidos quando necessário.

A maioria provavelmente já está familiarizada com filtros de áudio e software que podem imitar instrumentos e dispositivos reais, como pedais ou amplificadores.

Qualquer hardware que possa ser criado virtualmente será usado, se for mais rápido e / ou mais barato que o equivalente físico.

Christopher Oldfield
fonte
-2

Na contabilidade, uma cópia impressa de uma fatura (por exemplo) agora pode ser enviada eletronicamente, e o software está começando a lidar com o recebimento desse tipo de papelada e seu processamento cada vez mais. É um excelente exemplo de hardware sendo substituído por software.

Andrew Day
fonte