IT9083617A1 - Operazioni booleane tra due qualsiasi bit di due qualsiasi registri - Google Patents

Operazioni booleane tra due qualsiasi bit di due qualsiasi registri

Info

Publication number
IT9083617A1
IT9083617A1 IT083617A IT8361790A IT9083617A1 IT 9083617 A1 IT9083617 A1 IT 9083617A1 IT 083617 A IT083617 A IT 083617A IT 8361790 A IT8361790 A IT 8361790A IT 9083617 A1 IT9083617 A1 IT 9083617A1
Authority
IT
Italy
Prior art keywords
bit
destination register
register
complement
altering
Prior art date
Application number
IT083617A
Other languages
English (en)
Other versions
IT9083617A0 (it
IT1247640B (it
Inventor
Flavio Scarra
Original Assignee
Sgs Thomson Microelectronics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sgs Thomson Microelectronics filed Critical Sgs Thomson Microelectronics
Priority to IT08361790A priority Critical patent/IT1247640B/it
Publication of IT9083617A0 publication Critical patent/IT9083617A0/it
Priority to DE69130513T priority patent/DE69130513T2/de
Priority to EP91830167A priority patent/EP0454636B1/en
Priority to JP3125538A priority patent/JPH04229322A/ja
Publication of IT9083617A1 publication Critical patent/IT9083617A1/it
Priority to US08/364,505 priority patent/US5657484A/en
Application granted granted Critical
Publication of IT1247640B publication Critical patent/IT1247640B/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

La presente invenzione concerne un nuovo metodo per effettuare operazioni logiche (booleane) tra due bits rispettivamente di un qualsiasi registro appartenente ad un archivio registri o ad altre risorse fisiche di immagazzinamento dati di un microprocessore o di unità periferiche ad esso associate.
Comunemente i microprocessori sono in grado di effettuare operazioni logiche tra bits appartenenti ad una parte limitata delle complessive risorse fisiche di immagazzinamento dati associate al microprocessore , impiegando allo scopo un registro fisso o “accumulatore" al quale è restituito il bit risultante e nel quale sono trasferiti i bits operandi, prelevandoli [leggendoli) dai rispettivi registri di appartenenza.
Una conseguenza negativa di questi sistemi a microprocessore è dovuta alla necessità di effettuare numerosi trasferimenti di dati attraverso le risórse fisiche di memoria del microprocessore e ciò limita fortemente le possibilità di simulare reti logiche complesse in un modo efficiente e veloce.
E’ stato ora trovato un nuovo metodo che supera queste difficoltà e permette di effettuare operazioni logiche tra due qualsiasi bits appartenenti a due qualsiasi registri del microprocessore , il quale consente di poter utilizzare tutto lo spazio di indirizzamento registri e quindi di operare sia su un archivio registri che sulle risorse di immagazzinamento dati delle periferiche associate al microprocessore siano queste integrate, quali ad esempio registri di macrocelle di gestione degli ingressi e delle uscite, registri di blocchi circuitali di gestione delle unità periferiche, ecc.
Il metodo dell’invenzione espande la funzionalità del microprocessore in modo da poterlo considerare un vero e proprio elaboratore booleano in grado di simulare reti logiche complesse in maniera efficiente e veloce. Il metodo dell’invenzione è realizzato attraverso un definito numero di procedure comandabili da istruzioni aventi una perfetta ortogonalità nello spazio di indirizzamento di tutte le risorse fisiche di Immagazzinamento dati appartenenti e/o associate al microprocessore.
Il metodo dell’invenzione si caratterizza per il fatto di comprendere almeno una delle seguenti operazioni o una Qualsiasi combinazione delle stesse.
1. Selezionare un primo bit (j) in un primo registro sorgente (rs) ed un secondo bit (i) in un secondo registro di destinazione (rd) ; porre detto primo bit in XOR logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bits presenti nel registro di destinazione.
Questa operazione può essere effettuata mediante le seguenti istruzioni:
2. Selezionare un primo bit (j) in un primo registro sorgente (rs); generare il complemento di detto primo bit; porre detto complemento di detto primo bit in XOR logico con un secondo bit Ci) selezionato in un secondo registro di destinazione Crd ) e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bit del registro di destinazione.
Questa operazione può essere effettuata mediante le seguenti istruzioni:
3. Selezionare un primo bit (j) in un primo registro sorgente ed un secondo bit in un secondo registro di destinazione porre detto primo bit in AND logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bits presenti nel registro di destinazione.
Questa operazione può essere effettuata mediante
d. Selezionare un primo bit (j) in un primo registro sorgente Cr ) ed un secondo bit (i) in un secondo registro di destinazione (rd) , generare il complemento di detto primo bit e porre detto bit complemento in AND logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bits presenti nel registro di destinazione.
Questa operazione può essere effettuata mediante le seguenti istruzioni:
5. Selezionare un primo bit (j) in un primo registro sorgente Crs) ed un secondo bit Ci) in un secondo registro di destinazione porre detto primo bit in OR logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bits presenti nel registro di destinazione.
Questa operazione PUÒ essere effettuata mediante le seguenti istruzioni:
6. Selezionare un primo bit in un primo registro sorgente ed un secondo bit (il in un secondo registro di destinazione , generare il complemento di detto primo bit e porre detto bit complemento in OR logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare gli altri bits presenti nel registro di destinazione.
Questa operazione può essere effettuata mediante le seguenti istruzioni:
7. Selezionare un primo bit in un primo registro sorgente e scrivere detto primo bit nella posizione di un secondo bit (i) selezionato in un secondo registro di destinazione senza alterare gli altri bits presenti nel registro di dest inazione .
Questa operazione può essere effettuata mediante le seguenti istruzioni:
S. Selezionare un primo bit (j) in un primo registro sorgente (rs), ottenere il complemento di detto primo bit selezionato e scrivere detto complemento nella posizione di un secondo bit (i)

Claims (1)

  1. RIVENDICAZIONI 1. Metodo per effettuare operazioni logiche tra due bits appartenenti rispettivamente ad un qualsiasi registro appartenente ad un archivio registri o ad un’altra risorsa fisica di immagazzinamento dati di un microprocessore o di unità periferiche interne e/o esterne associate a detto microprocessore, caratterizzato dal fatto che comprende almeno una delle seguenti operazioni o condizione delle seguenti operazioni :
    scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione senza alterare altri bits presenti nel registro di destinazione; b) selezionare un primo bit i) in un primo registro sorgente (rs); generare il complemento di detto primo bit, porre detto complemento di detto primo bit in XOR logico con un secondo bit Ci) selezionato in un secondo registro di destinazione rd) e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare altri bits presenti nel registro di destinazione; c) selezionare un primo bit Cj3 in un primo registro sorgente (r ) ed un secondo bit Ci) in un secondo registro di destinazione rd), porre detto primo bit in AND logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare altri bits presenti nel registro di destinazione; d) selezionare un primo bit (j) in un primo registro sorgente Crs) ed un secondo bit Ci) in un secondo registro di destinazione rd), generare il complemento di detto primo bit e porre detto bit complemento in AND logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare altri bits presenti nel registro di destinazione; e) selezionare un primo bit (j) in un primo registro sorgente rs ) ed un secondo bit (i) in un secondo registro di destinazione , porre detto primo bit in OR logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare altri bits presenti nel registro di destinazione; f) selezionare un primo bit (j) in un primo registro sorgente (r ) ed un secondo bit (i) in un secondo registro di destinazione (rd) , generare il complemento di detto primo bit e porre detto bit complemento in OR logico con detto secondo bit e scrivere il bit risultante nella posizione di detto secondo bit in detto secondo registro di destinazione, senza alterare altri bits presenti nel registro di destinazione; g) selezionare un primo bit (j) in un primo registro sorgente (rs) e scrivere detto primo bit nella posizione di un secondo bit (i,) selezionato in un secondo registro di destinazione (rd), senza alterare altri bits presenti nel- registro di destinazione ; h) selezionare un primo bit (j) in un primo registro sorgente (rs), ottenere il complemento di detto primo bit selezionato e scrivere detto complemento nella posizione di un secondo bit (i) selezionato in un secondo registro di destinazione (rd), senza alterare altri bits presenti nel registro di destinazione.
IT08361790A 1990-04-26 1990-04-26 Operazioni booleane tra due qualsiasi bit di due qualsiasi registri IT1247640B (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT08361790A IT1247640B (it) 1990-04-26 1990-04-26 Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
DE69130513T DE69130513T2 (de) 1990-04-26 1991-04-24 Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern
EP91830167A EP0454636B1 (en) 1990-04-26 1991-04-24 Method for carrying out a boolean operation between any two bits of any two registers
JP3125538A JPH04229322A (ja) 1990-04-26 1991-04-26 任意の2個のレジスタの任意の2個のビット間のブール演算を行う方法
US08/364,505 US5657484A (en) 1990-04-26 1994-12-27 Method for carrying out a boolean operation between any two bits of any two registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT08361790A IT1247640B (it) 1990-04-26 1990-04-26 Operazioni booleane tra due qualsiasi bit di due qualsiasi registri

Publications (3)

Publication Number Publication Date
IT9083617A0 IT9083617A0 (it) 1990-04-26
IT9083617A1 true IT9083617A1 (it) 1991-10-26
IT1247640B IT1247640B (it) 1994-12-28

Family

ID=11323206

Family Applications (1)

Application Number Title Priority Date Filing Date
IT08361790A IT1247640B (it) 1990-04-26 1990-04-26 Operazioni booleane tra due qualsiasi bit di due qualsiasi registri

Country Status (5)

Country Link
US (1) US5657484A (it)
EP (1) EP0454636B1 (it)
JP (1) JPH04229322A (it)
DE (1) DE69130513T2 (it)
IT (1) IT1247640B (it)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
GB2425912A (en) * 2005-05-04 2006-11-08 Psytechnics Ltd Packet filtering
CN107145334B (zh) * 2017-04-26 2020-10-09 龙芯中科技术有限公司 常量获取方法、装置、处理器及计算机可读存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3611309A (en) * 1969-07-24 1971-10-05 Univ Iowa State Res Found Inc Logical processing system
JPS559742B2 (it) * 1974-06-20 1980-03-12
US4331893A (en) * 1976-09-24 1982-05-25 Giddings & Lewis, Inc. Boolean logic processor without accumulator output feedback
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former
JPS5671154A (en) * 1979-11-15 1981-06-13 Nec Corp Information processing device
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
US4592005A (en) * 1982-07-06 1986-05-27 Sperry Corporation Masked arithmetic logic unit
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
US4716541A (en) * 1984-08-02 1987-12-29 Quatse Jesse T Boolean processor for a progammable controller
JPS62140137A (ja) * 1985-12-16 1987-06-23 Toshiba Corp Aluを用いたデータ保持方法
JPS63239700A (ja) * 1987-03-27 1988-10-05 Ando Electric Co Ltd Ramとpromのデ−タ比較・判定回路
US5083267A (en) * 1987-05-01 1992-01-21 Hewlett-Packard Company Horizontal computer having register multiconnect for execution of an instruction loop with recurrance
JPH0648461B2 (ja) * 1987-07-09 1994-06-22 日本電気株式会社 マイクロプログラムの転送レジスタ指定方式
JP2583525B2 (ja) * 1987-09-30 1997-02-19 健 坂村 データ処理装置
US5133054A (en) * 1987-10-20 1992-07-21 Sharp Kabushiki Kaisha Data transmission apparatus for autonomously and selectively transmitting data to a plurality of transfer path
EP0704802B1 (en) * 1988-01-27 2000-10-25 Oki Electric Industry Company, Limited Microcomputer and a method of testing the same
US5060143A (en) * 1988-08-10 1991-10-22 Bell Communications Research, Inc. System for string searching including parallel comparison of candidate data block-by-block
JP2633331B2 (ja) * 1988-10-24 1997-07-23 三菱電機株式会社 マイクロプロセッサ
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5068821A (en) * 1989-03-27 1991-11-26 Ge Fanuc Automation North America, Inc. Bit processor with powers flow register switches control a function block processor for execution of the current command
EP0408464B1 (en) * 1989-07-13 1996-09-18 Fujitsu Limited Bit field logic operation unit and monolithic microprocessor comprising said unit
US5129065A (en) * 1989-10-27 1992-07-07 Sun Microsystems, Inc. Apparatus and methods for interface register handshake for controlling devices
US5167029A (en) * 1989-12-13 1992-11-24 International Business Machines Corporation Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register

Also Published As

Publication number Publication date
DE69130513D1 (de) 1999-01-07
US5657484A (en) 1997-08-12
DE69130513T2 (de) 1999-04-15
EP0454636B1 (en) 1998-11-25
IT9083617A0 (it) 1990-04-26
IT1247640B (it) 1994-12-28
JPH04229322A (ja) 1992-08-18
EP0454636A1 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
IT9083617A1 (it) Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
TWI515669B (zh) 用於狀態機中資料分析之系統與方法
CN104620254B (zh) 用于低开销的存储器重播保护的并行化的计数器攀树
CN104202161B (zh) 一种SoC密码芯片
CN110618947A (zh) 用于利用存储器加密引擎的安全i/o的技术
KR20200113264A (ko) 메모리 컨트롤러
KR100227277B1 (ko) 컴퓨터에 있어서 스칼라값을 벡터로 기입하는 방법
KR20170030557A (ko) Sm3 해시 알고리즘 가속 프로세서, 방법, 시스템 및 명령어
CN108197505A (zh) 区块链业务数据处理方法、装置及电子设备
CN105760339B (zh) 实现线减少和物理拥堵最小化的多核总线架构
TW201346733A (zh) 具有為向量衝突指令與置換指令所共享的全連接互連的處理器
US20180062829A1 (en) Hybrid aes-sms4 hardware accelerator
DE102018005101A1 (de) Feld-Systemtest-Sicherheit
CN107111572A (zh) 用于避免死锁的方法和电路
US20170063401A1 (en) Partial ecc mechanism for a byte-write capable register
US20170060678A1 (en) Partial ecc handling for a byte-write capable register
CN107070795A (zh) 多通道交换网络中的通道选择
US7352205B2 (en) Reconfigurable switching device parallel calculation of any particular algorithms
CN104008021A (zh) 针对多数据体系结构的精确的异常信号发送
DE2913492A1 (de) Prozessor und anlage mit einem derartigen prozessor
US20160379014A1 (en) Sms4 acceleration processors having encryption and decryption mapped on a same hardware
CN110659505A (zh) 用于对机密数据和附加认证数据进行加密或解密的加速器
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
US11455171B2 (en) Multiported parity scoreboard circuit
KR0177197B1 (ko) 시스템 상호접속을 위한 주사 프로그램가능한 검사 행렬

Legal Events

Date Code Title Description
0001 Granted
TA Fee payment date (situation as of event date), data collected since 19931001

Effective date: 19970429