Основные функциональные части компьютера

Тема 2. Принцип работы компьютера

План конспекта лекмии

1. Основные функциональные части компьютера.

2. Принципы работы компьютера.

3. Позиционные системы счисления.

4. Машинный язык и язык ассемблера.

5. Развитие и будущее компьютеров.

Основные функциональные части компьютера

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

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

Шина состоит из трех частей:

· шина адреса, на которой устанавливается адрес требуемой ячейки памяти или устройства, с которым будет происходить обмен информацией;

· шина данных, по которой собственно и будет передана необходимая информация;

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

Функции процессора:

· обработка данных по заданной программе путем выполнения арифметических и логических операций;

· программное управление работой устройств компьютера.

Основные функциональные части компьютера

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

Функции оперативной памяти:

· приём информации из процессора и других устройств;

· запоминание информации;

· выдача информации по запросу в другие устройства компьютера.

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

Функциональное взаимодействие процессора и памяти представлено на рис. 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1

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

Схему устройства компьютера предложил Джон фон Нейман в 1946г, её принципы работы во многом сохранились в современных компьютерах.

Принципы Джон фон Неймана:

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

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

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

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

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

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

Позиционные системы счисления

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

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

Двоичная Восьмиричная Шестнадцатиричная Десятичная
       
       
       
       
       
       
       
       
       
       
    A  
    B  
    C  
    D  
    E  
    F  

Запись каждого числа, состоящего из n цифр, может быть представлено в виде суммы произведений коэффициентов на степени основания системы счисления.
Х = an-1*mn-1+an-2*mn-2+...+a0*m0+a-1*m-1+a-2*m-2+....

Так, в десятичной системе счисления (m=10) число 642,43 можно записать, как 642,43 =6*102+4*101+2*100+4*10-1+3*10-2 Системы счисления по основанию 2, 8 и 16 используются в машинно-ориентированных разделах программирования.

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

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

Перевод десятичного числа в двоичное и т.д. немного сложнее:

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

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

Цифра двоичной системы 0 или 1 называется битом. Восемь битов называют байтом. Компьютер хранит данные в памяти именно так. Для обозначения какого- нибудь символа (цифры, буквы, запятой, точки...) в компьютере используется определенное количество бит. Компьютер "распознает" 256 (от 0 до 255) различных символов по их коду. Этого достаточно, чтобы вместить все цифры (0 - 9), буквы латинского алфавита (a - z, A - Z), русского (а - я, А - Я), а также другие символы. Для представления символа с максимально возможным кодом (255) нужно 8 бит. Таким образом, один любой символ - это 1 байт. Так, русские буквы в двоичной форме представления данных имеют следующий вид: А - 11000001, И - 1100101), Я - 11011101.

Почему же тогда на экране мы видим текст, а не "единички-нолики"? Дело в том, что всю работу по выводу самого символа на экран (а не битов) выполняет видеокарта (видеоадаптер), которая находится в компьютере.

Стандартную таблицу символов, применяемых в компьютере, называют кодовой страницей или таблицей ASCII-кодов. Каждый символ таблицы ASCII-кодов имеет свое значение и двоичную запись. Например, пробел, то есть пустое место между символами в строке, записывается в двоичном коде как 00100000, а в таблице ASCII ему соответствует значение 032.

Полный набор таких символов включает весь алфавит из больших и маленьких букв, все десять привычных нам арабских цифр от 0 до 9, знаки препинания и математические символы, а также символы псевдографики — растры, прямоугольники, одинарные и двойные рамки, стрелки. В таблице ASCII-кодов есть еще некоторые специальные символы, управляющие работой принтера и других программ и устройств компьютерной системы, которых нет на клавиатуре. В последние годы получил широкое распространение Юникод (англ. Unicode ) как альтернатива традиционным кодовым страницам. Этот стандарт кодирования символов позволяет представить знаки практически всех письменных языков, включая китайские иероглифы. В качестве окончательной величины кодового пространства Юникода было выбрано 1112064 символов.

Машинный язык и язык ассемблера

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

Для облегчения написания программ был разработан язык ассемблера.

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

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

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

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

Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется компилятором.

Развитие и будущее компьютеров

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

 

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

Тактовые частоты современных персональных компьютеров (ПК) превышают 3 ГГц, объемы ОЗУ свыше 4 Гбайт. Емкость накопителей на жестких дисках измеряется уже в террабайтах. Вычислительные мощности ПК просто колоссальны (хотя и остаются еще недостаточными для решения многих прикладных задач).

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

· Один Килобайт равен 210 Байт = 1024 Байт. (Обозначается как "Кб")

· Один Мегабайт равен 220 Байт = 1024 Килобайт = 1 048 576 Байт. (Обозначается "Мб").

· Один Гигабайт равен 230 Байт = 1024 Мегабайт = 1 048 576 Килобайт = очень много Байт..
(1024*1 048 576 на калькуляторе) (Обозначается "Мб").

· Один Терабайт равен 240 Байт = 1024 Гигабайт = 1 048 576 Мегабайт =... (Обозначается "Тб")

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

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

Вопросы для самопроверки

1. Каковы основные функции процессора и оперативно-запоминающего устройства
компьютера?

2. Каковы принципы работы компьютера?

3. Что понимается под командой и программой?

4. Чем отличается позиционная от непозиционной системы счисления?

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

6. Преобразуйте следующие десятичные числа в двоичные (восьмеричные,
шестнадцатеричные): 0, 1, 18, 25, 128.

7. Дешифруйте следующие двоичные числа, преобразовав их в десятичные: 0010, 1011, 11101, 0111, 0101.

8. Дешифруйте следующие восьмиричные числа, преобразовав их в десятичные: 777, 375, 111, 1015.

9. Дешифруйте следующие шестнадцатиричные числа, преобразовав их в десятичные: 15, A6, 1F5, 63.

10. Какая разница между машинным языком и языком ассемблера?

11. Каково назначение транслятора?

12. Что можно сказать о будущем развитии персональных компьютеров?

Литература

1. Левин А.Ш. Энциклопедия пользователя персонального компьютера.- М.:Питер, 2010. - 908 с.

2. Колисниченко Д. Самоучитель работы на компьютере. - М.:АСТ, 2010. - 414 с.

3. Информатика /под редакцией Трофимова В.В./. М.:Юрайт, 2010. - 911 с.

4. http://www.urait-book.ru - информатика.

5. http://www.pedsovet.info/info/pages/referats/info 00020.htm - функциональная схема компьютера.

6. http://evm-storv.narod.ru/ - развитие компьютеров.

7. http://comp-science.narod.ru/Progr/Svst Sch.html - позиционные системы счисления.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: