22
Introducción a la tecnología de los computadores. Computadores y abstracciones.

Introducción a la tecnología de los computadores. Computadores y abstracciones

Embed Size (px)

Citation preview

Page 1: Introducción a la tecnología de los computadores. Computadores y abstracciones

Introducción a la tecnología de los computadores.

Computadores y abstracciones.

Page 2: Introducción a la tecnología de los computadores. Computadores y abstracciones

Sociedad de la información.

Los avances en computadores y redes están permitiendo el desarrollo de la SIC VLSI cada vez mayores escalas de integración WWW y grandes sistemas distribuidos Inteligencia artificial Movilidad, redes inalámbricas de banda

ancha Solución de problemas de escala gigante

Secuenciación del genoma humano

Page 3: Introducción a la tecnología de los computadores. Computadores y abstracciones

Una clasificación de los computadores I DESKTOP. Entregan una buena

potencia computacional a un único usuario y se suelen emplear par la ejecución de software comercial.

SERVER. De alguna forma, son los mainframes y minicomputadores de hoy en día. Ejecutan cargas computacionales complejas y sirven a comunidades de usuarios conectadas a través de una red de computadores.

Page 4: Introducción a la tecnología de los computadores. Computadores y abstracciones

Una clasificación de los computadores II Supercomputadores. Hoy en día, suele tratarse de

computadores interconectados a través de una red de altas prestaciones formando un cluster: Predicción meteorológica, determinación de proteínas, exploraciones petrolíferas. Memoria principal, Terabytes; almacenamiento, Tb a Pb.

Empotrados. Dispositivos electrónicos dedicados, gran variabilidad de precios y características. Constituyen el mayor número de microprocesadores vendidos: Sensores inteligentes, player MP3, decodificador TDT, ordenador de viaje, GPS, piloto automático, máquina de café, etc.

Page 5: Introducción a la tecnología de los computadores. Computadores y abstracciones

¿Qué es, pues, un computador? Un dispositivo electrónico que ejecuta

programas y, éstos, representan algoritmos. Un algoritmo es un proceso sistemático que

conduce a la solución de un problema, en un tiempo más o menos largo.

Modelo de Von Neumann (Princeton): Memoria de programas y de datos

Computador de programa almacenado. Unicidad de representación de los programas y los

datos

Page 6: Introducción a la tecnología de los computadores. Computadores y abstracciones

Hardware y software

Hardware: Los circuitos electrónicos y todo aquello que es material en un computador.

Software: Los programas, en sus diversas formas.

Hw/Sw

Page 7: Introducción a la tecnología de los computadores. Computadores y abstracciones

Acrónimos

Palabras construidas a base de las letras iniciales de una serie de palabras.

Concisión Ejemplos:

Random Access Memory: RAM. Central Processing Unit: CPU Load Byte Unsigned: LBU.

Muy usadas en esta asignatura: Hay que asumirlo

Page 8: Introducción a la tecnología de los computadores. Computadores y abstracciones

Símbolos binarios

Los computadores que estudiamos son, todos ellos digitales. Representaremos los datos y las

operaciones usando DOS símbolos básicos: 0 y 1, esto es, en binario.

A base de estos dos símbolos, construiremos palabras de mayor longitud: Datos enteros, reales, caracteres ASCII, cadenas

de estos últimos Operaciones como la suma, la operación lógica

AND, etc.

Page 9: Introducción a la tecnología de los computadores. Computadores y abstracciones

Unidades y multiplicadores

1 bit: Un dígito binario: 0 o 1. 1 nibble: Una palabra formada por 4 bits. 1 byte: Una palabra formada por 8 bits. 1 word: 16, 32 o 64 bits, dependiendo de la

arquitectura que estemos estudiando. Multiplicadores:

Potencias de 2 1k = 1024 objetos, esto es, 2^10 1Mega = 1024 x 1024 objetos, 2^20 1Giga = 1024x1024x1024, 2^30

Page 10: Introducción a la tecnología de los computadores. Computadores y abstracciones

Importante: Repasar las conversiones de base. Notación polinómica.

834510 = 8x10^3 + 3x10^2 + 4x10^1+5x10^0 1011012 =1x2^5+0x2^4+1x2^3+1x2^2+0x2^1+1x2^0

= 32 + 8 + 4 + 1 = 4510 0xfb31 = f x 16^3 + b x 16^2 + 3 x 16^1 + 1 x 16^0=

= 15 x 16^3 + 11 x 16^2 + 3 x 16^1 + 1 x 16^0= = … completad este cálculo. 07658 = 7x8^2+6x8^1+5x8^0 = … 0xffff = … 07778 = … 6553610 = (hexadecimal) 0xf01c = (binario)

Page 11: Introducción a la tecnología de los computadores. Computadores y abstracciones

Principios fundamentales

Datos y operaciones se representan, ambos, mediante cadenas de símbolos binarios

Un entero: 32768 Una operación: add $t2, $t0, $t1

¿Cómo se codifican en binario?

Page 12: Introducción a la tecnología de los computadores. Computadores y abstracciones

Principios fundamentales

Datos y operaciones se almacenan en la memoria principal del computador. El número entero 64, se puede representar

con 32 bits de precisión así: 00000000000000000000000001000000 Codificación de enteros en aritmética sin signo (ASS)

La operación de suma podría representarse así: 01101111, por ejemplo La codificación de las instrucciones MIPS: Apéndice

Page 13: Introducción a la tecnología de los computadores. Computadores y abstracciones

Programa: Una secuencia de operaciones que modifican datos. Un programa se representa mediante

la codificación binaria de sus operaciones y de sus datos.

Para escribir un programa ¿Hay que hacerlo en binario?

Es decir, ¿Hay que usar el lenguaje máquina?

Page 14: Introducción a la tecnología de los computadores. Computadores y abstracciones

Notación simbólica para representar datos e instrucciones Podemos representar la operación de suma

mediante la siguiente cadena de caracteres:add $t2, $t0, $t1

Sumar el contenido del registro $t0 y el contenido del registro $t1; el resultado, guardarlo en el registro $t2 para su uso posterior.

Esta notación simbólica nos es muy útil a nosotros Comprendemos la operación con sólo un vistazo ¿El computador puede entender add $t2, $t0, $t1?

¡No puede!

Page 15: Introducción a la tecnología de los computadores. Computadores y abstracciones

Traducir la notación simbólica al lenguaje del computador (0 y 1, leng. máquina, I). Para que el computador entienda las

instrucciones y datos: Es necesario que las reciba correctamente

codificadas en lenguaje máquina Entonces, podemos efectuar la

traducción nosotros mismos: es laborioso, mecánico, pero fácil:

add $t2, $t0, $t1 001011111010010101011111000000001111

Page 16: Introducción a la tecnología de los computadores. Computadores y abstracciones

Traducir la notación simbólica al lenguaje del computador (L. máquina), II. También, ya que se trata de un proceso

mecánico y laborioso: Podemos usar un computador que haga

este proceso Eso sí, habremos de usar un programa (Que

alguien habrá escrito ya) Ese programa, que traduce la notación

simbólica de un programa a lenguaje máquina le denominamos:

PROGRAMA ENSAMBLADOR

Page 17: Introducción a la tecnología de los computadores. Computadores y abstracciones

Traducir la notación simbólica al lenguaje del computador (L. máquina), III. El programa que traduce:

Ensamblador (Assembler)

La nótación simbólica: Lenguaje de ensamblaje (assembly

language)

Page 18: Introducción a la tecnología de los computadores. Computadores y abstracciones

Traducir la notación simbólica al lenguaje del computador, IV

swap(int v[], int k){int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;}

swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31

00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

Binary machinelanguageprogram(for MIPS)

C compiler

Assembler

Assemblylanguageprogram(for MIPS)

High-levellanguageprogram(in C)

Ensamblador

Lenguaje de ensamblaje

Lenguaje máquina MIPS

Lenguaje C

Compilador

Page 19: Introducción a la tecnología de los computadores. Computadores y abstracciones

¿Por qué no una notación aún más inteligible? Lenguajes de alto nivel

swap(int v[], int k){int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;}

swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31

00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

Binary machinelanguageprogram(for MIPS)

C compiler

Assembler

Assemblylanguageprogram(for MIPS)

High-levellanguageprogram(in C)

Compilador de lenguaje C

Programa escrito en C

Page 20: Introducción a la tecnología de los computadores. Computadores y abstracciones

Jerarquía básica de abstracciones

Software de aplicación es el que se encuentra más cerca del usuario final.

El software de sistema ofrece servicios a todos los usuarios. Sistema operativo. Compiladores. Ensambladores.

Hardware: Ratón, video, placa madre, memoria, microprocesador, disco duro, cd-rom, adaptadores de comunicaciones, circuitos integrados.

Software de aplicación

H ardw are

Software de sistema

Page 21: Introducción a la tecnología de los computadores. Computadores y abstracciones

Categorías de software

M S-O ffi celaT E XM ath em aticaM atlab

So ftw are d e ap l i cación

g ccC d e M i cr osoftj av ac

C om p i l ad or es

M em or i a v i r t u al S i stem a d e fi ch er os

D r i v er s d e d i sp osi t i v os d e e/ s

S i stem as op er at i v os

asM A S MT A S Mcsi l ocatel i n kt l i n k

E n sam bl ad or esE n l az ad or esU b i cad or es

So ftw are d e si stem a

Softw are

Page 22: Introducción a la tecnología de los computadores. Computadores y abstracciones

Chapter 1 — Computer Abstractions and Technology — 22

Components of a Computer Same components for

all kinds of computer Desktop, server,

embedded Input/output includes

User-interface devices Display, keyboard, mouse

Storage devices Hard disk, CD/DVD, flash

Network adapters For communicating with

other computers

§1.3 Under the C

overs

The BIG Picture