# ComputerArchitecture¶

It's related ProgrammingLanguage, DigitalLogicDesign(, and...)

## Instructions:language of the Computer ¶

Keywords are InstructionSetArchitecture, Register, Memory, Address(,and...)
InstructionSetArchtecture(ISA) is an abstract interface between the hardware and the lowest-level sogtware. Also called simply architecture.
Registers are a limited number of special locations built directly in hardware. On major differnce between the variables of a programming language and registers is the limited number of registers, typically 32(64?) on current computers.
Memory is the storage area in which programs are kept when they are runngin and that contains the data needed by the running programs. Address is a value used to delineate the location of a specific data element within a memory array.

## Arithmetic for Computer ¶

Keywords are ALU, Overflow/Underflow, Two'sComplement(,and...)
ALU is is a part of the execution unit, a core component of all CPUs. ALUs are capable of calculating the results of a wide variety of basic arithmetical computations such as integer and floating point arithmetic operation(addition, subtraction, multiplication, and division), bitwise logic operation, and bit shitf operation. Therefore the inputs to the ALU are the data to be operated on (called operands) and a code from the control unit indicating which operation to perform. Its output is the result of the computation.--from http://en.wikipedia.org/wiki/ALU
Two's complement is the most popular method of representing signed integers in computer science. It is also an operation of negation (converting positive to negative numbers or vice versa) in computers which represent negative numbers using two's complement. Its use is ubiquitous today because it doesn't require the addition and subtraction circuitry to examine the signs of the operands to determine whether to add or subtract, making it both simpler to implement and capable of easily handling higher precision arithmetic. Also, 0 has only a single representation, obviating the subtleties associated with negative zero (which is a problem in one's complement). --from http://en.wikipedia.org/wiki/Two's_complement

# DigitalLogicDesign¶

## Terms ¶

BCD는 십진수(정수)의 각 자릿수를 네 개의 비트, 즉 니블로 표현하는 것이다. 예를 들어, 10진수 635를 BCD 형식으로 표현하면 다음과 같이 된다.
{{|
0110 0011 0101
|}}
BCD가 이진수 표현에 비해 갖는 장점 중 하나는, 표현할 수 있는 숫자 크기에 제한이 없다는 것이다. 다른 자릿수를 추가하려면, 그저 새로운 네 비트를 추가하기만 하면 된다. 이와는 대조적으로, 이진수 형식으로 표현된 숫자는 그 숫자를 표현하기 위해 사용되는 비트, 즉 8, 16, 32, 또는 64 비트 등에 의해, 표현할 수 있는 가장 큰 숫자가 제한된다. --from http://terms.co.kr/

A Gray code is a binary numeral system where two successive values differ in only one digit. --from http://en.wikipedia.org/wiki/Gray_code
2-bit Gray codes
{{|
00 = 0
01 = 1
11 = 2
10 = 3
|}}

이어지는 숫자와 자리수 하나만 다르게 이진수를 표현하는 기법이다.