Принципы работы ЭВМ Двоичное хранение информации Компилятор Лекция 2
МикроЭВМ Микро- процессор (МП) Запоминающие устройства Устройства ввода/вывода Сочетание УУ, АЛУ и связанных с ними регистров, выполняющих роль памяти МП Основная память, внешняя память, регистры Периферийные устройства
МППамятьУВУВыв Адресная шина Шина данных Шина управления Общая схема взаимодействия устройств Адресная шина - для передачи адреса ячейки или порта к памяти или УВВ Шина данных - для передачи данных или команд Шина управления - для передачи синхронизирующих сигналов и информации о состоянии устройств
Общая схема обработки информации Устройство управления УУ (CU) Память ОЗУ + ПЗУ (RAM + ROM) Устройство вывода УВыв (OU) Арифметико- логическое устройство АЛУ (ALU) Устройство ввода УВ (IU) Исходные данные и команды - Окончательный результат Команды - Данные Промежут. и оконч. результат - Информация для УУ - Сигналы управления и адресации
Единица измерения информации Бит может принимать два численных значения: 0 или 1. Обычно бит сравнивают с лампочкой, которая может быть включена (состояние 1) или выключена (состояние 0). Если взять 8 лампочек и поставить их рядом, объединив в группу, получим наглядное представление о более крупной единице измерения количества информации - байте (byte). БИТ БАЙТ 8-ми разрядное машинное слово 8-и разрядное слово (слово) 16-ти разрядное слово (двойное слово) 32-х разрядное слово (четверное слово) 64-х разрядное слово (восьмерное слово)
Виды памяти Основная память Регистры Внешняя память Память данных Память команд ОЗУПЗУ Только для чтения Память ЭВМ Кэш-память
КЭШ-память МП КЭШ Оперативная память Обращение к новым инф. в памяти Кэширование данных Запрос данных Данные (« кэш- попадание») Данные («кэш-промах»)
Примеры внешней памяти НГМДНЖМД Лазерные накопители Жесткий диск (винчестер) CD-R CD-RW Около 700 Мбайт Дискета 1,44 Мбайт DVD-R DVD-RW Около 4 Гбайт Флэш- накопители Флэш-карты 128 Мбайт – 2Гбайта
Компилятор и интерпретатор.bas Исполнение Интерпретатор.с.с Исполнение Компилятор.exe
Текстовый Редактор Editor Компилятор Compiler Компоновщик Linker Исходный файл *.с, *.pas Объектный файл *.obj Исполняемый файл *.exe Ввод программыКомпиляцияКомпоновка Исполнение Библиотеки Этапы получения исполняемой программы Другие объектные файлы *.obj Препроцессор #... {$...}
Состав типовой среды разработки (Integrated Development Environment, IDE) Текстовый Редактор Editor Компилятор Compiler Компоновщик Linker Ассемблер Отладчик Debugger Препроцессор Библиотеки Средства аппаратной отладки Средства разработки и генерации кода Профайлер Profiler Средства отладки и оптимизациик ода
Способы разработки программного обеспечения WYSIWYG (What You See Is What You Get) –MS Access, Clarion, Matlab,... Языки программирования высокого уровня (High Level Language, HLL) - Borland Delphi, Borland Builder, Microsoft Visual Studio, Borland C++,... Языки программирования низкого уровня (Machine-Oriented Language, MOL) - TASM, MASM,...
Выбор языка программирования(1) Ассемблер – язык программирования, который ближе всего соответствует системе команд микропроцессора ДостоинстваНедостатки Высокая скорость выполненияВысокая трудоемкость написания программы Малый размер кода«Трудночитаемость» программ Вычисление выражения X=Y+Z: MOV AX, Y MOV BX, Z ADD AX,BX MOV X, AX
Выбор языка программирования(2) Бейсик – хорош для написания небольших программ, так как программы на нем интерпретируются построчно. ДостоинстваНедостатки Простота обученияНизкая скорость исполнения под управлением интерпретатора Невозможность выполнения программы без интерпретатора Вычисление выражения X=Y+Z: X=Y+Z
Выбор языка программирования(3) Паскаль, С, С++ – типизированные языки Вычисление выражения X=Y+Z: X := Y+Z; X = Y+Z; ДостоинстваНедостатки Возможность выполнения кода без средств разработки Зависимость быстродействия программы как от программиста- разработчика, так и от эффективности компилятора Структурированность и «понятность» программы Широкое распространение, использование при разработке практических приложений
Основные подкаталоги компилятора.
Первоначальное окно компилятора BorlandC++ 3.1
Шаги создания программы (1) 1. Настройка компилятора. В пункте Options\ Directories… нужно указать правильные пути к папкам компилятора
Настройка компилятора.
Шаги создания программы (2) 2. Создание файла вашей программы (файла с кодом). File\ New создается файл Noname.cpp
Структура простейшей программы Подключение библиотеки ввода/вывода Главная функция программы Начало функции … Конец функции #include int main() { … return 0; }
3. Набор программы в текстовом редакторе. Шаги создания программы (3)
Шаги создания программы (4) 4. Сохранение файла File\ Save as… позволяет сохранить ваш файл под любым именем по текущему пути
Сохранение файла.
Шаги создания программы (5) 5. Определение пути сохранения файла File\ Change dir… отображает путь, по которому сохраняются все ваши файлы, этот путь можно изменить
6. Компиляция программы Compile\ Compile Alt+F9 Шаги создания программы (6)
7. Запуск программы на выполнение Run\ Run Ctrl+F9 Шаги создания программы (7)
8. Проверка на тестовых данных После окончания ввода тестовых данных программа начинает выполняться и выводит, например, на экран результат Window\ User Screen Alt+F5 показывает окно пользователя 9. Тестирование на пользовательских данных. Шаги создания программы (8)
10. Отладка. Пошаговый просмотр программы Run\ Trace into F7 пошаговое выполнение программы, компилятор «заходит» в подпрограммы Run\ Step over F8 аналогично, но в подпрограммы не «заходит» Шаги создания программы (9)
11. Отладка. Просмотр переменных Debug\ Watches\ Add Watch… Ctrl+F7 позволяет добавлять в окно просмотра Watches переменные, изменение значений которых нужно проанализировать. Шаги создания программы (10)
12. Отладка. Точки останова Debug\ Toggle Breakpoint… позволяет определить ту точку останова в вашей программе, дойдя до которой компилятор остановится, что позволяет выборочно анализировать куски кода (некоторые пропускать) Шаги создания программы (11)
Отладка. Точки останова
Вопросы по теме #include int main { printf(сейчас 2006 год ); } #include { printf( наша программа\n); }
Список литературы Системное программное обеспечение: Учебник для вузов / А.Ю.Молчанов. – СПб.: Питер, Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ. / Трой Д. – М.: Радио и связь,