lunes, 25 de mayo de 2015

Registros de banderas

Son aquellos que se emplean para controlar las instrucciones empleadas en el procesador y tienen una capacidad de 4 bits hasta 64 bits, los registros de banderas tienden a cambiar cuando cuando las instrucciones piden comparaciones o también cálculos matemáticos, estas son los registros de banderas.


OF (Over flow flag, desbordamiento).
Indica el desbordamiento de un bit de orden alto (mas a la izquierda) después de una operación aritmética.

DF (Direction flag, Direccion).
Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres.

IF (Interruption flag, Interrupcion).
Indica que una interrupción externa, como la entrada desde el teclado sea procesada o ignorada.

TF (Trap flag, Trampa).
Examina el efecto de una instrucción sobre los registros y la memoria. Los programas depuradores como DEBUG, activan esta bandera de manera que pueda avanzar en la ejecución de una sola interrupción a un tiempo.

SF (Sign flag, Signo).
Contiene el signo resultante de una operación aritmética (0=positivo y 1= negativo).

ZF (Zero flag, Zero).
Indica el resultado de una operación aritmética o de comparación (0= resultado diferente de cero y 1=resultado igual a cero).

AF (Auxiliary carry flag, Acarreo auxiliar).
Contiene un acarreo externo del bit 3 en un dato de 8 bits, para aritmética especializada

PF (Parity flag, Paridad).
Indica paridad par o impar de una operación en datos de ocho bits de bajo orden (mas a la derecha).

CF (Carry flag, Acarreo).
Contiene el acarreo de orden mas alto (mas a la izquierda) después de una operación aritmética; también lleva el contenido del ultimo bit en una operación de corrimiento o rotación.

registros banderas tomado de http://www.monografias.com/trabajos7/regi/regi.shtml


imagen tomada de https://vidadigital.com.mx/es/sistema-operativo/%C2%B5cronos/doc/un-micron%C3%BAcleo-para-sistemas-operativos-din%C3%A1micamente-extensibles/plataforma-hardware/

Arquitectura del procesador RISC

RISC ( reduced instruction set computer) es un diseño de utilizados generalmente en los microprocesadores, que consta de instrucciones con tamaño fijo y que representan en formatos muy reducidos y aqui solo las instrucciones de carga y almacenamiento acceden a la memoria de datos, las instrucciones de la arquitectura RISC toman menos tiempo en ejecutarse.

microprocesador RISC 

Maquina virtual DosBox

imagen tomada de http://mundofrikada.blogspot.com/2015_03_01_archive.html


Dosbox se le conoce así al emulador x86 o simulador del sistema operativo MS-DOS en cual podemos ejecutar programas y a su ves diseñarlos recreando una apariencia de que estuviéramos usando el sistema operativo DOS, actualmente es un software libre o código abierto puede ejecutarse en cualquier sistema operativo.

 
imagen realizada por el autor.

comandos debug.

lunes, 23 de marzo de 2015

Unidad aritmetico logica

conocida por su sigla ALU, es una parte del pc, donde en su interior encontramos circuitos digitales que realizan operaciones lógicas y aritméticas como son : aritméticas ( suma, resta, multiplicación, división entre otras) y lógicas ( si, y, o, no ), operaciones de desplazamiento, ALU es una sigla en ingles por tanto significaría algo como esto ( arithmetic logic unit ), las operaciones se realizan con dos operando y estos se realizan cargando los operando en el acumulador AC.










imagen tomada de:
http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica


A, B: son datos de entrada
F: es la unidad de entrada de control
R: salida
D: estado de la salida

la ALU siendo específicos la encontramos dentro del procesador ya que los circuitos de los procesadores son muy complejos, rápidos y potentes por eso podemos realizar ejercicios muy complejos y en parte en gracias a la ALU. por tanto si un procesador pose 4 núcleos en su interior, estos a su vez una ALU cada uno. la ALU se compone básicamente de circuitos operacionales, registros de entrada y registros(A, B) de acumulador (AC) y un también registros de estados, la mayoría de las acciones de la computadora son realizadas por la ALU este toma datos del registro del procesador estos son procesados y el resultado de dichas operaciones se almacena en los registros de la salida ALU ( R), la ALU no funciona por si sola esta recibe ordenes de una unidad de control quien le dice a la ALU que operaciones debe realizar.

lunes, 2 de marzo de 2015

Decimal codificado en binario

En sistemas de computaciónBinary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a decimal. La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). En la siguiente tabla se muestran los códigos BCD más empleados:
http://ticcbtis86.blogspot.com/2010/12/codigo-binario.html

Codigo ASCII

Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o "ANSI" como se lo conoce desde entonces.

Este código nació a partir de reordenar y expandir el conjunto de símbolos y caracteres ya utilizados en aquel momento en telegrafía por la compañía Bell. En un primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron las letras minúsculas y algunos caracteres de control, formando así lo que se conoce como US-ASCII, es decir los caracteres del 0 al 127. 
Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma ingles.

En 1981, la empresa IBM desarrolló una extensión de 8 bits del código ASCII, llamada "pagina de código 437", en esta versión se reemplazaron algunos caracteres de control obsoletos, por caracteres gráficos. Además se incorporaron 128 caracteres nuevos, con símbolos, signos, gráficos adicionales y letras latinas, necesarias para la escrituras de textos en otros idiomas, como por ejemplo el español. Así fue como se sumaron los caracteres que van del ASCII 128 al 255.
IBM incluyó soporte a esta página de código en el hardware de su modelo 5150, conocido como "IBM-PC", considerada la primera computadora personal. El sistema operativo de este modelo, el "MS-DOS" también utilizaba el código ASCII extendido.

Casi todos los sistemas informáticos de la actualidad utilizan el código ASCII para representar caracteres, símbolos, signos y textos.


http://www.elcodigoascii.com.ar/ 

domingo, 1 de marzo de 2015

Organizacion de Datos.

Organización de Datos.
Bit es el acrónimo Binary digit (‘dígito binario’). Un bit es un dígito del sistema de numeración binario. Las unidades de almacenamiento tienen por símbolo bit .Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan solo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores: 0 o 1.El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información.
Con él, podemos representar dos valores cuales quiera, como verdadero o falso, abierto o cerrado, blanco o negro, norte o sur, masculino o femenino, rojo o azul, etc. Basta con asignar uno de esos valores al estado de "apagado" (0), y el otro al estado de "encendido" (1).Con un bit podemos representar solamente dos valores, que suelen representarse como 0, 1.
Para representar o codificar más información en un dispositivo digital, necesitamos una mayor cantidad de bits. Si usamos dos bits, tendremos cuatro combinaciones posibles:


·         0 0 - Los dos están "apagados"
·         0 1 - El primero está "apagado" y el segundo "encendido"
·         1 0 - El primero está "encendido" y el segundo "apagado"
·         1 1 - Los dos están "encendidos"


Un byte es la unidad fundamental de datos en los ordenadores personales, un byte son ocho bits contiguos. El byte es también la unidad de medida básica para memoria, almacenando el equivalente a un carácter. La arquitectura de ordenadores se basa sobre todo en números binarios, así que los bytes se cuentan en potencias de dos (que es por lo que alguna gente prefiere llamar los grupos de ocho bits octetos).


Los términos Kilo (en Kilobyte, abreviado como K) y mega (en Megabyte, abreviado como M) se utilizan para contar bytes (aunque son engañosos, puesto que derivan de una base decimal de 10 números). El término byte fue acuñado por Werner Buchholz en 1957 durante las primeras fases de diseño del IBM 7030 Stretch.

Originalmente fue definido en instrucciones de 4 bits, permitiendo desde uno hasta dieciséis bits en un byte (el diseño de producción redujo este hasta campos de 3 bits, permitiendo desde uno a ocho bits en un byte).

Los equipos típicos de E/S de este periodo utilizaban unidades de seis bits, pero tras la necesidad de agregar letras minúsculas, así como una mayor cantidad de símbolos y signos de puntuación, se tuvieron que idear otros modelos con mayor cantidad de bits. Un tamaño fijo de byte de 8 bits se adoptó posteriormente y se promulgó como un estándar por el IBM.

Una word es un grupo de 16 bits, el bit 0 es el bit de más bajo orden y el bit 15 es el de más alto orden. Una palabra se puede dividir en 2 bytes llamados igualmente de bajo y alto orden. También una palabra puede considerarse como un grupo de 4 nibbles.
En ciencias de la computación, Dword (en inglés double word, doble palabra) es una unidad de datos que es dos veces el tamaño de una palabra. En las plataformas x86, que tienen una longitud de palabra de 16 bits, una unidad dword tiene una longitud de 32 bits.
Qword (en 'ingles' quadruple word, cuádruple palabra) es una unidad de datos que es cuatro veces el tamaño de una palabra. En las plataformas x86, esta unidad de datos es 64 bits.

Finalmente, Intel utiliza el término DQWord (en inglés double quadruple word, doble cuadrupe palabra) para denotar datos de 128 bits, encontrado el la implementación del SSE y sus antecesores.

Mi Linea de tiempo del desarrollo histórico del computador.

http://www.dipity.com/adolfo1994/desarrollo-historico-del-computador/

Bases utilizadas

2 <- Binario
4 <- Nibble
8 <- octal
16 <- hexagesimal

cambios de base, decimal a binario
157 <- (2)

el residuo como tal de las divisiones ( 10011101 ) es lo que seria el número 157 en binario.


Cambios de base

ponderación del sistema de numeración decimal.



26741(8) <- (10)
= 1*(8)°+2*(8)1+7*(8)2+6*(8)3+2*(8)4
= 1*(1)+4*(8)+7*(64)+6*(512)+2*(4096)
= 1+32+448+3072+8193
= 11745

2A2F(H) <- (10)
= F*(16)°+2*(16)1+A*(16)2+2*(16)3
= F*(1)+2*(16)+A*(1)256+2*(4096)
= 15+36+2560+8192
= 10799

131203(4) <- (10)
= 3*(4)°+0*(4)1+2*(4)2+1*(4)3+3*(4)4+1*(4)5
= 3*(1)+0*(4)+2*(16)+1*(64)+3*(256)+1*(1024)
= 3+0+32+64+768+1024
= 1891

4125(6) <- (10)
= 5*(6)°+2*(6)1+1*(6)2+4*(6)3
= 5*(1)+2*(6)+1*(36)+4*(216)
= 5+12+36+864
= 917

121012(3) <- (10)
= 2*(3)°+1*(1)1+0*(3)2+1*(3)3+2*(3)4+1*(3)5
= 2*(1)+1*(1)+0*(9)+1*(27)+2*(81)+1*(243)
=2+1+0+27+162+243 
=435

Código Morse

Código Morse

El código Morse es un código o sistema de comunicación que permite la comunicación telegráfica a través de la transmisión de impulsos eléctricos de longitudes diversas o por medios visuales, como luz, sonoros o mecánicos. Este código consta de una serie de puntos, rayas y espacios, que al ser combinados entre si pueden formar palabras, números y otros símbolos.Este sistema de comunicación fue creado en el año 1830 por Samuel F.B. Morse, un inventor, pintor y físico proveniente de los Estados Unidos, quien pretendía encontrar un medio de comunicación telegráfica. La creación de éste código tiene su origen en la creación del señor Morse de un telégrafo, invento que le trajo bastante dificultades, ya que, en un principio, el registro de este fabuloso invento le fue negado tanto en Europa como en los Estados Unidos. Finalmente, logró conseguir el financiamiento del gobierno americano, el que le permitió construir una línea telegráfica entre Baltimore y Washington. Un año después se realizaron las primeras transmisiones, resultando éstas bastante exitosas, lo que dio pie a la formación de una enorme compañía que cubriría a todos los Estados Unidos de líneas telegráficas. Samuel F.B. Morse vivió desde 1791 hasta 1872. Para este último año, el de su muerte, el continente americano ya contaba con más de 300.000 kilómetros de líneas telegráficas que comunicaban casi todos los rincones del país.
imagen tomada de, http://es.wikipedia.org/wiki/C%C3%B3digo_morse


El punto es considerado, en el código Morse, como una unidad, que en tiempo equivale, aproximadamente a 1/25 seg. La línea, en tiempo, equivale a tres puntos. Cada letra se separa por un silencio de tres puntos de duración, mientras que cada palabra se separa por cinco puntos.

domingo, 22 de febrero de 2015

Sistemas de numeración digital.

sistemas decimal ( 0.1.2.3.4.5.6.7.8.9)
sistemas binario ( 0 y 1 )
sistema octal ( 0.1.2.3.4.5.6.7)
sistema hexagesimal ( 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)

binario - decimal
0              0
1              1
1 0           2
1 1           3
1 0 0        4
1 0 1        5
1 1 0        6
1 1 1        7

   1 0 1 0 1 0 0 1 0                         3 4 5                        2 5 A 4 F
   0 1 1 1 0 1 1 1 0    +                +   3 6 (8)               +    7 9  B 2 (16)
-----------------------                     ---------                    --------------
1 0 0 1 0 0 0 0 0 0                         4 0 3                       2 D 4 0 1
1. introducción a los computadores digitales.
2. sistemas de numeración 
3. binario, octal, hexagesimonal.
4. estructura matemática de la memoria.
5. organización de datos.
6. números en coma flotante.
7. codigos de representación de información.
8. otras dimensiones y magnitudes computacionales. 

la pascalina.
Blaise Pascal era hijo de un funcionario recaudador de impuestos. A los 18 años, Pascal, que ayudaba ocasionalmente a su padre a redactar sus informes oficiales, se planteó el problema de cómo ahorrarle a su progenitor el engorro de las tediosas operaciones aritméticas en las que debían sumarse interminables relaciones de números.
Con 19 años, Pascal regaló a su padre su primer modelo de calculadora mecánica, con la que éste podía calcular con mayor rapidez y seguridad.
La pascalina (en la parte superior de la imagen) abultaba algo menos que una caja de zapatos y era de forma baja y alargada. En su interior (en la derecha de la imagen) se disponían unas ruedas dentadas conectadas entre sí, formando una cadena de transmisión, de modo que cuando una rueda giraba completamente sobre su eje, hacía avanzar un grado a la siguiente.
Las ruedas representaban el sistema decimal de numeración. Cada rueda constaba de diez pasos, para lo cual estaba convenientemente marcada con números del 9 al 0. El número total de ruedas era ocho, seis ruedas para representar los números enteros y dos ruedas más, en el extremo izquierdo, para los decimales. Con esta disposición se podían manejar números enteros entre 0'01 y 999.999'99.
Mediante una manivela se hacía girar las ruedas dentadas. Para sumar o restar no había más que accionar la manivela en el sentido apropiado, con lo que las ruedas corrían los pasos necesarios. Cuando una rueda estaba en el 9 y se sumaba 1, ésta avanzaba hasta la posición marcada por un cero. En este punto, un gancho hacía avanzar un paso a la rueda siguiente. De esta manera se realizaba la operación de adición.
A lo largo de los años, Pascal construyó una cincuentena de modelos o versiones de la pascalina, en su afán de conseguir una calculadora que realmente le satisficiera. A pesar de la calidad técnica del invento, y del prestigio que le granjeó a su autor, la pascalina no tuvo repercusión en las oficinas reales ni gozó de la aceptación de los colegas de su padre. Por una parte, los amanuenses y contables prefirieron seguir sus costumbres,tanto por rutina como por temor a ser desbancados por la eficaz máquina. Por otra, los empleadores o empresarios no vieron beneficio alguno en la compra de costosas máquinas, cuando el trabajo era resuelto manualmente a muy bajo precio.

https://mateturismo.files.wordpress.com/2013/09/pascalina.jpg

Maquina analítica.



http://www.retrowiki.es/fororw/viewtopic.php?p=58280&sid=0185a78c01f8fb42611503ae228a1168



Diseño

Charles Babbage había empezado sus proyectos en la informática con la máquina diferencial ( que servía para construir tablas de logaritmos y funciones trigonométricas evaluando polinomios por aproximación ), que no pudo ser construida. A pesar de ello, Baggage pensó que partiendo de ese proyecto podría crear una máquina de uso mas general, y comenzó el proyecto de la máquina analítica.

La máquina habría utilizado un motor a vapor, y mediría 30 metros de largo por 10 de ancho. La introducción y salida de datos se haría mediante tarjetas perforadas, que la maquina podría leer y crear. Tendría la capacidad para almacenar 1000 números de 50 cifras cada uno, y realizar operaciones aritméticas con ellos.

El lenguaje de programación para la maquina sería similar a los ensambladores modernos. Cabe destacar también que Ada Lovelace ( la hija de Lord Byron ) se interesó tremendamente por la máquina y creo algunos programas simples utilizando los primeros bucles, esto hace que se le considere la primera programadora, y hoy en día hay un lenguaje de programación basado en Pascal, el ADA, nombrado en su honor.

Construcción

Durante su vida Baggae intento conseguir financiación del gobierno para construir la máquina, pero con poco éxito. Más tarde, se conformo con intentar construir versiones simplificadas, o solo partes, del motor, pero tampoco lo consiguió. Siguió perfeccionando la máquina hasta su muerte en 1871. 

Su hijo, Henry, quiso continuar el trabajo de su padre, pero La Asociación Británica para el Avance Científico presento en un estudio que no era rentable acabar la máquina, acabando con la poca financiación que Henry pudiese conseguir. Al final, en 1910, Henry construyo una parte del motor Mill y de la impresora, que podía calcular dígitos de pi.

Henry incluso propuso crear una máquina entera pero con menos capacidad, para abaratar el coste, pero no pudo conseguirlo.

Influencia

Después de que Henry dejase el proyecto en 1910, solo tres científicos mostraron interés por la máquina, e incluso diseñaron versiones propias que nunca se construirían. 

En 1944, Howard Akinen construyo el Harvard Mark I, que se considera el nacimiento de la computación moderna. Akinen más tarde declaro que el Mark I es una versión menos avanzada, pero más potente, de la máquina analítica de Babbage, y que todos sus conocimientos de informática provenían de los libros de apuntes da Babbage, con los que había conseguido hacerse.

Cabe destacar también que si comparamos la máquina analítica en su diseño original, es bastante mas avanzada que muchos de los primeros ordenadores de 1940, aunque mucho más lenta. Habría sido digital, y programable en un lenguaje Turing-Completo ( Una manera de medir los lenguajes de programación, significa que puede emular la maquina universal de Turing ).





Primer corte

Apoyo con un curso virtual 
actividad - evaluación
parcial                                    40%
blog                                        20%
web                                        20%
actividad en clase                  20% ---- total 100%


realización de blog en:
 blooger o wordpress
                                         
realización y diseño de linea de tiempo:
timerine.
dipity.
timetoast.
deberá hacer una linea de tiempo donde se incluya el desarrollo histórico del computador.


Arquitectura de hardware 2015

semana 1. (02-02-15) (04-02-15)                                    semana 9. (30-03-15) (01-04-15)
- presentación                                                                 - tabla de asignación 
- plan de curso                                                                - arranque y montaje del                     modelo de evaluación                                                     sistema operativo                                                                                                                         
semana 2. (09-02-15) (11-02-15)                                    semana 10. 
- matemáticas computacional                                          - preguntas y respuestas 
- desarrollo histórico del computador                              - preparación del parcial 
- sistemas de numeración                                               - parcial segundo corte 

semana 3. (16-02-15) (18-02-15)                                    semana 11.
- sistemas de numeración                                                - arquitectura del PC compatible
- cambios de base                                                            - componentes del sistema
- tipos de datos                                                                - componentes estructurales 

semana 4. (23-02-15) (25-02-15)                                    semana 12.
- estructura matemática de la memoria                           - lenguaje ensamblador 
- agrupaciones de bytes , dimensiones                            - formato de instrucción 
y magnitudes informáticas.                                            
                                                                                         semana 13.
semana 5. (02-03-15) ( 04-03-15)                                   - tipos de instrucción 
- preguntas y respuestas                                                  - estructura de un programa
- preparación del parcial  
- parcial primer corte                                                        semana 14.
                                                                                         - el programa DEBUG 
semana 6. (09-03-15) (11-03-15)                                    - comandos e instrucciones 
- desarrollo histórico del computador                  
- arquitectura estructural del procesador                          semana 15. 
                                                                                          - ensamblar y ejecutar programas 
semana 7. (16-03-15) (18-03-15)                                     - ejemplos de aplicación 
- arquitectura del procesador 
- control de interrupciones                                                semana 16. 
                                                                                          - preparación del parcial
semana 8. ( 25-03-15)                                                       - parcial del tercer corte 
- la memoria principal
- jerarquía y mapeado
- tipos de direccionamiento