domingo, 25 de septiembre de 2016



Cuestionario 2        

1.    ¿Es un sistema digital que transfiere datos?
         BUSES DE UN COMPUTADOR

2.    ¿Cuál es el bus solamente es capaz de transferir los datos bit a bit?
         SERIE

3.    El bus solamente es capaz de transferir los datos bit a bit
         EL BUS SOLAMENTE ES CAPAZ DE TRANSFERIR LOS DATOS BIT A BIT

4.    ¿Cuál es la función del bus de un computador?
La función del bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital

5.    La mayoría de los buses están basados en…
Conductores metálicos

6.    ¿Cómo se transfieren los datos en el bus de un computador?
Por medio de señales eléctricas

7.    Los buses definen su capacidad de acuerdo a la …
Frecuencia

8.    Todos los buses de computador tienen funciones especiales como las…
 Interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el mínimo de recursos.

9.     gobierna el uso y acceso a las líneas de datos y de direcciones
Bus de Control

10. ¿Cuál es el bus de control?
Es el que gobierna el uso y acceso a las líneas de datos y de direcciones

11. . Las señales de control transmiten…
Tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema.

12. Es un bus en el cual los datos son enviados por bytes al mismo tiempo…

BUS PARALELO


13. ¿Cuál es el bus Paralelo?
Es un bus en el cual los datos son enviados por bytes al mismo tiempo

14.  son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación
Las líneas de dirección

15. ¿Qué son las líneas de dirección?
Son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación

16. son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado…
Las líneas de dirección

17. transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
Líneas de Datos

18. ¿Cuáles son las líneas de datos?
Transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.

19. ¿Qué es bus de direcciones?
Es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.


20. ¿Qué es lenguaje maquina?
Es el sistema de códigos directamente interpretable por un circuito micro programable.

21. Los circuitos micro programables son…
Digitales.

22. Los circuitos digitales se trabajan en…
Álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.

23. es el único lenguaje que entiende directamente la computadora…
Lenguaje máquina

24. Es el lenguaje que utiliza el alfabeto binario
El lenguaje máquina

25. El lenguaje maquina al finalizar se debe…
Compilar

BUSES DE UN COMPUTADOR


En arquitectura de computadores, el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre varias computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados.
Existe dos tipos de transferencia en los buses:

  1. Serie: El bus solamente es capaz de transferir los datos bit a bit. Es decir, el bus tiene un único cable que transmite la información.
  1. Paralelo: El bus permite transferir varios bits simultáneamente, por ejemplo 8 bits.
  1. La frecuencia de reloj en el bus paralelo tiene que ser más reducida.
  1. La longitud de los cables que forman el bus está limitada, ya que a partir de determinada longitud la probabilidad de que los bits lleguen desordenados es elevada.
diagrama de un bus

Aunque parece mucho mas eficiente la transferencia en paralelo, esta presenta inconvenientes:
Además, los modernos buses serie están formados por varios canales: En este caso se transmite por varios buses serie simultáneamente.
En los primeros computadores electrónicos, era muy habitual encontrar buses paralelos, quedando los buses serie dedicados para funciones de menor entidad y dispositivos lentos, como el teclado.
La tendencia en los últimos años es reemplazar los buses paralelos por buses serie (que suelen ser multicanal). Estos son más difíciles de implementar, pero están dejando velocidades de transferencia mas elevadas, y permitiendo longitudes de cable mayores.

Se denomina bus, en informática, al conjunto de conexiones físicas (cables, placa de circuito impreso, etc.) que pueden compartirse con múltiples componentes de hardware para que se comuniquen entre sí. 
El propósito de los buses es reducir el número de rutas necesarias para la comunicación entre los distintos componentes, al realizar las comunicaciones a través de un solo canal de datos. Ésta es la razón por la que, a veces, se utiliza la metáfora "autopista de datos". 

En el caso en que sólo dos componentes de hardware se comuniquen a través de la línea, podemos hablar de puerto hardware ( puerto serial o puerto paralelo)

FUNCIONAMIENTO

La función del bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos órdenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras.
La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.
Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.
Todos los buses de computador tienen funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el mínimo de recursos.

BUS DE CONTROL

El bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Como éstas líneas están compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema.

BUS PARALELO

Es un bues en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras.
El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en líneas dedicadas:
  • Las líneas de dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.
  • Las líneas de control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado.
  • Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de cómputo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las línea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.

BUS SERIAL

En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Aunque originalmente fueron usados para conectar dispositivos lentos (como el teclado o un ratón), actualmente se están usando para conectar dispositivos mucho más rápidos como discos duros, unidades de estado sólido, tarjetas de expansión e incluso para el bus del procesador.
Resultado de imagen para bus serie


BUS DE DIRECCIONES


La memoria RAM es direccionable, de forma que cada celda de memoria tiene su propia dirección. Las direcciones son un número que selecciona una celda de memoria dentro de la memoria principal o en el espacio de direcciones de la unidad de entrada/salida.
El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.
El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bits del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus.
Resultado de imagen para bus de direcciones informatica

BUSES MULTIPLEXADOS

Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa.
Resultado de imagen para bus de control del computadorResultado de imagen para buses multiplexados

domingo, 18 de septiembre de 2016


LENGUAJE MAQUINA




El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontroladorde un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.




Los circuitos microprogramables son digitales, lo que significa que trabajan con dos únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías delálgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.




El desarrollo tecnológico ha permitido evolucionar desde las redes de relés electromagnéticos a circuitos con tubos de vacío, luego a redes transistorizadas, hasta llegar a los modernos circuitos integrados, en cuya cúspide se encuentran los circuitos microprogramados. Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y con sus experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de Boole a las redes de conmutación. Una red de conmutación es un circuito de interruptores eléctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la salida. Este concepto es el núcleo de las puertas lógicas, las cuales son, por su parte, los ladrillos con que se construyen sistemas lógicos cada vez más complejos. Shannon utilizaba el relé como dispositivo físico de conmutación en sus redes, dado que el relé, a igual que una lámpara eléctrica, posee dos estados: activado (encendido) o desactivado (apagado).





Fue el primer lenguaje utilizado en la programación para las primeras computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, y que además reducen la posibilidad de cometer errores.



La información que hace que el hardware de la computadora realice una determinada actividad de llama instrucción, por consiguiente una instrucción es un conjunto de unos y ceros, las instrucciones así formadas equivalen a acciones elementales de la máquina, por lo que al conjunto de dichas instrucciones que son interpretadas directamente por la máquina se denomina lenguaje máquina.




El lenguaje máquina es el único lenguaje que puede ejecutar una computadora, es específico en cada arquitectura, es un código que es interpretado directamente por el microprocesador, está compuesto por un conjunto de instrucciones ejecutadas en secuencia que representan acciones que la máquina podrá tomar.



El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits; físicamente, se materializan con tensiones comprendidas entre 0 y 4.0 voltios y entre 4 y 5 voltios, respectivamente. Para representar datos que contengan una información se utilizan una serie de unos y ceros cuyo conjunto indica dicha información.



Todo código fuente en última instancia debe llevarse a un lenguaje máquina mediante el proceso de compilación o interpretación para que la computadora pueda ejecutarlo.






Las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes, el comando u operación, que dice a la computadora cuál es la función que va a realizar y la instrucción es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras, una instrucción en lenguaje máquina puede, por ejemplo, representarse de la siguiente forma:


011011001010010011110110


Esta secuencia es fácilmente ejecutada por la computadora, pero es de difícil interpretación, siendo aun más difícil la interpretación de un programa escrito de esta forma, esta dificultad hace que los errores sean frecuentes y la corrección de los mismos costosa, cuando no imposible, al igual que la verificación y modificación de los programas.


Como se puede observar, estas instrucciones serán fáciles de leer por la computadora y difíciles por un programador, y viceversa, esta razón hace difícil escribir programas en código o lenguaje a máquina y requiere buscar otro lenguaje para comunicarse con la computadora, pero que sea más fácil de escribir y leer por el programador. Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han diseñado otros lenguajes de programación que facilitan la escritura y posterior ejecución de los programas.




EJEMPLO


Las ventajas de esto son evidentes, ya que para el hombre resulta más fácil manipular grupos de caracteres y la traducción se haría de manera automática.

domingo, 11 de septiembre de 2016

cuestionario



  1. Qué es el lenguaje ensamblador?
Es un lenguaje de programación de bajo nivel

     2.¿Por qué no es portable?

Un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta.



     3.¿Que nos ayuda a implementar?
                 
Una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador

     4.¿Como se define la arquitectura de un procesador?

Se define por el fabricante de hardware y tiene su propio lenguaje ensamblador

     5.¿Qué significa CoSeL?

Construction Set Languaje.




     6.¿En qué momento fue usado el lenguaje ensamblador?

Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados.


     7.¿Para qué se utiliza en la actualidad?

Se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido.

     8.¿Que es un mnemónico?

Simbolizan las instrucciones, los registros del procesador, las posiciones de memoria y otras características del lenguaje.





     9.¿Por qué es difícil comprenderlo?

Porque su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel.


     10.¿Para qué nos puede servir un lenguaje ensamblador?

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador

      11.¿Qué es el diseño del lenguaje?

Un lenguaje de programación.



     13.¿Cuál es el objetivo del diseño del lenguaje?

Está pensando para la programación evolutiva.

      14.¿Para qué se utiliza este tipo de lenguaje?

Para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.


     15.¿En qué consiste el diseño del lenguaje?

En un método de programación basado en un ciclo de prueba y error donde se refina un programa hasta conseguir que haga lo que queremos.

     16.¿En donde podemos aplicar esta forma de programar?

Donde se desconoce que algoritmo nos llevará a la solución.


      17.¿Para qué se debe usar el estado de interacción?

De esta forma se evita repetir la ejecución de las instrucciones necesarias para llegar al estado de ejecución donde queremos realizar pruebas.

       18.¿Como implementa CoSeL el estado de interacción?

Implementa esta característica mediante un ámbito global dinámico que guarda funciones y variables mientras se utiliza el intérprete.

       19.¿Para qué es la integración?

Para la mayoría de campos se encuentran librerías que implementan las operaciones más comunes.

      20.¿Qué es un lenguaje de bajo nivel?

Un lenguaje de programación de características bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan.

     21.¿Por qué se le llama lenguaje de bajo nivel?

Porque se refiere a la reducida abstracción entre el lenguaje y el hardware.




      22.¿Cuál es el lenguaje de primera generación?

El lenguaje de programación de primera generación, es el lenguaje de código máquina.

       23.¿Cuál es el lenguaje de segunda generación?

El lenguaje de programación de segunda generación, es el lenguaje ensamblador.

     24.¿En que consiste el lenguaje ensamblador?
            
Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadoresmicroprocesadoresmicrocontroladores y otros circuitos integrados programables.


   25.¿Para que un lenguaje sea efectivo en programación evolutiva tiene que facilitar?

La interacción, la modificación del programa y aportar instrucciones de alto nivel cercanas al problema.

      26.¿Qué se debe hacer en el estado de interacción?

Entre prueba y prueba es interesante guardar el estado de ejecución.