Você está na página 1de 32

Introduccin a la Computacin

Prof. Ing. Oscar Tinoco Gmez

Arquitectura de un computador

HARDWARE

SOFTWARE

Parte fsica de un Ordenador (Computadora)

Parte lgica de un Ordenador

HARDWARE
Unidad Central de Proceso Dispositivos de entrada/salida Memoria

Estructutra bsica Hardware

Hardware El CPU
Es el cerebro del ordenador Componentes del CPU:

Unidad Aritmtico-Lgica (ALU) lleva a cabo el procesamiento de los datos ejecutando las instrucciones Unidad de Control coordina la operacin del ALU y de los dems recursos de la computadora Registros memoria interna al CPU que contiene la instruccin que se ejecuta y los datos que requiere esa instruccin

Dual-Core, de Intel, permite compartir el doble de los recursos del procesador, con trabajo coordinado de ambas partes. Reduce la mitad del tiempo de trabajo en los procesos de una computadora.

Hardware Memoria Principal


Contiene las instrucciones que componen los programas y los datos que stos necesitan procesar Conectada directamente al CPU Dos tipos principales: RAM (memoria de acceso aleatorio) temporal, voltil; ROM (memoria slo para lectura) permanente, contiene los programas que permiten que la computadora arranque. Cach: Acceso rpido. Puente entre el CPU y la RAM

Representacin en Memoria

Elementos que pueden estar en dos estados (prendidos o apagados).

El sistema de numeracin binario: representacin de este tipo de datos. Utiliza slo dos smbolos: el 1 y el 0.

Hardware Memoria Secundaria


Permite almacenar datos e instrucciones por largos periodos de tiempo Estos datos e instrucciones deben ser llevados a memoria principal para poder ser procesados Es mucho ms lenta que la RAM Algunos ejemplos:
Disco duro CD, DVD Diskette Dispositivos USB

Cdigo Binario
Cada
1 en un nmero binario representa una potencia de 2 segn su posicin Ejemplo: El nmero binario 100110 representa el valor 38
1 25 0 24 0 23 1 22 1 21 0 20

1*32 0*16 0*8 1*4 1*2 0*1 38

Medida de la Memoria
BIT:
Unidad bsica de informacin que corresponde a un nico dgito binario (puede tomar los valores 1 0). conjunto de 8 bits. 256 valores diferentes: desde el 00000000 (0 en decimal) al 11111111 (255 en decimal).

BYTE:

Cantidades de Memoria
1 Kilo Byte = 210 Bytes = 1024 Bytes 1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes 1 Giga Byte = 210 MBytes = 230 Bytes 1 Tera Byte = 210 GBytes = 240 Bytes

Almacenamiento de Informacin
Nmeros Enteros: Son representados utilizando 2, 4 u 8 bytes. 2 bytes: rango(0 - 65536) enteros sin signo. rango(-32767 - 32768) enteros con signo.

Almacenamiento de Informacin
Nmeros Reales: Se representan utilizando dos esquemas: Punto Flotante: Real representado como un entero y un byte adicional que indica la posicin del punto. Punto Fijo: Real representado como una mantisa y un exponente; que son representados como enteros. 12345.6789 es representado como: Mantisa = 1.23456789 Exponente =104 pues 1.23456789*104= 12345.6789

Almacenamiento de Informacin
Alfanumricos: representados en codificacin ASCII, se asigna a cada carcter un valor numrico representado por un byte. Ejemplo: el carcter A mayscula es representado por el byte 1000001 (65 en decimal), la letra B mayscula por el byte 66 en decimal y as sucesivamente.

Almacenamiento de Informacin
Existe un cdigo ASCII para cada carcter representable (lista utilizada en los Laboratorios), algunos ejemplos: Espacio ; * 0 1 a 9 32 59 42 162 48 49 97 57

Software
Software: conjunto de instrucciones que le indican al hardware que hacer. Lenguaje de programacin: lenguaje que permite escribir un software. Programa: conjunto de rdenes en un lenguaje de programacin especfico con un propsito definido.

Arquitectura de Software
Lenguaje Alto Nivel Lenguaje Lenguaje Ensamblador Maquina Hardware

Sistema Operativo

Aplicaciones

Herramientas

Lenguaje de Mquina
nico
lenguaje que entiende el hardware (mquina). Especfico para cada hardware (procesador, dispositivos, etc.). Usa exclusivamente el sistema binario. Estructura de una instruccin:

Programa:

almacenado en contiene instrucciones y datos.

CDIGO ARGUMENTO(S)

memoria,

Lenguaje de Mquina
Es
propio de cada ordenador (se relaciona con el diseo del hardware y depende de l) En general son combinaciones de ceros y unos (Sistema binario) Operaciones bsicas:

Cargar Almacenar Sumar Restar

Lenguaje Ensamblador
Usa mnemnicos (palabras cortas escritas con
caracteres alfanumricos), para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como nmeros en sistema hexadecimal. especfico (aunque no nico) para cada lenguaje de mquina.

Es

Estructura de una instruccin: MNEMONICO ARGUMENTO(S)

Lenguaje Ensamblador
ENSAMBLADOR: software, generalmente escrito en lenguaje de mquina, capaz de traducir de lenguaje ensamblador a lenguaje de mquina. CARGADOR: software que almacena en memoria el programa en lenguaje de mquina generado por el ensamblador.

Lenguaje de Alto Nivel

Permite a los programadores escribir instrucciones en un lenguaje ms familiar para ellos (los programadores) y que contiene notaciones matemticas comnmente utilizadas (independiente de la mquina) Basado en una estructura gramatical que permite el anidamiento de instrucciones Cuenta con un conjunto de palabras reservadas, para codificar estructuras de control y/o instrucciones.

Lenguaje de Alto Nivel



Permite el uso de smbolos aritmticos y/o relacionales. Permite al programador olvidarse del direccionamiento de memoria. En general: permite la realizacin de programas independiente del Hardware. Los lenguajes de alto nivel permiten portabilidad, menor posibilidad de cometer errores y una visin ms amplia para resolver problemas.

Lenguaje de Alto Nivel


Tal como ocurre con los lenguajes ensambladores, el ordenador no entiende directamente lenguaje de alto nivel, por lo que requiere de un compilador
COMPILADORES e INTERPRETES: software capaz de traducir de un lenguaje de alto nivel al lenguaje ensamblador especfico de una mquina.

Lenguajes de Alto Nivel


Java C C++ - Cobol Prolog LISP ADA Basic Visual Basic Pascal - etc Lenguaje de Alto Nivel Lenguaje Ensamblador Lenguaje de Mquina
Ordenador Usuario final

Sistema Operativo

Conjunto de programas de computadora destinado a permitir una administracin eficaz de sus recursos. Ofrece un conjunto de primitivas a otro software, que le permiten a este ultimo ser tan independiente de la arquitectura de hardware como le es posible. Puede ser escrito en lenguaje de alto nivel, en lenguaje ensamblador y/o en lenguaje mquina. Funciones Bsicas: Suministro de interfaz al usuario, Administracin: de recursos, de archivos, de tareas. Servicio de soporte y utilidades.

Aplicaciones
APLICACIN: software que le permite al computador realizar una tarea especfica y con el cual no se puede construir otro software. Ejemplos: procesadores de texto como WORD, las hojas electrnicas como EXCEL, AutoCad, SPSS, Ms Project, etc.

Herramientas
HERRAMIENTA: software construido especialmente para el desarrollo de nuevo software, (tanto de aplicaciones como de herramientas). Ejemplos: compiladores como TURBO C, ambientes integrados de desarrollo, etc.

Arquitectura de Software
Lenguaje Alto Nivel
.
FOR i:=1 TO 10 DO BEGIN j :=j+i; END; . .

Lenguaje Lenguaje Ensamblador Maquina


. . ADD R1 F4 MOV F4 C2 . .
. . 0010 00011010 1010 10111000 0101 11010001 . .

Hardware

Sistema Operativo
Print(Document)

<Enter> Hwnd=CreateWindow(10,10,200,200)

Aplicaciones

Herramientas

Del Lenguaje de Alto Nivel al Programa Ejecutable


Cdigo Origen Cdigo Objeto

Preprocesador
Cdigo Origen Modififcado

Enlazador

Cdigo Ejecutable

Compilador

Ejemplo de un Programa C++


#include <iostream.h> int main() { const double PI = 3.1416; double radio, areacirculo; cout << Ingrese el radio del crculo: "; cin >> radio; areacirculo = PI * radio * radio; cout << El rea es: " << areacirculo << endl; return 0; }