Table of Contents
CPU
A CHARON-AXP emulated CPU is configured with the "ace_mode" parameter enabling the high performance Advanced CPU Emulation mode ("ACE"). The ACE option optimizes the HP Alpha instruction interpretation and significantly improves performance. It also requires approximately twice the amount of host memory to store the optimized code.
ACE optimization is performed dynamically during execution. It does not need to write optimized code back to disk, ACE provides its full capability instantly. The optimization does not compromise the HP Alpha instruction decoding; CHARON-AXP remains fully HP Alpha hardware compatible and completely transparent to the HP Alpha operating systems and applications.
Parameter | Type | Values |
---|---|---|
ace_mode | Boolean | true or false. |
This statement enables the ACE mode if the CHARON-AXP license permits it. If this statement is omitted from the CHARON-AXP configuration file and the license permits it, "true" is the default, otherwise "false" is the default. For test purposes the ACE mechanism can be disabled with:
|
"set cpu ace_mode=true
" is ignored when the license does not permit ACE operation.
The CHARON-AXP log file displays the status of the ACE option.
The ACE mode is disabled when the host system does not meet the minimum physical requirements for this operation. If the emulator appears to not run at its normal performance, check the log file for a change in the ACE mode and verify that sufficient host resources, especially memory, are available.
The ACE mode can be additionally calibrated with "set ace" directive and the following parameters:
Parameter | Type | Description | |
---|---|---|---|
cpu_architecture | Text String | Specifies the architecture of the virtual Alpha CPU. Can be one of the following: EV4, EV45, EV5, EV56, EV6, EV67, EV68 Example:
| |
cache_size | Value | "cache_size" defines the amount of memory in megabytes allocated to the ACE cache. The default value of the cache_size set to 1GB (1024 MB). Example:
|
RAM
The CHARON-AXP memory subsystem is permanently loaded and has the logical name "ram".
Parameter | Type | Description |
---|---|---|
size | Numeric | Size of the emulated memory in MB. |
Example:
|
The amount of memory is capped at a maximum, this is defined in the CHARON license key. If the host system cannot allocate enough memory to map the requested emulated memory, CHARON-AXP generates an error message in the log file and reduces its effective memory size.
The following table lists the values of emulated RAM for various hardware models of virtual HP Alpha systems:
Hardware Model | RAM size (in MB) | |||
Min | Max | Default | Increment | |
AlphaServer 400 | 64 | 1024 | 512 | 64 |
AlphaServer 800 | 256 | 8192 | 512 | 256 |
AlphaServer 1000 | 256 | 1024 | 512 | 256 |
AlphaServer 1000A | 256 | 1024 | 512 | 256 |
AlphaServer 1200 | 256 | 32768 | 512 | 256 |
AlphaServer 2000 | 64 | 2048 | 512 | 64 |
AlphaServer 2100 | 64 | 2048 | 512 | 64 |
AlphaServer 4000 | 64 | 32768 | 512 | 64 |
AlphaServer 4100 | 64 | 32768 | 512 | 64 |
AlphaServer DS10 | 64 | 32768 | 512 | 64 |
AlphaServer DS15 | 64 | 32768 | 512 | 64 |
AlphaServer DS20 | 64 | 32768 | 512 | 64 |
AlphaServer DS25 | 64 | 32768 | 512 | 64 |
AlphaServer ES40 | 64 | 32768 | 512 | 64 |
AlphaServer ES45 | 64 | 32768 | 512 | 64 |
AlphaServer GS80 | 256 | 65536 | 512 | 256 |
AlphaServer GS160 | 512 | 131072 | 512 | 512 |
AlphaServer GS320 | 1024 | 262144 | 1024 | 1024 |
TOY
CHARON-AXP maintains its time and date using the "toy" (time-of-year) component. In order to preserve the time and date while a virtual system is not running, the TOY component uses a binary file on the host system to store the date and time relevant data. The name of the file is specified by the “container” option of the "toy" component.
Parameter | Type | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
container | Text string | Specifies a name for the file in which CHARON-AXP preserves the time and date during its “offline” period. This file also keeps some console parameters (such as the default boot device). By default it is left unspecified. it is recommended to specify the full path to the TOY file. | ||||||||||||||||||
sync_to_host | Text string | Specifies whether and how the guest OS time is synchronized with the CHARON host time. Syntax:
where:
Example:
To synchronize the guest OS with TOY, use the following commands:
The default value is "not specified" - it means that by default CHARON does not synchronize its guest OS time with the CHARON host time, but collects date and time from the file specified with "container" parameter. If "sync_to_host" parameter is specified there is no need to specify "container" parameter in addition. |
Example:
set toy container="C:\Charon\my_virtual_system.dat" |
The CHARON-AXP time zone may be different from that of the host system. Correct CHARON time relies on the correctness of the host system time to calculate the duration of any CHARON “offline” periods. (i.e. while the virtual system is not running). Every time CHARON comes on line it calculates a Delta time (the system time is used if there is no TOY file). Therefore, if the host system time is changed while CHARON is not running, the CHARON time may be incorrect when CHARON is restarted and the CHARON time must be set manually.
ROM
The System Flash ROM file conserves specific parameters between reboots.
Parameter | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
container | Text string | Specifies the name of a file in which CHARON-AXP stores an intermediate state of its Flash ROM. This state includes, for example, most of the console parameters. By default it is left unspecified. it is recommended to specify the full path to this file Example:
| ||||||||||||
system_name | Text string | Allows changing the system name, for example:
| ||||||||||||
system_serial_number | Text string | Allows changing the system serial number, for example:
Any sequence of characters can be used as a serial number. Sequences longer than 16 symbols are truncated to 16 symbols. Serial Numbers should be according to DEC standard: 10 characters. First two characters are capital letters, remaining 8 characters are decimal digits. By default it is set to SN01234567 | ||||||||||||
dsrdb[n] | Numeric | DSRB - Dynamic System Recognition Data Block. These parameters allow changing the emulated hardware model type. Example:
This section describes connection between "dsrdb" parameter and the rest of the parameters defining an exact HP Alpha model.
| ||||||||||||
version | Text string | Sets Console and PAL code versions in the following way:
Example:
|
Virtual HP Alpha interval timer
The CHARON-AXP provides interval timer interrupts to virtual Alpha CPU(s) at frequency 100Hz (100 interrupts a second).
This is default behavior which may be changed through “clock_period” configuration parameter of virtual ISA or EISA bus, depending on emulated hardware model of virtual HP Alpha system.
Value of the parameter is interval timer period in microseconds. By default it is set to 10000. By changing it to 1000 frequency of virtual interval timer interrupts may be increased to 1000Hz (1000 interrupts per second).
Parameter | Type | Description |
---|---|---|
clock_period | Numeric | Specifies period of interval timer, in microseconds. Only two values are supported:
By default it is set to 10000. |
Example for AlphaServer 400, DS, ES, GS:
set ISA clock_period=1000 |
Example for AlphaServer 800, 1000, 1000A, 1200, 2000, 2100, 4000, 4100:
set EISA clock_period=1000
|
Higher interval timer frequency creates higher load for virtual Alpha CPU which may cause degradation of overall virtual system performance.
Setting of a particular HP Alpha model
It is important to have the "system_name", "hw_model", "cpu_architecture" and "dsrdb[0]" (DSRB - Dynamic System Recognition Data Block) parameters in sync. (see above for details) to configure CHARON-AXP to for emulation of a particular HP Alpha model.
The following table illustrates how to synchronize those values:
HP AlphaStation 200 - 400
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_400 | AlphaStation 200 4/100 | EV4 | 1156 |
AlphaServer_400 | AlphaStation 200 4/133 | EV4 | 1088 |
AlphaServer_400 | AlphaStation 205 4/133 | EV4 | 1250 |
AlphaServer_400 | AlphaStation 255 4/133 | EV4 | 1257 |
AlphaServer_400 | AlphaStation 200 4/166 | EV4 | 1087 |
AlphaServer_400 | AlphaStation 205 4/166 | EV4 | 1251 |
AlphaServer_400 | AlphaStation 255 4/166 | EV4 | 1258 |
AlphaServer_400 | AlphaStation 400 4/166 | EV4 | 1086 |
AlphaServer_400 | AlphaStation 205 4/200 | EV4 | 1252 |
AlphaServer_400 | AlphaStation 255 4/200 | EV4 | 1259 |
AlphaServer_400 | AlphaStation 200 4/233 | EV45 | 1151 |
AlphaServer_400 | AlphaStation 205 4/233 | EV45 | 1253 |
AlphaServer_400 | AlphaStation 255 4/233 | EV45 | 1260 |
AlphaServer_400 | AlphaStation 400 4/233 | EV45 | 1152 |
AlphaServer_400 | AlphaStation 205 4/266 | EV45 | 1254 |
AlphaServer_400 | AlphaStation 255 4/266 | EV45 | 1261 |
AlphaServer_400 | AlphaServer 300 4/266 | EV45 | 1593 |
AlphaServer_400 | AlphaStation 400 4/266 | EV45 | 1153 |
AlphaServer_400 | AlphaStation 400 4/266 | EV45 | 1154 |
AlphaServer_400 | AlphaStation 200 4/300 | EV45 | 1157 |
AlphaServer_400 | AlphaStation 205 4/300 | EV45 | 1255 |
AlphaServer_400 | AlphaStation 255 4/300 | EV45 | 1262 |
AlphaServer_400 | AlphaStation 400 4/300 | EV45 | 1160 |
AlphaServer_400 | AlphaStation 205 4/333 | EV45 | 1256 |
AlphaServer_400 | AlphaStation 255 4/333 | EV45 | 1263 |
HP AlphaServer 600 - 800
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_800 | AlphaServer 600 5/333 | EV56 | 1310 |
AlphaServer_800 | AlphaServer 800 5/333 | EV56 | 1310 |
AlphaServer_800 | AlphaServer 800 5/400 | EV56 | 1584 |
AlphaServer_800 | AlphaStation 600A 5/500 | EV56 | 1590 |
AlphaServer_800 | AlphaServer 800 5/500 | EV56 | 1585 |
HP AlphaServer 1000
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_1000 | AlphaServer 1000 4/200 | EV4 | 1090 |
AlphaServer_1000 | AlphaServer 1000 4/233 | EV45 | 1091 |
AlphaServer_1000 | AlphaServer 1000 4/266 | EV45 | 1264 |
AlphaServer_1000 | AlphaServer 1000 5/300 | EV5 | 1269 |
AlphaServer_1000 | AlphaServer 1000 5/333 | EV5* | 1559 |
AlphaServer_1000 | AlphaServer 1000 5/400 | EV45* | 1312 |
AlphaServer_1000 | AlphaServer 1000 5/500 | EV45* | 1582 |
AlphaServer_1000 | AlphaServer 1000 5/500 | EV45* | 1583 |
HP AlphaServer 1000A
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_1000A | AlphaServer 1000A 4/266 | EV45 | 1265 |
AlphaServer_1000A | AlphaServer 1000A 5/300 | EV5 | 1270 |
AlphaServer_1000A | AlphaServer 1000A 5/333 | EV5 | 1558 |
AlphaServer_1000A | AlphaServer 1000A 5/400 | EV56 | 1311 |
AlphaServer_1000A | AlphaServer 1000A 5/500 | EV56 | 1580 |
AlphaServer_1000A | AlphaServer 1000A 5/500 | EV56 | 1581 |
HP AlphaServer 1200 and AlphaStation 1200
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_1200 | AlphaServer 1200 5/300 | EV5 | 1722 |
AlphaServer_1200 | AlphaServer 1200 5/300 | EV5 | 1724 |
AlphaServer_1200 | AlphaServer 1200 5/400 | EV56 | 1726 |
AlphaServer_1200 | AlphaServer 1200 5/400 | EV56 | 1728 |
AlphaServer_1200 | AlphaStation 1200 5/400 | EV56 | 1758 |
AlphaServer_1200 | AlphaStation 1200 5/400 | EV56 | 1760 |
AlphaServer_1200 | AlphaServer 1200 5/466 | EV56 | 1730 |
AlphaServer_1200 | AlphaServer 1200 5/466 | EV56 | 1732 |
AlphaServer_1200 | AlphaStation 1200 5/466 | EV56 | 1762 |
AlphaServer_1200 | AlphaStation 1200 5/466 | EV56 | 1764 |
AlphaServer_1200 | AlphaServer 1200 5/533 | EV56 | 1734 |
AlphaServer_1200 | AlphaServer 1200 5/533 | EV56 | 1736 |
AlphaServer_1200 | AlphaServer 1200 5/533 | EV56 | 1746 |
AlphaServer_1200 | AlphaServer 1200 5/533 | EV56 | 1748 |
AlphaServer_1200 | AlphaStation 1200 5/533 | EV56 | 1766 |
AlphaServer_1200 | AlphaStation 1200 5/533 | EV56 | 1768 |
AlphaServer_1200 | AlphaStation 1200 5/533 | EV56 | 1778 |
AlphaServer_1200 | AlphaStation 1200 5/533 | EV56 | 1780 |
AlphaServer_1200 | AlphaServer 1200 5/600 | EV56 | 1738 |
AlphaServer_1200 | AlphaServer 1200 5/600 | EV56 | 1740 |
AlphaServer_1200 | AlphaServer 1200 5/600 | EV56 | 1750 |
AlphaServer_1200 | AlphaStation 1200 5/600 | EV56 | 1752 |
AlphaServer_1200 | AlphaStation 1200 5/600 | EV56 | 1770 |
AlphaServer_1200 | AlphaStation 1200 5/600 | EV56 | 1772 |
AlphaServer_1200 | AlphaStation 1200 5/600 | EV56 | 1782 |
AlphaServer_1200 | AlphaStation 1200 5/600 | EV56 | 1784 |
AlphaServer_1200 | AlphaServer 1200 5/666 | EV56 | 1742 |
AlphaServer_1200 | AlphaServer 1200 5/666 | EV56 | 1744 |
AlphaServer_1200 | AlphaServer 1200 5/666 | EV56 | 1754 |
AlphaServer_1200 | AlphaServer 1200 5/666 | EV56 | 1756 |
AlphaServer_1200 | AlphaStation 1200 5/666 | EV56 | 1774 |
AlphaServer_1200 | AlphaStation 1200 5/666 | EV56 | 1776 |
AlphaServer_1200 | AlphaStation 1200 5/666 | EV56 | 1786 |
AlphaServer_1200 | AlphaStation 1200 5/666 | EV56 | 1788 |
HP AlphaServer 2000
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_2000 | AlphaServer 2000 4/200 | EV4 | 1123 |
AlphaServer_2000 | AlphaServer 2000 4/233 | EV45 | 1171 |
AlphaServer_2000 | AlphaServer 2000 4/275 | EV45 | 1127 |
AlphaServer_2000 | AlphaServer 2000 5/250 | EV5 | 1131 |
AlphaServer_2000 | AlphaServer 2000 5/300 | EV5 | 1175 |
AlphaServer_2000 | AlphaServer 2000 5/375 | EV56 | 1505 |
AlphaServer_2000 | AlphaServer 2000 5/400 | EV56 | 1517 |
HP AlphaServer 2100
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_2100 | AlphaServer 2100 4/200 | EV4 | 1059 |
AlphaServer_2100 | AlphaServer 2100 4/200 | EV4 | 1135 |
AlphaServer_2100 | AlphaServer 2100 4/233 | EV45 | 1179 |
AlphaServer_2100 | AlphaServer 2100 4/233 | EV45 | 1187 |
AlphaServer_2100 | AlphaServer 2100 4/275 | EV45 | 1115 |
AlphaServer_2100 | AlphaServer 2100 4/275 | EV45 | 1139 |
AlphaServer_2100 | AlphaServer 2100 5/250 | EV5 | 1119 |
AlphaServer_2100 | AlphaServer 2100 5/250 | EV5 | 1143 |
AlphaServer_2100 | AlphaServer 2100 5/300 | EV5 | 1183 |
AlphaServer_2100 | AlphaServer 2100 5/300 | EV5 | 1191 |
AlphaServer_2100 | AlphaServer 2100 5/375 | EV56 | 1509 |
AlphaServer_2100 | AlphaServer 2100 5/375 | EV56 | 1513 |
AlphaServer_2100 | AlphaServer 2100 5/400 | EV56 | 1521 |
AlphaServer_2100 | AlphaServer 2100 5/400 | EV56 | 1525 |
HP AlphaServer 4000
set session hw_model= | set rom system_name= | set ace cpu_architecture= | set rom dsrdb[0]= |
---|---|---|---|
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1409 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1411 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1421 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1423 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1433 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1435 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1445 |
AlphaServer_4000 | AlphaServer 4000 5/266 | EV5 | 1447 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1413 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1415 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1425 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1427 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1437 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1439 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1449 |
AlphaServer_4000 | AlphaServer 4000 5/300 | EV5 | 1451 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1417 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1419 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1429 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1431 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1441 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1443 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1453 |
AlphaServer_4000 | AlphaServer 4000 5/400 | EV56 | 1455 |
AlphaServer_4000 | AlphaServer 4000 5/466 | EV56 | 1634 |
AlphaServer_4000 | AlphaServer 4000 5/466 | EV56 | 1636 |
AlphaServer_4000 | AlphaServer 4000 5/466 | EV56 | 1654 |
AlphaServer_4000 | AlphaServer 4000 5/466 | EV56 | 1656 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1638 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1640 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1642 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1644 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1658 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1660 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1662 |
AlphaServer_4000 | AlphaServer 4000 5/533 | EV56 | 1664 |
AlphaServer_4000 | AlphaServer 4000 5/600 | EV56 | 1646 |
AlphaServer_4000 | AlphaServer 4000 5/600 | EV56 | 1648 |
AlphaServer_4000 | AlphaServer 4000 5/600 | EV56 | 1666 |
AlphaServer_4000 | AlphaServer 4000 5/600 | EV56 | 1668 |
AlphaServer_4000 | AlphaServer 4000 5/666 | EV56 | 1650 |
AlphaServer_4000 | AlphaServer 4000 5/666 | EV56 | 1652 |
AlphaServer_4000 | AlphaServer 4000 5/666 | EV56 | 1670 |
AlphaServer_4000 | AlphaServer 4000 5/666 | EV56 | 1672 |
Auto Boot
CHARON-AXP systems can be configured to boot the operating system automatically at start up.
Console Parameter | Description |
---|---|
auto_action restart | Determines whether CHARON-AXP boots automatically if the correct boot flags are set (and saved in the HP Alpha console files). |