CS221. Архитектура компьютера и операционные системы


#370

Да, не запускается с ошибкой “AMD-V is disabled in the BIOS (or by the host OS) (VERR_SVM_DISABLED).” Программа SecurAble пишет “Hardware Virtualization - Yes”. Принесу ноутбук тогда на практику


#371

Сегодня, на лекции я обещала дать ссылку на научно-популярные материалы по тому, как была устроена немецкая шифровальная машина Энигма. Вот - часть первая с русскими субтитрами. Поскольку эта часть стала невероятно популярной (более 3 млн. просмотров), сотрудники Кембриджского университета опубликовали вторую часть фильма. Она пересекается с первой, но содержит и новые материалы, в частности, о том, как был “взломан” код Энигмы. Русских субтитров во второй части нет, так что есть повод “подтянуть” английский. А заодно полезно будет посмотреть упомянутый художественный фильм “Игра в имитацию” (трейлер)


#372

И раз уж обещала, то в твиттере https://twitter.com/svalazar


#373

Второй добор для студентов бывшего 2-го курса направления ПМИ по части «Архитектура компьютера» дисциплины “Архитектура компьютера и парадигмы программирования” будет проходить 14-ого сентября 2018 года, в пятницу, с 8:00 до 9:45, в компьютерном классе 118 в здании мехмата. На добор могут прийти те, кто набрал 31 балл и больше. У них есть шанс получить зачет (60 баллов). Те, кто в семестре набрал меньше 31-го балла, если строго следовать Положению о БРС, должны повторно послушать курс. На любой из процедур добора можно будет написать 1 контрольную работу по теории (лекции двух модулей вместе). В качестве вопросов будут также задания по темам, относящимся к лабораторным занятия. Максимальная оценка за контрольную - 29 баллов. Время ограничено - не более 100 мин и не позднее 9:45 14-го сентября. В связи с ограничением времени задачи на сложные, продолжительные по времени, вычисления из теста будут удалены.


#374

Ответ на вопрос, возникший на сегодняшней лекции, есть в файле, фрагмент которого был приведён на слайде. Число в круглых скобках в таблице CORE INSTRUCTION SET - это сноска, расшифровка сносок приведена ниже, над таблицей BASIC INSTRUCTION FORMATS. Как я и говорила на лекции у всех регистровых инструкций OPCODE равен 0 и собственно выполняемое действие описывается полем FUNCT. У I и J инструкций выполняемое действие определяется через OPCODE. Он и приведён в таблице CORE INSTRUCTION SET. Если вам не нравится английский вариант таблицы, то русский её аналог смотрите в Приложении B в книге “Цифровая схемотехника и архитектура компьютера”


#375

При работе с файлами возникает следующая проблема: при записи содержимое не отображается в ожидаемом виде. Буквально пишу банальный код и получаю это! PUSH 2 PUSH buf PUSH CX PUSH _WRITE %D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9 … даже обидно как-то.


#376

А пришлите-ка мне полный текст Вашей программы.


#377

@yuri, главное как можно быстрее. Пока я ещё за компьютером :sunglasses:


#378

test2.s (914 Байты)


#379

Код

	PUSH	2
	PUSH	buf
	PUSH	CX
	PUSH	_WRITE
	SYS

означает: запиши два байта взятых по адресу buf в файл. По адресу buf у вас лежит слово 2, что в байтах выглядит как 20 (little-endian). Соответственно, в файл попадает 20. Что же тут неожиданного…


#380

@Ulysses, спасибо. Думаю @yuri это помогло на сегодняшнем лабораторном занятии. Никак не могу привыкнуть, что студенты готовятся к занятиям по ночам :man_technologist:


#381

Все, разобрался! Думал, что такое представление связано с ошибкой записи. Ожидал получить что -то типа:

%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B91

А использовать $ hexdump для проверки - подумал что это для слабаков. Спасибо, огромное))


#382

Для текстовой двоечки нужно, чтобы buf содержал строковые данные (buf: .ASCIZ "2")… ну и достаточно скопировать всего один байт (PUSH 1 вместо PUSH 2).


#383

Для выполнения лабораторной работы по микропрограммированию нужен образ виртуальной машины с Java-машиной. Я подготовила Вам такой образ и добавила раздел с описанием того, как его установить. Читайте “Образ виртуальной машины с Java