тема устройство или комплекс устройств предназначенная для механизации или автоматизации процесса алгори
Работа добавлена на сайт samzan.net: 2016-03-13
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
- Вычислительная машина (ВМ) физическая система (устройство или комплекс устройств), предназначенная для механизации или автоматизации процесса алгоритмической обработки информации или вычислений.
Типизация по назначению
- Калькулятор
- Консольный
компьютер
- Миникомпьютер
- Мейнфрейм
- Рабочая станция
- Сервер
- Суперкомпьютер
- Персональный компьютер
- Настольный компьютер
- Ноутбук (Лэптоп)
- Нетбук
- Игровая приставка (Игровая консоль)
- Карманный компьютер (КПК)
- Смартфон
- Надеваемый компьютер (носимый компьютер)
- Планшетный персональный компьютер («Чистый планшетник», планшетный ноутбук, UMPC)
Интегральные схемы
- Кремниевая пластина
- тонкая круглая пластина особо чистого монокристалла кремния, обычно диаметром 200 или 300 мм, из которой изготавливаются микросхемы
- На пластине в ходе технологического процесса обработки формируется матрица ячеек, содержащих одинаковые электронные схемы
- Пластина разрезается по границам ячеек на кристаллы (die), или чипы (chip)
- Под микроскопом к ним припаиваются выводы и каждый кристалл помещается в защитный корпус
Классификация
- Данные, с которыми оперируют вычислительные машины, могут быть представлены в непрерывном, дискретном или комбинированном виде
- Аналоговые вычислительные машинах (АВМ)
- представление информации реализуется путём замены математических величин некоторыми физическими величинами (угол поворота вала, сила тока и тому подобное)
- Цифровая вычислительная машина (ЦВМ)
- устройство переработки информации, представленной в цифровых кодах
- Гибридная вычислительная машина (ГВМ)
- сочетается ряд особенностей цифровых и аналоговых вычислительных машин
Цифровое представление
- Дискретный сигнал
- информационный сигнал, который представляется в виде отдельных отсчетов взятых по времени
-
- Цифровой сигнал
дискретный сигнал, квантованный по амплитуде
- Теорема Котельникова (теорема Найквиста Шеннона)
- если аналоговый сигнал x(t) имеет ограниченный спектр, то он может быть восстановлен однозначно и без потерь по своим дискретным отсчётам, взятым с частотой более удвоенной максимальной частоты спектра fmax
f дискр> 2fmax
Преобразование Фурье
- Описывает коэффициенты («амплитуды») при разложении исходной функции на элементарные составляющие гармонические колебания с разными частотами.
Многоуровневая компьютерная
организация
- Существует принципиальная разница между тем, что удобно для людей, и тем, что «удобно» для машин
- Человек хочет сделать одно, но машина может сделать только другое
- Машинные команды
- обычно их стараются сделать как можно проще, чтобы избежать сложностей при конструировании компьютера и снизить затраты на необходимую электронику
- так как большинство машинных языков очень примитивны, использовать их трудно и утомительно
- Проблему можно решить двумя способами
- разработка новых команд, которые более удобны для человека, чем встроенные машинные команды
Языки, уровни и виртуальные машины
- Встроенные машинные команды формируют язык Я0
- Новые команды в совокупности формируют язык Я1
- Первый способ - трансляция
- замена каждой команды Я1 на эквивалентный набор команд в языке Я0
- компьютер выполняет новую программу, написанную на языке Я0, вместо старой программы, написанной на Я1
Виды трансляторов
- Адресный
- Функциональное устройство, преобразующее виртуальный адрес в реальный (физический) адрес.
- Диалоговый
- Обеспечивает использование языка программирования в режиме разделения времени.
- Многопроходной
- Формирует объектный модуль за несколько просмотров исходной программы.
- Обратный
- Детранслятор (декомпилятор, дизассемблер).
- Оптимизирующий
- Выполняет оптимизацию кода в создаваемом объектном модуле.
- Синтаксически-ориентированный (синтаксически-управляемый)
- Получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.
- Тестовый
- Набор макрокоманд языка ассемблера, позволяющих задавать различные отладочные процедуры в программах, составленных на языке ассемблера.
Трансляция
- Компилятор
- транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором
- Примеры
- С, С++
Языки, уровни и виртуальные машины
- Второй способ - интерпретация
- написание программы на языке Я0, которая берет программы, написанные на языке Я 1, в качестве входных данных, рассматривает каждую команду по очереди и сразу выполняет эквивалентный набор команд языка Я0
- не требует составления новой программы на Я0
- Примеры
- APL, LISP (чистая интерпретация), Python, Java, Perl
Трансляция vs интерпретация
- В обоих методах компьютер в конечном итоге выполняет набор команд на языке Я0, эквивалентных командам Я1
- Различия
- Трансляция: вся программа Я1 переделывается в программу Я0
- Интерпретация: происходит последовательная перекодировка и выполнение команд
- Взаимопроникновение
- интерпретаторы могут быть компилирующими
- в трансляторах может требоваться интерпретация для конструкций метапрограммирования
- смешанная реализация
- интерпретатор перед исполнением программы транслирует её на промежуточный язык (например, в байт-код), более удобный для интерпретации
- Примеры
- Java (перед интерпретацией, компиляция в байт-код)
- в процессорах Pentium с архитектурой NetBurst машинный код перед транслируется в последовательность микроопераций (кэш-трасс)
Виртуальные машины
- Обычно проще представить себе существование виртуальной машины, для которой машинным языком является язык Я1 (назовем М1)
- Чтобы трансляцию или интерпретацию можно было осуществить без больших трудностей, языки Я0 и Я1 не должны сильно различаться
- Язык Я1 может быть все еще неудобным для человека решение создавать языки более высокого уровня
Многоуровневая система
Современные многоуровневые машины
Уровень 0
- Аппаратное обеспечение машины
- Объекты наз. вентилями, которые состоят из транзисторов
- Несколько вентилей формируют 1 бит памяти
- Биты памяти, объединенные в группы, например, по 16, 32 или 64, формируют регистры
- Каждый регистр может содержать одно двоичное число до определенного предела
Уровень 1
- Микроархитектурный уровень
- Регистры, которые формируют локальную память
- АЛУ (арифметико-логическое устройство): выполняет простые арифметические операции.
- Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные
- Основная операция тракта данных состоит в следующем
- Выбирается один или два регистра
- АЛУ производит над ними какую-либо операцию
- результат помещается в один из этих регистров
- На некоторых машинах работа тракта данных контролируется микропрограммой
- На других машинах тракт данных контролируется аппаратными средствами
Уровень 2
- Уровнь архитектуры системы команд
- Включает набор машинных команд, т.е. команды, которые выполняются микропрограммой-интерпретатором или аппаратным обеспечением
Уровень 3
- Уровень операционных систем
- ОС выполняет две мало связанные функции:
- обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины
- повышение эффективности использования компьютера путем рационального управления его ресурсами
- Особенности:
- набор новых команд,
- другая организация памяти,
- способность выполнять две и более программ одновременно и некоторые другие
Уровень 4 и 5
- Уровни 1-3
- обычно интерпретируются
- цифровые языки программы состоят из длинных рядов цифр, которые удобны для компьютеров, но совершенно неудобны для людей
- Уровни 4 и 5
- обычно, хотя и не всегда, поддерживаются транслятором
- языки содержат слова и сокращения, понятные человеку
- Уровень 4 представляет собой символическую форму одного из языков более низкого уровня
- Программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически существующей машиной
- Программа, которая выполняет трансляцию, называется ассемблером
- Уровень 5 обычно состоит из языков, разработанных для прикладных программистов.
- Такие языки называются языками высокого уровня.
- Наиболее известные среди них
- BASIC, С, C++, Java, LISP, Prolog, ...
- Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4.
- Трансляторы, которые обрабатывают эти программы, называются компиляторами.
- Иногда также используется метод интерпретации
- Например, программы на языке Java обычно интерпретируются