CPU, 저장 장치, GPU, NIC 등 '고유 기능'을 가진 컴퓨터를 구성하는 서로 다른 부품들을 하나의 '컴퓨터'라는 기계로 작동할 수 있게 하는 기본 설계
전체적인 컴퓨터 구조 중 CPU가 해석하고 사용하는 명령어의 집합이다. 프로그램을 실행하면 기계어로 된 명령어들을 CPU가 fetch-decode-execute 과정을 반복하는데, ISA는 이 일련의 과정을 정의한 것이라고 보면 된다.
'Stored-program' 개념을 도입하여, 프로그램을 구성하는 명령어들을 임의 접근이가능한 메모리 상에 실행 순서대로 배열하고, 동시에 조건 분기를 무제한으로 허용하는 형태의 컴퓨터 구조.
실행 코드와 데이터가 구분되어 있지 않고 메모리에 혼재되어 있으며, OS가 실행 코드와 데이터를 분리한다.
CPU, Memory, Program 세 가지 구성요소를 기본으로 하고 있다. 이 때문에 컴퓨터에 다른 작업을 수행시키려면 HW 교체가 아닌, SW(Program) 교체만을 요구하여 범용성이 향상한다.
다만, 메모리의 값을 읽고 쓰는 구조이기 때문에 병목 현상이 발생하여, 메모리 계층 구조 (Register-cache-memory-disk), NUMA 등의 병목 현상 완화 기술들이 필요하다.
또한, 난수 생성에취약하다. 코드를 순차적으로 실행하는 것이기 때문에 정해진 입력에 따라 정해진 값만을 출력하는 Finite Automata 형식을 가진다. 이는 AI 기술과도 굉장히 동떨어져있는 부분.

연산을 처리하고 시스템을 관리하는 장치로,
산술/논리 연산을 처리하는 ALU (산술 논리 장치), CPU를 제어하는 Control Unit (제어 장치), 데이터를 저장하는 Register로 구성되어 있다.
용도에 따라 주기억장치와 보조 기억장치로 분류된다.
주기억 장치는 프로그램 실행 과정에서 필요한 데이터들을 임시로 저장하기 위한 것으로 RAM (Random Access Memory)아 대표적이고
보조 기억 장치로는 OS, 프로그램과 같은 데이터들을 장기적으로 보관하고자 할 때 사용되며 대표적으로 HDD, SSD가 있다.
컴퓨터 부품과 부품 사이, 컴퓨터와 컴퓨터 사이에 신호를 전송하는 통로로, 데이터가 이동하는 data bus, 주소를 지정하는 address bus, read/write를 제어하는 control bus 등이 있다.
x86 아키텍처와 호환되는 64비트 아키텍처로, 64bit는 한 번에 처리할 수 있는 데이터의 크기이다.
레지스터 크기, ALU 연산 크기, 주소 크기, bus 대역폭을 의미하기도 한다. 이를 WORD라고 하며, 2byte 크기를 의미하는 WORD와는 다르다.
주소 크기가 64bit이면 이론상 16T 크기의 가상 메모리를 제공할 수 있어 가용 메모리 자원이 부족해서 소프트웨어의 성능을 내지 못하는 일은 발생하지 않는다.
x86의 경우 32bit 크기를 가지고 앞에 e가 붙는다.