Компьютерные и сетевые технологии

Базовые понятия информации. Общие сведения о компьютере, его математическое обеспечение. Логическая организация памяти. Основные принципы построения систем ввода-вывода. Особенности архитектуры современных ВС. Сети и сетевые операционные системы.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 27.10.2014
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Интерфейсная часть МП

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

Тракт данных типичного процессора

Тракт данных типичного фон-неймановского процессора состоит из регистров (обычно от 8 до 32), АЛУ и нескольких коммуникационных шин. Структура тракта, особенности архитектуры процессора зависят от структуры системы команд.

Большинство команд можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из оперативной памяти и помещают их в регистры, где они используются в качестве входных данных АЛУ. В этом случае регистры выполняют специальные функции и носят названия: регистр данных (запомним, что разрядность слова соответствует разрядности регистра данных), регистр адреса, регистр команд. Самый важный регистр - счетчик команд, который указывает, какую команду нужно выполнять дальше.

Содержимое регистров поступает во входные регистры АЛУ, которые служат в качестве буфера (временного хранилища данных, как, собственно, и любой регистр по определению). Это абсолютно необходимо, т.к. АЛУ может выполнять операции сложения, вычитания и т.д. только если входные данные приходят к нему одновременно. Содержимое АЛУ (результат операции или пересылки) отправляется в следующий регистр - буфер, иногда его называют аккумулятором. При этом даже простые команды занимают 3-4 такта частоты процессора.

Команды второго типа (регистр-регистр) вызывают два операнда из регистров процессора, играющих роль сверхбыстродействующей памяти, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Характерной особенностью этого метода является существенно более высокое быстродействие, т.к. операция обращения к ОП (наиболее длительная) производится заранее и не влияет на время выполнения, например, сложения. Описанный процесс называется циклом тракта данных, и именно он определяет, что и как быстро может делать машина.

Базовые команды

Процессор выполняет каждую команду (инструкцию) за несколько шагов (тактов):

Выборка очередной команды (ЦП вызывает команду из ОП и переносит ее в регистр команд);

Формирование адреса следующей команды (меняется значение счетчика команд);

Декодирование команды (определяется тип вызванной, текущей команды);

Выборка операндов (если команда использует «слово» из памяти, определяет где находится это слово и вызывает его; переносит слово из ОП в один из регистров (регистр данных));

Выполнение операции (выполняет команду (АЛУ));

Запись результата (заносит результат в промежуточный буфер, регистр - аккумулятор);

Переходит к шагу 1 или заканчивает выполнение программы «ОСТАНОВ».

Такая последовательность шагов: выборка - декодирование - исполнение является основой работы всех компьютеров. Описание работы ЦП можно представить, или имитировать, в виде программы-интерпретатора на языке Java. Сама возможность имитировать работу ЦП с помощью программы, показывает, что программа вычислений не обязательно должна выполняться аппаратным процессором. Напротив, вызывать из памяти, определять тип команды и выполнять команду может другая программа (интерпретатор). Другими словами, применение трансляторов с ЯВУ не только способ перейти к машинному языку, языку понятному машине, но и мощный метод эмуляции работы ЦП.

Трансляторы

Как следует из многоуровневой архитектуры ЭВМ, прикладные программы пишутся на языках высокого уровня (ЯВУ). Существуют сотни таких языков, но процессор понимает только язык единиц и нулей. Поэтому программы на ЯВУ обычно транслируются на уровень 3 или 4 (уровень ассемблера). Программы трансляторы бывают двух видов - интерпретаторы и компиляторы.

Программа (микропрограмма) способная вызывать команды, операнды из памяти, определять тип команд и выполнять эти команды называется - интерпретатор.

Интерпретатор разбивает исходную программу на маленькие шаги и последовательно переводит каждую команду в исполняемый машинный код, посылая ее сразу на исполнение. Интерпретатор, как правило, хранится в виде микрокоманд в ПЗУ, например, устройства управления.

Отличительные особенности: медленно (надо декодировать каждую команду, процессор простаивает), но легко переносится на любую платформу, самое главное - в этом случае машина получается существенно более простой, т.к. часть аппаратного обеспечения заменяется программным.

Другая возможность создать транслятор - это использовать программу компилятор. Компилятор переводит полностью исходную программу на эквивалентный набор машинного языка и только затем загружает ее в память машины для выполнения.

Отличительные особенности: быстро, но изменение платформы приводит к необходимости разработки нового компилятора. Есть и третья возможность, известная под именем Java машины или виртуальной машины Java - это компилятор, транслирующий ЯВУ на промежуточный псевдокод, а затем с псевдокода интерпретатор. При этом сочетаются отличительные особенности того и другого метода.

Компьютеры могут иметь интерпретатор и тогда они гораздо проще и дешевле чем компьютеры без интерпретации, а могут и не иметь, но тогда они должны использовать технику компиляции. Впервые интерпретация получила применение при реализации компьютеров способных выполнять сложные команды, предназначенные для высокопроизводительных и дорогих машин (IBM S./360, S/370, S/390). Это сформировало тенденцию введения все более и более сложных команд (порядка 300 у VAX DEC и 200 способов определения операндов). Главное преимущество интерпретации заключалось в том, что можно было разработать простой процессор, а вся сложность сводилась к созданию интерпретатора.

(Такое операторное управление вычислительным процессом привело к необходимости использовать разнообразные форматы обработки данных (например: тривиальное суммирование в S/360 имело около 20 различных форматов). Хотя машина была способна вычислять экспоненту, логарифм, но простые операции производились очень медленно. Действительно, что бы перевести команду сложения в машинный код, интерпретатор должен был просмотреть более 20 возможных команд. Такое разнообразие инструкций потребовало и множества командных форматов различной длины.) Каждый процессор имеет свои специфические команды, наборы регистров и режимы адресации, поэтому программу на Ассемблере невозможно перенести с одной аппаратной платформы на другую. Для того чтобы не зависеть от конкретного процессора, часто используют язык описания команд RTL, от англ. Register Transfer Language -- язык перемещения регистров. Фактически RTL представляет собой Ассемблер, не зависящий от конкретного процессора. Многие компиляторы, например, gcc, не переводят программу с языка высокого уровня сразу на язык машинных команд, а сначала транслируют ее на язык RTL. Затем на уровне RTL выполняется оптимизация кода, которая составляет 99% работы компилятора. И лишь на последнем этапе программа c языка RTL переводится на язык команд конкретного процессора. Поскольку RTL максимально приближен к Ассемблеру, трансляция из RTL в конкретный Ассемблер не представляет никакого труда. Такой подход позволяет сделать компилятор с языка высокого уровня практически независимым от конкретной архитектуры. Зависим лишь модуль, осуществляющий перевод с RTL в Ассемблер, но его реализация требует минимальных усилий.

Архитектура системы команд и классификация процессоров

Итак, именно эволюция ЭВМ с интерпретатором (позже названных машинами с CISC процессорами) сформировала тенденцию использования:

сложных, длинных команд;

разнообразных форматов данных;

разнообразных форматов команд;

медленное выполнение наиболее простых операций.

С другой стороны, именно эволюция CISC (Complex Instruction Set Computer) процессоров послужила мощным стимулом для возникновения концепции RISC (Reduced Instruction Set Computer) архитектуры. Дело в том, что в начале 80-х архитектура CISC стала серьезным препятствием на пути реализации идеи «один процессор в одном кристалле», поскольку для работы с традиционным расширенным списком команд требуется очень сложное устройство управления (микропрограммный интерпретатор), занимающее свыше 60% площади кристалла. К тому времени стали известны результаты статистических исследований ученых IBM - правило 20/80.

На 20% команд программы приходится 80% времени исполнения задания.

В 1980 году группа разработчиков университета Беркли во главе с Девидом Паттерсоном и Карлом Секуин начали разработку процессора без использования интерпретации. Именно они и придумали термин RISC архитектура и выпустили RISC I, RISC II, которые эволюционировали в процессоры SPARC, а уже в 1981 году появились и знаменитые процессоры MIPS (Джон Хенноси - Стенфорд). Концепция RISC - архитектуры базируется на почти очевидной логической формуле: если быстрые технологии и параллельная обработка недостижимы для всего списка команд из-за высокого уровня затрат, необходимо оставить в системе команд несколько десятков простых, наиболее универсальных и часто употребляемых инструкций, исключив сложные и редко используемые.

Результатом должно было стать существенное упрощение центрального управления, а значит высвобождения значительной поверхности кристалла процессора для размещения более мощных средств обработки данных. Так возникла философия RISC - меньше команд, выше скорость и одна команда за один такт.

Первоначально RISC - процессоры действительно существенно вырвались вперед, сравните:

процессор 80386, технология КМОП, частота 25 МГц, число транзисторов 275 000, производительность - 5 млн.оп.в сек (CISC);

процессор R3000, технология КМОП, частота 25 МГц, число транзисторов 11500, производительность - 20 млн.оп.в сек (RISC). Сегодня условны и эти названия и различия между ними. Те и другие заимствовали лучшие черты конкурентов.

Для CISC процессоров характерно:

небольшое число РОН (до 16);

большое количество машинных команд (свыше 200);

большое количество разнообразных форматов команд и методов адресации;

преобладание двухадресного и безадресного формата команд;

наличие команд типа «регистр - память»;

команда выполняется за несколько тактов;

использование механизма интерпретации.

Для RISC процессоров характерно:

все обычные команды непосредственно выполняются аппаратным обеспечением, они не интерпретируются микрокомандами;

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

большое количество РОН (свыше 32), лучший способ избежать транзакций - иметь достаточное количество регистров;

сокращенный набор команд (несколько десятков);

единообразие форматов команд, одинаковая длина и минимум адресных форматов;

наличие и преобладание форматов команд «регистр - регистр», к памяти должны обращаться только команды загрузки и сохранения;

команды выполняются за один такт, а, как правило, несколько команд за один такт;

использование механизма компиляции.

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

При построении большинства CISC - процессоров используется аккумуляторная архитектура («память-регистр»). При этой архитектуре, в общем случае, требуется кроме собственно команды (например - сложение) еще две, по крайней мере, операции пересылки данных. При построении большинства RISC - процессоров применяется исключительно архитектура «регистр-регистр». При таком подходе любая из команд процессора может быть 3-х операндной и выполнена за один такт. При этом даже если RISC должен выполнить 4-5 простых команд вместо одной сложной, которую выполняет CISC все равно в выигрыше будет RISC т.к. его команды выполняются в 10 раз быстрее (поскольку они не интерпретируются). То, что в CISC архитектуре является сложной внутренней командой процессора, которую реализует интерпретатор, в RISC - целая подпрограмма, состоящая из простых, элементарных команд фиксированной длины, которую готовит компилятор. Реализация полной Гарвардской архитектуры, предсказание переходов и введение конвейеров команд и конвейеров обработки данных позволило на долгие годы RISC архитектуре стать лидером высокопроизводительных процессоров для серверов и рабочих станций.

Микроархитектура процессора Pentium II

В заключении, на примере процессора Pentium II, типичного процессора CISC-архитектуры, но с элементами RISC кратко затвердим основные черты процессоров.

Pentium II - один из процессоров семейства Intel. Он содержит ту же архитектуру системы команд, что и 80486, Pentium, Pentium Pro, однако с точки зрения аппаратного обеспечения, он представляет собой нечто большее. Действительно, он может обращаться к 64 Гбайт физической памяти, передавать данные в память и из памяти блоками по 64 бита, хотя и является 32-разрядной машиной. Более того, Pentium II является суперскалярным процессором.

Pentium II имеет двухуровневую кэш-память с полной Гарвардской архитектурой. Кэш первого уровня содержит 16 Кбайт для команд и 16 Кбайт для данных, а кэш-память второго уровня содержит 512 Кбайт команд и данных. Строка кэша состоит из 32 байт и работает на частоте процессора, тактовая частота кэша второго уровня в два раза меньше. На рисунке 6.12 показаны основные компоненты центрального процессора: блок вызова/декодирования, блок отправки/выполнения и блок возврата, которые вместе действуют как конвейер высокого уровня. Эти три блока обмениваются данными через пул команд - Re Order Buffer (буфер перестройки команд). Если говорить кратко, блок вызова/декодирования вызывает команды и разбивает их на микрооперации для хранения в ROB, блок отправки/выполнения получает микрооперации из буфера и выполняет их, блок возврата завершает выполнение каждой операции и обновляет регистры.

Блок вызова/декодирования содержит семи стадийный конвейер, блок отправки/выполнения содержит в своем составе блоки выполнения операций над целыми числами, блоки выполнения операций над числами с плавающей точкой и блоки выполнения команд ММХ (мультимедийная обработка данных). Блок возврата содержит в своем составе большой регистровый файл в регистрах которого хранятся значения завершенных команд, промежуточные результаты и т.д.

Система локальных шин и интерфейсов связывает ЦП с кэш-памятью второго уровня и мостом PCI, который играет важную роль в коммуникации обрабатываемых данных. Эти устройства находятся на материнской плате.

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

Главные особенности расширенного формата команды - возможность использовать любой из регистров общего назначения в любом из режимов адресации, а также добавление еще одного режима адресации - относительного базового индексного с масштабированием. При этом эффективный адрес формируется следующим образом:

ЭА = (base) + (index) · scale + disp,

где (base) - значение базового регистра; (index) - значение индексного регистра; scale - величина масштабного множителя; disp - значение смещения, закодированного в самой команде.

Отметим, что в 32-разрядной архитектуре эффективный адрес обычно называют смещением (offset), в то же время отличая его от смещения, кодируемого в самой команде (displacement).

Выводы

Компьютерные системы состоят из трех основных компонентов: процессоров, памяти и устройств ввода-вывода. Задача процессора заключается в том, чтобы последовательно вызывать команды из ОП, декодировать их и выполнять.

Применяемая система команд («память-регистр» или «регистр-регистр») определяют архитектуру тракта данных процессора.

Тракт данных и вид транслятора (компилятор или интерпретатор) определяют тот или иной вид процессора (RISC или CISC).

Современные процессоры содержат в своем составе как элементы RISC, так и CISC архитектуры.

Вопросы и задания

Объяснить значение терминов: транслятор, интерпретатор и компилятор.

Одно из следствий идеи фон Неймана хранить программу в памяти компьютера - возможность вносить изменения в хранимые программы. Приведите пример, где это может быть полезно применено (подсказка: подумайте об арифметических операциях над массивами).

Рассмотрим машину с трактом данных «регистр-регистр». Предположим, что загрузка регистров АЛУ занимает 5 нс, работа АЛУ - 10 нс, а помещение результата обратно в регистр - 5 нс. Какое максимальное число команд в секунду способна выполнить эта машина?

На компьютере 1 выполнение каждой команды занимает 10 нс, а на машине 2 - 5 нс. Можете ли вы с уверенностью сказать, что компьютер 2 работает быстрее?

Объясните различия в CISC и RISC архитектуре и к чему это приводит, в каких областях находит применение?

Лекция 7. Структурная организация ЭВМ - память

Общие сведения

Память ЭВМ - это совокупность всех запоминающих устройств, входящих в состав машины. Запоминающие устройства классифицируют по следующим признакам:

по типу (полупроводниковые, магнитные, конденсаторные, оптоэлектронные, голографические, криогенные и т.д.);

по функциональному назначению (ОЗУ, буферные - БЗУ, сверхоперативные - СОЗУ, внешние - ВЗУ, постоянные - ПЗУ, и т.д.);

по способу организации обращения (с последовательным поиском, с прямым доступом, адресные, стековые, страничные, ассоциативные и т.д.);

по характеру считывания (с разрушением или без);

по способу хранения (статические или динамические);

этим классификация не исчерпывается, но мы рассмотрим только основные типы.

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

Архитектура памяти компьютера - система иерархическая, состоящая из нескольких уровней. Типы памяти отличаются по своему функциональному назначению, способам хранения информации, методам доступа, логической организации и конструктивно (см. рисунок ниже).

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

Оперативная память или память с произвольным доступом - Random Access Memory или ОЗУ предназначена для хранения информации, к которой приходится часто обращаться, и обеспечивает режимы ее записи, считывания и хранения. ОЗУ обладает адресным пространством, разделенным на несколько областей. Некоторые из них используются самой системой, другие предназначены для специальных целей. В первых процессорах семейства х86 память представлялась в виде сегментов размером по 64 Кбайт, а суммарный объем адресуемой памяти не превышал 1 Мбайт. При этом архитектура РС ограничивала размер собственно оперативной памяти объемом 640 Кбайт, начиная с нулевых адресов. Эта область называется основной памятью или стандартной (conventional memory). Основная память была предназначена для прикладных программ (400 -550 Кбайт), а остальное съедала операционная система вместе с разными драйверами. Потребности решаемых задач быстро переросли эти ограничения и в процессоры ввели средства организации виртуальной памяти. Было снято ограничение на 64-килобайтный размер сегмента, теперь любой сегмент может иметь почти произвольный (до 4 Гбайт) размер. Во-вторых, был введен механизм страничной трансляции адресов. С его помощью можно было реализовать не только виртуальную память размером 4 Гбайт без сегментации, но и формировать физический адрес с разрядностью 36 бит (64 Гбайт адресуемой памяти). С появлением 64-битных расширений размер виртуальной памяти увеличился до 264 байт.

Распределение адресного пространства памяти (Intel - совместимые)

Для оценки производительности основной памяти используются два основных параметра: задержка и полоса пропускания. Задержка памяти традиционно оценивается двумя параметрами: временем доступа (access time) и длительностью цикла (cycle time). Время доступа - промежуток времени между запросом на чтение и выдачей запрошенного слова из памяти. Длительность цикла - определяется минимальным временем между двумя последовательными обращениями к памяти.

Верхняя память (Upper Memory Area) - это 384 Кбайт, зарезервированных у верхней границы системной памяти. Верхняя память разделена на несколько частей:

первые 128 Кбайт являются областью видеопамяти и предназначены для использовании видеоадаптерами, когда на экран выводится текст или графика, в этой области хранятся образы изображений;

следующие 128 Кбайт отведены для программ BIOS адаптеров, которые записаны в микросхемах ПЗУ;

последние 128 Кбайт зарезервированы для системной программы BIOS.

Видеопамять

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

Дополнительная (extended) память

Как мы уже говорили в современных процессорах объем оперативной памяти может существенно превышать предел 1Мбайт, например для систем на базе Pentium II максимальный объем ОП составляет 64 Гбайт. Для адресации памяти за пределами первого мегабайта процессор должен работать в защищенном режиме..

Расширенная (expanded) память

В некоторых программах может использоваться еще одна разновидность памяти - расширенная память (Expanded Memory Specification). В отличии от основной (в пределах первого мегабайта) и дополнительной (от 2 до 16) памяти, расширенную память процессор адресовать не может. К ней можно обращаться только через небольшое окно размером 62 Кбайт, образуемое в области верхней памяти. EMS память используется только для хранения данных.

Постоянная память (ПЗУ - постоянное запоминающее устройство) обычно содержит такую информацию, которая не должна меняться в ходе выполнения программы. Она имеет также название ROM (Read Only Memory) которое указывает на то, что обеспечиваются только режимы считывания и хранения. Постоянная память энергонезависима. Все микросхемы ПЗУ по способу занесения в них информации делятся на масочные, программируемые производителем - ROM, однократно программируемые пользователем - Programmable ROM, и многократно программируемые пользователем - Erasable Prom. Данный тип памяти используется для хранения программы начальной загрузки компьютера - BIOS.

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

Внешняя память реализована, как правило, на магнитных и оптических носителях самого разнообразного вида и конструкций. ВП предназначена для хранения большого массива данных и обмена этими данными с ОЗУ, через кэш-память и посредством интерфейса или контроллера диска.

Иерархия памяти компьютера

Память ЭВМ представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита.

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

Иерархия памяти современных компьютеров строится на нескольких уровнях, причем более высокий уровень меньше по объему, быстрее и имеет большую стоимость в пересчете на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и так далее, пока мы не достигнем основания иерархии.

Иерархия памяти состоит из многих уровней, но в каждый момент времени мы имеем дело только с двумя близлежащими уровнями. Минимальная единица информации, которая может либо присутствовать, либо отсутствовать в двухуровневой иерархии, называется block или line. Размер блока может быть либо фиксированным, либо переменным. Если этот размер зафиксирован, то объем памяти является кратным размеру блока.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss). Попадание - есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне. Доля попаданий (hit rate) или (hit ratio) есть доля обращений, найденных на более высоком уровне. Иногда она представляется процентами. Доля промахов (miss rate) есть доля обращений, которые не найдены на более высоком уровне.

Время обращения при попадании: hit time, потери на промахи miss penalty - это время на замещение блока высокого уровня блоком из более низкого уровня + время пересылки этого блока. Различают время пересылки (transfer time) и время доступа (access time).

Размер строки - line

4-128 байт

Hit time

1-4 такта

Miss Penalty

8-32 такта

Access time

6-10 тактов

Transfer time

2-22 такта

Miss rate

1-2 %

Оперативная память, типы ОП

Тип оперативной памяти важен постольку, поскольку технология изготовления и физические принципы ее функционирования определяют самый важный параметр - быстродействие. Чем выше быстродействие ОП, тем меньше время доступа к ней. В настоящее время наиболее распространены микросхемы памяти двух типов: статические ОЗУ - SRAM и динамические - DRAM. Разумеется, более быстрая память дороже стоит, поэтому SRAM используется, как правило, для кэш памяти, в регистрах микропроцессора и системах управления.

Конструктивное исполнение

Динамическое ОЗУ со времени своего появления прошло несколько стадий роста и продолжает совершенствоваться. Вначале микросхемы динамического ОЗУ производились в DIP-корпусах. Затем их сменили модули SIPP, DIMM, SIMM и RIMM.

SIMM - модуль (Single In-Line Memory Module), модуль с однорядным расположением выводов, могут иметь объем 256 Кбайт, 1,2,4, 8, 16 и 32 Мбайт. Модули SIMM для соединения с системной платой имеют не штырьки, а позолоченные полоски (так называемые pin, пины). Первыми SIMM-модулями были 30-пиновые SIMM FPM DRAM, с частотой работы 29 МГц, затем 72-пиновые EDO RAM с частотой 50 МГц. Существенной особенностью ПК, собранных на Pentium является то, что они имеют 64-разрядную шину данных, а это означает, что 32-разрядные SIMM можно устанавливать только парами. В настоящее время SIMM-модули, как 30-пиновые, так и 72-пиновые заменяются модулями DIMM. DIMM (Dual Inline Memory Module) - модуль памяти с двойным расположением 168 выводов. Следует отметить, что разъем DIMM имеют много разновидностей DRAM.

SDRAM (Synchronic DRAM) - динамическое ОЗУ с синхронным интерфейсом, работающие на частотах 143 МГц и выше. ESDRAM - динамические ОЗУ с синхронным интерфейсом, с кэшом на самом модуле, работающие на частотах 200 МГц и выше. SLDRAM - имеет в своем составе SRAM, работает на частоте до 400 МГц. RDRAM, RIMM - работает на частоте до 800 МГц.

Мы уже видели, что стоимость хранения данных в расчете на один бит увеличивается с ростом быстродействия. Однако пользователю хотелось бы иметь и недорогую, и быструю память. Кэш-память представляет некоторое компромиссное решение этой проблемы. Однако известно, рост производительности процессора составляет 60% в год, а уменьшение задержки памяти всего на 7%. Разрыв между быстродействием CPU и быстродействием памяти приводит к появлению «узкого горла». Кэш-память только частично решает эту проблему, создавая новую - почти 50% площади кристалла отдается кэшу (например, Alpha 21164 компании Digital).

Кэш-память

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

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

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

временную локальность, которая имеет место тогда, когда недавно запрашиваемые ячейки запрашиваются снова.

Принцип действия кэш-памяти

Основная память и кэш-память делятся на блоки фиксированного размера с учетом принципа локальности. Блоки внутри кэша называют строками кэш-памяти (cache line). Если обращение к кэш-памяти нерезультативно, из основной памяти в кэш загружается вся строка, а не только необходимое слово. Возможно, через некоторое время понадобятся другие слова из этой строки.

Обычно содержимое кэш-памяти представляет собой совокупность записей обо всех загруженных в нее элементах данных из основной памяти. Строка кэш-памяти состоит из нескольких последовательных байтов (обычно от 4 до 64). Строки нумеруются, начиная с 0. Т.е. если размер строки составляет 16 байт, то строка 0 - это байты с 0 по 15, строка 1 - это байты с 16 по 31 и т.д. (см. Рис 6.2). Возьмем в качестве примера некоторый микропроцессор с 12 разрядной шиной адреса (объем памяти 4Кбайт) и кэшем из 16 строк по 16 байт.

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

Кэш-память прямого отображения

Самый простой тип кэш-памяти - это кэш прямого отображения, когда любая строка из ОП может появиться только на одном месте кэша. Пусть кэш-память содержит 16 строк по 16 байт. Каждый элемент кэша (строка) вмещает ровно одну строку из ОП. В этом случае мы имеем кэш-память объемом 256 байт на которую должен быть отображен объем 4 Кбайт ОП (Рис.6.3)

Кэш - 256 байт ОП - 4 Кбайт

Очевидно, что при таком отображении основной памяти на память кэша каждому блоку (по объему) ОП отводится одна строка кэш-памяти.

Предположим, процессор обращается по адресу 0010 0001 0110, в этом случае мы должны проверить 1-ую строку кэша (0001) и если в ней находится нужная строка памяти, то считать 5-ый байт (0110). Но в этой строке кэша могут быть представлены 1,17,33 и т.д. строки из основной памяти. Как же узнать, какая именно строка записана в кэш? Для этого служит информация представленная в тэге (tag), четыре бита в нашем случае (0010), т.е. это 33 строка (0010 0001) и никакая другая. Таким образом, физический адрес разбивается на несколько частей:

Из рисунка видно, что в первую строку кэша можно помещать только первую, семнадцатую, тридцать третью и т.д. строки основной памяти.

Каждый элемент кэш-памяти состоит из четырех частей:

адрес строки кэша;

блок достоверности, управляющая информация (указывает есть ли достоверные данные в элементе или нет, и т.д.);

поле «Тег», указывает соответствующую строку памяти, из которой поступили данные;

поле «Данные» содержит копию данных основной памяти, поле данных вмещает одну строку в 16 байт.

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

Для каждой строки в кэш-памяти должен храниться один управляющий бит, называемый битом достоверности. При включении питания системы и при загрузке с диска в ОП все биты достоверности устанавливаются в ноль. Когда строка кэша в первый раз загружается из ОП, его бит достоверности устанавливается в 1. Если блок ОП обновляется из другого источника (например, из ЖД), минуя кэш, система проверяет, находится ли загружаемый блок в кэше. Если нет, его бит достоверности устанавливается в 0, чтобы в кэш-памяти не оказалось устаревших данных.

Итак, при каждом обращении к основной памяти по физическому адресу просматривается содержимое кэш-памяти с целью определения, не находятся ли там нужные данные. Зачастую, кэш-память не является адресуемой, поэтому поиск данных осуществляется по содержимому - по взятому из запроса значению поля «Тэг - адрес в ОП». Далее возможны два варианта:

если данные обнаруживаются в кэше, т.е. произошло кэш-попадание (cache-hit), они считываются из нее и результат передается источнику запроса;

если нужные данные отсутствуют в кэш-памяти, т.е. произошел кэш-промах (cache-miss), они считываются из основной памяти и одновременно копируются из ОП в кэш.

На практике в кэш-память считывается не один элемент данных, к которому произошло обращение, а целый блок данных, что увеличивает вероятность попадания в кэш. Покажем на примере эффективность применения кэш-памяти. Пусть имеется ОП со средним временем доступа t1=60,0 нс и кэш-память, имеющая время доступа к данным t2=12,0 нс, а p - вероятность кэш-попадания, причем p=0,8, тогда среднее время доступа к данным t в системе с кэш-памятью равно:

t = t1 (1-p) + t2p = 60,0*0,2 + 12,0*0,8 = 21,6 нс

Очевидно, что полученное среднее время доступа к такой системе больше чем среднее время доступа непосредственно к кэшу, но значительно меньше времени доступа к ОП. В реальных системах вероятность попадания в кэш близка к 0,9. Столь высокое значение hit rate связано с наличием у данных объективных свойств - локальность обращения, которое включает пространственную локальность (если произошло обращение по некоторому адресу, то с высокой степенью вероятности произойдет обращение к соседним адресам), временную локальность (если произошло обращение по некоторому адресу, то в ближайшее время будет обращение по этому же адресу). Однако, несмотря на свою простоту и высокое быстродействие кэш-память прямого доступа обладает большими недостатками, вытекающими из того факта, что различные строки основной памяти конкурируют за одну и ту же область кэш-памяти. Решение этих проблем достигается на пути конструирования различных видов иерархии кэш-памяти.

Способы организации кэш-памяти

Чтобы описать некоторый уровень иерархии памяти надо ответить на следующие четыре вопроса:

1. Где может размещаться блок на верхнем уровне иерархии? (размещение блока).

2. Как найти блок, когда он находится на верхнем уровне? (идентификация блока).

3. Какой блок должен быть замещен в случае промаха? (замещение блоков).

4. Что происходит во время записи (стратегия записи)?

Рассмотрим организацию кэш-памяти в общем случае, отвечая на четыре вопроса об иерархии памяти.

1. Где может размещаться блок в кэш-памяти?

Принципы размещения блоков в кэш-памяти определяют три основных типа их организации:

Если каждый блок основной памяти имеет только одно фиксированное место, на котором он может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображения адресов блоков основной памяти на адреса кэш-памяти просто используются младшие разряды адреса блока. Таким образом, все блоки основной памяти, имеющие одинаковые младшие разряды в своем адресе, попадают в один блок кэш-памяти (сегментирование). Скорость поиска данных в таком кэше достаточно высока, однако последовательный опрос нескольких ячеек ОП которым соответствует только одна ячейка кэша, предполагает каждый раз обращаться к медленной ОП.

Если некоторый блок основной памяти может располагаться на любом месте кэш-памяти, то кэш называется полностью ассоциативным (fully associative). Когда процессор запрашивает данные из ОП, начинается поиск во всех ячейках кэша. Если кэш не содержит искомой информации, она считывается из ОП и одновременно записывается в ячейку кэша к которой дольше всего не было обращений. Скорость поиска данных в ассоциативном кэше меньше, чем в кэше прямого отображения. Преимуществом ассоциативного кэша является то, что в нем всегда хранится та информация к которой в последнее время производился доступ.

Если некоторый блок основной памяти может располагаться на ограниченном множестве мест в кэш-памяти, то кэш называется множественно-ассоциативным (set associative). Обычно множество представляет собой группу из двух или большего числа блоков в кэше, т.е. все ячейки такого кэша разделены на несколько областей (от 2 до 8), каждая такая область работает подобно кэшу прямого отображения. Если множество состоит из n блоков, то такое размещение называется множественно-ассоциативным с n каналами (n-way set associative).

2. Как найти блок, находящийся в кэш-памяти?

У каждого блока в кэш-памяти имеется адресный тег, указывающий, какой блок в основной памяти данный блок кэш-памяти представляет. Эти теги обычно одновременно сравниваются с выработанным процессором адресом блока памяти.

Кроме того, необходим способ определения того, что блок кэш-памяти содержит достоверную или пригодную для использования информацию. Наиболее общим способом решения этой проблемы является добавление к тегу так называемого бита достоверности (valid bit).

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

3. Какой блок кэш-памяти должен быть замещен при промахе?

При возникновении промаха, контроллер кэш-памяти должен выбрать подлежащий замещению блок. Польза от использования организации с прямым отображением заключается в том, что аппаратные решения здесь наиболее простые. Выбирать просто нечего: на попадание проверяется только один блок и только этот блок может быть замещен. При полностью ассоциативной или множественно-ассоциативной организации кэш-памяти имеются несколько блоков, из которых надо выбрать кандидата в случае промаха. Как правило для замещения блоков применяются две основных стратегии: случайная и LRU.

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

Во втором случае, чтобы уменьшить вероятность выбрасывания информации, которая скоро может потребоваться, все обращения к блокам фиксируются. Заменяется тот блок, который не использовался дольше всех (LRU - Least-Recently Used). Достоинство случайного способа заключается в том, что его проще реализовать.

4. Что происходит во время записи?

При обращениях к кэш-памяти на реальных программах преобладают обращения по чтению. Все обращения за командами являются обращениями по чтению и большинство команд не пишут в память. Обычно операции записи составляют менее 10% общего трафика памяти. К счастью, общий случай является и более простым. Блок из кэш-памяти может быть прочитан в то же самое время, когда читается и сравнивается его тэг. Таким образом, чтение блока начинается сразу как только становится доступным адрес блока. Если чтение происходит с попаданием, то блок немедленно направляется в процессор. Если же происходит промах, то от заранее считанного блока нет никакой пользы, правда нет и никакого вреда.

Однако при выполнении операции записи ситуация коренным образом меняется. Именно процессор определяет размер записи (обычно от 1 до 8 байтов) и только эта часть блока может быть изменена. В общем случае это подразумевает выполнение над блоком последовательности операций чтение - модификация - запись: чтение оригинала блока, модификацию его части и запись нового значения блока. Более того, модификация блока не может начинаться до тех пор, пока проверяется тэг, чтобы убедиться в том, что обращение является попаданием. Поскольку проверка тэгов не может выполняться параллельно с другой работой, то операции записи отнимают больше времени, чем операции чтения.

Очень часто организация кэш-памяти в разных машинах отличается именно стратегией выполнения записи. Когда выполняется запись в кэш-память имеются две базовые возможности: сквозная запись (write through, store through) - информация записывается в два места: в блок кэш-памяти и в блок более низкого уровня памяти; запись с обратным копированием (write back, copy back, store in) - информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти переписывается в основную память только тогда, когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.

Оба подхода к организации записи имеют свои преимущества и недостатки. При записи с обратным копированием операции записи выполняются со скоростью кэш-памяти, и несколько записей в один и тот же блок требуют только одной записи в память более низкого уровня. Поскольку в этом случае обращения к основной памяти происходят реже, вообще говоря, требуется меньшая полоса пропускания памяти, что очень привлекательно для мультипроцессорных систем. При сквозной записи промахи по чтению не влияют на записи в более высокий уровень, и, кроме того, сквозная запись проще для реализации, чем запись с обратным копированием. Сквозная запись имеет также преимущество в том, что основная память имеет наиболее свежую копию данных. Это важно в мультипроцессорных системах, а также для организации ввода/вывода.

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

Разновидности строения кэш-памяти

Одним из основных вопросов увеличения эффективности кэш-памяти является следующий: должны ли команды и данные находится вместе в общей кэш-памяти. Очевидно, разработать смежную кэш-память, в которой хранятся и данные и команды проще. При этом вызов команд и данных автоматически уравновешивается. Тем не менее в настоящее время преобладает тенденция к применению разделенной кэш-памяти, когда команды хранятся в одной кэш-памяти, а данные в другой. Существует три основных способа организации кэш-памяти:

В первом случае (а) кэш хранит как команды, так и адреса, а во втором случае (в) кэши разделены, но шина для данных и для команд одна общая (однофазная Гарвардская архитектура). Есть еще и третья возможность - полная Гарвардская архитектура (с), которая подразумевает не только хранение данных и команд в двух раздельных кэшах, но и наличие полностью раздельных шин. Разделенная кэш-память позволяет осуществлять параллельный доступ и к данным, и к операндам. К тому же, поскольку команды обычно не меняются во время исполнения программы, содержание командной кэш-памяти не приходится переписывать обратно в ОП.

После процессора i486, в процессорах Pentium используется раздельная кэш-память команд и данных емкостью по 8-16 Кбайт, что обеспечивает независимость обращений. За один такт из каждой кэш-памяти могут считываться два слова. При этом кэш-память данных построена на принципах двух кратного расслоения, что обеспечивает одновременное считывание двух слов, принадлежащих одной строке кэш-памяти. Для повышения эффективности перезагрузки кэш-памяти в процессоре применяется 64-битовая внешняя шина данных. В настоящее время между разделенной кэш-памятью первого уровня помещается кэш второго уровня и, даже, третьего уровня. Мы уже упоминали что наличие кэш-памяти существенно ограничивает полезную площадь кристалла (Alpha 21164 компании Digital имеет 50% площади кристалла под кэш), но это не вся правда. Для производительной работы кэша необходимы эффективные алгоритмы внеочередного и спекулятивного выполнения (выборки) команд. А это, в свою очередь, приводит к неоправданному усложнению архитектуры процессора. Сравните: процессор MIPS R5000 - простой RISC процессор, процессор MIPS R10000 - сложный CPU со всеми возможностями спекулятивного выполнения выборки и исполнения команд. Производительность его всего лишь на 1,6 раза выше, чем у R5000 , зато площадь больше в 3,4 раза. В последнее время идут интенсивные работы по интегрированию на кристалле динамической памяти с произвольной выборкой (DRAM) вместо кэшей на SRAM. Это направление получило название интеллектуальной памяти - IRAM. Интегрированная на кристалл оперативная память занимает такую же площадь, что и кэш SRAM, но способна вместить в 30-40 раз больше данных.

Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов; вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место; а также настройка адресов программы на конкретную область физической памяти. Все выше перечисленное относится к логической организации памяти.

Выводы

Память - это одно из основных устройств ЭВМ, которое служит для хранения программ и данных.

Память ЭВМ - это совокупность всех запоминающих устройств, входящих в состав машины.

Память компьютера - система иерархическая, состоящая из нескольких уровней.

Внутренняя память может строиться на самых разнообразных физических принципах, но по своему функциональному назначению различается на ОЗУ, ПЗУ, ППЗУ и др.

Современные ОЗУ изготавливаются в виде полупроводниковых микросхем двух типов - статических и динамических.

Для разрешения проблемы соответствия времени обработки данных в процессоре и времени обращения к ОП применяется структура многоуровневого буфера - кэш-память.

В современных компьютерах кэш-память обычно реализуется по двух и трехуровневой схеме. При этом кэш 1-го уровня выполняется непосредственно на кристалле процессора, а кэш 2-го уровня (3-го) устанавливается на системной плате.

Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы.

Вопросы и задания

Как соотносятся между собой объем памяти и ее быстродействие и почему?

Что хранится в ПЗУ компьютера?

Что такое BIOS и каковы его функции?

Перечислите достоинства и недостатки статических и динамических МС.

Что такое кэш-память и как она работает?

Можно ли считать из памяти отдельно взятый бит?

Оцените, какая доля адресного пространства памяти вашего компьютера реально занята.

Лекция 8. Логическая организация памяти

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

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

Виртуальная память

Эти проблемы решались и решаются до сих пор. Есть несколько способов, позволяющих согласовать разные объемы памяти, разные способы ее организации в представлении программистов и реально аппаратно существующей.

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


Подобные документы

  • Общие понятия компьютерных сетей. Протоколы и их взаимодействие. Базовые технологии канального уровня. Сетевые устройства физического и канального уровня. Характеристика уровней модели OSI. Глобальные компьютерные сети. Использование масок в IP-адресации.

    курс лекций [177,8 K], добавлен 16.12.2010

  • Всемирная тенденция к объединению компьютеров в сети. Компьютерные сети: основные типы и устройство. Глобальная сеть Интернет. Современные сетевые технологи в компьютерных сетях. Особенности технологии Wi-Fi, IP-телефония. Виртуальные частные сети.

    презентация [648,3 K], добавлен 14.02.2016

  • Эволюция и классификация ОС. Сетевые операционные системы. Управление памятью. Современные концепции и технологии проектирования операционных систем. Семейство операционных систем UNIX. Сетевые продукты фирмы Novell. Сетевые ОС компании Microsoft.

    творческая работа [286,2 K], добавлен 07.11.2007

  • Устройство компьютерных сетей. Системы для передачи информации, состоящие из терминалов, серверов и коммуникационной среды. Технические, программные и информационные средства сетей. Классификация компьютерных сетей. Сетевые операционные системы.

    курсовая работа [3,7 M], добавлен 10.07.2014

  • Компьютерные сети и их классификация. Аппаратные средства компьютерных сетей и топологии локальных сетей. Технологии и протоколы вычислительных сетей. Адресация компьютеров в сети и основные сетевые протоколы. Достоинства использования сетевых технологий.

    курсовая работа [108,9 K], добавлен 22.04.2012

  • Сети и сетевые архитектуры. Протоколы коммуникации. Разделение и публикация файлов на удаленных сайтах. Сетевые топологии. Коммуникационные процессоры. Стратегии маршрутизации. Разрешение коллизий. Передача маркера. Слоты для переключения сообщений.

    презентация [1,5 M], добавлен 24.01.2014

  • Принципы построения ЭВМ, устройства ввода-вывода. Структура и принципы работы сети Интернет. Поиск информации, виды моделей. Классификация языков программирования. Типы СУБД, операционные системы. Средства защиты от вирусов и несанкционированного доступа.

    реферат [156,0 K], добавлен 19.01.2011

  • Общая характеристика требований, предъявляемых к операционным системам. Структура сетевой операционной системы (ОС). Одноранговые сетевые ОС и с выделенными серверами. Сетевые продукты Microsoft. ОС для рабочих групп и ОС для сетей масштаба предприятия.

    дипломная работа [83,7 K], добавлен 27.09.2012

  • Классификация компьютерных сетей. Взаимодействие компьютеров в сети. Сетевые модели и архитектуры. Мосты и коммутаторы, сетевые протоколы. Правила назначения IP-адресов сетей и узлов. Сетевые службы, клиенты, серверы, ресурсы. Способы доступа в Интернет.

    курсовая работа [1,5 M], добавлен 11.05.2014

  • Базовая система ввода-вывода информации. Базовые функции интерфейса и настройки оборудования. Основные понятия и функционирование BIOS. Сведения о системной BIOS компьютера. Затенение ROM-памяти. Самотестирование процессора, модулей оперативной памяти.

    реферат [21,7 K], добавлен 12.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.