KR100198665B1 - 2의 보수 발생장치 - Google Patents

2의 보수 발생장치 Download PDF

Info

Publication number
KR100198665B1
KR100198665B1 KR1019970008555A KR19970008555A KR100198665B1 KR 100198665 B1 KR100198665 B1 KR 100198665B1 KR 1019970008555 A KR1019970008555 A KR 1019970008555A KR 19970008555 A KR19970008555 A KR 19970008555A KR 100198665 B1 KR100198665 B1 KR 100198665B1
Authority
KR
South Korea
Prior art keywords
value
complement
output
multiplexer
input
Prior art date
Application number
KR1019970008555A
Other languages
English (en)
Other versions
KR19980073327A (ko
Inventor
이용만
Original Assignee
구본준
엘지반도체주식회사
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 구본준, 엘지반도체주식회사 filed Critical 구본준
Priority to KR1019970008555A priority Critical patent/KR100198665B1/ko
Publication of KR19980073327A publication Critical patent/KR19980073327A/ko
Application granted granted Critical
Publication of KR100198665B1 publication Critical patent/KR100198665B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

2의 보수 발생장치가 제공된다. 이 2의 보수 발생장치는 일반적인 2의 보수연산의 특징을 활용하여 간단한 회로의 구현으로 고속의 연산을 행할 수 있도록 한 것으로서, 입력되는 비트데이타에 대해 1의 보수를 연산하는 수단; 상기 연산된 1의 보수값을 일시 저장하여 두었다가 일 선택 제어신호에 따라 선택 출력하는 선택수단; 상기 저장된 1의 보수값을 제공되는 일 클럭이 인가되는 동시에 업카운트(Up-Count)하여 2의 보수값을 계산하는 수단을 포함하여 구성되고 또한, 입력되는 일 비트값을 반전시키는 인버터와; 상기 입력되는 일 비트와 업카운트된 값을 일 선택 제어신호에 따라 선택출력하는 제 1 멀티플렉서; 상기 선택 출력된 값을 일시 저장하였다가 인가되는 클럭신호에 따라 출력하는 D-플립플롭; 상기 D-플립플롭의 출력과 상기 인버터의 출력값을 일 선택 제어신호에 따라 선택 출력하는 제 2 멀티플렉서; 상기 선택 출력된 값을 인가되는 클럭과 동시에 업 카운트하여 2의 보수값을 계산하는 연산부; 상기 연산부의 출력을 상기 멀티플렉서에서 선택하고 이 선택된 2의 보수값을 상기 D-플립플롭에서 일시 저장하였다가 출력하도록 구성됨에 그 요지가 있다.

Description

2의 보수 발생장치
본 발명은 2의 보수 발생장치에 관한 것으로서, 특히 소요되는 클럭의 개수를 최소화할 수 있는 2의 보수 발생장치에 관한 것이다.
이하, 종래 기술에 따른 2의 보수발생장치에 대하여 첨부된 도면을 참조하여설명하기로 한다.
도 1은 종래 기술에 따른 2의 보수 발생장치를 나타낸 도면이고, 도 2는 도 1에서의 2이 보수 발생 타이밍도이다.
먼저, 도 1을 참조하여 그 구성을 살펴보면, 입력되는 데이터와 피드백된 신호를 선택적으로 출력하는 멀티플렉서(1); 상기 멀티플렉서(1)에서 선택 출력되는 데이터를 일시 저장하였다가 출력하는 레지스터(2); 상기 레지스터(2)에서 출력되는 데이터를 반전시켜 입력데이타에 대한 1의 보수값을 생성하는 인버터(3); 상기 인버터(3)에서 생성된 1의 보수값에 논리값 1을 더하여 2의 보수값을 연산하고 이를 상기 멀티플렉서(1)로 출력하는 덧셈기(4)로 구성된다.
상기 구성에 대한 동작을 살펴보기로 하자.
도 2에 도시된 바와 같이 클럭이 입력에 따라 첫 번째 클럭에서는 상기 멀티플렉서(1)로 입력되는 입력데이타값을 선택하여 레지스터(2)에 저장한다.
그리고, 그 다음 클럭에서는 상기 레지스터(2)에서 출력되는 입력데이타값을 인버터(3)를 통해 반전시켜 입력데이타값에 대한 1의 보수값으로 변환한다.
이렇게 인버터(3)를 통해 반전된 1의 보수값을 덧셈부(4)로 입력하여 이 입력된 1의 보수값에 논리값(이진수값)1을 더하여 2의 보수값으로 변환하여 상기 멀티플렉서(1)로 출력하는 것이다.
따라서, 상기와 같이 2의 보수값을 연산하는데에는 클럭의 개수가 2개가 필요한 것이다.
여기서, 상기 덧셈기(4)에서 출력되는 값은 입력데이타에 대한 2의 보수값이 되는 것이다.
상기 2의 보수값에 대한 연산표는 아래와 같다.
입력데이타(4비트) 1의 보수값 2의 보수값
0 1 1 1 1 0 0 0 1 0 0 1
0 1 1 0 1 0 0 1 1 0 1 0
0 1 0 1 1 0 1 0 1 0 1 1
0 1 0 0 1 0 1 1 1 1 0 0
0 0 1 1 1 1 0 0 1 1 0 1
0 0 1 0 1 1 0 1 1 1 1 0
0 0 0 1 1 1 1 0 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0
상기 표 1을 일예로하여 종래 기술에 따른 2의 보수연산에 대하여 간단히 살펴보자.
먼저, 입력데이타값(X) 0111이 도 1에 도시된 멀티플렉서(1)로 입력되면 멀티플렉서(1)는 상기 입력값을 선택하여 1클럭동안 레지스터(2)에 저장한다.
상기 레지스터(2)에서 출력되는 0111값은 인버터(3)로 입력되어 1000의 값으로 반전된다.
여기서, 상기 1000값은 입력데이타값에 대한 1의 보수값이 된다.
이렇게 반전된 1000값은 덧셈기(4)로 입력되어 상기 반전된 값 1000에 논리값즉, 이진수값 1을 더하여 2의 보수값 1001을 얻는 것이다.
이렇게 얻어진 2의 보수값은 다시 멀티플렉서(1) 및 레지스터(2)를 통하여 최종 출력하게 되는 것이다.
여기서, 상기에서 설명한 바와 같은 2의 보수계산식은 다음과 같다.
Figure kpo00001
이 되는 것을 알 수 있다.
종래 기술에 따른 2의 보수값 발생장치는 상술한 바와 같이 덧셈의 연산에는 시간이 많이(보통 1클럭) 소요되기 때문에 저장과 연산의 동작이 구분되어 이루어지므로 2개의 클럭이 소요 즉, 전체적인 연산의 속도가 저하되는 문제점이 있다.
따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위하여 안출된 것으로 본 발명의 목적은 일반적인 2의 보수연산의 특징을 활용하여 간단한 회로의 구현으로 고속의 연산을 행할 수 있는 2의 보수 발생장치를 제공함에 있다.
도 1은 종래 기술에 따른 2의 보수 발생장치를 나타낸 도면
도 2는 도 1에서의 2의 보수 발생 타이밍도
도 3은 일반적인 프리 로더블 업 카운트(Pre-loadable up count)계수기를 나타낸 도면
도 4는 본 발명에 따른 2의 보수 발생장치를 나타낸 도면
도 5는 본 발명에 따른 2의 보수 발생장치에 대한 동작 타이밍도
도면의 주요 부분에 대한 부호의 설명
10-13, 22-25 : 연산부14-21 : D-플립플롭
26-37 : 멀티플렉서38-41 : 인버터
본 발명에 따른 2의 보수 발생장치의 특징은 2의 보수 발생장치에 있어서, 입력되는 비트데이타에 대해 1의 보수를 연산하는 수단; 상기 연산된 1의 보수값을 일시 저장하여 두었다가 일 선택 제어신호에 따라 선택 출력하는 선택수단; 상기 저장된 1의 보수값을 제공되는 일 클럭이 인가되는 동시에 업카운트(Up-Count)하여 2의 보수값을 계산하는 수단을 포함하여 구성됨에 있다.
본 발명의 다른 특징은 2의 보수 발생장치에 있어서, 입력되는 일 비트값을 반전시키는 인버터와; 상기 입력되는 일 비트와 업카운트된 값을 일 선택 제어신호에 따라 선택출력하는 제 1 멀티플렉서; 상기 선택 출력된 값을 일시 저장하였다가 인가되는 클럭신호에 따라 출력하는 D-플립플롭; 상기 D-플립플롭의 출력과 상기 인버터의 출력값을 일 선택 제어신호에 따라 선택 출력하는 제 2 멀티플렉서; 상기 선택 출력된 값을 인가되는 클럭과 동시에 업 카운트하여 2의 보수값을 계산하는 연산부; 상기 연산부의 출력을 상기 멀티플렉서에서 선택하고 이 선택된 2의 보수값을 상기 D-플립플롭에서 일시 저장하였다가 출력하도록 구성됨에 있다.
이하, 본 발명에 따른 2의 보수 발생장치에 대하여 첨부된 도면울 참조하여 설명하기로 한다.
도 3은 일반적인 프리 로더블 업 카운트(Pre-loadible Up-Counter) 계수기를 나타낸 도면이고, 도 4는 본 발명에 따른 2의 보수 발생장치를 나타낸 도면이다.
먼저, 2의 보수는 1의 보수보다 1이 더큰 수를 만드는 연산이므로 여기에 도 3에 도시된 프리 로더블 업 카운트 계수기를 적용하면 쉽게 구현함을 알 수 있다.
그러면, 도 3을 참조하여 계수기에 대하여 살펴보기로 하자.
먼저, 셀렉트신호를 조절하여 입력되는 데이터를 선택출력하는 다수개의 멀티플렉서(26, 27, 28, 29); 상기 각각의 멀티플렉서(26, 27, 28, 29)에서 출력되는 데이터를 일시 저장하였다가 입력되는 클럭(CLK)의 상승에지에서 출력하는 다수개의 D-플립플롭(14, 15, 16, 17); 상기 D-플립플롭(14, 15, 16, 17)의 각각에서 출력되는 값(Q)을 입력으로하여 입력된 값보다 매 클럭 상승에지에서 1씩 증가된 값을 출력시키도록 하는 다수개의 연산부(10, 11, 12, 13)로 구성된다.
상기 구성의 동작을 보면, 먼저 셀렉트신호(Sel)를 조절하여 입력데이타(x0, x1, x2,x3)를 각각의 밀티플렉서(26, 27, 28, 29)에서 선택하여 각각의 D-플립플롭(14, 15, 16, 17)에 입력한다.
이때, 상기 각 D-플립플롭(14, 15, 16, 17)은 보통의 레지스터로 사용할 수 있는 것이다.
여기서, 상기 각 D-플립플롭(14, 15, 16, 17)에 입력된 값은 클럭(CLK)의 매상승에지에서 동작하게되어 각각 연산부(10, 11, 12, 13)로 각각 출력하게 되는 것이다.
상기 연산부(10, 11, 12, 13)로 출력된 값은 각각의 멀티플렉서(26, 27, 28, 29)로 출력되어 일 선택제어신호에 따라 다시 D-플립플롭(14, 15, 16, 17)으로 출력된다.
이렇게 하여 상기 각 연산부(10, 11, 12, 13)의 출력을 D-플립플롭(14, 15, 16, 17)으로 인가시키면 매 클럭 상승에지에서 1씩 증가된 값을 출력시키는 계수가로 동작시킬 수 있는 것이다.
통상의 경우 다음상태 연산부(10, 11, 12, 13)는 도 1에 도시된 덧셈기(4)에서 필요한 캐리 연산회로 보다 간단하기 때문에 전파 지연이 크지 않다.
따라서, 입력신호가 인가되면서 충분히 다음상태를 연산하고 클럭의 상승에지를 기다릴 수 있는 것이다.
도 4는 본 발명에 따른 2의 보수 발생장치를 나타낸 도면이다.
입력되는 일 비트에 대응되도록 멀티플렉서(30-37), 연산부(22-25), D-플립플롭(18-21) 및 인버터(38-41)로 구성된다.
상기 구성의 동작을 보면, 각각의 다음상태 연산부(22, 25)의 입력으로 각각의 D-플립플롭(18-21)의 출력과 인버터(38-41)를 통해 입력되는 이진수의 반전값을 멀티플렉서(31, 33, 35, 37)에서 선택하도록 하였다.
도 4의 구성은 4비트에 대해서만 도시된 것이지만 임의의 비트수에 대해서도 확장이 가능하다.
먼저, 계수기의 다음상태 연산부(22, 23, 24, 25)는 충분히 간단히 만들어지기 때문에 전파지연시간이 적다.
따라서, 클럭의 상승에지 이전에 다음상태값을 D-플립플롭(18, 19, 20, 21)의 입력으로 인가하게 된다.
클럭의 에지가 상승하면서 다음상태인 2의 보수값이 D-플립플롭(18, 19, 20, 21)의 출력(Q0-Q3)에 나타난다.
도 5에서 이러한 타이밍 관계를 도시하였다.
이 계수기는 일반 레지스터의 용도로 겸용될 수 있으며 그 때의 타이밍이 도 5의 클럭(CLK)사이클에 도시되었다.
본 발명에 따른 2의 보수 발생장치는 이진수를 저장하는 레지스터를 계수기로 대체시키며 상기 계수기의 다음상태 연산회로의 짧은 지연시간을 이용하여 2의 보수연산을 저장전에 연산해 두고있다가 클럭의 인가와 함께 2의 보수를 직접저장하게 되므로 작은 면적으로 고 속의 연산을하여 한 클럭사이클을 줄일 수 있는 이점이 있다.

Claims (8)

  1. 2의 보수 발생장치에 있어서,
    입력되는 비트데이타에 대해 1의 보수를 연산하는 수단;
    상기 연산된 1의 보수값을 일시 저장하여 두었다가 일 선택 제어신호에 따라 선택 출력하는 선택수단;
    상기 저장된 1의 보수값을 제공되는 일 클럭이 인가되는 동시에 업카운트(Up-Count)하여 2의 보수값을 계산하는 수단을 포함하여 구성됨을 특징으로 하는 2의 보수 발생장치.
  2. 제 1 항에 있어서,
    1의 보수를 연산하는 수단은 인버터임을 특징으로 하는 2의 보수 발생장치.
  3. 제 1 항에 있어서,
    상기 선택수단은 멀티플렉서로 구성됨을 특징으로 하는 2의 보수발생장치.
  4. 제 1 항에 있어서,
    상기 2의 보수값을 계산하는 수단은 계산된 2의 보수값을 저장하는 수단을 포함하는 것을 특징으로 하는 2의 보수 발생장치.
  5. 제 1 항에 있어서,
    상기 업 카운트는 다음상태 연산회로로 이루어짐을 특징으로 하는 2의 보수발생장치.
  6. 제 1 항에 있어서,
    상기 입력되는 비트데이타는 임의의 비트까지 확장할 수 있음을 특징으로 하는 2의 보수발생장치.
  7. 2의 보수 발생장치에 있어서,
    입력되는 일 비트값을 반전시키는 인버터와;
    상기 입력되는 일 비트와 업카운트된 값을 일 선택 제어신호에 따라 선택출력하는 제 1 멀티플렉서;
    상기 선택 출력된 값을 일시 저장하였다가 인가되는 클럭신호에 따라 출력하는 D-플립플롭;
    상기 D-플립플롭의 출력과 상기 인버터의 출력값을 일 선택 제어신호에 따라 선택 출력하는 제 2 멀티플렉서;
    상기 선택 출력된 값을 인가되는 클럭과 동시에 업 카운트하여 2의 보수값을 계산하는 연산부;
    상기 연산부의 출력을 상기 멀티플렉서에서 선택하고 이 선택된 2의 보수값을 상기 D-플립플롭에서 일시 저장하였다가 출력하도록 구성됨을 특징으로 하는 2의 보수 발생장치.
  8. 제 7 항에 있어서,
    상기 일 비트는 임의의 비트까지 확장하여 처리할 수 있음을 특징으로 하는 2의 보수발생장치.
KR1019970008555A 1997-03-13 1997-03-13 2의 보수 발생장치 KR100198665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970008555A KR100198665B1 (ko) 1997-03-13 1997-03-13 2의 보수 발생장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970008555A KR100198665B1 (ko) 1997-03-13 1997-03-13 2의 보수 발생장치

Publications (2)

Publication Number Publication Date
KR19980073327A KR19980073327A (ko) 1998-11-05
KR100198665B1 true KR100198665B1 (ko) 1999-06-15

Family

ID=19499649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970008555A KR100198665B1 (ko) 1997-03-13 1997-03-13 2의 보수 발생장치

Country Status (1)

Country Link
KR (1) KR100198665B1 (ko)

Also Published As

Publication number Publication date
KR19980073327A (ko) 1998-11-05

Similar Documents

Publication Publication Date Title
Dadda Some schemes for parallel multipliers
JP2008545320A (ja) 他ビットのプログラマブル分周器
KR20020049387A (ko) 고속 동작이 가능하고 순차적으로 2진 카운터 순서를 갖는카운터 회로 및 그 카운팅 방법
US5815423A (en) Parallel processing division circuit
US20080012605A1 (en) Glitch-free clock switcher
US7480691B2 (en) Arithmetic device for multiple precision arithmetic for Montgomery multiplication residue arithmetic
US5177703A (en) Division circuit using higher radices
US5608802A (en) Data ciphering device
US20050182814A1 (en) Encoder for a multiplier
KR100198665B1 (ko) 2의 보수 발생장치
US6163790A (en) Modular arithmetic coprocessor comprising an integer division circuit
KR20040048471A (ko) 직렬 유한체 승산기
KR0147942B1 (ko) 승산기에서의 부스 레코딩회로
EP0328899A2 (en) Parity generator circuit and method
Manjunatha et al. Low Power VLSI Design for Power and Area Effective Utilisation of Carry Select Adder
JP3504316B2 (ja) 多ビットカウンタ
KR100460764B1 (ko) 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치
KR100366793B1 (ko) 쉬프트 레지스터를 이용한 펄스열 생성장치
KR0174875B1 (ko) 의사잡음 발생기
US5615141A (en) Multiplying apparatus
KR100203742B1 (ko) 멀티플렉스를 이용한 가산기
JP2001034457A (ja) 加減算回路
Kumari et al. Design and Implementation of ALU Using Ring Counters
JP4140156B2 (ja) アドレス発生回路、アドレス発生装置およびアドレス発生方法
KR20030032180A (ko) 카운팅 스피드를 개선시킨 카운터

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050221

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee