Computer Science/Computer Architecture

    [컴퓨터구조] 2-pass assembler

    🤔 핵심정리 공부를 하며 핵심이라고 생각되는 부분을 뽑아서 정리하겠습니다. 6단원까지의 핵심정리이며 다음 단원의 핵심정리는 다음 기회에 진행하겠습니다. 컴퓨터 구조를 공부하며 포스팅을 하지 않아 이해가 덜 되었기에 틀린 부분이 있다면 지적해주세요! 🔎 2-Pass Assembler 어셈블러는 어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램을 말합니다. 어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환시키는 프로그램입니다. Assembler에 2-Pass를 붙인 이유는 말 그대로 2번 지나간다는 뜻입니다. 이는 어셈블리어로 작성된 코드를 2번 순회하면서 첫 번째 순회때 부족한 부분을 채워준다는 의의가 있습니다...

    [컴퓨터구조] Interrupt Cycle

    🤔 핵심정리 공부를 하며 핵심이라고 생각되는 부분을 뽑아서 정리하겠습니다. 6단원까지의 핵심정리이며 다음 단원의 핵심정리는 다음 기회에 진행하겠습니다. 컴퓨터 구조를 공부하며 포스팅을 하지 않아 이해가 덜 되었기에 틀린 부분이 있다면 지적해주세요! 🔎 Interrupt Cycle CPU는 순차적인 명령어 실행을 중단하고 다른 프로그램을 처리할 수 있도록 하는 메커니즘을 재제공 해주는 것을 interrupt라고 합니다. 주 프로그램의 입장에서 보면 흐름이 깨지기 때문에 방해받는다고 표현한 것 같습니다. 만약 CPU가 어떤 프로그램을 순차적으로 수행하는 중에 외부로 부터 인터럽트 요구가 들어오게 되면, CPU는 원래 프로그램의 수행을 중단하고, 인터럽트를 먼저 처리해줍니다. 인터럽트 처리가 끝나면 원래의 프..

    [컴퓨터구조] Instruction Cycle

    🤔 핵심정리 공부를 하며 핵심이라고 생각되는 부분을 뽑아서 정리하겠습니다. 6단원까지의 핵심정리이며 다음 단원의 핵심정리는 다음 기회에 진행하겠습니다. 컴퓨터 구조를 공부하며 포스팅을 하지 않아 이해가 덜 되었기에 틀린 부분이 있다면 지적해주세요! 🔎 Instruction Cycle CPU가 memory로부터 프로그램된 한 개의 기계어 명령을 가져와 어떠한 동작을 요구하는 지 결정하고 명령어가 요구하는 동작들을 수행하는 과정을 Instruction Cycle이라고 합니다. Instruction Cycle을 설명하기 전 컨트롤러의 레지스터를 살펴보겠습니다. 총 8가지의 레지스터로 명령어가 이 레지스터를 통해서 CPU내에서 어떻게 실행되는지 볼 수있습니다. Registers PC(Program Counter..

    [컴퓨터구조] 2의 보수, 오버플로우, Error Detection, n-bit bus, 전가산기, 반가산기

    🤔 핵심정리 공부를 하며 핵심이라고 생각되는 부분을 뽑아서 정리하겠습니다. 6단원까지의 핵심정리이며 다음 단원의 핵심정리는 다음 기회에 진행하겠습니다. 컴퓨터 구조를 공부하며 포스팅을 하지 않아 이해가 덜 되었기에 틀린 부분이 있다면 지적해주세요! 🔎 2's complement code 🧐 2's complement code를 사용하는 이유는? Subtraction과 logic operation을 쉽게 하기 위해서 complement를 사용하는데 컴퓨터는 이진수를 사용하므로 컴퓨터에서 해당 기능을 쉽게 하기 위해 2's complement code를 사용합니다. +ɑ 🔎 $n$bit number addition's overflow condition 🧐 $n$bit number addition's over..

    [컴퓨터구조] Data Representation

    🤔 Data Representation 이 장에서는 컴퓨터가 어떤 식으로 연산을 진행하는지에 대해 배워보겠습니다. Complements, Fixed-Point Representation, Floating-Point Representation, Error Detection Codes등에 대해 배웁니다. 🔎 Complements 컴퓨터에서 뺄셈과 논리 연산을 쉽게 하기 위해서 보수가 사용됩니다. (r-1)의 보수 연산은 아래의 식과 같습니다. $$ N = (r^n - 1) - N$$ 예를 들어 9의 보수와 1의 보수는 아래와 같습니다. $$(10^n - 1) - N$$ $$(2^n - 1) - N$$ 다양한 보수 연산들이 있지만 Computer Science에서 가장 중요한 2의 보수를 중점적으로 다루도록 ..