¿Cómo realiza el software el trabajo utilizando el hardware?

Compare el hardware / software con su cuerpo humano. El hardware es cualquier cosa que se pueda tocar o tocar. Cerebro, ojo, nariz, brazo, pierna, dedo, músculo, etc.

El software son instrucciones. Una instrucción quiere presionar la letra “a”. Sale un comando pidiendo información, qué dispositivo, dónde está, el teclado, dónde en el kb está la letra “A”, mueva el brazo a la posición correcta para que su dedo esté sobre la letra y presione hacia abajo, levante levanta tu dedo Verifique que haya presionado la letra correcta: mire hacia arriba (mueva los ojos y tal vez la cabeza) para poder ver la pantalla, encontrar el lugar correcto en la pantalla y reconocer la letra.

El software moderno utilizará instrucciones tales como: “presione la letra a en el teclado”, pero el lenguaje de máquina (no el ensamblador) requerirá un proceso completo de reflexión para completar la misma acción.

Intenta presionar una letra y dile a tu cuerpo exactamente qué, dónde y cómo mover tus extremidades. El cerebro es el almacenamiento de datos (disco), la memoria volátil y la CPU.

oq: ¿Cómo realiza el software el trabajo utilizando el hardware?

El software realmente no hace el trabajo por el hardware: el hardware es lo único que realmente “hace” algo y el software es solo una lista de instrucciones para que el hardware haga. Debe comprender que el software son datos. El software es solo una lista de instrucciones de cosas que debe hacer el hardware.

Por lo tanto, el software es un tipo de datos como palabras, imágenes, sonidos y películas y cualquier otro tipo de datos que podamos almacenar En las computadoras, el hardware está específicamente diseñado para buscar software que le diga qué hacer desde un lugar específico donde los datos se almacena, como el disco duro, por ejemplo. La CPU es lo que hace la mayor parte de la informática real en la computadora. Ese es el chip (con los conectores dorados que puedes ver si alguna vez está desenchufado) destacado en la placa base, que es la placa de circuito principal y más grande dentro de la caja de la computadora de tu computadora de escritorio típica.

Cada CPU tiene un conjunto de instrucciones que sabe cómo realizar. Serán cosas como “Obtener el número de este registro de memoria y copiarlo en ese otro registro de memoria” o “agregar 2 + 3 y poner el resultado en este registro de memoria” o “enviar el número en ese registro de memoria a este hardware dispositivo “o incluso algunas instrucciones más complicadas como” hacer cosas para otros programas por un tiempo y luego volver a lo que este programa dice más tarde “Ejecutar software es, en última instancia, simplemente leer esas instrucciones básicas y luego hacer lo que dicen, donde” leer ” significa transmitir los datos que contienen las instrucciones de algunos dispositivos de almacenamiento de datos a la CPU y “hacer” en última instancia significa que la CPU envía electricidad a través de algún circuito en lugar de a través de otro circuito En las computadoras binarias (casi todo lo que has oído hablar) estas instrucciones básicas son realmente un montón de señales de encendido y apagado, a menudo representadas como 1s y 0s. Cada señal de encendido-apagado se llama “bit”.

Una instrucción puede tener algunos bits para decir qué instrucción del conjunto de instrucciones es (qué tipo de cosa va a hacer), luego unos pocos bits de dónde obtiene algunos datos y luego unos pocos bits más para dónde envía algunos datos para. La mayoría de los programadores no escriben los bits individuales (a menos que estén locos o de la década de 1970 o ambos), sino que escriben en un lenguaje que se traduce a los bits. Entiendo que un “lenguaje ensamblador” es donde cada línea de código escrita por el programador corresponde directamente a una instrucción que se envía a la CPU. Es divertido aprender a escribir algunos programas simples (¡una de mis clases favoritas en la universidad!) Pero no programas grandes y complicados. Los programadores ordinarios usan lenguajes más potentes donde una línea de código que escriben se traducirá en muchas instrucciones de CPU. Se crean niveles de abstracción para que el programador pueda hacer más cosas al hacer muchas instrucciones complicadas a la vez y no tener que pensar en las complejidades del hardware. Esta traducción puede ocurrir de una vez (en idiomas “compilados”) o puede ocurrir a medida que la computadora ejecuta cada línea individual (en idiomas “interpretados”) o puede ocurrir de alguna otra manera más complicada que no sería explicable a cinco años antiguo.

Esta es una respuesta del tipo de software: un tipo de hardware le daría más detalles sobre cómo funciona realmente la CPU y probablemente no incluiría mi explicación de los idiomas. Un experto en lenguajes de programación diría que tengo mis definiciones de diferentes tipos de lenguajes, todas incorrectas y que probablemente sean correctas. Pero tu pregunta fue bastante amplia y esa es mi respuesta.