컴퓨터란 주기억 장치에 적재한 프로그램을 실행하는 것이다.
컴퓨터 구조란 프로그래머에게 보이는 속성들로 추상적인 약속들로 아래와 같은 속성이 있다.
컴퓨터 조직이란 실제로 어떻게 구현되고 상호 연결되는지 다루고 아래와 같은 속성이 있다.
정보 처리하는 물리적인 실체인 하드웨어와 정보의 방향과 정보 처리의 종류를 지정해주고 이러한 동작들이 일어나는 시간을 지정해주는 명령의 집합인 소프트웨어로 구성된다.
기본 구성요소는 중앙처리장치(CPU)와 주기억장치(Main Memory)와 입출력장치(I.O)가 시스템버스로 이어져 있다.
이는 폰노이만 구조로 오늘날의 컴퓨터 기본 구조이다.
폰노이만 구조는 ENIAC의 프로그램 저장 및 변경이 안되는 문제를 해결 목적으로 도입한 구조로 2진수 체계이고 프로그램과 데이터를 내부에 저장하는 최초의 구조이다.
주요 구성 요소는 메인메모리, ALU(산술논리연산장치), 프로그램 제어 유니트, I/O(입출력장치) 가있다.
CPU : 프로세서로 프로그램 실행과 데이터처리를 수행
기억장치 : CPU가 처리할 데이터를 저장하는 장치
입출력장치 : 입력 및 출력 장치
시스템 버스 : 중앙처리장치와 입출력장치 주기억 장치 간의 통신이 이루어짐.
CPU와 기억장치는 주소버스와 데이터버스와 제어버스로 이어져 다음 과정을 거친다.
CPU와 입출력 장치 역시 주소버스, 데이터버스, 제어버스로 이어져
CPU -> 시스템 버스 -> I/O 장치 제어기 -> I/O 장치 과정을 거친다.
I/O 장치 제어기는 CPU로부터 I/O명령을 받아서 해당 I/O장치를 제어하고, 데이터를 이동함으로써 명령을 수행하는 전자회로 장치이다.
이러한 I/O장치 제어기안에는 상태 레지스터와 데이터 레지스터가 존재한다.
CPU는 보조저장 장치와도 I/O장치와 비슷하게 접속하지만
I/O장치는 바이트 단위로 데이터를 전송하는 대신,
보조저장 장치는 블록 단위로 전송하고, 제어기 내에 이러한 블록을 저장할 수 있는 데이터 버퍼가 필요함.
하드웨어 프로그래밍 : 산술과 논리 함수를 실행하여 결과 도출. 새로운 프로그램을 실행시키기위해서는 회로를 다시만들어야기에 유동적이지 못함.
소프트웨어 프로그래밍 : 명령어를 해석하여 하드웨어에 맞춰 제어신호를 보내고 산술 및 논리 연산을 하여 결과 도출.
컴퓨터 언어는 아래와 같이 분류된다.