Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Архитектура компьютера. Э. Таненбаум..doc
Скачиваний:
109
Добавлен:
20.06.2014
Размер:
7.54 Mб
Скачать

4. McKusick et al., Design and Implementation ofthe 4.4bsd Operating System.

В отличие от большинства книг по UNIX, эта начинается с фотографии четы­рех авторов на конференции USENIX Conference. Трое из них много на­писали о пакете BSD версии 4.4 и высококвалифицированы в этом вопросе. В книге говорится о системных вызовах, процессах, о процессе ввода-выво­да. Целый раздел посвящен сетям.

5. Ritchie and Thompson, The UNIX Time-Sharing System.

Это самая первая работа, посвященная системе UNIX. И тем не менее ее стоит прочитать. Из этого маленького зернышка выросла большая операци­онная система.

6. Solomon, Inside Windows NT, 2nd ed.

Если вы хотите знать, как работает система NT, эта книга для вас. В ней обсуждаются архитектура и механизмы системы, процессы, потоки, управле­ние памятью, защита, процесс ввода-вывода, кэш-память, файловые систе­мы и многие другие вопросы.

7. TanenbaumandWoodhull,OperatingSystems:Design andImplementation, 2nd ed. Большинство книг об операционных системах касаются только теоретичес­ких вопросов. В этой книге теория проиллюстрирована на примере реального программного кода операционной системы MINIX, сходной с UNIX, кото­рая работает на IBM PC и других компьютерах. Исходный код с подробны­ми комментариями приводится в приложении.

Уровень языка ассемблера

1. Irvine, Assembly LanguageforIntel-Based Computers, 3rd ed.

Тема этой книги — программирование процессоров Intel на языке ассембле­ра. В ней также рассказывается о программировании ввода-вывода, макро­сах, файлах, связывании, прерываниях и т. д.

2. Saloman, Assemblers andLoaders.

Все, что вы хотели знать об однопроходных и двупроходных ассемблерах, а также о том, как работают компоновщики и загрузчики, макросы и условная компоновка программы.

Архитектуры компьютеров параллельного действия

1. Adve and Gharachorloo, SharedMemory Consistency Models: A Tutorial.

Во многих современных компьютерах, особенно мультипроцессорах, под­держивается более слабая модель памяти, чем согласованность по последо­вательности. В этом учебном пособии обсуждаются различные модели и объясняется, как они работают. Здесь также приводятся и опровергаются многочисленные мифы о слабо согласованной памяти.

2. Almasi and Gottlieb, Highly Parallel Computing, 2nd ed.

В этой книге рассказывается о параллельной вычислительной обработке,

в том числе о сетях, архитектуре, компиляторах, моделях и приложениях.

В ней представлены проблемы аппаратного и программного обеспечения,

а также прикладные вопросы.

3. Hill, Multiprocessors Should Support Simple Memory-Consistency Models.

Слабые модели памяти — важная и спорная проблема в разработке памяти мультипроцессора. Слабые модели допускают определенные оптимиза­ции аппаратного обеспечения (например, совершение обращений к памяти в другом порядке), но усложняют программирование. В этой статье автор обсуждает различные вопросы, связанные с согласованностью памяти, и при­ходит к выводу, что слабо согласованная память создает больше проблем, чем преимуществ.

4. Hwang and Xu, Scalable ParallelComputing.

Авторы рассматривают и программное, и аппаратное обеспечение, поэтому им удалось дать всестороннее, но доступное описание параллельной вы­числительной обработки. В книге говорится о мультипроцессорах UMA и

NUMA, системах МРР и COW, о передаче сообщений и параллельном про­граммировании.

5. Pfister, In Search of Clusters, 2nd ed.

Хотя определение кластера появляется только на 72-й странице (группа ком­пьютеров, работающих вместе), он, очевидно, включает в себя все обычные мультикомпьютерные и мультипроцессорные системы. Подробно рассмат­риваются их аппаратное и программное обеспечение, производительность и доступность. Предупредим читателя: хотя стиль автора кажется поначалу увлекательным, к 500-й странице вся увлекательность исчезает.

6. Snir et al., MPI: The Complete reference Manual.

Название книги говорит само за себя. Если вы хотите научиться програм­мировать на MPI, обратитесь к ней. В книге рассказывается о двухточечной и коллективной коммуникации, коммуникаторах, об управлении средой и о многом другом.

7. Stenstrom et al., Trends in Shared Memory Multiprocessing.

Мультипроцессоры с памятью совместного использования часто считают суперкомпьютерами для сложных научных вычислений. В действительнос­ти это только крошечная часть их рынка. В статье обсуждается, какие сферы охватывает рынок таких машин и каково значение их архитектуры.

Двоичные числа и числа с плавающей точкой

1. Cody, Analysis ofProposalsforthe Floating-Point Standard.

Несколько лет назад Институт инженеров по электротехнике и электрони­ке (IEEE) разработал архитектуру с плавающей точкой, которая стала стан­дартом de facto для всех современных процессоров. Автор обсуждает раз­личные вопросы, предложения и возражения, которые возникали во время процесса стандартизации.

2. Garner, Nubmer Systems and Arithmetic.

Учебное пособие о понятиях двоичной арифметики (в том числе о распро­странении переноса, системах избыточных чисел, системах остаточных клас­сов и о нестандартном умножении и делении). Особенно рекомендуется для тех, что считает, что узнал все об арифметике в шестом классе.

3. IEEE, Pmc. of the n-th Symposium on Computer Arithmetic.

Вопреки общепринятому мнению арифметика является активной областью исследования. Специалистами написано много научных трудов. На симпо­зиуме обсуждаются проблемы прогрессий, развитие высокоскоростного сло­жения и умножения, арифметическое аппаратное обеспечение СБИС, со­процессоры, отказоустойчивость, округление и многие другие вопросы.

4. Knuth, SeminumericalAlgorithms, 3rd ed.

Обширный материал о позиционных системах счисления, арифметике с пла­вающей точкой, арифметике с многократно увеличенной точностью и о слу­чайных числах. Книга требует и заслуживает внимательного изучения.

5. Wilson, Floating-PointSurvivalKit.

Хорошая книга для начинающих о числах с плавающей точкой и о стандар­тах. Обсуждаются некоторые популярные задачи с плавающей точкой (на­пример, Unpack).

Алфавитный список литературы

1. Adams, G. В. HI, Agrawal, D. P., andSiegel, H.J. «A Survey and Comparison of

Fault-Tolerant Multistage Interconnection Networks», IEEE Computer Maga­zine, vol. 20, p. 14-27, June 1987.

2. Adve, S. V., andCharachorloo, K. «Shared Memory Consistency Models: A Tutori-

al», IEEE Computer Magazine, vol. 29, p. 66-76, Dec. 1996.

  1. Adve, S V., and Hill, M. «Weak Ordering: A New Definition^ Proc. 17th Ann. Int'l. Symp. on Computer Arch., ACM, p. 2-14,1990.

  2. Agerwala, Т., and Cocke,J. «High Performance Reduced Instruction Set Proces-

sors», IBM TJ. Watson Research Center Technical Report RC12434, 1987.

5. Almasi, G. S., and Gottlieb, A. Highly Parallel Computing, 2nd ed. Redwood City, CA Benjamin/Cummings, 1994.

6.Amza, C, COX, A., Dwarkadas, S,Keleher,P., Lu, H., Rajamony,R., Yu, W.,Zwae-nepoel, W. «TreadMarks: Shared Memory Computing on a Network of Worksta­tions, IEEE Computer Magazine, vol. 29, p. 18-28, Feb. 1996.

7. Anderson, D. Universal Serial Bus System Architecture, Reading, MA: Addison-

Wesley, 1997.

8 .Anderson, T. E., Culler, D. E., Patterson, D. A., andtheNOWteam «ACase forNOW

(Networks of Workstations)», IEEE Micro Magazine, vol. 15, p. 54-64, Feb. 1995.

9. AntonakosJ. L. The Pentium Microprocessor, Upper Saddle River, NJ: Prentice Hall, 1997.

10.August,D.I., Connors,D.A.,Mshlke,S.A.,SIASJ. W., Crozier,K.M., Cheng,B.-C, Eaton, P. R., Olaniran, Q. В., andHWU, W.-M. «Integrated Predicated and Spec­ulative Execution in the IMPACT EPIC Architecture», Proc. 25th Ann. Int'l.

Symp. on Computer Arch., ACM, p. 227-237,1998.

  1. Bal, H. E. Programming Distributed Sysytems, Hemel Hempstead, England: Pren­tice Hall Int'l., 1991.

  2. Bal, H. E., Bhoedjang, R, Hofman, R, Jacobs, C, Langendoen, K., Ruhl, Т., and

Kaashoek, M. F. «Performance Evaluation of the Orca Shared Object System»,

ACM Trans, on Computer Systems, vol. 16, p. 1-40, Feb. 1998.

  1. Bal, H. Е, Kaashoek, M.F., and Tanenbaum, A. S. «Orca: A Language for Parallel Programming of Distributed Systems», IEEE trans, on Software Engeneering, vol. 18, p. 190-205, March 1992.

  2. Bal, H. E., and Tanenbaum, A. S. «Distributed Programming with Shared Data», Proc. 1988 Int'l. Conf. on Computer Languages, IEEE, p. 82-91, 1988.

  3. Bhuyan, L. N., Yang, Q., andAgrawal, D. P. «Performance ofMultiprocessor Inter­connection Networks», IEEE Computer Magazine, vol. 22, p. 25-37, Feb. 1989.

  4. Bjornson, R. D. «Linda on Distributed Memory Multiprocessor, Ph. D. Thesis, Yale Univ., 1993.

  5. Blumrich, M. A., Dubnicki, C, Felten, E. W., Li,K., andMesarina,M. R. «Virtual-

Memory Mapped Network Interfaces», IEEE Micro Magazine, vol. 15, p. 21-28,

Feb. 1995.

18. Boden, N.J., Cohen, D.,Felderman, R. E, Kulawik, A. E, Seitz, CL., SeizovicJ. N.,

andSu, W. -K. «Myrinet: A Gigabit per second Local Area Network», IEEE Micro

Magazine, vol. 15, p. 29-36, Feb. 1995.

19.Bouknight, WJ,Denenberg,S\A,Mcintyre,D.E,Randall,J.M,Sameh,A.H,and Slotnick, D. L. «The Illiac IV System», Proc. IEEE, p. 369-388, April 1972.

20. Burkhardt, H., Frank, S., Knobe, В., andRothnieJ. «Overview ofthe KSR-1 Com-

puter Sysytem», Technical Report KSR-TR-9202001, Kendall Square Research

Corp, Cambridge, MA, 1992.

21. Carriero, N., and Gelernter, D. «The S/Net's Linda Kernel», ACM Trans, on Coputer Sysytems, vol. 4, p. 110-129, May 1986.

22. Carriero,N.,andGelernter, D. «Linda and Context», Commun. ofthe ACM, vol. 32,

p. 444-458, April 1989.

23. Charlesworth, A. «Starfire: Extending the SMP Envelope», IEEE Micro Maga- zine, vol. 18,39-49, Jan./Feb. 1998.

24. Charlesworth, A., Phelps, A., Williams,R., andGilbert, G. «Gigaplane-XB: Extend-

ing the Ultra Enterprise Family», Proc. Hot Interconnects V, IEEE, 1988.

  1. Cody, W.J. «Analysis of Proposals for the Floating-Point Standard», IEEE Com­puter Magazine, vol. 14, p. 63-68, Mar. 1981.

  2. Cohen, D. «On Holy Wars and a Plea for Peace», IEEE Computer Magazine,

vol. 14, p. 48-54, Oct. 1981.

  1. Corbaty, F.J. «PL/1 as a Tool for System Programming», Datamation, vol. 15, p. 68-76, May 1969.

  2. Corbaty, F.J., andVyssotsky, V.A. introduction and Overview ofthe MULTICS

System», Proc. FJCC, p. 185-196, 1965.

  1. Denning, P.J. «The Working Set Model for Program Behavior», Commun. of the ACM, vol. 11, p. 323-333, May 1968.

  2. Dijkstra, E. W. «GOTO Statement Considered Harmful», Commun. ofthe ACM, vol. 11, p. 147-148, Mar. 1968a.

  3. Dijkstra, E. W. «Co-operating Sequential Processes», in Programming Languages, F. Genuys (ed.), New York: Academic Press, 1968b.

  4. Driesen, K., andHolzie, URS«Accurate Indirect Branch Predictions Proc. 25th

Ann. Int'l. Symp. on Computer Arch., ACM, p. 167-177,1998.

  1. Dubois, M, Scheurich, C, andBriggs, FA. «Memory Access Buffering in Mul-tiprocessors», Proc. 13th Ann. Int'l. Symp. on Computer Arch., ACM, p. 434­442,1986.

  2. Dulong, С «The IA-64 Architecture at Work», IEEE Computer Magazine, vol. 31,

p. 24-32, July 1998.

35. Faggin, F, Hoff, M. E.Jr, Mazor, S, andShima, M. «The History ofthe 4004»,

IEEE Micro Magazine, vol. 16, p. 10-20, Dec. 1996.

36. Falsafi, В., and Wood, DA. «Reactive NUMA: A Design Unifying S-COMA and

CC-NUMA», Proc. 25th Ann. Int'l. Symp. on Computer Arch., ACM, p. 229­240,1997.

37. FisherJ. A., andFreudenberger, S. M. «Predicting Conditional Branch Directions

from Previous Runs of a Program», Proc. 5th Conf. on Arch. Support for Prog. Lang, and Operating Syst, ACM, p. 85-95,1992.

38. Floyd, T. L. Digital Fundamentals, 6th ed., Upper Saddle River, NJ: Prentice Hall,

1997.

  1. Flynn, M.J. «Some Computer Organizations and Their Effectiveness», IEEE Trans, on Computers, vol. C-21, p. 948-960, Sept. 1972.

  2. Foster, I., andKesselman, С «Globus: A Metacomputing Infrastructure Toolkit», Int'l. J. of Supercomputer Applications, vol. 11, p. 115-128,1998a.

  3. Foster, I., andKesselman, С«The Globus Project: A Status Report», IPPS/SPDP '98 Heterogeneous Computing Workshop, IEEE, p. 4-18, 1998b.

  4. FotheringhamJ. «Dynamic Storage Allocation in the Atlas Computer Including an Automatic Use ofa Backing Store», Commun. ofthe ACM, vol. 4, p. 435-436,

Oct. 1961.

43. Gajski, D. D., and Pier, К. -К. «Essential Issues in Multiprocessor Systems», IEEE

Computer Magazine, vol. 18, p. 9-27, June 1985.

44. Garner, H. L. «Number Sysytems and Arithmetic^ in Advances in Computers, vol. 6, F. Alt and M. Rubinoff (eds.), New York: Academic Press, 1965, p. 131— 194.

45.Geist,A, Beguelin,A, Dongarra,J, Jiang, W.,Mancheck,R, andSunderram, V. PVM: Parallel Virtual Machine A User's Guide and Tutorial for Networked

Parallel Computing, Cambridge, MA: M.I.T. Press, 1994.

46. Gharachorloo, K.,Lenoski, D,LaudonJ, Gibbons, P., Gupta, A., andHennessyJ.

«Memory Consistency and Event Ordering in Scalable Shared-Memory Multi-

processors», Proc. 17th Ann. Int'l. Symp. on Computer Arch., ACM, p. 15-26,

1990.

  1. Goodman, J. R. «Using Cache Memory to Reduce Processor Memory Traffic*, Proc. 10th Ann. Int'l. Symp. on Computer Arch., ACM, p. 124-131, 1983.

  2. GoodmanJ. R. «Cache Consistency and Sequential Consistency^ Tech. Rep. 61,