ARQUITECTURA DEL COMPUTADOR
Es el diseño conceptual y la estructura operacional fundamental de un sistema de
computadora. Es decir, es un modelo y una descripcion funcional de los
requerimientos y las implementaciones de diseño para varias partes de una
computadora.
Firmware: Es un bloque de instrucciones de maquina para propositos
especificos, grabado en un chip, normalmente de lectura/escritura
(ROM,EEPROM,FLASH,ETC.) , que establece la logica de mas bajo nivel que
controla los circuitos electronicos de un dispositivo de cualquier tipo.
Ensamblador: El lenguaje ensamblador es un lenguaje de bajo nivel que
permite programar directamente el hardware, como CPUs, Microcontroladores y
microprocesadores, mediante instrucciones especificas que controlan
registros,posiciones de memoria y operaciones internas del procesador,
adaptandose a la arquitectura de cada dispositivo
Kernel : Software que constituye una parte fundamental del sistema operativo y
se define como la parte que se ejecuta en modo privilegiado. Es el principal
responsable de facilitar a los distintos programas acceso seguro al hardware de la
computadora.
Organizacion del computador: Estructura lògica que da forma a su
arquitectura, La arquitectura describe lo que sucede, mientras que la organizacion
describe como sucede. La organizacion de un computador nos muestra como es
este por dentro, pudiendo ver que esta formado por una Unidad Aritmètico-Logica,
Una memoria organizada en registros y una unidad de control que gobierna el
funcionamiento y ejecucion de las instrucciones.
Tecnologìa del computador: Determina los componentes que se van a
utilizar y como se van a interconectar. Tambièn se ocupa de aspectos como la
fiabilidad de los componentes,mantenimiento, refrigerado,etc. Esta directamente
relacionado a la construccion de los componentes.
TAXONOMIA DE FLYNN
SISD: Single Instruction Single Data. ( Computadores de ùnico nùcleo)
SIMD:Single Instruction Multiple Data (Computadores Vectoriales)
MISD: Multiple Instruction Single Data (Màquina de flujos de datos)
MIMD: Multiple Instruction Multiple Data. (Multiprocesadores-Multicomputadores)
CLASIFICACION DE ARQUITECTURAS SEGUN EL JUEGO DE
INSTRUCCIONES
CISC: Complex Instruction Set Computer. Computador con conjunto de
instrucciones complejas es un modelo de arquitectura de computadores.
Los microprocesadores CISC tienen un conjunto de instrucciones que se
caracteriza por ser muy amplio y permitir operaciones complejas entre
operandos situados en la memoria o en los registros internos.
RISC: Reduced Instruction Set Computer . Se basa en un conjunto reducido
de instrucciones simples y de tamaño fijo, con pocos formatos, lo que
facilita su ejecucion eficiente. En esta arquitectura, solo las instrucciones de
carga y almacenamiento acceden directamente a la memoria, mientras que
el resto opera principalmente sobre registros, de los cuales se dispone en
gran cantidad, El objetivo principal del diseño RISC es permitir la
segmentacion y el paralelismo en la ejecucion de instrucciones, lo que
mejora el rendimiento del procesador y reduce los accesos a la memoria
Programas
Secuencia de operaciones conducentes a resolver un problema determinado.
Caracteristicas de los programas
Estan compuesto por secuencias de instrucciones o sentencias
Se escriben utilizando una notacion formal conveniente
Pueden ser escritos por programadores, o bien ser generados
automaticamente mediante una herramienta adecuada.
Un programa en ejecucion se encuentra cargado en memoria principal.
Lenguajes de programacion
Una notacion formal para describir algoritmos o funciones que seràn ejecutadas
por un computador.
Lenguajes de Bajo nivel: Cercano a la arquitectura de la maquina. La codificacion
de programas en binario es conveniente y natural para la circuiteria del
computador.
Caracteristicas
Dependencia absoluta de la arquitectura del computador
Imposibilidad de transportar programas entre distintas maquinas, salvo que
sean de la misma familia o compatibles
Instrucciones poco potentes.
TIPOS
Lenguaje màquina: codigos de operacion,datos y referencias en binario.
Directamente interpretable y ejecutable por la circuiteria del computador.
Lenguaje ensamblador: Codigos de operacion representados mediante
codigos nemotecnicos. Datos y referencias codificadas mediante nombre
simbòlicos(simbolos o etiquetas)
LENGUAJES DE ALTO NIVEL
Cercanos a la forma de pensar del programador, facilitan la tarea de los
programadores, ya que se encuentran mas proximos a la forma de pensar de los
humanos.
Caracteristicas
Posibilidad de traduccion automatica a lenguaje maquina
Independencia de la arquitectura del computador
Transportabilidad entre diferentes computadores.
Tipos de lenguajes de alto nivel
Lenguajes de proposito general
Lenguajes de propositos especificos (comerciales,cientificos,etc)
Lenguajes de diseño de sistemas de informacion
Los programas escritos en lenguajes simbolicos deben ser traducidos a
lenguaje maquina antes de ser ejecutados
Compilador(compiler): Traductor de lenguaje de alto nivel a lenguaje
ensamblador.
Ensamblador(assembler): Traductor de lenguaje ensamblador a
lenguaje maquina.
Montador(Linker): Crea el codigo maquina ejecutable final.
Cargador(Loader): Carga el codigo ejecutable en memoria y lo
prepara para su ejecucion
Terminologia
Codigo (programa) fuente: Codigo escrito por el programador.
-Puede estar escrito en cualquier lenguaje
-Puede contener errores porque el programador haya escrito mal el
programa
Codigo (programa) objeto: Codigo obtenido al traducir el codigo fuente a
lenguaje de maquina
-No contiene errores
-A veces no es directamente ejecutable
Codigo (programa) ejecutable: Listo para ser ejecutado en el computador.
-Puede contener errores logicos debidos a que el programa no este bien
diseñado