본문 바로가기

728x90
반응형

KNU_study

마이크로프로세서(14) 타이밍도 1. demultiplexing Read 할 때의 순서 : Address bus --> Control bus --> Data bus Write 할 때의 순서 : Address bus --> Data bus --> Control bus -> Address bus와 Data bus는 동시에 쓰이지 않는다. 그러므로 그걸 같이 써서 효율적으로 줄이자. 이렇게 공용으로 사용하는 것을 demultiplexing이라고 한다. 입력이 1개, 출력이 여러개인 상황을 의미한다. multiplexer는 입력이 여러 개, 출력이 한 개 2. ALE 신호 (1) Ctrl 신호(파랑)을 1로 준다. (2) 잠시 뒤, Ctrl 신호(파랑)을 0으로 바꾼다. (3) 결과를 보면, Q는 그대로 1이 유지되고, 그 밑의 값은 변한다... 더보기
마이크로프로세서(13) 어셈블러 명령어2 어셈블러 명령어1 을 읽고 싶다면 여기를 클릭 ! 1. ADD r 1byte 명령어, opcode fetch read machine cycle r과 A를 더한 값을 A에 저장해라. -> ADD A 명령은 A + A의 결과값을 A에 저장하라는 의미이다. 2. ADI 8bits 2 byte 명령어, opcode fetch read + MEMR machine cycle 8bits(데이터)와 A를 더한 값을 A에 저장해라. +) ADD M 1byte 명령어, opcode fetch read + MEMR machine cycle M(16bits, 해당 주소)의 data와 A를 더한 값을 A에 저장해라. 3. ADC r 1byte 명령어, opcode fetch read machine cycle carry, r, .. 더보기
마이크로프로세서(12) 어셈블러 명령어 instruction cycle과 machine cycle의 차이점이 궁금하다면 여기를 클릭 어셈블러 명령어의 간단한 요약이 궁금하다면 여기를 클릭 ** r : 내부 register ** rp : register pair, 내부 register의 쌍 1. MOV r1, r2 1byte 명령어, opcode fetch read machine cycle 내부의 register끼리 서로 값을 바꿔라. -> r2를 r1으로 copy해라 (r2 : source, r1 : destination) 2. MVI r, 8bits 2byte 명령어, opcode fetch read + MEMR machine cycle 8bits(데이터)의 값을 r에 넣어라. 3. IN #port 2byte 명령어, opcode fetch.. 더보기
마이크로프로세서(11) I/O interface 3개의 control 신호 control 신호는 크게 4가지가 있다. -> memread, memwrite, IOread, IOwrite. -> 각각 memory를 읽고 쓰기, I/O를 읽고 쓰는 역할을 한다. 그러나 실제로 control 신호는 3가지로 구성된다. 이 3개의 신호들을 메모리에 적용하면 다음과 같은 그림이 나온다. -> 그냥 남는 곳에다가 IO/M[바] 신호를 0으로 연결하자. -> IO/M[바] : 값이 0이면 low 신호이므로 memory, 1이면 high 신호이므로 IO를 선택한다.) I/O interface I/O를 interface시키는 방법은 크게 두 가지가 있다. 1. I/O mapped I/O -> I/O를 I/O 자체에 매핑시킨다. -> 동시에 control 신호가 안 나.. 더보기
마이크로프로세서(10) 38 decoder 이전 글의 개념(38디코더를 사용하는 이유)이 필요하다면 여기를 클릭 !! example problem 0000H ~ 1FFFH 메모리를 설계하시오. (38 디코더를 사용) 처음 주소와 끝 주소를 비교하였을 때, A15부터 같은 값을 가지는 bit까지를 CS에 연결한다. -> 남은 값들은 address bus로 할당한다. 또한 NAND 대신, decoder를 사용할 수 있다. -> 38디코더 : 같은 크기의 메모리 8개까지 확장 가능 -> 하 실수를 또 했넹.. E1과 E2위에 바(bar)가 있어야 하고, E3위엔 아무것도 없어야 합니다!! 예제1 보다 1 큰 번지를 할당하였을 때, 해당 메모리의 시작 번지와 끝 번지는 ? + 설계해라. -> E1과 E2위에 바(bar)가 있어야 하고, E3위엔 아무것도.. 더보기
마이크로프로세서(9) partial decoding, absolute decoding partial decoding 필요한 주소만 연결, 남는 주소는 연결하지 않는 방법. 중복된 번지를 가진다. (ex) address bus는 4개이지만 2개만 쓰고 싶을 때, 아래 그림과 같이 사용하면 된다. Q. 0000번지를 찾을 경우? 0100번지를 찾을 경우? 1100번지를 찾을 경우? -> 모든 경우에 00번지로 찾아내서 내보낸다. -> 즉, 그림에서 A2와 A3는 don't care bit이므로 신경쓸 필요가 없다. 연결이 안된, don't care bit의 개수가 n개 일때 한 공간이 가질 수 있는 번지 수 : 2n개 absolute decoding 다른 말로, complete decoding이라고 한다. 무조건 메모리 하나가 한 번지를 갖는 것을 의미한다. Memory decoding me.. 더보기
마이크로프로세서(8) memory map Memory Map 시작 번지와 끝 번지만 찾으면 된다. 예제 그림을 보고 각각의 상황에서 memory map을 찾아보자. memory map의 시작 : 0, 끝 : 1 memory map의 시작 : 0000H, 끝 : FFFFH memory map의 시작 : 00, 끝 : 01 -> A1 =1이면 동작하지 않는다. 따라서 10과 11의 값은 사용되지 않는다. 00, 01만 사용 memory map의 시작 : 000, 끝 : 011 -> 000 ~ 011만 사용 가능하다. 100 ~ 111은 사용 불가능하다. -> 즉, A2 = 1이면 동작하지 않는다. memory map의 시작 : 0000H, 끝 : 7FFFH -> A15 = 0으로 고정한다. A0와 A14 사이의 값을 0, 1로 줄 수 있다. 주어진.. 더보기
마이크로프로세서(7) computer의 비트 수, 번지 수 늘리기 비트 수 늘리는 방법 한 번지의 비트 수를 늘리는 방법은 다음과 같다. 8bit computer를 2개 사용하면 16bt computer이 된다. (그러나 납땜해야 한다.) 이 방식은 번지 수는 똑같은데, 그 번지 수를 16bit로 확장한 것이라고 볼 수 있다. 번지 수 늘리는 방법 메모리가 모자라면, 하나 더 사면 된다. 실생활에서 이 방식은 납땜이 필요 없고, 꽂기만 하면 된다. 다음 시간에는 memory map에 대하여 공부해보겠다. memory map이 궁금하다면 여기를 클릭 ! 더보기

728x90
반응형