Аппаратура, программное обеспечение и микропрограммы
Аппаратура. Расслоение памяти. Регистр перемещения. Прерывания и опрос состояний. Буферизация. Периферийные устройства. Защита памяти. Работа в режиме он-лайн и автономный режим (оф-лайн). Программное обеспечение. Микропрограммы. Микродиагностика.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 05.01.2008 |
Размер файла | 52,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
РАКУП
Регистр адреса команд управляющей памяти. Этот регистр указывает адрес следующей микрокоманды (в управляющей памяти), подлежащей выполнению.
РМК
Регистр микрокоманды. Этот регистр содержит текущую выполняемую микрокоманду.
Машина ITSIAC работает следующим образом. Прежде всего в управляющую память загружается микропрограмма. Команда машинного языка декодируется, и управление передается соответствующей подпрограмме микропрограммы для ее интерпретации. Каждая команда микропрограммы занимает одну ячейку управляющей памяти. Регистр адреса команды управляющей памяти РАКУП указывает на следующую выполняемую микрокоманду. Эта микрокоманда выбирается из управляющей памяти и помещается в регистр микрокоманд РМК.
Затем содержимое регистра РАКУП увеличивается на 1 (теперь он указывает на следующую выполняемую микрокоманду), и весь процесс повторяется. Микропрограмма принимает из регистра адреса команды основной памяти РАКОП адрес ячейки, где хранится следующая команда машинного языка, подлежащая интерпретации. После интерпретации очередной команды машинного языка микропрограмма меняет содержимое регистра РАКОП -- теперь он указывает на ячейку основной памяти, где хранится следующая выполняемая команда машинного языка.
Декодированные микрокоманды непосредственно соответствуют тем элементарным операциям, которые могут выполняться аппаратными средствами; они гораздо проще, чем команды машинного я зыка
Межрегистровые передачи (РЕГ -- это АКК, РАКОП или РР): |
|
РДП РЕГ РЕГ РДП РАП РДП |
|
Операции с основной памятью: |
|
READ (чтение ячейки основной памяти в РДП) WRITE (запись РДП в ячейку основной памяти) |
|
Операции управления последовательностью: |
|
РАКУП РАКУП+1 (обычный случай) РАКУП декодированный РДП РАКУП константа SKIP (перескок, т. е. прибавление 2 к РАКУП, если АКК = 0; в противном случае прибавляется 1) |
|
Операции с участием аккумулятора: |
|
АКК АКК + РЕГ АКК АКК - РЕГ АКК РЕГ РЕГ АКК АКК РЕГ + 1 |
Из перечисленных микроопераций составляются последовательности, которые реализуют команды машинного языка нашей простой машины. Микропрограмма, выполняющая команды машинного языка, показана на рис. 2.4. Выполнение микропрограммы начинается с ячейки 00, с подпрограммы, которая выбирает следующую выполняемую команду машинного языка.
Рассматриваемая машина с микропрограммным управлением работает следующим образом. Вначале регистр РАКУП устанавливается в нуль и тем самым указывает на микрокод подпрограммы, осуществляющей выборку команды машинного языка. Следующая команда машинного языка для выполнения выбирается из ячейки, адрес которой находится в РАКОП. Загрузка этой команды из основной
Выбор команды: |
|
(00) РАП РАКОП (01) READ (02) РАКУП декодированный РДП |
|
ADD: |
|
(10) АКК РАКОП 4- 1 (11) РАКОП АКК (12) РР РДП (13) РАП РР (14) READ (15) РР РДП (16) АКК АКК + РР (17) РАКУП 0 |
|
SUB: |
|
(20) АКК РАКОП + 1 (21) РАКОП АКК (22) РР РДП (23) РАП РР (24) READ (25) РР РДП (26) АКК АКК - РР (27) РАКУП 0 |
|
LOAD: |
|
(30) АКК РАКОП + 1 (31) РАКОП АКК (32) РР РДП (33) РАП РР (34) READ (35) РР РДП (36) АКК РР (37) РАКУП 0 |
|
STORE: |
|
(40) АКК РАКОП + 1 (41) РАКОП АКК (42) РР РДП (43) РАП РР (44) РДП АКК (45) WRITE (46) РАКУП 0 |
|
BRANCH: |
|
(50) РАКОП РДП (51) РАКУП 0 |
|
COND BRANCH: |
|
(60) SKIP (61) РАКУП 0 (62) РАКОП РДП (63) РАКУП 0 |
памяти в регистр РДП осуществляется по команде чтения READ. Команда
РАКУП ( декодированный РДП
устанавливает в РАКУП адрес соответствующей микрокодированной подпрограммы управляющей памяти для интерпретации данной команды машинного языка; при этом просто анализируется код операции и осуществляется как бы табличный поиск с использованием кода операции в качестве ключа поиска. Следующий микрокомандный цикл вызывает передачу управления на микрокод подпрограммы.
Если, например, интерпретируемая машинная команда имеет вид
ADD 50
то нужно содержимое ячейки 50 основной памяти сложить с содержимым аккумулятора. Рассмотрим микрокод, который выполняет эту операцию.
(10) АКК РАКОП + 1
(11) РАКОП АКК
(12) РР РДП
(13) РАП РР
(14) READ
(15) РР РДП
(16) АКК АКК + РР
(17) РАКУП 0
Микрокоманды (10) и (11) обеспечивают установку в РАКОП адреса следующей по порядку ячейки основной памяти. Микрокоманды (12) и (13) выделяют адрес основной памяти команды, находящейся в РДП, и передают его в РАП. (Две микрокоманды с использованием РР для этого необходимы опять-таки потому, что машина не позволяет производить непосредственную передачу содержимого РДП в РАП.) После выполнения микрокоманды (13) в РАП оказывается адрес ячейки 50. Команда чтения READ (14) вызывает загрузку содержимого ячейки, указанной в РАП, в регистр РДП. По команде (15) эти данные заносятся в РР, а по команде (16) -- суммируются с содержимым аккумулятора. Команда (17) устанавливает в РАКУП нулевой адрес подпрограммы выборки микрокоманд, так что следующий микрокомандный цикл начнет процесс выборки следующей команды машинного языка для выполнения.
Заключение
Аппаратура -- это устройства вычислительной машины. Программное обеспечение составляют команды, интерпретируемые аппаратурой, а микропрограммы включают микрокодированные команды, размещаемые в высокоскоростной управляющей памяти.
Расслоение памяти обеспечивает возможность одновременного доступа к последовательным ячейкам основной памяти, поскольку ячейки с соседними адресами размещаются к различных модулях памяти. Механизм прерываний играет важную роль для режимов работы, при которых много операций могут выполняться асинхронно, но в определенных случаях требуют синхронизации. Буферизация с несколькими буферами позволяет эффективно совмещать операции ввода-вывода с вычислениями.
Спулинг (ввод-вывод с буферизацией) позволяет отделить работающую программу от низкоскоростных устройств ввода-вывода, таких, как принтеры и устройства ввода данных с перфокарт. При спулинге ввод-вывод данных для программы осуществляется при посредстве высокоскоростного внешнего запоминающего устройства, например накопителя на магнитных дисках, а фактическое чтение или распечатка данных производится в то время, когда устройства ввода перфокарт и принтеры свободны. Для изоляции пользователей друг от друга в многоабонентских системах необходимо предусматривать защиту памяти; защиту можно реализовывать несколькими различными способами, в том числе при помощи граничных регистров или ключей защиты.
Применение стандартного интерфейса ввода-вывода существенно упрощает подключение к машине новых внешних устройств. Внешние устройства могут работать под непосредственным управлением центрального процессора в режиме он-лайн, или автономно (оф-лайн), под управлением отдельных контроллеров, независимых от процессора. Функционально законченные вычислительные машины, которые выполняют операции ввода данных с перфокарт на магнитную ленту, вывода данных с магнитной ленты на печать и т. д. для более крупных машин, называются процессорами ввода-вывода, или компьютерами-сателлитами.
Канал -- специализированная вычислительная машина для выполнения операций ввода-вывода без участия центрального процессора. Для координации взаимодействия между центральным процессором и каналом применяется, как правило, способ регулярного опроса или механизм прерываний. Наиболее известные типы каналов -- это селекторные, байт-мультиплексные и блок-мультиплексные каналы.
Система управления вводом-выводом (IOCS) -- это пакет программ, назначение которого заключается в том, чтобы освободить пользователя от необходимости детального управления вводом-выводом. Пакеты IOCS являются важной частью современных операционных систем.
Метод относительной адресации дает возможность работать с очень большим адресным пространством без необходимости увеличивать размер машинного слова; во время выполнения программы все адреса формируются путем прибавления смещения к содержимому базового регистра. Благодаря этому упрощается также перемещение программ по памяти.
Наличие в машине нескольких режимов работы обеспечивает защиту программ и данных. В режиме супервизора могут выполняться любые команды (включая привилегированные), а в режиме задачи -- только непривилегированные. Эти режимы определяют
границу между возможностями пользователя и возможностями операционной системы. В некоторых машинах предусматриваются более двух подобных режимов работы.
Системы виртуальной памяти в обычном случае дают возможность программам работать с гораздо более широким диапазоном адресов, чем адресное пространство имеющейся основной памяти. Это позволяет освободить программиста от ограничений, связанных с емкостью основной памяти.
Метод прямого доступа к памяти исключает необходимость прерывать работу центрального процессора при передаче каждого байта блока данных во время выполнения операций ввода-вывода -- в этом случае требуется только один сигнал прерывания, вырабатываемый при завершении передачи всего блока. Каждый символ записывается в основную память и читается из нее с захватом цикла памяти -- здесь каналу предоставляется приоритет, поскольку центральный процессор может и подождать.
В архитектурах компьютеров высокого быстродействия применяются конвейеры, которые позволяют совмещать работу нескольких команд, в каждый конкретный момент времени находящихся на различных стадиях выполнения.
В современных вычислительных машинах реализуется иерархическая структура памяти, включающая кэш-память, основную (первичную, оперативную) память и внешнюю (вторичную, массовую) память; при переходе с уровня на уровень иерархии в указанном порядке емкости памяти увеличиваются, а стоимость в расчете на байт уменьшается.
Программное обеспечение -- это программы, состоящие из команд, которые интерпретируются аппаратными средствами; команды определяют алгоритмы, обеспечивающие решение задач. Программы для компьютера можно писать на машинном языке, языке ассемблера или языках высокого уровня. Программисты редко работают непосредственно на машинных языках -- программы в машинных кодах генерируются при помощи ассемблеров и компиляторов. Макропроцессоры дают возможность программистам, работающим на языке ассемблера, писать макрокоманды, которые порождают много команд на языке ассемблера. Компиляторы обеспечивают трансляцию программ, написанных на языках высокого уровня, на машинный язык. Интерпретаторы непосредственно выполняют исходные программы, не генерируя при этом объектные модули.
Процедурно-ориентированные языки являются универсальными, а проблемно-ориентированные языки специализируются для эффективного решения задач определенных классов. Компиляторы без оптимизации работают быстро, однако генерируют- относительно неэффективные коды; оптимизирующие компиляторы позволяют получать эффективные коды, но работают гораздо медленнее, чем без оптимизации.
Абсолютные загрузчики осуществляют загрузку программ в конкретные ячейки, адреса которых указываются при компиляции; перемещающие загрузчики могут размещать программы в различных свободных участках памяти. Привязка программы к памяти по абсолютным адресам осуществляется во время трансляции, а привязка перемещаемых программ -- во время загрузки или даже во время выполнения.
Связывающие загрузчики объединяют отдельные блоки программы, создавая единый модуль, готовый к выполнению; этот выполняемый модуль размещается в основной памяти. Редакторы связей также осуществляют объединение программ, однако сформированный ими готовый к выполнению модуль записывается во внешнюю память для последующего использования.
Микропрограммирование -- это написание программ, которые управляют элементарными операциями аппаратуры; микропрограммирование играет исключительно важную роль в современных архитектурах компьютеров и операционных системах. Динамическое микропрограммирование предусматривает возможность простой загрузки новых микропрограмм в управляющую память для непосредственного выполнения.
Команды вертикального микрокода очень похожи на команды машинного языка; типичная вертикальная микрокоманда указывает, что необходимо выполнить определенную операцию с определенными данными. Горизонтальный микрокод содержит команды с более широкими возможностями -- они позволяют задавать одновременное выполнение многих операций над многими элементами данных.
Микропрограммирование зачастую применяется при эмуляции, позволяя сделать один компьютер функциональным эквивалентом другого компьютера. Эмуляция особенно необходима и полезна в тех случаях, когда пользователям приходится переводить свои программы с машины на машину.
Микропрограммирование позволяет реализовать микродиагностику, т. е. контроль ошибок с гораздо большей степенью детализации, чем это возможно для команд машинного языка.
Благодаря микропрограммированию можно специализировать компьютер применительно к требованиям конкретных пользователей. Поставщики компьютеров обычно предлагают факультативные средства микропрограммной поддержки, позволяющие повысить скоростные характеристики; реализация часто выполняемых последовательностей команд при помощи микрокода сокращает время их выполнения. Многие функции операционных систем в современных вычислительных машинах реализуются не обычными программами, а микропрограммами, и благодаря этому, как правило, обеспечивается более высокая скорость выполнения и более надежная защита.
Терминология
абсолютный загрузчик (absolute loader)
автономный режим (оф-лайн) (off-line)
адресное пространство (диапазон адресов) (address space)
аппаратура, аппаратные средства (hardware)
ассемблер (assembler)
базовый регистр, регистр базы (base register)
байт-мультиплексный канал (byte-multiplex or channel)
библиотека подпрограмм (subroutine library)
блок-мультиплексный канал (block-multiplexor channel)
быстрый компилятор без оптимизации (quick-and-dirty compiler)
буфер (buffer)
буферизация с переключением («триггерная» буферизация) (flip-flop buffering)
вертикальный микрокод (vertical microcode)
виртуальная память (virtual storage)
внешняя (вторичная, массовая)
память (secondary storage)
время загрузки (load time)
входной, фронтальный процессор (front end processor)
выходная, целевая программа (target program)
горизонтальный микрокод (horizontal microcode)
готовая, заранее ассемблированная IOCS (preassembled IOCS)
граничные регистры (bounds registers)
двойная буферизация (double buffering)
двухадресные команды (two-address instructions)
загрузочный модуль, модуль загрузки (load module)
загрузчик (loader)
захват цикла (памяти) (cycle stealing)
защита памяти (storage protection)
иерархия памяти (storage hierarchy)
интервальный таймер (interval timer)
интерпретатор (interpreter)
интерфейс ввода-вывода (I/O interface)
исходная программа (source program)
канал (channel)
канал прямого доступа к памяти (DMA channel)
ключи защиты памяти (storage protect keys)
компиляторы (compilers)
конвейеризация (pipelining)
контроллер устройств ввода-вывода (I/O device controller)
координированный (упорядоченный) доступ (sequentialization of access)
кэш-память (cache storage)
макрокоманда (macro instruction)
макропроцессор (macro processor)
макрорасширение (macro expansion)
машинно-зависимый (machine-dependent)
машинно-независимый (machine-independent)
машинный язык (machine language)
микродиагностика (microdiagnostics)
микрокод (microcode)
микрокоманда (microinstruction)
микропрограмма (microprogram)
микропрограммирование (microprogramming)
микропрограммная поддержка (microcode assists)
микропрограммное обеспечение (firmware)
мультиплексные каналы (multiplexor channels)
мультипроцессорная обработка (multiprocessing)
объединение программ (program combination)
объектная программа (object program)
одноадресные команды (single-address instructions)
опрос (регулярный, упорядоченный) (polling)
оптимизирующий компилятор (optimizing compiler)
основная (первичная, оперативная) память (primary storage)
относительная адресация, адресация «база + смещение» (base-plus-displacement addressing)
перемещаемая (позиционно-независимая) программа (location-independent program)
перемещающий загрузчик (relocating loader)
плотность записи (recording density)
подканал (subchannel)
последовательное внешнее запоминающее устройство (sequential device)
прерывание по завершению (операции) ввода-вывода (I/O completion interrupt)
прерывания (interrupts)
привилегированные команды (privileged instructions)
привязка (программы к памяти) (binding)
принцип минимума привилегий (при предоставлении доступа к ресурсам и информации) (principle of least privilege)
проблемно-ориентированный (problem-oriented)
программное обеспечение (software)
простая (одиночная) буферизация (single buffering)
процедурно-ориентированный (procedure-oriented)
процессор ввода-вывода (stand-alone processor)
процессор-сателлит (satellite processor)
прямой доступ к памяти (ПДП) (Direct Memory Access, DMA)
расслоение памяти (интерливинг) (storage interleaving)
регистр перемещения (relocation register)
редактор связей (linkage editor)
режим задачи (пользователя) (problem state)
режим выполнения программ (execution states)
режим супервизора (supervisor state)
режим он-лайн (on-line)
связывающий загрузчик (linking loader)
сегментация (segmentation)
селекторный канал (selector channel)
спулинг (ввод-вывод с буферизацией) (spooling)
стандартный интерфейс ввода-вывода (standard I/O interface)
степень (глубина) детализации защиты (granularity of protection)
страничная организация памяти (paging)
система управления вводом-выводом (input-output control system IOCS)
транслятор (translator)
трехадресные команды (three-address instruction)
управляющая память (control storage)
устройство прямого (непосредственного) доступа (direct access device)
часы истинного (реального, календарного) времени (time-of-day clock)
эмулятор (emulator)
эмуляция (emulation)
язык ассемблера, язык ассемблерного типа (assembly language)
DMA
IOCS
Упражнения
2.1 Укажите различия между аппаратурой, программным обеспечением и микропрограммами.
2.2 Объясните, в чем заключается концепция расслоения памяти.
2.3 Что такое двойная буферизация? Подробно опишите, каким образом могла бы работать схема тройной буферизации. При каких условиях могла бы быть целесообразной тройная буферизация?
2.4 Что такое спулинг? Как должна работать система входного спулинга, предназначенная для чтения перфокарт с устройства ввода?
2.5 Объясните, что такое «прямой доступ к памяти» и «захват цикла».
2.6 Опишите несколько способов реализации защиты памяти.
2.7 Опишите два различных способа организации взаимодействия между центральным процессором и каналом.
2.8 Приведите несколько причин, обусловивших появление концепции относительной адресации.
2.9 Сопоставьте принцип минимума привилегий с такими концепциями, как режим задачи, режим супервизора и привилегированные команды.
2.10 Укажите различия между селекторными, байт-мультиплексными и блок-мультиплексными каналами.
2.11 Укажите различия между машинным языком, языком ассемблера и языками высокого уровня.
2.12 Что такое макропроцессор?
2.13 Укажите различия между проблемно-ориентированными и процедурно-ориентированными языками.
2.14 При каких обстоятельствах целесообразно использовать быстрый компилятор без оптимизации? Когда следует применять оптимизирующий компилятор?
2.15 Чем интерпретаторы отличаются от ассемблеров и компиляторов? Когда более целесообразно использовать интерпретатор, чем компилятор?
2.16 Укажите сходства и различия абсолютных загрузчиков и перемещающих загрузчиков.
2.17 Что такое «привязка программы к памяти»? Почему и у пользователя и у системы появляются более гибкие возможности, если привязку программ к памяти выполнять как можно позднее?
2.18 Чем редакторы связей отличаются от связывающих загрузчиков?
2.19 Что такое микропрограммирование? Почему термин «микропрограммное обеспечение» уместен для обозначения микрокода, резидентно размещающегося в управляющей памяти?
2.20 Укажите различия между горизонтальным и вертикальным микрокодом.
2.21 Какие факторы могут повлиять на решение разработчика выбрать те или иные функции для реализации при помощи микрокода?
2.22 Что такое эмуляция? Почему микропрограммирование играет особенно важную роль при построении эмуляторов?
2.23 Объясните, каким образом может быть использовано микропрограммирование для специализации компьютера. Почему это может обеспечить высокую эффективность?
2.24 Объясните, почему понимание особенностей микропрограммирования имеет столь большое значение для разработчиков операционных систем.
Упражнения для примера микропрограммирования (п. 2.4.8)
2.25 Напишите для компьютера ITSIAC программу на машинном языке, которая будет суммировать числа, хранящиеся в ячейках с 50 по 99, и помещать результат в ячейку 100. Проследите выполнение этой программы в режиме интерпретации при помощи микропрограммы компьютера ITSIAC, приведенной в тексте.
2.26 Напишите на языке высокого уровня программу для моделирования работы компьютера ITSIAC. Для моделирования основной памяти используйте матрицу из 256 элементов. Каждое слово памяти имеет длину 16 бит. Различные регистры, в том числе АКК, РАКОП, РАП, РДП, РР, РАКУП и РМК, представьте при помощи переменных. Для реализации каждой микрооперации используйте операторы языка высокого уровня. Например, сложение содержимого рабочего регистра РР и аккумулятора АКК можно осуществить при помощи оператора на языке Паскаль
АКК := АКК + РР
Введите дополнительную команду останова HALT, обеспечивающую распечатку содержимого всех регистров и всех ячеек памяти компьютера ITSIAC, а затем завершающего сообщения «EOJ» (конец задания). На своей модели компьютера ITSIAC выполните программу, которую вы написали в упр. 2.25.
Литература
(Ва80) |
Baer J. b., Computer Systems Architecture, Rockville, Md.i Computer Science Press, 1980. |
|
(Be81) |
Belady L. A., Parmelee R. P., Scalzi C. A., "The IBM History of Memory Management Technology", IBM J. Res. Develop., Vol. 25, No 5, September 1981, pp. 491--503. |
|
(Br77) |
Brown G. E., et al., "Operating System Enhancement through Firmware". SIGMICRO Newsletter, Vol. 8, September 1977, pp. 119--133. |
|
(Bs81) |
Bashe C. J., Buchholtz W., Hawkins G. V., Ingram J. J., Rochester N., "The Architecture of IBM's Early Computers", IBM J. Res. Develop., Vol. 25, No. 5, September 1981, pp. 363--375. |
|
(Bu81) |
Bucci G., Neri G., Baldassarri F., "MP80: A Microprogrammed CPU with a Microcoded Operating System Kernel", Computer, October 1981, pp. 81--90. |
|
(Ca80) |
Campbell- Kelley M., "Programming the EDSAC". Annals of the History of Computing, Vol. 2, 1980, pp. 7--36. |
|
(Da78) |
Davidson S., Shriver B. D., "An Overview of Firmware Engineering", Computer, May 1978, pp. 21--31. |
|
(1182) |
Iliffe J. K-, Advanced Computer Design, Englewood Cliffs, N. J.s Prentice-Hall, 1982. |
|
(Ka73) |
Kaplan K. R-, Winder R. O., "Cache-Based Computer Systems", Computer. Vol. 6, No. 3, 1973, pp. 30--36. |
|
(Ko77) |
Kogge P. M., "The Microprogramming of Pipelined Processors", Proa, Fourth Annual Symposium on Computer Architecture, March 1977, pp. 63-69. |
|
(Le80) |
Levy H. M., Eckhouse R. H., Jr., Computer Programming and Architecture: The VAX-ll, Bedford, Mass.: Digital Press, Digital Equipment Corporation, 1980. |
|
(Lo80) |
Love H. H., Jr. "The Highly Parallel Supercomputers: Definitions, Applications, and Predictions", Proc. NCC, 1980, pp. 181--190. |
|
(Ma75) |
Mallach E. G., "Emulator Architecture", Computer, Vol. 8, August 1975, pp. 24--32. |
|
(Pa81) |
Padegs A, "System/360 and Beyond", IBM J. Res. Develop., Vol. 25, No. 5, September 1981, pp. 377--390. |
|
(Ph80) |
Phelps В. Е., "Early Electronic Computer Developments at IBM", Annals of the History of Computing, Vol. 2, 1980, pp. 253--267. |
|
(Po81) |
Pohm A. V., Smay T. A., "Computer Memory Systems", Computer, October 1981, pp. 93--110. |
|
(Ra76) |
Rauscher T. G., Agrawala A. K., "Developing Application-Oriented Computer Architectures on General-Purpose Microprogrammable Machines", Proc. of 1976 NCC, Montvale, N. J.: AFIPS Press, pp. 715--722. |
|
(Ra78) |
Rauscher T. G., Agrawala A. K., "Dynamic Problem-Oriented Redefinition of Computer Architecture via Microprogramming", IEEE Trans, on Computers, Vol. C-27, November 1978, pp. 1006--1014. |
|
(Ra80) |
Rauscher T. G., Adams P. N., "Microprogramming: A Tutorial and Survey of Recent Developments", IEEE Trans, on Computers, Vol. C-29, No. 1, January 1980, pp. 2--20. |
|
(So75) |
Sockut G. H., "Firmware/Hardware Support for Operating Systems; Principles and Selected History", SIGMICRO Newsletter, Vol. 6, December 1975, pp. 17--26. |
|
(St81) |
Stankovic J. A., "The Types and Interactions of Vertical Migrations of Functions m a Multilevel Interpretive System", IEEE Trans, on Com.' puters, Vol. C-30, No. 7, July 1981, pp. 505--513. |
|
(Tu65) |
Tucker S. G., "Emulation of Large Systems", С ACM, Vol. 8, 1965, pp. 753--761. |
|
(Wi51) |
Wilkes M. V., The Best Way to Design on Automatic Calculating Machine, Report of the Manchester University Computer Inaugural Conference, Electrical Engineering Department of Manchester University, Manchester, England, July, 1951, pp. 16 -- 18. Reprinted in Earl E. Swartzlander, 'Jr. (ed.), Computer Design Development -- Principal Papers, Rochelle Park, N.J.: Hayden Book Co., 1976, pp. 266--270. |
|
(Wi69) |
Wilkes M. V., "The Growth of Interest in Microprogramming: A Literature Survey", Comput. Surveys, Vol. 1, No. 3, September 1969, pp. 139-- 145. |
Подобные документы
Технология проектирования печатной платы. Изучение современных микроконтроллеров и схетотехники полупроводниковых устройств. Анализ принципов работы автомобильных сигнализаций. Разработка алгоритма микропрограммы и программное обеспечение для контроллера.
дипломная работа [6,8 M], добавлен 22.01.2013Проектирование микропроцессорного устройства для записи и чтения данных из памяти flash-типа и осуществления взаимодействия с персональным компьютером посредством универсальной последовательной шины (USB). Программное обеспечение для устройства.
курсовая работа [868,3 K], добавлен 23.12.2012История появления "флешек". Устройство и технические характеристики USB-флеш-памяти, принцип ее действия, дополнительные опции и программное обеспечение, типы разъемов. Карты памяти, их виды и форматы. Способы организации записи информации в ячейку.
реферат [439,2 K], добавлен 21.12.2010Сущность понятия "программное обеспечение". Типы прикладных программ. Современные системы программирования для персональных компьютеров. Уровни программного обеспечения: базовый, системный, служебный. Классификация служебных программных средств.
реферат [20,2 K], добавлен 01.04.2010Системное, инструментальное и прикладное программное обеспечение. Современные настольные издательские системы. Программные средства мультимедиа. Системы искусственного интеллекта. Прикладное программное обеспечение автоматизированного проектирования.
реферат [59,4 K], добавлен 18.12.2013Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.
шпаргалка [551,9 K], добавлен 16.08.2010Подключение периферийных устройств к ЭВМ. Синхронизация выполнения программы с внешними процессами. Прерывания. Реализация механизма прерывания в х86. Прямой доступ к памяти. Шины, магистраль PCI. Процесс загрузки компьютера. Клавиатура, системный таймер.
презентация [7,1 M], добавлен 14.12.2013Компьютерная техника в образовании. Устройства в составе персонального компьютера (ПК). Исходная конфигурация, стратегии модернизации. Установка дополнительно модуля памяти, программного обеспечения, куллеров. Расчет потребляемой мощности, тепловой режим.
курсовая работа [374,9 K], добавлен 23.04.2012Прикладное программное обеспечение, его использование при проведении сложных математических вычислений. Менеджер загрузок. Офисные средства обработки информации. Система автоматизации проектных работ. Основы использования функций Excel, их аргументы.
контрольная работа [227,6 K], добавлен 01.03.2009Принципы сегментации памяти. Классификация регистров по назначению и способу использования. "Перевернутое" представление данных в центральном процессоре. Адресация ввода/вывода информации. Программное, внутреннее и аппаратное прерывание выполнения команд.
презентация [107,4 K], добавлен 27.08.2013