VISC architecture

In computing, VISC (Virtual Instruction Set Computing) architecture is a processor instruction set architecture and microarchitecture developed by Soft Machines,[1][2][3][4] which uses the Virtual Software Layer (translation layer) to dispatch a single thread of instructions to the Global Front End which splits instructions into virtual hardware threadlets which are then dispatched to separate virtual cores. These virtual cores can then send them to the available resources on any of the physical cores. Multiple virtual cores can push threadlets into the reorder buffer of a single physical core, which can split partial instructions and data from multiple threadlets through the execution ports at the same time. Each virtual core keeps track of the position of the relative output. This form of multithreading can increase single threaded performance by allowing a single thread to use all resources of the CPU. The allocation of resources is dynamic on a near-single cycle latency level (1–4 cycles depending on the change in allocation depending on individual application needs. Therefore, if two virtual cores are competing for resources, there are appropriate algorithms in place to determine what resources are to be allocated where.

Unlike the traditional processor designs, VISC doesn't use physical cores, instead the resources of the chip are made available as 'virtual cores' and 'virtual hardware threads' according to workload needs.[5]

References

  1. ^ Cutress, Ian (12 February 2016). "Examining Soft Machines' Architecture: An Element of VISC to Improving IPC". AnandTech.
  2. ^ "Next Gen Processor Performance Revealed". VR World. February 4, 2016. Archived from the original on 2017-01-13.
  3. ^ "Architectural Waves". Soft Machines. 2017. Archived from the original on 2017-03-29.
  4. ^ "Examining Soft Machines' Architecture: An Element of VISC to Improving IPC - Cheap PC hardware News & Rumors".
  5. ^ "Soft Machines unveils VISC virtual chip architecture | bit-tech.net".
  • v
  • t
  • e
Processor technologies
Models
ArchitectureInstruction set
architectures
Types
Instruction
sets
Execution
Instruction pipelining
Hazards
Out-of-order
Speculative
Parallelism
Level
Multithreading
Flynn's taxonomy
Processor
performanceTypes
By application
Systems
on chip
Hardware
accelerators
Word sizeCore countComponents
Functional
units
Logic
Registers
Control unit
Datapath
Circuitry
Power
managementRelated
  • v
  • t
  • e
Input devices
Pointing devices
Other
Output devices
Removable
data storage
Computer case
Ports
Current
Obsolete
Related
  • v
  • t
  • e
Components
Theory
Design
Applications
Design issues
  • v
  • t
  • e
Semiconductor
devices
MOS
transistors
Other
transistors
Diodes
Other
devices
Voltage regulators
Vacuum tubes
Vacuum tubes (RF)
Cathode-ray tubes
Gas-filled tubes
Adjustable
Passive
Reactive