본문 바로가기
반응형

Computer Science86

컴퓨터의 논리연산 논리 연산 컴퓨터 내의 논리적 데이터는 단어 내의 각 비트 단위로 의미를 가지고, 연산 또한 비트 단위로 처리됩니다. ex) A = 0, B = 1 과 같이 비트 단위로 주어지고 OR, AND, XOR, NOT의 연산 수행 이를 위해서 H/W Module은 4X1 멀티 플렉서에 OR, AND, XOR, NOT 수행결과를 선택 신호에 의해 선택하여 출력하는 방식으로 구성됩니다. 기본적인 논리연산 먼저 AND 연산입니다. AND 연산은 두 비트를 비교해 모두 1인 경우 결과 데이터의 비트는 1로 세트되고, 둘 중 하나라도 0이라면, 0이 세트됩니다. 이 결과 데이터 비트는 논리 데이터이므로, TRUE, FALSE의 논리적 의미를 가집니다. 다음으로 OR 연산입니다. OR 연산은 두 비트를 비교해 모두 0인 .. 2024. 1. 8.
컴퓨터의 수 표현 ALU 산술논리연산장치인 ALU는 다음 장치들로 구성됩니다. 산술연산장치 논리연산장치 시프트 레지스터 (시프트 연산 대상으로 사용) 보수기 (2의 보수 변환) 상태 레지스터 (Flag를 나타냄) 수의 표현 컴퓨터에서 수는 2진수로 표현합니다. 따라서, 0과 1, 그리고 부호와 소수점으로 표현됩니다. 2진수에서 10진수로 변환할 때에는 다음과 같이 변환됩니다. A = n-1번째 a * 2^(n-1) + ... + 1번째 a * 2^1 + 0번째 a * 1 소수는 다음과 같이 변환됩니다. ex) 1101.101 = 8 + 4 + 1 + 0.5 + 0.125 = 13.625 하지만 10진수 실수에서 2진수로 변환할때는 근사값이 나오게됩니다. (필자 생각으로 0.1 + 0.9가 1이아니라 1에 수렴하는 이유가 .. 2024. 1. 8.
명령어 세트(Instruction Set) 명령어 세트 명령어 세트란, CPU를 위해 정의되어 있는 명령어들의 집합을 말합니다. 명령어 세트를 설계하기 위해서는 다음 사항들을 먼저 고려해야합니다. 연산종류 (연산 수 및 복잡도 등) 데이터 유형 (데이터 길이, 수 표현 방식 등) 명령어 형식 (명령어 길이, 오퍼랜드 필드 수 등) 주소지정 방식 (오퍼랜드 주소 지정 방식) 연산 종류 연산 종류로는 데이터 전송이나 산술연산, 논리연산, I/O 연산, 프로그램 제어 연산이 있습니다. 이 중 프로그램 제어를 위한 두 가지 기본연산이 있는데, 바로 CALL 명령어와 RET 명령어입니다. CALL 명령어는 말그대로 서브루틴을 호출하는 명령어이고, RET 명령어는 서브루틴으로 부터 원래 프로그램으로 복귀하는 명령어 입니다. 먼저 CALL 명령어의 마이크로 .. 2024. 1. 4.
명령어 파이프라이닝 명령어 파이프라이닝 명령어 파이프라이닝이란, 명령어 실행에 사용되는 H/W를 여러 단계로 분할함으로써 처리 속도를 높여주는 기술입니다. 예를들어, 3ns의 시간이 걸리는 명령어들이 있을 때, 명령어의 실행과 동시에 다음 명령어의 인출 또한 수행하면서, 처리 속도를 빠르게 합니다. 먼저 2단계 파이프라이닝의 경우, 인출과 실행을 동시에 실행합니다. 따라서, 처리 속도는 기존에 비해 2배에 수렴합니다. 하지만, ISR이나 JMP 와 같은 분기 명령어에 의해 성능저하가 발생할 수 있습니다. 이때 클록 주기는 시간이 더 긴 작업을 기준으로 설정합니다. ex) Fetch Cycle : 3ns, Execute Cycle : 1ns. then, CPU Clock Cycle : 3ns) 하지만 이렇게 되면, Execu.. 2024. 1. 3.
반응형