만든 날짜: | 2018-09-14 오전 9:00 |
해당 글은 수업을 들으며 정리한 내용입니다. 오류 및 개인적인 내용이 다수 포함 될 수 있습니다. 또는 학습에는 적합하지 않을 수 있습니다.
4096x16 짜리 메모리 사용.(왜? 그냥) 방 한개당 16bit
2^12(=4096)
Accumulator : 연산한다. 두 수를 더할 때 숫자가 2개 필요한데 그 중 한개 수가 AC에 들어가고 결과고 AC에 들어간다. (일종의 연산 시뮬레이터)
데이터(16비트)를 가져왔을 때 명령어 일경우
OpCode(4bit) = 다이렉트/인다이렉트(1bit, I bit) + 명령어 (3bit)
+
Address = 12bit
0: 직접
1: 간접
TR(템포레지스터) 는 DR,AC등이 넘쳤을 때 잠시 사용하는 레지스터
버스에 데이터를 보낼 때 받는 사람만 읽도록 하게 해야한다.
LD : Load (짐, 짐을 싣다.)
LD가 1(시그널)이 되면 해당 곳에 데이터를 전송하라는 뜻이다. (버스에서 가져올 때)
INR : increment
INR이 1이되면 해당 레지스터를 하나 증가시킨다.
CLR : Clear 다 0으로.
데이터를 실을 때 버스로부터 싣는다.
디코더 (3x8) : 3bit가지고 8개 중에 하나를 고른다. (버스에다 싣을 때)
각 소자는 자기만의 버스 번호가 있다.
(000~111)
DR<-AC
bus = 100 (AC가 버스에 데이터를 실어야되므로)
DR의 LD가 1이되어야 한다. (버스에서 데이터를 받아야하므로)
DR<-AC, AC<-DR
bus = 100 이고 DR의 LD=1
bus = 011 이고 AC의 LD=1
해야되는데....
DR에서 AC에 넣을 때는 by pass 사용.
선이 하나 더 있다. DR에서 AC로 갈 때는 버스를 쓰지 않는다.
(by pass)
메모리 Write Read 읽고 쓰고 한다.
3 가지 종류의 명령어를 만든다.
- Type of instruction formats:
- Memory-reference instruction : 메모리를 읽거나 쓰거나 할 때
- Register-reference instruction : 레지스터를 컨트롤 할 때
- I/O instruction : 입력 출력을 컨트롤 할 때
Memory-reference instruction
Opcode : 000~110 (7개) 메모리 명령이 있는데 다시 direct/indirect 두가지 있다.
Register-reference instruction
I=0, Opcode = 111 . 7로 시작.
I/O instruction
I=1, Opcode = 111, F로 시작.
[컴퓨터시스템구조] 6일차 - Accumulator, Memory-reference instruction
Reviewed by Lifer
on
11/04/2018
Rating:
댓글 없음: