Core Devices

Core Devices

Table of Contents

CPU

The CHARON-AXP CPU can be calibrated with "set ace" directive and the following parameters:

enabled

Parameter

enabled

Type

Boolean

Value

A CHARON-AXP emulated CPU is configured with the "enabled" command enabling the high performance Advanced CPU Emulation mode ("ACE"). The ACE option optimizes the Alpha instruction interpretation and significantly improves performance. It also requires approximately twice the amount of host memory allocated by CHARON instance itself to store the optimized code (Note that 2Gb of host memory + the amount of Alpha memory emulated per each CHARON instance is required).

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 Alpha instruction decoding; CHARON-AXP remains fully Alpha hardware compatible and completely transparent to the Alpha operating systems and applications.

This configuration setting enables the ACE mode if the CHARON-AXP license permits it. If this configuration setting is omitted from the CHARON-AXP configuration file and the license permits it, "true" is the default, otherwise "false" is the default.

Example:

set ace enabled = false

"set ace enabled=true" is ignored when the license does not permit ACE operation.

cpu_architecture

Parameter

cpu_architecture

Type

Text String

Value

Specifies the architecture of the virtual Alpha CPU. Can be one of the following: EV4, EV45, EV5, EV56, EV6, EV67, EV68

Example:

set ace cpu_architecture = EV6

Refer to "Core Devices#Setting of a particular Alpha model" to find an appropriate value of the Alpha architecture per each Alpha model supported by CHARON-AXP. 

cache_size

Parameter

cache_size

Type

Value

Value

This parameter may affect Charon performance. Do not change this parameter until advised by Stromasys.

"cache_size" defines the amount of memory in megabytes allocated to the ACE cache.

Default value is 1GB (1024 MB).

Example:

set ace cache_size = 2048

This parameter may be changed for performance optimization in case of some guest OS specific tasks (see Enlarging ACE cache size section).

num_translators

Parameter

num_translators

Type

Value

Value

This parameter may affect Charon performance. Do not change this parameter until advised by Stromasys

"num_translators" defines the number of ACE translators.

Default value in most situations is number of I/O CPUs dedicated to CHARON (defined by "n_of_io_cpus" parameter) minus 1, but in some specific situations it may be set to some other value for better performance.

Example:

set ace num_translators = 4

host_options

Parameter

host_options

Type

Text String

Value

This parameter may affect Charon performance. Do not change this parameter until advised by Stromasys.

"host_options" defines options of ACE (DIT) translator and code-generator. Those options affect Charon performance

Default settings are set to optimize performance for most guest OS (VMS and Tru64) usage profiles. However there are some profiles (for example OpenVMS compilation tasks) where the default settings do not provide optimal performance.

The following switches are available to user:

1. --fixed-variant=[X]

The value X can be one of three options: [-1, 0, 1]. This value defines the desired translation variant. Set -1 for dynamic (default) or 0 or 1 for the fixed number implemented by the translator.

2. --x64-optimize or --x64-nooptimize 

This switch enables translation optimizations (the default is to optimize).

Default parameters have been changed in Charon version 4.9 compared to previous versions (4.8 and below). If Charon system demonstrates lower performance after upgrade to version 4.9, please test the system with host_options switched to default 4.8 settings:

set ace host_options = "--fixed-variant=0 --x64-nooptimize"

Note that in this case the parameter "num_translators" must be set to the number of I/O CPUs dedicated to CHARON (see the "n_of_io_cpus" parameter). Also note that changing parameter "cache_size" can be an alternative solution too (see the section below).

Enabling the old style performance optimization

Despite the fact that CHARON is already optimized for wide range of the guest OS tasks, there may be some situations (for example OpenVMS compilation tasks) when performance degradation may reach about 50% of the version 4.8.

In this case the following solutions can be applied:

Enlarging ACE cache size

Try this solution first. It is recommended to enlarge the ACE cache size at least in 2 times as it is shown in the following example:

set ace cache_size = 2048

If this solution does not work for the specific guest OS tasks, apply also the next solution.

Setting specific ACE host options

Set the following set of options in the configuration file:

set session n_of_io_cpus = <N>
set ace num_translators = <N>
set ace host_options = "--fixed-variant=0 --x64-nooptimize"

where <N> is number of the I/O CPUs dedicated to CHARON. If this value is not set (the default value is used) it is recommended to specify it explicitly.

RAM

The CHARON-AXP memory subsystem is permanently loaded and has the logical name "ram".

size

Parameter

size

Type

Numeric

Value

Size of the emulated memory in MB.

Example:

set ram size = 2048

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 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, DS10L

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.

container

Parameter

container

Type

Text string

Value

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.

Example:

set toy container="/Charon/my_virtual_system.dat"

It is recommended to specify the full path to the TOY file.

sync_to_host

Parameter

sync_to_host

Type

Text string

Value

Specifies whether and how the guest OS time is synchronized with the CHARON host time.

Syntax:

set TOY sync_to_host = "{as_vms | as_tru64 | as_is}"

Value description:

  1. as_vms : If the guest OS is OpenVMS/AXP and its date and time must be set to the host's date and time each time it boots.

  2. as_tru64 : If the guest OS is Tru64 UNIX and its date and time must be set to the host's date and time each time it boots.

  3. as_is : If the TOY date and time must be set to the host's UTC date and time.

Example:

set TOY sync_to_host = "as_vms"

To synchronize the guest OS with TOY, use the following commands (from "SYSTEM"/"root" account):

  1. on OpenVMS/AXP: $ set time

  2. on Tru64 UNIX: # date -u `consvar -g date | cut -f 3 -d ' '`

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.


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.

container

Parameter

container

Type

Text string

Value

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:

set rom container="/Charon/my_virtual_system.rom"

system_name

Parameter

system_name

Type

Text string

Value

Allows changing the system name

Example:

set rom system_name="Alpha Server 1000 4/200"

Refer to Core Devices#Setting of a particular Alpha model to find an appropriate value of the Alpha system name per each Alpha model supported by CHARON-AXP

system_serial_number

Parameter

system_serial_number

Type

Text string

Value

Allows changing the system serial number

Example:

set rom system_serial_number = NY12345678

Any sequence of characters can be used as a serial number. Sequences longer than 16 characters are truncated.

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

Parameter

dsrdb[n]

Type

Numeric

Value

DSRDB - Dynamic System Recognition Data Block. These parameters allow changing the emulated hardware model type.

dsrdb[0] stands for SMM - System Marketing Model.

Example:

set rom dsrdb[0]=1090

Core Devices#Setting of a particular Alpha model describes connection between "dsrdb" parameter and the rest of the parameters defining an exact Alpha model - including SMM.

version

Parameter

version

Type

Text string

Value

Sets Console and PAL code versions in the following way:

SRM Console version to X.Y-Z:
set rom version[0] = x.y-z

OpenVMS PAL code version to X.Y-Z:
set rom version[1] = x.y-z

Tru64 UNIX PAL code version to X.Y-Z:
set rom version[2] = x.y-z

Example:

set rom version[0] = 7.3-1 version[1] = 1.98-104 version[2] = 1.92-105

Virtual 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 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

clock_period

Type

Numeric

Value

Specifies period of interval timer, in microseconds. Only two values are supported:

  1. 10000 (which corresponds to 100Hz interval timer)

  2. 1000 (which corresponds to 1000Hz interval timer)

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 Alpha model

It is important to have the "system_name", "hw_model", "cpu_architecture" and "dsrdb[n]" (DSRDB - Dynamic System Recognition Data Block) parameters in sync. (see above for details) to configure CHARON-AXP for emulation of a particular Alpha model.

The following tables illustrate how to synchronize those values:

AlphaStation 200 - 400

set session hw_model=

set rom system_name=

set ace cpu_architecture=

set rom dsrdb[0]=

set session hw_model=

set rom system_name=

set ace cpu_architecture=

set rom dsrdb[0]=



© Stromasys, 1999-2025  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described. 
Need fast, reliable migration? We have done it countless times. Talk to an expert