Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.
Состав работы
|
|
|
|
|
|
|
|
|
|
Описание
Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная
память, регистр флагов, декодирование операций.
Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы
работы разрядных операций в языке Си: как можно изменить значение указанного разряда
целой переменной или получить его значение. Вспомните, как сохранять информацию в файл
и считывать еѐ оттуда в бинарном виде.
2. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром
флагов и кодированию/декодированию команд:
int sc_memoryInit () – инициализирует оперативную память Simple Computer, за-
давая всем еѐ ячейкам нулевые значения. В качестве «оперативной памяти» использу-
ется массив целых чисел, определенный статически в рамках библиотеки. Размер мас-
сива равен 100 элементам.
b. int sc_memorySet (int address, int value) – задает значение указанной
ячейки памяти как value. Если адрес выходит за допустимые границы, то устанавлива-
ется флаг «выход за границы памяти» и работа функции прекращается с ошибкой;
c. int sc_memoryGet (int address, int * value) – возвращает значение указан-
ной ячейки памяти в value. Если адрес выходит за допустимые границы, то устанавли-
вается флаг «выход за границы памяти» и работа функции прекращается с ошибкой.
Значение value в этом случае не изменяется.
d. int sc_memorySave (char * filename) – сохраняет содержимое памяти в файл в
бинарном виде (используя функцию write или fwrite);
int sc_memoryLoad (char * filename) – загружает из указанного файла содер-
жимое оперативной памяти (используя функцию read или fread);
f. int sc_regInit (void) – инициализирует регистр флагов нулевым значением;
g. int sc_regSet (int register, int value) – устанавливает значение указанно-
го регистра флагов. Для номеров регистров флагов должны использоваться маски, за-
даваемые макросами (#define). Если указан недопустимый номер регистра или некор-
ректное значение, то функция завершается с ошибкой.
h. int sc_regGet (int register, int * value) – возвращает значение указанного
флага. Если указан недопустимый номер регистра, то функция завершается с ошибкой.
i. int sc_commandEncode (int command, int operand, int * value) – кодиру-
ет команду с указанным номером и операндом и помещает результат в value. Если ука-
заны неправильные значения для команды или операнда, то функция завершается с
ошибкой. В этом случае значение value не изменяется.
j. int sc_commandDecode (int value, int * command, int * operand) – деко-
дирует значение как команду Simple Computer. Если декодирование невозможно, то
устанавливается флаг «ошибочная команда» и функция завершается с ошибкой.
память, регистр флагов, декодирование операций.
Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы
работы разрядных операций в языке Си: как можно изменить значение указанного разряда
целой переменной или получить его значение. Вспомните, как сохранять информацию в файл
и считывать еѐ оттуда в бинарном виде.
2. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром
флагов и кодированию/декодированию команд:
int sc_memoryInit () – инициализирует оперативную память Simple Computer, за-
давая всем еѐ ячейкам нулевые значения. В качестве «оперативной памяти» использу-
ется массив целых чисел, определенный статически в рамках библиотеки. Размер мас-
сива равен 100 элементам.
b. int sc_memorySet (int address, int value) – задает значение указанной
ячейки памяти как value. Если адрес выходит за допустимые границы, то устанавлива-
ется флаг «выход за границы памяти» и работа функции прекращается с ошибкой;
c. int sc_memoryGet (int address, int * value) – возвращает значение указан-
ной ячейки памяти в value. Если адрес выходит за допустимые границы, то устанавли-
вается флаг «выход за границы памяти» и работа функции прекращается с ошибкой.
Значение value в этом случае не изменяется.
d. int sc_memorySave (char * filename) – сохраняет содержимое памяти в файл в
бинарном виде (используя функцию write или fwrite);
int sc_memoryLoad (char * filename) – загружает из указанного файла содер-
жимое оперативной памяти (используя функцию read или fread);
f. int sc_regInit (void) – инициализирует регистр флагов нулевым значением;
g. int sc_regSet (int register, int value) – устанавливает значение указанно-
го регистра флагов. Для номеров регистров флагов должны использоваться маски, за-
даваемые макросами (#define). Если указан недопустимый номер регистра или некор-
ректное значение, то функция завершается с ошибкой.
h. int sc_regGet (int register, int * value) – возвращает значение указанного
флага. Если указан недопустимый номер регистра, то функция завершается с ошибкой.
i. int sc_commandEncode (int command, int operand, int * value) – кодиру-
ет команду с указанным номером и операндом и помещает результат в value. Если ука-
заны неправильные значения для команды или операнда, то функция завершается с
ошибкой. В этом случае значение value не изменяется.
j. int sc_commandDecode (int value, int * command, int * operand) – деко-
дирует значение как команду Simple Computer. Если декодирование невозможно, то
устанавливается флаг «ошибочная команда» и функция завершается с ошибкой.
Дополнительная информация
2015 год Фульман
Похожие материалы
Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.
orokysaki
: 20 марта 2023
Изучить принципы работы оперативной памяти. Познакомиться с разрядными операциями языка Си. Разработать библиотеку mySimpleComputer, включающую функции по декодированию команд, управлению регистрами и взаимодействию с оперативной памятью.
Задание на лабораторную работу
1. Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы работы разрядных операций в языке Си: как можно изменить значение указанного разряда целой переменной или получить его значение. Вспомните, как
350 руб.
Оперативная память. Исследование рынка оперативной памяти
Elfa254
: 29 сентября 2013
I. Основные сведения об оперативной памяти
1. Назначение
2. Характеристики
3. Разъемы SIMM и DIMM
4. Спецификация SDRAM PC100
a) Спецификация PC100. Ключевые моменты
b) SPD (Serial Presence Detect)
c) Синхронное выполнение
5. Типы высокоскоростной памяти
a) SDRAM
b) Enhanced SDRAM (ESDRAM)
c) DDR SDRAM (SDRAM II)
d) SLDRAM
e) RDRAM (Rambus DRAM)
f) Direct Rambus Memory System
6. Совместимость. О существующих форм-факторах
7. Производители чипов
Чипсет Intel 820
8
10 руб.
Магистрально-модульная архитектура ПК. Основные функции центрального процессора. Оперативная память
Elfa254
: 4 октября 2013
1. Дать понятие магистрально-модульной архитектуры ПК
Архитектура современных ПК основана на магистрально-модульном принципе. Модульный принцип позволяет потребителю самому комплектовать нужную ему конфигурацию компьютера и производить при необходимости ее модернизацию.
Модульная организация системы опирается на магистральный (шинный) принцип обмена информации. Магистраль или системная шина – это набор электронных линий связывающих воедино по адресации памяти, передачи данных и служебных си
5 руб.
Другие работы
Задание 58. Вариант 14 - Тело с отверстиями
Чертежи по сборнику Боголюбова 2007
: 8 апреля 2023
Возможные программы для открытия данных файлов:
WinRAR (для распаковки архива *.zip или *.rar)
КОМПАС 3D не ниже 16 версии для открытия файлов *.cdw, *.m3d
Любая программа для ПДФ файлов.
Боголюбов С.К. Индивидуальные задания по курсу черчения, 1989/1994/2007.
Задание 58. Вариант 14 - Тело с отверстиями (или тело с двойным проницанием)
Выполнить в трех проекциях чертеж полого геометрического тела с применением профильного разреза. В определенных вариантах так же на горизонтальной проекции тре
100 руб.
Термодинамика и теплопередача ТюмГНГУ Техническая термодинамика Задача 1 Вариант 34
Z24
: 9 января 2026
Считая теплоемкость идеального газа зависящей от температуры, определить: параметры газа в начальном и конечном состояниях, изменение внутренней энергии, теплоту, участвующую в процессе и работу расширения.
Исходные данные, необходимые для решения задачи, выбрать из табл.2,1., зависимость величины теплоемкости от температуры приведена в приложении 1.
180 руб.
Криминологическая характеристика личности преступника
Qiwir
: 16 августа 2013
Введение.
Криминальная психология изучает психологические закономерности, связанные с формирование преступной установки, образованием преступного умысла, подготовкой и совершением преступления, а также созданием преступного стереотипа поведения. Она исследует личность преступника, а также психологические пути воздействия на него.
Криминальноя психология исследует механизм иммунитета личности в криминогенной ситуации и через понимание и познание его закономерностей разрабаты
10 руб.
Оценка и реализация инвестиционных проектов в сфере жилищно-коммунального хозяйства (на примере деятельности предприятий ЖКХ Красноселькупского района Ямало-Ненецкого автономного округа)
GnobYTEL
: 26 октября 2013
Введение
Глава 1. Проблемы жилищно-хозяйственного комплекса России
1.1 Основные характеристики жилищно-коммунальной сферы России
1.2 Проблемы 100 %-ой оплаты услуг ЖКХ и создания конкурентной среды в сфере жилищно-комунальных услуг (ЖКУ)
1.3 Проблема привлечения государственных и частных инвестиций в сферу жилищно-комунальных услуг
Глава 2. Особенности финансово-хозяйственной деятельности и оценки инвестиционных проектов, реализуемых предприятиями ЖКХ
2.1 Характеристика услуг предприятий ЖКХ
2.2
15 руб.