본문 바로가기

728x90
반응형

KNU_study/마이크로프로세서

마이크로프로세서(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이 궁금하다면 여기를 클릭 ! 더보기
마이크로프로세서(6) memory interface2 마이크로프로세서의 주요 동작 1. memory 저장 및 읽기 2. IO로 출력을 내보냈다가 받기 1. memory read (1) OPcode Fetch : OP code를 읽어 온다. (2) Memory Read : data를 읽어 온다. 2. Memory Write 3. IO Read 4. IO Write -> T state : 클락, CLK로 보면 된다. -> Machine cycle : 한 동작이 시작, 끝날 때까지의 cycle (이 동작의 5가지 종류 = 마이크로프로세서가 하는 일 5가지) -> Instruction cycle : 한 명령어가 시작, 끝날 때까지의 cycle ** 모든 명령어는 machine cycle의 조합으로 이뤄진다. ** 모든 instruction cycle은 machin.. 더보기
마이크로프로세서(5) 어셈블러 명령어 * 어셈블러 명령어란? 프로세서가 가져야 하는 기능을 명령어로 만든 것. 기능별 분류 1. 산술 연산 (1) 3가지 경우 [이항 연산자의 두 항 중 하나는 99% accumulator에 있다 ] A(accumulator의 값) + 내부 레지스터(B,C, ... , H)의 값 A(accumulator의 값) + 외부 메모리 값 A(accumulator의 값) + 내가 준 임의의 명령어 값 (2) 2가지 경우 [레지스터 F에서 carry를 다룰 때] carry를 더하는 경우, carry를 더하지 않는 경우 -> 덧셈의 명령어에는 총 6(= 3 X 2)가지가 있다. -> 이와 마찬가지로, 뺄셈도 총 6가지가 있다. 2. 논리 연산 and, or, xor 논리연산도 무조건 accumulator의 값과 연산해야 .. 더보기
마이크로프로세서(4) FlipFlop as memory FlipFlop 메모리 : 어떤 값을 주면, 그것을 갖고 있어야 한다. 메모리의 대표적인 예시로, 플리플랍(FlipFlop)이 있다. SR : set과 reset. 총 4가지의 경우 중 3가지의 경우만 사용한다. JK : SR을 귀환시킨 플립플롭이다. D : 0 -> 0, 1 -> 1 T : 0 -> 1, 1 -> 0 메모리로 사용하기 편한 FlipFlop은 D FlipFlop이다. Memory의 cell Memory의 cell이란? 1bit를 저장하는 공간. 주소 한 번지에 총 8개의 D FlipFlop이 실려 있다. (data bus = 8bit이므로) MEMR, MEMW는 따로따로 동작하는 것 같지만, 아래 그림을 보면 결국 같이 묶어져 있다. 그러나 여러 개의 주소가 있을 경우, 문제가 발생한다... 더보기
마이크로프로세서(3) memory interface 메모리 실행 과정 교수님께서 수업 시간마다 매번 설명해주시는.. !! 메모리 실행 과정에 대해 정리해보겠다. 그전에.. bus의 세 종류에 대해 알고싶다면 여기를 클릭 !! memory interface : 메모리를 쓰겠다 = 3종류의 bus를 다 연결하겠다. interface : 사용자와의 접근, 연결 가능한 통로 CPU형태, PC의 역할 등에 대해 모른다면 여기를 클릭 !! 1. address bus에 주소값(200016)이 들어간다. 2. decoder가 주소값을 받아서, 해당 주소의 data를 찾는다. -> decoder를 걸쳐서, 200016 번지의 8bit data가 enable된다. 3. micro processor가 control 신호를 준다. (MEMR, 너에게서 명령어를 읽어오겠다는 명.. 더보기

728x90
반응형