Архитектура памяти компьютера. Виды памяти. Решение задачи о синхронизации стрелков

Классификация компьютерной памяти. Использование оперативной, статической и динамической оперативной памяти. Принцип работы DDR SDRAM. Форматирование магнитных дисков. Основная проблема синхронизации. Теория вычислительных процессов. Адресация памяти.

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

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Магнитогорский государственный технический университет им. Г.И. Носова»

Институт энергетики и автоматизированных систем

Кафедра вычислительной техники и программирования

КУРСОВАЯ РАБОТА

по дисциплине: «Теория вычислительных процессов»

на тему: «Архитектура памяти компьютера. Виды памяти. Решение задачи о синхронизации стрелков»

Исполнитель:

Богатырев А.В.

Магнитогорск, 2015

Введение

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

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

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

Вместе с центральным процессором запоминающее устройство являются ключевыми звеньями.

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

Также компьютерная память классифицируется по различным признакам.

В данной работе рассмотрим понятия компьютерной памяти, ее виды и классификации в теоретическом и практическом контекстах.

1. Теоретический вопрос

1.1 Оперативная память

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

Основным фактором производительности системы оперативной памяти назвать ее пропускную способность, т.е. количество мегабайт в секунду, которое способна считать (записать) оперативная память. Разумеется, пропускная способность оперативной памяти напрямую зависит от частоты работы чипов памяти и от ширины шины, связывающей память и процессор, и обычно определяется как произведение ширины шины на частоту ее работы. Например, ширина шины 64 бита, частота работы памяти 100 МГц, пропускная способность - 64 бита (8 байт) * 100 МГц = 6400 Мбит/с или 800 Мбайт.

1.2 Адресация памяти

компьютерный память синхронизация вычислительный

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

Машинное слово --информационная единица оперативной памяти. Машинное слово у разных ЭВМ бывает разным. Размер машинного слова (в битах) равен разрядности процессора. У компьютера с 8-разрядным процессором размер машинного слова равен 1 байту, с 32-разрядным процессором -- 4 байтам, у 64-разрядного процессора 8 байт. Обмен данными между процессором и оперативной памятью происходит порциями, каждая из которых равен размеру машинного слова.

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

Байты могут объединяться в ячейки, которые называются также словами. Для компьютера характерна определенная длина слова -- 2, 4 или 8 байтов. Это не исключает использования ячеек памяти другой длины (полуслово, двойное слово). В одном машинном слове может быть представлено либо одно целое число, либо одна команда. Однако, допускаются переменные форматы представления информации. Разбиение памяти на слова для 4-байтовых компьютеров представлено в таблице:

1.3 Методы организации

1) Метод строк/колонок (Row/column). Адресации представляет собой матрицу, разделенную на строки и колонки. Ячейка матрицы, оказавшаяся на пересечении выбранных строки и колонки, считывается в память или обновляется ее содержимое.

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

3) Метод чередования адресов (Interleaved). Данный метод предполагает считывание/запись информации не по одному, а сразу по нескольким адресам: i, i+1, i+2 и т.д. Количество одновременно опрашиваемых адресов, по которым происходит считывание информации, определяет кратность чередования адресов, что соответствует количеству блоков памяти. Обычно используется 2-х или 4-х кратное чередование адресов, т.е. память делится на 2 или 4 блока. Запись информации в блоки осуществляется независимо друг от друга. Информация по адресу i хранится в первом блоке, по адресу i+1 - во втором блоке и т.д. Считываемая с блоков информация далее переписывается в кэш-память для последующей переработки.

4) Метод страничной организации (Page-mode). При данном методе организации память адресуется не по байтам, а по границам страниц. Размер страницы обычно равен 1 или 2 КБайта. Данный метод предполагает наличие в системе кэш-памяти емкостью не менее 128 Кб куда предварительно считываются требуемые страницы памяти для последующей переработки. Обновленная информация периодически из кэш-памяти отправляется в оперативную.

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

1.4 SRAM

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

SRAM применяется в микроконтроллерах и ПЛИС (Программируемая логическая интегральная схема), в которых объём ОЗУ невелик (единицы килобайт), зато нужны низкое энергопотребление (за счёт отсутствия сложного контроллера динамической памяти), предсказываемое с точностью до такта время работы подпрограмм и отладка прямо на устройстве.

В устройствах с большим объёмом ОЗУ рабочая память выполняется как DRAM. SRAM же применяется для регистров и кэш-памяти.

1.5 DRAM

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

Ячейки памяти в микросхеме DRAM - крошечные конденсаторы, которые удерживают заряды. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать”, и данные будут потеряны. Регенерация в микросхеме происходит одновременно по всей строке матрицы при обращении к любой из ее ячеек. Максимальный период обращения к каждой строке TRF (refresh time) для гарантированного сохранения информации у современной памяти лежит в пределах 8-64 мс. В зависимости от объема и организации матрицы для однократной регенерации всего объема требуется 512, 1024, 2048 или 4096 циклов обращений. При распределенной регенерации (distributed refresh) одиночные циклы регенерации выполняются равномерно с периодом tRF, который для стандартной памяти принимается равным 15,6 мкс. Период этих циклов называют «refresh rate», хотя такое название больше подошло бы к обратной величине -- частоте циклов f=l/t RF. Для памяти с расширенной регенерацией (extended refresh) допустим период циклов до 125 мкс. Возможен также и вариант пакетной регенерации (burst refresh), когда все циклы регенерации собираются в пакет, во время которого обращение к памяти по чтению и записи блокируется. При количестве циклов 1024 эти пакеты будут периодически занимать шину памяти примерно на 130 мкс, что далеко не всегда допустимо.

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

В устройствах DRAM для хранения одного бита используется только транзистор и конденсатор, поэтому они более вместительны, чем микросхемы других типов памяти. Транзистор для каждого однозарядного регистра DRAM использует для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана 1; если заряда нет - записан 0. Заряды в крошечных конденсаторах все время стекают, вот почему память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приведет к потере заряда в ячейке DRAM, а следовательно, к потере данных.

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен - выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 бит). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца.

Рассмотрим систему считывания. Сначала на все входы подается сигнал RAS (Row Address Strobe) - адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) - это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать, взяв из буфера.

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

Матрицы с ячейками расположены таким образом:

Рис. 1. Расположение ячеек матриц.

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.

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

Сейчас уже не актуально использовать 66-МГц шины памяти. Разработчики DRAM нашли возможность преодолеть этот рубеж и извлекли некоторые дополнительные преимущества путем осуществления синхронного интерфейса.

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

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

DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) - динамическая синхронизированная память с произвольным порядком выборки и удвоенной передачей данных. Появился этот тип памяти где-то в 1998 году и был сразу взят на вооружение производителями видеокарт. Затем DDR широко распространилась и на материнские платы. На сегодняшний день, этот тип памяти, пожалуй, наиболее применяемый в персональных компьютерах. Ведь DDR сочетает в себе приемлемую скорость и при этом относительную дешевизну.

Рис.2. Стандартный модуль DDR SDRAM

Принцип работы DDR SDRAM очень схож с обычной SDRAM (отсюда и второе название DDR SDRAM - SDRAM 2). Память разбита на страницы, каждая страница разбита на банки. Работа памяти синхронизирована с тактовым генератором системной платы.

Основное отличие заключается в том, что за один цикл происходит два обращения к данным: по фронту и срезу импульса тактового сигнала системной шины. Говоря простым языком, чтение/запись происходит два раза за один такт. Кроме того, частота работы повышается за счет применения интерфейсных логических схем с еще более пониженным уровнем питания. Если для SDRAM обычно используются схемотехнические решения на базе LVTTL (Low Volt Transistor-to-Transistor Logic) с напряжением питания 3,3 В, то в DDR SDRAM - на базе SSTL (Stub Series Terminated Logic) с напряжением 2,5. В DRR3 вольтаж уменьшен до 1.5В, DDR4 - 1.1-1.2В.

DDR SDRAM управляется инверсными тактовыми сигналами. Управляющие и адресные сигналы регистрируются по положительному фронту тактового сигнала, точнее при переходе сигнала с низкого уровня напряжения на более высокий, а вот данные передаются по обоим фронтам сигнала. Такая схема работы требует более четкой синхронизации. Для этого введен дополнительный стробовый сигнал DQS. Этот сигнал необходим для согласования передачи данных при чтении из памяти и контроллером при записи в память. При передаче данных по фронту и срезу сигнала синхронизации критичным будет лишь время задержки распространения сигнала. Вот и пришлось использовать этот строб-сигнал.

Рис.3. Временная диаграмма DDR SDRAM

При тактовой частоте системной шины 100 МГц скорость передачи данных будет равна 1600 Мбайт/сек, а при 133 МГц - 2100 Мбайт/сек. Отсюда следуют названия памяти DDR - РС1600 и РС2100. Максимальная же пропускная способность при результирующей частоте в 400 Мгц может достигать 3,2 Гбайт/сек.

Однако, что микросхемы SDRAM и DDR физически не совместимы: у них различное количество контактов и расположение ключа.

RDRAM представляет спецификацию, созданную Rambus, Inc. Частота работы памяти равна 400 МГц, но за счет использования обеих границ сигнала достигается частота, эквивалентная 800 МГц. Спецификация Rambus сейчаснаиболее интересна и перспективна.

Direct Rambus DRAM - это высокоскоростная динамическая память с произвольным доступом, разработанная Rambus, Inc. Она обеспечивает высокую пропускную способность по сравнению с большинством других DRAM. Direct Rambus DRAMs представляет интегрированную на системном уровне технологию.

Технология Direct Rambus представляет собой третий этап развития памяти RDRAM. Впервые память RDRAM появилась в 1995 г., работала на частоте 150 МГц и обеспечивала пропускную способность 600 Мбайт/с. Она использовалась в станциях SGI Indigo2 IMPACTtm, в приставках Nintendo64, а также в качестве видеопамяти. Следующее поколение RDRAM появилось в 1997 г. под названием Concurrent RDRAM. Новые модули были полностью совместимы с первыми. Но за год до этого события в жизни компании произошло не менее значимое событие. В декабре 1996 г. Rambus, Inc. и Intel Corporation объявили о совместном развитии памяти RDRAM и продвижении ее на рынок персональных компьютеров.

Сейчас стали появляться новые типы RAM микросхем и модулей.

Встречаются такие понятия, как FPM RAM, EDO RAM, DRAM, VRAM, WRAM, SGRAM, MDRAM, SDRAM, SDRAM II (DDR SDRAM), ESDRAM, SLDRAM, RDRAM, Concurrent RDRAM, Direct Rambus. Большинство из этих технологий используются лишь на графических платах, и в производстве системной памяти компьютера используются лишь некоторые из них.

Самым первым модулем, который использовался в PC, был так называемы модуль SIMM 30pin (Single Inline Memory Module, Модуль Памяти с Односторонним Расположением контактов, имевший 30 контактных площадок). Рассмотрев такой модуль, можно заметить, что контактные площадки расположены у модуля в обеих сторон, но с обратной стороны модуля за счет внутренней металлизации контактных площадок происходит их дублирование, т.е. все же у модуля одностороннее расположение контактов.

Каковы характеристики модуля? А чем вообще можно характеризовать модуль, если все его параметры, такие как тип и объем памяти, быстродействие, зависят в первую очередь от припаянных на модуль чипов? Но есть по крайней мере один параметр, который характеризует именно модуль. Этот параметр - разрядность модуля, т.е. ширина той шины, по которой происходит доступ к конкретному модулю, или количество контактов, по которым передаются биты данных. (Например, модуль с 30 ножками, естественно, не может обеспечить 32-битный обмен данными - для этого нужно только 32 ножки для передачи данных, а ведь еще питание, адресация и т.д.). Т.е., модули друг от друга в первую очередь отличаются разрядностью. Разрядность модуля SIMM 30 pin составляет 8 бит (на самом деле 9 бит, но последний, девятый бит используется для передачи так называемых данных четности, об этом мы поговорим позднее). Модуль SIMM 30 pin (иногда еще называют: короткий SIMM) использовался в 286, 386 и 486 системах. Рассмотрим применение короткого модуля SIMM на примере 386 системы. Ширина шины, связывающая 386 процессор с памятью, составляет 32 бита. Можно ли в такой системе в качестве оперативной памяти использовать 1 SIMM 30 pin? Представьте себе: процессор использует для связи с памятью шину, в которой данные передаются по 32 проводам. Будет ли система работать, если из этих проводов задействовать только 8? Разумеется, нет!

Естественно, что в системе должна использоваться 32-битная память, а иначе процессор не сможет работать с памятью. Но как реализовать 32-битную память, если в Вашем распоряжении только 8-битные модули? Нужно использовать несколько модулей одновременно! Фактически, минимальной единицей оперативной памяти системы можно считать совокупность модулей памяти, полностью "закрывающих" шину память - процессор. В 386 системе при использовании SIMM 30 pin (шириной 8 бит каждый модуль), нужно одновременно использовать кратное четырем количество модулей для того, чтобы обеспечить работоспособность системы. Поэтому на материнских платах тех времен количество разъемов под короткие SIMMы было всегда кратно четырем: 4 или 8 штук. Совокупность разъемов, полностью закрывающих шину память - процессор называется банк памяти. То, о чем мы говорили только что, можно сказать следующим образом: в системе память всегда должна устанавливаться только банками, и хотя бы один банк должен быть установлен.

Рис.4. Стандартный модуль памяти SDRAM PC100

Постоянное запоминающее устройство (ПЗУ, ROM (Read Only Memory)), которое еще называют встроенной программой, представляет собой интегральную микросхему, при изготовлении запрограммированную определенными данными. ПЗУ используются не только в компьютерах, но и в большинстве других электронных устройств. Имеется пять основных типов ПЗУ:

1. Постоянное запоминающее устройство

2. Программируемое постоянное запоминающее устройство (ППЗУ)

3. Стираемое программируемое постоянное запоминающее устройство (СППЗУ)

4. Электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ)

5. Флэш-память

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

1. Хранящиеся в этих чипах данные не теряются при отключении питания.

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

Так же, как и в ОЗУ, в чипах ПЗУ имеется сетка, составленная столбцами и строками. Однако в местах пересечений столбцов и строк чипы ПЗУ принципиально отличаются от ОЗУ. В ОЗУ для включения и выключения доступа к конденсатору на каждом пересечении используются транзисторы, а в ПЗУ для соединения линий при логической единице используется диод. Если в определенной ячейке ОЗУ записан 0, линии вообще не соединяются. Диод в обычных условиях пропускает ток только в одном направлении и характеризуется наличием определенного порога, который называют порогом смещения при прямом включении. Этим порогом определяется значение электрического тока, требующегося для того, чтобы открылся диод. В кремниевых устройствах, таких как процессоры и чипы памяти, напряжение прямого смещения приблизительно равно 0,6 вольта. Используя уникальные свойства диода, чип ПЗУ может направлять заряд, превышающий порог смещения при прямом включении, на выбранный столбец, тогда как строка, соответствующая опрашиваемой ячейке, заземляется. Если в опрашиваемой ячейке имеется диод, он пропустит заряд на землю и согласно двоичной системе эта ячейка будет распознана как "включенная" (значение 1). Положительным свойством ПЗУ является также то, что если значение ячейки равно 0, на соответствующем пересечении нет диода, соединяющего строку и столбец. Поэтому заряд с выбранного столбца не может попасть на соответствующую строку.

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

Накопитель на жёстких магнитных дисках или НЖМД (Hard Disk Drive) -- запоминающее устройство (устройство хранения информации) произвольного доступа, основанное на принципе магнитной записи. Является основным накопителем данных в большинстве компьютеров.

Информация в НЖМД записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного материала, чаще всего двуокиси хрома -- магнитные диски. В НЖМД используется одна или несколько пластин на одной оси. Считывающие головки в рабочем режиме не касаются поверхности пластин благодаря прослойке набегающего потока воздуха, образующейся у поверхности при быстром вращении. Расстояние между головкой и диском составляет несколько нанометров (в современных дисках около 10 нм), а отсутствие механического контакта обеспечивает долгий срок службы устройства. При отсутствии вращения дисков головки находятся у шпинделя или за пределами диска в безопасной («парковочной») зоне, где исключён их нештатный контакт с поверхностью дисков.

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

Запись информации на диск ведется по строго определенным местам -- концентрическим дорожкам (трекам). Дорожки делятся на сектора.

Обмен данными между ОЗУ и НМД осуществляется последовательно целым числом (кластером). Кластер -- наименьшая единица пространства, с которой работает ОС в таблице расположения файлов. Обычно кластер состоит из 2-4-8 или более секторов.

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

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

Рис. 5. Устройство HDD.

Магнитный диск первоначально к работе не готов. Для приведения его в рабочее состояние он должен быть отформатирован, т.е. должна быть создана структура диска. Структура (разметка) диска создается в процессе форматирования.

Форматирование магнитных дисков включает 2 этапа:

1. физическое форматирование (низкого уровня)

2. логическое (высокого уровня).

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

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

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

Логический диск -- это некоторая область жесткого диска, работающая так же, как отдельный накопитель.

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

· загрузочного сектора и таблица разделов (Boot reсord)

· таблицы размещения файлов, в которых записываются номера дорожек и секторов, хранящих файлы

· корневой каталог (Root Direсtory).

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

1.6 CASHE-ПАМЯТЬ

Cashe-память (Кэш-память) - сверхоперативная память (СОЗУ), является буфером между ОЗУ и процессором (несколькими процессорами) и другими абонентами системной шины.

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

В свою очередь, Кэш память можно разделить на два уровня:

· L1 Cashe (Level 1 Cashe, Первичный кэш) - кэш 1 уровня, внутренний (Internal, Integrated) кэш процессоров класса 486 и старше.

· L2 Cashe (Level 2 Cashe, Вторичный кэш) - кэш 2 уровня. Работает на частоте шины. Для кэша 2-го уровня всегда используется SRAM. Характерные емкости - от 256kB до 1MB на процессор. Объем и быстродействие L2 Cashe оказывают огромное влияние на быстродействие ПК в целом.

2. Практическая часть

2.1 Постановка задачи

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

2.2 Решение задачи

Рис. 6. Автоматная модель стрелков и офицера

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

· «Ожидание»;

· «Прямой счет»;

· «Обратный счет»;

· «Открытие огня».

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

2.3 Демонстрация работы программы

Рис. 7 Демонстрация работы программы - Состояние ожидания.

Рис. 8. Демонстрация работы программы - Процесс выстрела.

Рис.9. Демонстрация работы программы - Состояние открытия огня и переход в состояние ожидания

Заключение

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

В практической части было рассмотрено решение задачи «О синхронизации стрелков». Данная задача была решена с использованием автоматной модели поведения стрелков. Основная проблема синхронизации заключалась в обеспечении одновременного залпа всех стрелков цепи. В результате решения все стрелки производят выстрел в одно и то же время.

Список используемой литературы

1. Скотт Мюллер «Модернизация и ремонт ПК», - 18-е изд. -М.: Вильямс, 2000. - С.491

2. Михаил Гук Энциклопедия «Аппаратные средства IBM PC», - 3-е изд. - М.: Питер, 2003. -С. 215

Приложение

Код программы

//TController.cpp (офицер)

#include <vcl.h>

#include <windows.h>

#include <iostream>

#include <string>

#include <sstream>

#include "iostream.h"

#include "TController.h"

#define COUNT 5 //кол-во стрелков

PROCESS_INFORMATION processes[COUNT];

HANDLE hWatchdog;

int main(int argc, char* argv[]) {

hWatchdog = CreateSemaphore(NULL, 0, 1, "watchdog");

// запускаем процессы стрелков

for(int i = 0; i < COUNT; i++) {

processes[i] = startProcess(i);

}

cout << "Press Enter to shoot or Esc to exit" << endl;

while (1) {

if (GetAsyncKeyState(VK_RETURN)) {

cout << "Shooting started. Wait..." << endl;

// сообщаем первому стрелку комаду Расчет

HANDLE hFirstRiflemanSemaphore = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, "rifleman0");

ReleaseSemaphore(hFirstRiflemanSemaphore, 1, NULL);

// ждем пока взвод не закончит стрельбу

WaitForSingleObject(hWatchdog, INFINITE);

cout << "Shooting finished" << endl;

cout << "-----------------" << endl;

cout << "Press Enter to shoot or Esc to exit" << endl;

} else if (GetAsyncKeyState(VK_ESCAPE)) {

break;

}

// завершаем процессы стрелков

for(int i = 0; i < COUNT; i++) {

TerminateProcess(processes[i].hProcess, NO_ERROR);

}

return 0;

}

PROCESS_INFORMATION startProcess(int index) {

std::stringstream ss;

ss << "Rifleman.exe " << index << " " << COUNT;

STARTUPINFO cif;

ZeroMemory(&cif,sizeof(STARTUPINFO));

PROCESS_INFORMATION pi;

CreateProcess(NULL,

(LPTSTR)ss.str().c_str(),

NULL,

NULL,

FALSE,

CREATE_NEW_CONSOLE,

NULL,

NULL,

&cif,

&pi);

return pi;

}

//----- TController.h (офицер)

#ifndef TControllerH

#define TControllerH

PROCESS_INFORMATION startProcess(int index);

#endif

//----- TRifleman.сpp (стрелок)

#include <vcl.h>

#include <iostream>

#include <string>

#include <sstream>

#include "iostream.h"

#include "TRifleman.h"

#define DELAY 1000

#define LEFT index-1

#define RIGHT index+1

int index = 0;

bool isFirst;

bool isLast;

HANDLE hSemaphore; // переключатель состояния стрелка

int main(int argc, char* argv[]) {

if (argc > 1) {

// передаем индекс стрелка и их количество через параметры процесса

index = atoi(argv[1]);

int count = atoi(argv[2]);

isFirst = index == 0;

isLast = index == count - 1;

}

hSemaphore = CreateSemaphore(

NULL, // нет атрибута

0, // начальное состояние счетчика

2, // максимум счетчика

apendInt("rifleman", index).c_str()); // имя семафора

while(1) {

cout << "I'm sleeping" << endl;

// жду команды Расчет от соседа слева, или от офицера если я первый в строю

WaitForSingleObject(hSemaphore, INFINITE);

// расчет начался

cout << "My index is " << index + 1 << endl;

if (!isLast) {

// есть сосед справа, жду DELAY перед тем как сообщить ему о команде Расчет

Sleep(DELAY);

HANDLE hRightSemaphore = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, apendInt("rifleman", RIGHT).c_str());

ReleaseSemaphore(hRightSemaphore, 1, NULL);

// жду команду Готов от соседа справа, она будет дана на обратном проходе

WaitForSingleObject(hSemaphore, INFINITE);

} else {

// я последний в строю, жду DELAY перед тем как сообщить соседу слева,

// о Команде Готов, т.е. начинаем обратный проход

Sleep(DELAY);

}

cout << "I'm ready" << endl;

Sleep(DELAY);

if (!isFirst) {

// если есть сосед слева, сообщу ему команду Готов

HANDLE hLeftSemaphore = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, apendInt("rifleman", LEFT).c_str());

ReleaseSemaphore(hLeftSemaphore, 1, NULL);

} else {

// сообщаем офицеру что стрельба закончена

HANDLE hWatchdog = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, "watchdog");

Release Semaphore (hWatchdog, 1, NULL);

}

// жду DELAY количество раз равное моему номеру и стреляю

Sleep(DELAY * index);

cout << "Fire!" << endl;

cout << "-----------------" << endl;

}

return 0;

}

std::string apendInt(char* str, int value) {

std::stringstream ss;

ss << str << value;

return ss.str();

}

//----- TRifleman.h (стрелок)

#ifndef TRiflemanH

#define TRiflemanH

std::string apendInt(char* str, int value);

#endif

Размещено на Allbest.ru


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

  • Простейшая схема взаимодействия оперативной памяти с ЦП. Устройство и принципы функционирования оперативной памяти. Эволюция динамической памяти. Модуль памяти EDO-DRAM BEDO (Burst EDO) - пакетная EDO RAM. Модуль памяти SDRAM, DDR SDRAM, SDRAM II.

    реферат [16,1 K], добавлен 13.12.2009

  • Улучшение параметров модулей памяти. Функционирование и взаимодействие операционной системы с оперативной памятью. Анализ основных типов, параметров оперативной памяти. Программная часть с обработкой выполнения команд и размещением в оперативной памяти.

    курсовая работа [99,5 K], добавлен 02.12.2009

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

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

  • Общая характеристика и функциональные особенности микросхем динамической памяти SDRAM, их классификация и типы, внутреннее устройство. Основные требования к конструкции корпусов. Отношение между тактовым сигналом и циклами передачи данных памяти RDRAM.

    презентация [277,4 K], добавлен 27.08.2013

  • Сравнительный анализ статической и динамической памяти. Быстродействие и потребление энергии статической памятью. Объем памяти микросхем. Временные диаграммы чтения и записи памяти. Микросхемы синхронной и асинхронной памяти. Режимы модулей памяти.

    презентация [114,2 K], добавлен 27.08.2013

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

    курсовая работа [708,6 K], добавлен 31.05.2013

  • История появления и развития оперативной памяти. Общая характеристика наиболее популярных современных видов оперативной памяти - SRAM и DRAM. Память с изменением фазового состояния (PRAM). Тиристорная память с произвольным доступом, ее специфика.

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

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