Arquitectura Del Computador

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

¿Qué es computador?

El computador, también conocido generalmente como ordenador o computadora, es una


compleja máquina que procesa y ejecuta órdenes de diversa índole para dar como
resultado un sinfín de tareas distintas. Creada hace muchas décadas, este aparato sigue
en constante evolución y es uno de los inventos más populares de la historia, ocupando
un lugar en casi todos los hogares del mundo.
Al igual que el cuerpo humano, la computadora necesita de una parte material, tangible
y visible para funcionar, pero también de ideas, funciones y un “alma” que no se puede
ver. Ambas cosas reciben el nombre de hardware y software.
El hardware son los elementos físicos (periféricos) como el teclado, el ratón, la pantalla
o monitor, los cables, plaquetas y todo tipo de elementos que forman al computador de
manera sólida. Pero en su interior, grabado en la memoria, encontramos el software, que
son los programas, sistemas operativos y funciones instaladas que le dan vida y
coordinan lo material para funcionar.
Los componentes de una computadora
Una computadora es un sistema informático compuesto por dos aspectos básicos:
el hardware, que significa “soporte físico”, y el software, que se refiere a lo intangible o
el “programa”. Los soportes físicos son elementos electrónicos que trabajan conectados
para proporcionar datos, y esos datos son procesados gracias a las instrucciones que
proporcionan los programas.
El hardware es como una caja en la que se conectan una serie de dispositivos que
procesan información de entrada y de salida. El software es el conjunto de instrucciones
para ejecutar esa información de entrada y salida. Sin las instrucciones del software,
la computadora sería una caja sin utilidad, al igual que lo sería el cuerpo humano sin un
cerebro.
Hardware de una computador

En el hardware interno, todos los dispositivos se conectan a la placa madre.


El hardware hace referencia a los diferentes elementos tangibles de una computadora, y
puede ser interno o externo.
El hardware interno está conformado principalmente por:
Placa madre (o motherboard). Es la placa principal de cualquier sistema informático al
que todos los demás dispositivos se conectan, tanto de manera directa (como los
circuitos eléctricos interconectados) como indirecta (a través de puertos USB u otro tipo
de conectores). Cuenta con un software básico llamado BIOS que le permite realizar y
sincronizar sus funciones básicas (como la transmisión de datos, la administración de
la energía eléctrica y el reconocimiento de la conexión física de otros componentes
externos).
Procesador. Es la Unidad Central de Procesamiento (CPU), es decir, el cerebro de la
computadora que controla todo lo que ejecuta el ordenador y es responsable de realizar
los cálculos y la comprensión de datos. Hay varios tipos de CPU que se diferencian,
entre otras cosas, por su velocidad para procesar la información. Esa velocidad se mide
en una unidad de frecuencia llamada Hertz (o Hercio en español) y, cuanto más rápida
es la velocidad alcanzada por el procesador, más rápido será el rendimiento de la
computadora. En la actualidad, las dos marcas principales de CPU son AMD e Intel.
Memoria interna RAM. Es la memoria que almacena información, de manera temporal
y rápida, para que la computadora la utilice en el momento. Su capacidad de
almacenamiento se mide en unidades llamadas gigabytes (GB). A mayor cantidad de
memoria RAM, más rápido puede funcionar la computadora, por ejemplo, para abrir y
usar varios programas a la vez. El contenido de la memoria RAM se elimina tan pronto
se apaga la computadora porque no almacena datos (archivos, videos, programas, etc.),
sino que conserva información sobre las acciones que se están realizando con esos
datos. No almacena el archivo o el programa en sí, sino la información para ejecutarlo.
Memoria interna ROM. Es la memoria que almacena información de manera
permanente y que se denomina de “solo lectura”, es decir, el usuario no puede alterar el
contenido una vez que se almacenó esa información, solo puede instalarlo o
desinstalarlo. La memoria ROM almacena todo lo relacionado con instrucciones o lo
que también se denomina BIOS (sistema básico o programa de arranque) y que
comprende las instrucciones de cómo se inicia la máquina o cómo funcionan los
programas, entre otros.
Placa de video. También conocida como “tarjeta gráfica” es un dispositivo de hardware
interno que se conecta a la placa madre y permite que la computadora muestre imágenes
en el monitor. Requiere de la instalación de un software para que le indique a la
computadora cómo usar esa placa de video. El usuario puede modificar la configuración
de la imagen proyectada en el monitor, por ejemplo, la calidad (mayor o menor
definición), el tamaño, entre otros.
Placa de sonido. Es un dispositivo de hardware interno que se conecta a la placa madre
y se clasifica según los canales que utiliza, por ejemplo, estéreo, cuadrafónico (sonido
envolvente), MIDI (conector de uso profesional), entre otros. La función principal de la
placa es permitir a la computadora reproducir sonidos (música, voz o cualquier señal de
audio) a través de altavoces o auriculares. También recibe sonidos del usuario a través
de la conexión de un micrófono.
Dispositivo de almacenamiento secundario. Es la memoria que almacena datos de
manera permanente (o hasta que el usuario los elimine), como documentos, planillas,
imágenes, videos, audios, copias de seguridad de los archivos, entre otros. Son datos
almacenados que la computadora no necesita de manera inmediata o rápida para su
funcionamiento, sino que es el usuario el que los utiliza de manera directa. Existen dos
tipos de dispositivos de almacenamiento secundario: interno (la unidad de disco duro) y
externo (disco duro externo, tarjeta de memoria, pendrive, CD ROM, etc.).
El hardware externo de una computadora está conformado principalmente por:
Dispositivos de entrada. Son piezas que reciben datos sin procesar y que la computadora
puede procesar a través del correspondiente software. Se dividen en dos categorías:
dispositivos de entrada manual, que deben ser operados por el usuario (teclado, mouse,
pantalla táctil, micrófono, etc.) y dispositivos de entrada automática, que accionan el
ingreso de información por su cuenta, de manera independiente del usuario (lector de
banda magnética, reconocimiento de caracteres de tinta magnética, lector de PIN y chip,
lector de código de barras, etc.).
Dispositivos de salida. Son piezas que envían hacia afuera los datos procesados por la
computadora. Hay dos tipos: de salida temporal (como el monitor, que actualiza
constantemente la imagen de salida en la pantalla) y de salida permanente (como la
impresora, que reproduce información sobre un papel que perdura como una copia
impresa).
Dispositivos periféricos. Son la mayoría de los dispositivos de entrada y de salida que se
consideran componentes de hardware externos “no esenciales” porque la computadora
puede funcionar sin ellos. Por ejemplo, parlantes, cámara web, teclado, micrófono,
impresora, escáner, mouse, joystick, entre otros.
Software de una computadora
El software es la parte “no física” de la computadora, que existe en forma de códigos
que contienen instrucciones para que el hardware sepa qué hacer. Sin estos programas,
la mayoría de los dispositivos de hardware no serían útiles. Hay dos tipos:
Software de sistema. Son los programas preinstalados en la computadora, que permiten
dar soporte a otros programas instalados por el usuario. Algunos ejemplos son
los sistemas operativos (Windows, Mac OS, Linux, BIOS, etc.), los limpiadores de
disco, los desfragmentadores de disco, los antivirus, los controladores gráficos,
softwares de cifrado, entre otros.
Software de aplicación. Son los programas que no tienen que ver con el funcionamiento
del equipo, sino que son instalados por el usuario para realizar funciones determinadas.
Por ejemplo, hojas de cálculo (Excel), procesadores de palabras (Word), programas
de base de datos (Access), programas de diseño gráfico
(Illustrator), navegadores de Internet (Chrome), entre otros.
Tipos de computadoras
Una unidad central o mainframe permite procesar datos a gran escala.
Jajaja diferentes tipos de computadoras que varían según su tamaño, diseño y
complejidad de funciones capaces de realizar. Sin embargo, todas tienen como base los
componentes anteriormente detallados. Entre los principales tipos de computadoras se
encuentran:
Computadora personal. Su nombre proviene del inglés personal computer (PC), también
llamada “de escritorio”. Es de uso común en el hogar o la oficina.
Computadora portátil. También llamada notebook, es una máquina más pequeña y
liviana que la PC, pensada para transportarla de manera sencilla. Es de uso personal o
laboral.
Netbook. Es similar a la notebook, solo que tiene menor tamaño y peso, por lo que su
pantalla y teclado son bastante más pequeños. Está pensada para transportar y utilizar en
cualquier lugar.
Unidad central. También llamada mainframe es una computadora muy grande, potente y
costosa, de uso empresarial o industrial que permite procesar datos a gran escala.
Tarjeta Madre
¿Qué es un CPU?
CPU es la abreviación de Unidad Central de Procesamiento, un componente básico de
todo dispositivo que procesa datos y realiza cálculos matemáticos-informáticos.
El CPU proporciona la capacidad de programación y, junto con la memoria y
los dispositivos de entrada/salida, es uno de los componentes presentes en la historia de
los ordenadores. Con el tiempo, los microprocesadores de un chip fueron reemplazando
a los CPU, usualmente cuando se hace referencia a este término se habla de los
microprocesadores.
Algunas de las funciones básicas del CPU son recolectar información, decodificarla en
partes menores y llevar a cabo instrucciones, que luego ejecuta.
¿Para qué sirve un CPU?
El CPU es la pieza fundamental de todo dispositivo, es considerado el cerebro de un
sistema.
En primer lugar, es el encargado de recibir e interpretar datos y ejecutar las secuencias
de instrucciones a realizar por cada programa valiéndose de operaciones aritméticas y
matemáticas. El CPU interpreta todos los datos que provienen del dispositivo, tanto de
los programas como la información que envía el usuario a través de aplicaciones.
Además, controla el buen funcionamiento de cada componente del sistema para que
todas las acciones sean realizadas en tiempo y forma.
Unidades que componen al CPU
La CPU está compuesta de tres elementos: la memoria, la unidad aritmética lógica y la
unidad o procesador de control.
La memoria principal (interna o central); es el lugar en el que se almacenan datos y
programas. Se ocupa entonces de almacenar, leer o escribir datos, generalmente sobre
las instrucciones de un programa o bien aquellos con los que se operan dichas
instrucciones. Está organizada en centenares o millares de unidades de almacenamiento
individual, y su unidad elemental de memoria se llama byte. Un byte está formado por
bits, un conjunto de unidades más pequeñas, que son dígitos binarios (0 o 1).
La unidad de lógica/aritmética (ALU); que representa la calculadora principal del
ordenador y vincula las operaciones relacionadas con el código binario que se maneja
en el PC. La unidad de control (CU) es la gran administradora de la memoria y los
componentes que agregan las funciones, las descifra y las ejecuta.
La expresión o unidad central de proceso; Es el auténtico cerebro, el que controla y
coordina el funcionamiento del PC. Esta unidad genera el conjunto de órdenes
necesarias, para que se realice cualquier tarea mediante la interpretación de las
instrucciones que integran el programa de esta unidad.
Código de Instrucción.
Es un grupo de bits que instruye a la computadora a sobre como ejecutar una operación
específica, siendo su parte más básica, su parte de operación, el cual es un grupo de bits
que define la operaciones como sumar, restar, multiplicar y complementar.
Un código de operación se define como Macro de operación, porque específica un
conjunto de macro operaciones.
Instrucción de máquina.
Es un código binario que específica una sucesión de micro operaciones para la
computadora. Los códigos de instrucciones y los datos se hayan en la memoria. La
computadora lee cada instrucción de la memoria y la coloca en un registro de control.
Entonces el control interpreta el código binario de la instrucción y procede a ejecutarlo
mediante una secuencia de micro operaciones.
Ciclo de Instrucciones
El ciclo de instrucciones es el período de tiempo durante el cual un ordenador lee y
procesa una instrucción de lenguaje máquina de su memoria o la secuencia de acciones
que la unidad central (CPU) funciona para ejecutar cada instrucción de código de
máquina en un programa.
En la computadora básica cada ciclo de instrucción consiste en las siguientes fases:
• Buscar una instrucción de la memoria
• Decodificar la instrucción
• Leer la dirección efectiva de la memoria si la instrucción tiene una dirección indirecta
• Ejecuta la instrucción
Cuando se termina el paso 4, el control regresa al paso 1 para buscar, decodificar y
ejecutar la siguiente instrucción. Este proceso continua en forma indefinida a menos que
se encuentre una instrucción de alto (HALT).
Unidad de control y sincronización de tiempo.
Modo supervisor, de núcleo o privilegiado. Se puede ejecutar cualquier instrucción y se puede
acceder a todas las zonas de memoria. Es un modo generalmente reservado para el sistema
operativo.

Modo usuario. Hay limitaciones. Es el modo de ejecución de las aplicaciones.

Puede haber más modos.


Las aplicaciones solicitan el paso de un modo a otro a través de interrupciones software (traps).
En el dominio de tiempo de las comunicaciones de acceso múltiple de dominio múltiplex/de
tiempo entre una estación de base y una unidad de abonado, la estación de base envía una señal
de referencia de sincronización.
Una unidad de abonado responde con un paquete de datos (a) suficientemente corto para
asegurar su recepción correcta por la base independientemente del tiempo de transmisión. La
base determina el tiempo de transmisión empleado y ordena a la unidad de abonado que mejore
sus sincronizaciones de manera que los paquetes de datos mas largos (b) puedan ser enviados
para ser recibidos cuando sea previsto.
El ajuste de sincronización incluye un componente presente fijo dependiente de la separación
aproximada de la estación de base y de la unidad de abonado, y un segundo componente de
medición del tiempo de transmisión empleado.

Registros de la CPU
Para poder hacer estas cosas, es obvio que la CPU necesita almacenar
algunos datos temporalmente. Debe recordar la posición de la última instrucción de
forma que sepa dónde ir a buscar la siguiente. Necesita almacenar instrucciones y datos
temporalmente mientras una instrucción está siendo ejecutada. En otras palabras, la
CPU necesita una pequeña memoria interna. En la estructura interna de la CPU se
indican los caminos de transferencia de datos y de control lógico, que incluyen un
elemento con el rótulo bus interno de la CPU. Este elemento es necesario para transferir
datos entre los diversos registros y la ALU, ya que ésta en realidad sólo opera con datos
de la memoria interna de la CPU. La figura muestra también los elementos básicos
típicos de la ALU. 
En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca
capacidad, integrada en el microprocesador, que permite guardar transitoriamente y
acceder a valores muy usados, generalmente en operaciones matemáticas.
Dentro de la CPU hay una memoria interna compuesta por un conjunto de registros. Los
registros de la CPU son:
- Registros visibles al usuario: Permiten al programador de lenguaje de máquina o
ensamblador minimizar las referencias a memoria principal optimizando el uso de los
registros.
- Registros de control: Son utilizados por la unidad de control para controlar el
funcionamiento de la CPU y por programas privilegiados del sistema para controlar la
ejecución de programas.
- Registro de estado: Se utiliza para tomar decisiones en función de operaciones
realizadas.
- Registro puntero a pila.
Registros visibles al usuario
Un registro visible al usuario es aquél que puede ser referenciado por medio del
lenguaje máquina que ejecuta la CPU. Prácticamente todos los diseños contemporáneos
de CPUs están provistos de varios registros visibles al usuario, en oposición a disponer
de un único acumulador.
Podemos clasificarlos en:

- Uso General

- Datos

- Direcciones

- Códigos de Condición
Los registros de uso general pueden ser asignados por el programador a diversas
funciones. A veces, su uso dentro del repertorio de instrucciones es para contener el
operando para cualquier código de operación. Esto proporciona una utilización de
registros de auténtico uso general. Con frecuencia, sin embargo, existen restricciones.
Por ejemplo, puede haber registros específicos para operaciones en coma flotante. En
algunos casos los registros de uso general pueden ser utilizados para funciones
de direccionamiento. En otros casos hay una separación clara o parcial entre registros de
datos y registros de direcciones.
Los registros de datos pueden ser usados únicamente para contener datos y no se pueden
emplear en el cálculo de una dirección de operando. Los registros de dirección pueden
ser en sí registros de uso más o menos general, o pueden estar dedicados a un modo de
direccionamiento particular. El caso más conocido es el puntero a pila. La cantidad de
registros generales o especializados es una cuestión de diseño. No hay solución óptima,
pero la tendencia parece ir hacia el uso de registros especializados. Otro problema de
diseño es el numero de registros, de uso general o de datos más direcciones, que tienen
que incluirse.
A mayor cantidad de registros se requieren mayor cantidad de bits en el campo de
operando. Parece óptimo entre 8 y 32 registros. Menos registros se traducen en más
referencias a memoria; más registros no reducen notablemente las referencias a
memoria. Por último, está la cuestión de la longitud de los registros. Los registros que
han de contener direcciones han de ser lo suficientemente grandes como para albergar la
dirección más grande. Los registros de datos deben ser capaces de contener valores de la
mayoría de tipos de datos. Algunas máquinas permiten que los registros contiguos sean
usados como uno para contener valores de doble longitud. Una categoría final de
registros, que es al menos parcialmente visible al usuario, contiene códigos de condición
(también llamados indicadores o flags).
Los códigos de condición son bits fijados por el hardware de la CPU como resultado de
alguna operación. Por ejemplo, una operación aritmética puede producir un resultado
positivo, negativo o nulo, o con desbordamiento. Además de almacenarse el propio
resultado en un registro o en la memoria, se obtiene también un código de condición. El
código puede ser examinado con posterioridad como parte de una condición
de bifurcación condicional. Los bits de códigos de condición se reúnen en uno o más
registros. Por lo general, forman parte de un registro de control. Comúnmente, las
instrucciones de máquina permiten que estos bits sean leídos por referencia implícita,
pero no pueden ser alterados por el programador. En algunas máquinas, una llamada
a subrutina dará lugar a la salvaguarda automática de todos los registros visibles al
usuario, que serán restablecidos en el retorno de la subrutina.
La CPU lleva a cabo la salvaguarda y restablecimiento como parte de la ejecución de las
instrucciones de llamada y retorno, respectivamente. Esto permite a cada subrutina usar
independientemente los registros visibles al usuario. En otras máquinas, es
responsabilidad del programador guardar los contenidos de los registros visibles al
programador relevantes antes de la llamada a subrutina, teniendo que incluir en el
programa instrucciones para este fin.
Registros de control
Hay diversos registros de la CPU que se pueden emplear para controlar su
funcionamiento. La mayoría de éstos, en la mayor parte de las máquinas, no son visibles
al usuario. Algunos de ellos pueden ser visibles a instrucciones de máquina ejecutadas
en un modo de control o de sistema operativo. Naturalmente, máquinas diferentes
tendrán diferentes organizaciones de registros y usará distinta terminología. Se enumera
aquí una lista razonablemente completa de tipos de registros, con una breve descripción.
Son esenciales cuatro registros para la ejecución de una instrucción: el contador de
programa , el registro de dirección, el registro de instrucción y el registro de datos. El
contador de programa contiene una dirección de instrucción. Típicamente, la CPU
actualiza el PC después de cada captación de instrucción de manera que siempre apunta
a la siguiente instrucción a ejecutar. Una instrucción de bifurcación o salto también
modificará el contenido de PC. La instrucción captada se carga en el registro de
instrucción, donde son analizados el código de operación y los campos de operando. Se
intercambian datos con la memoria por medio de registro de direcciones y el de datos.
En un sistema con organización de bus, el de direcciones se conecta directamente al bus
de direcciones, y el de datos directamente al bus de datos. Los registros visibles al
usuario, sucesivamente, intercambian datos con el de datos. Los cuatro registros que
acaban de mencionar se usan para la transferencia de datos entre la CPU y la memoria.
Dentro de la CPU, los datos tienen que ofrecerse a la ALU para su procesamiento. La
ALU puede tener acceso directo al de datos y a los registros visibles al usuario. Como
alternativa, puede haber registros intermedios adicionales en el límite de la ALU; estos
registros sirven como registros de entrada y salida de la ALU e intercambian datos con
el de datos y los registros visibles al usuario.
Registro de estado
Todos los diseños de CPUs incluyen un registro o un conjunto de registros, conocidos a
menudo como palabra de estado de programa "programa status word", PSW), que
contiene información de estado. La PSW contiene típicamente códigos de condición
además de otra información de estado. Entre los campos comunes o indicadores se
incluyen los expresados en la tabla.
Bit de
Nombre Descripción
estado
Puesto a uno si una operación da lugar a un
C Acarreo acarreo (suma) o adeudo (resta) de un bit de
orden superior.
Paridad del resultado de una operación
P Paridad aritmética o lógica. Un 1 indica paridad par y
el 0 paridad impar.
Puesto a uno cuando el resultado de una
Z Cero
operación aritmética o lógica es cero.
Contiene el bit de signo del resultado de la
S Signo
última operación aritmética.
Usado para indicar un desbordamiento
O Desbordamiento
aritmético.
Usado para habilitar o inhabilitar
I Interrupción
interrupciones

Registro puntero a pila


El registro puntero a pila permite almacenar la dirección de acceso a la memoria pila.
Veremos su funcionamiento al tratar las subrutinas.
 MINI PC VS PORTÁTIL

 GPU CHINA
 SABER ENCENDIDOS PC1 • 17:00
¿Alguna vez te has preguntado cuál es el motivo que lleva a que un programa
compilado para funcionar en las CPU x86 para PC, no funcione en una CPU ARM por
ejemplo? ¿Qué es lo que hace que un programa sea compatible con una familia de
procesadores concreta y con otras no? ¿Qué son los registros y cual es su función? En
este artículo os explicamos lo que son los registros y las instrucciones de una CPU para
que podáis comprenderlo.
Muchas veces hemos hablado de que los procesadores cuentan con un conjunto de
instrucciones concreto, o de que en una nueva CPU se han añadido nuevos registros e
instrucciones. Vamos a ver qué es lo que esto quiere decir.
¿Qué es una instrucción?

Una instrucción no es más que una acción que mandamos a hacer en un procesador. Las
instrucciones pueden ser operaciones aritméticas con diferentes tipos de datos como
coma flotante, enteros, vectorial, escalar, operaciones lógicas, operaciones de
movimientos de datos, operaciones de movimiento de bits (donde un bit es cambiado de
posición), operaciones de salto, etc.
Esas mismas instrucciones se dividen en otros sub-tipos según donde se encuentren los
datos. Por ejemplo, algunas instrucciones permiten operar con los datos que se
encuentran en los registros en ese momento, mientras que en otros casos hemos de
marcar la dirección de memoria en la que se encuentra el dato (modo directo) o la
dirección de la dirección de memoria (modo indirecto).
A los conjuntos de registros e instrucciones de las CPU se les llama ISA (Instruction Set
Architecture) y todos bajo la misma ISA utilizan la misma codificación de las
instrucciones y por tanto el mismo código binario para ellas.
Independientemente de cuál sea la CPU que esté utilizando nuestro sistema, todas ellas
leen el código binario de una manera particular correspondiente a su familia. Lo que
hacen es tomar una cantidad de determinada de bits del código binario que están
ejecutando e interpretan su significado según la disposición de éste. Toda instrucción
está codificada de la siguiente manera: los primeros dígitos corresponden al código de la
instrucción y cómo se ha de ejecutar ésta, y los últimos bits son el dato mismo o dónde
se encuentra el dato sobre el que queremos realizar la instrucción.
El ISA (Instruction Set Architecture) es la parte del procesador que es visible al
programador o al escritor del compilador. El ISA sirve como el limite entre el software
y el hardware. Consiste en modos de direccionamiento, instrucciones, tipos de datos
nativos,arquitectura de memoria, registros, y gestión de excepciones.
Los tres tipos de ISAs mas comunes son:
(Stack) Pila: Los operandos estan implícitamente encima de la pila.
(Accumulator) Acumulador: Un operando es implícitamente el acumulador.
(GPR) Registro de propósito general: Todos los operandos están explicitamente
mencionados y son registros o ubicaciones de memoria.
Ejemplo de los tipos de ISA en las tres arquitecturas:
A = B + C;

No todos los procesadores pueden ser clasificados en estas categorias. El intel 8086
tiene muchas
instrucciones que usan operadores implícitos aunque tiene un set de registro general.
Los tipos de lenguaje que existen.
El lenguaje de una computadora es una sintáxis codificada usada por los programadores
para comunicarse con ella. Es el único lenguaje que entienden las computadoras, los
programas de software y el hardware. Establece un flujo de comunicación entre los
programas de software. El lenguaje le permite al usuario dictar los comandos que la
computadora debe entender para procesar los datos. El lenguaje viene en varios tipos
que emplean conjuntos de sintáxis diferente.
Lenguaje de máquina
El lenguaje de máquina, o el código de máquina, es el lenguaje nativo directamente
entendido por la unidad central del procesador de la computadora o CPU. Este tipo de
lenguaje no es fácil de entender, porque usa solamente un sistema binario, un elemento
de notas que contiene una serie de números que consisten de 1 y 0, para producir
comandos. El procesador de la computadora necesita convertir los lenguajes de alto
nivel en este lenguaje antes de que pueda correr el programa o ejecutar un comando
definido. Para convertir un lenguaje al código de máquina, el procesador de la
computadora necesita un recopilador, un programa que convierte una fuente de código
escrita en un lenguaje en una sintáxis de lenguaje diferente. El recopilador genera un
archivo binario, o un archivo ejecutable, que el CPU puede ejecutar. El procesador de
toda computadora tiene su propio conjunto de códigos de máquina. Este código
determina lo que el procesador puede hacer y cómo.
Lenguaje a nivel ensamblador
Un estudio de los ´50 llevó al desarrollo de lenguajes de bajo nivel o lenguaje de nivel
ensamblador. También considerado como un lenguaje de segunda generación, este
lenguaje es un conjunto de códigos que pueden correr directamente en el procesador de
la computadora. Es el lenguaje más apropiado en la escritura de los sistemas operativos
y para mantener las aplicaciones del escritorio. Le permite al programador hacer varias
tareas en el registro, el gerenciador de la memoria y el ciclo del reloj de la
correspondencia. Con este lenguaje es fácil para el programador definir los comandos
porque tiene la prerrogativa cuando se trata de nombrar las variables. Sin embargo, este
lenguaje no es flexible porque el usuario no puede re-usar los conjuntos de códigos
escritos. No es tan explicativo comparado con sus contrapartes. El usuario no tiene un
lenguaje encriptado en el lenguaje de la máquina para que procese los comandos que
escribió el programador.
Lenguaje de alto nivel
El desarrollo de lenguajes de alto nivel llegó cuando los programadores comenzaron a
tener problemas con la cada vez más difícil falta de portabilidad de las computadoras.
Los lenguajes de alto nivel ignoran los detalles poco importantes encontrados en los de
bajo nivel. Muchos programadores consideran que los lenguajes de alto nivel son la
solución a los problemas que traen los otros lenguajes porque es fácil de usar y tiene una
baja tendencia a producir errores. Los programadores se refieren a este lenguaje como
los lenguajes medios que sólo usan los conceptos de abstracción y construcción de los
extremos.
Lenguaje ensamblador.
¿Qué es?

Básicamente, un lenguaje ensamblador es un lenguaje de programación de bajo


nivel utilizado para manipular las instrucciones internas de un dispositivo. Este lenguaje
se puede utilizar de esta manera debido fundamentalmente a que siempre el lenguaje
ensamblador ofrece una correspondencia uno a uno entre si y las instrucciones de
código de máquina brutas del dispositivo que se está programando. Esto significa que
cada línea de código del lenguaje ensamblador equivale perfectamente a una instrucción
del dispositivo que se está programando, por lo cual no debe ni interpretarse ni
compilarse para que el hardware “entienda”.
En una explicación un poco más técnica, el lenguaje
ensamblador, “Assembly” o “ASM” por su nombre en inglés, es una serie de
mnemónicos que están diseñados para representar instrucciones básicas para
microprocesadores, microcontroladores y otros circuitos integrados programables, como
los presentes en toda computadora con sus procesadores, los televisores, dispositivos de
audio, smartphones y mucho otro hardware.
Estos mnemónicos son básicamente una representación simbólica de los códigos de
máquina binarios, constantes y demás elementos de programación que necesitamos para
llevar a cabo la tarea de hacer que un determinado procesador o microprocesador realice
una determinada acción, dependiendo de su arquitectura y tipo.
En este sentido, cabe destacar que para cada arquitectura de procesador es necesario un
lenguaje ensamblador específico, que en términos generales siempre es definido por el
fabricante del hardware. Esto es así debido a que los desarrollos de dispositivos se basan
en un conjunto de instrucciones, registros, posiciones de memoria y otras características
propias de un determinado lenguaje de ensamblador, y si intentamos programarlo de
otra forma, será imposible.
Esto significa que un lenguaje ensamblador es específico de una arquitectura de
computadora en particular, al contrario de los modernos lenguajes de programación de
alto nivel de la actualidad, que los podemos usar independientemente de la arquitectura
en la que fue desarrollado el dispositivo, como lo explicamos más abajo.
¿Qué tipo de dificultad posee este lenguaje y dónde es usado actualmente?
El lenguaje ensamblador, es un lenguaje de bajo nivel, algo más complicado porque los
códigos que utiliza no los descifra directamente el ordenador, por lo que habrá que
pasarlo a lenguaje de máquina para que la computadora entienda la orden que estamos
queriendo transmitirle. Es un tipo de lenguaje muy ligado al hardware y además necesita
herramientas especiales para convertirlo a otro lenguaje.  
Características a valorar
El lenguaje de bajo nivel suele presentar bastantes ventajas, puesto que utiliza un código
sencillo con instrucciones directas, de fácil conversión y es muy adaptable, además de
que trabaja a gran velocidad.
En contraposición a estas características positivas podemos encontrarnos algunas
pequeñas desventajas, como es el caso de que este lenguaje está demasiado ligado al
hardware, lo que hace que sea complicado estructurar algunos programas. De igual
modo, también se necesita una especial atención en el momento de usarlo para no
cometer errores que puedan aumentar de forma sensible el trabajo y la revisión que se
haga del código.
A día de hoy, con lo bueno y con lo malo, el lenguaje de bajo nivel se ha
establecido como uno de los referentes para los profesionales de la industria
tecnológica. Tiene una importancia extrema y es conveniente dominarlo en todas sus
vertientes para poder desenvolvernos con eficacia bajo todo tipo de situaciones. Con él
muchos grandes proyectos tecnológicos se llevan a cabo con muy buenos resultados y
aporta importantes características que no tiene el lenguaje de alto nivel.  
¿Cuál es el proceso para hacer programas con este lenguaje?
La mayoría de los ensambladores están diseñados para ayudar en el proceso de
modularización en tres formas, básicamente:
Permitir que los datos estén estructurados de forma que puedan ser accedidos por varios
módulos.
Proporcionar mecanismos del tipo procedimientos o subrutinas.
Permitir la inserción de secciones de código, conocidas como macros, mediante la
utilización de sentencias sencillas.
 
Proceso de ensamblaje
Un ensamblador es el programa que convierte un listado de código fuente en código
objeto, es decir, lenguaje máquina (el que finalmente interpretará el procesador) en el
que sólo le faltan las referencias a rutinas externas. El código fuente es un fichero que
contiene la secuencia de instrucciones en lenguaje ensamblador que forma el programa,
así como ciertas directivas o comandos para el propio ensamblador, que ha sido creado
utilizando un editor de texto. El código objeto consta del código en lenguaje máquina y
de la información necesaria para enlazarlo con otros módulos objeto.
 
 

Entrada y salida del ensamblador


 
Enlace y reubicación
Al construir un programa algunos de sus módulos pueden colocarse en el mismo
módulo fuente y ensamblarse juntos, otros pueden estar en módulos diferentes y ser
ensamblados separadamente. Si se ensamblan por separado, el módulo principal, que
contiene la primera instrucción que se va a ejecutar, debe acabar con una sentencia END
que indique el punto de entrada al programa, y cada uno de los otros módulos deben
terminar con una sentencia END sin ningún operando. En cualquier caso, los módulos
objeto resultantes, algunos de los cuales pueden estar agrupados en librerías, deben ser
enlazados para formar el módulo de carga, antes de que se pueda ejecutar el programa.
Además de dar como salida el módulo de carga, el linker o enlazador imprime un mapa
de memoria que indica donde serán cargados los módulos objeto en la memoria.
Después de crearse el módulo de carga, éste es cargado por el cargador en la memoria
del ordenador y comienza la ejecución.
La siguiente figura muestra el procedimiento general para la creación y ejecución de un
programa:
 
 
Independientemente del sistema, la combinación linker/cargador debe crear todos los
segmentos y asignaciones de dirección necesarios para permitirle al programa funcionar
correctamente. En concreto, esta combinación debe:
Encontrar los módulos que van a ser enlazados
Construir el módulo de carga asignando las posiciones de todos los segmentos de todos
los módulos objeto que se están enlazando.
Rellenar todos los desplazamientos de segmento que no pudieron ser determinados por
el ensamblador.
Rellenar todas las direcciones de los segmentos.
Cargar el programa para su ejecución.
Dispositivos de almacenamientos de datos.
Un dispositivo de almacenamiento es un hardware que se utiliza principalmente para
almacenar datos. Cada computadora de escritorio, computadora portátil, tablet y
smartphone tendrán algún tipo de dispositivo de almacenamiento en su interior y
también puedes obtener unidades de almacenamiento externo independientes que se
pueden utilizar en varios dispositivos.
El almacenamiento es necesario no solo para guardar archivos, sino también para
ejecutar tareas y aplicaciones. Cualquier archivo que crees o guardes en la computadora
se guarda en el dispositivo de almacenamiento, al igual que cualquier aplicación que
utilices, así como el sistema operativo en el que se ejecuta la computadora.
A medida que la tecnología ha avanzado con el tiempo, los dispositivos de
almacenamiento de datos también han evolucionado de manera importante. Hoy en día,
los dispositivos de almacenamiento tienen muchas formas y tamaños, y hay algunos
tipos diferentes de dispositivos de almacenamiento que se adaptan a diferentes
dispositivos y funciones.
Un dispositivo de almacenamiento también se conoce como medio de almacenamiento
o soporte de almacenamiento; el almacenamiento digital se mide en megabytes (MB),
gigabytes (GB) y, en la actualidad, terabytes (TB).
Algunos dispositivos de almacenamiento de computadoras pueden retener información
de manera permanente, mientras que otros solo pueden retener información de manera
temporal. Cada computadora tiene tanto almacenamiento primario como secundario,
donde el almacenamiento primario actúa como memoria de corto plazo de la
computadora y el secundario, como memoria de largo plazo de la computadora.
Almacenamiento primario: memoria de acceso aleatorio (RAM)
La memoria de acceso aleatorio, o RAM, es el almacenamiento principal de una
computadora.
Cuando trabajas con un archivo de la computadora, este almacenará temporalmente los
datos en la memoria RAM. Esta memoria permite realizar tareas cotidianas como abrir
aplicaciones, cargar páginas web, editar un documento o jugar juegos, y permite pasar
rápidamente de una tarea a otra sin perder el progreso. Básicamente, cuanto más grande
sea la RAM de la computadora, más fluido y rápido es para ti hacer varias tareas.
La RAM es una memoria volátil, lo que significa que no puede retener información una
vez que se apaga el sistema. Por ejemplo, si copias un bloque de texto, reinicias la
computadora y luego intentas pegar ese bloque de texto en un documento, descubrirás
que el equipo ha olvidado el texto copiado. Esto se debe a que solo se almacenó
temporalmente en la RAM.
La memoria RAM hace posible que una computadora acceda a los datos en un orden
aleatorio y, por lo tanto, lee y escribe mucho más rápido que el almacenamiento
secundario de una computadora.
Almacenamiento secundario: unidades de disco duro (HDD) y discos de estado sólido
(SSD)
Además de la memoria RAM, cada computadora tiene también otra unidad de
almacenamiento que se utiliza para guardar información a largo plazo, y esto se conoce
como almacenamiento secundario. Cualquier archivo que crees o descargues se guarda
en el almacenamiento secundario de la computadora. Existen dos tipos de dispositivos
de almacenamiento que se utilizan como almacenamiento secundario en las
computadoras: HDD y SSD. Mientras que las HDD son las más tradicionales de los dos,
los SSD superan rápidamente a las HDD como tecnología preferida para el
almacenamiento secundario.
Los dispositivos de almacenamiento secundarios suelen ser extraíbles, por lo que puedes
reemplazar o actualizar el almacenamiento de la computadora o trasladar la unidad de
almacenamiento a otra computadora. No obstante, hay notables excepciones, como los
MacBooks, que no ofrecen almacenamiento extraíble.
Unidades de discos duros (HDD)
La unidad de disco duro (HDD) es el disco duro original. Son dispositivos de
almacenamiento magnéticos que se han utilizado desde la década de los cincuenta,
aunque han evolucionado enormemente en el transcurso del tiempo.
Un disco duro está compuesto de una pila de discos metálicos giratorios conocidos
como platos. Cada disco giratorio tiene millones de diminutos fragmentos que se
pueden magnetizar para representar bits (1s y 0s en código binario). Un brazo actuador
con un cabezal de lectura y escritura escanea los platos giratorios y magnetiza los
fragmentos para escribir información digital en la HDD o detecta las cargas magnéticas
para leer la información de esta.
Además del almacenamiento de computadoras portátiles y PC, las HDD se utilizan para
grabadoras y servidores de TV y satélite.
Discos de estado sólido (SSD)
Los discos de estado sólido surgieron mucho más recientemente, en la década de los
noventa. Los SSD no dependen de imanes y discos, en su lugar, utilizan un tipo de
memoria flash llamada NAND. En un SSD, los semiconductores almacenan
información cambiando la corriente eléctrica de los circuitos que contiene la unidad.
Esto significa que, a diferencia de los discos duros, los SSD no requieren partes móviles
para funcionar.
Por ello, los SSD no solo funcionan de forma más rápida y fluida que las HDD (las
HDD tardan más tiempo en recopilar información debido a la naturaleza mecánica de
sus platos y cabezales), sino que también suelen durar más que las HDD (con tantas
piezas móviles intrincadas, las HDD son vulnerables a los daños y al desgaste).
Además de las nuevas PC y las computadoras de gama alta, se pueden encontrar SSD en
los smartphones, tablets y, a veces, en las cámaras de video.
Dispositivos de almacenamiento externo
Además de los medios de almacenamiento contenidos en una computadora, también hay
dispositivos de almacenamiento digital que son externos a las computadoras. Se utilizan
comúnmente para ampliar la capacidad de almacenamiento cuando una computadora se
queda sin espacio, para permitir una mayor portabilidad y para facilitar la transferencia
de archivos de un dispositivo a otro.
Unidades de discos duros y discos de estado sólido externos
Puedes obtener tanto dispositivos HDD como SSD como unidades externas. En general,
ofrecen la mayor capacidad de almacenamiento entre las opciones externas, con HDD
externas que ofrecen hasta 20 TB de almacenamiento y (a un precio razonable) SSD
externos que ofrecen hasta 8 TB de almacenamiento.
Las HDD y los SSD externos funcionan exactamente de la misma manera que sus
homólogos internos. La mayoría de las unidades externas se pueden conectar a
cualquier computadora; no están atadas a un solo dispositivo, por lo que son una
solución decente para transferir archivos entre dispositivos.
Dispositivos de memoria flash
Mencionamos la memoria flash antes al hablar de los SSD. Un dispositivo de memoria
flash contiene millones de células de memoria flash interconectadas que almacenan
datos. Estas células contienen millones de transistores que, cuando se encienden o se
apagan, representan 1s y 0s en código binario, lo que permite a una computadora leer y
escribir información basada en la corriente eléctrica de los transistores.
Tal vez el tipo más reconocible de dispositivo de memoria flash es la unidad flash USB.
También conocidos como dispositivos de almacenamiento portátiles o simplemente
”USB”, estos pequeños dispositivos de almacenamiento portátiles han sido durante
mucho tiempo una opción popular para el almacenamiento adicional de la computadora.
Antes de que fuera rápido y fácil compartir archivos en línea, las unidades flash USB
eran básicamente esenciales para mover con facilidad los archivos de un dispositivo a
otro.
Hoy en día, una unidad flash USB puede contener hasta 2 TB de almacenamiento. Son
más caros por gigabyte que un disco duro externo, por lo que, aunque es poco probable
que alguien esté utilizando unidades de memoria USB para almacenar todos sus datos
personales, han prevalecido como una solución simple y conveniente para almacenar y
transferir temporalmente archivos más pequeños.
Además de las unidades USB, los dispositivos de memoria flash también incluyen
tarjetas SD y de memoria, que reconocerás como el medio de almacenamiento que se
utiliza en las cámaras digitales.
Dispositivos de almacenamiento óptico
Los CD, DVD y discos Blu-Ray se utilizan para mucho más que para reproducir música
y videos; también actúan como dispositivos de almacenamiento y, colectivamente, se
conocen como dispositivos de almacenamiento óptico o medios de disco óptico.
El código binario se almacena en estos discos en forma de minúsculas protuberancias a
lo largo de una pista que sale en espiral desde el centro del disco. Cuando el disco está
en funcionamiento, gira a una velocidad constante, mientras que un láser contenido en
la unidad de disco escanea las protuberancias del disco. La forma en que el láser refleja
o rebota en una protuberancia determina si representa un 0 o un 1 en binario.
Un DVD tiene una pista en espiral más estrecha que un CD, lo que le permite almacenar
más datos a pesar de tener el mismo tamaño, y en las unidades de DVD se utiliza un
láser rojo más fino que en las unidades de CD. Los DVD también permiten una doble
capa para aumentar aún más su capacidad. Blu-Ray llevó las cosas a otro nivel, con el
almacenamiento de datos en varias capas con protuberancias aún más pequeñas que
requieren un láser azul aún más fino para leerlos.
CD-ROM, DVD-ROM y BD-ROM hacen referencia a los discos de almacenamiento
óptico que son de solo lectura, lo que significa que los datos escritos en ellos son
permanentes y no se pueden eliminar ni sobrescribir. Se utilizan comúnmente para
programas de instalación de software, pero no se pueden utilizar como un dispositivo de
almacenamiento personal.
Los discos de formato CD-R, DVD-R y BD-R son grabables, pero no se pueden
sobrescribir. Cualquier dato que guardes en un disco grabable en blanco se almacenará
permanentemente en ese disco. Así que pueden almacenar datos, pero no son tan
flexibles como otros dispositivos de almacenamiento.
Los CD-RW, DVD-RW y BD-RE son regrabables, por lo que puedes escribir
continuamente nuevos datos en ellos y borrar los datos no deseados. Mientras que han
sido superados en gran medida por la nueva tecnología, como la memoria flash, los CD-
RW fueron durante mucho tiempo la primera opción para el almacenamiento externo: la
mayoría de las computadoras de escritorio y muchas computadoras portátiles tienen una
unidad de CD o DVD.
El CD puede almacenar hasta 700 MB de datos, el DVD-DL puede almacenar hasta
8,5 GB y el Blu-Ray puede almacenar entre 25 y 128 GB de datos.
Disquetes
Aunque en este momento pueden estar casi obsoletos, no podemos hablar de los
dispositivos de almacenamiento sin mencionar al menos el humilde disquete. Los
disquetes fueron los primeros dispositivos de almacenamiento portátiles y extraíbles
ampliamente disponibles. Funcionan de la misma manera que los discos duros, aunque a
una escala mucho menor.
La capacidad de almacenamiento de los disquetes nunca superó los 200 MB antes de
que los CD-RW y las memorias flash se convirtieran en los medios de almacenamiento
preferidos. El iMac fue la primera computadora personal que salió al mercado sin una
unidad de disco flexible, en 1998 y, a partir de entonces, el reinado de más de 30 años
del disco flexible se rechazó de forma muy rápida.
Almacenamiento en la nube
Aunque no es exactamente un dispositivo en sí mismo, el almacenamiento en la nube es
el tipo de almacenamiento más nuevo y versátil para las computadoras. “La nube” no es
un lugar u objeto, sino un enorme conjunto de servidores alojados en centros de datos de
todo el mundo. Cuando guardas un documento en la nube, lo estás almacenando en
estos servidores.
Debido a que todo se almacena en línea, el almacenamiento en la nube no utiliza ningún
almacenamiento secundario de la computadora, lo que te permite ahorrar espacio.
El almacenamiento en la nube ofrece capacidades de almacenamiento
significativamente mayores que las de las unidades flash USB y otras opciones físicas,
lo que te evita tener que examinar cada dispositivo para llegar al archivo que busques.
Si bien las HDD y los SSD externos se preferían en un primer momento por su
portabilidad, también se quedaron cortos en comparación con el almacenamiento en la
nube. No hay muchos discos duros externos aptos para bolsillos y aunque, por supuesto,
son más pequeños y ligeros que la unidad de almacenamiento interna de una
computadora, siguen siendo dispositivos tangibles de los que debes encargarte. La nube,
por otro lado, puede ir contigo a cualquier lugar adonde vayas sin ocupar ningún
espacio físico en absoluto y sin las vulnerabilidades físicas de un disco externo.
Los dispositivos de almacenamiento externo también fueron populares como una
solución rápida para transferir archivos, pero por supuesto, solo son útiles si puedes
acceder físicamente a cada dispositivo. La computación en la nube se esfuerza en un
momento en que muchas empresas ahora operan a distancia. Probablemente no
enviarías una unidad USB al extranjero solo para enviar un archivo pesado a un colega,
por lo que el almacenamiento en la nube actúa como un puente entre los trabajadores
remotos y hace que la colaboración desde lejos sea algo muy sencillo.
Si olvidas llevar un disco duro con documentos importantes a una reunión, no hay
mucho que puedas hacer aparte de volver y tomarlo. Si rompes o pierdes un disco duro
por completo, es poco probable que recuperes esos datos. Estos riesgos no existen para
el almacenamiento en la nube: tus datos están respaldados y se puede acceder a ellos en
cualquier momento y lugar, siempre que tengas acceso a Internet.

También podría gustarte