fundamentos de diseño lógico y de computadoras - copia.pdf · fundamentos de diseño lógico ......

646
M. Morris Mano Charles R. Kime 3ª edición www.librosite.net/mano Fundamentos de diseño lógico y de computadoras

Upload: lethu

Post on 05-Aug-2018

323 views

Category:

Documents


3 download

TRANSCRIPT

  • M. Morris ManoCharles R. Kime

    3 edicin

    www.librosite.net/mano

    Fundamentos de diseo lgicoy de computadoras

    El objeto de este texto es proporcionar una comprensin de losfundamentos del diseo lgico y de los procesadores para una ampliaaudiencia de lectores. El proceso de diseo se ha automatizado utilizandolenguajes de descripcin hardware y sntesis lgica, y la bsqueda de altavelocidad y de bajo consumo han cambiado los fundamentos del diseo delos procesadores.

    El contenido de esta tercera edicin contina su enfoque en losfundamentos mientras que al mismo tiempo refleja la importancia relativade los conceptos bsicos como la tecnologa y la evolucin del proceso dediseo. Por ejemplo, en esta edicin, las secciones sobre circuitos NANDy NOT aparecen en el contexto ms amplio de la materializacintecnolgica.

    El texto contina proporcionando la opcin a los instructores de cubrirde forma bsica tanto VHDL como Verilog.

    En resumen, esta edicin de los Fundamentos de diseo lgico y decomputadoras ofrece un fuerte nfasis en los fundamentos que subyacenal diseo lgico actual utilizando lenguajes de descripcin hardware,sntesis y verificacin as como los cambios en el nfasis en el uso de losfundamentos del diseo de procesadores.

    www.pearsoneducacion.com

    Incluye:

    LibroSite es una pgina web asociada

    al libro, con una gran variedad de

    recursos y material adicional tanto

    para los profesores como para

    estudiantes. Apoyos a la docencia,

    ejercicios de autocontrol, enlaces

    relacionados, material de

    investigacin, etc., hacen de

    LibroSite el complemento

    acadmico perfecto para este libro.

    IIIIIIIII

    IIIIIII

    IIIIII

    IIIIII

    IIIIII

    IIIIII

    IIIIII

    IIIIIIII

    IIIIIIIIIII

    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIww

    w.librosite.net/mano

    Fund

    amen

    tos

    de d

    ise

    o l

    gico

    y de

    com

    puta

    dora

    sM

    orri

    sK

    ime

    3 ed.

    Cubierta Morris Mano.qxd 22/3/10 13:32 Pgina 1

  • Fundamentos de diseo lgicoy de computadoras

    Tercera Edicin

  • Fundamentos de diseo lgicoy de computadoras

    Tercera Edicin

    M. MORRIS MANOCalifornia State University, Los ngeles

    CHARLES R. KIMEUniversity of Wisconsin, Madison

    TraduccinJos Antonio Herrera CamachoProfesor Titular de Escuela Universitaria

    Universidad Politcnica de Madrid

    Martina EckertDra. Ingeniera en Telecomunicacin

    Universidad Politcnica de Madrid

    Beatriz Valcuende LozanoIngeniera Tcnica en Telefona y Transmisin de Datos

    Universidad Politcnica de Madrid

    Revisin tcnicaJos Antonio Herrera CamachoProfesor Titular de Escuela Universitaria

    Universidad Politcnica de Madrid

    Madrid Mxico Santaf de Bogot Buenos Aires Caracas Lima MontevideoSan Juan San Jos Santiago Sao Paulo White Plains

  • Datos de catalogacin bibliogrfica

    FUNDAMENTOS DE DISEO LGICOY DE COMPUTADORASMano, M. Morris; Kime, Charles

    PEARSON EDUCACIN, S.A., Madrid, 2005

    ISBN: 978-84-832-2688-9Materia: Electrnica 621,3

    Formato 195 # 250 mm Pginas: 648

    Todos los derechos reservados.Queda prohibida, salvo excepcin prevista en la Ley, cualquier forma de reproduccin, distribucin,comunicacin pblica y transformacin de esta obra sin contar con autorizacin de los titularesde propiedad intelectual. La infraccin de los derechos mencionados puede ser constitutivade delito contra la propiedad intelectual (arts. 270 y sgts. Cdigo Penal).

    DERECHOS RESERVADOS5 2005 por PEARSON EDUCACIN, S.A.Ribera del Loira, 2828042 Madrid (Espaa)

    FUNDAMENTOS DE DISEO LGICO Y DE COMPUTADORESMano, M. Morris; Kime, Charles

    ISBN: 84-205-4399-3Depsito legal: M.

    PEARSON PRENTICE HALL es un sello editorial autorizado de PEARSON EDUCACIN, S.A.

    Authorized translation from the English language edition, entitled LOGIC AND COMPUTER DESIGNFUNDAMENTALS, 3rd Edition by Mano, M. Morris; Kime, Charkes, published by Pearson Education, Inc,publishing as Prentice Hall, Copyright 5 2004.ISBN 0-13-140539-XAll rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,electronic or mechanical, including photocopying, recording or by any information storage retrieval system,without permission form Pearson Education, Inc.

    Equipo editorial:Editor: Miguel Martn-RomoTcnico editorial: Marta Caicoya

    Equipo de produccin:Director: Jos Antonio ClaresTcnico: Diego Marn

    Diseo de cubierta: Equipo de diseo de Pearson Educacin, S.A.

    Composicin: COPIBOOK, S.L.

    Impreso por:

    IMPRESO EN ESPAA - PRINTED IN SPAIN

    Este libro ha sido impreso con papel y tintas ecolgicos

  • CONTENIDO

    Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

    Captulo 1 3

    ORDENADORES DIGITALES E INFORMACIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-1 Computadoras digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Representacin de la informacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Estructura de una computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Ms en relacin con la computadora genrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1-2 Sistemas numricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Nmeros binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Nmeros octales y hexadecimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Rangos de los nmeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1-3 Operaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Conversin de decimal a otras bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    1-4 Cdigos decimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Suma en BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Bit de paridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    1-5 Cdigos Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191-6 Cdigos alfanumricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211-7 Sumario del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Captulo 2 27

    CIRCUITOS LGICOS COMBINACIONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272-1 Lgica binaria y puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    Lgica binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Puertas lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

  • 2-2 lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Identidades bsicas del lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Manipulacin algebraica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35El complemento de una funcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    2-3 Formas cannicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Minitrminos y maxitrminos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Suma de productos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Producto de sumas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    2-4 Optimizacin de circuitos de dos niveles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Criterios de coste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Mapa de dos variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Mapa de tres variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Mapa de cuatro variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    2-5 Manipulacin del mapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Implicantes primos esenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Implicantes primos no esenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Optimizacin de producto de sumas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Condiciones de indiferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    2-6 Optimizacin de circuitos multinivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612-7 Otros tipos de puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652-8 Operador y puertas OR exclusiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    Funcin impar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702-9 Salidas en altas impedancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712-10 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Captulo 3 81DISEO LGICO COMBINACIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813-1 Conceptos de diseo y automatizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    Diseo jerrquico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Diseo top-down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Diseo asistido por computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Lenguaje de descripcin hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Sntesis lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    3-2 El espacio de diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Propiedades de las puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Niveles de integracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Tecnologas de circuitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Parmetros tecnolgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Lgica positiva y negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Compromisos de diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    3-3 Ciclo de diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973-4 Mapeado tecnolgico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Especificaciones de las clulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Libreras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Tcnicas de mapeado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    vi CONTENIDO

  • 3-5 Verificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Anlisis lgico manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113La simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    3-6 Tecnologas de implementacin programables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Memorias de slo lectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Array lgico programable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Arrays de lgica programables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    3-7 Sumario del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    Captulo 4 133FUNCIONES Y CIRCUITOS COMBINACIONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334-1 Circuitos combinacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344-2 Funciones lgicas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    Asignacin, transferencia y complemento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Funciones de varios bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Habilitacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

    4-3 Decodificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Extensin de decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Decodificadores con seal de habilitacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    4-4 Codificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Codificador con prioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Expansin de codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    4-5 Seleccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Expansin de multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Implementaciones alternativas de selectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    4-6 Implementacin de funciones combinacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Empleando decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Empleando multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Empleando memorias de slo lectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Usando arrays lgicos programables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Usando arrays de lgica programable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Empleando tablas de bsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    4-7 HDL representacin para circuitos combinacionales-VHDL . . . . . . . . . . . . . . . . . . . . . . . 1654-8 Representacin HDL de circuitos combinacionales-Verilog . . . . . . . . . . . . . . . . . . . . . . . 1724-9 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

    Captulo 5 189FUNCIONES Y CIRCUITOS ARITMTICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1895-1 Circuitos combinacionales iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1905-2 Sumadores binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Semi-sumador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    CONTENIDO vii

  • Sumador completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Sumador binario con acarreo serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Sumador con acarreo anticipado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

    5-3 Resta binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Complementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Resta con complementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

    5-4 Sumador-restador binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Nmeros binarios con signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203Suma y resta binaria con signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Overflow o desbordamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

    5-5 Multiplicacin binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2085-6 Otras funciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    Contraccin o reduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Incremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211Decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Multiplicacin por constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Divisin por constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Relleno a ceros y extensin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

    5-7 Representacin HDL-VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Descripcin de comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    5-8 Representaiones HDL-Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Descripcin de comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    5-9 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

    Captulo 6 227CIRCUITOS SECUENCIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2276-1 Definicin de circuito secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286-2 Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    Latches RS y R1 S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Latch D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    6-3 Flip-flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Flip-flop maestro-esclavo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Flip-flop disparados por flanco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238Smbolos grficos estndar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Entradas asncronas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241Tiempos de los flip-flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

    6-4 Anlisis de circuitos secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243Ecuaciones de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243Tabla de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Diagrama de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Temporizacin del circuito secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

    6-5 Diseo de circuitos secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Procedimiento del diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Localizacin de los diagramas de estados y las tablas de estados . . . . . . . . . . . . . . . . . 253

    viii CONTENIDO

  • Asignacin de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Diseando con flip-flops D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Diseando con estados no usados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Verificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

    6-6 Otros tipos de flip-flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Flip-flops JK y T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

    6-7 Representacin HDL para circuitos secuenciales-VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . 2676-8 Representacin de HDL para circuitos secuenciales-Verilog . . . . . . . . . . . . . . . . . . . . . . 2756-9 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

    Captulo 7 291REGISTROS Y TRANSFERENCIA DE REGISTROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2917-1 Registros y habilitacin de carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

    Registro con carga en paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2937-2 Transferencia de registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2957-3 Operaciones de transferencia de registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2977-4 Nota para usuarios de VHDL y Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2997-5 Microoperaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

    Microoperaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300Microoperaciones lgicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Microoperaciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

    7-6 Microoperaciones en un registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305Transferencias basadas en multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305Registros de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Contador asncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311Contadores binarios sncronos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316Otros contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

    7-7 Diseo de clulas bsicas de un registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3197-8 Transferencia de mltiples registros basada en buses y multiplexores . . . . . . . . . . . . . 325

    Bus triestado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3267-9 Transferencia serie y microoperaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

    Suma en serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3297-10 Modelado en HDL de registros de desplazamiento y contadores-VHDL . . . . . . . . . . . 3317-11 Modelado en HDL de registros de desplazamiento y contadores-Verilog . . . . . . . . . . 3337-12 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

    Captulo 8 343SECUENCIAMIENTO Y CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3438-1 La unidad de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3448-2 Algoritmo de mquinas de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

    Diagrama ASM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3458-3 Ejemplos de diagramas ASM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

    CONTENIDO ix

  • Multiplicador binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3488-4 Control cableado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

    Registro de secuencia y descodificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Un flip-flop por estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

    8-5 Representacin HDL del multiplicador binario-VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3638-6 Representacin HDL del multiplicador binario-Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . 3658-7 Control microprogramado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3688-8 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

    Captulo 9 377MEMORIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3779-1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3789-2 Memoria de acceso aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

    Operaciones de lectura y escritura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380Temporizacin de las formas de onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Caractersticas de las memorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

    9-3 Memorias integradas SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383Seleccin combinada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

    9-4 Array de circuitos integrados de memoria SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3899-5 Circuitos integrados de memoria DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

    Celda DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393Tira de un bit de memoria DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

    9-6 Tipos de memoria DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398Memoria sncrona DRAM (SDRAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400Memoria SDRAM de doble tasa de transferencia de datos (DDR SDRAM) . . . . . . . 402Memoria RAMBUS555 DRAM (RDRAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

    9-7 Arrays de circuitos integrados de memorias dinmicas RAM . . . . . . . . . . . . . . . . . . . . . 4049-8 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

    Captulo 10 407FUNDAMENTOS DEL DISEO DE PROCESADORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40710-1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40810-2 Rutas de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40810-3 Unidad aritmtico-lgica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

    Circuito aritmtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411Circuito lgico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414Unidad lgico-aritmtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

    10-4 El desplazador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416Barrel Shifter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

    10-5 Representacin de rutas de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41910-6 La palabra de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42110-7 Arquitectura de un sencillo procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    x CONTENIDO

  • Arquitectura de conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Recursos de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Formatos de la instruccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428Especificacin de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

    10-8 Control cableado de un solo ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433Decodificador de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Ejemplo de instrucciones y programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437Problemas del procesador de un solo ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

    10-9 Control cableado multiciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441Diseo del control secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

    10-10 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

    Captulo 11 459ARQUITECTURA DE CONJUNTO DE INSTRUCCIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45911-1 Conceptos de la arquitectura de procesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

    Ciclo de operacin bsico de un procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Conjunto de registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

    11-2 Direccionamiento de los operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462Instrucciones de tres direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Instrucciones de dos direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Instrucciones de una direccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Instrucciones con cero direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464Arquitecturas de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

    11-3 Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468Modo implcito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469Modo inmediato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469Modos registro y registro indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469Modo de direccionamiento directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470Modo de direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471Modo de direccionamiento relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Modo de direccionamiento indexado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Resumen de modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

    11-4 Arquitecturas de conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47411-5 Instrucciones de transferencia de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

    Instrucciones de manejo de pila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476E/S independiente versus E/S ubicada en memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

    11-6 Instrucciones de manipulacin de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479Instrucciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479Instrucciones lgicas y de manipulacin de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Instrucciones de desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

    11-7 Clculos en punto flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483Operaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Exponente sesgado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485Formato estndar de los operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

    11-8 Instrucciones de control de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

    CONTENIDO xi

  • Instrucciones de bifurcacin condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489Instrucciones de llamada y retorno de subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

    11-9 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492Tipos de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493Procesamiento de interrupciones externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

    11-10 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496

    Captulo 12 503UNIDADES CENTRALES DE PROCESAMIENTO RISC Y CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50312-1 Ruta de datos segtmentada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504

    Ejecucin de microoperaciones de pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50712-2 Control de la ruta de datos segmentada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

    Rendimiento y realizacin de un pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51112-3 Procesador de conjunto reducido de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

    Arquitectura de conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516Organizacin de la ruta de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516Organizacin del control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519Conflictos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520Control de conflictos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527

    12-4 Procesadores de conjunto de instrucciones complejo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530Modificaciones de la ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533Modificaciones en la ruta de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Modificaciones de la unidad de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535Control microprogramado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537Microprograma para instrucciones complejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

    12-5 Ms sobre diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542Conceptos de CPU de alto rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542Recientes innovaciones arquitecturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545Sistemas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

    12-6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548

    Captulo 13 551ENTRADA/SALIDA Y COMUNICACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55113-1 Procesadores de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55213-2 Ejemplo de perifricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552

    Teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552Disco duro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553Monitores grficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555Tasas de transferencia de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556

    13-3 Interfaces de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556Unidad interfaz y bus de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

    xii CONTENIDO

  • Ejemplo de interfaz de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558Strobing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Handshaking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561

    13-4 Comunicacin serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562Transmisin asncrona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Transmisin sncrona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564De vuelta al teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564Un bus de E/S serie basado en paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565

    13-5 Modos de transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Ejemplo de una transferencia controlada por programa . . . . . . . . . . . . . . . . . . . . . . . . . . . 570Transferencia iniciada por interrupcin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

    13-6- Prioridad en las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572Prioridad Daisy Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573Hardware de prioridad paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574

    13-7 Acceso directo a memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576El controlador de DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Transferencia de DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578

    13-8 Procesadores de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57913-9 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582

    Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583

    Captulo 14 587SISTEMAS DE MEMORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58714-1 Jerarqua de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58814-2 Localidad de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59014-3 Memoria cach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592

    Mapeado de la cach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594Tamao de lnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599Carga de la cach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600Mtodos de escritura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600Integracin de conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601Cachs de instrucciones y datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604Cachs de mltiples niveles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604

    14-4 Memoria virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605Tablas de pginas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606Translation Lookaside Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609Memoria virtual y cach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610

    14-5 Resumen del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

    ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615

    CONTENIDO xiii

  • PREFACIO

    El objeto de este texto es proporcionar una compresin de los fundamentos del diseo lgico yde los procesadores para una amplia audiencia de lectores. Muchos de los fundamentos que sepresentan no han cambiado en dcadas. Por otro lado, los avances que la tecnologa subyacentehan tenido un gran efecto en la aplicacin de estos fundamentos y se ha hecho nfasis en ellos.El proceso de diseo se ha automatizado utilizando lenguajes de descripcin hardware y sntesislgica, y la bsqueda de alta velocidad y de bajo consumo han cambiado los fundamentos deldiseo de los procesadores.

    El contenido de esta tercera edicin contina su enfoque en los fundamentos mientras que almismo tiempo refleja la importancia relativa de los conceptos bsicos como la tecnologa y laevolucin del proceso de diseo. Como ejemplo, la microprogramacin, cuyo uso ha declinadocomo principal mtodo de diseo de unidades de control, se trata slo como tcnica de diseode unidades de control para realizar procesadores con instrucciones complejas. Adems, con eltiempo, la terminologa fundamental evoluciona y, junto con ella, nuestra perspectiva de losconceptos asociados. Por ejemplo, en esta edicin, las secciones sobre circuitos NAND y NOTaparecen en el contexto ms amplio de la materializacin tecnolgica.

    El texto continua proporcionando la opcin a los instructores de cubrir de forma bsica tantoVHDL como Verilog4 u omitir los lenguajes de descripcin hardware (HDL, del ingls Hard-ware Description Language). La perspectiva de cubrir aqu, en forma de introduccin, es la co-rrespondencia de los HDLs con el hardware real que representa. Esta perspectiva vital, que escrtica al escribir los HDLs para sntesis lgica, se puede perder en un tratamiento ms detalla-do, enfocado en el lenguaje y la facilidad de su uso.

    En resumen, esta edicin ofrece un fuerte nfasis en los fundamentos que subyacen al dise-o lgico actual utilizando lenguajes de descripcin hardware, sntesis y verificacin as comolos cambios en el nfasis en el uso de los fundamentos del diseo de procesadores. El enfoquede los conceptos bsicos y los ejercicios manuales permanece para reforzar la comprensincompleta de estos conceptos como soporte principal.

    Para apoyar la perspectiva de la evolucin y tratar los problemas estructurales acrecentandonotablemente la longitud del captulo, esta edicin ofrece una importante reorganizacin de loscaptulos. Los Captulos 1 al 6 del libro tratan el diseo lgico, y los Captulos 7 al 9 tratan el

  • diseo de sistemas digitales. Los Captulos 10 al 14 se enfocan directamente en el diseo deprocesadores. Esta organizacin proporciona unos fundamentos slidos del diseo de siste-mas digitales mientras que lleva a cabo un desarrollo gradual de abajo a arriba (bottom-up)de los fundamentos para utilizarlos en el diseo de los procesadores desde arriba hasta abajo(top-down) en los ltimos captulos. Once de los 14 captulos contienen nuevo material que nose incluy en la segunda edicin, y aproximadamente, el 50% de los problemas se han modifi-cado o son nuevos. Hay en torno a una docena de textos complementarios disponibles en lapgina web del libro, que representan tanto material nuevo como material eliminado de las ante-riores ediciones. A continuacin siguen los resmenes de los temas tratados en cada captulo.

    Captulo 1Ordenadores digitales e informacin, presenta los sistemas con procesador yla representacin de la informacin, incluyendo una nueva seccin sobre los Cdigos Gray.

    Captulo 2Circuitos lgicos combinacionales, trata la teora bsica y los conceptos deldiseo y optimizacin de los circuitos con puertas. Aparece una nueva seccin sobre optimiza-cin de lgica multinivel. Adems del nmero de literales bsicos, se introduce el nmero deentradas por puerta como un criterio de coste ms preciso en el uso de circuitos multinivel.

    Captulo 3Diseo Lgico combinacional, ofrece una visin del proceso de diseo lgicoactual y trata con las caractersticas de las puertas y retardos, el uso tecnolgico de puertascomo la NAND, NOR, AOI, OAI, XOR y XNOR. Se tratan los detalles de los pasos en el pro-ceso de diseo de la lgica combinacional, incluyendo el problema de formulacin, optimiza-cin lgica, materializacin tecnolgica y la verificacin. Como parte de la materializacin tec-nolgica, este captulo cubre bsicamente las memorias ROM, PLAs y PALs. Se proporcionauna introduccin a los FPGAs (Field Programmable Gate Arrays), enfocndose en las piezasutilizadas por los estudiantes en el laboratorio, como un suplemento en la pgina del texto, quepermite actualizar estos cambios tecnolgicos durante el tiempo de vida de esta edicin.

    Captulo 4Circuitos y funciones combinacionales, cubre el diseo de subsistemas com-binacionales. Se han eliminado los remanentes de la lgica MSI, segn el cambio de enfoque,por 1) los fundamentos de funciones combinacionales y su realizacin, y 2) las tcnicas de utili-zacin y modificacin de estas funciones y sus realizaciones asociadas. Este enfoque proporcio-na los fundamentos para tener una visin ms clara del diseo de lgica estructurada y para lavisualizacin de la lgica resultante de la sntesis de los HDLs. Adems de presentar la decodi-ficacin, codificacin, conversin de cdigos, seleccin y distribucin, se han presentado nue-vas funciones como la habilitacin y la entrada fija. Se incluyen secciones introductorias sobreVerilog, VHDL para los diversos tipos de funciones.

    Captulo 5Funciones y circuitos aritmticos, trata de las funciones aritmticas y su rea-lizacin. Adems de la representacin de nmeros, la suma, la resta y la multiplicacin se hanpresentado las funciones de incremento, decremento, rellenado, extensin y desplazamiento,y su realizacin. Se han incluido descripciones en Verilog y en VHDL de las funciones arit-mticas.

    Captulo 6Circuitos secuenciales, presenta el anlisis y el diseo de circuitos digitales.Se tratan los latches, los flip-flops maestro-esclavo, los flip-flops disparados por flanco, con es-pecial nfasis en los de tipo D. Tambin se tratan otros tipos de flip-flops (S-R, J-K y T), usadoscon menor frecuencia en los diseos modernos, pero con menos nfasis, presentndose con msprofundidad en un suplemento de la pgina web. Tambin se proporcionan las descripciones enVHDL y en Verilog de los flip-flops y de circuitos secuenciales.

    Captulo 7Registros y transferencia de registros, se relacionan juntos y muy cercanosal diseo de los registros y sus aplicaciones. El diseo de registro de desplazamiento y los con-tadores se basa en la combinacin de registros con funciones y su realizacin, presentadas en elCaptulo 4 y 5. Solamente se presenta el contador, llamado ripple counter, como un concepto

    xvi PREFACIO

  • totalmente nuevo. Este enfoque concuerda con la reduccin del enfoque en los circuitos origina-les como los MSI. Una seccin nueva se enfoca en el diseo de clulas bsicas para construirregistros que realizan varias operaciones. Se presentan las descripciones en Verilog y VHDL delos diversos tipos de registros.

    Captulo 8Secuenciamiento y control, trata el diseo de la unidad de control. Una ca-racterstica adicional de la representacin del Algoritmo de Mquinas de Estados (ASM, Algo-rithmic State Machine) es la bifurcacin en varios caminos, anloga al case de Verilog yVHDL. Se enfatiza el control hardware y se reduce este nfasis en el control microprogramado.

    Captulo 9Memorias, presenta las memorias SRAM, DRAM y las bases de las memoriascomo sistemas. En una nueva seccin se trata las memorias sncronas DRAM y las bases de lastecnologas actuales. En la pgina web del texto se proporcionen modelos de las memorias enVerilog y VHDL.

    Captulo 10Fundamentos del diseo de procesadores, trata los bancos de registros, lasunidades funcionales, las rutas de datos y dos procesadores sencillos. Se disea con algo de de-talle un procesador de un solo ciclo de reloj y un nuevo procesador de varios ciclos de reloj,empleando en ambos control cableado.

    Captulo 11Arquitecturas de conjunto de instrucciones, presenta varias facetas de laarquitectura de conjunto de instrucciones. Se trata la cuenta de direcciones, los modos de direc-cionamiento, las arquitecturas y los tipos de instrucciones. Los modos de direccionamiento yotros aspectos se ilustran con breves conjuntos de cdigos de instrucciones.

    Captulo 12Unidades centrales de procesamiento RISC y CISC, presenta rutas de da-tos segmentadas (pipeline) y el control. Se da un procesador de conjunto de instrucciones redu-cido (RISC, Reduced Instruction Set Computer). Tambin se presenta un nuevo procesador deconjunto de instrucciones complejo (CISC, Complex Instruction Set Computer). Este diseo uti-liza una unidad de control microprogramado junto con un RISC de base para realizar instruccio-nes complejas.

    Captulo 13Entrada/Salida y comunicaciones, trata la transferencia de datos entre laCPU, interfaces de entrada/salida y dispositivos perifricos. Se estudia un teclado, un monitorCRT y un disco duro como perifricos, y se ilustra la interfaz de un teclado. Adems se tratanlas comunicaciones va serie, incluyendo el Bus Serie Universal (USB, Universal Serial Bus),hasta los procesadores E/S.

    Captulo 14Sistemas de memoria, tiene un particular enfoque sobre las jerarquas dememorias. Se presenta e ilustra el concepto de localidad de referencia, considerando la relacinmemoria cach/principal y memoria principal/disco duro. Se proporciona una visin de los pa-rmetros de diseo de las memorias cachs. El tratamiento de la memoria se enfoca en la pagi-nacin y en translation lookaside buffer que da soporte a la memoria virtual.

    Adems del propio texto, hay un importante material de apoyo, que se comenta a continua-cin.

    La pgina web del texto (http://www.librosite.net/mano) se incluye el siguiente material:

    1) Doce suplementos que incluyen material nuevo y el material eliminado de las anterioresediciones.

    2) Los ficheros fuentes en VHDL y Verilog de todos los ejemplos.3) Soluciones de aproximadamente un tercio de los problemas de todos los captulos del

    texto y del material suplementario.4) Fe de erratas.5) Transparencias en PowerPoint4 de los Captulos 1 al 9.6) Coleccin de las figuras y tablas ms complejas del texto.

    PREFACIO xvii

  • El paquete de herramientas de diseo utilizado en las impresiones locales e internacionalesdel texto consisten en el software ISE Student Edition de Xilinx4, que cortsmente ha propor-cionado sin cargo Xilinx Inc. Est tambin disponible, mediante descarga a travs de Xilinx, laversin de demostracin del simulador lgico XE de ModelSim4 de Model Technology Incor-porated. Estas herramientas se pueden utilizar para realizar esquemticos y mquinas de esta-dos, compilar y simular cdigo VHDL, Verilog o esquemticos, y sintetizar diseos en CPLD yFPGA, y simular el resultado de los diseos. Con la compra de hardware de bajo coste para losexperimentos, estas herramientas proporcionan a los estudiantes todo lo necesario para llevar acabo sus experimentos en CPLDs o FPGAs.

    Debido a su amplio tratamiento tanto en diseo lgico y de procesadores, este libro puedeservir a diferentes objetivos, desde estudiantes de cursos bsicos hasta cursos de nivel superior.Los Captulos 1 al 11, omitiendo algunas secciones, proporcionan una visin general del hard-ware para estudiantes de ingeniera de telecomunicacin, informtica, industriales o ingenierasen general, en un curso semestral. Los Captulos del 1 al 8 dan una introduccin bsica al dise-o lgico, que se lleva a cabo en un semestre para estudiantes de las ingenieras mencionadas.Impartir los Captulos del 1 al 10 en un semestre proporciona un tratamiento ms fuerte y actualdel diseo lgico. El libro completo, impartido en dos semestres, proporciona las bases del dise-o lgico y de procesadores para estos estudiantes de ingeniera. Impartir el libro completo, conel apropiado material complementario o un laboratorio podra efectuarse en una secuencia dedos semestres de un curso de diseo lgico y de procesadores. Para terminar, debido a su mode-rado tratamiento por pasos de un amplio espectro de temas, el libro es ideal para el autoaprendi-zaje de ingenieros.

    Entre las diferentes contribuciones de este libro, Richard E. Haskell, Oakland University;Eugene Henry, University of Notre Dame; Sung Hu, San Francisco State University; and WalidHubbi, New Jersey Institute of Technology proporcionaron excelentes comentarios y sugeren-cias sobre los dibujos de los Captulo del 1 al 8. Su contribucin a las mejoras del texto seagredeci muy sinceramente. Tambin contribuyeron en este libro los profesores y estudiantesde la Universidad de Wisconsin. La direccin que tom el Captulo 12 sobre diseo de CISC semotiv por una sugerencia del Profesor Jim Smith, y el Profesor Leon Shohet sugiri mejorasespecficas basadas en el uso de la 2a edicin del libro. Un agradecimiento especial para EricWeglarz por su profunda revisin del nuevo material tanto en su contenido como en su claridad.Agradecer tambin a Eric y Jim Liu por la preparacin de las soluciones a los problemas nuevosy a los modificados del manual del instructor. Un agradecimiento especial al equipo de PrenticeHall por sus esfuerzos en esta edicin. Hay que destacar a Tom Robbins y Alice Dworkin por sudireccin y apoyo, a Eric Frank por su contribucin en las primeras etapas de esta edicin, y aDaniel Sandin por su muy eficiente y til manejo en la produccin de esta edicin.Para terminar, un agradecimiento especial a Val Kime por su paciencia y compresin a lo largodel desarrollo de esta tercera edicin.

    M. MORRIS MANOCHARLES R. KIME

    xviii PREFACIO

  • FUNDAMENTOS DE DISEOLGICO Y DE COMPUTADORAS

  • 1COMPUTADORAS DIGITALES

    E INFORMACIN

    C A P T U L O

    Los fundamentos del diseo lgico y los fundamentos del diseo de computadorasson los temas a tratar en este libro. El diseo lgico trata los conceptos bsicos ylas herramientas usadas en el diseo de hardware digital, formado por circuitoslgicos. El diseo de computadoras trata los conceptos y las herramientas adicio-nales usadas en el diseo de computadoras y otro tipo de hardware complejo. A lascomputadoras y al hardware digital se les llama, en general, sistemas digitales. As, es-te libro trata del entendimiento y diseo de sistemas digitales. Debido a su generalidady complejidad, la computadora proporciona un vehculo ideal para aprender los concep-tos y las herramientas para el diseo de sistemas digitales. Adems, gracias a su usocorriente, la propia computadora merece ser estudiada. Por eso, el enfoque en este li-bro est en las computadoras y su diseo.

    La computadora no va a ser solamente un vehculo, sino tambin un motivo de es-tudio. Para ese fin, usamos el diagrama detallado de un ordenador del tipo que, normal-mente, se denomina como PC (personal computer), de la pgina anterior. Usamos esacomputadora genrica para destacar la importancia del material cubierto y su relacincon el sistema total. Ms adelante en el captulo, discutiremos los diversos componen-tes principales de una computadora genrica y veremos como se relacionan con undiagrama de bloques, comnmente usado, para describir una computadora.

  • 1-1 COMPUTADORAS DIGITALESHoy en da, las computadoras digitales tienen un papel tan prominente y creciente en la socie-dad moderna, que muchas veces decimos que estamos en la era de la informacin. Las com-putadoras estn involucradas en nuestras transacciones de negocios, comunicaciones, transporte,tratamiento mdico y entretenimiento. Monitorizan nuestro tiempo y medio ambiente. En elmundo industrial estn fuertemente empleados en diseo, produccin, distribucin, y ventas.Han contribuido a muchos descubrimientos cientficos y desarrollos ingenieriles que, de otramanera, hubieran sido inalcanzables. Notablemente, el diseo de un procesador para una com-putadora moderna no se podra hacer sin usar muchas computadoras.

    La propiedad ms llamativa de una computadora digital es su generalidad. Puede seguir unaserie de instrucciones, llamada programa, que opera con los datos dados. El usuario puede espe-cificar y cambiar el programa o los datos dependiendo de necesidades concretas. Como resulta-do de su flexibilidad, las computadoras digitales de propsito general pueden ejecutar una varie-dad de tareas de procesamiento de informacin en un espectro muy amplio de aplicaciones. Lacomputadora de propsito general es el ejemplo ms conocido de un sistema digital. La caracte-rstica de un sistema digital es la manipulacin de elementos discretos de informacin. Cual-quier conjunto que se restrinja a un nmero finito de elementos contiene informacin discreta.Ejemplos de conjuntos discretos son los 10 dgitos decimales, las 27 letras del alfabeto, las 52cartas de una baraja, y los 64 cuadrados de una tabla de ajedrez. Las primeras computadorasdigitales se usaron principalmente para clculos numricos. En este caso, los elementos discre-tos usados fueron los dgitos. De una aplicacin como sta sali el trmino computadora digital.

    Los elementos discretos de informacin se representan en un sistema digital por cantidadesfsicas llamadas seales. Seales elctricas como voltajes y corrientes son las ms conocidas.Los dispositivos electrnicos llamados transistores predominan en los circuitos que manejan es-tas seales. Las seales en la mayora de los sistemas digitales de hoy usan justamente dos valo-res discretos y por eso se denominan seales binarias.

    Tpicamente representamos los dos valores discretos por rangos de valores de voltajes lla-mados ALTO (del trmino ingls HIGH) y BAJO (del trmino ingls LOW). Los rangos devoltios de salida y de entrada se ilustran en la Figura 1-1. El valor del voltaje de salida ALTOoscila entre 4.0 y 5.5 voltios, y el voltaje de salida BAJO entre .0.5 y 1.0 voltios. El rango deentrada mayor permite que entre 3.0 y 5.5 voltios se reconozca como ALTO, y el rango de en-trada menor permite que entre .0.5 y 2.0 voltios se reconozca como BAJO. El hecho de quelos rangos de entrada sean ms grandes que los de salida, permite que los circuitos funcionencorrectamente a pesar de variaciones en su comportamiento e indeseados voltajes de ruidoque podran ser aadidos o restados de las salidas.

    5,0

    4,0

    3,0

    2,0

    1,0

    0,0

    Voltios

    ALTO

    BAJO

    ALTO

    BAJO

    SALIDA ENTRADA

    FIGURA 1-1Ejemplo de rangos de voltaje para seales binarias

    4 FUNDAMENTOS DEL DISEO LGICO Y DE COMPUTADORAS

  • Damos a los rangos de voltios de entrada y de salida diferentes nombres. Entre ellos estnALTO (HIGH, H) y BAJO (LOW, L), VERDAD (TRUE, T) y FALSO (FALSE, F), y 1 y 0.Est claro que los rangos de voltaje ms altos estn asociados con ALTO o H, y los rangos msbajos con BAJO o L. Encontramos, sin embargo, que para TRUE y 1 y FALSE y 0, hay unaeleccin. TRUE y 1 se puede asociar o con rangos altos o bajos de voltaje y FALSE y 0 con losotros rangos. Si no se indica otra cosa, asumimos que TRUE y 1 estn asociados con los rangosms altos de voltaje, H, y que FALSE y 0 estn asociados con los rangos bajos, L.

    Por qu se usa binario? En contraposicin a la situacin en la Figura 1-1, considere unsistema con 10 valores, que representan a los dgitos decimales. En un sistema semejante, losvoltajes disponibles es decir entre 0 y 5.0 voltios se podran dividir en 10 rangos, cada unodel tamao de 0.5 voltios. Un circuito proporcionara un voltaje de salida dentro de estos 10rangos. Una entrada de un circuito necesitara determinar en cual de estos 10 rangos est situadoun voltaje aplicado. Si queremos permitir ruido en los voltajes, los voltajes de salida podranoscilar en menos de 0.25 voltios para una representacin de un digito dado, y los mrgenes en-tre entradas podran variar solamente en menos de 0.25 voltios. Esto requerira circuitos electr-nicos complejos y costosos y todava podran ser perturbados por pequeos voltajes de ruidoo pequeas variaciones en los circuitos debidas a la fabricacin o el uso. Como consecuencia, eluso de estos circuitos multivalores es muy limitado. En cambio, se usan circuitos binarios dondese pueden lograr operaciones correctas de los circuitos con variaciones significativas tanto enlos dos voltajes de entrada como de salida. El circuito resultante con transistores con una salidaALTA o BAJA es sencillo, fcil de disear y extremadamente fiable.

    Representacin de la informacin

    Ya que 0 y 1 estn asociados con el sistema de numeracin binario, son los nombres preferidospara el rango de las seales. A un dgito binario se le llama bit. La informacin est representa-da en computadoras digitales por grupos de bits. Usando diferentes tcnicas de codificacin, sepueden construir grupos de bits no solamente para representar nmeros binarios sino tambinotros grupos de smbolos discretos. Los grupos de bits, adecuadamente ordenados, pueden espe-cificar incluso instrucciones para la computadora y datos para procesar.

    Las cantidades discretas de informacin surgen de la naturaleza de los datos a procesar opodran ser cuantificados intencionadamente en valores continuos. Por ejemplo, un plan de pagode nminas tiene inherentemente datos discretos que contiene nombres de empleados, nmerosde seguridad social, salarios semanales, tasas de ingreso, etc. Un cheque de pago de un emplea-do est procesado usando valores de datos discretos como las letras del alfabeto (para los nom-bres de los empleados), dgitos (para el sueldo) y smbolos especiales como $. En cambio, uningeniero podra medir la velocidad de rotacin de una rueda de un coche, que vara continua-mente en el tiempo, pero podra grabar solamente valores especficos en forma tabular. De estemodo, el ingeniero cuantifica los datos continuos, convirtiendo cada nmero de la tabla en unacantidad discreta de informacin. En un caso como ste, si la medicin puede ser convertida enuna seal electrnica, la cuantificacin de la seal, tanto en valor y tiempo, puede ser realizadaautomticamente con un dispositivo de conversin analgico-digital.

    Estructura de una computadora

    En la Figura 1-2 se muestra un diagrama de bloques de una computadora digital. La memoriaguarda tanto programas como datos de entrada, salida e intermedios. La ruta de datos ejecuta

    COMPUTADORAS DIGITALES E INFORMACIN 5

  • Memoria

    Unidadde control

    Rutade datos

    Entrada/Salida

    CPU

    FIGURA 1-2

    operaciones aritmticas y de otro tipo como se especifica en el programa. La unidad de controlsupervisa el flujo de informacin entre las diferentes unidades. Una ruta de datos, cuando estcombinada con una unidad de control, forma un componente llamado CPU (unidad central deproceso, en ingls central processing unit).

    El programa y los datos preparados por el usuario se transfieren a la memoria mediante undispositivo de entrada como es el teclado. Un dispositivo de salida, como es un monitor CRT(tubo de rayos catdicos, en ingls cathode-ray tube) visualiza los resultados de los clculos ylos presenta al usuario. Una computadora digital puede alojar muchos dispositivos de entrada ysalida diferentes, como un disco duro, f loppy, CD-ROM y escner. stos dispositivos tienenalguna lgica digital, pero muchas veces incluyen circuitos electrnicos analgicos, sensorespticos, CRTs o LCDs (liquid crystal displays), y componentes electromecnicos.

    La unidad de control de la CPU recupera las instrucciones, de una en una, del programaguardado en la memoria. En cada instruccin, la unidad de control manipula la ruta de datospara ejecutar la operacin especificada por la instruccin. Ambos, programa y datos, estn guar-dados en la memoria. Una computadora digital es un sistema muy potente. Puede realizar clcu-los aritmticos, manipular cadenas de caracteres alfabticos y ser programado para tomar deci-siones basadas en condiciones internas y externas.

    Ms en relacin con la computadora genrica

    En este punto, vamos a presentar brevemente la computadora genrica y a relacionar sus partescon el diagrama de bloques de la Figura 1-2. En la parte inferior izquierda del diagrama, alprincipio de este captulo, est el corazn de la computadora, un circuito integrado llamado elprocesador. Los procesadores modernos como este son bastante complejos y se componen demillones de transistores. El procesador contiene cuatro mdulos funcionales: la CPU, la FPU, laMMU, y la cache interna.

    Ya hemos presentado la CPU. La FPU (unidad de punto flotante, en ingls floating-pointunit) es parecida a la CPU, excepto que su ruta de datos y unidad de control estn especfica-mente diseados para realizar operaciones en punto flotante. En esencia, esas operaciones proce-san informacin representada en forma de notacin cientfica (por ejemplo 1.234 # 107), permi-tiendo a la computadora genrica manejar nmeros muy grandes y muy pequeos. La CPU y laFPU, en relacin con la Figura 1-2, contienen cada una, una ruta de datos y una unidad de control.

    La MMU es la unidad de administracin de la memoria. La MMU ms la cache interna ylos otros bloques, en la parte baja de la figura, etiquetados como Cache Externa y RAM

    6 FUNDAMENTOS DEL DISEO LGICO Y DE COMPUTADORAS

  • (random access memory) son todas partes de la memoria de la Figura 1-2. Las dos caches sonun tipo especial de memoria que permite a la CPU y FPU acceder a los datos a procesar msrpidamente que slo con la RAM. La RAM es la que se refiere generalmente como memoria.Como funcin principal, la MMU hace que la memoria que parece estar disponible es mucha,mucho ms grande que el tamao actual de la RAM. Esto se logra mediante traslados de datosentre la RAM y el disco duro, mostrado en la parte superior de la imagen de la computadoragenrica. As el disco duro, que estudiaremos ms tarde como dispositivo de entrada/salida,aparece conceptualmente como una parte de la memoria y de entrada/salida.

    Las rutas de conexin mostradas entre el procesador, la memoria y cache externa, son loscaminos entre circuitos integrados. Tpicamente se realizan con finos conductores de cobre enuna placa de circuito impreso. A los caminos de conexin debajo de la interfaz del bus se lellama bus del procesador. A las conexiones encima de la interfaz del bus se le llama bus deentrada/salida (E/S). El bus del procesador y el bus E/S ligados al interfaz de buses llevan datoscon diferentes nmeros de bits y tienen diferentes maneras de controlar el movimiento de losdatos. Tambin pueden operar a diferentes velocidades. El hardware del interfaz de buses ma-neja esas diferencias de manera que los datos pueden comunicarse entre los dos buses.

    El resto de estructuras de la computadora genrica se consideran parte de la E/S de la Figura1-2. En trminos de volumen, estas estructuras son las que ms ocupan. Para introducir informa-cin en la computadora, se proporciona un teclado. Para ver la salida en forma de texto o grfi-cos, se utiliza una tarjeta con un adaptador grfico y un monitor CRT. El disco duro, presentadopreviamente, es un dispositivo de almacenaje magntico electromecnico. Guarda grandes can-tidades de informacin en forma de flujo magntico en discos giratorios cubiertos de una capade materiales magnticos. Para controlar el disco duro y transferir informacin hacia y desde l,se usa un controlador de disco. El teclado, la tarjeta de adaptador grfico y la tarjeta de contro-lador de disco estn todos vinculados con el bus E/S. Esto permite a estos dispositivos comuni-carse mediante la interfaz de bus con la CPU y otros circuitos conectados a los buses del proce-sador. La computadora genrica est formada bsicamente por una interconexin de mdulosdigitales. Para entender la operacin de cada mdulo, es necesario tener un conocimiento bsicode los sistemas digitales y su comportamiento general. Los Captulos 1 a 6 de este libro tratan eldiseo lgico de circuitos digitales en general.

    En los Captulos 7 y 8 se presentan los componentes bsicos de un sistema digital, sus ope-raciones y su diseo. Las caractersticas operacionales de la memoria RAM se explican en elCaptulo 9. La ruta de datos y el control de computadoras sencillas se presentan en el Captulo10. En los Captulos 11 al 14 se presentan las bases del diseo de computadoras. Las instruccio-nes tpicas empleadas en arquitecturas de conjunto de instrucciones se presentan en Captulo 11.La arquitectura y el diseo de CPUs se examinan en el Captulo 12. Los dispositivos de entraday salida y los diferentes caminos con que la CPU puede comunicarse con ellos se discuten en elCaptulo 13. Finalmente, los conceptos de jerarqua de memoria relacionados con caches yMMU se presentan en el Captulo 14.

    Para guiar el lector por este material y para tener en mente este bosque examinamos mi-nuciosamente muchos de sus rboles, las discusiones que acompaan aparecen en las cajitasazules al principio de cada captulo para relacionar los temas de cada captulo con los compo-nentes asociados en el diagrama genrico de computadoras al principio de este captulo. Al finalde nuestro viaje habremos cubierto la mayora de los diferentes mdulos de una computadora ytendremos un entendimiento de los fundamentos, que son la base del funcionamiento como deldiseo.

    Antes mencionamos que una computadora digital manipula elementos discretos de informa-cin y que toda la informacin dentro de la computadora est representada en forma binaria.

    COMPUTADORAS DIGITALES E INFORMACIN 7

  • Los operandos usados en los clculos se pueden expresar en el sistema de nmeros binarios o enel sistema decimal por medio de un cdigo binario. Las letras del alfabeto tambin se convier-ten a cdigo binario. El propsito del resto de este captulo es la introduccin al sistema denumeracin binario, a la aritmtica binaria y de cdigos binarios seleccionados como base parael estudio en los siguientes captulos. En relacin con la computadora genrica, este material esmuy importante y alcanza a todos los componentes excepto algunos de E/S que involucran ope-raciones mecnicas y de electrnica analgica (en contraste a la digital).

    1-2 SISTEMAS NUMRICOSEl sistema numrico decimal se emplea en la aritmtica cotidiana para representar nmeros me-diante cadenas de dgitos. Dependiente de su posicin en la cadena, cada dgito tiene un valorasociado a un entero como potencia en base 10. Por ejemplo, el nmero decimal 724.5 se inter-preta de manera que representa 7 centenas, ms 2 decenas, ms 4 unidades y ms 5 dcimas.Las centenas, decenas, unidades y dcimas son potencias de 10, dependiendo de la posicin delos dgitos. El valor del nmero se calcula de la forma siguiente:

    724.5 % 7 # 102 ! 2 # 101 ! 4 # 100 ! 5 # 10.1

    La convencin es escribir solamente los dgitos y deducir las potencias de 10 segn su posicin.En general, un nmero decimal con n dgitos a la izquierda del punto decimal y m dgitos a laderecha del punto decimal es representado por una cadena de coeficientes:

    An.1An.2...A1A0.A.1A.2...A.m!1A.m

    Cada coeficiente Ai es uno de los 10 dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9). El valor de subndice idetermina la posicin del coeficiente y, asimismo el peso 10i con que hay que multiplicar elcoeficiente.

    Al sistema numrico decimal se llama base 10, porque se multiplican los coeficientes porpotencias de 10 y el sistema usa 10 dgitos diferentes. En general, un nmero en base r contiener dgitos, 0, 1, 2, ..., r . 1, y se expresa como una potencia de r segn la frmula general

    An.1rn.1 ! An.2r

    n.2 ! ... ! A1r1 ! A0r

    0

    ! A.1r.1 ! A.2r

    .2 ! ...! A.m!1r.m!1 ! A.mr

    .m

    Cuando un nmero se expresa en notacin posicional, se escriben solamente los coeficientes yel punto de la base:

    An.1An.2...A1A0.A.1A.2 ...A.m!1A.m

    En general, se llama al . punto de base. A An.1 se le llama dgito ms significativo (msd, delingls most significant digit) y a A.m se le llama dgito menos significativo (lsd, del ingls lesssignificant digit) del nmero. Note que si m % 0, el lsd es A.0 % A0. Para distinguir entre n-meros con bases diferentes, habitualmente se encierran los coeficientes en parntesis y se colocaen el parntesis derecho un subndice para indicar la base del nmero. Sin embargo, si la baseest clara por el contexto, no es necesario usar parntesis. A continuacin se muestra un nmeroen base 5 con n % 3 y m % 1, y su conversin a decimal:

    (312.4)5 % 3 # 52 ! 1 # 51 ! 2 # 50 ! 4 # 5.1

    % 75 ! 5 ! 2 !