Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Software al Hardware
Computadores
Contenido
• Características y aplicaciones de un
computador.
• Hardware y Software del PC.
• Lenguajes de programación y traductores.
• Descripción del desarrollo y ejecución de
un programa.
Para hoy:
Computadores
Descripción general, aplicaciones y programación.
Hardware y Software
Descripción general y componentes del Hardware.
Programación y lenguajes
Definición, tipos de lenguajes y tipos de
traductores.
Desarrollo y ejecución
Descripción del desarrollo y ejecución de un
programa.
Los computadores
• Computador
– Sistema Electrónico Digital.
– Capacidad: Procesar Datos.
– Instrucciones → Programa.
– Microelectrónica.
• Conformación.
SOFTWAR HARDWAR
E E
Los computadores
• Características principales:
– CPU + Memoria + Dispositivos E/S.
– Programable…
– Tiene la capacidad de emular otras máquinas…
– Multitarea.
CPU
Periféricos Periféricos
Entrada Salida
Memoria
Órdenes y Resultados
Datos Procesamiento
Los computadores
• Aplicaciones de un Computador.
– Solución de problemas complejos.
– Animación.
– Comunicación:
• Protocolos
• Redes de Computadores
• Internet
– Desarrollo de nuevos programas.
– Diversión.
– Trabajo rutinario.
Los computadores
• Programación, diferentes usuarios
– Aplicaciones: Lenguajes de Alto Nivel.
A = 15; B = 10;
if (A >= B) printf (“A mayor o …”);
else if (A == B) printf (“A igual que…”);
– Manipulación y Control de Hardware: Bajo Nivel.
LDA $1000
ADD $1001 0100010001…
BEQ D1,D0 1010100100…
bgt `Print_Msg_A …
beq Print_Msg_B
…
Continuamos con:
Computadores
Descripción general, aplicaciones y programación.
Hardware y Software
Descripción general y componentes del Hardware.
Programación y lenguajes
Definición, tipos de lenguajes y tipos de
traductores.
Desarrollo y ejecución
Descripción del desarrollo y ejecución de un
programa.
Hardware y Software
Computador, hacemos una analogía con una orquesta
– Instrumentos.
– Músicos.
– Director de orquesta.
SOFTWARE HARDWARE
Instrumentos
S.O.
Software del
sistema
Hardware y Software
• Software
– Aplicación: Programas de usuario.
• Ofimáticos, navegadores,
– Sistema: Controla y gestiona el hardware.
• Sistema Operativo
• Nivel Medio:
– Lenguajes de Programación.
• Cercanos al hombre. Alto Nivel, Java.
• Cercanos a la máquina. Bajo Nivel, Ensamblador.
• Nivel intermedio. Lenguaje C.
Hardware y Software
• Sin sistema operativo, no es fácil garantizar la
ejecución de los programas:
– Programas desarrollados por terceros.
– Gestión del Hardware.
– Imparcialidad en el acceso al Hardware.
SOFTWARE DE APLICACIÓN
Cálculo
Video Sonido Texto Internet
s
HARDWARE
Hardware y Software
Con sistema operativo
SOFTWARE DE APLICACIÓN
Informació
Multimedia Control Cálculos
n
Kernel Herramientas
HARDWARE
Hardware y Software
• Componentes de un Computador: Hardware
• Los cuatro componentes principales de un computador:
– Unidad Central de Proceso.
• Control + Direcciones.
– Memoria. MEMORIA
– Entradas/Salidas. INSTRUCCIONES/DATOS
CONTROL
C
P REGISTRO
S
U
ALU
ENTRADA
SALIDAS
S
Continuamos con
Computadores
Descripción general, aplicaciones y programación.
Hardware y Software
Descripción general y componentes del Hardware.
Programación y lenguajes
Definición, tipos de lenguajes y tipos de
traductores.
Desarrollo y ejecución
Descripción del desarrollo y ejecución de un
programa.
Programación
Lenguaje de máquina
procesador
Programación
• Diferentes formas de hacer las cosas.
• Buscar la manera más eficiente de hacerla.
• No siempre necesitamos de un Sistema Operativo.
– No se requieren todas las características de un computador.
– Aplicaciones muy particulares.
– Gestión del hardware por parte de la misma aplicación.
– Elementos requeridos.
• Programación del Computador.
Programación
• CREAR un programa de computador.
• Colección de instrucciones para ser ejecutadas por la
CPU.
• Herramienta:
– Lenguaje de Programación.
– Lenguaje de Máquina.
• Ejecución:
– Traducción a Lenguaje de Máquina.
– Interpretación.
Programación
• Y las Instrucciones, ¿qué son?
– Un computador no es autónomo.
– Requiere de una serie de peticiones.
– Órdenes que un procesador puede entender y ejecutar.
– Están reunidas en los programas, instrucciones.
– Los programas se desarrollan normalmente con
Lenguajes de Alto Nivel.
– Necesidad de hardware.
Programación
• Lenguaje de Máquina
– Las CPUs solo entienden ‘0’ y ‘1’.
– Alfabeto de la CPU: Dos números ‘0’ y ‘1’.
• ¿Será suficiente?: Nuestro alfabeto tiene 26 letras.
• ¿Cómo utiliza la CPU el ‘0’ y el ‘1’?
– Código de Máquina.
• Códigos que son interpretados por la CPU.
• Un programa: Colección de ‘0’s y ‘1’s.
• Forman propiamente instrucciones y datos.
• Propio de la arquitectura de la CPU.
Programación
• Lenguaje Ensamblador
– Representación del código de máquina.
– Legible por las personas.
– Cercano a la máquina.
– Propio de la arquitectura de la CPU.
• Lenguaje para el 68000 de Motorola.
• Lenguaje para los INTEL x86.
• Lenguaje para los MCUs HC08 de Freescale.
• Lenguaje para el ARM.
Programación
• Lenguajes de Alto Nivel
– Cercano al lenguaje natural de los humanos.
– Una instrucción de alto nivel representa varias instrucciones de
máquina.
– Portable, independencia de la máquina.
– Tipos:
• Lenguaje C, a veces denominado de “Medio Nivel”.
• Lenguaje JAVA, Basic, Fortran, Pascal, Otros.
– Incluyen un traductor para llevar el código original a uno que
pueda entender la máquina: Compilador.
Traductores
• Los programas implementados tanto en LANs como en
LBN requieren ser traducidos a lenguaje de máquina del
procesador.
• El proceso de traducción de un lenguaje de alto nivel
(LAN) a lenguaje de máquina es realizado por
compiladores o interpretadores.
• El proceso de traducción de un lenguaje ensamblador para
lenguaje de máquina es realizado por traductores,
denominados Montadores (o Assemblers).
Traductores
• Compiladores.
– La compilación consiste en tomar los ficheros fuente que
conforman un programa y, línea por línea, traducir cada
instrucción de alto nivel por varias instrucciones en código
máquina que realicen lo que la instrucción de alto nivel
expresa.
– Crea en un fichero que contiene una estructura interna
que un determinado OS es capaz de entender, se obtiene
un fichero binario ejecutable, o, "un ejecutable".
Traductores
• Interpretes
– Es muy diferente a compilación, pero su resultado debería
ser similar: la ejecución de un programa.
– El intérprete intenta realizar "al vuelo" lo que se expresa
en los ficheros fuente.
– El intérprete contiene en su interior miles de porciones de
código máquina, que combinándolas adecuadamente
pueden realizar las mismas tareas que expresa una orden
escrita en el lenguaje de alto nivel.
– No general un ejecutable.
Compiladores vs Interpretes
Traductores Resumen
• Hay tres tipos de traductores:
– Ensambladores, Compiladores e Interpretadores
Código fuente
Interpretador ejecución
(LAN o Assembly)
Continuamos con
Computadores
Descripción general, aplicaciones y programación.
Hardware y Software
Descripción general y componentes del Hardware.
Programación y lenguajes
Definición, tipos de lenguajes y tipos de
traductores.
Desarrollo y ejecución
Descripción del desarrollo y ejecución de un
programa.
Desarrollo
• Un programa simple.
– Lenguaje de Alto Nivel.
• Compilación.
– Lenguaje ensamblador.
• Ensamblado.
– Ejecución por parte de la CPU.
– Uso de los periféricos para la ejecución.
• ¿Necesidad
de conocer los
componentes de un computador?
Desarrollo
1. Programación
COMPILADOR ENSAMBLADOR
CÓDIGO
MÁQUINA
EJECUTABLE
Desarrollo
2. Ejecución
EJECUTABLE LOADER
PERIFÉRICOS
CPU MEMORIA
PERIFÉRICOS
RESULTADOS
Hoy vimos:
Computadores
Descripción general, aplicaciones y programación
programación.
Hardware y Software
Descripción general y componentes del Hardware.
Programación y lenguajes
Definición, tipos de lenguajes y tipos de
traductores.
Desarrollo y ejecución
Descripción del desarrollo y ejecución de un
programa.
Lecturas propuestas
• "Computer Organization and Design: The Hardware/Software
Interface", John L. Hennessy and David A. Paterson. Morgan
Kaufmann Publisher.
– Chapter 1: Computer Abstraction and Technology.
• “Hardware and Computer Organization” The Software Perspective.
Arnold S. Berger.
– Chapter 1: Introduction and Overview of Hardware Architecture.
• “Computer Design and Architecture” Third Edition. Sajjan G. Shiva.
– Introduction: Computer System Organization.
Próxima clase:
Computadores
Descripción general y funciones del Hardware.
CPU y Memoria
Descripción de la CPU, jerarquía y conformación de la
memoria.
Arquitectura de PC
Descripción y tipos de arquitecturas.
Microprocesador
Descripción, ejecución de instrucciones y componentes
principales.
Microcontroladores
■ Del Software al
Hardware