Разработка библиотеки 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 руб.
Другие работы
Курсовая работа по дисциплине: Оптические мультисервисные сети. Вариант №7
IT-STUDHELP
: 18 июля 2023
Курсовая работа
Вариант №7
Техническое задание
1. Разработать участок оптической мультисервисной транспортной сети между пунктами А, Б, В, Г,…… (внутризоновая сеть), выбрать структуру сети с учетом возможности защиты информации. Выбрать оптический кабель, системы передачи и оборудование. Разместить оконечные и промежуточные станции. Рассчитать участки передачи с оптическими каналами – секции мультиплексирования, отношение сигнал шум в оптических каналах. Разработать схему организации связи. Пр
1500 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 12 Вариант 76
Z24
: 2 января 2026
Вычислить дебит артезианской скважины при условии, что мощность водоносного пласта t = (15 + 0,5·y) м; диаметр скважины d = (30 + 0,5·z) см; глубина откачки S = (6 + 1·y) = 10 м; радиус влияния R = (150 + 10·z) м; коэффициент фильтрации k = (10 + 1·y) м/сут (рис. 12).
120 руб.
Гидравлика Севмашвтуз 2016 Задача 11 Вариант 5
Z24
: 29 октября 2025
В сосуд М, соединенный с сосудом N (рис. 11), при закрытом кране В наливается ртуть при атмосферном давлении до высоты h. Затем кран A закрывается, кран B открывается. Ртуть из сосуда M начинает выливаться в открытый сосуд N, сообщающийся с атмосферой. Определить: на какую высоту h1 опустится уровень в сосуде M при установлении равновесия, если площадь поперечного сечения левого сосуда S1, а правого S2? Высота сосуда H. На какую высоту h2 поднимается ртуть в правом сосуде? Чему будет равно абсол
160 руб.
Экзамен по дисциплине: Математический Анализ. Билет №14.
ДО Сибгути
: 27 декабря 2017
БИЛЕТ № 14
1. Линейные дифференциальные уравнения второго порядка, однородные и неоднородные. Структура общего решения.
2. Найти градиент функции в точке
.
3. Изменить порядок интегрирования. Область интегрирования изобразить на чертеже.
.
4. Исследовать на абсолютную сходимость
5. Данную функцию разложить в ряд Тейлора по степеням х:
6. Найти общее решение дифференциального уравнения
7. Найти частное решение уравнения
60 руб.