Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Описание
Изучить принципы работы оперативной памяти. Познакомиться с разрядными операциями языка Си. Разработать библиотеку mySimpleComputer, включающую функции по декодированию команд, управлению регистрами и взаимодействию с оперативной памятью.
Задание на лабораторную работу
1. Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы работы разрядных операций в языке Си: как можно изменить значение указанного разряда целой переменной или получить его значение. Вспомните, как сохранять информацию в файл и считывать еѐ оттуда в бинарном виде.
2. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром флагов и кодированию/декодированию команд:
a. 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);
e. 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. Если декодирование невозможно, то устанавливается флаг «ошибочная команда» и функция завершается с ошибкой.
3. Оформите разработанные функции как статическую библиотеку. Подготовьте заголовочный файл для неѐ.
Задание на лабораторную работу
1. Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы работы разрядных операций в языке Си: как можно изменить значение указанного разряда целой переменной или получить его значение. Вспомните, как сохранять информацию в файл и считывать еѐ оттуда в бинарном виде.
2. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром флагов и кодированию/декодированию команд:
a. 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);
e. 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. Если декодирование невозможно, то устанавливается флаг «ошибочная команда» и функция завершается с ошибкой.
3. Оформите разработанные функции как статическую библиотеку. Подготовьте заголовочный файл для неѐ.
Похожие материалы
Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.
woorumu
: 16 сентября 2016
Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная
память, регистр флагов, декодирование операций.
Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы
работы разрядных операций в языке Си: как можно изменить значение указанного разряда
целой переменной или получить его значение. Вспомните, как сохранять информацию в файл
и считывать еѐ оттуда в бинарном виде.
2. Разработайте функции по взаимодействию с оперативной памятью, управлению регис
150 руб.
Оперативная память. Исследование рынка оперативной памяти
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 руб.
Лабораторная работа 2
Infanta
: 20 марта 2026
Лабораторная работа 2
Задание.
1. Создайте модель по описанию.
2. Письменно, опишите суть модели и как ее можно использовать в практической деятельности.
800 руб.
Лабораторная работа №2
ITNerd
: 23 октября 2025
Лабораторная работа №2 по дисциплине "Моделирование систем". ИССЛЕДОВАНИЕ ЭЛЕКТРИЧЕСКИХ ЦЕПЕЙ
ВО ВРЕМЕННОЙ ОБЛАСТИ.
Задание №1
Собрать схему (рис.1)
Установить амплитуду импульсов генератора, равную 10 В, f=1 Гц. Убедиться, что зуммер и светодиодный индикатор выдают сигнал (1 раз в секунду).
Задание №2
Собрать схему (рис.2)
Установить следующие параметры функционального генератора:
Получить на экране осциллографа временные диаграммы входных прямоугольных импульсов и напряжения на рез
470 руб.
Лабораторная работа №2
ITNerd
: 22 октября 2025
Лабораторная работа №2 по дисциплине "Измерение параметров и оценка качества мультимедиа продукции". ИССЛЕДОВАНИЕ ЧАСТОТНО – СЕЛЕКТИВНЫХ ЦЕПЕЙ
Задание №1
Собрать в программной среде MULTISIM схему фильтра нижних частот (ФНЧ) (рис.1).
...
Задание №2
Собрать в программной среде MULTISIM схему фильтра верхних частот (ФВЧ) (рис.4).
...
Задание №3
Собрать в программной среде MULTISIM схему резонансного усилителя (рис.7).
370 руб.
Лабораторная работа №2
John111
: 16 июня 2023
Лабораторная работа №2. Работа с графикой
В лабораторной работе рассматривается построение графиков функций на плоскости и геометрических фигур в пространстве. Оба задания делаются в одной книге на разных листах
Часть 1. Графическое решение систем уравнений
Решить графически систему уравнений: y=lnx y=-2x+1
в диапазоне x 0.2.3 с шагом 0.2
Поверхности в трёхмерном пространстве.
Задание.
1. Построить верхнюю часть эллипсоида:
Диапазоны изменения переменных x и y: с шагом , с шагом .
50 руб.
Лабораторная работа №2
John111
: 15 июня 2023
Первая часть задания. Таблицы
Создать документ, в котором в заголовке окна браузера должна быть надпись "Лабораторная 2-1". С использованием команд создания таблицы сформировать таблицу по указанному варианту.
Обратить внимание на ширину первого столбца (задать в процентах от ширины таблицы), шрифт (курсив, Courier New, Arial) и расположение текста (по центру, слева, справа).
Вторая часть задания. Фреймы
Используя описанные команды, создать документ, в котором в заголовке окна браузера должна бы
50 руб.
Другие работы
Контрольная работа по дисциплине: Информационный менеджмент. Вариант №03
IT-STUDHELP
: 15 февраля 2022
Задание
Написать программу, которая оптимальным образом расставляет скобки при перемножении матриц M1M2M3M4M5M6M7M8M9M10M11M12. Матрицы имеют следующие размерности:
M1[r0xr1], M2[r1xr2], M3[r2xr3], M4[r3xr4], M5[r4xr5], M6[r5xr6], M7[r6xr7], M8[r7xr8], M9[r8xr9], M10[r0xr10], M11[r10xr11], M12[r11xr12].
Размерности матриц считать из файла.
Вывести промежуточные вычисления, результат расстановки скобок и трудоемкость полученной расстановки.
Номер варианта выбирается по последней цифре пароля
480 руб.
Общая теория связи. Контрольная работа. Вариант №6
пума
: 29 января 2016
Задание 1.
На вход транзисторного усилителя воздействует бигармоническое напряжение
Вольтамперная характеристика полевого транзистора аппроксимируется полиномом
,
где iс - ток стока;
u - напряжение на затворе транзистора.
Рассчитать спектр тока и построить спектральную диаграмму для исходных данных таблицы 1.1 Номер варианта соответствует двум последним цифрам пароля
Таблица 1.1
В
06 12 12 3 5 1,2 1 0,1
Задание 2.
Ток в нелинейном резисторе i связан с приложенным напряжением U кус
100 руб.
Реакційна здатність неорганічних сполук
Elfa254
: 28 сентября 2013
Вступ
1. Теоретична частина
1.1 Електронна будова атома
1.2 Двоїста природа електрона. Квантові числа
1.3 Валентність і ступінь окислення
1.4 Енергетика хімічних реакцій
1.5 Хімічна кінетика і швидкість хімічної реакції
2. Практична частина
2.1 Завдання 1
2.2 Завдання 2
2.3 Завдання 3
Література
Додатки
Вступ
Контрольна робота з дисципліни "Реакційна здатність неорганічних сполук".
Хімія – це наука про елементи і сполуки, які вони утворюють при взаємодії, наука про будову, властивос
Цифровые системы передачи. Лабораторная работа № 3. Вариант 1
Teuserer
: 2 февраля 2017
Изучение принципов построения систем передачи
с разделением каналов по частоте
1. Цель работы
2. Выполнение работы
2.1. Описание схемы макета 3-х канальной системы передачи с ЧРК.
2.2. Наблюдение на передающей станции с помощью осциллографа формы колебаний и расчет частоты этих колебаний
2.3. Наблюдение формы колебаний на входе приемной станции.
2.4. Наблюдение форм колебаний линии, не вносящей искажений, и расчет частоты колебаний в характерных точках приемного тракта.
2.5. Исследование вл
20 руб.