Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Принципы работы первых компьютеров без ОС



В первых компьютерах программа представляла из себя набор машинных кодов из 0 и 1, например:

...

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

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

                 
   
   
 
     
 
   
 
   
       
 
 
   
                                                             
                 
                   
 
 
               
 
               
 
   
                   
 
 
   
                   
 
 
   
Перфолента
 
Перфокарта
 


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

Принцип исполнения машинных команд процессором можно изобразить схематично так:

Запуск – { выборка команды - исполнение команды } – останов

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

1) доступные пользовательским программам:

регистры данных: для хранения данных для выполнения команды, они бывают разных типов для хранения данных разных типов

адресные регистры: в них заносятся адреса команд и данных в основной памяти

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

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

регистр команд: содержит последнюю выбранную из памяти команду

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

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

Все действия процессора можно условно разбить на:

процессор - память

процессор - устройства ввода-вывода

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

управление (выбор действий по условию, повторение команд...)

Пример:

каждая команда имеет вид:

биты 1-4: Код команды биты 5-16: Адрес данных в памяти

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

Представим, что на вход процессору дана задача из 3 команд:

1) 0001 0111 0001 0101 - команда 0001- загрузить значение из памяти (по адресу 0111 0001 01012 =71516) в регистр-аккумулятор

2) 0101 0111 0001 0110 - команда 0101- добавить к аккумулятору значение ячейки памяти(по адресу 71616)

3) 0010 0111 0001 0110 - команда 0101- сохранить содержимое аккумулятора в памяти(по адресу 71616)

Каждую из этих команд можно изобразить в виде 16-ого числа (1 715, 5 716, 2 716)

Сами команды находятся в оперативной памяти по адресам 100, 101, 102. В регистре программного счетчика будет находиться адрес первой команды т.е. адрес 100. Она будет выполнена так:

Исходное состояние ячеек оперативной памяти и регистров процессора:

Память Регистры процессора

N ячейки значение в ячейке   значение в регистре название регистра
100       прогр. счетчик
101       аккумулятор
102       регистр команды
...        
715        
716        
...        

1) 0001 0111 0001 0101 - загрузить значение из памяти (по адресу 71516) в регистр-аккумулятор. После выполнения этой команды в регистр «аккумулятор» скопируется число 0004 из ячейки памяти с адресом715

Память Регистры процессора

N ячейки значение в ячейке   значение в регистре название регистра
100       прогр. счетчик
101       аккумулятор
102       регистр команды
...        
715        
716        
...        

2) 0101 0111 0001 0110 - добавить к аккумулятору значение ячейки памяти(по адресу 71616)

Память Регистры процессора

N ячейки значение в ячейке   значение в регистре название регистра
100       прогр. счетчик
101       аккумулятор
102       регистр команды
...        
715        
716        
...        

3) 0010 0111 0001 0110 - сохранить содержимое аккумулятора в памяти(по адресу 71616)

Память Регистры процессора

N ячейки значение в ячейке   значение в регистре название регистра
100       прогр. счетчик
101       аккумулятор
102       регистр команды
...        
715        
716        
...        

Это простой пример работы процессора, при этом показана только работа с памятью.

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

Весь процесс исполнения можно изобразить схемой:

память <------> процессор <------> устройства ввода-вывода

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

Особенности работы на компьютерах без ОС:

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

4) Расписание: каждому пользователю отводилось свое время, которое он заказывал для выполнения его программы.

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

НЕДОСТАТКИ:

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

· длительная отладка программ: т.к. процесс подготовки занимал много времени, то отладка (исправление ошибок) очень долгая

· большая потеря времени программиста на запуск программ и их выполнение.





Дата публикования: 2014-11-29; Прочитано: 378 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...