Entradas

Mostrando entradas de mayo, 2020

Describa la forma en la que se puede instalar un sistema operativo en la raspberry

Actualmente, existe una herramienta llamada Raspberry Pi Imager. Permite instalar un sistema operativo compatible con Raspberry de forma automática en una SD. Los pasos para utilizar esta herramienta son: 1. Descargar e instalar Raspberry Pi Imager 2. Conectar una memoria SD 3. Se abre la aplicación, y se escoge el sistema operativo que se desea instalar. 4. Se selecciona la memoria SD sobre la que se quiere instalar. 5. Simplemente se da clic en el botón Write, y debería comenzar el proceso.

Demuestre la forma en la que su raspberry es de finida como un servidor y al menos una herramienta que se se puede habilitar

En la clase se utilizo el servido Apache. Podemos convertir nuestra Raspberry en un servidor utilizando las librerías SimpleHTTPServer y SocketServer, con el puerto 8080. Ejemplo simple de un programa que permite convertir la Rasp en un servidor, al poder acceder remotamente a los archivos que estén en la carpeta que se encuentre este programa. def main():     port=8080     handler = SimpleHTTPServer.SimpleHTTPRequestHandler     httpd = SocketServer.TCPServer((“”,port),handler)     print(“Servicio en puerto ”)     print(port)     httpd.serve_forever() if _name==‘main_’:     main()

Suponga que un procesador para realizar una operación por el bus, requiere de 4 ciclos de reloj. ¿Cuál es la taza de transferencia máxima que el procesador puede establecer (en MBs), si el reloj es de 500MHz y el bus es de a)16 bits, b)32 bits y c) 64 bits?

500Mhz / 4 = 125 Mhz a) 125Mhz * 2 = 250Mhz b) 125Mhz * 4 = 500Mhz c) 125Mhz * 8 = 1000 Mhz

Explique la modularización de una computadora y la forma en la que llevo este concepto en la práctica que se llevo a cabo en este capítulo

Primero se debe explicar la modularizacion. Se refiere a dividir un problema en sus partes pequeñas, para poder realizar cada una por separado, y poder implementarlo sin problemas. De esa forma, si se cambian las especificaciones de una de las partes, las otras se quedarían exactamente igual, reduciendo el tiempo de adaptación por cambios. Lo mismo con una computadora. Una computadora esta dividida en muchos de sus componentes. Procesador, RAM, disco duro, tarjeta de vídeo, etc. En una computadora normal, si una de estas piezas falla, simplemente se sustituye. Pero en el caso de una computadora de una sola tablilla, realizar el cambio seria muy difícil por su pequeño tamaño. Ahora, en cuanto a la practica realizada, se dividió en dos partes la actividad. En una, utilizamos arduino para controlar una matriz LED para mostrar los mensajes en ella que mandaba el arduino. Posteriormente, se utilizo una Raspberry Pi para leer y escribir mensajes en una memoria. Al combinarlos, ...

De fina como se hace la comunicación de varios elementos en I2C y como se maneja una memoria bajo este protocolo de comunicación

El protocolo I2C permite conectar múltiples esclavos a las lineas de comunicación, gracias a que la comunicación se realiza utilizando las direcciones de los dispositivos. Al revisar la dirección del dispositivo a controlar, se pueden conectar una gran cantidad de dispositivos a las mismas lineas de comunicación, mientras dos dispositivos no compartan una misma dirección. En caso de que lo compartan, existen comandos para cambiar su dirección por una que no este ocupada. Manejar una memoria con el protocolo I2C es lo mismo que controlar cualquier otro dispositivo. Las instrucciones enviadas a la memoria serian de lectura y de escritura de datos, pero todo lo demás no debería cambiar.

Describa la forma en la que se habilita UART e I2C a partir de raspbian

Imagen
Hay dos métodos para activar el protocolo I2C y el protocolo Serial. El primero es utilizando linea de comando: sudo raspi-config Esto nos mostrara un menú, al cual tendremos que meternos en la quinta opción, "Interfacing options". Posteriormente, seleccionaremos ambas interfaces, y las habilitaremos Por ultimo, confirmamos. La segunda opción es con la interfaz gráfica: Abrimos el menú, y en la opción "Preferencias", daremos clic en Raspberry Pi Configuration. Se selecciona las interfaces que se desean activar. En este caso I2C y Serial. Después, simplemente confirmamos. Referencia: https://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/

Describa la forma en la que se de nen las computadoras de una sola tablilla como el caso de Raspberry

Una computadora de una sola tablilla, placa computadora, computadora de placa reducida, es una computadora completa en un solo circuito. Para ser considerada una, una computadora de tablilla debe tener un microprocesador, RAM, E/S, gráficos, y cualquier característica que le permita funcionar por si sola en una sola placa base, de tamaño reducido.

En un bus PCI-express se requiere de entender los conceptos de voltajes diferenciales, lane y link. Explique estos conceptos en un bus PCI-express x4

Al manejar transferencia de datos a altas frecuencias, se suele encontrar ruido, causando que la informacion recibida no sea del todo confiable. Esto se puede solucionar al utilizar un canal (lane) y un link. Se envia los datos por un bus de datos, y en el otro no. Al terminar de enviar los datos, se resta el canal al cual no se le envio nada, de lo recibido. Esto significaria que, si en un canal se encuentra la señal de los datos mas el ruido, y en el otro se encuentra solamente el ruido, al realizar una resta, se obtendria solamente los datos. Un bus PCI-E es una mejora al protocolo PCI, que utiliza dos canales para realizar full-duplex. Al ser full duplex, un PCI-E 3.0 puede tener 1 Gb/s direccional o 2 Gb/s en full duplex. En este caso, x4 significa la cantidad de canales que maneja. En este caso, x4 significa que puede alcanzar 2 Gb/s en full duplex.

Describa la importancia de tener jerarquías en los buses de datos de un procesador

Al definir jerarquías en los buses de datos, podemos especificar que una acción, ya sea de lectura o escritura, se ejecute antes que otra instrucción. Puede ayudarnos a prevenir problemas, como intentar leer un dato que aun no existe, o escribir en una variable, e inmediatamente sobrescribir este valor, sin antes haber utilizado el anterior. Es una forma de garantizar que no habrá problemas por intentar realizar una acción antes de que se pueda realizar de forma segura.

Describa el mapeo en memoria para un procesador con interrupciones habilitadas

Un procesador con interrupciones habilitadas funcionara igual que un procesador sin interrupciones habilitadas. Ejecutara las instrucciones de forma habitual, hasta detectar una interrupción activándose. Si esto sucede, detendrá el flujo normal del programa, guardando el estado actual de los registros, en que instrucción se encontraba, etc, y saltara al espacio de memoria que le solicite la interrupción. Una vez hecho esto, realizara la interrupción, y cuando esta acabe, regresara al lugar en el que se encontraba. Por lo regular, al saltar a una instrucción de interrupción, detiene temporalmente la activación de otras interrupciones, para evitar quedarse atorado constantemente en un ciclo de interrupciones.

¿Qué es un ciclo de instrucción y qué se obtiene al implementar pipelining en el diagrama de estado?

Un ciclo de instrucción es el periodo que tarda la unidad central de procesamiento (CPU) en ejecutar las instrucciones en lenguajes maquina. Esto quiere decir, es el tiempo que tarda el CPU en obtener la definición de la operación, los datos sobre los cuales va a trabajar, realizar la operación, y guardar el resultado. Pipelining: es una técnica para implementar simultaneidad a las instrucciones dentro de un solo procesador. Intenta mantener ocupada cada parte del procesador, al dividir las instrucciones en pasos secuenciales, que se realizan por diferentes partes del procesador que trabajan de forma simultanea. Es una técnica usada para aumentar la velocidad de ejecución de múltiples instrucciones.

Empleando Marie, desarrolle un ejemplo que permita comprender la forma en la que se puede visualizar los registros de la arquitectura de la computadora como se muestra en la imagen. Use un programa que le permita usar el mayor número de registros (de preferencia todos)

Imagen
https://youtu.be/5Hjsx5erEiE Se adjunta el enlace a un vídeo con una actividad anterior que explica el uso de los registros usando un programa que obtiene el promedio de cincuenta números.

¿Qué son y para que sirven los registros de OPCODE y ADDRESS?

Los OPCODE, que significa codigo de operacion (OPeration COde), es la porción de una instrucción de lenguaje de maquina (ensamblador) que especifica la operación a ser realizada. Su formato y especificación son decididos por la arquitectura en la que se utilicen, pudiendo cambiar su tamaño. El ADDRESS es la porción de una instrucción que decide en donde se realizara esta instrucción. Puede indicar donde se guardara un resultado, de donde se obtendrá un dato, etc., dependiendo de el OPCODE que le preceda. Referencias: http://bitsavers.trailing-edge.com/components/intel/MCS4/MCS-4_Assembly_Language_Programming_Manual_Dec73.pdf

Diferencias entre las arquitecturas Von-Newmann y Harvard

Arquitectura Von-Newmann: La arquitectura Von-Newmann consiste en una unidad de control, una unidad lógica y aritmética (ALU), una unidad de memoria, registros, y entradas/salidas. Guarda las instrucciones y los datos en una misma memoria (registro). Al tener las instrucciones (programa) y los datos en un mismo registro, solo requiere de un bus de datos. Arquitectura Harvard: A diferencia de la arquitectura Von-Newmann, la arquitectura Harvard guarda las instrucciones en un registro, y los datos en otro registro. Esto crea la necesidad de dos bus de datos. Diferencias Ventajas Von-Newmann sobre Harvard:  Al requerir un solo bus de datos, requiere menos espacio. Manejar un solo espacio de memoria puede resultar mas sencillo Al requerir menos espacio y hardware, puede resultar mas barato Ventajas Harvard sobre Von-Newmann:  Al compartir un espacio de memoria, la arquitectura Von-Newmann, un programa defectuoso puede sobrescribir otro programa, causando...