View on GitHub

ITMO-PE

My study notes about Program Engineering at University ITMO

MainPage/OPD/Exam

  1. Две формы представления информации. Способы представления дискретной информации. Системы счисления, используемые в вычислительной технике: двоичная, 8-я, 10-я, 16-я, двоично-десятичная.
    两种信息呈现形式。 表示离散信息的方法。 计算中使用的数字系统:二进制、8 位、10 位、16 位、二进制十进制
  2. Представление чисел с фиксированной точкой. Прямой, обратный и дополнительный код. Формирование битовых признаков переноса, переполнения, отрицательного результата, нуля.
    定点数字的表示。 直码、反码和补码。 进位标志、溢出标志、负标志、零标志的形成。
  3. Представление символьных и строковых данных. Принципы построения кодовых таблиц ASCII, КОИ-8, ISO8859-5, Windows-1251, UTF-8, UTF-16.
    字符和字符串数据的表示。 ASCII、KOI-8、ISO8859-5、Windows-1251、UTF-8、UTF-16 码表的构建原理。
  4. Базовые элементы вычислительной техники: ячейки, регистры, шины, вентили, тактовые генераторы, логические схемы, триггеры, регистры, счетчики, сумматоры.
    计算机技术的基本要素:单元、寄存器、总线、门、时钟发生器、逻辑电路、触发器、寄存器、计数器、加法器。
  5. Структура и принцип функционирования ЭВМ. Порядок функционирования простого процессора на примере калькулятора.
    计算机的结构和工作原理。 以计算器为例,简单处理器的操作顺序
  6. Операционная система Unix — ядро ОС и файловая система.
    Unix 操作系统——操作系统内核和文件系统
  7. Операционная система Unix — интерпретаторы, стандартные потоки ввода вывода, фильтры.
    Unix 操作系统 - 解释器、标准输入输出流、过滤器。
  8. Операционная система Unix — основные команды, права файлов и способы их задания.
    Unix 操作系统 - 基本命令、文件权限以及如何设置它们。
  9. Состав и структура БЭВМ. Адресные пространства БЭВМ. Система команд БЭВМ, форматы команд. Машинные циклы.
    BEVM 的组成和结构。 BEVM 地址空间。 BEVM 命令系统,命令格式。 机器循环。
  10. Организация вычислений в БЭВМ. Сдвиги, арифметические и логические операции. Цикл выборки команды.
    BEVM 中的计算组织。 移位、算术和逻辑运算。 命令获取周期。
  11. Организация массивов данных. Режимы адресации. Цикл выборки адреса и операнда БЭВМ.
    数据数组的组织。 寻址模式。 用于选择计算机的地址和操作数的循环。
  12. Управление вычислительным процессом в БЭВМ. Команды ветвлений, цикл исполнения команды LOOP.
    计算机过程控制。 分支命令,LOOP 命令执行循环。
  13. Подпрограммы в БЭВМ. Цикл исполнения команд перехода и возврата из подпрограммы. Стек, передача параметров. Позиционно-независимый код. Загрузчик и библиотеки.
    计算机中的子程序。从子程序执行跳转和返回命令的循环。堆栈,参数传递。与位置无关的代码。加载程序和库。
  14. Организация ввода-вывода в вычислительных системах. Инициация обмена, передача информации и завершение обмена. Драйверы.
    计算系统中输入输出的组织。 交换的发起、信息的传递和交换的完成。 司机。
  15. Организация ввода-вывода в БЭВМ. Устройства ввода-вывода, команды.
    计算机中输入输出的组织。 I/O 设备、命令。
  16. Организация асинхронного обмена в БЭВМ. Пример программы. Временные издержки асинхронного обмена.
    计算机中异步交换的组织。 程序示例。 异步交换的时间成本。
  17. Организация прерываний в БЭВМ. Вектора прерываний, контроллер прерывания.
    计算机中的中断组织。 中断向量,中断控制器。
  18. Организация обмена по прерыванию программы в БЭВМ. Пример программы. Цикл прерывания.
    在计算机中的程序中断上组织交换。程序示例。中断周期。
  19. Понятие многоуровневой ЭВМ. Понятие и пример программы на разных уровнях.
    多级计算机的概念。不同级别的程序的概念和示例。
  20. Микропрограммный уровень БЭВМ. Структура МПУ. Форматы микрокоманд.
    计算机的微程序级别。 MPU的结构。微指令格式。
  21. Структура и принципы работы арифметико-логического устройства и коммутатора. Регистр состояния БЭВМ
    算术逻辑单元和换向器的结构和工作原理。计算机状态寄存器
  22. Микропрограммное управление вентильными схемами. Схема управления. Интерпретатор БЭВМ.
    门电路的微程序控制。控制方案。BEVM 解释器。
  23. Архитектура ЭВМ. Гарвардская и фон-Неймановская архитектура. Организация обмена архитектуры ЭВМ с использованием шин.
  24. Архитектура многопроцессорных ЭВМ. Системный коммутатор. Архитектуры UMA и NUMA.
  25. Структура современных процессоров. Окружение процессора. CISC, RISC, VLIW.
    现代处理器的结构。处理器环境。CISC,RISC,VLIW。
  26. Адресуемая память, организация и временные диаграммы. Конструктивные особенности современной памяти.
  27. Память, ориентированная на записи (блочная память). Организация дисковой памяти и памяти на магнитных лентах.
  28. Характеристики запоминающих устройств. Пирамида памяти.
    存储设备的特性。记忆金字塔。
  29. Ассоциативная память, Кэш-память. Влияние промахов кэш-памяти на производительность.
    联想内存,高速缓存。 缓存未命中对性能的影响。
  30. Предназначение и организация виртуальной памяти. Сегментно-страничная организация. Устройство управления памятью (MMU), буфер трансляции (TLB).
    虚拟内存的目的和组织。 细分页面组织。 内存管理单元 (MMU)、翻译缓冲器 (TLB)。
  31. Сетевые технологии, Понятие сети ЭВМ, классификация компьютерных сетей. Сообщение и пакет. Модель взаимодействия открытых систем.
    网络技术,计算机网络的概念,计算机网络的分类。消息和包。开放系统交互模型。
  32. Модель TCP/IP: передающая среда, канальный и сетевой уровень. Адресация, передача и маршрутизация пакетов.
    TCP/IP 模型:传输介质层、链路层和网络层。 数据包的寻址、传输和路由。
  33. Модель TCP/IP: выделение адресов (DHCP), сервисы имен, транспортный и прикладной уровни.
    TCP/IP 模型:地址分配(DHCP)、名称服务、传输和应用层。
  34. Интерфейсы ввода-вывода. Контроллеры внешних устройств. Уровни стандартизации, сопряжения с системной шиной, циклы обмена. Регистры контроллера.
    输入/输出接口。 外部设备控制器。 标准化水平、与系统总线的接口、交换周期。 控制器寄存器。
  35. Параллельная передача данных. Контроллеры параллельной передачи и приема.
    并行数据传输。 用于并行传输和接收的控制器。
  36. Синхронные последовательные интерфейсы. Контроллеры последовательной передачи и приема.
    同步串行接口。 用于串行传输和接收的控制器。
  37. Асинхронный обмен. Принципы деления частоты, формат кадра.
    异步交换。 分频原理、帧格式。
  38. Контроллер передачи асинхронного последовательные интерфейса.
    异步串行接口传输控制器。
  39. Контроллер приема асинхронного последовательные интерфейса.
    异步串行接口接收控制器。
  40. Организация прямого доступа к памяти. Контроллер ПДП.
    组织直接访问内存 DMA。DMA 控制器。

1. Две формы представления информации. Способы представления дискретной информации. Системы счисления, используемые в вычислительной технике: двоичная, 8-я, 10-я, 16-я, двоично-десятичная.

Различают две формы представления информации — непрерывную и дискретную.
有两种形式的信息表示 — 连续的和离散的。

Различают две формы систем счисления — Позиционные системы счисления и Непозиционные системы счисления. В вычислительной технике используют позиционные системы счисления. это системы счисления, в которых количественный эквивалент каждой цифры (её вес) зависит от ее положения (позиции) в записи числа.
有两种形式的数字系统 — 位置数字系统和非位置数字系统。 在计算机技术中,使用位置数字系统。 这类数字系统,其中每个数字的数量等值(其权重)取决于其在数字条目中的位置(位置)

двоично-десятичная — форма записи рациональных чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода. Таким образом, каждая тетрада двоично-десятичного числа может принимать значения от 00002 (010) до 10012 (910) 二进码十进数(Binary-Coded Decimal,简称BCD)一种写有理数的形式,一个数的每一位十进制码被写为其四位二进制代码,因此,每四位 BCD 的取值可以从 00002 (010) 到 10012 (910)

2. Представление чисел с фиксированной точкой. Прямой, обратный и дополнительный код. Формирование битовых признаков переноса, переполнения, отрицательного результата, нуля.

3. Представление символьных и строковых данных. Принципы построения кодовых таблиц ASCII, КОИ-8, ISO8859-5, Windows-1251, UTF-8, UTF-16.

В ЭВМ представление текстовой информации основывается на кодировании букв и символов при помощи кодовой таблицы. Кодовая таблица (или кодировка символов) является соглашением между разработчиками о соответствии каждому символу определенного порядкового номера или кода, чтобы его можно было сохранять в памяти ЭВМ или передавать по каналам связи.
在计算机中,文本信息的表示基于使用代码表对字母和符号进行编码。码表(或字符编码)是开发人员之间就某个序列号或代码的每个字符对应的协议,以便它可以存储在计算机的内存中或通过通信通道传输。

4. Базовые элементы вычислительной техники: ячейки, регистры, шины, вентили, тактовые генераторы, логические схемы, триггеры, регистры, счетчики, сумматоры.

5. Структура и принцип функционирования ЭВМ. Порядок функционирования простого процессора на примере калькулятора.

Типичная ЭВМ состоит из процессора, памяти и устройств ввода-вывода.
典型的计算机由处理器、内存和输入/输出设备组成。

Рассмотрим принципы функционирования простейшей ЭВМ — калькулятора. Он состоит из двух регистров — X и У, хранящих результаты ввода пользователя и промежуточных вычислений, АЛУ, которая может выполнять простейшие арифметические и логические операции, шин и управляющих вентилей, осуществляющих передачу данных между функциональными блоками калькулятора, устройства управления (УУ), клавиатуры и дисплея.
考虑最简单的计算机 - 计算器的运行原理。它由两个寄存器 - X 和 Y 组成,它们存储用户输入和中间计算的结果,一个可以执行简单算术和逻辑运算的 ALU,在计算器的功能块之间传输数据的总线和控制阀,控制单元(CU)、键盘和显示器。

Дисплей постоянно отображает содержимое регистра X (проследите о шине путь информации от X к дисплею, убедитесь, что вентили на этом пути отсутствуют). Клавиатура передает значение нажатой клавиши на вентиль У5, каждое нажатие на клавишу запускает УУ, которое в зависимости от текущего состояния ЭВМ формирует последовательность импульсов для выполнения требуемой операции, которая называется циклом импульсов. Каждая группа импульсов выдается последовательно, в моменты, совпадающие с импульсами тактового генератора.
显示屏不断显示 X 寄存器的内容(按照从 X 到显示屏的总线信息路径,确保沿途没有门)。键盘将按​​下的键值传送到门U5,每按一次键启动控制单元,控制单元根据计算机当前的状态,产生一系列脉冲来执行所需的操作,称为a脉冲周期。每组脉冲按顺序发出,有时与时钟发生器的脉冲一致。

Предположим пользователь вводит первую цифру необходимого ему числа (7). Так как это новая операция, УУ, после своей активации нажатием кнопки 7, выдаст последовательность управляющих импульсов для первой цифры числа.
假设用户输入他需要的数字的第一位 (7)。由于这是一项新操作,在按下按钮 7 激活 CU 后,将针对数字的第一个数字发出一系列控制脉冲。

В первую очередь необходимо сохранить предыдущее значение регистра X в регистре У. Для этого должен быть открыт вентиль, управляющий записью в регистр У. Он открывается управляющим сигналом УЗ.
首先,需要将X寄存器之前的值保存在Y寄存器中,要做到这一点,控制写入Y寄存器的门必须打开,由控制信号US打开。

После этого необходимо обнулить регистр X, подготовив его для новой цифры числа, которая была введена с клавиатуры. Для этого должны быть закрыты все вентили, кроме У2 — который осуществляет передачу данных из АЛУ в регистр У и У6 — который сформирует в АЛУ значение 0.
之后,您需要重置 X 寄存器,为从键盘输入的新数字做好准备。为此,必须关闭所有门,但 U2 除外——它将数据从 ALU 传输到 Y 寄存器和 U6——它将在 ALU 中生成值 0。

Далее необходимо сложить значение 0 с цифрой с клавиатуры. Для этого содержимое регистра X поступает на правый вход АЛУ (У1), цифра с клавиатуры на правый вход АЛУ (У5), и выбирается операция сложения (У7).
接下来,您需要将值 0 添加到键盘上的数字。为此,将 X 寄存器的内容馈送到 ALU (U1) 的右输入端,将键盘上的数字馈送到 ALU 的右输入端 (U5),然后选择加法运算 (U7)。

В конце цикла необходимо передать результат сложения в регистр X (У2), отобразив его, при этом, на дисплее.
在循环结束时,需要将加法的结果传送到寄存器 X (U2),同时在显示器上显示。

Для ввода второй и последующих цифр необходимо осуществлять поразрядный сдвиг регистра X после каждой введенной цифры и складывать введенную цифру со сдвинутым содержимым регистра X. Разберем этот цикл по тактам:
输入第二位及以后的数字,需要在每个输入的数字之后对X寄存器进行位移,并将输入的数字与X寄存器的移位内容相加。让我们逐个循环分析这个循环:

  1. Содержимое регистра X через вентиль, управляемый У1 подается на левый вход АЛУ, при этом вентили У4, который управляет передачей из регистра У и У5 (ввод с клавиатуры), должны быть закрыты, при этом на правый вход АЛУ подается 0. Управляющий сигнал У8 вызовет сдвиг информации, которая поступает на левый вход АЛУ. В двоично-десятичной системе счисления (в которой обычно выполняют вычисления калькуляторы) сдвигу на один десятичный разряд соответствует умножение на 10. 通过 U1 控制的门将寄存器 X 的内容馈送到 ALU 的左输入端,而控制从寄存器 Y 和 U5(键盘输入)传输的门 U4 必须关闭,而 0施加到 ALU 的右输入端。控制信号 U8 将导致进入 ALU 左输入端的信息发生偏移。在二进制编码的十进制表示法中(计算器通常执行计算),移动一位小数对应于乘以 10。
  2. Результат сдвига записывается (управляющий сигнал У2) в регистр X. 将移位结果(控制信号U2)写入X 寄存器。
  3. Затем необходимо сложить результат сдвига с новой цифрой с клавиатуры. Для этого содержимое регистра X поступает на правый вход АЛУ (У1), цифра с клавиатуры на правый вход АЛУ (У5), и выбирается операция сложения (У7). 然后你需要用键盘上的新数字添加移位的结果。为此,将 X 寄存器的内容馈送到 ALU (U1) 的右输入端,将键盘上的数字馈送到 ALU 的右输入端 (U5),然后选择加法运算 (U7)。
  4. Результат сдвига и сложения записывается (управляющий сигнал У2) в регистр X.
    将移位和加法的结果(控制信号U2)写入X 寄存器。

Когда пользователь нажимает кнопку «+» или «=», в зависимости является ли это сложение промежуточной или конечной операцией, необходимо сложить содержимое регистра X и регистра У. Для этого:
当用户按下“+”或“=”按钮时,根据此添加是中间操作还是最终操作,必须添加 X 寄存器和 Y 寄存器的内容。为此:

  1. Содержимое регистра X подается на левый вход АЛУ (У1), содержимое регистра У подается на правый вход АЛУ (У4) и выполняется операция сложения (У7). Все остальные вентили при этом закрыты (в первую очередь должен быть закрыт У5).
    X 寄存器的内容被馈送到 ALU (U1) 的左输入端,Y 寄存器的内容被馈送到 ALU (U4) 的右输入端,并执行加法运算 (U7)。所有其他阀门同时关闭(必须先关闭 U5)。
  2. Результат записывается в регистр X и показывается на экране калькулятора.
    结果写入 X 寄存器并显示在计算器屏幕上。

6. Операционная система Unix — ядро ОС и файловая система.

7. Операционная система Unix — интерпретаторы, стандартные потоки ввода вывода, фильтры.

8. Операционная система Unix — основные команды, права файлов и способы их задания.

基本命令

Права доступа к файлам 文件权限

Для каждого файла существуют следующие категории пользователей:
对于每个文件,有以下类别的用户:

Каждая из этих категорий пользователей может иметь любую комбинацию из следующих прав:
这些用户类别中的每一个都可以具有以下权限的任意组合:

Представление Правы

Выставление прав - Для выставления прав файлу (каталогу) используется команда chmod.

Существует 3 способа задания прав доступа:

9. Состав и структура БЭВМ. Адресные пространства БЭВМ. Система команд БЭВМ, форматы команд. Машинные циклы.

БЭВМ включает в себя нескольких функциональных блоков и регистров:
计算机包括几个功能块和寄存器:

10. Организация вычислений в БЭВМ. Сдвиги, арифметические и логические операции. Цикл выборки команды.

我们知道,计算机普遍使用二进制存储并传输数据。而对于数据的运算则可以使用计算机中的算术逻辑单元 ALU

算术逻辑单元(英语:Arithmetic logic unit,简称:ALU)是一种可对二进制整数执行算术运算或位运算的组合逻辑数字电路

ALU 的输入包括需要运算的数据(也称为运算数)和表明了运算操作类型的指令码。ALU 的输出是其执行运算的结果。在许多的设计中,ALU 还带有状态输入或输出,可将其之前操作或当前操作的信息在 ALU 和外部状态寄存器间传递

11. Организация массивов данных. Режимы адресации. Цикл выборки адреса и операнда БЭВМ.

Организация массивов данных. 数据数组的组织。

Элементы массива располагаются один за другим в памяти БЭВМ.
在微机中数组元素一个接着一个排列在内存中

Режимы адресации.

汇总表

12. Управление вычислительным процессом в БЭВМ. Команды ветвлений, цикл исполнения команды LOOP.

Команды ветвлений

цикл исполнения команды LOOP

DR после м.ц. ОF содержит значение операнда AR адрес операнда

~0+DR→DR; ~0x0=0xFFFF=-1 Вычитание единицы из DR 从 DR 中减一
DR → MEM(AR) ; Записываем значение операнда в память 将操作数的值写入内存
~0 + DR → DR ; Вычитание еще единицы (ЗАЧЕМ?!!) 再减一(为什么?!)
if DR(15) = 0 then GOTO INT 
; Проверка на положительный (DR-1) и если да, то завершение цикла
; 检查正负(DR-1),如果为正,完成循环
IP + 1 → IP ; Перескок через команду, если DR-1 отрицательное
GOTO INT ; Завершение цикла 周期完成

13. Подпрограммы в БЭВМ. Цикл исполнения команд перехода и возврата из подпрограммы. Стек, передача параметров. Позиционно-независимый код. Загрузчик и библиотеки.

14. Организация ввода-вывода в вычислительных системах. Инициация обмена, передача информации и завершение обмена. Драйверы.

бмен информацией с внешним устройством состоит из инициации обмена, где осуществляются предварительные действия по подготовке к вводу или выводу данных (установка соединения, ожидание готовности и пр.) и собственно обмена банными (их передачей или приемом).
与外部设备的信息交换包括 交换的启动,其中执行初步操作以准备数据的输入或输出(建立连接、等待准备就绪等)和实际的 数据交换(它们的传输或接收)。

Обмен может идти под управлением программы ЭВМ через регистры процессора (программно-управляемая передача данных) или под управлением специального внешнего устройства (контроллера прямого доступа в память), минуя процессор (передача данных при прямом доступе к памяти).
交换可以通过处理器的寄存器在计算机程序的控制下进行(程序控制的数据传输)或在特殊的外部设备(直接内存访问控制器)的控制下,绕过处理器(通过直接内存访问进行数据传输)。

Если и инициацией и обменом занимается центральный процессор, то такой обмен называется проераммно-управляеммм. Программно-управляемый обмен по способу инициации разделяется на синхронным, когда обмен начинается в заранее известный промежуток времени (например, каждую минуту) и асинхронным, когда программе неизвестно время начала обмена данными и она вынуждена периодически проверять возможность обмена (например, готовность внешнего устройства).
如果启动和交换都由中央处理器处理,则这种交换称为 程序控制。当交换以预定的时间间隔(例如,每分钟)开始时,程序控制的交换按启动的方法分为 同步 的。当程序不知道数据交换的开始时间,是 异步 的。程序需要定期检查交换的可能性(例如,外部设备的准备情况)。

Программно-управляемый обмен осуществляется малыми порциями, при прямом доступе к памяти информация передается большими блоками. При использовании программно-управляемого обмена должна быть составлена программа, обеспечивающая пересылку данных из памяти ЭВМ в аккумулятор и далее в регистр памяти контроллера ВУ (вывод данных) или из регистра данных контроллера ВУ в аккумулятор и затем в память ЭВМ (ввод данных). В этой программе можно реализовать один из трех типов обмена: синхронный, асинхронный и по прерыванию.
程序控制的交换以小部分进行,通过直接内存访问,信息以大块的形式传输。当使用程序控制交换时,必须编译一个程序,提供从计算机内存到电池,然后到 VU 控制器的内存寄存器(数据输出)或从 VU 控制器的数据寄存器到累加器的数据传输然后到计算机内存(数据输入)。在这个程序中,可以实现三种交换类型之一:同步、异步和中断。

Чтобы исключить периодическую проверку готовности, устройства могут сами инициировать обмен по специальному аппаратному сигналу, который называется запрос прерывания, а соответствующий обмен — управляемый прерываниями ввод-вывод. При таком способе внешнее устройство сигнализирует процессору о необходимости начать обмен, процессор приостанавливает (прерывает) текущую программу, осуществляет ввод-вывод с помощью npoграммы обработки прерывания, а затем продолжает выполнять основную программу.
为了消除周期性的就绪检查,设备可以自己发起一个特殊的硬件信号的交换,称为 中断请求,相应的交换是中断驱动的 I/O。 使用这种方法,外部设备向处理器发出信号以开始交换,处理器暂停(中断)当前程序,使用中断处理程序执行 I/O,然后继续执行主程序。

Ввод-вывод с использованием прямого доступа к памяти (ПДП, в английской литературе DMA) организует и инициацию и обмен данными при помощи контроллеров ПДП. Такие контроллеры передают данные непосредственно в память ЭВМ, при этом центральный процессор в обмене данными не участвует.
使用直接内存访问的输入-输出(ПДП,英文文献中的 DMA)使用 ПДП 控制器组织启动和数据交换。 这种控制器直接将数据传输到计算机内存,而中央处理器不参与数据交换。

Обмен данными (прием и передача) может также быть организован синхронно, когда наличие данных на шине подтверждается специальным сигналом синхронизации с постоянной частотой, и асинхронно, с использованием сигналов готовности “и/или” подтверждения приема-передачи данных.
数据交换(接收和传输)可以 同步 组织,当总线上的数据存在通过具有恒定频率的特殊同步信号来确认时。也可以 异步 地,使用就绪信号 “和/或” 确认数据的传输和接收

Драйверы: 驱动程序:

Задачу инициации и обмена данными в ЭВМ осуществляют специальные программы (такие программы еще называют драйверами), которые совместно с аппаратурой ЭВМ организуют и контролируют процесс ввода-вывода. 计算机中启动和交换数据的任务是由特殊程序(此类程序也称为驱动程序)执行的,这些程序与计算机硬件一起组织和控制输入输出过程

15. Организация ввода-вывода в БЭВМ. Устройства ввода-вывода, команды.

Команды ввода-вывода приведены на рисунке В.13. Указан формат команды, в котором код операции представлен значением 0x1 в разрядах с 12 по 15. В разрядах 8..11 располагается приказ на ввод-вывод, его три младших разряда декодируются аппаратно на дешифраторе приказов (DC IO), а биты с 0 по 7 кодируют адрес регистра контроллера ввода вывода, с которым осуществляется обмен. К командам добавлена операция возврата из прерывания IRET, которая осуществляет восстановление из стека значений регистра состояния и счетчика команд.
I/O 命令如图 B.13 所示。 指定命令格式,其中操作码由位 12 到 15 中的值 0x1 表示。位 8..11 包含一个 I/O 指令,它的三个最低有效位由指令解码器上的硬件解码(DC IO),位 0 到 7 编码与执行交换的 I/O 控制器的寄存器地址。 命令中增加了IRET中断返回操作,从堆栈中恢复状态寄存器和程序计数器的值。

Формат команд ввода-вывода
I/O 命令格式
Команды, связанные с вводом-выводом
I/O 相关命令
Рисунок В. 13 Ввода-вывод: Команды и формат.
图 B. 13 I/O 命令与格式。

16. Организация асинхронного обмена в БЭВМ. Пример программы. Временные издержки асинхронного обмена.

При использовании программно-управляемого асинхронного обмена должна быть составлена программа, обеспечивающая пересылку данных из памяти ЭВМ в аккумулятор и далее в регистр памяти контроллера ВУ (вывод данных) или из регистра данных контроллера ВУ в аккумулятор и затем в память ЭВМ (ввод данных). Программа такого обмена строится так: сначала проверяется готовность ВУ к обмену и если оно готово, то дается команда на обмен. ВУ сообщает о готовности установкой флага в 6-м разряде регистре SR.
当使用程序控制的异步交换时,必须编译一个程序,提供从计算机内存到累加器,然后到 ВУ 控制器的内存寄存器(数据输出)或从 ВУ 控制器的数据寄存器到累加器,然后到计算机内存(数据输入)。 这种交换的程序是这样构建的:首先,检查 ВУ 是否准备好交换,如果准备好,则发出交换命令。 ВУ 通过在 SR 寄存器的第 6 位设置一个标志来报告准备就绪。

Пример. С помощью устройства ввода ВУ-2 (DR#4, SR#5) записать в ячейку в памяти коды символов слова “ДА” в кодировке K0I8-R. Пример программы представлен в табл. В.14.
例子。 使用 ВУ-2 输入设备(DR#4、SR#5),将 K0I8-R 编码中单词“YES”的字符代码写入内存中的一个单元格。 示例程序如表所示。 B.14。

Таблица В. 14 Ввод данных с использованием ВУ-2 Ассеблерный листинг.
表 B.14 使用 VU-2 汇编器列表的数据输入。
Листинг примера: Ввод двух символов с устройства ввода ВУ-2 (DR#4, SR#5)
示例清单:从 ВУ-2 输入设备(DR#4、SR#5)输入两个字符

В начале программа висит в ожидании готовности: считывается статусный (с номером 5) регистр ВУ-2, который передается через шину данных в 6 разряде числа, сравнивается с 0x40 (01000000г), и пока устройство не готово (SR равен 0). Такие циклы с неопределенным временем завершения, называются циклами “spin-loop”, они постоянно проверяет готовность устройства или переменной в программе, загружая процессор. Как только 6 разряд SR принимает значение 1 (устройство готово), в регистр данных ВУ считывается в младшие 8 разрядов аккумулятора, старшие разряды АС при этом остаются не изменными. Для того, чтобы подготовить АС к приему второго символа, происходит обмен байтов аккумулятора при помощи команды SWAB, и сохранение этого символа в старших разрядах в ячейку результата. Далее снова происходит ожидание готовности устройства, после получения готовности загружается ячейка с результатом и считывается 2 символ в младшую часть аккумулятора. Готовое слово с двумя символами в аккумуляторе сохраняется в ячейку результата.
一开始,程序挂起等待就绪:状态寄存器(编号为5)ВУ-2 被读取,通过数据总线在编号的第 6 位传输,与 0x40(01000000g)比较,直到设备准备就绪(SR 为 0)。这种具有无限完成时间的循环称为“自旋循环”循环,它们不断检查程序中设备或变量的准备情况,加载处理器。一旦 SR 的第 6 位取值 1(设备准备就绪),ВУ 数据寄存器就被读入累加器的低 8 位,而 AC 的高位保持不变。为了准备 AU 接收第二个字符,累加器的字节使用 SWAB 命令交换,并且该字符存储在结果单元的高位中。接下来,设备再次等待准备就绪,在收到准备就绪后,加载具有结果的单元格并将第二个字符读入累加器的低位。累加器中包含两个字符的完成单词存储在结果单元格中。

Необходимо еще раз подчеркнуть, что ввод-вывод происходит только с младшей частью аккумулятора, старшая часть во время выполнения команд IN ли OUT не изменяется. Также важно, что при данной реализации асинхронного обмена ЭВМ тратит время на ожидание (неопределенно долгое!) момента готовности циклически опрашивая флаг (spin-loop) и не может выполнять никакой другой работы. Разумная организация процедур ввода-вывода позволяет избегать такого зацикливание, например через периодический опрос флага при выполнении основной программы или через прерывания.
必须再次强调,I/O 只发生在累加器的下部,在执行 INOUT 命令期间上部不会改变。同样重要的是,通过这种异步交换的实现,计算机通过循环轮询标志(自旋循环)花费时间(无限期地!)等待准备就绪,并且不能执行任何其他工作。 I/O 过程的合理组织可以让您避免这样的循环,例如,通过在主程序执行期间定期轮询标志或通过中断。

17. Организация прерываний в БЭВМ. Вектора прерываний, контроллер прерывания.

Прерывание — одна из базовых концепций вычислительной техники, которая заключается в том, что при наступлении какого-либо события происходит передача управления специальной процедуре, называемой обработчиком прерываний (ISR, англ. Interrupt Service Routine). В отличие от условных и безусловных переходов, прерывание может быть вызвано в любом месте программы, в том числе если выполнение программы приостановлено, и обусловлено обычно внешними по отношению к программе событиями. После выполнения необходимых действий, обработчик прерываний, как правило, возвращает управление прерванной программе.
中断是计算机技术的基本概念之一,它在于当事件发生时,控制权被转移到一个特殊的程序,称为中断服务程序(Interrupt Service Routine,ISR)。与条件跳转和无条件跳转不同,中断可以在程序的任何地方调用,包括程序执行是否暂停,并且通常是由程序外部的事件引起的。在执行了必要的操作之后,中断处理程序通常会将控制权返回给被中断的程序。

Регистр управления или Management Register — регистр, хранящий в себе информации о разрешении/запрете прерывания от данного ВУ и вектора прерывания, к которому привязано ВУ.
控制寄存器或管理寄存器是存储有关允许/禁止来自给定 VU 的中断和 VU 连接到的中断向量的信息的寄存器

В 3х младших битах содержится номер вектора прерывания, в 3 бите будет 1, есди прерывания от данного ВУ разрешены и 0 — если запрещены.
最低有效 3 位包含中断向量的编号,如果来自此 VU 的中断被启用,第 3 位将为 1,如果它们被禁用,则第 3 位将为 0

18. Организация обмена по прерыванию программы в БЭВМ. Пример программы. Цикл прерывания.

19. Понятие многоуровневой ЭВМ. Понятие и пример программы на разных уровнях.

20. Микропрограммный уровень БЭВМ. Структура МПУ. Форматы микрокоманд.

Микрокоманды. Интерпретирующий уровень (см. рис. 4.7) обладает на-бором команд, состоящим только из двух микрокоманд: операционной (ОМК) и управляющей (УМК), форматы которых показаны на рис. 4.8. Поскольку команд только две, достаточно однобитового кода операции: 0 – для ОМК и 1 – для УМК. Хотя для размещения информации и кода операции достаточно 30 бит, были выбраны 32-разрядные (четырехбайтовые) микрокоманды.
微命令 解释级(见图 4.7)有一组命令,仅由两个微命令组成:操作(OMC)和控制(CMD),其格式如图 1 所示。 4.8.由于只有两个命令,因此一位操作码就足够了:0 表示 OMK,1 表示 UMK。尽管 30 位足以容纳信息和操作码,但还是选择了 32 位(四字节)微指令

Управление порядком следования микроопераций осуществляется с помощью устройства управления базовой ЭВМ, которое, в свою очередь, является очень простой ЭВМ. Для этой ЭВМ регистры и вентильные схемы базовой ЭВМ служат как бы устройствами ввода и вывода (рис.4.2). Программа работы такой ЭВМ – микропрограммного устройства управления (МПУ) – называется микропрограммой, а ее команды, содержащие информацию об элементарных действиях, подлежащих выполнению в течение одного рабочего такта ЭВМ, - микрокомандами
微操作的顺序由基础计算机的控制单元控制,而基础计算机又是一个非常简单的计算机。对于这台计算机,基本计算机的寄存器和门电路用作输入和输出设备(图 4.2)。这种计算机的操作程序——微程序控制设备(МПУ)——被称为微程序,其包含有关在计算机的一个工作周期内要执行的基本动作的信息的命令被称为微指令

Микропрограмма хранится в постоянном запоминающем устройстве – памяти микрокоманд ..(МП). В каждом такте работы ЭВМ из МП в регистр микрокоманд пересылается очередная микрокоманда, т. е. микрокоманда, на которую указывает счетчик микрокоманд (он же регистр адреса микрокоманд). Затем счетчик микрокоманд наращивается на единицу.
微程序存储在永久存储设备-微命令存储器..(MP)中。在计算机从 MP 开始的每个周期中,下一条微指令被发送到微指令寄存器,即微指令计数器所指向的微指令(它也是微指令地址寄存器)。然后微指令计数器加一

Если из памяти выбрана так называемая операционная микрокоманда, биты которой определяют нужный набор микроопераций, то состояние этих битов передается на вентильные схемы процессора. Производятся соответствующая настройка АЛУ (на суммирование, логическое умножение, инвертирование и т. п.) и пересылка через него содержимого одних регистров в другие регистры
如果从存储器中选择一个所谓的操作微指令,其位确定所需的一组微操作,则这些位的状态被传送到处理器的门电路。 ALU 被相应地配置(用于求和、逻辑乘法、反转等),一些寄存器的内容通过它传送到其他寄存器(见图 2.2、2.8、2.9 或 2.10)

При выборке управляющей микрокоманды в устройство управления МПУ пересылается содержимое указанного в микрокоманде регистра ЭВМ, из него выделяется указанный в микрокоманде бит и сравнивается с определенным битом микрокоманды (с 0 или 1). Если результат сравнения положителен, то в счетчик микрокоманд пересылается из микрокоманды адрес, по которому должна выбираться следующая микрокоманда микропрограммы. В противном случае никаких пересылок не производится и в следующем такте будет выполняться микрокоманда, расположенная вслед за исполняемой.
选择对照微构造时,将微密码中指示的计算机寄存器的内容发送到MPU控制设备,从中提取了微密码中指示的位,并将其与一定位的微型命令(使用0或1)进行比较.如果比较的结果是肯定的,则微命令计数器从微命令发送微程序的下一个微命令应该被选择到的地址。否则,不进行任何传输,在下一个周期,位于已执行的微指令之后的微指令将被执行

Следует ясно представлять, что у описываемой здесь микропрограммируемой ЭВМ имеются две памяти, два набора команд и две программы: традиционного машинного уровня (команды табл. 2.4) и микропрограммного уровня. Однако аппаратно реализованный процессор - только один, а архитектура машины формирует микропрограммный уровень
应该清楚,这里描述的微程序计算机有两个存储器、两组指令和两个程序:传统机器级(表 2.4 中的命令)和微程序级。但是,硬件实现的处理器只有一个,机器的架构形成微程序级别

21. Структура и принципы работы арифметико-логического устройства и коммутатора. Регистр состояния БЭВМ

22. Микропрограммное управление вентильными схемами. Схема управления. Интерпретатор БЭВМ.

23. Архитектура ЭВМ. Гарвардская и фон-Неймановская архитектура. Организация обмена архитектуры ЭВМ с использованием шин.

24. Архитектура многопроцессорных ЭВМ. Системный коммутатор. Архитектуры UMA и NUMA.

25. Структура современных процессоров. Окружение процессора. CISC, RISC, VLIW.

Структура процессоров 处理器结构

26. Адресуемая память, организация и временные диаграммы. Конструктивные особенности современной памяти.

Конструктивные особенности современной памяти: 现代内存的设计特点:

27. Память, ориентированная на записи (блочная память). Организация дисковой памяти и памяти на магнитных лентах.

28. Характеристики запоминающих устройств. Пирамида памяти.

29. Ассоциативная память, Кэш-память. Влияние промахов кэш-памяти на производительность.

Процессоры всегда работали быстрее, чем память. Процессоры и память совершенствовались параллельно, поэтому это несоответствие сохранялось. Поскольку на микросхему можно помещать все больше и больше транзисторов, разработчики процессоров использовали эти преимущества для создания конвейеров и супер-скалярной архитектуры, что еще больше повышало скорость работы процессоров. Разработчики памяти обычно использовали новые технологии для увеличения емкости, а не скорости, что еще больше усугубляло проблему. На практике такое несоответствие в скорости работы приводит к следующему: после того как процессор дает запрос памяти, должно пройти много циклов, прежде чем он получит слово, которое ему нужно. Чем медленнее работает память, тем дольше процессору приходится ждать, тем больше циклов должно пройти.
处理器一直比内存快。处理器和内存并行改进,因此这种差异持续存在。随着越来越多的晶体管可以放置在芯片上,处理器设计人员利用这些优势创建了流水线和超标量架构,从而进一步提高了处理器的速度。内存设计人员通常使用新技术来增加容量而不是速度,这进一步加剧了这个问题。实际上,这种速度上的差异会导致以下情况:处理器发出内存请求后,必须经过许多周期才能收到所需的字。内存运行越慢,处理器等待的时间越长,它必须经历的周期就越多。

Есть два пути решения этой проблемы. Самый простой из них — начать считывать информацию из памяти, когда это необходимо, и при этом продолжать выполнение команд, но если какая-либо команда попытается использовать слово до того, как оно считалось из памяти, процессор должен приостанавливать работу. Чем медленнее работает память, тем чаще будет возникать такая проблема и тем больше будет проигрыш в работе. Например, если отсрочка составляет 10 циклов, весьма вероятно, что одна из 10 следующих команд попытается использовать слово, которое еще не считалось из памяти.
有两种方法可以解决这个问题。其中最简单的是在必要时开始从内存中读取信息,同时继续执行指令,但如果任何指令在从内存中读取之前尝试使用某个字,则处理器必须暂停操作。内存工作越慢,这个问题发生的频率就越高,工作的损失也就越多。例如,如果延迟为 10 个周期,那么接下来的 10 条指令中的一条很可能会尝试使用尚未从内存中读取的字。

Другое решение проблемы — сконструировать машину, которая не приостанавливает работу, но следит, чтобы программы-компиляторы не использовали слова до того, как они считаются из памяти. Однако это не так просто осуществить на практике. Часто при выполнении команды загрузки машина не может выполнять другие действия, поэтому компилятор вынужден вставлять пустые команды, которые не производят никаких операций, но при этом занимают место в памяти. В действительности при таком подходе простаивает не аппаратное, а программное обеспечение, но снижение производительности при этом такое же.
该问题的另一个解决方案是构建一个不会暂停的机器,但要确保编译器程序在从内存中读取字之前不使用字。然而,这在实践中并不那么容易实现。通常,当执行加载命令时,机器无法执行任何其他操作,因此编译器被迫插入空命令,这些命令除了占用内存空间之外什么都不做。实际上,使用这种方法,空闲的不是硬件,而是软件,但性能下降是一样的。

На самом деле эта проблема не технологическая, а экономическая. Инженеры знают, как построить память, которая будет работать так же быстро, как и процессор, но при этом ее приходится помещать прямо на микросхему процессора (поскольку информация через шину поступает очень медленно). Установка большой памяти на микросхему процессора делает его больше и, следовательно, дороже, и даже если бы стоимость не имела значения, все равно существуют ограничения в размерах процессора, который можно сконструировать. Таким образом, приходится выбирать между быстрой памятью небольшого размера и медленной памятью большого размера. Мы бы предпочли память большого размера с высокой скоростью работы по низкой цене. Маленькая память с высокой скоростью работы называется кэш-памятью (от французского слова cacher «прятать»). Основная идея кэш-памяти проста: в ней находятся слова, которые чаще всего используются. Если процессору нужно какое-нибудь слово, сначала он обращается к кэш-памяти. Только в том случае, если слова там нет, он обращается к основной памяти. Если значительная часть слов находится в кэш-памяти, среднее время доступа значительно сокращается. Таким образом, успех или неудача зависит от того, какая часть слов находится в кэш-памяти. Давно известно, что программы не обращаются к памяти наугад. Если программе нужен доступ к адресу А, то скорее всего после этого ей понадобится доступ к адресу, расположенному поблизости от А. Практически все команды обычной программы (за исключением команд перехода и вызова процедур) вызываются из последовательных участков памяти. Кроме того, большую часть времени программа тратит на циклы, когда ограниченный набор команд выполняется снова и снова. Точно так же при манипулировании матрицами программа скорее всего будет обращаться много раз к одной и той же матрице, прежде чем перейдет к чему-либо другому.
其实这个问题不是技术问题,而是经济问题。工程师知道如何构建与处理器一样快的内存,但必须直接放置在处理器芯片上(因为通过总线的信息非常慢)。在处理器芯片上放置大量内存会使其更大,因此更昂贵,即使成本无关紧要,可构建的处理器大小仍然存在限制。因此,必须在快速小内存和慢大内存之间进行选择。我们更喜欢价格低廉的高速大内存。具有高速操作的小内存称为缓存内存(来自法语单词cacher“隐藏”)。缓存的基本思想很简单:它包含使用最多的单词。如果处理器需要一个字,它首先访问缓存。只有当单词不存在时,它才会访问主存储器。如果大部分字在缓存中,则平均访问时间会显着减少。因此,成功或失败取决于缓存中有多少单词。众所周知,程序不会随机访问内存。如果一个程序需要访问地址 A,那么它很可能需要访问位于 A 附近的地址。普通程序中的几乎所有指令(除了跳转和过程调用)都是从连续的内存位置调用的。此外,程序的大部分时间都花在循环中,当一组有限的指令被一遍又一遍地执行时。同样,在处理矩阵时,程序可能会多次访问同一个矩阵,然后再进行其他操作。

То, что при последовательных отсылках к памяти в течение некоторого промежутка времени используется только небольшой ее участок, называется принципом локальности. Этот принцип составляет основу всех систем кэш-памяти. Идея состоит в следующем: когда определенное слово вызывается из памяти, оно вместе с соседними словами переносится в кэш-память, что позволяет при очередном запросе быстро обращаться к следующим словам. Если слово считывается или записывается k раз, компьютеру понадобится сделать 1 обращение к медленной основной памяти и к-1 обращений к быстрой кэш-памяти. Чем больше к, тем выше общая производительность.
在一段时间内连续引用内存的过程中,只有一小部分被使用,这一事实称为局部性原则。这个原则是所有缓存系统的基础。这个想法是,当从内存中检索到特定单词时,它与相邻单词一起被传输到缓存,这允许下一个请求快速访问下一个单词。如果一个单词被读取或写入 k 次,计算机将需要对慢速主存进行 1 次访问,对快速缓存进行 -1 次访问。 k越大,整体性能越高。

Одной из самых эффективных технологий одновременного увеличения пропускной способности и уменьшения времени ожидания является применение нескольких блоков кэш-памяти. Основная технология — введение отдельной кэш-памяти для команд и отдельной для данных (разделенной кэш-памяти). Такая кэш-память имеет несколько преимуществ. Во-первых, операции могут начинаться независимо в каждой кэш-памяти, что удваивает пропускную способность системы памяти. Именно по этой причине в микроархитектуре Mic-1 нам понадобились два отдельных порта памяти: особый порт для каждой кэш-памяти. Отметим, что каждая кэш-память имеет независимый доступ к основной памяти.
同时增加吞吐量和减少延迟的最有效技术之一是使用多个缓存块。主要技术是引入了单独的指令缓存和单独的数据缓存(共享缓存)。这种高速缓冲存储器有几个优点。首先,操作可以在每个缓存中独立启动,从而使内存系统的吞吐量翻倍。正是出于这个原因,我们在 Mic-1 微架构中需要两个单独的内存端口:每个缓存都有一个单独的端口。请注意,每个缓存都可以独立访问主存。

В настоящее время многие системы памяти гораздо сложнее этих. Между разделенной кэш-памятью и основной памятью часто помещается кэш-память второго уровня. Вообще говоря, может быть три и более уровней кэш-памяти, поскольку требуются более продвинутые системы. Прямо на микросхеме центрального процессора находится небольшая кэш-память для команд и небольшая кэш-память для данных, обычно от 16 до 64 Кбайт. Есть еще кэш-память второго уровня, которая расположена не на самой микросхеме процессора, а рядом с ним в том же блоке. Эта кэш-память обычно не является разделенной и содержит смесь данных и команд. Ее размер — от 512 Кбайт до 1 Мбайт. Кэш-память третьего уровня находится на той же плате, что и процессор, и обычно состоит из статического ОЗУ в несколько мегабайтов, которое функционирует гораздо быстрее, чем динамическое ОЗУ основной памяти. Обычно все содержимое кэш-памяти первого уровня находится в кэш-памяти второго уровня, а все содержимое кэш-памяти второго уровня находится в кэш-памяти третьего уровня.
目前,许多内存系统比这些复杂得多。 L2 缓存通常位于共享缓存和主存之间。一般来说,由于需要更高级的系统,因此可能存在三个或更多缓存级别。直接在 CPU 芯片上的是小型指令缓存和小型数据缓存,通常为 16 到 64 KB。还有一个二级缓存,它不在处理器芯片本身上,而是在它旁边的同一个块中。此缓存通常不分区,包含数据和指令的混合。它的大小从 512 KB 到 1 MB。 L3 高速缓存与处理器在同一块板上,通常由几兆字节的静态 RAM 组成,这比主存储器 DRAM 快得多。通常,一级缓存的全部内容驻留在二级缓存中,二级缓存的全部内容驻留在三级缓存中。

Ассоциативная память (АП) или ассоциативное запоминающее устройство (АЗУ) - специальный вид машинной памяти, используемый в приложениях очень быстрого поиска. Известна также под терминами «память, адресуемая по содержимому», «ассоциативное запоминающее устройство», «контентно-адресуемая память» или «ассоциативный массив», хотя последний термин чаще используется в программировании для обозначения структуры данных
关联存储器 (AP) 或关联存储设备 (AMU) 是一种特殊类型的计算机存储器,用于非常快速的搜索应用程序。也称为内容可寻址存储器、关联存储、内容可寻址存储器或关联数组,尽管后者在编程中更常用于指代数据结构。

В ассоциативной памяти элементы выбираются не по адресу, а по содержимому. Поясним последнее понятие более подробно. Для памяти с адресной организацией было введено понятие минимальной адресуемой единицы (МАЕ) как порции данных, имеющей индивидуальный адрес. Введем аналогичное понятие для ассоциативной памяти, и будем эту минимальную единицу хранения в ассоциативной памяти называть строкой ассоциативной памяти (СтрАП). Каждая СтрАП содержит два поля: поле тега (англ. tag — ярлык, этикетка, признак) и поле данных. Запрос на чтение к ассоциативной памяти словами можно выразить следующим образом: выбрать строку (строки), у которой (у которых) тег равен заданному значению. Особо отметим, что при таком запросе возможен один из трех результатов: имеется в точности одна строка с заданным тегом; имеется несколько строк с заданным тегом; нет ни одной строки с заданным тегом. Поиск записи по признаку — это действие, типичное для обращений к базам данных, и поиск в базе зачастую чвляется ассоциативным поиском. Для выполнения такого поиска следует просмотреть все записи и сравнить заданный тег с тегом каждой записи. Это можно сделать и при использовании для хранения записей обычной адресуемой памяти (и понятно, что это потребует достаточно много времени — пропорционально количеству хранимых записей!). Об ассоциативной памяти говорят тогда, когда ассоциативная выборка данных из памяти поддержана аппаратно.
在相联存储器中,元素不是按地址选择的,而是按内容选择的。让我们更详细地解释最后一个概念。对于具有地址组织的内存,引入了最小可寻址单元 (MAU) 的概念作为具有单独地址的一段数据。让我们为联想记忆引入一个类似的概念,我们将联想记忆中的这个最小存储单元称为联想记忆串(STRAP)。每个 StrAP 包含两个字段:一个标签字段(eng.tag - label、label、sign)和一个数据字段。对相联存储器的读请求可以用如下的字来表示:选择标记等于给定值的一行(多行)。特别是,对于这样的查询,可能会出现以下三种结果之一: 恰好有一行带有给定标签;给定标签有多行;没有给定标签的行。按属性搜索记录是数据库访问的典型活动,搜索数据库通常是关联搜索。要执行这样的搜索,您必须查看所有条目并将给定标签与每个条目的标签进行比较。这也可以在使用普通可寻址内存存储记录时完成(很明显,这将需要大量时间 - 与存储记录的数量成正比!)。当硬件支持从内存中关联获取数据时,我们就谈到了关联内存。

Итак, мы разобрались с назначением кэша процессора, а теперь рассмотрим базовые принципы работы кэша, которые позволяют ему решать свою основную задачу.
所以,我们弄清楚了处理器缓存的用途,现在让我们看看缓存的基本原理,它可以让它解决它的主要任务。

Кэш состоит из контроллера и собственно кэш¬памяти. Кэш-контроллер управляет работой кэш¬памяти, то есть загружает в нее нужные данные из оперативной памяти и возвращает, когда нужно, модифицированные процессором данные в оперативную память. Архитектурно кэш¬контроллер расположен между процессором и оперативной памятью (рис. 1). Перехватывая запросы к оперативной памяти, кэш¬контроллер определяет, имеется ли копия затребованных данных в кэше. Если такая копия там есть, то это называется кэш¬попаданием (cache hit) — в таком случае данные очень быстро извлекаются из кэша (существенно быстрее, чем из оперативной памяти). Если же требуемых данных в кэше нет, то говорят о кэш¬промахе (cache miss) — тогда запрос данных переадресуется к оперативной памяти.
缓存由控制器和缓存本身组成。高速缓存控制器管理高速缓存存储器的操作,即,它将必要的数据从主存储器加载到其中,并在必要时将处理器修改的数据返回到主存储器。在架构上,缓存控制器位于处理器和 RAM 之间(图 1)。通过拦截对 RAM 的请求,缓存控制器确定缓存中是否存在请求数据的副本。如果存在这样的副本,则这称为缓存命中 - 在这种情况下,数据会非常快速地从缓存中检索(比从 RAM 中快得多)。如果所需的数据不在缓存中,那么他们说缓存未命中 - 然后数据请求被重定向到 RAM。

Для достижения наивысшей производительности кэш-промахи должны происходить как можно реже (в идеале — отсутствовать). Учитывая, что по емкости кэш-память намного меньше оперативной памяти, добиться этого не так-то просто. А потому основная задача кэш-контроллера заключается в том, чтобы загружать кэш-память действительно нужными данными и своевременно удалять из нее данные, которые больше не понадобятся. Важно понимать, что кэш всегда «полон», так как оставлять часть кэш-памяти пустой нерационально. Новые данные попадают в кэш только путем вытеснения (замещения) каких-либо старых данных.
为了获得最佳性能,缓存未命中应尽可能少地发生(理想情况下,没有)。考虑到缓存的容量比RAM小很多,这不是那么容易实现的。因此,高速缓存控制器的主要任务是将真正需要的数据加载到高速缓存中,并及时从中删除不再需要的数据。重要的是要理解缓存总是“满的”,因为将缓存的一部分留空是不合理的。新数据只有通过驱逐(替换)一些旧数据才能进入缓存。

Загрузка кэша данными реализуется на основе так называемой стратегии кэширования, а выгрузка данных — на основе политики замещения.
用数据加载缓存是基于所谓的缓存策略实现的,卸载数据是基于替换策略的。

30. Предназначение и организация виртуальной памяти. Сегментно-страничная организация. Устройство управления памятью (MMU), буфер трансляции (TLB).

Виртуальная память – технология управления памятью ЭВМ, благодаря которому операционная система может обращаться к памяти, большей, чем память, фактически установленная в компьютере. Это достигается за счет помещения данных в свободное дисковое пространство внешнего ЗУ, которое задействовано в роли оперативной памяти. Необходимо понимать, что часть программ, которые мы не смогли разместить в оперативной памяти из-за её нехватки, теперь будут размещены на ВЗУ и это будет эквивалентно размещению в оперативной памяти. Использование ВЗУ очень удобно, так как в это время пользователь оперирует с общим адресным пространством и ему безразлично, какая физическая память при этом используется: внешняя или внутренняя.
虚拟内存是一种计算机内存管理技术,它允许操作系统访问比计算机中实际安装的内存更大的内存。这是通过将数据放置在用作 RAM 的外部存储器的空闲磁盘空间中来实现的。必须理解的是,一些我们由于缺少而无法放入 RAM 的程序现在将放在 ВЗУ 上,这将相当于放入 RAM 中。 ВЗУ 的使用非常方便,因为此时用户使用公共地址空间进行操作,使用什么物理内存对他来说并不重要:外部或内部。

В большинстве современных ОС виртуальная память организуется с помощью страничной адресации. ОП делится на страницы: области памяти фиксированной длины, которые являются минимальной единицей выделяемой памяти. Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Если страница выгружена из ОП, то ОС подкачивает страницу с жёсткого диска. При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти.
在大多数现代操作系统中,虚拟内存是使用分页来组织的。 RAM 分为页:固定长度的内存区域,是分配内存的最小单位。进程使用虚拟内存地址访问内存,该地址包含页码和页内的偏移量。如果页面是从操作系统卸载的,那么操作系统会从硬盘下载页面。当请求内存分配时,操作系统可以将长时间未访问的页面“刷新”到硬盘中。关键数据(例如,运行和运行程序的代码、系统内核的代码和内存)通常位于 RAM 中

Сегментная организация – механизм организации виртуальной памяти, при котором виртуальное пространство делится на части произвольного размера — сегменты. Для каждого сегмента, как и для страницы, могут быть назначены права доступа к нему пользователя и его процессов. При загрузке процесса часть сегментов помещается в оперативную память, а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в оперативной памяти несмежные участки. Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
段组织是一种组织虚拟内存的机制,其中虚拟空间被分成任意大小的部分——段。对于每个段以及页面,可以分配用户及其进程对其的访问权限。当一个进程被加载时,一些段被放置在 RAM 中,一些段被放置在磁盘内存中。一个程序的段可以占用 RAM 中的非连续区域。这种内存分配方法的缺点是段级别的碎片和与分页相比较慢的地址转换

Чтобы добавить поддержку виртуальной памяти, достаточно между процессором и оперативной памятью разместить MMU, которое будет транслировать виртуальные адреса (адреса, используемые в программе) в физические (адреса, попадающие на вход микросхем памяти). Такое расположение очень удобно — MMU используется только тогда, когда процессор обращается к памяти (например, при промахе кэша), а все остальное время не используется и экономит электроэнергию. Кроме того, в этом случае MMU почти не влияет на быстродействие процессора.
为了增加对虚拟内存的支持,在处理器和 RAM 之间放置一个 MMU 就足够了,它将虚拟地址(程序中使用的地址)转换为物理地址(落在内存芯片输入上的地址)。这种安排非常方便——MMU 仅在处理器访问内存时使用(例如,在缓存未命中期间),其余时间不使用它并节省电力。此外,在这种情况下,MMU 对处理器的速度几乎没有影响。

Выглядит этот процесс так: 这个过程看起来像这样:

  1. Процессор подает на вход MMU виртуальный адрес 处理器为 MMU 输入提供一个虚拟地址
  2. Если MMU выключено или если виртуальный адрес попал в нетранслируемую область, то физический адрес просто приравнивается к виртуальному 如果 MMU 被禁用或者如果虚拟地址在未翻译的区域中,那么物理地址就等于虚拟地址
  3. Если MMU включено и виртуальный адрес попал в транслируемую область, производится трансляция адреса, то есть замена номера виртуальной страницы на номер соответствующей ей физической страницы (смещение внутри страницы одинаковое): 如果启用了MMU,并且虚拟地址在翻译区,则进行地址翻译,即虚拟页号替换为对应的物理页号(页内偏移量相同):
    • Если запись с нужным номером виртуальной страницы есть в TLB, то номер физической страницы берется из нее же
      如果在 TLB 中存在具有所需虚拟页号的条目,则从中获取物理页号
    • Если нужной записи в TLB нет, то приходится искать ее в таблицах страниц, которые операционная система размещает в нетранслируемой области ОЗУ (чтобы не было промаха TLB при обработке предыдущего промаха). Поиск может быть реализован как аппаратно, так и программно — через обработчик исключения, называемого страничной ошибкой (page fault). Найденная запись добавляется в TLB, после чего команда, вызвавшая промах TLB, выполняется снова. 如果TLB中没有需要的入口,那么就得在操作系统分配在RAM的非翻译区的页表中查找(这样在处理前一个 miss 的时候就没有 TLB miss了)。搜索可以在硬件和软件中实现 - 通过称为页面错误的异常处理程序。找到的条目被添加到 TLB,之后再次执行导致 TLB 未命中的指令

TLB: 转译后备缓冲器、页表缓存、转址旁路缓存

31. Сетевые технологии, Понятие сети ЭВМ, классификация компьютерных сетей. Сообщение и пакет. Модель взаимодействия открытых систем.

32. Модель TCP/IP: передающая среда, канальный и сетевой уровень. Адресация, передача и маршрутизация пакетов.

Модель TCP/IP: TCP/IP 模型:TCP/IP 模型:

Уровень передающей среды: 传输介质级

Канальный уровень Ethernet: 以太网链路层:

Ethernet фрейм определяет формат сообщения данных, передаваемых по сети. Формат сообщения содержит несколько полей информации, в том числе данных, подлежащих передаче. Блок данных определяется как фактические данные, которые будут отправлены, и может содержать от 46 до 1500 байт двоичной информации. Длина блока данных определяется и включается в сообщении в качестве поля для приемника, чтобы определить, какая часть сообщения представляет собой данные.
以太网帧定义了通过网络发送的数据消息的格式。消息格式包含多个信息字段,包括要传输的数据。数据块定义为要发送的实际数据,可以包含 46 到 1500 字节的二进制信息。数据块长度被确定并包含在消息中,作为接收方确定消息中有多少是数据的字段。

MAC-адрес является шести байтовым двоичным номером набора, который включает в себя информацию источника и назначения для узлов. MAC-адрес включен в каждое сообщение и передается через сеть, а каждый узел сети Ethernet имеет уникальный MAC-адрес. MAC-адрес (Media Access Control — управление доступом к носителю) — это уникальный идентификатор, присваиваемый каждой единице оборудования компьютерных сетей.
MAC 地址是一个六字节的二进制集数,其中包括节点的源和目标信息。 MAC地址包含在每条消息中并通过网络传输,以太网上的每个节点都有一个唯一的MAC地址。 MAC(媒体访问控制)地址是分配给每台计算机网络设备的唯一标识符。

Сетевой уровень: 网络层

Сетевой уровень предназначендля доставки пакетов от источника в пункт назначения, вероятно через множество физических сетей (линий связи). Сетевой уровень гарантирует, что каждый пакет будет доставлен от его исходной точки к его конечному пункту назначения. Некоторые обязанности сетевого уровня включают логическую адресацию и маршрутизацию.
网络层旨在将数据包从源传递到目的地,可能跨越多个物理网络(链路)。网络层确保每个数据包都从其来源传送到其最终目的地。一些网络层职责包括逻辑寻址和路由。

Сетевой уровень предназначен для доставки отдельных пакетов от хоста источника до хоста пункта назначения.
网络层旨在将单个数据包从源主机传递到目标主机。

Internet-протокол (IP). IP - механизм передачи, используемый в соответствии с протоколами TCP/IP. Это ненадежное без установления соединения обслуживание с лучшими намерениями..Термин “ с лучшими намерениями”. означает, что IP не обеспечивает проверки ошибок или выбор оптимального маршрута. IP учитывает ненадежность основных уровней и “прилагает все усилия”, чтобы передать информацию к пункту назначения, но без гарантий. IP транспортирует данные в пакетах, называемых дейтаграммами, каждая из которых транспортируется отдельно. Дейтаграммы могут перемещаться по различным маршрутам и могут прибыть не в исходной последовательности или оказаться продублированными. IP не сохраняет порядок и список маршрутов и не имеет никаких средств для того, чтобы исправить дейтаграммы, однажды прибывшие в пункт назначения. Ограниченные функциональные возможности IP нельзя рассматривать как слабость. IP обеспечивает только функции передачи. Пользователь может добавить те средства, которые необходимы для данного приложения, и таким образом обеспечить максимальную эффективность.
互联网协议(IP)。 IP 是根据 TCP/IP 协议使用的传输机制。这是一个无连接的、不可靠的服务,出于好意。这个词是“善意的”。意味着 IP 不提供错误检查或最佳路由选择。 IP 考虑到底层的不可靠性,并“尽最大努力”将信息送到目的地,但没有任何保证。 IP 以称为数据报的数据包的形式传输数据,每个数据报都是单独传输的。数据报可能会沿着不同的路径传播,并且可能会乱序到达或被复制。 IP 不保留路由的顺序和列表,并且一旦数据报到达目的地,就无法更正数据报。 IP 的有限功能不应被视为弱点。 IP只提供传输功能。用户可以添加给定应用程序所需的工具,从而确保最大效率。

Маршрутизация (Routing) — это процесс по определению/вычислению лучшего маршрута движения для данных в сетях связи. Есть еще второе определение — это передача пакетов данных от отправителя к получателю.
路由(Routing)是为通信网络中的数据确定/计算最佳流量路由的过程。还有另一个定义——这是从发送方到接收方的数据包传输

Функцию роутинга могут выполнять: 路由功能可以通过以下方式执行:

Таблица маршрутизации — это файл-электронная таблица или база данных, которая располагается на маршрутизаторе или специально настроенном компьютере. В ней описывается соответствие адресов назначения с интерфейсами, через которые необходимо производить отправку данных до следующего маршрутизатора.
路由表是驻留在路由器或专门配置的计算机上的电子表格文件或数据库。它描述了目标地址与接口的对应关系,需要通过这些接口将数据发送到下一个路由器

Таблица содержит: 该表包含:

Может заполняться как вручную, так и автоматически.
它可以手动和自动填充

33. Модель TCP/IP: выделение адресов (DHCP), сервисы имен, транспортный и прикладной уровни.

34. Интерфейсы ввода-вывода. Контроллеры внешних устройств. Уровни стандартизации, сопряжения с системной шиной, циклы обмена. Регистры контроллера.

35. Параллельная передача данных. Контроллеры параллельной передачи и приема.

Параллельная передача данных в ВУ под управлением программы асинхронного обмена:
在异步交换程序的控制下并行向 VU 传输数据:

  1. Процессор микроЭВМ проверяет готовность ВУ к приему данных
    微机处理器检查 VU 是否准备好接收数据
  2. Если ВУ готово к приему данных (логический 0 в регистре А2), то данные передаются из шины данных системного интерфейса в регистр данных А1 контроллера и далее в ВУ. Иначе повторяется пункт 1. 如果VU准备好接收数据(寄存器A2中的逻辑0),则数据从系统接口数据总线传送到控制器的数据寄存器A1,然后传送到VU。否则,重复第 1 点。

В шине связи с ВУ используются 2 управляющих сигнала. Для формирования управляющего сигнала «Выходные данные готовы» и приема из ВУ управ. сигнала «Данные приняты» в контроллере используется одноразрядный адресуемый регистр состояния и управления А2. Одновременно с записью очередного байта данных из шины данных сист. интерфейса в адресуемый регистр данных контроллера А1 в регистр состояния и управления записывается логическая единица (формируется управляющий сигнал «Выходные данные готовы»).
与 VU 的通信总线使用 2 个控制信号。形成控制信号“输出数据就绪”并接收来自 VU 的控制。控制器中的“数据接收”信号使用单比特可寻址状态和控制寄存器 A2。同时从数据总线系统记录下一个字节的数据。接口中,向状态和控制寄存器中的控制器A1的可寻址数据寄存器写入一个逻辑单元(产生“输出数据就绪”控制信号)。

ВУ, приняв байт данных, управ. сигналом «Данные приняты» обнуляет регистр состояния. При этом формируется:
VU,已经收到一个数据字节,控制。信号“数据接收”复位状态寄存器。这将创建:

  1. Управ. сигнал сист. интерфейса «Готовность ВУ» 控制系统信号界面“VU 准备就绪”
  2. Признак готовности ВУ к обмену, передаваемый в процессор по одной из линий шины данных VU 准备好交换的标志,通过其中一条数据总线传输到处理器

Алгоритм асинхронного ввода: 异步输入算法:

  1. Процессор проверяет наличие данных в регистре данных контроллера А1
    处理器检查控制器 A1 的数据寄存器中的数据
  2. Если данные готовы (логическая 1 в регистре А2), то они передаются из регистра данных А1 в шину данных системного интерфейса и далее в регистр процессора или ячейку памяти микроЭВМ. Иначе повторяется пункт 1.
    如果数据准备好(寄存器A2中的逻辑1),则将它们从数据寄存器A1传送到系统接口数据总线,然后传送到处理器寄存器或微机存储单元。否则,重复第 1 点。

Для формирования управляющего сигнала «Данные приняты» и приема из ВУ управ. сигнала «Данные от ВУ готовы» в контроллере используется одноразрядный адресуемый регистр состояния и управления А2.
形成控制信号“Data received”并从 VU 控制接收。控制器中的信号“来自 VU 的数据已准备好”使用一位可寻址状态和控制寄存器 A2。

ВУ записывает в регистр данных контроллера А1 очередной байт данных и управ. сигналом «Данные от ВУ готовы» устанавливает в единицу регистр состояния и управления А2. При этом формируется:
VU 将下一个字节的数据和控制写入控制器 A1 的数据寄存器。信号“来自 VU 的数据准备就绪”将状态和控制寄存器 A2 设置为 1。这将创建:

  1. Управ. сигнал сист. интерфейса «Готовность ВУ»
    控制系统信号界面“VU 准备就绪”
  2. Признак готовности ВУ к обмену, передаваемый в процессор по одной из линий шины данных VU 准备好交换的标志,通过其中一条数据总线传输到处理器

Так контроллер извещает процессор о готовности данных в регистре А1. Процессор читает байт данных из регистра данных контроллера и обнуляет регистр состояния и управления А2. При этом формируется управляющий сигнал «Данные приняты».
因此控制器通知处理器寄存器 A1 中的数据已准备好。处理器从控制器数据寄存器中读取一个数据字节并复位状态和控制寄存器 A2。在这种情况下,产生控制信号“数据接收”。

36. Синхронные последовательные интерфейсы. Контроллеры последовательной передачи и приема.

8-ми разрядный буферный регистр контроллера А1 - для временного хранения байта данных до его загрузки в сдвиговый регистр. Запись байта данных в буферный регистр происходит при наличии 1 в регистре состояния А2. Содержимое этого регистра передается в процессор по одной из линий шины данных и используется для формирования управ. сигнала «Готовность ВУ». При записи очередного байта в регистр А1 обнуляется регистр А2.
控制器 A1 的 8 位缓冲寄存器 - 用于在将数据字节加载到移位寄存器之前临时存储它。当状态寄存器 A2 为 1 时,将一个数据字节写入缓冲寄存器。该寄存器的内容通过其中一条数据总线传输到处理器,并用于形成控制。信号“VU 准备就绪”。当下一个字节写入寄存器 A1 时,寄存器 A2 被复位。

В сдвиговом регистре происходит преобразование данных из параллельного формата в последовательный и передача их в линию связи. По очередному тактовому импульсу содержимое сдвигового регистра сдвигается на 1 разряд вправо и в линию связи «Данные» выдается значение очередного разряда. Одновременно со сдвигом по линии «Синхронизация» передается тактовый импульс.
在移位寄存器中,数据从并行格式转换为串行格式并传输到通信线路。在下一个时钟脉冲上,移位寄存器的内容右移 1 位,下一位的值输出到“数据”通信线。与移位同时,时钟脉冲沿“同步”线传输。

Количество переданных в линию тактовых сигналов (переданных бит) подсчитывается счетчиком тактовых импульсов. Как только его содержимое равно 7(передано 8 бит информации) формируется управляющий сигнал «Загрузка» и происходит запись в сдвиговый регистр очередного байта из буферного. Устанавливается в 1 регистр состояния. Следующим тактовым импульсом счетчик будет сброшен в 0 и начнется очередной цикл выдачи 8 бит из сдвигового регистра в линию связи.
在线路上传输的时钟信号(传输位)的数量由时钟计数器计数。一旦其内容等于 7(传输 8 位信息),就会生成控制信号“Load”,并将缓冲区中的下一个字节写入移位寄存器。设置为 1 个状态寄存器。下一个时钟脉冲会将计数器重置为 0,并开始从移位寄存器向通信线发出 8 位的下一个周期。

Буферный регистр контроллера А1 - для временного хранения байта , поступившего из сдвигового регистра. Чтение байта данных из буферного регистра происходит при наличии 1 в регистре состояния А2.
缓冲寄存器控制器 A1 - 用于临时存储从移位寄存器接收到的字节。当状态寄存器 A2 为 1 时,会从缓冲寄存器中读取数据字节。

Данные, поступающие из линии связи в последовательном коде преобразуются в параллельный с помощью сдвигового регистра. Линия «Данные» подключается в контроллере к последовательному входу сдвигового регистра, а линия «Синхронизация» - на управ. вход «Сдвиг» и на вход счетчика тактовых импульсов. По тактовому импульсу по линии «Синхронизация» производится сдвиг содержимого сдвигового регистра на 1 разряд влево и запись очередного бита данных из линии «Данные» в младший разряд этого регистра. Одновременно увеличивается на 1 счетчик тактовых импульсов. Как только он становится равным 7 формируется управ. сигнал «Запись» и происходит запись в буферный регистр байта из сдвигового. Устанавливается в 1 регистр состояния.
来自串行代码的通信线路的数据使用移位寄存器转换为并行代码。控制器中的“数据”线连接到移位寄存器的串行输入,“同步”线连接到控制器。输入“移位”和时钟脉冲计数器的输入。根据“同步”线上的时钟脉冲,移位寄存器的内容左移 1 位,并将下一个数据位从“数据”线写入该寄存器的最低有效位。同时,时钟计数器加 1。一旦它等于 7,就形成了控制。 “写”信号和一个字节从移位写入缓冲寄存器。设置为 1 个状态寄存器。

При передаче байта данных из буферного регистра в шину данных регистр состояния обнуляется (т.е. в сдвиговый регистр принимается очередной байт информации).
当一个数据字节从缓冲寄存器传送到数据总线时,状态寄存器被复位(即下一个字节的信息被接收到移位寄存器中)。

37. Асинхронный обмен. Принципы деления частоты, формат кадра.

38. Контроллер передачи асинхронного последовательные интерфейса.

Процесс передачи 转移过程

  1. После передачи предыдущих байтов данных в Регистр Состояния А2 записывается 1, что информирует процессор о готовности контроллера к приему следующего байта данных и передаче его по линии связи в ВУ. Он же запрещает формирование импульсов со схемы выработки импульсов сдвига – делителя частоты тактового генератора на 16 (счетчик по mod 16). Счетчик импульсов сдвига (счетчик по mod 10) находится в нулевом состоянии, и его единичный выходной сигнал поступает на вентиль И, подготавливая цепь выработки сигнала загрузки сдвигового регистра.
    传输完前面的数据字节后,将 1 写入状态寄存器 A2,通知处理器控制器已准备好接收下一个数据字节并通过通信线路将其传输到 VU。它还禁止从移位脉冲生成电路形成脉冲 - 时钟发生器的分频器 16(mod 16 计数器)。移位脉冲计数器(mod 10 计数器)处于零状态,其单位输出信号馈入与门,为产生移位寄存器加载信号的电路做准备。
  2. Процессор, выполняя команду «Вывод», выставляет передаваемый байт на шине данных и формирует управляющий сигнал системного интерфейса «Вывод».
    处理器执行“Output”命令,设置数据总线上传输的字节,并产生“Output”系统接口的控制信号。
  3. По сигналу «Вывод» в контроллере происходит запись передаваемого байта в буферный регистр А1, сброс регистра состояния А2 и формирование на вентиле И сигнала «Загрузка». 根据“Output”信号,控制器将发送的字节写入缓冲寄存器A1,复位状态寄存器A2,并在与门产生“Load”信号。
  4. Передаваемый бит переписывается в разряды 1..8 сдвигового регистра, в 0 разряд записывается нуль – стартовый бит, а в разряды 9 и 10 единицы – стоповые биты. 发送的位被重写到移位寄存器的位 1..8,位 0 写入零 - 起始位,位 9 和 10 是 1 - 停止位。
  5. Снимается сигнал «Сброс» с делителя частоты, он начинает накапливать импульсы генератора тактовой частоты и в момент приема шестнадцатого тактового импульса срабатывает импульс сдвига (так реализовано деление частоты). “Reset”信号从分频器中移出,开始累加时钟频率发生器脉冲,在接收到第16个时钟脉冲的瞬间,触发一个移位脉冲(分频就是这样实现的)
  6. На шине «Данные» поддерживается 0 (значение стартового бита) до тех пор, пока не будет выработан первый импульс сдвига (время передачи 1 бита). Импульс сдвига изменит состояние счетчика импульсов сдвига и перепишет в нулевой разряд сдвигового регистра первый информационный бит передаваемого байта данных. Значение этого бита будет поддерживаться на линии «Данные» до следующего импульса сдвига. 在数据总线上,0(起始位的值)一直保持到第一个移位脉冲产生(1 位的传输时间)。移位脉冲会改变移位脉冲计数器的状态,并将传输的数据字节的第一个信息位重写为移位寄存器的零位。该位的值将保持在数据线上,直到下一个移位脉冲。
  7. Аналогично передаются остальные информационные биты, первый стоповый бит, и, наконец второй стоповый бит, при передаче которого счетчик импульсов сдвига снова установится в нулевое состояние. Это приведет к записи 1 в регистр состояния А2. Единичный сигнал с выхода регистра А2 запретит формирование импульсов сдвига, и информирует о готовности к приему нового байта данных. 其余信息位以类似方式传输,第一个停止位,最后是第二个停止位,在传输时,移位脉冲计数器将再次设置为零。这会将 1 写入状态寄存器 A2。来自寄存器 A2 输出的单个信号将禁止移位脉冲的形成,并通知已准备好接收新的数据字节。
  8. После завершения передачи очередного кадра (стартового бита, информационного бита и 2х- стоповых битов), на линии передачи данных поддерживается значение второго стопового бита – единицы 下一帧(起始位、信息位和2个停止位)传输完成后,数据线保持第二个停止位的值——1

39. Контроллер приема асинхронного последовательные интерфейса.

Процесс передачи 转移过程

  1. На линии «Данные» находится единица, что запрещает работу делителя частоты генератора тактовых импульсов.
    “Data”线上有一个单元,禁止时钟脉冲发生器分频器的操作。
  2. При обнаружении нулевого сигнала на линии «Данные» (смена стопового бита на стартовый), снимается сигнал «Сброс» с делителя частоты, он начинает накапливать импульсы генератора тактовой частоты.
    当在“Data”线上检测到零信号(停止位变为启动)时,“Reset”信号从分频器中移除,开始累积时钟频率发生器脉冲。
  3. Когда на счетчике накопится значение 8 (половина времени передачи бита), он выдаст сигнал, поступающий на входы сдвигового регистра и счетчика импульсов сдвига. (Таким образом уменьшается вероятность искажения данных.)
    当计数器累加值 8(位时间的一半)时,它将向移位寄存器和移位脉冲计数器的输入端输出一个信号。 (这减少了数据损坏的可能性。)
  4. Последующие сдвиги происходят после прохождения 16-ти тактовых импульсов.
    16 个时钟脉冲通过后发生后续移位。
  5. При приеме в сдвиговый регистр 9-го бита кадра (8-го инф. Бита), из него выдвинется стартовый бит, и, следовательно в сдвиговом регистра будет размещен информационный байт. В этот момент счетчик импульсов сдвига придет в нулевое состояние и на его выходе будет выработан единичный сигнал, по которому:
    当移位寄存器中接收到帧的第 9 位(第 8 位 inf.位)时,起始位将被移出,因此,一个信息字节将放入移位寄存器中。此时,移位脉冲计数器将进入零状态,并在其输出端产生单个信号,根据该信号:
    • Содержимое сдвигового регистра будет переписано в БР
      移位寄存器的内容将被写入 BR
    • В РС А2 запишется 1 и он будет информировать процессор об окончании приема очередного байта
      1 将被写入 PC A2 并通知处理器接收到下一个字节的结束
    • Вентиль И подготовится к вы работке сигнала «Сброс»(он сформируется после прихода первого стопового бита).
      与门将准备产生“复位”信号(它将在第一个停止位到达后产生)
    • Получив сигнал готовности (1 в РС А2), процессор выполнит команду «Ввод». При этом вырабатывается сигнал системного интерфейса «Ввод», по которому производится пересылка принятого байта данных из БР в процессор (сигнал «Чтение») и сброс РС А2 收到就绪信号(PC A2 中的 1)后,处理器将执行 Enter 命令。在这种情况下,产生系统接口“Input”的信号,通过该信号将接收到的数据字节从BR发送到处理器(“Read”信号)并复位RS A2

40. Организация прямого доступа к памяти. Контроллер ПДП.

Этот тип обмена реализуется полностью аппаратно и управляется контроллером прямого доступа к памяти.
这种类型的交换完全在硬件中实现,并由直接内存访问控制器控制。

Для экономии ресурсов контроллер прямого доступа к памяти не имеет свои ресурсы, а подключается к шинам данных (ШД) и адреса (ША) системного интерфейса ЭВМ, что делает невозможным одновременное использование шин контроллером прямого доступа к памяти и процессором.
为了节省资源,直接内存访问控制器没有自己的资源,而是连接到计算机系统接口的数据(ШД)和地址(ША)总线上,这使得直接内存访问控制器和处理器无法使用同时使用公共总线。

Эта проблема решается двумя способами: 这个问题可以通过两种方式解决:

  1. Захват цикла 周期捕获
    • Простой захват цикла. 简单的循环捕获 Передача происходит в те машинные циклы, в которых процессор не обменивается данными с памятью. Пометка таких циклов выполняется либо с помощью спец. указывающего цикла, либо такие циклы выбираются с помощью спец. селектирующих схем, что усложняет конструкцию процессоров.
      传输发生在处理器不与内存交换数据的机器周期中。这种循环的标记是在特殊的帮助下进行的。指向循环,或使用特殊选择此类循环。选择性电路,这使处理器的设计复杂化。

      При таком способе организации обмена прямого доступа к памяти не снижает производительности микро ЭВМ, но обмен возможно только в случайные моменты времени одиночными байтами или словами.
      使用这种组织交换直接访问内存的方法不会降低微型计算机的性能,但只能在随机时间以单个字节或字进行交换。

Контроллер ПДП ввода данных из ВУ в режиме «Захват цикла»
DMA 控制器,用于在“循环捕获”模式下从 ВУ 直接访问数据输入存储器

  1. Процессор загружает в СК контроллера количество принимаемых байтов, а в РА контроллера начальный адрес области памяти для вводимых данных.
    处理器将接收到的字节数加载到控制器的 СК 寄存器中,并将输入数据的存储区域的起始地址加载到控制器的 РА 寄存器中。
  2. Байты данных из ВУ поступают в РД контроллера, при этом каждый байт сопровождается управляющим сигналом из ВУ «Ввод данных», который обеспечивает запись байта в РД контроллера. По этому же сигналу при ненулевом состоянии СК контроллер формирует сигнал ТПДП.
    控制器的 РД 寄存器接收来自 ВУ 的数据字节,每个字节都伴随着来自 ВУ“数据输入”的控制信号,确保字节写入控制器 РД 寄存器。根据同一信号,当 СК 寄存器处于非零状态时,控制器产生 ТПДП 信号。
  3. По ответному сигналу процессора ППДП контроллер выставляет на ША и ЩД содержимое своих РА и РА.
    根据 ППДП 处理器的响应信号,控制器将其 РА 和 РА ША 和 ЩД 总线
  4. Формируя приказ «Вывод», контроллер ПДП обеспечивает запись байта данных из своего регистра данных в память микро ЭВМ.
    形成“输出”命令,DMA 控制器确保将数据字节从其数据寄存器写入微机存储器。
  5. По тому же сигналу ППДП содержимое СК декрементируется, а содержимое РА обновляется. Как только СК станет равным нулю, контроллер прекратит формирование сигналов ТПДП
    在同一个 ППДП 信号上,СК 寄存器的内容递减,РА 寄存器的内容更新。一旦 СК 寄存器变为零,控制器将停止生成 ТПДП 信号