PDP-11 Devices - Регистры устройств - Contrib - Каталог статей - Возрождение Электроники-60
PDP-11 , Электроника-60, СМ-1420 и им подобные
Главная | Каталог статей | Регистрация | Вход
Приветствую Вас Гость | RSS

Дорогие посетители.Убедительно просим Вас Загружать имеющуюся у Вас информацию (Файлы образов дисков, Исходники, Книги и т.д.) касающуюся ПЭВМ с архитектурой PDP-11.

Меню сайта
  • Создание сайтов в Усть-каменогорске
  • Люди на сайте
    Друзья Нравится
    Google
    Форма входа
    Категории раздела
    Contrib [88]
    Статьи, взятые из разных источников.
    My atticle [2]
    Статьи,написаные лично мною
    Forex [22]
    Всё о заработке на рынке FOREX
    Поиск
    Облако тэгов
    RT-11 LSI-11 PDP-11 Последняя версия RT-11 БК ДВК бк-0010 приставка Бортника сопроцессор Кроскомпилятор Схема ANDOS БК-0011 КНГМД RADIX-50 Rtty БК0010 радиосвязь сеть УКНЦ 11/70 11/83 11/93 RSX-11
    Прогноз Forex
    Котировки от Forex4You
    Открыть реальный счет
    Статистика
    Счетчик тИЦ, PR и обратных ссылок Resurs.kz: сайты Казахстана и раскрутка сайта
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Поиск
    Главная » Статьи » Contrib

    PDP-11 Devices - Регистры устройств
    PDP-11 Devices
    The PDP-11 bus, devices and their controls are described on a level
    necessary to program them.

    Although such old-fashioned devices are now quite
    obsolete, they still can teach important lessons.
    Don Knuth

    0 Bus and Interrupts

    The bus connects CPU, memory and I/O devices by bidirectional lines.
    These include 18 address lines, 16 data lines, and four interrupt
    request lines. CPU and devices initiate communication by requesting
    bus mastership. If granted, the master activates the address lines in
    order to read the addressed word, to write the addressed word or byte,
    or to specify the interrupt vector.

    Each device is wired to a request line which it activates to request an
    interrupt. The lines are numbered from 0 to 3; the BR of a device is
    defined as line number + 4. An interrupt is pending until the BR is
    greater than the CPU's IPL. If so, the device is granted bus mastership
    and uses it to address the interrupt vector. Then the request line is
    deactivated, the CPU pushes PSW and PC, loads PC and PS from the
    interrupt vector and switches to kernel mode--much like handling a trap
    instruction. If the MMU is active, the address of the interrupt vector
    is mapped to a bus address according to the data address space in
    kernel mode. If more than one device activate an interrupt line at the
    same time, the one wired to the higher numbered line is served first.
    If they are wired to the same line, the one physically placed closer to
    the bus link is selected. The CPU is interrupted only after it
    completed the current instruction.

    When a device requests the bus while transfering a block to/from memory,
    the bus might be granted to late for the device. In that case the
    "data late" error will be indicated by the device.

    The eight general CPU registers are exceptional in that they are not
    accessable through the bus but only via the panel, which is directly
    connected to the CPU.

    1 TM11/TU10 Magnetic Tape Sub System

    The TM11 device controls up to eight TU10 magnetic tape drives. The
    1/2" reel-to-reel tape used to be the standard tape from their
    introduction 1953 until around 1984, when it was replaced by cassette
    tapes (1/4" or 1/8" wide).

    Two reflecting markers on the tape indicate begin and end of tape
    (BOT/EOT). The data is recorded in a sequence of one or more files. A
    file in turn is a sequence of blocks, which are separated by interblock
    gaps (0.6 inch length). A block is a sequence of bytes. The size of a
    block ranges from one to 2^16 bytes, typically from 500 to 2000 bytes.
    The end of file is indicated by an EOF mark.

    The interblock gaps are used by the drive to speed up the tape before
    reading the next block and to slow down the tape afterwards. If
    quiescent, the tape is positioned at a gap, never inside a block.

    TU10 supports 9-track-tapes at the density of 800 bits per inch (BPI)
    and 7 track tapes at 200 and 556 BPI. Because of the way the data is
    encoded on the tape, "bits per inch" also means "bytes per inch".
    9-track-tapes encode 8-bit bytes and 7-track-tapes encode 6-bit bytes.
    A parity bit for each byte and a CRC bit pattern for each block secures
    the data, thus enabling the system to correct one bit errors and to
    detect two bit errors in a block. A tape is usually 2400' long.

    The tape has to be mounted manually and is then loaded by the drive,
    that is, the tape is positioned at the gap before the first block,
    which is also known as the load point.

    The I/O commands are (a and n are specified in device registers):

    read: Copy a block from tape to memory at [a, a+n). If the block is
    larger, copy the first n bytes and indicate an error. In any
    case, position the tape after the block. If a mark (EOF, EOT)
    is read instead of a block, copy nothing, position the tape
    after the mark, indicate the mark in the status register and
    indicate an error.

    write: Copy a block from memory at [a, a+n) to tape. Even if EOT is
    reached, try to write on the remaining space before physical
    end of tape. The tape is positioned after the new block.

    mark: Write an EOF mark, even if EOT is reached there is always enough
    space to write an EOF mark.

    The I/O control commands include:

    rewind: move the tape to the load point.

    seek n: skip forward respective backward n blocks or until a mark is
    reached, whichever comes first (n is specified in a device
    register). If a mark is reached, indicate an error.
    The tape moves at a speed of 45" per seconds.

    unload: unwind the tape from the drive's reel to the tape's reel.

    1.0 TM11 Registers
    1.0.0 Status Register (MTS; at 0772520)
    The MTS shows the state of the device and the current drive. The
    meanings of the bits are:

    Bit Meaning
    15 The last command given is illegal because
    - the device is busy executing the previous command, or
    - tried to write onto a tape beeing write locked
    - The drive is not attached to the controller
    14 at EOF
    13 Cyclic Redundancy Check (CRC)
    12 Parity check
    11 Data Late
    10 at EOT
    9 block is larger than memory buffer
    8 bad tape error
    7 memory does not exist
    6 drive is online
    5 at BOT
    4 this is a 7 track tape
    3 settling down (in an interblock gap)
    2 write locked, that is, the write enable ring is not applied to the
    reel
    1 tape is rewinding
    0 unit ready

    1.0.1 Status and Control Register (MTCS; at 0772522)
    The MTCS encodes and starts a command and shows the state of the command.
    The meaning of the command (c) and status (s) bits are:
    Bit Meaning
    15 s Error occurred, see MTS for reason
    14-13 c set density, 1=200, 2=556, 3=800 BPS
    12 c reset the device
    11 c set parity
    10-8 c drive number
    7 s last command is done
    6 c enable interrupts
    5-4 c highest two bits of bus address
    3-1 c command, encoded as: 0=unload, 1=read, 2=write, 3=mark,
    4=seek forward, 5=seek backward, 6=write with extra gap,
    7=rewind
    0 c execute the command as specified in MTCS, MTC and MTA.

    1.0.2 Count Register (MTC; at 0772524)
    Bus Address Register (MTA; at 0772526)

    During the execution of an I/O command, the MTC holds the complement of
    the number of bytes to be transfered and the MTA holds the bus address
    of the next byte to be transfered. Before an I/O command is issued,
    both registers need to be written to by the CPU. They are then
    incremented by the TM11 for each byte transfered.

    During the execution of seek commands, the MTC holds the complement of
    the number of blocks left to be skipped. As with I/O commands, it is
    to be initialized by the CPU and will be incremented by TM11 for each
    block skipped.

    1.1 BR and interrupt vector.
    If interrupts are enabled in the MTCS register, TM11 interrupts at
    224 with BR=5 whenever a command is done.
    2 RK11/RK05 Removable Disk Subsystem

    The RK11 device controls up to eight RK05 disk drives. An RK05 disk has
    two surfaces with 203 tracks each. A track holds twelve 512-byte
    blocks. The RK11 supports read/write commands one at a time, but seek
    commands can be run concurrently on different drives. The data transfer
    rate is about 400000 bytes/second and the average seek time 70 ms.

    The data to be transferred with a single I/O command start at block
    boundary and end at word boundary, possibly spanning more than one
    consecutive blocks.

    2.0 I/O Registers
    2.0.0 Drive Status (RKDS; at 0777400)
    The RKDS reports the status of the current drive. The readonly bits are
    assigned as:

    Bit Meaning
    15-13 drive number
    12 drive power low,
    11 always on, identifies the drive to be model RK05
    10 drive unsafe
    9 seek incomplete
    8 block ok
    7 drive ready
    6 read/write/seek ready
    5 write locked
    4 positioned on block requested in RKDA
    3-0 current block number

    2.0.1 Error (RKER; at 0777402)
    The RKER reports error conditions. The readonly bits are assigned as:

    Bit Meaning
    15 drive error (see RKDS for further information)
    14 overrun
    13 write command but drive is write locked
    12 seek error
    11 illegal command, RKCS
    10 memory does not exist
    9 data late, i.e., bus was granted too late to the controller
    8 timeing error
    7 drive does not exist
    6 track does not exist
    5 sector does not exist
    1 checksum error
    0 write error

    2.0.2 Control and Status (RKCS; at 0777404)
    Bit Meaning
    15 error occurred
    14 hard error
    13 seek complete
    11 inhibit increment (used for formatting)
    10 format
    8 stop on soft error
    7 command is done
    6 interrupt when done
    5-4 high bits of bus address
    3-1 command, encoded as: 0=reset controller,
    1=write, 2=read, 3=write and check,
    4=seek, 5=read and check, 6=reset drive, 7=set write lock
    0 execute the command as specified in RKCS, RKWC, RKBA and RKDA.

    2.0.3 Word count (RKWC at 0777406)
    The complement of the number of words to be transferred.
    RK11 increments the RKWC while transferring.

    2.0.4 Bus Address (RKBA at 0777410)
    The low 16 bit of the bus address which must be even.
    RK11 increments the bus address while transfering.

    2.0.5 Disk Address (RKDA at 0777412)
    The disk address is encoded as:
    Bit Meaning values
    15-13 drive [0, 7)
    12-5 track [0, 203)
    4 head [0, 2)
    3-0 block [0, 12)

    2.1 Bus request number and interrupt vector entry:
    The BR of the RK device is 5, and its vector entry is at 0220.

    3 The KL11 serial line controller.
    The KL11 attaches to a teletype (TTY) via a 20mA current loop serial
    line interface (110 baud, two stop bits, 7 bits per character). The TTY
    is a keyboard and a printer connected to a serial line. The most common
    model is the Automatic Send and Recieve 33 (ASR 33) with printing speed
    at 10 characters per second and upper case only characters. Other
    models connected to the KL11 support the complete ASCII character set.
    The TTY serves as the PDP-11 console.

    3.0 KL11 I/O registers
    The KL11 provides two registers for input and two registers for
    output. The Kl11 places a character recieved from the keyboard into
    the input buffer (IBUF at 0777562). The CPU writes a character to be
    printed into the output buffer (OBUF at 0777566). The input command and
    status register (ICSR at 0777560) and the output CSR (OCSR at 0777564)
    both have a done bit (bit 7) and an interrupt enable bit (bit 6).
    Whenever a character is recieved from the keyboard, KL11 places it into
    the IBUF and sets the done bit in the ICSR. The input done bit is
    cleared when the CPU reads the input buffer. When the CPU writes a
    character to the output buffer, KL11 clears the output done bit, sends
    the character to the printer and sets the done bit when the character
    is transmitted. After reset the input done bit is off and the output
    done bit is on. When the interrupt enable bit is set, the KL11 will
    interrupt at 60 when a character is recieved respective at 64 when a
    character is transmitted. The BR is 4.

    4 The KW11 line frequency clock.
    The CSR at 0777546 has two bits implemented, bit 7, the done bit, and
    bit 6, the interrupt enable bit. When bit 6 is set, the clock
    interrupts at 0100 at every tick. The clock is synchronized by the
    frequency of the power line, that is, it ticks 50 or 60 times a
    second. The BR is six.
    Категория: Contrib | Добавил: un7jks (10.09.2012)
    Просмотров: 525 | Рейтинг: 0.0/0 |

    Хостинг от uCoz