
누산기(Accumulator)는 컴퓨터 연산에서 중요한 역할을 하는 레지스터로, 계산 결과를 일시적으로 저장하는 데 사용됩니다.
Accumulator의 누적 연산 역할은 여러 개의 값을 연속해서 덧셈하거나 곱셈할 때 유용합니다.
Accumulator에 저장된 데이터를 삭제하는 역할을 합니다.Clear가 1이 되면 출력 Q가 0이 되어, 누산기 내 데이터를 초기화할 수 있습니다.
누산기는 8비트 덧셈기(Adder)와 8비트 래치(Latch)로 구성되어 있으며, 다음과 같은 구조로 동작합니다.
Clear 스위치를 통해 입력된 데이터를 초기화할 수 있으며, Add 스위치를 통해 입력된 데이터를 저장할 수 있습니다.
사용 예시:
Clear를 통해 기존 데이터를 삭제한 후,Switches로 값을 입력하고Add를 누르면 누산기에 새로운 데이터가 저장됩니다. 이후 덧셈 연산을 반복할 수 있습니다.
컴퓨터는 Data(데이터)와 Code(명령어)를 구분하여 처리합니다. 이를 통해 데이터와 코드의 혼동을 방지하며, 프로그램이 효율적으로 실행됩니다.
Load, Add, Store 명령어를 각각의 주소에 대응하는 값으로 정의하여, 특정 주소에 저장된 명령어를 실행할 수 있습니다.Code와 Data를 분리하여 저장하면 프로그램의 안전성과 효율성을 높일 수 있습니다.
Instruction Set은 CPU가 이해하고 실행할 수 있는 명령어 집합으로, 컴퓨터 프로그래밍에서 중요한 역할을 합니다.
Instruction Code로 변환해야 합니다.
Instruction Code는 주로 약어로 표현되어 사용됩니다. 예를 들어:
LOD A, [1003h]LOD는 10h에 해당하는 Instruction Code를 나타내며, A는 Accumulator를 나타냅니다.LOD A, [1003h]는 1003h 주소에 있는 데이터를 Accumulator에 로드하라는 의미가 됩니다.대부분의 프로그래밍 언어에서는 주소(Address)에 이름을 붙여 코드 재작성 시 가독성을 높이고, 주소 변경의 영향을 최소화할 수 있습니다.
BEGIN: LOD A, [1005h]Program Counter(PC)는 다음에 실행할 명령의 메모리 주소를 가리키는 16비트 카운터입니다. PC는 프로그램이 순차적으로 실행되도록 조정하며, 클럭 신호에 따라 값이 1씩 증가합니다.
Clear 스위치가 0일 때, PC는 0000h에서 시작하여 명령어를 순차적으로 로드합니다.
PC는 프로그램의 마지막 주소에 도달하면 초기 주소로 돌아가거나, 다음 프로그램의 시작 주소로 이동하는 방식으로 프로그램이 순환할 수 있습니다. 이를 통해 프로그램이 반복적으로 실행되거나, 다음 작업으로 자동 이동할 수 있습니다.
Automation(자동화)는 컴퓨터가 특정 작업을 반복적으로 수행하도록 설정하는 개념입니다. 이를 통해 프로그램은 일련의 작업을 자동으로 수행하며 원하는 결과를 얻을 수 있습니다.
0000h 주소부터 데이터가 저장되고, 클럭 신호에 따라 프로그램이 자동으로 다음 명령어를 실행하여 연산을 진행합니다. 
h는 16진수를 의미하며, 각 명령어를 16진수로 변환하여 메모리에 저장할 수 있습니다.
이번 포스팅에서는 Accumulator와 기본 프로그래밍 원리를 통해 컴퓨터 내부에서 데이터가 어떻게 처리되고 저장되는지에 대해 살펴보았습니다.
다음 포스팅에서는 CPU의 구조와 실행 흐름에 대해 더 깊이 살펴보고, 메모리 계층과 DMA(Direct Memory Access)가 컴퓨터 시스템의 성능에 어떤 영향을 미치는지 다룰 예정입니다. CPU 내부의 데이터 처리와 명령어 흐름을 구체적으로 설명하며, 고속 연산을 위한 메모리 관리와 효율성을 위한 DMA의 역할도 함께 살펴보겠습니다.