You are on page 1of 32

Introduccin a la Computacin

Prof. Ing. Oscar Tinoco Gmez

Arquitectura de un computador

HARDWARE

SOFTWARE

Parte fsica de
un

Parte lgica de
un

Ordenador

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

24

23

22

21

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).

BYTE:

conjunto de 8 bits. 256


valores
diferentes:
desde
el
00000000 (0 en decimal) al 11111111
(255 en decimal).

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 Hardware
Ensamblador Maquina

Sistema Operativo

Aplicacion
es

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:

CDIGO ARGUMENTO(S)

Programa:

almacenado en memoria,
contiene instrucciones y datos.

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

Usa

Lenguaje Ensamblador

mnemnicos
(palabras
cortas
escritas con caracteres alfanumricos),
para codificar las operaciones. Los datos
y/o
direcciones
son
codificados
generalmente como nmeros en sistema
hexadecimal.

Es

especfico (aunque no nico) para


cada lenguaje de mquina.

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
Ensamblad
or
Lenguaje de
Mquina

Usuario final

Ordenador

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
.

Lenguaje
Lenguaje Hardware
Ensamblador Maquina

FOR i:=1 TO 10 DO
BEGIN
j :=j+i;
END;
.
.

.
.
ADD R1 F4
MOV F4 C2
.
.

.
.
0010 00011010
1010 10111000
0101 11010001
.
.

Sistema Operativo
Print(Documen
t)

Aplicacion
es

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

Herramientas

Del Lenguaje de Alto Nivel al Programa


Ejecutable
Cdigo Origen

Cdigo Objeto

Preprocesador

Enlazador

Cdigo Origen
Modififcado

Compilador

Cdigo Ejecutable

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;
}

You might also like