본문 바로가기

728x90
반응형

전체 글

마이크로프로세서(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, 너에게서 명령어를 읽어오겠다는 명.. 더보기
마이크로프로세서(2) CPU CPU central process unit. CU(control) + ALU(계산 담당) 종류는 크게 두 가지가 있다. 1) CISC : complex, 명령어 체계가 굉장히 복잡하다. 메모리를 10개 이하로 사용한다. 2) RISC : reduced, 복잡도가 낮다. 크기 32bit로 통일된다. 메모리는 30+α개이며, 읽는 속도가 빠르다. F : flag로, 지금 상태를 알려주는 process, CPU의 저장 공간 중 하나로 8bit이다. 아래의 그림은 F를 나타낸 것이다. 하나씩 살펴보자. A가 0이면(깃발 들어) F = 1, A = 1이면(깃발 내려) F = 0. -> S : sign의 부호를 알려준다. 연산 결과가 A에 저장되므로, A의 첫 bit값이 정해진다. 음수면 1, 양수면 0. -> .. 더보기
마이크로프로세서(1) Bus란 무엇일까? Bus memory를 주고 받는 통로. 신호가 지나다니는 하나의 전선, 전기적 통로. Bus의 종류 1) address bus [16bit] : 메모리 안의 데이터들을 구별하기 위해 주소를 부여, 주소가 이동하는 통로 2) data bus [8bit] : data가 이동하는 통로 3) control bus [1bit] : read or write 제어 신호, input or output으로 이동을 제어 * data : 메모리 안에 저장되는 것. 명령어, 주소 등 모든 것이 data가 된다. * address : 메모리에 2개 이상의 데이터가 존재할 때, 그들을 구별하기 위해 주소를 부여한다. 실제 주소값이 아니다. 메모리 자체는 실제 주소를 가지지 않지만, 우리가 구별하기 위해 임의로 주소를 만든 것이다.. 더보기

728x90
반응형