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

Post on 04-Jan-2016

36 views 0 download

description

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 - PowerPoint PPT Presentation

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

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

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.

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.

¿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

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

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

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.

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

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)

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?

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

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?

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!

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

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

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)

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

¿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

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

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

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