이 글은 www.youtube.com/watch?v=uzgqj73wWGQ&list=PLc8fQ-m7b1hD4jqccMlfQpWgDVdalXFbH&index=19 를 공부한 글입니다.
cpu가 곧 컴퓨터이고 컴퓨터가 곧 cpu이다. 다른 부품들은 뭐냐? 주변장치라고 한다.
컴퓨터의 동작
레지스터 내에 저장된 데이터에 대한 마이크로 연산의 시퀀스에 의하여 정의
범용 컴퓨터 시스템에서는 다양한 마이크로 연산 시퀀스를 정의
명령어 코드
컴퓨터에게 어떤 특별한 동작을 수항할 것을 알리는 비트들의 집합
연산 코드들로 구성
컴퓨터 명령어
컴퓨터에 대한 일련의 마이크로 연산을 기술
이진 코드로 구성
데이터와 함께 메모리에 저장
프로그램
사용자가 원하는 연산과 피연산자가 처리되는 순서를 기술한 컴퓨터 명령어의 집합
명령어 처리 과정을 제어
내장 프로그램
메인 메모리나, 레지스터에 실제 들어가 있는 프로그램(기계어)
제어 신호에 의하여 명령어의 이진 코드를 해석하여 실행
명령어를 저장하여 실행하는 컴퓨터 구동 방식
프로그램이라고 말하는 것: 기계어 프로그램이다.(아 기계어구나 라고 이해하면 된다.)
저장(내장 프로그램 구조)
명령어의 집합으로 구성
각 명령어는 명령어 포맷에 따라서 정의(미리 정해뒀다.)
프로그램 실행부분에 따라서 메모리의 다른 부분에 저장
명령어 실행 결과는 AC에 저장
16비트로 구성
i비트, 12~14 명령어 코드에서 사용하는 데이터 , 0~11까지 지정된 주소
ex) 무언가를 더해라, 저장해라, 분기해라 = Opcode에 있다.
무언가는 주소에 있고, 주소를 찾아가 봤더니 또 주소가 있다면 간접주소, 데이터가 진짜 있다면 직접주소
메인메모리는는 16비트로 되어 있다.
명령어는 명령어 대로 따로, 데이터는 데이터 대로 따로 저장되게 된다.
나눠진 덩어리를 부분(segment)라고한다.
임시로 쓰는 데이터를 저장하기 위한 공간을 stack segment라고한다. (힙이라고도 함)
하나의 프로그램이 메인 메모리에 가서 실행될 때는 최소한 3개의 부분으로 구성된 메모리 공간을 차지한다.
16비트 공간이 4096개 있다. 왜 하필4k를 쓸까? 명령어의 주소 비트 수 때문이다. 주소는 메인 메모리의 주소를 나타낸다. 주소 비트수가 12개이다. address의 최대는2^12이다.
1k = 주소가 10비트
4k = 12비트
1m = 20비트
1g = 30 비트
4g = 32 비트
간접주소 시스템
많은 경우, 직접주소를 사용하여 데이터 지정
필요한 경우, 간접주소로 데이터 지정
i비트가 0일 경우에는 직접주소이다.
(더해라, 457번지에 있는 것)
i비트가 1인 경우에는 간접주소이다.
즉, i비트는 간접주소인지, 직접주소인지 판단해 주는 비트이다.
300번지에 가면 1350이라는 주소가 있다. 주소로 가야한다.
왜 굳이 한 다리 건너야 하는가, 간접주소를 써야하는가? 반드시 필요하다. 프로그래밍 언어에 활용성을 넓히기 위해 쓴다.
'Computer Science > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터 구조] 컴퓨터가 동작하는 경위 (0) | 2021.01.18 |
---|---|
[컴퓨터구조] 기본 컴퓨터 레지스터 (0) | 2021.01.17 |
[컴퓨터구조] 레지스터 전송과 마이크로 연산 (0) | 2021.01.14 |
[컴퓨터구조] 데이터의 표현 (0) | 2021.01.13 |
[컴퓨터구조] 디지털 부품 (0) | 2021.01.12 |