LordPakus
Usuario (España)
Una cosa que siempre me ha hecho gracia es que generalmente los que saben bastante de electrónica no dominan demasiado de programación y los que son buenos programando generalmente no tienen ni idea de electrónica . Vamos a hacer un repaso superrápido sobre electrónica para que seáis capaces de entender las bases y si queréis poder introduciros en este fascinante mundo. La idea es que sin necesidad de saber nada de electrónica podáis acabar entendiendo como está hecho un procesador. Antes de tocar la electrónica digital deberemos hacer un repaso de los fundamentos físicos que envuelven la electrónica. Cuando trabajamos con electrónica (o con electricidad) hemos de tener una cosa muy clara y es que estamos estudiando como se comporta un flujo de electrones . A grandes rasgos podemos decir que la corriente que pasa por un cable tanto en un circuito de alta tensión como en la instalación electrica de casa como en las pistas de una placa integrada tiene tres características principales: - Voltaje: Es la "fuerza" con la que los electrones se mueven por el cable, cuanto más voltaje tienen más energía tienen esos electrones y son capaces de desarrollar más trabajo. (esto no es del todo cierto, pero nos ayudará a entenderlo). Se mide en Voltios (V). Para que os hagáis una idea en la mayoría de los hogares hay una corriente de entre 110-230 Voltios dependiendo de vuestro país y zona. Una pila normal tiene 1,5 V. - Intensidad: Es la cantidad de electrones por unidad de tiempo que circula por ese cable. Cuanta más intensidad más electrones y por lo tanto más potencia podremos acabar desarrollando. Se mide en Amperios (A) . En los hogares la entrada de corriente suele ser de entre 10 A y 60 A. Un circuito integrado acostumbra a gastar mili amperios (algunos incluso micro, nano o pico amperios) - Frecuencia: La frecuencia es el número de veces que el voltaje y la intensidad van fluctuando por segundo. Se mide en Herzios (Hz). Es complicado de explicar, así que lo resumiré en que la corriente se distribuye(llega a nuestros hogares) de forma alterna (es decir, con una cierta frecuencia) ya que así se reducen muchísimo las perdidas de transmisión de la energía pero que la mayoría de dispositivos utilizan la corriente de forma continua (es decir, con frecuencia = 0), teniendo que transformarla primero. La fuente de alimentación de vuestro PC con el que estáis viendo este post o el cargador de vuestro smartphone lo que hacen es alimentarse de corriente alterna a 220V y 50 Hz (por ejemplo) para proporcionar una corriente de entre 5 y 12 V continua. Hay un cuarto factor importante que es un resultado de los anteriores, la potencia. La potencia , para el caso de frecuencia 0 Hz, que es nuestro caso , se describe como producto de la intensidad por el voltaje. P = I * V En cierto modo es lógico, ya que lo que estamos diciendo es que cuanto más voltaje, más energía por electrón y cuanta más intensidad más número de electrones, así que, aumentando cualquiera de ellos, tendremos más energía por unidad de tiempo (que es la definición de la potencia ) Más potencia significa que nuestro motor podrá girar más rápido, que nuestra bombilla hará más luz o que nuestro procesador podrá hacer procesos más rápidos. La resistencia es la virtud de oponerse al paso de electrones y es la característica principal de los resistores. Se mide en ohms y se rige por la ley de Ohm. V = I * R Si a una resistencia le hacemos circular mucha corriente, significa que va haber mucha diferencia de voltaje entre sus extremos, si aumentamos la diferencia de voltaje entre los extremos de una resistencia va a aumentar la intensidad que circule por ella. La capacidad es la virtud de almacenar electrones de forma momentánea y es la característica principal de los capacitores (condensadores). La relación entre voltaje e intensidad depende del tiempo y de las características del resto del circuito eléctrico o electrónico, así que lo dejaremos para otro post. La inductancia es la virtud de oponerse al paso de electrones de forma momentánea y es la característica principal de los inductores (bobinas) . Nuevamente, la relación entre voltaje e intensidad depende del tiempo y de las características del resto del circuito eléctrico o electrónico, así que también lo dejaremos para otro post. Una vez tenemos claros los conceptos físicos deberemos ver de que componentes podemos disponer cuando queremos montar un circuito: Los componentes electrónicos se pueden dividir en dos grandes grupos: los pasivos y los activos. Los componentes pasivos son aquellos que no necesitan energía para realizar su función. Hay 4 tipos de componentes pasivos principales: - Resistores: Las resistencias son unos componentes que su funcionalidad es "robar" energia a la corriente que circula por ella. Se oponen al paso de la electricidad y por ello se calientan y disipan energia en forma de calor. Su funcionlidad puede ser muy diversa pero normalmente se usan para proteger otros componentes o sencillamente para reducir el paso de corriente por alguna zona. - Inductores: Las bobinas son los inductores por excelencia y no son más que un cable muy y muy largo enrollado en un espacio pequeño. A efectos prácticos es como decir que retrasan la corriente, como si los electrones tuvieran que recorrer más camino para llegar hasta su destino. Si le pones una corriente continua (como la de una pila) al principio se opondrá a su paso, pero al cabo de un tiempo dejará que pase la corriente como si fuera un cable. Se utilizan normalmente como protección o bien en circuitos de frecuencia por su comportamiento cambiante con el tiempo. - Condensadores: Los condensadores son dos placas de metal muy y muy juntas, tanto que la corriente se "piensa" que puede pasar por ellas y se van acumulando los electrones en las placas. Su comportamiento delante la corriente continua es que al principio deja pasar la electricidad hasta que al cabo de un tiempo los electrones se acumulan y deja de pasar corriente.Igual que las bobinas se utilizan normalmente como protección o bien en circuitos de frecuencia por su comportamiento cambiante con el tiempo. - Diodos: Los diodos son un tipo de componente pasivo muy especial formados por dos trozos de material semiconductor cuya propiedad principal es dejar que la corriente pase solo hacia un sentido. Se utilizan como protección, en circuitos de comparación ,etc... Los componentes activos son aquellos que necesitan energía para realizar su función. Aunque hay muchos tipos de componentes activos me centraré solamente en dos. - LED: Diodo emisor de luz. Electricamente, es lo mismo que el diodo pasivo, solamente que emite luz, por lo tanto, es activo al necesitar energia para relizar su función (emitir luz). Aunque se comporte igual que el diodo pasivo su funcionalidad principal es la de indicación de alguna característica (por ejemplo , la luz de encendido del PC o muchos faros de coches actuales funcionan con LEDs) - Transistores: Un transistor no es más que un dispositivo con tres conexiones. La conexión central habilita la conexión entre las otras dos entre si. Es decir, es algo así como un interruptor de corriente controlado por corriente. Aparte de eso también tiene funciones de amplificación ya que una corriente muy pequeña en la entrada del "interruptor" puede dejar pasar un corriente bastante más elevada entre sus conectores. Sus aplicaciones son incontables pero las más notables son en circuitos de amplificación de señal (equipos de sonido, receptores de radiofrecuencia, antenas de teléfonos móviles, etc...) y en la creación de dispositivos digitales. Los transistores son la base de la electrónica digital actual. Sin ellos no podrían existir los procesadores, los ordenadores, internet,etc... Con los transistores podemos crear un dispositivo electrónico llamado puerta lógica Las puertas lógicas son los dispositivos digitales más sencillos que existen y se encargan de realizar operaciones de lógica binaria entre pocas variables. Las puertas lógicas de dos bits de entrada mas importantes son: - Puerta OR: También conocida como suma lógica. Su comportamiento se podría reducir a : "Si alguna de las entradas vale 1, la salida vale 1" Con transistores esta puerta se haría así: - Puerta AND: También conocida como multiplicación lógica. Su comportamiento se podría expresar como: "Si alguna de las entradas vale 0, la salida vale 0" - Puerta XOR: También conocida como suma exclusiva. Su funcionamiento es: "Si las dos entradas son diferentes, la salida es 1, si son iguales la salida es 0" Aparte de estas puertas lógicas de dos entradas hay un importantísima de 1 entrada, la puerta NOT. Esta puerta lo que hace es negar la señal de entrada. Es decir si recibimos un 0, sacamos un 1 y viceversa. Gracias a la puerta NOT también son conocidas las puertas NOR, NAND y XNOR que son equivalentes a sus homologas pero con la salida negada.(mismo símbolo pero con una redonda en la salida) - Puerta NOR - Puerta NAND - Puerta XNOR Aparte de estas puertas lógicas hay otras no estandarizadas pero que ciertos fabricantes han ido encapsulando en sus chips por que se usaban con cierta regularidad. Ejemplos de ello son puertas de 8 entradas (o más), puertas con alguna entrada negada o combinaciones de puertas para realizar alguna función un poco más elaborada. Con estas puertas lógicas se pueden desarrollar circuitos binarios más complejos gracias al álgebra de Boole : El álgebra de Boole es un sistema de elementos con valores 0 o 1 y los operadores binarios AND (·), OR (+) y NOT ( ' ). Estas operaciones cumplen ciertas propiedades: 1. Conmutativa: A + B = B + A y A·B = B·A 2. Distributiva A·(B+C) = A·B + A·C y A+ B·C = (A+B)·(A+C) 3. Elemento neutro A+ 0 = A y A·1 = A 4. Complemento A+A' = 1 y A·A' = 0 Teoremas: - Principio de dualidad : Si se intercambia + por · y 1 por 0 el resultado de la operación binaria es el mismo. - Elementos nulos: A +1 = 1 y A· 0 = 0 - Idempotencia: A+A = A y A·A = A - Involución: (A')' = A - Absorción: A + A·B = A y A·(A+B) = A - Leyes de Morgan: (A+B)' = A'·B' y (A·B)' = A'+B' Tablas de verdad: Una vez tenemos claros los conceptos del algebra de boole se ha de ver como se representa la información con la que vamos a trabajar. Lo más usual en diseño electrónico digital es usar las tablas de verdad. x3,x2,x1,x0 son las entradas F es la función binaria que nos dará una cierta salida. Teniendo las puertas lógicas y un álgebra de Boole que nos permite diseñar funciones más complejas podemos llegar a diseñar circuitos digitales sencillos : En el fondo es bastante sencillo, las puertas lógicas nos ofrecen la posibilidad de tener una salida ( 0 o 1 ) en funció de dos entradas binarias (ambas pueden ser 0 o 1). Combinando diferentes puertas lógicas podemos elaborar módulos (circuitos digitales) con funcionalidades muy concretas y útiles. Por ahora solo os voy a explicar 3 circuitos muy sencillos (existen decenas de miles) que nos servirán de base para construir más cosas encima: - Multiplexor: Un multiplexor es un dispositivo digital que permite seleccionar una de sus entradas y ponerla en la salida. El esquema del funcionamiento seria el siguiente: A modo de ejemplo, se pareceria un poco a la instruccion switch de C switch(sel) { case 0: return I0; case 1: return I1; case 2: return I2; case 3: return I3; etc etc etc } A nivel de puertas lógicas se puede implementar de la siguiente manera: - DeMultiplexor: Como todos supondreis, el demultiplexor es un dispositivo digital que realiza la función contraria al multiplexor, es decir, mediante una entrada de selección se decide a que salida se quiere que se vaya la entrada. El funcionamiento es el siguiente: Mediante puertas lógicas se podría implementar así: - Sumador: Como su nombre indica un sumador es un dispositivo digital que realiza la operación matemática de sumar dos números. El circuito lógico para sumar dos bits seria el siguiente: Este circuito se puede ir replicando para obtener circuitos que sumen números de 8, 16,32 o el número de bits que queramos. Aunque no os lo parezca, estos circuitos son la base esencial sobre la que se construyen los procesadores de hoy día, así que creo que vale la pena conocerlos. Una vez tenemos circuitos sencillos, podemos incluirles la componente memoria : Para realizar circuitos de dimensiones grandes o de una cierta complejidad se ha de tener un mínimo de capacidad de recordar que ha pasado antes. Los circuitos que almacenan información más usuales son: Contadores Un contador no es más que un dispositivo que se encarga de ir contando cuantos pulsos a tenido en su entrada. En principio no tendría mucha más utilidad que la que podría tener en algún que otro circuito concreto pero realmente es de gran utilidad en los procesadores. (básicamente el circuito que gestiona el reloj del procesador es un contador) El esquema de un contador es más o menos el siguiente: Vcc y GND: alimentación del circuito A,B,C y D son el valor inicial con el que queremos cargar el contador Load: Es la señal que indica que se ha de cargar A,B,C y D dentro del contador Clear : Es la señal que indica que el contador se ha de poner a 0. Carry y Borrow: Se usan para conectar diferentes contadores en cascada. Qa,Qb,Qc y Qd son lel valor de cuanto vale el conador en ese momento. Down y Up: Son las señales para incrementar o decrementar el valor del contador. Memorias Como todo el mundo sabe, las memorias son dispositivos para almacenar datos. Se pueden implementar mediante puertas lógicas, pero actualmente se desarrollan directamente con 1 transistor (es bastante complicado de explicar), así que no tiene mucho sentido que le demos vueltas a como están hechas sino a cual es su funcionamiento. Una memoria típica tiene las siguientes conexiones: - Una entrada para habilitarnos el funcionamiento del chip (CE: Chip Enable o CS: Chip Select) - Otra para decirnos si vamos a leer o escribir (R/W) - Opcionalmente pueden tener una entrada para permitir la salida de datos (OE: Output enable). normalmente es donde conectaremos el reloj del sistema para tener nuestro diseño sincronizado. - Un conjunto de bits de entrada sirven para decir en que dirección de memoria vamos a guardar o leer el valor en concreto que nos interesa (A0..A13) - Un conjunto de bits que conformarán el valor que vamos a grabar en memoria (si ello es necesario) (D0..D7) - En estos bits D0..D7 nos devolverá el valor almacenado en la dirección que le hayamos proporcionado si era una operación de lectura. A este esquema de funcionamiento responde tanto la RAM de nuestro PC como los registros internos de nuestro procesador Ya lo tenemos todo? No, nos falta la pieza básica de un procesador que podríamos llegar a diseñar nosotros con nuestras propias manos una ALU Una ALU no es más que un conjunto de operaciones digitales seleccionables (mediante un multiplexor) realizadas mediante puertas lógicas. Es algo así como una librería de programación pero hecha a nivel de electrónica. A y B son los operandos. Por ejemplo dos números que queramos sumar. F es la selección de la función que queremos implementar. Por ejemplo, sumar. R es el resultado de la operación D son los flags de estado de la operación: Problemas que pueda haber en la operación, si el resultado es 0, etc... Como está hecha una ALU a nivel de puertas lógicas? Este es un ejemplo muy muy sencillo de como se podría hacer un ALU de lo más sencillo posible. Como se une la ALU al resto del procesador? La ALU, para funcionar , necesita de otros elementos digitales para poder funcionar, principalmente, memorias. Cuantas más operaciones nos permita hacer la ALU más compleja será esta y más versatilidad tendrá. Para que os hagáis una idea, la ALU que podría tener un despertador no le haría falta mucho más que un par de operaciones ( sumar y comparar) mientras que la ALU del procesador de vuestro computador de bien seguro que tiene más de 1000 operaciones. Aquí acaba el post. Realmente podríamos seguir adelante hablando de las aceleradores gráficas o de los multicore, pero realmente el objetivo es que tengáis la idea básica de como están hechos los procesadores. No vine aquí por los bits, pero si os sobra alguno..
Hola, De mientras que se cargan las imágenes te voy a contar una historia. Hace tiempo sufría de problemas inflamatorios en las articulaciones ( un problema hereditario, mi padre no me dejó dinero al morir pero si un código genético fastuoso) , así que fui al médico. Me recetó antiinflamatorios quimícos ( cortisona, tramadol, ibuprofeno, baclofeno, etc...) que entre otros efectos secundarios me jodieron el estomago hasta generarme una hernia de hiato y una úlcera. Volví al médico para explicarle que tenía el estomago jodido y me dio protectores de estomago. Al cabo de un tiempo me sentía muy débil , soñoliento y que no me daban las fuerzas para nada. Volví al médico y por lo visto los protectores de estomago me habían generado una anemia. Me recetó hierro. Ya antes de adquirirlo en la farmacia pregunté los efectos secundarios del hierro y me dijeron que descomposición intestinal y/o estreñimiento, y que ellos me vendían (fuera de receta) unas pastillas naturales buenísimas para el estomago a un precio desorbitado, evidentemente. Resumiendo: Problema inflamatorio > Problema Estomacal > Anémia > Estreñimiento > Robo > ...?? Llegué a la conclusión que si seguía yendo al médico no acabaría el año con vida, así que me busqué la vida a nivel de remedios naturales y vi que la dieta antiinflamatoria podía funcionar. La dieta antiinflamatoria se basa en reducir ( o eliminar ) las carnes rojas y los azúcares (ambos elementos muy inflamatorios) y aumentar la ingesta de los alimentos que teneis en la lista de abajo. Tan sencillo como eso. No me hago responsable de vuestra salud ( antes de hacer ninguna dieta hablar con vuestro médico) pero os puedo decir que tanto a mi, como a mi mujer como a amigos que se lo he explicado funciona. Elimina o reduce gran parte de los dolores inflamatorios ( casi todos los dolores son inflamatorios) y es indicado en gente deportista, con problemas degenerativos o con enfermedades graves como la Esclerosis Múltiple Si queréis saber más podéis clickar en el link de cada elemento y podréis aprender más sobre cada antiinflamatorio natural. 1.Cúrcuma 2.Pimienta negra 3.Pimienta de cayena 4.Jengibre 5.Ajo 6.Canela 7.Eneldo 8.Piña 9.Papaya 10.Limón 11.Manzana 12.Fresas 13.Moras 13.Aguacate 14.Cerezas 15.Vitamina C 16.Vitamina D 17. Ácido salicílico 18. Curcumina 19. Piperina 20. Salmón 21. Aceite de Oliva Si os ha gustado, comentad y dejar algún puntillo si os apetece. Si tenéis dudas no vaciléis en preguntarlas.