User:Steve.s.xu/sandbox

Source: Wikipedia, the free encyclopedia.


Chip Architecture

Transistor As A Service (TAAS) is a transistor-level reconfigurable chip technology which directly executes system code [1]written in C/C++ and other languages using the same transistor real estate on chip. Such system code represents and abstracts system's functionality and interactions with the external world that the system interfaces with. Examples of system code are video encoding C model that takes camera sensor's RGB pixel data as input and outputs compressed video files, communication physical layer signal processing algorithms that take antenna signal as input and output demodulated data bits, deep convolutional neural networks taking input of images and generating recognized objects as output, etc.

TAAS versus ASIC and Processor

TAAS is an emerging chip technology to meet ever growing demand to run multiple heterogeneous high computation-complex systems with only one piece of silicon real estimate by re-use of the same transistors through reconfigurations. Unlike ASIC, in which case the transistor is usually designed into fixed circuitry for specific task and integrating different systems usually means putting different silicon IPs together that abut each other. The processor also shares the same transistors to run different system tasks in form of software, but due to its fixed and limited hardware resources such as execution units (EXE units) and memory access ports (load and store units), processor-like architecture is not suitable for running high computation-complex systems such as broadband wireless PHY signal processing or deep neural networks machine learning algorithms.

TAAS versus FPGA

Though TAAS is mostly similar to FPGA in terms of operation principles, they differ primarily in three aspects: i) for TAAS computation payload [2]is extracted from system code + system test benches[3] and then directly compiled to configurable hardware resources; whereas FPGA usually involves a manual engineering step by first develop HDL design such as Verilog RTL. Thus FPGA design is the same as ASIC design until synthesis and P&R; 2) TAAS is able to explores full design space because it has complete system knowledge (system code + system test benches), whereas FPGA has HDL design as the input leaving design space exploration only available at the last step which is synthesis and P&R; iii) TAAS is transistor-level reconfigurable and FPGA is configurable at logic block level and thus hardware overhead for TAAS is much smaller than FPGA. Smaller granularity of configurability in case of TAAS will warrant full design space exploration. In general, TAAS can achieve much more efficient implementation than FPGA in terms of overall transistor utilization rate and hence total number of transistors required to run system functionality.

TAAS versus IoT

TAAS extends the concept of SAAS (Software As A Service) for that once a client system requires computation or processing services, the resources (transistors for TAAS versus software for SAAS) are publicly available for clients to access. Chips in forms of TAAS is driven by IoT applications where computation complexities are orders of magnitude higher than mobile smart phone applications meanwhile silicon die size cannot grow orders of magnitude bigger.

References

  1. ^ system code is the computer code that describes system functionality in terms of for given input, what the output to be. The system code and system functionality should be equivalent to each other, with system functionality usually written in text documents.
  2. ^ computation payload is defined as the amount of logic and numeric arithmetic operations per unit time, required to fulfill system functionality, e.g. meeting system's throughput requirement
  3. ^ system test benches are test cases for given input the expected output. A complete suite of test benches validate the full functionality of a system