CS 4

튜링 머신(Turing Machine)이란?

튜링 머신은 1936년 영국의 수학자 앨런 튜링(Alan Turing)이 고안한 가상의 수학적 계산 모델이다. 물리적으로 존재하는 기계가 아니라, "계산이란 무엇인가?"를 증명하기 위해 만든 논리적인 개념이다. 이 기계는 오직 정해진 규칙에 따라 테이프 위를 이동하며 기호를 조작하는 방식으로 작동한다. 중요한 점은 이 가상의 기계가 현대 컴퓨터의 논리적 구조와 작동 원리의 완벽한 근간이 되었다는 것이다. "어떤 문제든 해결할 수 있는 명확한 알고리즘(규칙)이 있다면, 튜링 머신으로 계산할 수 있다"는 것이 핵심 원리이다. 튜링 머신의 4대 구조 (Structure)튜링 머신은 물리적인 복잡성 없이, 연산을 수행하기 위한 최소한의 논리적 장치들로 구성되어 있다.테이프 (Tape)형태: 일정한 크기의 칸(..

CS 2026.06.02

명령어(Instruction)에 대해 알아보자

1. 명령어(Instruction)란 무엇인가?1.1 명령어의 정의명령어(Instruction)는 프로그래머가 작성한 소프트웨어의 특정 동작이나 작업들을 CPU(중앙처리장치)가 직접 이해하고 실행할 수 있도록 지시하기 위해 약속된 기계어 또는 프로그래밍언어를 뜻한다. 기계적으로 명령어는 오직 0과 1로만 이루어진 이진 코드(기계어, Machine Code)의 비트 패킷 형태를 띠며, 인간이 식별하기 위해 ADD, SUB, JMP 같은 어셈블리어 기호(Mnemonic)로 일대일 매핑하여 표현한다. 1.2 명령어의 구조명령어는 CPU에게 "어떤 행동을 하라"고 내리는 한 줄의 비트 패킷이다. 이 패킷은 논리적으로 크게 두 가지 구역으로 쪼개질 수 있다. 옵코드 (Opcode - Operation Code)뜻..

CS 2026.06.01

ISA(Instruction Set Architecture, 명령어 집합 구조)란 무엇일까?

ISA(명령어 집합 구조)는 소프트웨어 개발 영역(컴파일러, 어셈블러)과 하드웨어 설계 영역(마이크로아키텍처, 물리 회로 등)이 만나는 인터페이스이자 명세서(Specification)라 할 수 있다. 쉽게 말해 하드웨어(CPU)와 소프트웨어(프로그램) 사이의 약속 체계이자 번역기이다. ISA는 다음과 같은 것을 보장하도록 명시되어 있다.아키텍처 레지스터 값=> 소프트웨어가 직접 읽고 쓸 수 있도록 ISA가 정의한 레지스터들(x86의 rax, rbx, rsp 등 - 명령어 비트 패킷 안에 rax = 000, rbx = 011, 이런 방식으로 인코딩 후 소프트웨어가 CPU에게 어떤 레지스터인지 전달하는 수단이다. )의 값( 해당 레지스터에 실제로 들어있는 데이터). ISA 아키텍처에서 몇번 슬롯의 레지스터..

CS 2026.06.01

SIMD (Single Instruction Multiple Data) 란?

SIMD는 영어의 의미로 유추할 수 있듯이 하나의 명령어로 여러 개의 데이터를 동시에 처리하는 병렬 컴퓨팅 기술을 의미한다.일반적인 CPU연산을 할 때 하나의 명령어로 하나의 연산 처리만 할 수 있다고 했을 때, SIMD를 이용해서 하나의 명령어로 여러 데이터를 한 번에 처리하여 효율성을 높일 수 있다. 전통적인 방식인 SISD(Single Instruction, Single Data)와 비교했을 때 아래와 같다.SISD (일반 연산): $1 + 1$, $2 + 2$, $3 + 3$을 계산할 때, 더하기 명령을 세 번 내려서 순차적으로 처리한다.SIMD (병렬 연산): $[1, 2, 3]$이라는 데이터 묶음과 $[1, 2, 3]$이라는 데이터 묶음을 준비한 뒤, "한 번의 더하기 명령"으로 $[2, 4,..

CS 2026.04.30