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

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

Лекция 1

Базовая структура компьютеров

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

Мы также обсудим множество аспектов взаимодействия аппаратных и программных компонентов компьютерных систем.

Что такое компьютер?

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

Что такое алгоритм?

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

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

При этом требуется:

1. Чтобы исходные данные носили массовый характер.

2. Чтобы процесс переработки исходных данных состоял из отдельных дискретных шагов и в целом был определенным, детерминированным.

3. Чтобы было четко указано, при наступлении каких условий процесс надлежит остановить и что в этом случае считать результатом.

Машина Тьюринга

В 1937 году английский математик Алан Тьюринг в работе «О исчислимых и неисчислимых числах» использовал гипотетическое логическое устройство в последствии получившее название машина Тьюринга. Машина представляла собой автомат с конечным числом внутренних состояний, включающих начальное и конечное состояние ленты с конечным числом ячеек. В процессе работы машина читает содержимое ячейки и в зависимости от внутреннего состояния и содержимого ячейки может перемещаться на по ленте на шаг вперед или назад, менять содержимое ячейки и изменять свое состояние (рис. 1).

S1

S2

S3

Sn-1

Sn


Рис. 1.

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

Принципы Фон Неймана

В июле 1954 г. американский ученый Джон фон Нейман подготовил отчет, озаглавленный «Предварительный доклад о машине EDVAC»,

Так называемые «принципы фон Неймана», легшие в основу почти всех последующих поколений компьютеров, гласят:


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

3. По форме представления команды и числа одинаковы.

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

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

6. Операции над двоичными кодами осуществляются одновременно над всеми разрядами.

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

Функциональная структура компьютера

Компьютер состоит из 5 функционально независимых частей (рис. 2).

Память


Рис. 2.

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

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

· определяют арифметические и логические операции.

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

Данные – это числа и закодированные символы, используемые в качестве операндов команд.

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

Буквы и цифры также представляются в виде двоичных кодов. Схем кодированя разработано достаточно много. Самые распространенные это ISO, KOI8-R, Windows. Есть еще ASCII, EBCDIC. Как правило для кодирования одиного символа используется 8 бит, т.е. 1 байт.

Устройства ввода.

· Клавиатура (каждое нажатие преобразуется в код символа).

· Мышь (графическое устройство)

· Сканер

Память

Задача памяти – хранение команд и данных. Запоминающие устройства делятся на первичные и вторичные. Первичная (primary storage) или основная (main memory) память используется в процессе выполнения программы. Эта память реализуется на полупроводниковых схемах, и состоит из элементарных ячеек хранящих 1 бит информации. Ячейки сгруппированы в группы фиксированного размера, называемые словами. Слова считываются из памяти за одну операцию.

С каждым словом связывается отдельный адрес, т.е. двоичное число, указывающее точное местоположение слова в памяти. Размер адреса определяет максимально возможный объем первичной памяти. Длина слова в разных компьютерах обычно от 16 до 64 бит. Программа и данные в процессе выполнения должны находиться в первичной памяти. Исключительно важным для скорости выполнения программы, является быстрый доступ к любому слову памяти. Память, к любой точке которой можно получить доступ за короткое и фиксированное время, называется памятью с произвольным доступом (Random Access Memory – RAM). Сейчас время доступа к такой памяти доходит до нескольких наносекунд. Наиболее быстрой памятью является КЕШ память. Она напрямую связана с процессором. При выборке команд или операндов их копии помещаются в КЕШ и, если в процессе последующего выполнения программы потребуются эти команды или операнды они выбираются из КЕШ памяти, что позволяет увеличить скорость выполнения программы. Поскольку она максимально быстрая, она меньше основной памяти, поэтому при его заполнении новые команды и операнды замещают старые по специальным правилам.

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

Арифметико-логическое устройство.

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

Устройство вывода.

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

Блок управления

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

Основные концепции функционирования

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

Пример команды, записанной в символическом виде:

Add CONST,R0

Эта команда складывает операнд, хранящийся в памяти по адресу CONST, с содержимым регистра R0 и помещает результат в тот же регистр. Команда выполняется в несколько этапов:

· чтение команды из памяти,

· чтение операнда, расположенного по адресу CONST, из памяти,

· сложение операнда с содержимым регистра R0,

· запись результата в регистр R0.

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

На рисунке 3 показано, как соединяются память и процессор


Рис.3.

Кроме АЛУ и управляющих схем содержит множество регистров, предназначенных для разных целей. В регистре команды (IR) содержится код выполняемой команды. Регистр PC (Program Counter) содержит адрес команды подлежащей выборке. Иначе его называют счетчиком команд. Регистры R0 – Rn-1 используются программой для хранения промежуточных результатов работы. Регистры. MAR (Memory address register) и MDR используются для взаимодействия с памятью.

Типичный процесс выполнения программы, если первая команда программы Add:

· запись в регистр PC адреса первой команды,

· передача содержимого PC в регистр MAR и выдача сигнала чтение,

· загрузка команды из памяти в регистр MDR,

· запись содержимого MDR и IR,

· передача адреса операнда CONST в регистр MAR и выдача сигнала чтение,

· загрузка операнда из памяти в регистр MDR,

· передача содержимого MDR и R0 в АЛУ и выполнение операции сложение,

· Запись результата в R0.

После этого регистр PC увеличивается на 1 и процесс повторяется для следующей команды.

Шина

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

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

Здесь мы рассмотрим простейший и самый распространенный из них – (single bus) общую шину (рис. 4).

Эта технология обеспечивает соединение нескольких устройств.


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

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

Программное обеспечение

Основное назначение программного обеспечения – Это упрощение использование компьютера и обеспечение эффективности его работы.

Программное устроено иерархически. Верхнюю часть программного обеспечения составляют прикладные программы. По существу это пользовательские программы, сделанные заранее профессиональными разработчиками программ, решающие общие задачи использования компьютера. Это компиляторы, редакторы, средства сетевого общения, СУБД, архиваторы и пр, большинство прикладных программ легко переносится с компьютера на компьютер.

Нижнюю часть программного обеспечения представляют операционные системы, которые, как бы, представляют собой продолжение компьютера и обеспечивают:

· управление внешними устройствами,

· управление файловой системой,

· управление выполнением программ,

· управление основной памятью,

· безопасность компьютера,

· управление конфигурацией внешних устройств и пр.

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

Работу операционной системы можно проиллюстрировать следующим примером (рис.5):

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

Программа 1

Программа 2

Прерывание, ОС


Рис. 5.

Тактовая частота процессора

Синхронизация работы отдельных элементов процессора обеспечивается специальными тактовыми импульсами (clock) которые выдаются через фиксированные интервалы времени. Промежуток между двумя импульсами составляет тактовый цикл или просто такт. При конструировании ЭВМ процесс выполнения команды разделяется на последовательность базовых шагов, каждый из которых может быть выполнен за один такт. Величина равная R=1/t называется тактовой частотой процессора (clock rate) является важным параметром компьютера. Таким образом, производительность процессора зависит от двух параметров тактовой частоты и количества тактов необходимых для выполнения команды.

Типы компьютеров

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

· Персональные компьютеры. Наиболее распространенный тип компьютеров. Подразделяются на настольные компьютеры, портативные компьютеры (notebook), карманные компьютеры.

· Рабочие станции

· Серверы

· Мэйнфреймы

· Суперкомпьютеры

Историческая справка

Историю раз вития ЭВМ принято разделять на 4 поколения: первое 1945-1955 год; второе – 1955-1965, третье – 1965-1975, четвертое 1975 по настоящее время.

Первое поколение.

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

Второе поколение

Компьютеры на транзисторах. Память на магнитных сердечниках, магнитных лентах и магнитных барабанах. Появились языки высокого уровня, в частности ФОРТРАН.

Третье поколение.

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

Четвертое поколение.

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